Skip to content

chore: upgrade OpenCode and oo CLI runtimes - #294

Merged
alwaysmavs merged 3 commits into
mainfrom
codex/upgrade-cli-runtimes
Aug 1, 2026
Merged

chore: upgrade OpenCode and oo CLI runtimes#294
alwaysmavs merged 3 commits into
mainfrom
codex/upgrade-cli-runtimes

Conversation

@alwaysmavs

Copy link
Copy Markdown
Contributor

Summary

Upgrade Wanta's bundled agent runtimes to the current verified versions:

  • OpenCode from 1.18.5 to 1.18.10, including the matching SDK and provider package updates.
  • oo CLI from 1.5.1 to 1.7.1.
  • Migrate Wanta's OOMOL workspace selector from the removed --organization option to --team.

User impact and root cause

oo CLI 1.6.0 renamed the user-facing organization concept to team and removed the old --organization/--org command options. Wanta still generated the legacy option and persisted identity.organization, so upgrading the binary alone would make team-scoped connector inventory and action calls fail during argument parsing.

The OpenCode runtime was also behind the pinned SDK/runtime version. Keeping the binary, SDK, provider package, documentation, notices, and readiness assertions aligned avoids runtime/protocol drift in packaged and development builds.

Implementation

  • Pin oo CLI 1.7.1 as the single download source and refresh third-party/version documentation.
  • Generate --team <teamName> for OOMOL connector calls and raw CLI guidance.
  • Persist identity.team while recognizing and migrating an existing legacy identity.organization entry without disturbing neighboring TOML settings.
  • Keep OpenConnector endpoint-only: it receives neither OOMOL team selector.
  • Update focused tests for command generation, prompts, settings persistence, and legacy-key migration.
  • Upgrade OpenCode and @opencode-ai/sdk to 1.18.10 and align the OpenAI provider dependency and documentation.

Validation

  • corepack pnpm run lint
  • corepack pnpm run ts-check
  • corepack pnpm run format
  • corepack pnpm test — 283 files, 2,129 tests passed
  • corepack pnpm run build:app
  • corepack pnpm run prepare:binaries
  • Verified both development and packaged oo binaries report 1.7.1 (commit 5e89ed24).
  • Verified oo connector apps --help exposes --team and the removed --organization option is rejected.
  • Verified all four bundled oo Skills export successfully with zero failures.
  • Restarted the Electron development app and confirmed the Agent sidecar becomes ready.

@coderabbitai

coderabbitai Bot commented Aug 1, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6afeb364-3807-4a0a-8850-ffd733cfc2f2

📥 Commits

Reviewing files that changed from the base of the PR and between 0d74505 and 70dceec.

📒 Files selected for processing (5)
  • docs/architecture.md
  • docs/conventions.md
  • docs/openconnector-support-plan.md
  • electron/agent/agent.test.ts
  • scripts/open-source-readiness.test.ts
🚧 Files skipped from review as they are similar to previous changes (5)
  • scripts/open-source-readiness.test.ts
  • electron/agent/agent.test.ts
  • docs/architecture.md
  • docs/conventions.md
  • docs/openconnector-support-plan.md

Summary by CodeRabbit

  • Updates

    • Updated OpenCode and SDK versions to 1.18.10.
    • Updated the bundled oo CLI version to 1.7.1.
  • Improvements

    • Workspace and connector commands now use the --team selector.
    • Improved handling and migration of existing organization-based settings.
  • Documentation

    • Updated setup guidance, architecture notes, compatibility information, examples, and third-party notices across supported languages.

Walkthrough

The pull request updates OpenCode packages from 1.17.13 to 1.18.10 and the bundled oo-cli from 1.5.1 to 1.7.1. It synchronizes these versions across package metadata, tests, notices, and documentation. OOMOL workspace identity and connector commands now use team and --team. Legacy organization settings remain recognized for migration and removal. Tests and related documentation reflect the new identity contract.

Possibly related PRs

  • oomol-lab/wanta#277: Updates related OpenCode, SDK, CLI version references and team-scoped identity terminology.
🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title uses the required English format and accurately describes the runtime upgrades.
Description check ✅ Passed The description clearly covers the upgrade scope, implementation, validation results, and compatibility behavior, but omits the template's Safety and Compatibility section.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
✨ Simplify code
  • Create PR with simplified code
  • Commit simplified code in branch codex/upgrade-cli-runtimes

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

@alwaysmavs
alwaysmavs marked this pull request as ready for review August 1, 2026 13:46

@coderabbitai coderabbitai Bot 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: 3

🧹 Nitpick comments (2)
electron/agent/agent.test.ts (1)

661-667: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Assert that the obsolete selector is absent.

The current checks prove that --team appears. They also pass if --organization remains in the embedded source. Add negative assertions for search_actions.ts, list_apps.ts, and call_action.ts.

Proposed assertion additions
   assert.ok(AGENT_TOOL_FILES["search_actions.ts"]?.includes("--team"))
+  assert.doesNotMatch(AGENT_TOOL_FILES["search_actions.ts"] ?? "", /--organization/)
...
   assert.ok(AGENT_TOOL_FILES["list_apps.ts"]?.includes("--team"))
+  assert.doesNotMatch(AGENT_TOOL_FILES["list_apps.ts"] ?? "", /--organization/)
...
   assert.ok(AGENT_TOOL_FILES["call_action.ts"]?.includes("--team"))
+  assert.doesNotMatch(AGENT_TOOL_FILES["call_action.ts"] ?? "", /--organization/)

Also applies to: 686-686

🤖 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 `@electron/agent/agent.test.ts` around lines 661 - 667, Extend the
embedded-source assertions in the relevant test block to verify the obsolete
--organization selector is absent from search_actions.ts, list_apps.ts, and
call_action.ts. Keep the existing positive --team assertions and other checks
unchanged, using negative assertions against each file’s source content.
scripts/open-source-readiness.test.ts (1)

62-67: 🗄️ Data Integrity & Integration | 🔵 Trivial | ⚡ Quick win

Assert the runtime SDK pin in the manifest.

@opencode-ai/sdk is a runtime dependency in package.json:46 and is imported by electron/agent/sidecar.ts:1. This test checks the two development dependencies, then checks documentation for the SDK. It does not check the manifest's runtime SDK entry. A stale SDK pin could pass this test.

Proposed assertion
     expect(manifest.devDependencies?.["opencode-ai"]).toBe("1.18.10")
     expect(manifest.devDependencies?.["`@opencode-ai/plugin`"]).toBe("1.18.10")
+    expect(manifest.dependencies?.["`@opencode-ai/sdk`"]).toBe("1.18.10")
🤖 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 `@scripts/open-source-readiness.test.ts` around lines 62 - 67, Update the
manifest assertions in the open-source readiness test to also verify that the
runtime dependency `@opencode-ai/sdk` is pinned to 1.18.10, alongside the existing
devDependency checks. Keep the documentation and notices assertions unchanged.
🤖 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 `@docs/architecture.md`:
- Line 119: Update the architecture documentation’s description of
oo-identity.ts persistence to state that the team name is written to
identity.team. Describe identity.organization only as a legacy migration input,
not as the persisted output.

In `@docs/conventions.md`:
- Line 221: Update the documentation sentence around the `--team` guidance to
scope the selector explicitly to OOMOL commands: require OOMOL calls to pass
`--team`, and state that OpenConnector calls must omit both `--team` and
`--personal`.

In `@docs/openconnector-support-plan.md`:
- Around line 81-82: Update the current implementation-result statement in the
document to report the bundled oo CLI as version 1.7.1, while preserving 1.5.1
references that explicitly describe the pre-upgrade baseline.

---

Nitpick comments:
In `@electron/agent/agent.test.ts`:
- Around line 661-667: Extend the embedded-source assertions in the relevant
test block to verify the obsolete --organization selector is absent from
search_actions.ts, list_apps.ts, and call_action.ts. Keep the existing positive
--team assertions and other checks unchanged, using negative assertions against
each file’s source content.

In `@scripts/open-source-readiness.test.ts`:
- Around line 62-67: Update the manifest assertions in the open-source readiness
test to also verify that the runtime dependency `@opencode-ai/sdk` is pinned to
1.18.10, alongside the existing devDependency checks. Keep the documentation and
notices assertions unchanged.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2767788a-3237-48f0-87e5-128ec88d86f0

📥 Commits

Reviewing files that changed from the base of the PR and between 0b18d42 and 0d74505.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (24)
  • CONTRIBUTING.md
  • README.es.md
  • README.ja.md
  • README.ko.md
  • README.md
  • README.zh-CN.md
  • THIRD_PARTY_NOTICES.md
  • docs/architecture.md
  • docs/bug-report-command-optimization.md
  • docs/conventions.md
  • docs/key-decisions.md
  • docs/open-source-readiness-audit.md
  • docs/openconnector-support-plan.md
  • docs/project-overview.md
  • electron/agent/agent.test.ts
  • electron/agent/manager.test.ts
  • electron/agent/manager.ts
  • electron/agent/oo-identity.test.ts
  • electron/agent/oo-identity.ts
  • electron/agent/tool-sources.test.ts
  • electron/agent/tool-sources.ts
  • package.json
  • scripts/oo-cli.ts
  • scripts/open-source-readiness.test.ts

Comment thread docs/architecture.md
Comment thread docs/conventions.md Outdated
Comment thread docs/openconnector-support-plan.md
@alwaysmavs

Copy link
Copy Markdown
Contributor Author

Addressed the remaining CodeRabbit nitpicks in 70dceec: embedded Link-tool tests now assert that --organization is absent from all three relevant sources, and the open-source readiness contract now pins the runtime @opencode-ai/sdk dependency as well as the OpenCode development packages. Validation: ts-check, lint, format, and all 2,129 tests pass.

@alwaysmavs
alwaysmavs merged commit 0728e35 into main Aug 1, 2026
3 checks passed
@alwaysmavs
alwaysmavs deleted the codex/upgrade-cli-runtimes branch August 1, 2026 15:08
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.

1 participant