Skip to content

deps: bump @opencode/codemode to 2.2.7 - #7

Merged
hyein-cbio merged 2 commits into
mainfrom
deps/opencode-codemode-2.2.7
Nov 10, 2026
Merged

hyein-cbio merged 2 commits into
mainfrom
deps/opencode-codemode-2.2.7

Conversation

@cursor

@cursor cursor Bot commented Nov 10, 2026

Copy link
Copy Markdown

Summary

Bump the exact @opencode/codemode pin from 2.2.6 to 2.2.7. Effect stays 4.1.0 and Acorn stays 8.15.0, matching the published exact dependencies. The default engine remains the legacy interpreter. engine: "vm", Tool.idempotent, Tool.durable, and extension snapshot hooks are not enabled.

2.2.7 passes each legacy execute a <runId>:<callId> idempotency key. This bridge still forwards only the decoded input to Pi, counts each admitted call once, and does not store the key. for...in and require behavior is unchanged and stays rejected before runtime construction or host effects.

  • Starting main: 7bf2f4c7ff4102a86edef55b56b39504b1dfd21b
  • Tested revision: 770c79767b4775add7c3ab2e2298bc3bc2c05aa3
  • No older open dependency PRs. No existing PR for 2.2.7.

Artifacts

Registry https://registry.npmjs.org/. npm view @opencode/codemode dist-tags.latest --json --prefer-online returned "2.2.7" at 2026-11-10T15:01:02Z (exact stable semver; semver 7.8.6 compare("2.2.7", "2.2.6") === 1; no prerelease). Published 2026-11-10T10:31:48.196Z. The published package has no gitHead, engines, peerDependencies, or peerDependenciesMeta. Repository: git+https://github.com/anomalyco/opencode.git (packages/codemode).

Package Version Tarball Integrity
@opencode/codemode (old) 2.2.6 https://registry.npmjs.org/@opencode/codemode/-/codemode-2.2.6.tgz sha512-pOV+PwhZbcVySVgKY29LThmdhVSkx/HC3/A+a9KbrhZx/sgxQTXMXthu6P/hWCcER5hGKiGU6g8P7m6bV/kKMg==
@opencode/codemode (new) 2.2.7 https://registry.npmjs.org/@opencode/codemode/-/codemode-2.2.7.tgz sha512-O5SEXzL2MimhIsIJ644YVFYjBHN20KMdjuWXkFMOeUG1VZ2eEd360YubUiUbzr6SzUEQM6Jy+IkHVg2zGDR+QA==
effect 4.1.0 https://registry.npmjs.org/effect/-/effect-4.1.0.tgz sha512-lGx2MJJyrXA8RZb2UpQ/0Nkb5Utaimby7oD92+18noBxLPE85IFOvptdzau8dvcxAOwfwHo9iqapbKeFzqQM/Q==

Both tarballs were integrity-checked and extracted with path-escape rejection. The lockfile diff is only the CodeMode version, tarball, and integrity. One Effect module is loaded by the extension and by CodeMode.

There is no package gitHead. The published package diff is the comparison baseline. The v2.2.7 notes do not describe this package's runtime change.

Effect

2.2.7 depends on effect exactly 4.1.0, the same exact dependency as 2.2.6. The extension pin stays 4.1.0 so both sides share one Effect runtime. It is not widened and not upgraded past the published dependency. Acorn stays the shared exact 8.15.0. Pi/TUI peer ranges and the Node >=22.19.0 engine stay unchanged. The default lockfile host remains Pi/TUI 1.5.0.

Change-to-test map

  1. Legacy execute(input, { key }) (dist/tool.js, dist/tool-runtime.js). A plain tool is not tagged idempotent or durable. One run shares a UUID and assigns :0, :1, …. toolCalls stay { name } and maxToolCalls still counts every admission. The extension's execute ignores the extra argument, so Pi receives only the decoded input and stored call records stay name / args / status / durationMs. New assertion: legacy host calls receive an idempotency key without changing input or call accounting. A direct probe of 2.2.6 saw context omitted; no production change was required, so there is no fail-before/pass-after of a source fix.
  2. CodeMode hook payload includes key; hooked gains an optional detach flag. This extension does not pass CodeMode hooks. Existing Pi permission/result hook and nested-call tests still cover the public host path. VM detach behavior is out of scope.
  3. Default runtime stays legacy. CodeMode.make without engine still exposes only catalog and execute. Existing program / resume absence assertions still apply. VM ProgramOptions, durable/idempotent suspend, and extension snapshot hooks are out of scope and not enabled.
  4. for...in and require / dynamic import() are unchanged in the published interpreter sources. Existing preflight, no-host-effects, and installed-runtime probes still apply. Direct comparison of the two artifacts reproduced the same key lists and the same require("crypto") / import("url") results. The allowlist is not expanded.
  5. Interruption moved from runner.js to callback.js with the same stated semantics. Existing early-return, race-loser, cancellation, and literal deadline tests cover it. A direct Promise.race probe still aborted the loser (start, then abort) on both versions.
  6. Export condition order (types before import) and the new ProgramOptions type export do not change the ESM entry. Out of scope beyond confirming the installed entry still loads.

Verification

Local scope only. Linux 6.12.113+ x86_64. CodeMode 2.2.7, Effect 4.1.0, one shared Effect instance, Acorn 8.15.0. PI_OPENCODE_UPSTREAM_VERSION and PI_OPENCODE_TEST_VERSION were unset. PI_OPENCODE_SDK was set only to the isolated install under test. Scripted assistant stream; no live model API.

Command Node Exit Result
npm ci --ignore-scripts in a fresh copy v22.23.4 0 CodeMode 2.2.7, Effect 4.1.0, Acorn 8.15.0, Pi/TUI 1.5.0, one Effect path
npm test (no PI_OPENCODE_SDK) v22.23.4 0 tests 105, pass 104, fail 0, skipped 1 (SDK session)
PI_OPENCODE_SDK=$PWD/node_modules/@earendil-works/pi-coding-agent npm test v22.23.4 0 tests 116, pass 116, fail 0, skipped 0; Actual SDK 1.5.0
npm run test:pi-versions v22.19.0 0 parent tests 3, pass 3, fail 0, skipped 0. Inner 116/116/0 skip on Pi/TUI 0.99.0, 1.3.0, 1.4.0
npm run test:pi-versions v22.23.4 0 parent tests 3, pass 3, fail 0, skipped 0. Inner 116/116/0 skip on the same three Pi/TUI pairs
npm run test:pi-versions v24.22.1 0 parent tests 3, pass 3, fail 0, skipped 0. Inner 116/116/0 skip on the same three Pi/TUI pairs
npm pack --dry-run --json v22.23.4 0 pi-opencode-mode-0.2.0.tgz, 11 files. No lockfile, node_modules, or secrets
git diff --check 0 clean

Parent matrix counts are the 3 Pi cells. Inner-suite counts are the 116-test npm test runs. The literal deadline probe still runs inside each SDK suite. The clean-copy harness audits the default Pi/TUI 1.5.0 tree before installing each older pair.

Verified for that local Node/OS/Pi/TUI scope. Pending: hosted Modal CI (Node 22.19.0 and 24.x × Pi 0.99.0, 1.3.0, 1.4.0) has not run on 770c79767b4775add7c3ab2e2298bc3bc2c05aa3. macOS was not exercised. No live-provider run and no new benchmark.

Docs

README compatibility text, the Unreleased changelog entry, and the current TESTING baseline now name CodeMode 2.2.7. Effect stays 4.1.0. Historical changelog entries, the published 0.2.0 section, and dated verification records still name the versions they measured.

Open in Web View Automation 

Keep Effect 4.1.0 and Acorn 8.15.0. The legacy engine now passes an
idempotency key into plain tool execute; the Pi bridge still forwards only
decoded input. for...in and require stay rejected.

Co-authored-by: hyein.sophia.cho <hyein.sophia.cho@gmail.com>
@coderabbitai

coderabbitai Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration

  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Repository UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 4f56c394-1343-4441-aeb1-6f3d72a058df

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔍 Devin Review: 1 flag

Not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)

Devin Review

@hyein-cbio
hyein-cbio merged commit 495d174 into main Nov 10, 2026
3 checks passed
@hyein-cbio
hyein-cbio deleted the deps/opencode-codemode-2.2.7 branch November 10, 2026 15:46
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