Skip to content

feat(providers): add CodeBuddy international (codebuddy-intl, cbai) provider (#15173) - #15799

Merged
diegosouzapw merged 18 commits into
diegosouzapw:release/v3.8.52from
Junior-HJ:feat/codebuddy-intl-provider
Oct 10, 2026
Merged

diegosouzapw merged 18 commits into
diegosouzapw:release/v3.8.52from
Junior-HJ:feat/codebuddy-intl-provider

Conversation

@Junior-HJ

@Junior-HJ Junior-HJ commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds native support for CodeBuddy International (codebuddy.ai, provider ID codebuddy-intl, alias cbai, issue #15173). Fully splits the CodeBuddy implementation into modular, dedicated provider files with shared helpers between CN and International gateways.

Key Capabilities

  • Provider Registration: codebuddy-intl registered with alias cbai and 22 live-curated models (hy4-preview, hy3, gpt-6-astra/luna/sol, gpt-5.6-*, gpt-5.5, gpt-5.4, gpt-5.3-codex, gemini-3.5-flash, glm-5v-turbo, glm-5.3, glm-5.3-flash, glm-5.2, glm-5.1, minimax-m3, kimi-k3, kimi-k2.7, kimi-k2.6, deepseek-v4.1-flash).
  • OAuth Device Flow: Shared device-code OAuth flow (src/lib/oauth/providers/codebuddyDeviceAuth.ts) pointing to codebuddy.ai endpoints with platform: "ide".
  • Token Refresh: Proactive token refresh via POST /v2/plugin/auth/token/refresh with X-Refresh-Token.
  • Quota & Billing: Tencent-backed billing query via codebuddy-intl usage service (open-sse/services/usage/codebuddy-intl.ts).
  • Executor & Streaming: CodeBuddyIntlExecutor extending shared CodeBuddy base; automatically prepends a neutral system message when omitted (required by CodeBuddy Intl gateway) and forces stream: true.
  • Model Listing: Marked as CURATED_MODEL_ONLY_PROVIDERS in src/lib/providers/modelListingCapability.ts.

Architecture / File Modularization

  • open-sse/executors/codebuddy/shared.ts, codebuddy-cn.ts, codebuddy-intl.ts
  • open-sse/services/usage/codebuddyShared.ts, codebuddy-cn.ts, codebuddy-intl.ts
  • open-sse/services/tokenRefresh/providers/codebuddyShared.ts, codebuddyCn.ts, codebuddyIntl.ts
  • src/lib/oauth/providers/codebuddyDeviceAuth.ts, codebuddy-cn.ts, codebuddy-intl.ts

Verification

  • tests/unit/codebuddy-intl-provider.test.ts: 13/13 passing.
  • tests/unit/usage-fetcher-registration-coverage.test.ts: 4/4 passing.
  • tests/unit/model-listing-capability-5420.test.ts: passing.
  • tests/unit/oauth-device-code-endpoints.test.ts: passing.
  • tests/unit/oauth-providers-config.test.ts: passing.
  • tests/unit/provider-node-reserved-prefix.test.ts: passing.
  • check:docs-counts-sync: 0 drift (provider count 360, executors 139).

CI Notes

⚠️ base-red inherited: #15306

Junior-HJ and others added 9 commits October 7, 2026 23:22
… merge

The 370->371 bump had replaced "370 AI providers" / "370 providers" with a
bare "371" in llm.txt (root + 66 i18n mirrors), README alt texts and the
README/tier-flow SVGs. Restore the original phrasing and move every count to
the live total (372: tip added typesafe, this PR adds codebuddy-intl), regenerate
PROVIDER_REFERENCE.md, and correct ARCHITECTURE/CODEBASE_DOCUMENTATION
executor/OAuth-module counts.
Replace the two `data?: any` casts in codebuddyDeviceAuth.ts with typed
envelope/payload interfaces so the shared module needs no eslint suppression.
…fter base merge

Regenerated on Linux: restores the copilot user-agent platform to "linux"
(the branch golden had been generated on win32) and picks up the twinmind/tm
executor keys that landed on the release tip, alongside codebuddy-intl/cbai.
@diegosouzapw
diegosouzapw merged commit f966efb into diegosouzapw:release/v3.8.52 Oct 10, 2026
18 of 41 checks passed
diegosouzapw added a commit that referenced this pull request Oct 10, 2026
…6109)

Follow-up to #15676 (thanks @Poid-ZA) carrying the CLI-table remaps from #16016 (credited to @afonsoft via Co-authored-by). Every `skills/<dir>/SKILL.md` reference inside the skills now resolves, enforced by a new check in skillManifestsLint.test.ts (4/4; fails with the fix reverted). Cloud-agent rows stay on cli-backup-sync, because the skill generator assigns the `omniroute cloud` command group there (cliRegistryParser.ts:78). Protected surface (skills/**/SKILL.md) approved by the owner. check:docs-all's only red is the inherited provider-count drift, fixed by #15799.
diegosouzapw added a commit that referenced this pull request Oct 10, 2026
…16118)

Restores check-changelog-integrity on release/v3.8.52: the codebuddy-intl fragment from #15799 is now a single bullet named after the PR, keeping the contributor credit. Verified locally: check-changelog-integrity OK.
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.

2 participants