refactor: remove name from WorkflowDefinition, fix threadId type errors

WorkflowDefinition no longer carries 'name' — name is a registry-level
concern, not a bundle property. Also fixed all missing threadId in test
fixtures to match the updated ThreadContext type.

小橘 <xiaoju@shazhou.work>
This commit is contained in:
2026-05-06 11:01:09 +00:00
parent 196562c82a
commit 79cf97e617
7 changed files with 12 additions and 5 deletions
@@ -12,6 +12,7 @@ function makeCtx(userContent: string): ThreadContext {
timestamp: 1,
},
steps: [],
threadId: "01TEST000000000000000000TR",
};
}
@@ -17,6 +17,7 @@ describe("buildAgentPrompt", () => {
const ctx: ThreadContext = {
start: startTask("fix the bug"),
steps: [],
threadId: "01TEST000000000000000000TR",
};
const text = buildAgentPrompt("You are an agent.", ctx);
expect(text).toContain("You are an agent.");
@@ -28,6 +29,7 @@ describe("buildAgentPrompt", () => {
test("single step shows full content and meta, and includes tools", () => {
const ctx: ThreadContext = {
start: startTask("user task"),
threadId: "01TEST000000000000000000TR",
steps: [
{
role: "coder",
@@ -50,6 +52,7 @@ describe("buildAgentPrompt", () => {
test("two or more steps: previous steps are meta-only; latest step is full", () => {
const ctx: ThreadContext = {
start: startTask("first message full: task content here"),
threadId: "01TEST000000000000000000TR",
steps: [
{
role: "planner",
@@ -80,6 +83,7 @@ describe("buildAgentPrompt", () => {
test("middle steps show meta summary only, not full content", () => {
const ctx: ThreadContext = {
start: startTask("start"),
threadId: "01TEST000000000000000000TR",
steps: [
{
role: "a",
@@ -43,6 +43,7 @@ function makeCtx(): ThreadContext {
timestamp: Date.now(),
},
steps: [],
threadId: "01TEST000000000000000000TR",
};
}
@@ -17,6 +17,7 @@ function fakeCtx(): ThreadContext {
timestamp: Date.now(),
},
steps: [],
threadId: "01TEST000000000000000000TR",
};
}
+1
View File
@@ -167,6 +167,7 @@ export async function executeThread(
}
const bundleOptions: WorkflowFnOptions = {
threadId: io.threadId,
isDryRun: options.isDryRun,
maxRounds: options.maxRounds,
};
-1
View File
@@ -89,7 +89,6 @@ export type Moderator<M extends RoleMeta> = (
/** Complete workflow definition as authored by users. */
export type WorkflowDefinition<M extends RoleMeta> = {
name: string;
roles: { [K in keyof M & string]: Role<M[K]> };
moderator: Moderator<M>;
};
+1 -1
View File
@@ -136,7 +136,7 @@ function parseRunControlPayload(rec: Record<string, unknown>): RunCommand | null
threadId,
workflowName,
prompt,
options: { threadId, isDryRun, maxRounds },
options: { isDryRun, maxRounds },
steps: parsedSteps.steps,
stepTimestamps: parsedSteps.stepTimestamps,
forkSourceThreadId,