opencode-cmd-provider 1.6.0 → 1.6.1
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
CHANGED
|
@@ -1,5 +1,47 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.6.1 - 2026-08-29
|
|
4
|
+
|
|
5
|
+
Patch release. Catalog refresh to `command-code@1.38.1`, one catalog
|
|
6
|
+
classification re-pin, and two CI fixes for the daily catalog-refresh cron.
|
|
7
|
+
|
|
8
|
+
- **Catalog refresh** — snapshot + capability facts + RSC fixtures refreshed
|
|
9
|
+
to `command-code@1.38.1` (was 1.37.0). Net: 30 → 31 effort entries;
|
|
10
|
+
`tencent/hy4-preview` is the new row (Efforts column now lists
|
|
11
|
+
`low, medium, high`, was empty in 1.37.0). The 62 cost rows are unchanged.
|
|
12
|
+
The deals catalog is unaffected (the new model already had its RSC
|
|
13
|
+
availability + deal info in 1.37.0 fixtures). A follow-up 2026-08-29 cron
|
|
14
|
+
re-captured the RSC fixtures and refreshed `src/catalog/facts.ts` to
|
|
15
|
+
upstream's new values.
|
|
16
|
+
- **Catalog classification** — `tencent/hy4-preview` re-pinned to
|
|
17
|
+
`EFFORTS_MODELS` in `src/catalog/facts.ts`; the prior
|
|
18
|
+
`REASONING_MODELS` classification was a labelling error in 1.6.0 (upstream
|
|
19
|
+
advertises it as an effort-controlled model, not a reasoning model). The
|
|
20
|
+
matching unit-test pin was updated in lockstep.
|
|
21
|
+
- **CI: catalog-refresh heredoc** — `realpath` the relative `.ts` path
|
|
22
|
+
before the `npx tsx -e` heredoc in `.github/workflows/catalog-refresh.yml`.
|
|
23
|
+
The `after` loop passed a bare-relative path (e.g. `src/catalog/snapshot.ts`)
|
|
24
|
+
to the heredoc, which Node's ESM resolver parsed as a package name and
|
|
25
|
+
rejected with `ERR_MODULE_NOT_FOUND`. The `before` loop was unaffected
|
|
26
|
+
because it used `/tmp/...` absolute paths. Locked down with
|
|
27
|
+
`tests/catalog-refresh-extract.test.ts`.
|
|
28
|
+
- **CI: catalog-refresh push** — force-push the `catalog-refresh/${date}`
|
|
29
|
+
branch in `.github/workflows/catalog-refresh.yml`. Two consecutive cron
|
|
30
|
+
runs on the same day land sibling commits on `main`'s HEAD; `git push -u`
|
|
31
|
+
then rejects as non-fast-forward, leaving the cron stuck. `-fu` handles
|
|
32
|
+
both the partial-failure rerun and the fresh-branch case; the branch is
|
|
33
|
+
owned only by this workflow, so there's no clobber risk. The
|
|
34
|
+
`Open PR` step's `gh pr list --head X` already copes correctly with a
|
|
35
|
+
force-pushed tip. Locked down with
|
|
36
|
+
`tests/catalog-refresh-push.test.ts`.
|
|
37
|
+
- **Test fix for the push test** — `tests/catalog-refresh-push.test.ts`'s
|
|
38
|
+
verification `git ls-remote` previously ran from the outer project
|
|
39
|
+
CWD, so it resolved `origin` to GitHub rather than the test's local
|
|
40
|
+
bare remote. It passed only on the day the matching
|
|
41
|
+
`catalog-refresh/${date}` branch happened to exist on GitHub. Now
|
|
42
|
+
passes `-C repo.work` so the `origin` resolution is scoped to the
|
|
43
|
+
test fixture.
|
|
44
|
+
|
|
3
45
|
## 1.6.0 - 2026-08-28
|
|
4
46
|
|
|
5
47
|
### Deals pipeline: RSC-primary + daily catalog refresh cron
|
|
@@ -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-08-
|
|
1
|
+
export declare const FACTS_SOURCE_URL = "https://unpkg.com/command-code@1.38.2/dist/bundled/command-code-knowledge/reference/models.md";
|
|
2
|
+
export declare const MODALITIES_SOURCE_URL = "https://unpkg.com/command-code@1.38.2/dist/cli.mjs";
|
|
3
|
+
export declare const FACTS_PACKAGE_VERSION = "1.38.2";
|
|
4
|
+
export declare const FACTS_LAST_REFRESHED = "2026-08-29";
|
|
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-08-
|
|
7
|
+
export const FACTS_SOURCE_URL = "https://unpkg.com/command-code@1.38.2/dist/bundled/command-code-knowledge/reference/models.md";
|
|
8
|
+
export const MODALITIES_SOURCE_URL = "https://unpkg.com/command-code@1.38.2/dist/cli.mjs";
|
|
9
|
+
export const FACTS_PACKAGE_VERSION = "1.38.2";
|
|
10
|
+
export const FACTS_LAST_REFRESHED = "2026-08-29";
|
|
11
11
|
export const MODEL_EFFORTS = {
|
|
12
12
|
"deepseek/deepseek-v4-pro": ["high", "max"],
|
|
13
13
|
"deepseek/deepseek-v4-flash": ["high", "max"],
|
|
@@ -18,6 +18,7 @@ export const MODEL_EFFORTS = {
|
|
|
18
18
|
"Qwen/Qwen3.8-Max": ["low", "medium", "xhigh"],
|
|
19
19
|
"Qwen/Qwen3.8-27B": ["low", "medium", "xhigh"],
|
|
20
20
|
"Qwen/Qwen3.8-Flash": ["low", "medium", "xhigh"],
|
|
21
|
+
"tencent/hy4-preview": ["low", "medium", "high"],
|
|
21
22
|
"claude-sonnet-5": ["low", "medium", "high", "xhigh", "max"],
|
|
22
23
|
"claude-sonnet-4-6": ["low", "medium", "high", "xhigh", "max"],
|
|
23
24
|
"claude-fable-5": ["low", "medium", "high", "xhigh", "max"],
|
|
@@ -92,7 +93,7 @@ export const MODEL_COSTS = {
|
|
|
92
93
|
"gpt-5.4": { input: 2.5, output: 15, cacheRead: 0.25, cacheWrite: 0 },
|
|
93
94
|
"gpt-5.3-codex": { input: 2, output: 8, cacheRead: 0.5, cacheWrite: 0 },
|
|
94
95
|
"gpt-5.4-mini": { input: 0.75, output: 4.5, cacheRead: 0.075, cacheWrite: 0 },
|
|
95
|
-
"google/gemini-3.7-flash": { input:
|
|
96
|
+
"google/gemini-3.7-flash": { input: 1.5, output: 7.5, cacheRead: 0.15, cacheWrite: 0.08334 },
|
|
96
97
|
"google/gemini-3.6-flash": { input: 1.5, output: 7.5, cacheRead: 0.15, cacheWrite: 0 },
|
|
97
98
|
"google/gemini-3.5-flash": { input: 1.5, output: 9, cacheRead: 0.15, cacheWrite: 0 },
|
|
98
99
|
"google/gemini-3.5-flash-lite": { input: 0.3, output: 2.5, cacheRead: 0.03, cacheWrite: 0 },
|
|
@@ -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-08-
|
|
54
|
+
export declare const DEAL_LAST_REFRESHED = "2026-08-29";
|
|
55
55
|
export declare const DEAL_PACKAGE_VERSION = "docs";
|
|
@@ -78,5 +78,5 @@ export const PLAN_CATALOG = {
|
|
|
78
78
|
provider: { price: 15, credits: 0, window5h: 0, windowWeek: 0, display: "Provider" },
|
|
79
79
|
};
|
|
80
80
|
export const DEAL_SOURCE_URL = "https://commandcode.ai/docs/resources/pricing-limits";
|
|
81
|
-
export const DEAL_LAST_REFRESHED = "2026-08-
|
|
81
|
+
export const DEAL_LAST_REFRESHED = "2026-08-29";
|
|
82
82
|
export const DEAL_PACKAGE_VERSION = "docs";
|
|
@@ -37,8 +37,13 @@ export const REASONING_MODELS = new Set([
|
|
|
37
37
|
"poolside/laguna-s-2.1-free",
|
|
38
38
|
"stepfun/Step-3.7-Flash",
|
|
39
39
|
"tencent/hy3-paid",
|
|
40
|
-
//
|
|
41
|
-
|
|
40
|
+
// tencent/hy4-preview is reasoning-capable with explicit efforts
|
|
41
|
+
// (models.md lists `low, medium, high` since command-code@1.38.0,
|
|
42
|
+
// 2026-08-28) — it belongs in MODEL_EFFORTS, not here. Keeping it here
|
|
43
|
+
// would leave a snapshot model classified in both REASONING_MODELS and
|
|
44
|
+
// MODEL_EFFORTS, which breaks the dedicated
|
|
45
|
+
// `tencent/hy4-preview is an efforts model` pin in
|
|
46
|
+
// tests/catalog-metadata.test.ts.
|
|
42
47
|
"thinkingmachines/inkling",
|
|
43
48
|
"thinkingmachines/inkling-small",
|
|
44
49
|
]);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opencode-cmd-provider",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"description": "Command Code provider + plugin for opencode",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"refresh:deals": "node scripts/refresh-deals.mjs",
|
|
23
23
|
"refresh": "npm run refresh:snapshot && npm run refresh:fixtures && npm run refresh:deals -- --fixtures",
|
|
24
24
|
"test": "npm run typecheck && npm run test:unit && npm run test:integration && npm run test:contract && npm run format:check",
|
|
25
|
-
"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/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/plugin-install.test.ts",
|
|
25
|
+
"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/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-push.test.ts && tsx tests/plugin-install.test.ts",
|
|
26
26
|
"test:integration": "tsx tests/integration-do-stream.test.ts && tsx tests/integration-do-generate.test.ts",
|
|
27
27
|
"test:contract": "tsx tests/contract.test.ts",
|
|
28
28
|
"test:e2e": "node tests/e2e-opencode.mjs",
|