Repository navigation
feat(llm): add guarded OpenCode SDK and free-model support - #57
Merged
Merged
Conversation
# Conflicts: # server/locale_test.go
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.
Adds an opt-in
opencode-sdkprovider for native OpenCode CLI/client/SDK 2.1.4 and the separately tested legacy CLI /@opencode-ai/sdk/v21.19.4 pair. ScopeWeaver keeps conversation state, tool execution, approvals, scope checks and usage accounting; the isolated loopback bridge streams one model step and captures tool requests.Refs #49.
Behavior
opencode-sdkto the profile-format database CHECK constraint. Existing profile values remain; downgrade preparation is documented. Only disposable databases were migrated during verification.Release packaging — 2026-10-26
7982c2afixes a concrete archive omission: the SDK setup documentation referencedadapters/opencode-sdk, but release ZIPs only copied the agent adapter. The release builder now includes SDK package.json, bun.lock, all six README editions, src and test. It excludes local node_modules, .env/provider configuration and runtime state.The existing real packaging-path fixture was extended first: RED exit 1 (missing SDK README), then GREEN exit 0 for six languages × five targets = 30 fixture ZIPs. Required SDK payload, notices, unchanged fixture executables, document content, exclusion sentinels and checksums all pass. Shell syntax and parent diff review pass. These fixture executables are packaging proof, not platform runtime proof. Go/web/SDK runtime source and dependency pins are unchanged by this commit.
Dependency remediation — 2026-10-26
Candidate
11def12preserves the existing SDK implementation and runtime pins. It merges current devd5ce498with the previous PR headb9781b2(the only tree difference is HANDOFF.md), then changes only the SDK package manifest and Bun lockfile:Fresh offline verification on Bun 1.3.14: frozen install PASS; syntax check PASS; actual-runtime loopback fixtures 62 tests / 324 assertions / 0 failures; independent diff review PASS. The initial sandbox run was 59/3 because ps was blocked (EPERM); the same baseline and patched tests both pass 62/0 with process visibility. No real provider request or historical diagnostic rerun was performed.
Audit moved from three reported packages to zod only, still exit 1. Current-head hosted checks and the maintainer's final human check remain required. This update is not risk acceptance or release approval.
Prior candidate verification (before dependency remediation)
opencode/deepseek-v4.1-flash-free: UI connection/save/activation, pending host Bash approval before file effect, one reviewed approval, exactFREE_OKfile and visible final reply. Three real inference requests, each captured withmax_tokens: 1024, retries disabled, no paid fallback, imported accounts, model fixtures or identity spoofing.Limits and release risks
zod3.25.76 / 4.1.8 retain high advisory GHSA-mrhx-c7xc-m3w5. The current upstream core 2.1.4 pins 4.1.8, and even the latest GitLab provider 6.23.1 still requires zod 3. No global zod major override or advisory suppression was introduced. Verified compatible fixes or an explicit release-owner risk disposition are still required. Package audit does not inspect compiled vendor binaries; their unchanged hashes are identity evidence only.Final combined
devE2E,mainpromotion and the minor release are coordinated separately after all agent-owned work is integrated.