From 248ac710fd6bd14625eba96b22c7032e70c00bb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=A9=98?= Date: Thu, 4 Jun 2026 22:19:29 +0000 Subject: [PATCH] feat: agent-mock emits fixed $usage stats - Mock agent returns {turns:1, inputTokens:0, outputTokens:0, duration:0} - E2E test 1 (linear workflow) asserts usage in CAS step nodes - 747 tests pass Fixes #75 Refs #68 --- packages/agent-mock/src/mock-agent.ts | 2 +- packages/cli/src/__tests__/e2e-mock-agent.test.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/agent-mock/src/mock-agent.ts b/packages/agent-mock/src/mock-agent.ts index 09713d5..0f9da4d 100644 --- a/packages/agent-mock/src/mock-agent.ts +++ b/packages/agent-mock/src/mock-agent.ts @@ -103,7 +103,7 @@ export function createMockAgent(mockDataPath: string): () => Promise { detailHash, sessionId, assembledPrompt: "", - usage: null, + usage: { turns: 1, inputTokens: 0, outputTokens: 0, duration: 0 }, }; lastResult = result; return result; diff --git a/packages/cli/src/__tests__/e2e-mock-agent.test.ts b/packages/cli/src/__tests__/e2e-mock-agent.test.ts index 3d6001e..d05248c 100644 --- a/packages/cli/src/__tests__/e2e-mock-agent.test.ts +++ b/packages/cli/src/__tests__/e2e-mock-agent.test.ts @@ -229,6 +229,10 @@ describe("E2E mock-agent: full uwf pipeline", () => { expect(getStatus(store, s1.output)).toBe("ready"); expect(getStatus(store, s2.output)).toBe("done"); + // Mock agent reports usage stats in step nodes. + expect(s1.usage).toEqual({ turns: 1, inputTokens: 0, outputTokens: 0, duration: 0 }); + expect(s2.usage).toEqual({ turns: 1, inputTokens: 0, outputTokens: 0, duration: 0 }); + // The start node points at the registered workflow. const startNode = store.cas.get(startHash as CasRef); expect((startNode!.payload as StartNodePayload).workflow).toBe(workflowHash); -- 2.43.0