|
|
@@ -1,5 +1,7 @@
|
|
|
# Story 1.1: SDK核心架构和基础封装
|
|
|
|
|
|
+**父史诗**: Epic 1 - STT SDK包结构设计 (docs/prd/epic-1-stt-sdk-package-structure.md)
|
|
|
+
|
|
|
## Status
|
|
|
|
|
|
Draft
|
|
|
@@ -14,8 +16,8 @@ Draft
|
|
|
|
|
|
1. 在项目根目录创建 `packages/` 目录结构,采用monorepo模式管理SDK
|
|
|
2. 初始化 `stt-sdk-core` 包的基础配置,包括package.json、tsconfig.json、vite.config.ts
|
|
|
-3. 封装现有的SttManager和RtmManager类,提供适配器接口
|
|
|
-4. 实现基础的事件系统和错误处理机制
|
|
|
+3. 创建SttManagerAdapter和RtmManagerAdapter适配器类,封装现有SttManager和RtmManager功能
|
|
|
+4. 基于现有AGEventEmitter实现事件系统,并增强错误处理机制
|
|
|
5. 提供完整的TypeScript类型定义
|
|
|
6. 确保现有stt-demo应用功能不受影响,保持向后兼容
|
|
|
|
|
|
@@ -23,7 +25,7 @@ Draft
|
|
|
|
|
|
- [ ] Task 1: 创建packages目录结构和monorepo配置 (AC: 1)
|
|
|
- [ ] 在项目根目录创建packages/目录
|
|
|
- - [ ] 配置根package.json的workspaces字段
|
|
|
+ - [ ] 配置根package.json的workspaces字段,使用npm作为包管理工具
|
|
|
- [ ] 创建stt-sdk-core包目录结构
|
|
|
- [ ] Task 2: 初始化stt-sdk-core包基础配置 (AC: 2)
|
|
|
- [ ] 创建stt-sdk-core/package.json配置
|
|
|
@@ -31,13 +33,15 @@ Draft
|
|
|
- [ ] 设置Vite构建配置
|
|
|
- [ ] 配置ESLint和Prettier规则
|
|
|
- [ ] Task 3: 封装现有管理器类 (AC: 3)
|
|
|
- - [ ] 创建SttManagerAdapter类,封装现有SttManager功能
|
|
|
- - [ ] 创建RtmManagerAdapter类,封装现有RtmManager功能
|
|
|
+ - [ ] 创建SttManagerAdapter类,适配现有SttManager的API接口
|
|
|
+ - [ ] 创建RtmManagerAdapter类,适配现有RtmManager的API接口
|
|
|
- [ ] 保持现有API接口不变,确保向后兼容
|
|
|
+ - [ ] 实现适配器的初始化、销毁和事件转发机制
|
|
|
- [ ] Task 4: 实现事件系统和错误处理 (AC: 4)
|
|
|
- - [ ] 创建通用EventEmitter类
|
|
|
- - [ ] 实现事件类型定义和监听机制
|
|
|
- - [ ] 创建错误处理类和错误类型定义
|
|
|
+ - [ ] 基于现有AGEventEmitter类进行扩展
|
|
|
+ - [ ] 实现SDK特定的事件类型定义和监听机制
|
|
|
+ - [ ] 创建SttError类和错误类型定义
|
|
|
+ - [ ] 实现错误处理和恢复机制
|
|
|
- [ ] Task 5: 提供完整类型定义 (AC: 5)
|
|
|
- [ ] 创建核心类型定义文件
|
|
|
- [ ] 定义配置接口和事件接口
|
|
|
@@ -61,7 +65,7 @@ Draft
|
|
|
- **状态管理**: Redux Toolkit 1.6.2
|
|
|
- **构建工具**: Vite 5.0.8
|
|
|
- **Agora服务**: RTC SDK 4.20.0, RTM 2.1.9
|
|
|
-- **包管理**: npm/yarn,支持workspaces
|
|
|
+- **包管理**: npm,支持workspaces
|
|
|
|
|
|
### 现有管理器架构 [Source: architecture.md#核心架构模式]
|
|
|
|
|
|
@@ -87,6 +91,12 @@ Draft
|
|
|
|
|
|
### 包结构设计 [Source: docs/prd/epic-1-stt-sdk-package-structure.md]
|
|
|
|
|
|
+**安全考虑**:
|
|
|
+
|
|
|
+- SDK需要处理Agora认证令牌管理
|
|
|
+- 实现安全的连接建立和销毁机制
|
|
|
+- 保护用户隐私数据
|
|
|
+
|
|
|
- **核心包路径**: `packages/stt-sdk-core/`
|
|
|
- **源码结构**: src/core/, src/managers/, src/types/, src/utils/
|
|
|
- **构建输出**: dist/目录,支持CommonJS和ES Module
|
|
|
@@ -116,9 +126,9 @@ Draft
|
|
|
|
|
|
### 测试策略 [Source: architecture/testing-strategy.md]
|
|
|
|
|
|
-- **测试框架**: Vitest 3.2.4 (已集成) [Source: architecture/testing-strategy.md#单元测试]
|
|
|
-- **测试库**: Testing Library 16.3.0 [Source: architecture/testing-strategy.md#单元测试]
|
|
|
-- **E2E测试**: Playwright 1.55.0 [Source: architecture/testing-strategy.md#端到端测试]
|
|
|
+- **测试框架**: Vitest (已集成) [Source: architecture/testing-strategy.md#单元测试]
|
|
|
+- **测试库**: Testing Library [Source: architecture/testing-strategy.md#单元测试]
|
|
|
+- **E2E测试**: Playwright [Source: architecture/testing-strategy.md#端到端测试]
|
|
|
- **测试位置**: `packages/stt-sdk-core/tests/`目录
|
|
|
- **单元测试**: 针对核心类和工具函数 [Source: architecture/testing-strategy.md#单元测试]
|
|
|
- **集成测试**: 验证与现有管理器的集成 [Source: architecture/testing-strategy.md#集成测试]
|
|
|
@@ -137,11 +147,13 @@ Draft
|
|
|
|
|
|
## Change Log
|
|
|
|
|
|
-| Date | Version | Description | Author |
|
|
|
-| ---------- | ------- | ------------------------------------------------------------------------- | ----------- |
|
|
|
-| 2025-09-25 | 1.0 | 初始故事创建 | Claude Code |
|
|
|
-| 2025-09-25 | 1.1 | 更新测试框架信息:Vitest 3.2.4, Testing Library 16.3.0, Playwright 1.55.0 | Claude Code |
|
|
|
-| 2025-09-25 | 1.2 | 更新测试策略引用:使用architecture/testing-strategy.md文档 | Claude Code |
|
|
|
+| Date | Version | Description | Author |
|
|
|
+| ---------- | ------- | ---------------------------------------------------------------------------- | ----------- |
|
|
|
+| 2025-09-25 | 1.0 | 初始故事创建 | Claude Code |
|
|
|
+| 2025-09-25 | 1.1 | 更新测试框架信息:Vitest 3.2.4, Testing Library 16.3.0, Playwright 1.55.0 | Claude Code |
|
|
|
+| 2025-09-25 | 1.2 | 更新测试策略引用:使用architecture/testing-strategy.md文档 | Claude Code |
|
|
|
+| 2025-09-25 | 1.3 | 根据PO验证报告修复:添加史诗引用、澄清技术细节、修正包管理工具、增强安全考虑 | Bob (SM) |
|
|
|
+| 2025-09-25 | 1.4 | 修正包管理工具:将yarn改为npm,与实际package.json保持一致 | Bob (SM) |
|
|
|
|
|
|
## Dev Agent Record
|
|
|
|