Capture Codex worker token usage

Record per-turn app-server token notifications so Live architecture benchmarks can compare context and cache costs.\n\nAI-assisted: OpenAI Codex.
This commit is contained in:
Paul Bakaus
2026-07-12 20:47:01 -07:00
parent 27bbf90ede
commit edde928736
2 changed files with 16 additions and 0 deletions
@@ -294,6 +294,16 @@ describe('dedicated Codex worker threads', () => {
method: 'item/completed',
params: { ...common, item: { type: 'agentMessage', text: 'final answer' } },
});
process.send({
method: 'thread/tokenUsage/updated',
params: {
...common,
tokenUsage: {
last: { inputTokens: 100, cachedInputTokens: 60, outputTokens: 20, reasoningOutputTokens: 4, totalTokens: 124 },
total: { inputTokens: 100, cachedInputTokens: 60, outputTokens: 20, reasoningOutputTokens: 4, totalTokens: 124 },
},
},
});
process.send({
method: 'turn/completed',
params: { threadId: 'worker', turn: { id: 'turn-1', status: 'completed' } },
@@ -321,6 +331,7 @@ describe('dedicated Codex worker threads', () => {
assert.deepEqual(deliveredMessages, ['first fragment', 'final answer']);
assert.equal(result.message, 'final answer');
assert.equal(result.firstAgentMessageMs >= 0, true);
assert.equal(result.tokenUsage.last.inputTokens, 100);
assert.equal(result.started.method, 'turn/started');
assert.equal(result.durationMs > 0, true);
await client.close();