Repository navigation
chore(sync): merge upstream v2 through v2.0.21 - #371
Merged
Merged
Conversation
…yco#52012) Co-authored-by: rekram1-node <[email protected]>
Co-authored-by: Brendonovich <[email protected]>
Co-authored-by: Brendonovich <[email protected]>
Co-authored-by: Brendonovich <[email protected]>
Merge anomalyco/opencode v2 at dd2af0e (sync release versions for v2.0.21). Keep the shuvcode package identity, fork workflow, and rich tool-error lowering.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
2 of 6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue for this PR
N/A. Upstream sync. Do not merge this PR.
Type of change
Upstream sync of anomalyco/opencode branch
v2intointegration-v2.What does this PR do?
Merges anomalyco/opencode branch v2 through the v2.0.21 release-sync commit into the Shuvcode fork and keeps fork identity.
8a8bd622a3d7dc29ccf30ec17f84e363ed95ed72(release: v2.0.21).dd2af0e5fccd4014ed2ab938f369f01817935211(sync release versions for v2.0.21). Not currentv2HEAD.210c16a571629692027ed60dcf393c72ae4bf49a(2bd1e49d3c+dd2af0e5fc).integration-v2at2bd1e49d3c(after PR chore(sync): merge upstream v2 through v2.0.20 #370, v2.0.20).shuvcodeat2.0.21-shuv.1. Noopencodeoropencode2bin.Tag relationship (same shape as v2.0.20, not the v2.0.19 sibling pattern):
For v2.0.19 the tag and the sync commit shared a parent and had identical trees. v2.0.21 does not.
v2. It is not an ancestor ofupstream/v2.upstream/v2..v2.0.21is exactly the tag commit.8a8bd622a3parent:f46fa72a92(fix(core): add namespaced session identity headers (#52368)). Treed551f447236479f665d8324b1c4439a0ce5f6e63.dd2af0e5fcparent:a923596ee7(feat(plugin): expose session removal (#52387)). Tree1a4dfdc6c89b605970461048a86acf843ec16bcd.f46fa72a92.91b9bc52a4fix(ai): make model capability defaults forward-compatible (#52388)a923596ee7feat(plugin): expose session removal (#52387)dd2af0e5fcsync release versions for v2.0.218a8bd622a3release: v2.0.21.v2HEAD5556ad563dis two commits past the sync. Those are not in this merge:629e7aaa31fix(session-ui): increase markdown bold weight (#52389)5556ad563dfix(ai): stop retrying Z.ai Responses model and permission rejections (#52135)What's new upstream (
8d8a7bc844..dd2af0e5fc, 25 commits):sync release versions for v2.0.21.Conflicts (4):
packages/cli/package.json: keptnameshuvcodeandbinshuvcode(./bin/shuvcode.mjs). Set version2.0.21-shuv.1.bun.lock: took upstream's lockfile, then regenerated withbun installso the workspace entry isshuvcodeat2.0.21-shuv.1and the fork plugin packages stay (@shuvcode/gpt-live-plugin,@shuvcode/quota-plugin,marked).bun install --frozen-lockfilepasses.packages/ai/src/protocols/openai-chat.ts: upstream moved chat cache breakpoints onto text content parts (toolMessage). The fork still lowers rich tool failures throughProviderShared.toolErrorContent, including the error text plus content parts. Both are kept: rich errors go throughtoolMessage, so cache control stays on the text part..github/workflows/publish.yml: kept the fork file unchanged. Upstream's only edit was the Discord jobif:guard from fix(ci): run V2 Discord notification after skipped build jobs anomalyco/opencode#52012 (fix(ci): run V2 Discord notification after skipped build jobs). No workflow files changed in this PR.packages/tui/package.jsonauto-merged: upstream version2.0.21, plus the forkmarkedcatalog dependency and@shuvcode/gpt-live-plugin/@shuvcode/quota-pluginworkspace dependencies.These fork pieces did not conflict and are unchanged:
dialog-pair.tsxstill saysshuvcode service set hostname; pairing still errors withshuvcode service unset disabled; the plugin TUI API still has prompt autocomplete;packages/ai/src/protocols/shared.tsstill exportstoolErrorContent; compaction still emits[Tool error]and[Tool error content];integration.connection.statusstubs remain; CLI/help tests still assertshuvcode.Rebrand: no new
opencode <cmd>string landed in source the fork has already rebranded.packages/cli/src/acp/service.tsauto-merged and keptshuvcode auth login, terminal-auth commandshuvcode, labelShuvcode Login, and agent nameShuvcode. The new wire testpackages/cli/test/acp/session.test.tsasserted the upstream wording, so those expectations were updated to match the fork source:Run \opencode auth login`→Run `shuvcode auth login``opencode→shuvcodeOpenCode Login→Shuvcode LoginagentInfo.nameOpenCode→ShuvcodeThe method id
opencode-loginand the method nameLogin with opencodeare unchanged, matching the existing fork source.Judgment calls:
x-opencode-session-idandx-opencode-parent-session-id(fix(core): add namespaced session identity headers anomalyco/opencode#52368) stay as upstream wrote them. They are wire identity headers next to the existingX-Session-Id/x-parent-session-idheaders, not CLI hints.v2after it are not included.bun run generate. Upstream already updated the generated client for the form-cancel query, and typecheck passed.#52012is an ancestor of the sync commit, but its workflow edit was dropped with the forkpublish.yml.Nothing else needs a product decision. Do not merge this PR.
How did you verify your code works?
Local only. GitHub Actions were not triggered.
bun installandbun install --frozen-lockfile(bun 1.4.2)bun run checkfrom the repo root, including the pre-push hook: oxlint clean (0 warnings, 0 errors), turbo typecheck 40/40packages/tui: dialog-pair, plugin-model, plugin-autocomplete, mini footer, and group-view: 116 pass, 2 skippackages/server: process pairing and fetch: 13 passpackages/cli: web-ui, server-connection, service, noninteractive run, auth, auth-login choices, mcp-auth choices, session-target, and the ACP wire/subprocess tests this sync changed (catalog, session, permission, prompt, replay, turn, config-options, lifecycle): 126 pass, 4 todopackages/ai: cache-policy, executor, provider-error, effort-updates, provider-package, and the anthropic, bedrock, gemini, mistral, openai-chat, openai-responses, meta, cloudflare, zai, and openrouter provider tests, including the recorded cases this sync touched: 726 pass, 24 skippackages/core: aisdk, aisdk-native, tool-registry, session-compaction, session-compaction-transport, plugin session-remove, form, session-title, session-runner: 375 passpackages/pluginhost resolve: 9 passpackages/claude-plugin: 21 passpackages/plugin-browserrpc: 37 passpackages/desktopbrowser-errors: 5 passpackages/session-ui: timeline rows, projection, and markdown session links: 66 passpackages/app(solid condition + happydom): composer schema/request, comment-note, browser connection, notification alert, new-session project selector: 37 passSession-ui and app Playwright component/e2e specs were not run here.
Screenshots / recordings
N/A. No fork UI layout change.
Checklist