Skip to content

chore(deps): pin opencode CLI + SDK to v1.4.9#1471

Merged
benjaminshafii merged 2 commits into
devfrom
task/pin-opencode-v1.4.9
Apr 17, 2026
Merged

chore(deps): pin opencode CLI + SDK to v1.4.9#1471
benjaminshafii merged 2 commits into
devfrom
task/pin-opencode-v1.4.9

Conversation

@benjaminshafii
Copy link
Copy Markdown
Member

Summary

  • Bump the CI-pinned OpenCode CLI version from v1.2.27v1.4.9 in constants.json (single source of truth consumed by ci-tests.yml, build-desktop.yml, alpha-macos-aarch64.yml, prerelease.yml, release-macos-aarch64.yml, opencode-agents.yml).
  • Align @opencode-ai/sdk to 1.4.9 across apps/app, apps/story-book, apps/orchestrator, apps/opencode-router, apps/server-v2, and refresh the lockfile so every workspace resolves to a single version.
  • Adapt app code to the breaking SDK type changes between 1.1.31/1.2.27 and 1.4.9.

SDK type adaptations (commit 2)

Change Before (1.1/1.2) After (1.4.9)
Model.reasoning flat on Model moved into Model.capabilities.reasoning
Model.cost {input, output, cache_read, cache_write, context_over_200k} {input, output, cache: {read, write}, experimentalOver200K}
Provider loosely shaped now requires source: "env" | "config" | "custom" | "api" and options: {[key: string]: unknown}
Model.status "alpha" | "beta" | "deprecated" | undefined "alpha" | "beta" | "deprecated" | "active" (no undefined)
ProviderListResponse.all hand-mapped legacy shape now Array<Provider>, identical to the config response

Concrete code edits:

  • apps/app/src/app/context/model-config.ts, apps/app/src/app/lib/model-behavior.ts: read model.capabilities?.reasoning.
  • apps/app/src/app/utils/providers.ts: mapConfigProvidersToList collapses to a pass-through (input and output share the new Provider shape); kept for call-site stability and optional-field normalization.
  • apps/app/src/app/context/session.ts: cast c.session.todo() result to TodoItem[] (SDK Todo has no id, matching the existing cast at line 1850 for the todo.updated event).
  • apps/server-v2/src/runtime/assets.test.ts and apps/server-v2/src/services/runtime-service.test.ts: bump fixture strings from 1.2.27 to 1.4.9.

Verification

Check Result
pnpm --filter @openwork/app typecheck pass
pnpm --filter openwork-server-v2 typecheck pass
pnpm --filter opencode-router typecheck pass
pnpm --filter openwork-orchestrator typecheck pass
bun test in apps/server-v2 37 pass / 0 fail (280 expectations)

Story-book typecheck still fails, but all remaining errors are pre-existing on origin/dev (props drift in new-layout.tsx / story-book.tsx for importingWorkspaceConfig, AutomationsViewProps, DenSettingsPanelProps, etc., plus an unrelated ComposerNotice narrowing issue). Confirmed by running typecheck on a fresh origin/dev worktree before making any changes.

Not run

  • Full desktop/Tauri build — pin changes surface at CI time for real binaries; the app-level source changes are covered by the typechecks above.
  • Chrome MCP UI flow — no user-visible behavior change beyond the SDK version displayed in tooling; nothing in the user flow was re-wired.

Reviewer, to repro end-to-end:

cd apps/server-v2 && bun test
pnpm --filter @openwork/app --filter openwork-server-v2 --filter opencode-router --filter openwork-orchestrator typecheck

- Bump constants.json opencodeVersion v1.2.27 -> v1.4.9 (CI source of
  truth consumed by ci-tests, build-desktop, alpha/prerelease/release
  workflows, and opencode-agents).
- Bump @opencode-ai/sdk across app, story-book, orchestrator,
  opencode-router, server-v2, and refresh the lockfile so all workspaces
  resolve to 1.4.9.
- Move Model.reasoning reads to Model.capabilities.reasoning in
  model-config.ts and model-behavior.ts (SDK flattened capabilities).
- Simplify utils/providers.ts to a pass-through; Provider now carries
  source/options and Model.cost reshapes to {input, output, cache,
  experimentalOver200K}, which the mapper no longer needs to translate.
- Cast session.todo() result to TodoItem[] (SDK Todo has no id).
- Update server-v2 test fixtures from 1.2.27 to 1.4.9.
@vercel
Copy link
Copy Markdown
Contributor

vercel Bot commented Apr 17, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openwork-app Ready Ready Preview, Comment Apr 17, 2026 6:33pm
openwork-den Ready Ready Preview, Comment Apr 17, 2026 6:33pm
openwork-den-worker-proxy Ready Ready Preview, Comment Apr 17, 2026 6:33pm
openwork-landing Ready Ready Preview, Comment, Open in v0 Apr 17, 2026 6:33pm
openwork-share Ready Ready Preview, Comment Apr 17, 2026 6:33pm

@github-actions
Copy link
Copy Markdown
Contributor

The following comment was made by an LLM, it may be inaccurate:

@benjaminshafii benjaminshafii merged commit 7bb7e52 into dev Apr 17, 2026
15 checks passed
benjaminshafii added a commit that referenced this pull request May 15, 2026
* chore(deps): pin opencode CLI and SDK to v1.4.9

- Bump constants.json opencodeVersion v1.2.27 -> v1.4.9 (CI source of
  truth consumed by ci-tests, build-desktop, alpha/prerelease/release
  workflows, and opencode-agents).
- Bump @opencode-ai/sdk across app, story-book, orchestrator,
  opencode-router, server-v2, and refresh the lockfile so all workspaces
  resolve to 1.4.9.

* refactor(app): adapt to @opencode-ai/sdk 1.4.9 type changes

- Move Model.reasoning reads to Model.capabilities.reasoning in
  model-config.ts and model-behavior.ts (SDK flattened capabilities).
- Simplify utils/providers.ts to a pass-through; Provider now carries
  source/options and Model.cost reshapes to {input, output, cache,
  experimentalOver200K}, which the mapper no longer needs to translate.
- Cast session.todo() result to TodoItem[] (SDK Todo has no id).
- Update server-v2 test fixtures from 1.2.27 to 1.4.9.
benjaminshafii added a commit that referenced this pull request May 15, 2026
* chore(deps): pin opencode CLI and SDK to v1.4.9

- Bump constants.json opencodeVersion v1.2.27 -> v1.4.9 (CI source of
  truth consumed by ci-tests, build-desktop, alpha/prerelease/release
  workflows, and opencode-agents).
- Bump @opencode-ai/sdk across app, story-book, orchestrator,
  opencode-router, server-v2, and refresh the lockfile so all workspaces
  resolve to 1.4.9.

* refactor(app): adapt to @opencode-ai/sdk 1.4.9 type changes

- Move Model.reasoning reads to Model.capabilities.reasoning in
  model-config.ts and model-behavior.ts (SDK flattened capabilities).
- Simplify utils/providers.ts to a pass-through; Provider now carries
  source/options and Model.cost reshapes to {input, output, cache,
  experimentalOver200K}, which the mapper no longer needs to translate.
- Cast session.todo() result to TodoItem[] (SDK Todo has no id).
- Update server-v2 test fixtures from 1.2.27 to 1.4.9.
@benjaminshafii benjaminshafii deleted the task/pin-opencode-v1.4.9 branch May 15, 2026 17:39
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