feat: surface OpenAI image-gen usage in image_openai_agent
enhancement
Part of #1415.
## What
OpenAI's `images.generate` (gpt-image-1) returns `response.usage` with `input_tokens` / `output_tokens` / `total_tokens`. Currently `src/agents/image_openai_agent.ts` throws it away and returns `{ buffer }`.
Update the agent to return:
```ts
return {
buffer,
usage: {
provider: "openai",
model: usedModel,
inputTokens: response.usage?.input_tokens,
outputTokens: response.usage?.output_tokens,
totalTokens: response.usage?.total_tokens,
},
};
```
Wire the GraphAI `registerCallback` in `src/actions/images.ts` (`images_graph_data`) to push `result.usage` into `context.usageCollector` (depends on #1).
## Acceptance
- [ ] Agent return shape extended (backward compatible — existing consumers only read `buffer`)
- [ ] Callback registered in `src/actions/images.ts`
- [ ] Unit test or integration test asserting collector receives a record after generating one image (mock the agent or use `media_mock_agent`)
- [ ] Cache hits NOT recorded (verify via test)
## Dependencies
- #1 (UsageCollector)
关闭于 2026-06-19 0 条评论