@bman654/clodex 2.18.3 → 2.18.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +57 -30
- package/dist/cli.js.map +1 -1
- package/docs/opencode-go.md +4 -4
- package/package.json +1 -1
package/docs/opencode-go.md
CHANGED
|
@@ -16,15 +16,15 @@ The provider uses one credential with three upstream wire protocols:
|
|
|
16
16
|
|
|
17
17
|
- Anthropic Messages models are passed through to `https://opencode.ai/zen/go/v1/messages`.
|
|
18
18
|
- OpenAI Chat Completions models are translated through the OpenAI-compatible SDK at `https://opencode.ai/zen/go/v1/chat/completions`.
|
|
19
|
-
- OpenAI Responses models are translated through the OpenAI SDK at `https://opencode.ai/zen/go/v1/responses`. Go serves
|
|
19
|
+
- OpenAI Responses models are translated through the OpenAI SDK at `https://opencode.ai/zen/go/v1/responses`. Go serves GPT-6 Luna and the Muse Spark contributor models on this endpoint only; GPT-6 Luna returns `ModelProtocolUnsupported` on Chat Completions and Messages.
|
|
20
20
|
|
|
21
21
|
The selective proxy diverts only explicit `clodex:opencode-go:...` model ids or saved aliases. Ordinary Claude model traffic remains on Claude Code's native Anthropic connection.
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
The Messages and Chat Completions endpoints require an `x-opencode-session` header and answer `MissingSessionID` without one; the Responses endpoint has not been probed without it. Clodex sends Claude Code's own session id on every Go request — proxy mode, the API server's `/anthropic/v1/messages`, and both branches of its `/openai/v1/chat/completions` — so Go can keep a conversation on one backend. A request with no client session id gets one stable per-process id instead. Note what that fallback means for a shared `clodex server`: every session-less client of one server process presents the same id to Go, which lets Go correlate those requests with each other. It discloses no content, and a header is required either way, so the alternative would be a fresh id per request and no prefix-cache locality at all.
|
|
24
24
|
|
|
25
25
|
## Supported transport scope
|
|
26
26
|
|
|
27
|
-
A model reaches the catalog only once its transport has been verified against the live endpoint; any id the updater cannot map is reported and left out. Grok and
|
|
27
|
+
A model reaches the catalog only once its transport has been verified against the live endpoint; any id the updater cannot map is reported and left out. Grok and GPT models other than GPT-5.6 Luna and GPT-6 Luna are still absent on that basis. Responses-API models are no longer excluded as a class — a catalog entry says so by carrying the `@ai-sdk/openai` package, which is what routes it to `/v1/responses`. The provider record itself still names `@ai-sdk/openai-compatible`, and model discovery and refresh continue to refuse any other package for it.
|
|
28
28
|
|
|
29
29
|
Live `/models` results are treated as availability data. Clodex layers its committed catalog over those results to supply the correct protocol, endpoint, context window, modalities, pricing, and compatibility behavior per model. Models absent from the committed allowlist are hidden even when the live endpoint advertises them.
|
|
30
30
|
|
|
@@ -36,6 +36,6 @@ The committed catalog is generated directly from OpenCode's own catalog service
|
|
|
36
36
|
pnpm update:opencode-go
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
The updater takes per-model metadata (name, context window, cost, modalities) from models.dev and merges it with the transport map and compatibility patches maintained in `scripts/update-opencode-go-models.mjs` — models.dev does not publish wire transports, and per-model routing is live-validated clodex knowledge. Only transport-mapped ids enter the catalog; new models on models.dev are reported as unmapped so their transport can be verified against the live endpoint before they ship. The script records the fetch time in `OPENCODE_GO_SOURCE_FETCHED_AT`.
|
|
39
|
+
The updater takes per-model metadata (name, context window, base cost, modalities) from models.dev and merges it with the transport map and compatibility patches maintained in `scripts/update-opencode-go-models.mjs` — models.dev does not publish wire transports, and per-model routing is live-validated clodex knowledge. Higher-rate pricing boundaries, such as GPT-6 Luna's at 272,000 tokens, are curated from OpenCode Go's own pricing table; models.dev publishes the same tier, but the updater does not read pricing tiers from the feed. Only transport-mapped ids enter the catalog; new models on models.dev are reported as unmapped so their transport can be verified against the live endpoint before they ship. The script records the fetch time in `OPENCODE_GO_SOURCE_FETCHED_AT`.
|
|
40
40
|
|
|
41
41
|
Review catalog, pricing, endpoint, and compatibility changes before committing generated output. In particular, a model changing between Anthropic Messages, Chat Completions, and Responses is a routing change rather than a cosmetic catalog refresh.
|