Phase C Testing: 全局 extract provider 配置 #43

Closed
opened 2026-05-07 13:02:31 +00:00 by xiaoju · 0 comments
Owner

验证目标

workflow.yaml 支持 config 段,包含 maxDepthextract provider 配置。core 导出 getExtractProvider() 供 role 使用。

前置

Phase B 已合入 main。

测试步骤

  • Step 1: config 解析

    bun test --filter "registry"
    

    预期: parseWorkflowRegistryYaml 能解析含 config 段的 workflow.yaml。config 类型包含 maxDepth: numberextract: { baseUrl, model, apiKey } 字段。apiKey: "env:DASHSCOPE_API_KEY" 解析时从环境变量读取。

  • Step 2: getExtractProvider 导出

    bun test --filter "extract-provider"
    

    预期: @uncaged/workflow 导出 getExtractProvider(storageRoot),返回 LlmProvider 对象。无配置时返回 err。

  • Step 3: maxDepth 从配置读取

    bun test --filter "workflow-as-agent"
    

    预期: workflowAsAgent 使用 config 中的 maxDepth 替代硬编码常量 3。无配置时 fallback 到 3。

  • Step 4: 全量测试通过

    bun test
    bun run build
    bun run check
    

    预期: 全部通过。

验证完成标准

所有 checkbox 打勾
workflow.yaml config 段可用
extract provider 从配置文件读取
maxDepth 可配置

Refs #40

## 验证目标 `workflow.yaml` 支持 `config` 段,包含 `maxDepth` 和 `extract` provider 配置。core 导出 `getExtractProvider()` 供 role 使用。 ## 前置 Phase B 已合入 main。 ## 测试步骤 - [ ] **Step 1: config 解析** ```bash bun test --filter "registry" ``` **预期:** `parseWorkflowRegistryYaml` 能解析含 `config` 段的 `workflow.yaml`。config 类型包含 `maxDepth: number` 和 `extract: { baseUrl, model, apiKey }` 字段。`apiKey: "env:DASHSCOPE_API_KEY"` 解析时从环境变量读取。 - [ ] **Step 2: getExtractProvider 导出** ```bash bun test --filter "extract-provider" ``` **预期:** `@uncaged/workflow` 导出 `getExtractProvider(storageRoot)`,返回 `LlmProvider` 对象。无配置时返回 err。 - [ ] **Step 3: maxDepth 从配置读取** ```bash bun test --filter "workflow-as-agent" ``` **预期:** `workflowAsAgent` 使用 config 中的 `maxDepth` 替代硬编码常量 3。无配置时 fallback 到 3。 - [ ] **Step 4: 全量测试通过** ```bash bun test bun run build bun run check ``` **预期:** 全部通过。 ## 验证完成标准 ✅ 所有 checkbox 打勾 ✅ workflow.yaml config 段可用 ✅ extract provider 从配置文件读取 ✅ maxDepth 可配置 Refs #40
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#43