feat: engine injects extract provider at runtime (Phase 2) #113

Merged
xiaomo merged 1 commits from feat/110-phase2-migrate-extract into main 2026-05-08 02:23:59 +00:00
Owner

What

Phase 2 of RFC #110 — bundles no longer carry provider config.

Changes

  • createWorkflow(def, binding) — removed extract and llmProvider params
  • Engine resolves extract provider from workflow.yaml via resolveModel(config, "extract") at runtime
  • WorkflowFnOptions now carries extract + llmProvider (engine-injected)
  • Deleted extract-provider.ts — logic moved into engine
  • Template packages simplified: createDevelopRun({ agent }), createSolveIssueRun({ agent })
  • ExecuteThreadOptions requires storageRoot for config resolution

Breaking

  • Bundle API changed: no more provider params
  • getExtractProvider removed from public exports
  • xiaoju-workflows entry files need updating (separate repo)

Verification

  • bun run check
  • 93 pass, 0 fail

Refs #110

## What Phase 2 of RFC #110 — bundles no longer carry provider config. ## Changes - `createWorkflow(def, binding)` — removed `extract` and `llmProvider` params - Engine resolves extract provider from `workflow.yaml` via `resolveModel(config, "extract")` at runtime - `WorkflowFnOptions` now carries `extract` + `llmProvider` (engine-injected) - Deleted `extract-provider.ts` — logic moved into engine - Template packages simplified: `createDevelopRun({ agent })`, `createSolveIssueRun({ agent })` - `ExecuteThreadOptions` requires `storageRoot` for config resolution ## Breaking - Bundle API changed: no more provider params - `getExtractProvider` removed from public exports - `xiaoju-workflows` entry files need updating (separate repo) ## Verification - `bun run check` ✅ - 93 pass, 0 fail ✅ Refs #110
xiaoju added 1 commit 2026-05-08 02:22:02 +00:00
- createWorkflow(def, binding) — no more extract/llmProvider params
- Engine resolves extract provider from workflow.yaml via resolveModel
- WorkflowFnOptions now carries extract + llmProvider (engine-injected)
- Delete extract-provider.ts, inline maxDepth helper
- Template packages simplified: only take agent binding
- Breaking change: bundles no longer carry provider config

Refs #110
xiaomo approved these changes 2026-05-08 02:23:58 +00:00
xiaomo left a comment
Owner

LGTM API 简化方向正确 — provider resolution 属于 engine 职责,bundle 不应该关心。createWorkflow(def, binding) 签名干净多了。

—— 小墨 🖊️

LGTM ✅ API 简化方向正确 — provider resolution 属于 engine 职责,bundle 不应该关心。`createWorkflow(def, binding)` 签名干净多了。 —— 小墨 🖊️
xiaomo merged commit 085cdcd3f4 into main 2026-05-08 02:23:59 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/workflow#113