Skip to content

Sync upstream opencode and upgrade Opus 4.5 to 4.6#12505

Closed
Kenny-Heitritter wants to merge 15 commits intoanomalyco:devfrom
qBraid:feat/upstream-sync-opus-4-6
Closed

Sync upstream opencode and upgrade Opus 4.5 to 4.6#12505
Kenny-Heitritter wants to merge 15 commits intoanomalyco:devfrom
qBraid:feat/upstream-sync-opus-4-6

Conversation

@Kenny-Heitritter
Copy link

Summary

  • Merges 1,420 upstream commits from sst/opencode dev branch into our fork
  • Upgrades the qBraid CodeQ Opus model from Claude 4.5 to Claude 4.6 in branding config

Merge Details

One conflict was resolved in packages/opencode/src/provider/provider.ts:

  • Imports: kept upstream's renamed copilot SDK path (./sdk/copilot) alongside our custom qBraid provider import (./sdk/qbraid)
  • Provider resolution: retained qBraid bundledKey mapping for @ai-sdk/qbraid while accepting upstream's refactored google-vertex-anthropic handling

Opus 4.6 Upgrade

Updated branding/qbraid/models.json:

  • Model key/id: claude-opus-4-5claude-opus-4-6
  • Display name: Claude 4.5 OpusClaude 4.6 Opus
  • Release date updated to 2026-02-06

Verification

  • bun install
  • bun run --filter opencode build ✓ (all platforms)
  • tsc --noEmit ✓ (no type errors)
  • Pre-push turbo typecheck ✓ (12/12 packages)

Kenny-Heitritter and others added 15 commits January 17, 2026 23:55
- Add branding/ directory with configuration-driven white-labeling
- Support custom logos, binary names, env var prefixes, and models
- Include qBraid/CodeQ configuration with purple Q in TUI
- Replace Zen models with qBraid, Anthropic, OpenAI providers
- Add documentation and safe testing workflow via git worktrees
- Update all system prompts to say 'CodeQ, built by qBraid - the leading quantum software company. You are the universe's most powerful coding agent.'
- Add .txt files to processed extensions so prompts are branded
- Replace all OpenCode references with CodeQ in prompts
…ve mode

- Clear BUILTIN plugin array when models.exclusive=true
- Empty CUSTOM_LOADERS when in exclusive mode to prevent 'Provider does not exist' errors
- Fix applyFileTransform to apply ALL matching transforms per file
- Update qBraid models.json to only include qBraid provider with 4 models:
  claude-sonnet-4-5, claude-haiku-4-5, gemini-3-flash, grok-4.1-fast
- Create branding/qbraid/README.md with CodeQ user documentation
- Fix inaccurate models description in branding/README.md
Builds CodeQ binaries for all platforms (linux, darwin, windows / x64, arm64)
and uploads them to gs://qbraid-codeq bucket.

Features:
- Manual dispatch with optional version input
- Builds all platform variants in parallel
- Applies qBraid branding before build
- Uploads versioned binaries to GCS
- Creates manifest.json with download URLs
- Updates 'latest' folder for release versions (v*)
feat: add qBraid branding system for white-labeling as CodeQ
Allows specifying which branch/tag/SHA to build from.
This is needed to test the workflow before the branding
code is merged to dev.
The branding scripts import zod but weren't part of the workspace,
causing 'Cannot find package zod' errors in CI.

- Add branding/package.json with zod catalog dependency
- Add branding to root workspaces list
fix(branding): workspace and CI fixes for CodeQ GCS workflow
Implements proper handling of Gemini 3 thought signatures in multi-turn
function calling conversations. Gemini 3 requires thought signatures to be
passed back when sending tool results.

Changes:
- Add new qBraid provider SDK at src/provider/sdk/qbraid/ that:
  - Uses a custom metadata extractor to capture _thought_signature from
    tool calls in both streaming and non-streaming responses
  - Stores thought signatures globally keyed by toolCallId
  - Exports getThoughtSignature() for retrieval

- Update processor.ts to:
  - Import getThoughtSignature from qBraid provider
  - Look up thought signatures after receiving tool-call events
  - Attach them to part metadata under both 'vertex' and 'google' keys
    for AI SDK compatibility

- Register qBraid provider in provider.ts BUNDLED_PROVIDERS

- Update branding/qbraid/models.json to use @ai-sdk/qbraid npm identifier
  so CodeQ uses our custom provider instead of generic openai-compatible

This works in conjunction with the qbraid-account proxy changes that:
1. Extract thought signatures from Gemini responses
2. Include them as _thought_signature in OpenAI-compatible tool call responses
3. Read _thought_signature from incoming requests and pass to AI SDK
feat: add Gemini 3 thought signature support for qBraid provider
# Conflicts:
#	packages/opencode/src/provider/provider.ts
@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

Hey! Your PR title Sync upstream opencode and upgrade Opus 4.5 to 4.6 doesn't follow conventional commit format.

Please update it to start with one of:

  • feat: or feat(scope): new feature
  • fix: or fix(scope): bug fix
  • docs: or docs(scope): documentation changes
  • chore: or chore(scope): maintenance tasks
  • refactor: or refactor(scope): code refactoring
  • test: or test(scope): adding or updating tests

Where scope is the package name (e.g., app, desktop, opencode).

See CONTRIBUTING.md for details.

@github-actions
Copy link
Contributor

github-actions bot commented Feb 6, 2026

The following comment was made by an LLM, it may be inaccurate:

Found a potentially related PR:

feat(provider): add adaptive thinking and 1M context support for Claude Opus 4.6 (#12342)

This PR is related because it also handles Claude Opus 4.6 upgrades/features, though it focuses on adaptive thinking and context support rather than the branding/model key update in PR #12505.

No other duplicate PRs found that match the upstream sync merge or the specific model configuration changes in this PR.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant