Skip to content

feat(opencode): migrate OpenCode Manager to OpenCode 2 - #359

Merged
chriswritescode-dev merged 5 commits into
mainfrom
feat/opencode-v2-migration
Sep 26, 2026
Merged

chriswritescode-dev merged 5 commits into
mainfrom
feat/opencode-v2-migration

Conversation

@chriswritescode-dev

Copy link
Copy Markdown
Owner

Problem

OpenCode Manager ran on the OpenCode 1.x API surface. OpenCode 2 changes three things that reach every part of the manager: a new plugin API ({ id, setup(ctx) }), a new /api/* server contract with a different session, message, and event model, and different install and config behavior (the server password is always required, config.json is no longer read, and binaries are published at opencode.ai/files/bin instead of GitHub releases). The V1 client, generated plugins, event aggregation, and config handling no longer work against a V2 server.

Fix

  • Adopt @opencode/[email protected] as the single typed V2 contract in shared, remove every @opencode-ai/* dependency, and require OpenCode 2.0.0 or newer (pinned 2.0.15). A 1.x binary is a non-recoverable startup error with an install hint.
  • Add a Manager-owned installer that downloads from opencode.ai/files/bin; the Docker image, entrypoint, version picker, and dev setup follow.
  • Always set the server password (a managed password is generated when none is configured), and remove OPENCODE_SERVER_USERNAME and OPENCODE_PUBLIC_URL.
  • Port the backend to V2: client and server lifecycle, health via /api/info, location-scoped requests via x-opencode-directory, event aggregation and reconnect replay, native restart resume, schedules, git worktrees, provider credentials and OAuth through V2 integrations, and MCP OAuth as a thin relay.
  • Rewrite the generated plugins as V2 { id, setup(ctx) } modules installed in opencode/plugins/; the sandbox plugin moves to shell hooks and the manager tool moves to the V2 tool API with a JSON Schema input.
  • Move the frontend to a single openCodeApi facade and a V2 session transcript projector; add V2 prompt, command, shell, interrupt, revert, and compact, plus permissions and forms and models/providers/agents; remove LSP and the todo pipeline.
  • Update the ocm CLI to attach via opencode --server through a repo-scoped proxy and to move sessions with V2 export/import.
  • Read config from opencode.json/opencode.jsonc only and fold a legacy config.json automatically.
  • Delete every V1-only code path and update the docs.

Testing

  • pnpm typecheck: exit 0.
  • pnpm lint: exit 0 (40 pre-existing no-explicit-any warnings in backend/src/routes/repos.test.ts).
  • pnpm test: CLI 239, backend 2337, frontend 1358 tests pass (262 files).

Port the backend lifecycle, generated plugins, event aggregation,
schedules, worktrees, provider credentials, MCP, config handling, the
frontend chat model, and the ocm CLI to OpenCode 2.

Adopt @opencode/client 2.0.15 as the single typed V2 API contract,
require OpenCode 2.0.0 or newer (pinned 2.0.15), and delete every
V1-only code path.
@gitguardian

gitguardian Bot commented Sep 24, 2026

Copy link
Copy Markdown

⚠️ GitGuardian has uncovered 2 secrets following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secrets in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
36510015 Triggered Generic Password 7351d5f backend/test/services/opencode-sandbox-plugin.test.ts View secret
37573527 Triggered Generic Password 7351d5f backend/test/services/opencode-single-server.test.ts View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secrets safely. Learn here the best practices.
  3. Revoke and rotate these secrets.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 381 files, which is 231 over the limit of 150.

To get a review, reduce the PR to 150 files or fewer by splitting it into smaller PRs or changing its base branch.

Upgrade to a paid plan to raise the limit.

Usage-priced reviews support at most 300 files.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Advanced

Run ID: 888991ef-9434-4eb2-a3c6-8d46e145f488

📥 Commits

Reviewing files that changed from the base of the PR and between 6c2ebd7 and eff10d7.

⛔ Files ignored due to path filters (2)
  • frontend/package-lock.json is excluded by !**/package-lock.json
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (381)
  • .env.example
  • .github/workflows/docker-build.yml
  • .github/workflows/publish-ocm-cli.yml
  • AGENTS.md
  • Dockerfile
  • README.md
  • backend/src/db/migrations/021-drop-schedule-run-workspace-id.ts
  • backend/src/db/migrations/index.ts
  • backend/src/db/schedules.ts
  • backend/src/index.ts
  • backend/src/routes/health.ts
  • backend/src/routes/internal/assistant.ts
  • backend/src/routes/mcp-oauth-proxy.ts
  • backend/src/routes/oauth.test.ts
  • backend/src/routes/oauth.ts
  • backend/src/routes/opencode-config.ts
  • backend/src/routes/opencode-proxy.ts
  • backend/src/routes/providers.test.ts
  • backend/src/routes/providers.ts
  • backend/src/routes/repos.test.ts
  • backend/src/routes/repos.ts
  • backend/src/routes/schedules.ts
  • backend/src/routes/settings.test.ts
  • backend/src/routes/settings.ts
  • backend/src/services/assistant-mode.ts
  • backend/src/services/auth.ts
  • backend/src/services/mcp-oauth-state.ts
  • backend/src/services/notification.ts
  • backend/src/services/opencode-config-apply.ts
  • backend/src/services/opencode-config-file.ts
  • backend/src/services/opencode-gh-env-plugin.ts
  • backend/src/services/opencode-home.ts
  • backend/src/services/opencode-import.ts
  • backend/src/services/opencode-installer.ts
  • backend/src/services/opencode-manager-tool-plugin.ts
  • backend/src/services/opencode-models.ts
  • backend/src/services/opencode-plugin-quarantine.ts
  • backend/src/services/opencode-restart-coordinator.test.ts
  • backend/src/services/opencode-restart-coordinator.ts
  • backend/src/services/opencode-restart.ts
  • backend/src/services/opencode-sandbox-plugin.ts
  • backend/src/services/opencode-service-mode.ts
  • backend/src/services/opencode-single-server.ts
  • backend/src/services/opencode/auth.ts
  • backend/src/services/opencode/client.ts
  • backend/src/services/opencode/integration-ready.ts
  • backend/src/services/opencode/plugin-registry.ts
  • backend/src/services/opencode/upstream.ts
  • backend/src/services/repo.ts
  • backend/src/services/sandbox/shell-shim.ts
  • backend/src/services/schedule-worktree.ts
  • backend/src/services/schedules.ts
  • backend/src/services/settings.ts
  • backend/src/services/skills.ts
  • backend/src/services/sse-aggregator.ts
  • backend/src/utils/crypto.ts
  • backend/src/utils/route-helpers.ts
  • backend/src/utils/version-utils.ts
  • backend/test/db/schedule-migrations.test.ts
  • backend/test/db/schedules.test.ts
  • backend/test/helpers/opencode-binary.test.ts
  • backend/test/helpers/opencode-binary.ts
  • backend/test/helpers/opencode-plugin-context.ts
  • backend/test/helpers/stub-opencode-client.ts
  • backend/test/helpers/stub-schedule-api.ts
  • backend/test/index.test.ts
  • backend/test/integration/opencode-config-reload.test.ts
  • backend/test/integration/opencode-service-resume.test.ts
  • backend/test/integration/provider-credential-refresh.test.ts
  • backend/test/integration/ssh-integration.test.ts
  • backend/test/routes/health.test.ts
  • backend/test/routes/internal-assistant.test.ts
  • backend/test/routes/internal-opencode-config.test.ts
  • backend/test/routes/internal-opencode-workspaces.test.ts
  • backend/test/routes/mcp-oauth-proxy.test.ts
  • backend/test/routes/opencode-auth-proxy.test.ts
  • backend/test/routes/opencode-proxy.test.ts
  • backend/test/routes/repos.test.ts
  • backend/test/routes/settings-opencode-auth.test.ts
  • backend/test/routes/settings-skills-install.test.ts
  • backend/test/routes/settings.test.ts
  • backend/test/scripts/docker-entrypoint.test.ts
  • backend/test/services/assistant-mode.test.ts
  • backend/test/services/auth.test.ts
  • backend/test/services/git-auth.test.ts
  • backend/test/services/mcp-oauth-state.test.ts
  • backend/test/services/notification-format.test.ts
  • backend/test/services/notification-service.test.ts
  • backend/test/services/opencode-config-apply.test.ts
  • backend/test/services/opencode-config-file.test.ts
  • backend/test/services/opencode-config-provider-schema.test.ts
  • backend/test/services/opencode-gh-env-plugin.test.ts
  • backend/test/services/opencode-import.test.ts
  • backend/test/services/opencode-installer.test.ts
  • backend/test/services/opencode-manager-tool-plugin.test.ts
  • backend/test/services/opencode-models.test.ts
  • backend/test/services/opencode-plugin-registry.test.ts
  • backend/test/services/opencode-restart.test.ts
  • backend/test/services/opencode-sandbox-plugin.test.ts
  • backend/test/services/opencode-service-mode.test.ts
  • backend/test/services/opencode-single-server.test.ts
  • backend/test/services/opencode-supervisor.test.ts
  • backend/test/services/opencode/client.test.ts
  • backend/test/services/opencode/integration-ready.test.ts
  • backend/test/services/opencode/upstream.test.ts
  • backend/test/services/repo-git.test.ts
  • backend/test/services/repo-worktree.test.ts
  • backend/test/services/repo.test.ts
  • backend/test/services/sandbox/config.test.ts
  • backend/test/services/sandbox/shell-shim.test.ts
  • backend/test/services/schedule-permissions.test.ts
  • backend/test/services/schedule-worktree.test.ts
  • backend/test/services/schedules.permission.test.ts
  • backend/test/services/schedules.test.ts
  • backend/test/services/skills.test.ts
  • backend/test/services/sse-aggregator.test.ts
  • backend/test/shared/opencode-contract.test.ts
  • backend/test/shared/opencode-mcp.test.ts
  • backend/test/shared/opencode-model-ref.test.ts
  • backend/test/shared/semver.test.ts
  • backend/test/utils/crypto.test.ts
  • backend/test/utils/ssh-key-manager.test.ts
  • docs/configuration/docker.md
  • docs/configuration/environment.md
  • docs/development/setup.md
  • docs/features/assistant-internal-api.md
  • docs/features/assistant-mode.md
  • docs/features/mcp.md
  • docs/features/notifications.md
  • docs/features/overview.md
  • docs/features/sandboxing.md
  • docs/features/schedules.md
  • docs/features/server-health.md
  • docs/getting-started/installation.md
  • docs/index.md
  • docs/ocm-cli.md
  • frontend/package.json
  • frontend/src/App.tsx
  • frontend/src/api/mcp.ts
  • frontend/src/api/oauth.ts
  • frontend/src/api/opencode-spec.json
  • frontend/src/api/opencode-types.ts
  • frontend/src/api/opencode.test.ts
  • frontend/src/api/opencode.ts
  • frontend/src/api/opencodeApi.ts
  • frontend/src/api/providers.test.ts
  • frontend/src/api/providers.ts
  • frontend/src/api/repos.ts
  • frontend/src/api/settings.ts
  • frontend/src/api/types.ts
  • frontend/src/api/types/settings.ts
  • frontend/src/components/agent/AgentQuickSelect.tsx
  • frontend/src/components/command/CommandSuggestions.tsx
  • frontend/src/components/message/EditableUserMessage.tsx
  • frontend/src/components/message/FileToolRender.tsx
  • frontend/src/components/message/MessageError.tsx
  • frontend/src/components/message/MessagePart.test.tsx
  • frontend/src/components/message/MessagePart.tsx
  • frontend/src/components/message/MessageThread.test.tsx
  • frontend/src/components/message/MessageThread.tsx
  • frontend/src/components/message/PatchPart.tsx
  • frontend/src/components/message/PromptInput.command.test.tsx
  • frontend/src/components/message/PromptInput.mention.test.tsx
  • frontend/src/components/message/PromptInput.stt.test.tsx
  • frontend/src/components/message/PromptInput.tsx
  • frontend/src/components/message/RetryPart.tsx
  • frontend/src/components/message/SessionTodoDisplay.test.tsx
  • frontend/src/components/message/SessionTodoDisplay.tsx
  • frontend/src/components/message/StepFileChanges.test.tsx
  • frontend/src/components/message/StepFileChanges.tsx
  • frontend/src/components/message/TextPart.tsx
  • frontend/src/components/message/TodoItem.tsx
  • frontend/src/components/message/ToolCallPart.test.tsx
  • frontend/src/components/message/ToolCallPart.tsx
  • frontend/src/components/message/UserMessageActionButtons.tsx
  • frontend/src/components/model/ApiKeyDialog.test.tsx
  • frontend/src/components/model/ApiKeyDialog.tsx
  • frontend/src/components/model/ModelQuickSelect.tsx
  • frontend/src/components/model/ModelSelectDialog.tsx
  • frontend/src/components/navigation/MoreDrawer.tsx
  • frontend/src/components/navigation/NotificationsSheet.test.tsx
  • frontend/src/components/navigation/NotificationsSheet.tsx
  • frontend/src/components/navigation/moreDrawerItems.test.ts
  • frontend/src/components/navigation/moreDrawerItems.ts
  • frontend/src/components/notifications/PendingActionsGroup.tsx
  • frontend/src/components/repo/RepoLspDialog.tsx
  • frontend/src/components/repo/RepoLspServerList.test.tsx
  • frontend/src/components/repo/RepoLspServerList.tsx
  • frontend/src/components/repo/RepoMcpDialog.tsx
  • frontend/src/components/repo/RepoMcpServerList.tsx
  • frontend/src/components/repo/RepoSkillsDialog.test.tsx
  • frontend/src/components/repo/RepoSkillsDialog.tsx
  • frontend/src/components/repo/WorkspaceManager.tsx
  • frontend/src/components/repo/WorktreeTabs.test.tsx
  • frontend/src/components/schedules/PromptTab.tsx
  • frontend/src/components/schedules/ScheduleJobDialog.assistant.test.tsx
  • frontend/src/components/schedules/ScheduleJobDialog.loading.test.tsx
  • frontend/src/components/schedules/ScheduleJobDialog.model.test.tsx
  • frontend/src/components/schedules/ScheduleJobDialog.permissions.test.tsx
  • frontend/src/components/schedules/ScheduleJobDialog.providers.test.tsx
  • frontend/src/components/schedules/ScheduleJobDialog.tsx
  • frontend/src/components/session/ContextUsageIndicator.tsx
  • frontend/src/components/session/FormPrompt.test.tsx
  • frontend/src/components/session/FormPrompt.tsx
  • frontend/src/components/session/MinimizedFormIndicator.tsx
  • frontend/src/components/session/PermissionRequestDialog.test.tsx
  • frontend/src/components/session/PermissionRequestDialog.tsx
  • frontend/src/components/session/QuestionPrompt.tsx
  • frontend/src/components/session/SessionList.test.tsx
  • frontend/src/components/session/SessionList.tsx
  • frontend/src/components/session/SessionSendErrorBanner.test.tsx
  • frontend/src/components/session/session-partition.test.ts
  • frontend/src/components/session/session-partition.ts
  • frontend/src/components/settings/AddMcpServerDialog.test.tsx
  • frontend/src/components/settings/AddMcpServerDialog.tsx
  • frontend/src/components/settings/AgentDialog.test.tsx
  • frontend/src/components/settings/AgentDialog.tsx
  • frontend/src/components/settings/AgentsMdEditor.test.tsx
  • frontend/src/components/settings/AgentsMdEditor.tsx
  • frontend/src/components/settings/McpManager.test.tsx
  • frontend/src/components/settings/McpManager.tsx
  • frontend/src/components/settings/McpOAuthDialog.tsx
  • frontend/src/components/settings/McpServerCard.test.tsx
  • frontend/src/components/settings/McpServerCard.tsx
  • frontend/src/components/settings/McpStatusBadge.tsx
  • frontend/src/components/settings/OAuthAuthorizeDialog.tsx
  • frontend/src/components/settings/OAuthCallbackDialog.tsx
  • frontend/src/components/settings/OpenCodeConfigEditor.test.tsx
  • frontend/src/components/settings/OpenCodeConfigManager.test.tsx
  • frontend/src/components/settings/OpenCodeConfigManager.tsx
  • frontend/src/components/settings/OpenCodeServerAuthSettings.tsx
  • frontend/src/components/settings/ProviderAuthField.tsx
  • frontend/src/components/settings/ProviderSettings.test.tsx
  • frontend/src/components/settings/ProviderSettings.tsx
  • frontend/src/components/settings/RestartServerDialog.test.tsx
  • frontend/src/components/settings/RestartServerDialog.tsx
  • frontend/src/components/settings/ServerEnvVarsSettings.test.tsx
  • frontend/src/components/settings/ServerEnvVarsSettings.tsx
  • frontend/src/components/settings/VersionSelectDialog.test.tsx
  • frontend/src/components/settings/VersionSelectDialog.tsx
  • frontend/src/components/ui/external-field-card.tsx
  • frontend/src/components/ui/route-error-boundary.tsx
  • frontend/src/contexts/EventContext.test.tsx
  • frontend/src/contexts/EventContext.tsx
  • frontend/src/hooks/__tests__/useAutoPlayLastResponse.test.tsx
  • frontend/src/hooks/__tests__/useCommandHandler.test.tsx
  • frontend/src/hooks/__tests__/useLoadSkill.test.tsx
  • frontend/src/hooks/__tests__/useMessages.fallback.test.tsx
  • frontend/src/hooks/useAutoPlayLastResponse.ts
  • frontend/src/hooks/useAutoScroll.test.tsx
  • frontend/src/hooks/useAutoScroll.ts
  • frontend/src/hooks/useCommandHandler.ts
  • frontend/src/hooks/useCommands.test.tsx
  • frontend/src/hooks/useCommands.ts
  • frontend/src/hooks/useContextUsage.ts
  • frontend/src/hooks/useFileSearch.ts
  • frontend/src/hooks/useKeyboardShortcuts.ts
  • frontend/src/hooks/useLSPStatus.test.tsx
  • frontend/src/hooks/useLSPStatus.ts
  • frontend/src/hooks/useMcpServers.test.tsx
  • frontend/src/hooks/useMcpServers.ts
  • frontend/src/hooks/useModelSelection.test.tsx
  • frontend/src/hooks/useModelSelection.ts
  • frontend/src/hooks/useOpenCode.test.tsx
  • frontend/src/hooks/useOpenCode.ts
  • frontend/src/hooks/useOpenCodeApplyFeedback.test.ts
  • frontend/src/hooks/useOpenCodeApplyFeedback.ts
  • frontend/src/hooks/useOpenCodeServerActions.test.ts
  • frontend/src/hooks/useProviderAuthMethods.ts
  • frontend/src/hooks/useProviders.ts
  • frontend/src/hooks/useRemoveMessage.test.ts
  • frontend/src/hooks/useRemoveMessage.ts
  • frontend/src/hooks/useRepoSiblings.ts
  • frontend/src/hooks/useSSE.test.tsx
  • frontend/src/hooks/useSSE.ts
  • frontend/src/hooks/useSendPrompt.test.ts
  • frontend/src/hooks/useServerHealth.ts
  • frontend/src/hooks/useSessionAgent.test.tsx
  • frontend/src/hooks/useSessionAgent.ts
  • frontend/src/hooks/useSessionTranscript.test.tsx
  • frontend/src/hooks/useSessionTranscript.ts
  • frontend/src/hooks/useUndoMessage.ts
  • frontend/src/hooks/useVariants.ts
  • frontend/src/lib/exportSession.ts
  • frontend/src/lib/formFields.test.ts
  • frontend/src/lib/formFields.ts
  • frontend/src/lib/mcp.ts
  • frontend/src/lib/oauthErrors.test.ts
  • frontend/src/lib/oauthErrors.ts
  • frontend/src/lib/opencode-errors.ts
  • frontend/src/lib/opencode-event-stream/__tests__/openCodeEventStream.test.ts
  • frontend/src/lib/opencode-event-stream/browserTransport.ts
  • frontend/src/lib/opencode-event-stream/openCodeEventStream.ts
  • frontend/src/lib/opencode-event-stream/testTransport.ts
  • frontend/src/lib/opencode-event-stream/types.ts
  • frontend/src/lib/partsBatcher.test.ts
  • frontend/src/lib/partsBatcher.ts
  • frontend/src/lib/promptParser.ts
  • frontend/src/lib/queryInvalidation.test.ts
  • frontend/src/lib/queryInvalidation.ts
  • frontend/src/lib/sendErrorReconcile.ts
  • frontend/src/lib/session-projection/applySessionEvent.test.ts
  • frontend/src/lib/session-projection/applySessionEvent.ts
  • frontend/src/lib/session-projection/index.ts
  • frontend/src/pages/AssistantRedirect.tsx
  • frontend/src/pages/RepoDetail.tsx
  • frontend/src/pages/SessionDetail.tsx
  • frontend/src/pages/__tests__/SessionDetail.assistant-loading.test.tsx
  • frontend/src/pages/__tests__/SessionDetail.contentVersion.test.ts
  • frontend/src/pages/__tests__/SessionDetail.export.test.tsx
  • frontend/src/pages/__tests__/SessionDetail.form-prompt.test.tsx
  • frontend/src/pages/__tests__/SessionDetail.polling.test.tsx
  • frontend/src/pages/__tests__/SessionDetail.scroll-floating.test.tsx
  • frontend/src/pages/__tests__/SessionDetail.todo-header.test.tsx
  • frontend/src/pages/sessionContentVersion.ts
  • frontend/src/stores/modelStore.test.ts
  • frontend/src/stores/modelStore.ts
  • frontend/src/stores/sendErrorStore.test.ts
  • frontend/src/stores/sendErrorStore.ts
  • frontend/src/stores/sessionTodosStore.ts
  • frontend/src/stores/uiStateStore.ts
  • frontend/src/sw.test.ts
  • frontend/src/sw.ts
  • frontend/src/test/fixtures/session-projection.ts
  • ocm-cli/README.md
  • ocm-cli/bin/ocm.ts
  • ocm-cli/package.json
  • ocm-cli/scripts/build.ts
  • ocm-cli/scripts/install.sh
  • ocm-cli/src/delay.ts
  • ocm-cli/src/json-store.ts
  • ocm-cli/src/local-history.ts
  • ocm-cli/src/mirror.ts
  • ocm-cli/src/move-progress.ts
  • ocm-cli/src/remote-replay.ts
  • ocm-cli/src/remote-session.ts
  • ocm-cli/src/repo-proxy.ts
  • ocm-cli/src/session-move.ts
  • ocm-cli/src/state.ts
  • ocm-cli/src/tui-dialogs.ts
  • ocm-cli/src/tui-plugin.ts
  • ocm-cli/src/tui-types.ts
  • ocm-cli/src/tui.tsx
  • ocm-cli/src/vendor-install.ts
  • ocm-cli/src/warp.ts
  • ocm-cli/test/local-history.test.ts
  • ocm-cli/test/move-progress.test.ts
  • ocm-cli/test/remote-replay.test.ts
  • ocm-cli/test/remote-session.test.ts
  • ocm-cli/test/repo-proxy.test.ts
  • ocm-cli/test/session-move.test.ts
  • ocm-cli/test/state.test.ts
  • ocm-cli/test/tui-dialogs.test.ts
  • ocm-cli/test/tui-plugin.test.ts
  • ocm-cli/test/vendor-install.test.ts
  • ocm-cli/test/warp.test.ts
  • package.json
  • scripts/docker-entrypoint.sh
  • scripts/generate-openapi.ts
  • scripts/lib/opencode-release.sh
  • scripts/setup-dev.sh
  • shared/package.json
  • shared/src/config/defaults.ts
  • shared/src/config/env.ts
  • shared/src/notifications/format.ts
  • shared/src/opencode/content.ts
  • shared/src/opencode/index.ts
  • shared/src/opencode/mcp.ts
  • shared/src/opencode/modelRef.ts
  • shared/src/opencode/release.ts
  • shared/src/schemas/auth.ts
  • shared/src/schemas/notifications.ts
  • shared/src/schemas/opencode-target.ts
  • shared/src/schemas/schedule.ts
  • shared/src/schemas/settings.ts
  • shared/src/schemas/sse.ts
  • shared/src/types/index.ts
  • shared/src/types/opencode-target.ts
  • shared/src/utils/index.ts
  • shared/src/utils/repo.ts
  • shared/src/utils/semver.ts

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


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

…shims

Route config/skill/AGENTS.md changes through the OpenCode location reload
API instead of a full server restart, stop auto-resuming interrupted
sessions, remove the restart coordinator and v1 MCP/version shims, and pin
support to OpenCode >=2.0.15 <3.0.0. Adds integration-ready retries,
service-mode launch, ocm-cli repo proxy, and new frontend form/MCP helpers.
…ll, proxy, and session flows

- extract shared semver and model-ref utilities, reuse across version checks
- share the OpenCode release download script across Docker, entrypoint, dev setup
- unify install/upgrade failure recovery and guard externally managed OPENCODE_BIN
- scope the repo proxy location rewrite and surface ocm proxy errors
- rework frontend session projection, permission lookup, and cache invalidation
@chriswritescode-dev
chriswritescode-dev merged commit dacde87 into main Sep 26, 2026
2 checks passed
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