Skip to content

Fetch upstream - #150

Merged
A-x6 merged 5 commits into
bolt-builder:devfrom
anomalyco:dev
Aug 4, 2026
Merged

Fetch upstream#150
A-x6 merged 5 commits into
bolt-builder:devfrom
anomalyco:dev

Conversation

@A-x6

@A-x6A-x6 commented Aug 4, 2026

Copy link
Copy Markdown

Issue for this PR

Closes #

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

Please provide a description of the issue, the changes you made to fix it, and why they work. It is expected that you understand why your changes work and if you do not understand why at least say as much so a maintainer knows how much to value the PR.

If you paste a large clearly AI generated description here your PR may be IGNORED or CLOSED!

How did you verify your code works?

Screenshots / recordings

If this is a UI change, please include a screenshot or recording.

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

If you do not follow this template your PR will be automatically rejected.


View with [code]smithAutofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Summary by CodeRabbit

  • New Features

    • Referral summaries now display complete inviter and invitee reward history, including associated rewards.
    • File selections can be toggled off by clicking the same selection again.
    • Improved diff annotations, comment indicators, gutter behavior, and light/dark syntax colors.
  • Bug Fixes

    • Draft comment interactions now clear selections consistently and avoid conflicting hover updates.
    • GPT reasoning options now vary correctly by model version and API type.
  • Chores

    • Updated application and package versions to 1.18.12.

frederiknsgoand others added 4 commits August 3, 2026 17:42
Co-authored-by: LukeParkerDev <10430890+Hona@users.noreply.github.com>
Co-authored-by: Aiden Cline <rekram1-node@users.noreply.github.com>
@vercel

vercelBot commented Aug 4, 2026

Copy link
Copy Markdown

@fwang is attempting to deploy a commit to the adevloper152's projects Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitaiBot commented Aug 4, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c5119ee5-d689-4455-8857-7da76393ad56

📥 Commits

Reviewing files that changed from the base of the PR and between def14d9 and 7fe9938.

⛔ Files ignored due to path filters (1)
  • bun.lock is excluded by !**/*.lock
📒 Files selected for processing (29)
  • packages/app/package.json
  • packages/cli/package.json
  • packages/codemode/package.json
  • packages/console/app/package.json
  • packages/console/core/package.json
  • packages/console/function/package.json
  • packages/console/mail/package.json
  • packages/console/support/package.json
  • packages/core/package.json
  • packages/desktop/package.json
  • packages/effect-drizzle-sqlite/package.json
  • packages/effect-sqlite-node/package.json
  • packages/enterprise/package.json
  • packages/function/package.json
  • packages/http-recorder/package.json
  • packages/llm/package.json
  • packages/opencode/package.json
  • packages/plugin/package.json
  • packages/sdk/js/package.json
  • packages/server/package.json
  • packages/session-ui/package.json
  • packages/slack/package.json
  • packages/stats/app/package.json
  • packages/stats/core/package.json
  • packages/stats/server/package.json
  • packages/tui/package.json
  • packages/ui/package.json
  • packages/web/package.json
  • sdks/vscode/package.json

📝 Walkthrough

Walkthrough

Changes

The PR updates referral reward history, Azure GPT reasoning selection, session diff selection and comment behavior, diff styling, theme colors, and package versions.

Referral rewards

Layer / File(s)Summary
Referral reward queries
packages/console/core/src/referral.ts
Referral.summary now loads active inviter and invitee rewards with referral and email details. It also retrieves all reward referral IDs for the current invitee referral.

Azure reasoning options

Layer / File(s)Summary
GPT reasoning mapping and coverage
packages/opencode/src/provider/transform.ts, packages/opencode/test/provider/transform.test.ts
Azure GPT models below version 5.5 receive medium reasoning effort. Tests cover GPT-5.5 and GPT-5.6 across completion and Responses APIs.

Diff interactions and styling

Layer / File(s)Summary
Selection and comment lifecycle
packages/session-ui/src/components/file.tsx, packages/session-ui/src/v2/components/line-comment-annotations-v2.tsx
Identical selections toggle off. Commented-line marking observes shadow-DOM changes. Active drafts suppress hover and clear selected ranges when canceled or submitted.
Diff visual styling
packages/session-ui/src/pierre/index.ts, packages/ui/src/theme/themes/oc-2.json
Pierre styling adds selection, comment, gutter, indicator, and interaction rules. Shared theme variables now define addition and deletion colors.

Package release versions

Layer / File(s)Summary
Version synchronization
packages/*/package.json, sdks/vscode/package.json
Package and extension versions change from 1.18.11 to 1.18.12.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Possibly related PRs

Suggested labels:needs:issue, :arrow_heading_down: pull

Suggested reviewers:brendonovich

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (2 warnings)

Check nameStatusExplanationResolution
Title check⚠️ WarningThe title does not describe the release-version synchronization or related code changes in the pull request.Replace it with a concise title that identifies the v1.18.12 release or the primary functional changes.
Description check⚠️ WarningThe description repeats the template but provides no issue, change type, implementation summary, verification details, screenshots, or completed checklist.Complete the required sections, select the change type, describe the changes, record verification, and mark applicable checklist items.
✅ Passed checks (3 passed)
Check nameStatusExplanation
Docstring Coverage✅ PassedNo functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check✅ PassedCheck skipped because no linked issues were found for this pull request.
Out of Scope Changes check✅ PassedCheck skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 2
⚔️ Resolve merge conflicts 💡
  • Resolve merge conflict in branch dev
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@deepsource-io

deepsource-ioBot commented Aug 4, 2026

Copy link
Copy Markdown

DeepSource Code Review

We reviewed changes in a480489...7fe9938 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.

See full review on DeepSource ↗

Important

Some issues found as part of this review are outside of the diff in this pull request and aren't shown in the inline review comments due to GitHub's API limitations. You can see those issues on the DeepSource dashboard.

PR Report Card

Overall Grade

Focus Area: Reliability
Security

Reliability

Complexity

Hygiene

Code Review Summary

AnalyzerStatusUpdated (UTC)Details
JavaScriptAug 4, 2026 12:55a.m.Review ↗
ShellAug 4, 2026 12:55a.m.Review ↗
SecretsAug 4, 2026 12:55a.m.Review ↗
DockerAug 4, 2026 12:55a.m.Review ↗
PythonAug 4, 2026 12:55a.m.Review ↗
CSSAug 4, 2026 12:55a.m.Review ↗
RustAug 4, 2026 12:55a.m.Review ↗
RubyAug 4, 2026 12:55a.m.Review ↗
SwiftAug 4, 2026 12:55a.m.Review ↗
PHPAug 4, 2026 12:55a.m.Review ↗
LuaAug 4, 2026 12:55a.m.Review ↗
JavaAug 4, 2026 12:55a.m.Review ↗
GoAug 4, 2026 12:55a.m.Review ↗
C & C++Aug 4, 2026 12:55a.m.Review ↗
AnsibleAug 4, 2026 12:55a.m.Review ↗
ApexAug 4, 2026 12:55a.m.Review ↗
ElixirAug 4, 2026 12:55a.m.Review ↗
GroovyAug 4, 2026 12:55a.m.Review ↗
Objective-CAug 4, 2026 12:55a.m.Review ↗
PowerShellAug 4, 2026 12:55a.m.Review ↗
TerraformAug 4, 2026 12:55a.m.Review ↗
VB.NETAug 4, 2026 12:55a.m.Review ↗
SQLAug 4, 2026 12:55a.m.Review ↗
ScalaAug 4, 2026 12:55a.m.Review ↗
PerlAug 4, 2026 12:55a.m.Review ↗
KotlinAug 4, 2026 12:55a.m.Review ↗
HelmAug 4, 2026 12:55a.m.Review ↗
ErlangAug 4, 2026 12:55a.m.Review ↗
DartAug 4, 2026 12:55a.m.Review ↗
C#Aug 4, 2026 12:55a.m.Review ↗

Important

AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.

@coderabbitaicoderabbitaiBot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
packages/opencode/test/provider/transform.test.ts (1)

684-712: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Add a regression test for the lower version boundary.

These tests do not cover GPT-5.4 with useCompletionUrls: true. That case must still return reasoningEffort: "medium" from Lines 1278-1279. A regression that removes the option for every completion model would pass the current tests.

+ test("gpt-5.4 should set reasoningEffort for the completions API", () => {+ const result = ProviderTransform.options({+ model: createModel("gpt-5.4"),+ sessionID,+ providerOptions: { useCompletionUrls: true },+ })++ expect(result.reasoningEffort).toBe("medium")+ })
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/opencode/test/provider/transform.test.ts` around lines 684 - 712,
Add a regression test alongside the existing GPT-5.x completion tests in
ProviderTransform.options covering model "gpt-5.4" with useCompletionUrls
enabled, and assert that reasoningEffort remains "medium" as defined by the
existing lower-version boundary behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@packages/console/core/src/referral.ts`:
- Around line 62-85: Update the referral reward query’s AuthTable join in the
rewards retrieval flow to use a left join instead of an inner join, and make
inviteeEmail nullable so active rewards remain included when email
authentication records are absent.
In `@packages/opencode/src/provider/transform.ts`:
- Around line 1277-1280: Update the final Azure options cleanup in the transform
flow around the `useCompletionUrls` handling so GPT-5.5+ completion requests
remove the previously added `reasoningEffort` along with the other unsupported
fields. Ensure this uses the merged model, agent, and variant options rather
than only the initial provider options, and add coverage for each configuration
layer.
---
Nitpick comments:
In `@packages/opencode/test/provider/transform.test.ts`:
- Around line 684-712: Add a regression test alongside the existing GPT-5.x
completion tests in ProviderTransform.options covering model "gpt-5.4" with
useCompletionUrls enabled, and assert that reasoningEffort remains "medium" as
defined by the existing lower-version boundary behavior.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 2d25fc88-f7b9-487e-95d8-2c3d23cc51ae

📥 Commits

Reviewing files that changed from the base of the PR and between a480489 and def14d9.

📒 Files selected for processing (7)
  • packages/console/core/src/referral.ts
  • packages/opencode/src/provider/transform.ts
  • packages/opencode/test/provider/transform.test.ts
  • packages/session-ui/src/components/file.tsx
  • packages/session-ui/src/pierre/index.ts
  • packages/session-ui/src/v2/components/line-comment-annotations-v2.tsx
  • packages/ui/src/theme/themes/oc-2.json

Comment on lines +62 to +85
const [rewards, invites, inviteeReferral, inviteeRewards] = await Promise.all([
tx
.select({
referralID: ReferralRewardTable.referralID,
workspaceID: ReferralRewardTable.workspaceID,
referralWorkspaceID: ReferralTable.workspaceID,
inviteeEmail: AuthTable.subject,
amount: ReferralRewardTable.amount,
timeCreated: ReferralRewardTable.timeCreated,
timeApplied: ReferralRewardTable.timeApplied,
})
.from(ReferralRewardTable)
.innerJoin(ReferralTable, eq(ReferralTable.id, ReferralRewardTable.referralID))
.innerJoin(
AuthTable,
and(eq(AuthTable.accountID, ReferralTable.inviteeAccountID), eq(AuthTable.provider, "email")),
)
.where(
and(
eq(ReferralRewardTable.workspaceID, workspaceID),
isNull(ReferralRewardTable.timeDeleted),
isNull(ReferralTable.timeDeleted),
),
),

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

printf'%s\n''--- file outline ---'
ast-grep outline packages/console/core/src/referral.ts --view compact
printf'%s\n''--- relevant source ---'
sed -n '1,155p' packages/console/core/src/referral.ts
sed -n '350,465p' packages/console/core/src/referral.ts
printf'%s\n''--- table definitions and AuthTable constraints ---'
rg -n -C 4 'ReferralRewardTable|ReferralTable|AuthTable|provider.*email|email.*provider' packages/console packages -g '*.ts' -g '*.tsx'| head -n 500

Repository: bolt-builder/bolt-cli

Length of output: 50377


🏁 Script executed:

python3 - <<'PY'from pathlib import Pathp = Path("packages/console/core/src/referral.ts")lines = p.read_text().splitlines()for start, end in [(55, 145), (370, 410), (430, 455)]: print(f"--- {p}:{start}-{end} ---") for n in range(start, min(end, len(lines)) + 1): print(f"{n}:{lines[n-1]}")PYprintf'%s\n''--- exact schema file candidates ---'
fd -i 'schema|referral|auth' packages/console packages -t f | head -n 200

Repository: bolt-builder/bolt-cli

Length of output: 11884


🏁 Script executed:

printf'%s\n''--- AuthTable schema ---'
cat -n packages/console/core/src/schema/auth.sql.ts
printf'%s\n''--- Referral schemas ---'
cat -n packages/console/core/src/schema/referral.sql.ts
printf'%s\n''--- account/user schemas ---'
cat -n packages/console/core/src/schema/account.sql.ts
cat -n packages/console/core/src/schema/user.sql.ts | sed -n '1,120p'printf'%s\n''--- AuthTable writes and referral.create callers ---'
rg -n -C 3 'insert\(AuthTable\)|insert\([^)]*AuthTable|Referral\.create|Referral\.summary' packages/console/core packages/console/app packages/console/function -g '*.ts' -g '*.tsx'| head -n 500

Repository: bolt-builder/bolt-cli

Length of output: 8115


🏁 Script executed:

python3 - <<'PY'from pathlib import Pathfor name in [ "packages/console/core/src/schema/auth.sql.ts", "packages/console/core/src/schema/referral.sql.ts", "packages/console/core/src/schema/account.sql.ts",]: p = Path(name) print(f"--- {name} ---") for n, line in enumerate(p.read_text().splitlines(), 1): print(f"{n}:{line}")PYprintf'%s\n''--- all referral summary consumers ---'
rg -n -C 5 'Referral\.summary|summary\(' packages/console/app packages/console/core packages/console/function -g '*.ts' -g '*.tsx'| rg -C 5 'Referral|referral'| head -n 300

Repository: bolt-builder/bolt-cli

Length of output: 5883


🏁 Script executed:

python3 - <<'PY'from pathlib import Pathfor name, ranges in { "packages/console/function/src/auth.ts": [(130, 205)], "packages/console/core/src/referral.ts": [(260, 365), (360, 470)], "packages/console/app/src/lib/referral-invite.ts": [(1, 55)],}.items(): lines = Path(name).read_text().splitlines() for start, end in ranges: print(f"--- {name}:{start}-{end} ---") for n in range(start, min(end, len(lines)) + 1): print(f"{n}:{lines[n-1]}")PYprintf'%s\n''--- read-only invariant probe ---'
python3 - <<'PY'from pathlib import Pathreferral = Path("packages/console/core/src/referral.ts").read_text()auth = Path("packages/console/core/src/schema/auth.sql.ts").read_text()user = Path("packages/console/core/src/schema/user.sql.ts").read_text()assert '.innerJoin(\n AuthTable,' in referralassert 'provider = "email"' in referralassert 'ReferralRewardTable' in referral and '.values([' in referralassert 'accountID: ulid("account_id")' in userassert 'provider: mysqlEnum("provider", AuthProvider).notNull()' in authassert 'uniqueIndex("provider").on(table.provider, table.subject)' in authprint("Reward creation does not join AuthTable.")print("AuthTable has no schema-level constraint requiring provider=email for every account.")print("UserTable.accountID is nullable.")print("The reward summary join can therefore remove a reward row when the invitee has no email auth row.")PY

Repository: bolt-builder/bolt-cli

Length of output: 14771


🏁 Script executed:

printf'%s\n''--- every AuthTable write ---'
rg -n -C 6 'insert\(AuthTable\)|AuthTable\)\.values|AuthTable\)\.ignore|update\(AuthTable\)|delete\(AuthTable\)' packages/console -g '*.ts' -g '*.tsx'printf'%s\n''--- every account creation path ---'
rg -n -C 8 'Account\.create|insert\(AccountTable\)|AccountTable\)\.values' packages/console -g '*.ts' -g '*.tsx'printf'%s\n''--- auth row deletion and account/user creation ---'
rg -n -C 5 'timeDeleted.*AuthTable|AuthTable.*timeDeleted|UserTable.*accountID|accountID.*UserTable' packages/console/core packages/console/function packages/console/app -g '*.ts' -g '*.tsx'| head -n 500

Repository: bolt-builder/bolt-cli

Length of output: 30710


🏁 Script executed:

python3 - <<'PY'from pathlib import Pathfor name in [ "packages/console/core/src/account.ts", "packages/console/core/src/user.ts",]: p = Path(name) print(f"--- {name} ---") lines = p.read_text().splitlines() for n, line in enumerate(lines, 1): if any(token in line for token in ("Account.create", "AccountTable", "AuthTable", "UserTable")): lo, hi = max(1, n - 5), min(len(lines), n + 12) print(f"[{lo}-{hi}]") for i in range(lo, hi + 1): print(f"{i}:{lines[i-1]}")PY

Repository: bolt-builder/bolt-cli

Length of output: 35982


Do not make active reward history depend on email authentication.

Account.remove deletes AuthTable rows but leaves active referrals and rewards. This innerJoin then hides those rewards from the summary. Use leftJoin and keep inviteeEmail nullable.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/console/core/src/referral.ts` around lines 62 - 85, Update the
referral reward query’s AuthTable join in the rewards retrieval flow to use a
left join instead of an inner join, and make inviteeEmail nullable so active
rewards remain included when email authentication records are absent.

Comment on lines +1277 to +1280
if (input.model.api.npm === "@ai-sdk/azure" && input.providerOptions?.useCompletionUrls) {
if (!isGpt55OrNewer) {
result["reasoningEffort"] = "medium"
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/usr/bin/env bashset -euo pipefail
rg -n -C 6 \
'ProviderTransform\.options|useCompletionUrls|reasoningEffort|reasoningSummary|model\.options|agent\.options|variant|mergeOptions' \
packages/opencode/src packages/opencode/test

Repository: bolt-builder/bolt-cli

Length of output: 50378


🏁 Script executed:

#!/usr/bin/env bashset -euo pipefail
printf'%s\n''--- transform.ts relevant symbols ---'
rg -n -C 18 'function options|options\(|useCompletionUrls|isGpt55OrNewer|reasoningEffort' packages/opencode/src/provider/transform.ts | head -n 260
printf'%s\n''--- request path references ---'
rg -n -C 20 'ProviderTransform\.options|useCompletionUrls|providerOptions|modelOptions|agent|variant|reasoningEffort' packages/opencode/src/session/llm/request.ts | head -n 320
printf'%s\n''--- candidate option merge definitions ---'
rg -n -C 12 'merge.*option|options.*merge|providerOptions|model\.options|agent\.options|variant' packages/opencode/src/session packages/opencode/src/provider | head -n 320

Repository: bolt-builder/bolt-cli

Length of output: 42857


🏁 Script executed:

#!/usr/bin/env bashset -euo pipefail
printf'%s\n''--- Azure options implementation ---'
sed -n '1180,1310p' packages/opencode/src/provider/transform.ts
printf'%s\n''--- Azure completion-url tests and request-preparation tests ---'
rg -n -C 14 'useCompletionUrls|completion.?url|Azure|azure' \
packages/opencode/test/provider/transform.test.ts \
packages/opencode/test/session packages/opencode/test 2>/dev/null | head -n 360
printf'%s\n''--- request and transform status ---'
git status --short -- packages/opencode/src/provider/transform.ts packages/opencode/src/session/llm/request.ts packages/opencode/test/provider/transform.test.ts
git diff --stat -- packages/opencode/src/provider/transform.ts packages/opencode/src/session/llm/request.ts packages/opencode/test/provider/transform.test.ts

Repository: bolt-builder/bolt-cli

Length of output: 34978


🏁 Script executed:

#!/usr/bin/env bashset -euo pipefail
printf'%s\n''--- GPT-5 Azure transform tests ---'
sed -n '626,716p' packages/opencode/test/provider/transform.test.ts
printf'%s\n''--- Existing merged-options regression test ---'
sed -n '510,592p' packages/opencode/test/provider/transform.test.ts
printf'%s\n''--- Exact cleanup implementation ---'
sed -n '78,101p' packages/opencode/src/session/llm/request.ts
printf'%s\n''--- Read-only behavioral verifier for the relevant branches ---'
python3 - <<'PY'def transform_options(api_id, provider_options): result = {} major_minor = api_id.removeprefix("gpt-").split(".", 1) major = int(major_minor[0]) if len(major_minor) == 2 else None minor = int(major_minor[1]) if len(major_minor) == 2 else None gpt55_or_newer = major is not None and (major > 5 or (major == 5 and minor >= 5)) if provider_options.get("useCompletionUrls"): if not gpt55_or_newer: result["reasoningEffort"] = "medium" return result if "gpt-5" in api_id and "gpt-5-chat" not in api_id and "gpt-5-pro" not in api_id: result["reasoningEffort"] = "medium" result["reasoningSummary"] = "auto" result["include"] = ["reasoning.encrypted_content"] return resultdef prepare(api_id, provider_options, model_options, agent_options, variant): base = transform_options(api_id, provider_options) options = {**base, **model_options, **agent_options, **variant} if ( provider_options.get("useCompletionUrls") or model_options.get("useCompletionUrls") or options.get("useCompletionUrls") ): options.pop("reasoningSummary", None) options.pop("include", None) return optionscases = { "provider": prepare("gpt-5.5", {"useCompletionUrls": True}, {}, {}, {}), "model": prepare("gpt-5.5", {}, {"useCompletionUrls": True}, {}, {}), "agent": prepare("gpt-5.5", {}, {}, {"useCompletionUrls": True}, {}), "variant": prepare("gpt-5.5", {}, {}, {}, {"useCompletionUrls": True}),}for name, result in cases.items(): print(name, result)assert cases["provider"] == {}assert all(result.get("reasoningEffort") == "medium" for name, result in cases.items() if name != "provider")PY

Repository: bolt-builder/bolt-cli

Length of output: 6392


Handle useCompletionUrls in the final Azure options.

When useCompletionUrls comes from model, agent, or variant options, the initial transform still adds reasoningEffort: "medium" for GPT-5.5+ models. The post-merge cleanup removes only reasoningSummary and include. Remove reasoningEffort for GPT-5.5+ completion requests, or pass the merged options into the transform. Add coverage for each configuration layer.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@packages/opencode/src/provider/transform.ts` around lines 1277 - 1280, Update
the final Azure options cleanup in the transform flow around the
`useCompletionUrls` handling so GPT-5.5+ completion requests remove the
previously added `reasoningEffort` along with the other unsupported fields.
Ensure this uses the merged model, agent, and variant options rather than only
the initial provider options, and add coverage for each configuration layer.

@A-x6

A-x6 commented Aug 4, 2026

Copy link
Copy Markdown
Author

@codesmith-bot fix merge confliicts and then push to this pr not a another pr but dont merge and tell me does this bring any ui branding? and explain to me everything else in this repo

@blacksmith-sh

Copy link
Copy Markdown

Got it, I'm checking the PR diff and merge conflicts first.

View with [code]smith

@blacksmith-sh

Copy link
Copy Markdown

@DevFlex-AI

@codesmith-bot fix merge confliicts and then push to this pr not a another pr but dont merge and tell me does this bring any ui branding? and explain to me everything else in this repo

Done. Here's everything:

The conflicts and where the fix lives. All 29 conflicted files were the same trivial pattern: your fork's version: 1.20.3 vs upstream's 1.18.12, plus your package rename (@bolt-builder/bolt-cli vs opencode) in packages/opencode/package.json and bun.lock. I kept your fork's side everywhere and committed the merge.

Why I couldn't push to PR #150 itself. This PR's head branch is anomalyco/opencode:dev, i.e. the upstream repo. Neither you nor I have write access there, so GitHub gives no way to push conflict resolutions onto this PR (that's also why the "Resolve conflicts" button is disabled). The only other in-place option, pushing the merge straight to your dev, would make GitHub instantly mark PR #150 as merged, which you told me not to do. So I pushed the resolved merge to a branch in your repo without opening a PR: sync-upstream (commit 28049ac5a). When you're ready, merge sync-upstream into dev (or I can); the moment upstream's commits land in dev, GitHub will automatically flip PR #150 to merged. There is no way around that.

Does this bring any UI branding? No. The merge is only 5 upstream commits touching 7 files, and none of them reintroduce OpenCode names, logos, or branding. What it actually brings: referral reward history in console/core/referral.ts, a fix for GPT reasoning options on Azure (provider/transform.ts + test), diff-viewer refinements in session-ui (annotations, gutter, hover behavior), and two syntax diff colors in the oc-2 theme (syntax-diff-add/syntax-diff-delete now use semantic success/danger variables). Your rebrand (bin bolt, package name, PolyForm license, your 1.20.3 versioning) is untouched.

What this repo is.bolt-cli is your fork of anomalyco/opencode, the OpenCode AI coding agent, rebranded to "bolt" and versioned independently (you're at 1.20.3, upstream at 1.18.12). It's a Bun monorepo:

  • packages/opencode: the main agent/CLI (published as @bolt-builder/bolt-cli, bin bolt); sessions, tools, providers live here
  • packages/core, packages/server, packages/llm: the V2 engine, HTTP API, and model/provider layer (Effect-based, SQLite via effect-drizzle-sqlite / effect-sqlite-node)
  • packages/tui: the terminal UI; packages/app, packages/desktop, packages/web, packages/ui, packages/session-ui: the graphical frontends and shared UI/diff-viewer components
  • packages/sdk/js, packages/client, sdks/vscode, packages/plugin: SDKs, generated API clients, VS Code extension, and plugin system
  • packages/console/* (app/core/function/mail/support): the hosted console, billing/referrals, and support tooling; packages/stats/*: usage analytics; packages/slack: Slack integration
  • packages/codemode, packages/function, packages/http-recorder, packages/enterprise: code-execution tooling, serverless functions, HTTP record/replay for tests, and enterprise features

Dependency rules flow Schema → Core/Protocol → Server, with clients only touching Schema/Protocol. Conventional commits, bun typecheck from package dirs, tests run per-package.

View with [code]smith

@A-x6
A-x6 merged commit 28049ac into bolt-builder:devAug 4, 2026
37 of 40 checks passed
@mintlify

mintlifyBot commented Aug 4, 2026

Copy link
Copy Markdown

Docs PR opened: bolt-builder/docs#2

Added a changelog entry for the v1.18.12 release covering GPT-5 reasoning tiers, diff polish, and selection fixes.

Sign up for freeto 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.

4 participants

@A-x6@frederiknsgo@arvsrn@fwang