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);