Skip to content

feat(providers): support model-level wire routing for OpenCode Go - #466

Draft
Pandakingxbc wants to merge 1 commit into
developfrom
feat/opencode-go-provider-protocols
Draft

feat(providers): support model-level wire routing for OpenCode Go#466
Pandakingxbc wants to merge 1 commit into
developfrom
feat/opencode-go-provider-protocols

Conversation

@Pandakingxbc

Copy link
Copy Markdown
Collaborator

Summary

  • Preserve model-level wire_api, endpoint, context, output, reasoning, modality, and provider-specific metadata across presets, admin/setup flows, CLI creation, persistence, and probes.
  • Route OpenCode Go models explicitly through OpenAI Chat Completions, OpenAI Responses, or Anthropic Messages while keeping one stable opencode-go Provider.
  • Keep legacy persisted OpenCode Go rows compatible without rewriting Provider credentials or production model selections.
  • Prevent Dashboard model edits from silently dropping hidden protocol/capability metadata.

Why

OpenCode Go exposes multiple wire protocols under one Provider. The previous Provider-level protocol field routed every model through the same adapter, so Responses and Anthropic models could be constructed or probed with the wrong API.

Dependency gate

This PR intentionally declares orcakit-harness-agent[all]>=0.9.28. That version is not published yet (PyPI currently exposes 0.9.27), so this PR remains draft and dependency CI may fail until the matching harness-agent release is available. After publication, uv.lock must be regenerated to resolve 0.9.28 before merge.

Verification

  • Provider/Factory/Preset/Probe unit tests: 34 passed.
  • Provider draft integration tests: 5 passed.
  • Changed Setup wire-metadata integration tests: 3 passed.
  • Dashboard focused tests: 3 passed.
  • Ruff and mypy passed for changed Python modules.
  • Dashboard TypeScript build and targeted Prettier check passed.

No database migration or persisted Provider/model/Cron mutation is included.

Closes #330

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