Phase 1 Testing: AdapterFn 类型 + createWorkflow 签名变更 (#222) #223

Closed
opened 2026-05-13 02:20:29 +00:00 by xiaoju · 1 comment
Owner

验证目标

protocol 层新增 AdapterFn/RoleFn/AdapterBinding 类型,createWorkflow 接受 AdapterBinding,现有 hermes/cursor bundle-entry 通过 agentToAdapter 包装后正常工作。

测试步骤

类型定义

  • Step 1: 新类型导出

    cd ~/repos/workflow
    grep -n "AdapterFn\|RoleFn\|AdapterBinding" packages/workflow-protocol/src/types.ts
    

    预期: 三个类型都有定义

  • Step 2: AgentContext 删除

    grep -rn "AgentContext" packages/workflow-protocol/src/ packages/workflow-runtime/src/
    

    预期: 无结果(已删除)

  • Step 3: runtime re-export

    grep -n "AdapterFn\|RoleFn\|AdapterBinding" packages/workflow-runtime/src/index.ts
    

    预期: 三个类型都有 re-export

createWorkflow 签名

  • Step 4: createWorkflow 接受 AdapterBinding

    grep -A3 "export function createWorkflow" packages/workflow-runtime/src/create-workflow.ts
    

    预期: 第二个参数类型为 AdapterBinding

  • Step 5: engine 内部不再调用 extract

    grep -rn "extract" packages/workflow-execute/src/engine/
    

    预期: engine 层无 extract 调用(extract 逻辑下沉到 adapter)

agentToAdapter 兼容包装

  • Step 6: agentToAdapter 函数存在

    grep -rn "agentToAdapter" packages/workflow-util-agent/src/
    

    预期: 函数有定义和导出

  • Step 7: buildAgentPrompt 改为 buildThreadInput

    grep -rn "buildThreadInput" packages/workflow-util-agent/src/
    

    预期: 函数接收 ThreadContext(不再需要 AgentContext)

构建验证

  • Step 8: 全量类型检查通过

    cd ~/repos/workflow && bun run typecheck 2>&1
    

    预期: 无类型错误

  • Step 9: 全量测试通过

    cd ~/repos/workflow && bun test 2>&1
    

    预期: 全部 pass

bundle-entry 迁移

  • Step 10: template bundle-entry 使用 AdapterBinding
    grep -n "adapter\|agentToAdapter" packages/workflow-template-develop/bundle-entry.ts packages/workflow-template-solve-issue/bundle-entry.ts
    
    预期: 使用 adapter 而非 agent

验证完成标准

所有 checkbox 打勾
代码 review 通过
类型检查 + 测试全部通过

Ref: #222


小橘 🍊(NEKO Team)

## 验证目标 protocol 层新增 AdapterFn/RoleFn/AdapterBinding 类型,createWorkflow 接受 AdapterBinding,现有 hermes/cursor bundle-entry 通过 agentToAdapter 包装后正常工作。 ## 测试步骤 ### 类型定义 - [ ] **Step 1: 新类型导出** ```bash cd ~/repos/workflow grep -n "AdapterFn\|RoleFn\|AdapterBinding" packages/workflow-protocol/src/types.ts ``` **预期:** 三个类型都有定义 - [ ] **Step 2: AgentContext 删除** ```bash grep -rn "AgentContext" packages/workflow-protocol/src/ packages/workflow-runtime/src/ ``` **预期:** 无结果(已删除) - [ ] **Step 3: runtime re-export** ```bash grep -n "AdapterFn\|RoleFn\|AdapterBinding" packages/workflow-runtime/src/index.ts ``` **预期:** 三个类型都有 re-export ### createWorkflow 签名 - [ ] **Step 4: createWorkflow 接受 AdapterBinding** ```bash grep -A3 "export function createWorkflow" packages/workflow-runtime/src/create-workflow.ts ``` **预期:** 第二个参数类型为 `AdapterBinding` - [ ] **Step 5: engine 内部不再调用 extract** ```bash grep -rn "extract" packages/workflow-execute/src/engine/ ``` **预期:** engine 层无 extract 调用(extract 逻辑下沉到 adapter) ### agentToAdapter 兼容包装 - [ ] **Step 6: agentToAdapter 函数存在** ```bash grep -rn "agentToAdapter" packages/workflow-util-agent/src/ ``` **预期:** 函数有定义和导出 - [ ] **Step 7: buildAgentPrompt 改为 buildThreadInput** ```bash grep -rn "buildThreadInput" packages/workflow-util-agent/src/ ``` **预期:** 函数接收 ThreadContext(不再需要 AgentContext) ### 构建验证 - [ ] **Step 8: 全量类型检查通过** ```bash cd ~/repos/workflow && bun run typecheck 2>&1 ``` **预期:** 无类型错误 - [ ] **Step 9: 全量测试通过** ```bash cd ~/repos/workflow && bun test 2>&1 ``` **预期:** 全部 pass ### bundle-entry 迁移 - [ ] **Step 10: template bundle-entry 使用 AdapterBinding** ```bash grep -n "adapter\|agentToAdapter" packages/workflow-template-develop/bundle-entry.ts packages/workflow-template-solve-issue/bundle-entry.ts ``` **预期:** 使用 adapter 而非 agent ## 验证完成标准 ✅ 所有 checkbox 打勾 ✅ 代码 review 通过 ✅ 类型检查 + 测试全部通过 Ref: #222 --- 小橘 🍊(NEKO Team)
Author
Owner

Phase 1 验证通过。AdapterFn/RoleFn/AdapterBinding 类型已在 protocol 层,createWorkflow 接受 AdapterBinding。

— 小橘 🍊(NEKO Team)

Phase 1 验证通过。AdapterFn/RoleFn/AdapterBinding 类型已在 protocol 层,createWorkflow 接受 AdapterBinding。 — 小橘 🍊(NEKO Team)
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#223