fix(console): openai usage normalization and tier threshold config - #47342
Conversation
|
This PR doesn't fully meet our contributing guidelines and PR template. What needs to be fixed:
Please edit this PR description to address the above within 2 hours, or it will be automatically closed. If you believe this was flagged incorrectly, please let a maintainer know. |
|
Thanks for your contribution! This PR doesn't have a linked issue. All PRs must reference an existing issue. Please:
See CONTRIBUTING.md for details. |
|
The following comment was made by an LLM, it may be inaccurate: Found a potentially related PR: fix(zen): OpenAI cache-write tokens are part of input_tokens, not extra (#44229) This PR appears to address the same underlying issue about OpenAI's cache-write tokens being included in |
|
This pull request has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window. Feel free to open a new pull request that follows our guidelines. |
Upstream v1.18.29 (1674747, merged at 18a4845) -> v1.18.30 (3104c14), 28 commits / 105 files. Staged delta vs pre-merge fork HEAD is identical to the upstream tag-to-tag diff (105 files, +1676/-403), confirming a clean adoption. Functional changes: - feat(opencode): port Astra system prompt from v2 (anomalyco#48057) — new session/prompt/gpt-astra.txt wired through system.ts; fork's system transforms live in the openchamber plugin, no overlap. - fix: preserve Bedrock DeepSeek model ids (anomalyco#34441) — provider.ts Bedrock loader passes arn: model ids through unmodified and tightens the cross-region prefix match from "deepseek" to "deepseek.r1"; inside the custom Azure/Bedrock loader region, disjoint from the fork snapshot architecture. - fix(provider): preserve explicit OpenAI service tiers (anomalyco#47671). - fix(opencode): add GitLab reasoning variants (anomalyco#47306) — transform.ts reasoningEffort now routes gitlab gpt-family to reasoningEffort and claude-family to adaptive thinking; disjoint from the fork GLM/ZhiPu normalization block, which remains intact (+77 fork-only lines). - SDK bumps: @ai-sdk/openai 3.0.88, @ai-sdk/azure 3.0.93, gitlab-ai-provider 6.15.0 (8 packages installed via bun install). - console: oauth client metadata document (anomalyco#47737), Chatwoot enterprise form (anomalyco#47488), openai usage normalization + tier threshold (anomalyco#47342), localized refund FAQs, zen model table updates (muse spark); go.mdx client session compatibility docs incl. zh translation. Conflicts resolved: 29 package.json version bumps (rebranded 1.18.30-sscity with a version-generic pattern after the v1.18.27 incident), bun.lock (took upstream, rebranded workspace entries via bun install). Fork deltas verified intact vs v1.18.30: ProviderSnapshot architecture (+492 in provider.ts), deferred snapshot init, GLM normalization (+77 in transform.ts), config getFresh/commitFresh (+14). Tests: provider, transform, bedrock, config, v2, azure plugin, session retry/llm — 1058 pass / 0 fail across 15 files (22 new upstream tests included); typecheck clean. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Issue for this PR
Closes #
Type of change
What does this PR do?
input_tokensalready includescached_tokensandcache_write_tokens;normalizeUsagenow subtracts both (clamped at zero) so each category is priced once.cost200Ktier threshold is now a per-model config field (default200_000) instead of a hardcoded constant.How did you verify your code works?
Updated/added tests for usage normalization and the threshold default;
bun typecheck+bun testpass inpackages/console/coreandpackages/console/app.Screenshots / recordings
N/A
Checklist