Skip to content

feat: add Tsubasa provider configuration - #3943

Draft
cenab wants to merge 1 commit into
tailcallhq:mainfrom
cenab:feat/tsubasa-provider
Draft

cenab wants to merge 1 commit into
tailcallhq:mainfrom
cenab:feat/tsubasa-provider

Conversation

@cenab

@cenab cenab commented Sep 28, 2026

Copy link
Copy Markdown

Summary

Add Tsubasa to the existing provider configuration and README setup list. The named entry resolves TSUBASA_API_KEY, offers tsubasa-pro and tsubasa-fast, and reuses OpenAI Chat Completions. Both models have 32,768-token context metadata and text-only input; tool, parallel-tool, and reasoning capability flags remain false.

No Rust runtime, authentication implementation, dependency, price, release date, or underlying-model identity is added.

Verification

  • cargo check -p forge_repo: passed.
  • cargo test -p forge_repo --lib provider::provider_repo::tests: 17 passed.
  • Full forge_repo library harness: 333 passed, 1 existing ignored test. Built with cargo test -p forge_repo --lib --no-run --message-format=json, then executed with isolated FORGE_CONFIG, preserved HOME, synthetic/empty credentials, loopback-only networking, and the supported INSTA_WORKSPACE_ROOT override. The first harness attempt could not run Cargo metadata under its personal-file restrictions; correcting snapshot-root configuration resolved those harness failures. Serial test execution also avoided contention in an unrelated heartbeat timing test.
  • cargo fmt --all -- --check: reports one unchanged upstream file, crates/forge_main/src/info.rs, which is byte-identical to base 574894e8e9ab191788d451d569eb15bfcf55ed74. This change adds no Rust source. JSON is parsed by the actual provider loader; git diff --check passed.
  • Actual ForgeInfra → ForgeRepo → ForgeServices provider selection, environment-to-credential migration, template rendering, production request transformers, and HTTP/SSE decoded Hello for both aliases against a controlled loopback endpoint. Invalid credentials returned 401. Without TSUBASA_API_KEY, Tsubasa remained unconfigured despite unrelated OpenAI and OpenRouter keys.
  • All three captured HTTP request bodies passed Tsubasa's real strict schema and conservative context/output preflight. Only the resolved provider URL was redirected to loopback; the transport, parser, and credential handling were unmodified.

This validates the local provider path, not a full interactive Forge session or live tool quality. The latest public Tsubasa /v1/models check returned HTTP 404; live inference qualification remains outstanding. The fixture used synthetic credentials and controlled replies.

Prepared with AI assistance and submitted as a draft for maintainer review.

Co-Authored-By: ForgeCode noreply@forgecode.dev

Co-Authored-By: ForgeCode <noreply@forgecode.dev>
@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@github-actions github-actions Bot added type: feature Brand new functionality, features, pages, workflows, endpoints, etc. type: provider Updates provider.json configuration. labels Sep 28, 2026

This branch has not been deployed

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

Labels

type: feature Brand new functionality, features, pages, workflows, endpoints, etc. type: provider Updates provider.json configuration.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants