refactor!: remove deprecated Agent types, introduce Adapter-first API

BREAKING CHANGES:
- Remove AgentFn, AgentFnResult, AgentBinding from workflow-protocol
- Remove wrapAgentAsAdapter from workflow-util-agent
- workflowAsAgent → workflowAdapter (old name kept as deprecated re-export)

New APIs:
- createTextAdapter(producer) — bridges text-producing functions to AdapterFn
- TextProducerFn, TextAdapterResult types
- workflowAdapter() — direct AdapterFn for child workflow delegation

All agent packages (cursor, hermes, llm) now return AdapterFn directly,
no wrapping needed. Bundle entries simplified accordingly.

小橘 🍊(NEKO Team)
This commit is contained in:
2026-05-13 08:03:27 +00:00
parent 399b967c59
commit cfe4543d39
22 changed files with 319 additions and 252 deletions
@@ -6,7 +6,6 @@
import { createCursorAgent } from "@uncaged/workflow-agent-cursor";
import { createWorkflow } from "@uncaged/workflow-runtime";
import { optionalEnv, requireEnv } from "@uncaged/workflow-util";
import { wrapAgentAsAdapter } from "@uncaged/workflow-util-agent";
import { buildDevelopDescriptor, developWorkflowDefinition } from "./src/index.js";
const llmProvider = {
@@ -18,7 +17,7 @@ const llmProvider = {
model: optionalEnv("WORKFLOW_LLM_MODEL", "qwen-plus"),
};
const agent = createCursorAgent({
const adapter = createCursorAgent({
command: requireEnv("WORKFLOW_CURSOR_COMMAND", "set WORKFLOW_CURSOR_COMMAND (e.g. cursor-agent)"),
model: optionalEnv("WORKFLOW_CURSOR_MODEL"),
timeout: optionalEnv("WORKFLOW_CURSOR_TIMEOUT")
@@ -28,8 +27,6 @@ const agent = createCursorAgent({
llmProvider,
});
const adapter = wrapAgentAsAdapter(agent);
const wf = createWorkflow(developWorkflowDefinition, { adapter, overrides: null });
export const descriptor = buildDevelopDescriptor();