Skip to content

feat(react-headless): expose token usage from openAIResponsesAdapter (#1078) - #1147

Open
justonemorenight wants to merge 1 commit into
thesysdev:mainfrom
justonemorenight:fix/expose-token-usage-openai-responses
Open

feat(react-headless): expose token usage from openAIResponsesAdapter (#1078)#1147
justonemorenight wants to merge 1 commit into
thesysdev:mainfrom
justonemorenight:fix/expose-token-usage-openai-responses

Conversation

@justonemorenight

Copy link
Copy Markdown

Summary

Fixes #1078

Exposes an optional onUsage callback in openAIResponsesAdapter so consuming applications can read token usage (prompt, completion, total tokens, and breakdown details) from the OpenAI Responses stream without having to maintain a custom adapter.

Changes

  • Added OpenAIResponsesAdapterOptions interface with onUsage?: (usage: ResponseUsage) => void.
  • Updated openAIResponsesAdapter(options?: OpenAIResponsesAdapterOptions) to accept options.
  • Added a handler for response.completed event: when event.response?.usage is available, invokes options.onUsage(event.response.usage).
  • Re-exported OpenAIResponsesAdapterOptions from @openuidev/react-headless.
  • Added unit tests in openai-responses.test.ts verifying:
    • Output item and text deltas stream normally.
    • onUsage is invoked with the parsed ResponseUsage on response.completed.
    • Adapter safely handles missing usage or omitted options.

Testing

  • Ran pnpm --filter @openuidev/react-headless test — all 20 test files (190 tests) passed.
  • Ran ESLint and Prettier checks.

…hesysdev#1078)

Add `OpenAIResponsesAdapterOptions` with an optional `onUsage` callback to `openAIResponsesAdapter`.

When the OpenAI Responses stream emits `response.completed`, if `event.response.usage` is present, call `options.onUsage` to report token usage to consumer applications.

Also re-export `OpenAIResponsesAdapterOptions` from `@openuidev/react-headless` and add unit tests.
@vercel

vercel Bot commented Sep 10, 2026

Copy link
Copy Markdown

@justonemorenight is attempting to deploy a commit to the thesys-devs Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Expose token usage from openAIResponsesAdapter

1 participant