opencode-cmd-provider 1.6.3 → 1.6.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/CHANGELOG.md +34 -0
- package/README.md +44 -5
- package/dist/src/catalog/classification.d.ts +1 -1
- package/dist/src/catalog/classification.js +1 -1
- package/dist/src/catalog/facts.d.ts +4 -4
- package/dist/src/catalog/facts.js +10 -4
- package/dist/src/deals/catalog.d.ts +1 -1
- package/dist/src/deals/catalog.js +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,37 @@
|
|
|
1
|
+
## 1.6.5 - 2026-09-04
|
|
2
|
+
|
|
3
|
+
Automated catalog refresh.
|
|
4
|
+
|
|
5
|
+
## 1.6.4 - 2026-09-03
|
|
6
|
+
|
|
7
|
+
### Model catalog
|
|
8
|
+
|
|
9
|
+
## Model catalog
|
|
10
|
+
|
|
11
|
+
- **FACTS_LAST_REFRESHED**: `2026-09-02` → `2026-09-03`
|
|
12
|
+
|
|
13
|
+
| Model | Change | Before | After |
|
|
14
|
+
| --------------------------------- | ------- | ------ | ------------------------ |
|
|
15
|
+
| `meta/muse-spark-1.1` | efforts | — | low, medium, high, xhigh |
|
|
16
|
+
| `meta/muse-spark-1.2` | efforts | — | low, medium, high, xhigh |
|
|
17
|
+
| `meta/muse-spark-1.2-contributor` | efforts | — | low, medium, high, xhigh |
|
|
18
|
+
| `meta/muse-spark-1.3` | efforts | — | low, medium, high, xhigh |
|
|
19
|
+
| `meta/muse-spark-1.3-contributor` | efforts | — | low, medium, high, xhigh |
|
|
20
|
+
|
|
21
|
+
### Reasoning classification
|
|
22
|
+
|
|
23
|
+
## Reasoning classification
|
|
24
|
+
|
|
25
|
+
- **CLASSIFICATION_LAST_REFRESHED**: `2026-09-02` → `2026-09-03`
|
|
26
|
+
|
|
27
|
+
| Model | Change | Before | After |
|
|
28
|
+
| --------------------------------- | -------------- | ------------------------- | ---------------------------------------- |
|
|
29
|
+
| `meta/muse-spark-1.1` | classification | reasoning-without-efforts | efforts model (low, medium, high, xhigh) |
|
|
30
|
+
| `meta/muse-spark-1.2` | classification | reasoning-without-efforts | efforts model (low, medium, high, xhigh) |
|
|
31
|
+
| `meta/muse-spark-1.2-contributor` | classification | reasoning-without-efforts | efforts model (low, medium, high, xhigh) |
|
|
32
|
+
| `meta/muse-spark-1.3` | classification | reasoning-without-efforts | efforts model (low, medium, high, xhigh) |
|
|
33
|
+
| `meta/muse-spark-1.3-contributor` | classification | reasoning-without-efforts | efforts model (low, medium, high, xhigh) |
|
|
34
|
+
|
|
1
35
|
## 1.6.3 - 2026-09-02
|
|
2
36
|
|
|
3
37
|
### Model catalog
|
package/README.md
CHANGED
|
@@ -13,12 +13,17 @@ A provider and plugin for [OpenCode](https://opencode.ai) that connects to the [
|
|
|
13
13
|
opencode plugin opencode-cmd-provider
|
|
14
14
|
```
|
|
15
15
|
|
|
16
|
-
Update an existing install
|
|
16
|
+
Update an existing install — OpenCode caches the plugin package and reuses it
|
|
17
|
+
on every startup without checking for a newer version, so updating means
|
|
18
|
+
deleting the cache:
|
|
17
19
|
|
|
18
20
|
```sh
|
|
19
|
-
|
|
21
|
+
rm -rf ~/.cache/opencode/packages/opencode-cmd-provider*
|
|
20
22
|
```
|
|
21
23
|
|
|
24
|
+
Restart OpenCode afterwards. The plugin is re-downloaded, so that first launch
|
|
25
|
+
takes a little longer than usual; subsequent startups are fast again.
|
|
26
|
+
|
|
22
27
|
Install globally (available in every project):
|
|
23
28
|
|
|
24
29
|
```sh
|
|
@@ -117,7 +122,9 @@ Delivery is zero-step: the package exports both a `server` and a `tui` target
|
|
|
117
122
|
opencode-cmd-provider` writes both `opencode.json(c)` and `tui.json` from one
|
|
118
123
|
spec. The sidebar is a TUI plugin loaded from `tui.json` — which is why
|
|
119
124
|
installs made before the `./tui` export only wrote the server target and never
|
|
120
|
-
showed a sidebar. Re-run
|
|
125
|
+
showed a sidebar. Re-run `opencode plugin opencode-cmd-provider --force` to add
|
|
126
|
+
`tui.json` (this only rewrites the config entry — see
|
|
127
|
+
[Update and remove](#update-and-remove) for refreshing the cached package).
|
|
121
128
|
|
|
122
129
|
When the Deals catalog is empty (the upstream fetch failed or the RSC shape
|
|
123
130
|
changed), the feature degrades visibly rather than silently: the sidebar shows
|
|
@@ -135,7 +142,9 @@ paid model (e.g. the MiniMax M3 free tier) get a `(free)` suffix —
|
|
|
135
142
|
`[CMD] MiniMax M3 (free)` — so the two are distinguishable in the model
|
|
136
143
|
picker. The suffix is derived from the bundled pricing table: a model is
|
|
137
144
|
labeled free only when the catalog carries an explicit zero-cost entry. Model
|
|
138
|
-
availability changes when the package is updated
|
|
145
|
+
availability changes when the package is updated — but note that OpenCode's
|
|
146
|
+
plugin cache can hold a stale copy after a release if new models don't appear
|
|
147
|
+
(see [Update and remove](#update-and-remove)). You can still declare your
|
|
139
148
|
own `provider.commandcode` entry; your declarations always win and the
|
|
140
149
|
snapshot fills in only what's missing (`whitelist`/`blacklist` on a declared
|
|
141
150
|
entry filter the auto-registered models too).
|
|
@@ -232,7 +241,37 @@ Models missing from that table display zero cost in OpenCode. This does **not**
|
|
|
232
241
|
|
|
233
242
|
## Update and remove
|
|
234
243
|
|
|
235
|
-
|
|
244
|
+
### Updating
|
|
245
|
+
|
|
246
|
+
OpenCode caches the plugin package (`~/.cache/opencode/packages/`) and reuses
|
|
247
|
+
the cached copy on every startup without checking for a newer version — so a
|
|
248
|
+
new release won't appear until you delete the cache:
|
|
249
|
+
|
|
250
|
+
```sh
|
|
251
|
+
rm -rf ~/.cache/opencode/packages/opencode-cmd-provider*
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Then restart OpenCode. The plugin is re-downloaded, so that first launch takes
|
|
255
|
+
a little longer than usual; subsequent startups are fast again. If new Command
|
|
256
|
+
Code models stop appearing in `/models` after a release, a stale cache entry is
|
|
257
|
+
the most likely cause.
|
|
258
|
+
|
|
259
|
+
- **OpenChamber users:** click **Reload OpenCode** in OpenChamber's settings
|
|
260
|
+
instead of restarting manually — the running OpenCode server keeps the old
|
|
261
|
+
plugin loaded until it is restarted.
|
|
262
|
+
- **No re-authentication needed.** Your API key is stored by OpenCode's
|
|
263
|
+
`/connect` flow in OpenCode's auth store (and mirrored to
|
|
264
|
+
`~/.commandcode/auth.json`), not inside the plugin package — the plugin reads
|
|
265
|
+
it from there (or the `COMMANDCODE_API_KEY` env var) at request time, so
|
|
266
|
+
deleting the plugin cache does not affect your login.
|
|
267
|
+
|
|
268
|
+
### Removing
|
|
269
|
+
|
|
270
|
+
Remove it from the `plugin` array in your `opencode.json` (the auto-registered
|
|
271
|
+
`provider.commandcode` entry is injected by the plugin, so there is no config
|
|
272
|
+
block to remove). The npm package is cached under OpenCode's plugin cache
|
|
273
|
+
(`~/.cache/opencode/packages/`); remove the cached directory to fully
|
|
274
|
+
uninstall.
|
|
236
275
|
|
|
237
276
|
## Development
|
|
238
277
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const CLASSIFICATION_SOURCE_URLS: ReadonlyArray<string>;
|
|
2
|
-
export declare const CLASSIFICATION_LAST_REFRESHED = "2026-09-
|
|
2
|
+
export declare const CLASSIFICATION_LAST_REFRESHED = "2026-09-04";
|
|
3
3
|
export declare const CLASSIFICATION_OVERRIDES: Readonly<Record<string, {
|
|
4
4
|
capability: boolean;
|
|
5
5
|
justification: string;
|
|
@@ -13,7 +13,7 @@ export const CLASSIFICATION_SOURCE_URLS = [
|
|
|
13
13
|
"https://commandcode.ai/docs/plans/goat",
|
|
14
14
|
"https://commandcode.ai/docs/plans/pro",
|
|
15
15
|
];
|
|
16
|
-
export const CLASSIFICATION_LAST_REFRESHED = "2026-09-
|
|
16
|
+
export const CLASSIFICATION_LAST_REFRESHED = "2026-09-04";
|
|
17
17
|
// Active capability overrides. Empty = upstream data is truth.
|
|
18
18
|
// Every entry requires a written justification naming the upstream
|
|
19
19
|
// disagreement; entries are rendered into the refresh PR body.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export declare const FACTS_SOURCE_URL = "https://unpkg.com/command-code@1.
|
|
2
|
-
export declare const MODALITIES_SOURCE_URL = "https://unpkg.com/command-code@1.
|
|
3
|
-
export declare const FACTS_PACKAGE_VERSION = "1.
|
|
4
|
-
export declare const FACTS_LAST_REFRESHED = "2026-09-
|
|
1
|
+
export declare const FACTS_SOURCE_URL = "https://unpkg.com/command-code@1.47.0/dist/bundled/command-code-knowledge/reference/models.md";
|
|
2
|
+
export declare const MODALITIES_SOURCE_URL = "https://unpkg.com/command-code@1.47.0/dist/cli.mjs";
|
|
3
|
+
export declare const FACTS_PACKAGE_VERSION = "1.47.0";
|
|
4
|
+
export declare const FACTS_LAST_REFRESHED = "2026-09-04";
|
|
5
5
|
export declare const MODEL_EFFORTS: Readonly<Record<string, readonly string[]>>;
|
|
6
6
|
export declare const MODEL_COSTS: Readonly<Record<string, {
|
|
7
7
|
input: number;
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
// command-code npm package's bundled model catalog (models.md), plus input
|
|
5
5
|
// modalities parsed from its CLI bundle (dist/cli.mjs). Regenerate
|
|
6
6
|
// with `npm run refresh:snapshot`.
|
|
7
|
-
export const FACTS_SOURCE_URL = "https://unpkg.com/command-code@1.
|
|
8
|
-
export const MODALITIES_SOURCE_URL = "https://unpkg.com/command-code@1.
|
|
9
|
-
export const FACTS_PACKAGE_VERSION = "1.
|
|
10
|
-
export const FACTS_LAST_REFRESHED = "2026-09-
|
|
7
|
+
export const FACTS_SOURCE_URL = "https://unpkg.com/command-code@1.47.0/dist/bundled/command-code-knowledge/reference/models.md";
|
|
8
|
+
export const MODALITIES_SOURCE_URL = "https://unpkg.com/command-code@1.47.0/dist/cli.mjs";
|
|
9
|
+
export const FACTS_PACKAGE_VERSION = "1.47.0";
|
|
10
|
+
export const FACTS_LAST_REFRESHED = "2026-09-04";
|
|
11
11
|
export const MODEL_EFFORTS = {
|
|
12
12
|
"deepseek/deepseek-v4-pro": ["high", "max"],
|
|
13
13
|
"deepseek/deepseek-v4-flash": ["high", "max"],
|
|
@@ -43,6 +43,11 @@ export const MODEL_EFFORTS = {
|
|
|
43
43
|
"google/gemini-3.5-flash-lite": ["low", "medium", "high"],
|
|
44
44
|
"google/gemini-3.1-flash-lite": ["low", "medium", "high"],
|
|
45
45
|
"sakana/fugu-ultra": ["high", "xhigh"],
|
|
46
|
+
"meta/muse-spark-1.1": ["low", "medium", "high", "xhigh"],
|
|
47
|
+
"meta/muse-spark-1.2": ["low", "medium", "high", "xhigh"],
|
|
48
|
+
"meta/muse-spark-1.2-contributor": ["low", "medium", "high", "xhigh"],
|
|
49
|
+
"meta/muse-spark-1.3": ["low", "medium", "high", "xhigh"],
|
|
50
|
+
"meta/muse-spark-1.3-contributor": ["low", "medium", "high", "xhigh"],
|
|
46
51
|
"xai/grok-4.5": ["low", "medium", "high"],
|
|
47
52
|
"xai/grok-4.6": ["low", "medium", "high", "xhigh"],
|
|
48
53
|
};
|
|
@@ -161,6 +166,7 @@ export const MODEL_INPUT_MODALITIES = {
|
|
|
161
166
|
"thinkingmachines/inkling": ["text", "image"],
|
|
162
167
|
"thinkingmachines/inkling-small": ["text", "image"],
|
|
163
168
|
"xai/grok-4.5": ["text", "image"],
|
|
169
|
+
"xai/grok-4.6": ["text", "image"],
|
|
164
170
|
"xiaomi/mimo-v2.5": ["text", "image"],
|
|
165
171
|
"z-ai/glm-5.3-flash": ["text", "image"],
|
|
166
172
|
};
|
|
@@ -51,5 +51,5 @@ export interface ModelDeals {
|
|
|
51
51
|
export declare const MODEL_DEALS: Readonly<Record<string, ModelDeals>>;
|
|
52
52
|
export declare const PLAN_CATALOG: Readonly<Record<PlanId, PlanInfo>>;
|
|
53
53
|
export declare const DEAL_SOURCE_URL = "https://commandcode.ai/docs/resources/pricing-limits";
|
|
54
|
-
export declare const DEAL_LAST_REFRESHED = "2026-09-
|
|
54
|
+
export declare const DEAL_LAST_REFRESHED = "2026-09-04";
|
|
55
55
|
export declare const DEAL_PACKAGE_VERSION = "docs";
|
|
@@ -83,5 +83,5 @@ export const PLAN_CATALOG = {
|
|
|
83
83
|
provider: { price: 15, credits: 0, window5h: 0, windowWeek: 0, display: "Provider" },
|
|
84
84
|
};
|
|
85
85
|
export const DEAL_SOURCE_URL = "https://commandcode.ai/docs/resources/pricing-limits";
|
|
86
|
-
export const DEAL_LAST_REFRESHED = "2026-09-
|
|
86
|
+
export const DEAL_LAST_REFRESHED = "2026-09-04";
|
|
87
87
|
export const DEAL_PACKAGE_VERSION = "docs";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-cmd-provider",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.5",
|
|
4
4
|
"description": "Command Code provider + plugin for opencode",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"refresh:classification": "node scripts/refresh-classification.mjs",
|
|
24
24
|
"refresh": "npm run refresh:snapshot && npm run refresh:fixtures && npm run refresh:classification -- --fixtures && npm run refresh:deals -- --fixtures",
|
|
25
25
|
"test": "npm run typecheck && npm run test:unit && npm run test:integration && npm run test:contract && npm run format:check",
|
|
26
|
-
"test:unit": "tsx tests/env.test.ts && tsx tests/auth-key.test.ts && tsx tests/converters.test.ts && tsx tests/stream.test.ts && tsx tests/provider-codecs.test.ts && tsx tests/provider-transport.test.ts && tsx tests/provider-parity.test.ts && tsx tests/provider-upgrade-fallback.test.ts && tsx tests/provider-zdr.test.ts && tsx tests/redact.test.ts && tsx tests/cost.test.ts && tsx tests/retry.test.ts && tsx tests/reasoning.test.ts && tsx tests/modalities.test.ts && tsx tests/snapshot.test.ts && tsx tests/refresh-snapshot.test.ts && tsx tests/oauth.test.ts && tsx tests/auth-mirror.test.ts && tsx tests/parse-facts.test.ts && tsx tests/parse-modalities.test.ts && tsx tests/catalog-metadata.test.ts && tsx tests/plugin-models.test.ts && tsx tests/vendor.test.ts && tsx tests/deals-enrichment.test.ts && tsx tests/deals-coverage.test.ts && tsx tests/plan-summary.test.ts && tsx tests/html-tables.test.ts && tsx tests/parse-docs.test.ts && tsx tests/parse-rsc.test.ts && tsx tests/rsc-source.test.ts && tsx tests/classification-overrides.test.ts && tsx tests/refresh-classification.test.ts && tsx tests/classification.test.ts && tsx tests/mock-cc-rsc.test.ts && tsx tests/capture-rsc-fixtures.test.ts && tsx tests/refresh-deals.test.ts && tsx tests/refresh-deals-rsc.test.ts && tsx tests/tier-overrides.test.ts && tsx tests/tui-deals-panel.test.ts && tsx tests/diff-catalog.test.ts && tsx tests/catalog-refresh-extract.test.ts && tsx tests/catalog-refresh-drift.test.ts && tsx tests/catalog-refresh-push.test.ts && tsx tests/auto-release.test.ts && tsx tests/replay-verification.test.ts && tsx tests/plugin-install.test.ts",
|
|
26
|
+
"test:unit": "tsx tests/env.test.ts && tsx tests/auth-key.test.ts && tsx tests/converters.test.ts && tsx tests/stream.test.ts && tsx tests/provider-codecs.test.ts && tsx tests/provider-transport.test.ts && tsx tests/provider-parity.test.ts && tsx tests/provider-upgrade-fallback.test.ts && tsx tests/provider-zdr.test.ts && tsx tests/redact.test.ts && tsx tests/cost.test.ts && tsx tests/retry.test.ts && tsx tests/reasoning.test.ts && tsx tests/modalities.test.ts && tsx tests/snapshot.test.ts && tsx tests/refresh-snapshot.test.ts && tsx tests/oauth.test.ts && tsx tests/auth-mirror.test.ts && tsx tests/parse-facts.test.ts && tsx tests/parse-modalities.test.ts && tsx tests/catalog-metadata.test.ts && tsx tests/plugin-models.test.ts && tsx tests/vendor.test.ts && tsx tests/deals-enrichment.test.ts && tsx tests/deals-coverage.test.ts && tsx tests/plan-summary.test.ts && tsx tests/html-tables.test.ts && tsx tests/parse-docs.test.ts && tsx tests/parse-rsc.test.ts && tsx tests/rsc-source.test.ts && tsx tests/classification-overrides.test.ts && tsx tests/refresh-classification.test.ts && tsx tests/classification.test.ts && tsx tests/no-upstream-value-pins.test.ts && tsx tests/mock-cc-rsc.test.ts && tsx tests/capture-rsc-fixtures.test.ts && tsx tests/refresh-deals.test.ts && tsx tests/refresh-deals-rsc.test.ts && tsx tests/tier-overrides.test.ts && tsx tests/tui-deals-panel.test.ts && tsx tests/diff-catalog.test.ts && tsx tests/catalog-refresh-extract.test.ts && tsx tests/catalog-refresh-drift.test.ts && tsx tests/catalog-refresh-push.test.ts && tsx tests/auto-release.test.ts && tsx tests/replay-verification.test.ts && tsx tests/plugin-install.test.ts",
|
|
27
27
|
"test:integration": "tsx tests/integration-do-stream.test.ts && tsx tests/integration-do-generate.test.ts",
|
|
28
28
|
"test:contract": "tsx tests/contract.test.ts",
|
|
29
29
|
"test:e2e": "node tests/e2e-opencode.mjs",
|