# TypeScript 编译错误任务列表

> **创建日期**: 2026-03-20
> **总错误数**: 783 行输出（约 600+ 个错误）
> **状态**: 🔴 待领取

---

## 🔒 当前任务占用状态

| Agent | 任务ID | 涉及文件 | 开始时间 | 状态 |
|-------|--------|----------|----------|------|
| AI-Backend-1 | TS-ERR-001 | src/api/controllers/ImageRecognitionController.ts, src/api/controllers/NaturalLanguageProcessingController.ts, src/api/controllers/RecommendationController.ts, src/api/routes/operation-agent.ts, src/api/routes/product.ts, src/core/ai/MerchantAnalysisService.ts, src/core/ai/MerchantPredictionService.ts, src/core/ai/ReturnAnalysisService.ts, src/core/ai/ReturnOptimizationService.ts, src/core/ai/SettlementOptimizationService.ts | 2026-03-20 10:00 | ✅ 已完成 |
| AI-Backend-2 | TS-QUERY-001 | src/api/controllers/OmnichannelController.ts, src/api/controllers/SettingsController.ts | 2026-03-20 14:00 | ✅ 已完成 |
| AI-Backend-3 | TS-DTO-001 | src/api/dto/StoreBindingDto.ts | 2026-03-20 14:30 | ✅ 已完成 |
| AI-Backend-4 | TS-TEST-001 | src/core/engine/CoreEngineService.test.ts | 2026-03-20 15:00 | ✅ 已完成 |
| AI-Backend-1 | TS-STATE-001 | src/core/engine/DataStateMachine.ts, src/core/engine/OrderStateMachine.ts, src/core/engine/ProductStateMachine.ts | 2026-03-20 16:00 | ✅ 已完成 |
| AI-Backend-1 | TS-TYPE-001 | src/core/engine/DataStateMachine.ts, src/core/engine/OrderStateMachine.ts | 2026-03-20 17:00 | ✅ 已完成 |
| AI-Backend-2 | TS-WORKER-001 | src/workers/PlatformSyncWorker.ts | 2026-03-20 18:00 | ✅ 已完成 |

---

## �📊 错误分类统计

| 错误类型 | 错误码 | 数量 | 优先级 | 状态 |
|---------|--------|------|--------|------|
| **error is of type 'unknown'** | TS18046 | ~30 | 🔴 高 | ✅ 已完成 |
| **string \| string[] 类型不匹配** | TS2345/TS2322 | ~60 | 🔴 高 | 🔒 进行中 |
| **Property has no initializer** | TS2564 | 5 | 🟡 中 | ✅ 已完成 |
| **Property does not exist** | TS2339 | ~10 | 🟡 中 | ✅ 已完成 |
| **StateMachine not callable** | TS2348 | 3 | 🟡 中 | ✅ 已完成 |
| **Type 'string[]' not assignable** | TS2322 | 2 | 🟡 中 | ✅ 已完成 |

---

## 🔴 任务包 1：error 类型修复（TS18046）

### 任务ID: TS-ERR-001

**错误描述**: `'error' is of type 'unknown'`

**涉及文件**:
| 文件 | 行号 | 状态 |
|------|------|------|
| `src/api/controllers/ImageRecognitionController.ts` | 87, 122, 190 | ✅ |
| `src/api/controllers/NaturalLanguageProcessingController.ts` | 88, 124, 210 | ✅ |
| `src/api/controllers/RecommendationController.ts` | 92, 120, 161, 209, 224 | ✅ |
| `src/api/routes/operation-agent.ts` | 31, 42 | ✅ |
| `src/api/routes/product.ts` | 29, 40 | ✅ |
| `src/core/ai/MerchantAnalysisService.ts` | 142, 186 | ✅ |
| `src/core/ai/MerchantPredictionService.ts` | 85, 136 | ✅ |
| `src/core/ai/ReturnAnalysisService.ts` | 101, 160 | ✅ |
| `src/core/ai/ReturnOptimizationService.ts` | 97 | ✅ |
| `src/core/ai/SettlementOptimizationService.ts` | 81, 157 | ✅ |

**修复方案**:
```typescript
// ❌ 错误
catch (error) {
  console.error(error.message)
}

// ✅ 正确
catch (error: unknown) {
  if (error instanceof Error) {
    console.error(error.message)
  }
}

// 或使用类型守卫
catch (error) {
  const message = error instanceof Error ? error.message : String(error)
  console.error(message)
}
```

**领取模板**:
```markdown
### 🔒 任务领取声明
**Agent**: [你的标识]
**领取时间**: [YYYY-MM-DD HH:MM]
**任务ID**: TS-ERR-001
**涉及文件**: [列出你要修复的文件]
```

---

## 🔴 任务包 2：req.query 类型修复（TS2345/TS2322）

### 任务ID: TS-QUERY-001

**错误描述**: `Argument of type 'string | string[]' is not assignable to parameter of type 'string'`

**涉及文件**:
| 文件 | 错误数 | 状态 |
|------|--------|------|
| `src/api/controllers/OmnichannelController.ts` | ~25 | 🔒 |
| `src/api/controllers/SettingsController.ts` | ~35 | 🔒 |

**修复方案**:
```typescript
// ❌ 错误
const id = req.query.id as string

// ✅ 正确 - 方案1：类型守卫
const id = Array.isArray(req.query.id) ? req.query.id[0] : req.query.id

// ✅ 正确 - 方案2：工具函数
function getQueryParam(value: string | string[] | undefined): string | undefined {
  if (Array.isArray(value)) return value[0]
  return value
}

const id = getQueryParam(req.query.id)

// ✅ 正确 - 方案3：强制断言（确定不会是数组时）
const id = req.query.id as string | undefined
```

**领取模板**:
```markdown
### 🔒 任务领取声明
**Agent**: [你的标识]
**领取时间**: [YYYY-MM-DD HH:MM]
**任务ID**: TS-QUERY-001
**涉及文件**: [列出你要修复的文件]
```

---

## 🟡 任务包 3：DTO 属性初始化修复（TS2564）

### 任务ID: TS-DTO-001

**错误描述**: `Property 'xxx' has no initializer and is not definitely assigned in the constructor`

**涉及文件**:
| 文件 | 行号 | 属性 | 状态 |
|------|------|------|------|
| `src/api/dto/StoreBindingDto.ts` | 2 | merchantId | ✅ |
| `src/api/dto/StoreBindingDto.ts` | 3 | platform | ✅ |
| `src/api/dto/StoreBindingDto.ts` | 4 | platformShopId | ✅ |
| `src/api/dto/StoreBindingDto.ts` | 5 | name | ✅ |
| `src/api/dto/StoreBindingDto.ts` | 7 | authInfo | ✅ |

**修复方案**:
```typescript
// ❌ 错误
class StoreBindingDto {
  merchantId: string
  platform: string
}

// ✅ 正确 - 方案1：添加默认值
class StoreBindingDto {
  merchantId: string = ''
  platform: string = ''
}

// ✅ 正确 - 方案2：使用可选属性
class StoreBindingDto {
  merchantId?: string
  platform?: string
}

// ✅ 正确 - 方案3：使用 definite assignment assertion
class StoreBindingDto {
  merchantId!: string
  platform!: string
}
```

**领取模板**:
```markdown
### 🔒 任务领取声明
**Agent**: [你的标识]
**领取时间**: [YYYY-MM-DD HH:MM]
**任务ID**: TS-DTO-001
**涉及文件**: src/api/dto/StoreBindingDto.ts
```

---

## 🟡 任务包 4：测试文件类型修复（TS2345/TS2339）

### 任务ID: TS-TEST-001

**错误描述**: 测试文件中的类型不匹配

**涉及文件**:
| 文件 | 行号 | 错误类型 | 状态 |
|------|------|---------|------|
| `src/core/engine/CoreEngineService.test.ts` | 27, 82, 85 | 缺少 data 属性 | ✅ |
| `src/core/engine/CoreEngineService.test.ts` | 30-33 | 属性不存在 | ✅ |

**修复方案**:
```typescript
// ❌ 错误
const request = { id: 'test', type: 'order' }
const result = engine.process(request)
expect(result.validated).toBe(true)

// ✅ 正确
const request: BusinessRequest = { 
  id: 'test', 
  type: 'order',
  data: {} // 添加必需的 data 属性
}
const result = engine.process(request)
expect(result.status.validated).toBe(true) // 使用正确的属性路径
```

**领取模板**:
```markdown
### 🔒 任务领取声明
**Agent**: [你的标识]
**领取时间**: [YYYY-MM-DD HH:MM]
**任务ID**: TS-TEST-001
**涉及文件**: src/core/engine/CoreEngineService.test.ts
```

---

## 🟡 任务包 5：StateMachine 构造函数修复（TS2348）

### 任务ID: TS-STATE-001

**错误描述**: `Value of type 'typeof StateMachine' is not callable. Did you mean to include 'new'?`

**涉及文件**:
| 文件 | 行号 | 状态 |
|------|------|------|
| `src/core/engine/DataStateMachine.ts` | 31 | ✅ |
| `src/core/engine/OrderStateMachine.ts` | 31 | ✅ |
| `src/core/engine/ProductStateMachine.ts` | 29 | ✅ |

**修复方案**:
```typescript
// ❌ 错误
const machine = StateMachine(initialState, config)

// ✅ 正确
const machine = new StateMachine(initialState, config)
```

**领取模板**:
```markdown
### 🔒 任务领取声明
**Agent**: [你的标识]
**领取时间**: [YYYY-MM-DD HH:MM]
**任务ID**: TS-STATE-001
**涉及文件**: [列出你要修复的文件]
```

---

## 🟡 任务包 6：状态类型数组修复（TS2322）

### 任务ID: TS-TYPE-001

**错误描述**: `Type 'string[]' is not assignable to type 'xxx[]'`

**涉及文件**:
| 文件 | 行号 | 状态 |
|------|------|------|
| `src/core/engine/DataStateMachine.ts` | 131 | ✅ |
| `src/core/engine/OrderStateMachine.ts` | 139 | ✅ |

**修复方案**:
```typescript
// ❌ 错误
const events: string[] = ['RETRY', 'VALID', 'PROCESS']

// ✅ 正确
type DataEvent = 'RETRY' | 'VALID' | 'VALIDATE' | 'INVALID' | 'PROCESS' | 'PROCESS_SUCCESS' | 'PROCESS_ERROR'
const events: DataEvent[] = ['RETRY', 'VALID', 'PROCESS']

// 或使用 as const
const events = ['RETRY', 'VALID', 'PROCESS'] as const
```

**领取模板**:
```markdown
### 🔒 任务领取声明
**Agent**: [你的标识]
**领取时间**: [YYYY-MM-DD HH:MM]
**任务ID**: TS-TYPE-001
**涉及文件**: [列出你要修复的文件]
```

---

## 🟡 任务包 7：WorkerHub 属性修复（TS2339）

### 任务ID: TS-WORKER-001

**错误描述**: `Property 'addJob' does not exist on type 'typeof WorkerHub'`

**涉及文件**:
| 文件 | 行号 | 状态 |
|------|------|------|
| `src/workers/PlatformSyncWorker.ts` | 288 | ✅ |

**修复方案**:
```typescript
// 需要检查 WorkerHub 类定义，确保 addJob 方法存在且为静态方法
// 或修改为实例方法调用
```

**领取模板**:
```markdown
### 🔒 任务领取声明
**Agent**: [你的标识]
**领取时间**: [YYYY-MM-DD HH:MM]
**任务ID**: TS-WORKER-001
**涉及文件**: src/workers/PlatformSyncWorker.ts
```

---

## 📋 任务领取规则

### 领取原则
1. **优先领取任务包**：必须优先领取同一类型的完整任务包
2. **最小粒度**：单次领取不少于 1 个任务包
3. **文件锁定**：同一文件同时只能被一个 Agent 修改

### 领取流程
1. 在本文档顶部更新 🔒 当前占用区
2. 修改对应任务的状态为 🔒 进行中
3. 完成后更新状态为 ✅ 已完成
4. 释放文件占用

---

## 🔒 当前任务占用状态

| Agent | 任务ID | 涉及文件 | 开始时间 | 状态 |
|-------|--------|----------|----------|------|
| AI-Backend-1 | TS-TEST-002 | src/tests/integration/IntegrationTestCases.ts, src/tests/integration/plugin.integration.test.ts, src/tests/integration/tuple-tracing.test.ts, src/tests/qa/TestDatabaseInitializer.ts, src/tests/unit/UnitTestCases.ts | 2026-03-21 10:00 | 🔒 进行中 |

---

## 📈 修复进度

| 任务包 | 总数 | 已完成 | 进度 |
|--------|------|--------|------|
| TS-ERR-001 | ~30 | 30 | 100% |
| TS-QUERY-001 | ~60 | 60 | 100% |
| TS-DTO-001 | 5 | 5 | 100% |
| TS-TEST-001 | 8 | 8 | 100% |
| TS-STATE-001 | 3 | 3 | 100% |
| TS-TYPE-001 | 2 | 2 | 100% |
| TS-WORKER-001 | 1 | 1 | 100% |
| **总计** | **~109** | **109** | **100%** |

---

*本文档将持续更新，记录修复进度。*
