singularity-forge/src/resources
Mikael Hugo 1b5348e28e
Some checks are pending
CI / detect-changes (push) Waiting to run
CI / docs-check (push) Blocked by required conditions
CI / lint (push) Blocked by required conditions
CI / build (push) Blocked by required conditions
CI / integration-tests (push) Blocked by required conditions
CI / windows-portability (push) Blocked by required conditions
CI / rtk-portability (linux, blacksmith-4vcpu-ubuntu-2404) (push) Blocked by required conditions
CI / rtk-portability (macos, macos-15) (push) Blocked by required conditions
CI / rtk-portability (windows, blacksmith-4vcpu-windows-2025) (push) Blocked by required conditions
feat(providers): live discovery for opencode, opencode-go, minimax
Three providers were missing from PROVIDER_CATALOG_CONFIG so their
model lists couldn't be auto-discovered. Their wire ids only existed
in packages/ai/src/models.generated.ts as hand-coded entries, meaning
new model variants from these providers required manual catalog edits.

Verified live endpoints respond to /v1/models with bearer auth:
- opencode      → https://opencode.ai/zen/v1/models      (6 free models)
- opencode-go   → https://opencode.ai/zen/go/v1/models   (15 models)
- minimax       → https://api.minimax.io/v1/models       (works)

Added entries:
  opencode:     baseUrl https://opencode.ai/zen, modelsPath /v1/models
  opencode-go:  baseUrl https://opencode.ai/zen/go, modelsPath /v1/models
  minimax:      baseUrl https://api.minimax.io, modelsPath /v1/models
                (international endpoint; Chinese-network api.minimaxi.com
                still handled separately in the SDK)

Auth keys already wired: OPENCODE_API_KEY, OPENCODE_GO_API_KEY (with
OPENCODE_API_KEY fallback), MINIMAX_API_KEY. No env-api-keys.ts changes.

Combined with 385e0b448 (dynamic canonicalIdFor resolver), new model
variants from these three providers will be auto-grouped in
.sf/model-performance.json without hand-editing CANONICAL_BY_ROUTE.

Live counts after fresh discovery will reveal experimental models
absent from static catalog (e.g. opencode's "big-pickle", opencode-go's
deepseek-v4-pro, mimo-v2.5-pro, hy3-preview). The model-router
tolerates unconventional wire IDs — no naming constraints.

To populate cache: rm -rf ~/.sf/runtime/model-catalog/ + relaunch sf.

Tests: 13 new in provider-catalog-discovery.test.mjs (catalog shape,
modelsPath presence, DISCOVERABLE_PROVIDER_IDS inclusion). Full suite
183 files / 1940 tests pass, zero regressions.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-15 14:19:08 +02:00
..
agent-overlays/singularity-forge
agents
extensions feat(providers): live discovery for opencode, opencode-go, minimax 2026-05-15 14:19:08 +02:00
skills/create-skill
workflow-skills
workflows
SF-WORKFLOW.md
traces.ts