@mars-sea/dsh-commandcode-provider 0.15.2 → 0.15.4
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 +2 -2
- package/README.zh-CN.md +2 -2
- package/lib/client.js +1 -1
- package/lib/index.d.ts +4 -16
- package/lib/index.js +41 -65
- package/package.json +43 -43
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,40 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [0.15.4] - 2026-10-24
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- **同步 Command Code CLI `1.87.3` → `1.88.0`(纯请求头同步)。** `1.88.0` 于 `2026-10-24T02:55Z` 发布,官方变更日志还没有条目(最新 CLI 条目仍是 `1.87.3`),因此结论来自产物级静态比对:端点集合、自定义请求头、`/alpha/generate` 调用点、`promptCache` / `reasoning_effort` / `max_tokens` 字面量、模型注册表字段、推理档位、订阅表与 ZDR(零数据保留)例外集逐项相同(审计 `cliDiff` 的 efforts / subscriptions / zdrExceptions 三类全空);注册表唯一变化是 `xiaomi/mimo-v2.5` 与 `xiaomi/mimo-v2.5-pro` 增加 `hidden: true`,与 10-23 目录隐藏这两行一致。`COMMAND_CODE_CLI_VERSION` 只随请求头更新,运行时行为不变。
|
|
12
|
+
|
|
13
|
+
- **新增 `moonshotai/Kimi-K3.1-Pro`(服务端目录先行,CLI 产物尚未收录)。** `catalogVersion` 由 `02bfc7ac…` 变为 `f41a48ed…`,默认目录 92 → 93、`?view=client` 104 → 105,唯一新增行就是 Kimi K3.1 Pro:1,048,576 上下文、文本 + 图像、推理档位 `low` / `high` / `max`、最低计划 Go、`$2/$10/$0.2`、月度额度 Go `$6` / GOAT `$20` / Pro `$30`,无促销、无峰值时段、无上下文分档,ZDR 默认覆盖。官方 models 页、pricing 页与 go/goat/pro 计划页均已上架;`1.88.0` 的 CLI 注册表还没写这一行,审计把「absent from CLI registry」报成 error——能力字段以 `?view=client` 目录为准。快照随之 +1:`KNOWN_PLANS` 92 → 93、`KNOWN_EFFORTS` 65 → 66、`KNOWN_IMAGE_MODELS` 71 → 72、内置价格行 92 → 93;ZDR 例外集(18)、自动思考模型表(16)、输出上限表(79)、订阅表(9)、促销(4)与峰值定价(4)不变。
|
|
14
|
+
|
|
15
|
+
### Verification
|
|
16
|
+
|
|
17
|
+
- `npm run typecheck` 退出码 0;`npm test` **1107/1107** 通过、0 失败;`npm run build` 两段 `Build complete`,`lib/index.js` 与 `lib/index.d.ts` 已重建(含 `1.88.0` 与 `kimi-k3.1-pro`)。
|
|
18
|
+
- 上游公开 GET 采集 14 个源全部 HTTP 200;审计状态 `incomplete` 的 3 条 error 为 Kimi K3.1 Pro 不在 CLI 产物注册表,以及 MiniMax M3.1 Flash 与 Ornith 1.5 122B 的已知定价别名缺失,均非抓取失败。
|
|
19
|
+
- **未做**:真实账号登录、付费生成、服务端协议验证与浏览器渲染。
|
|
20
|
+
|
|
21
|
+
## [0.15.3] - 2026-10-24
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- **修复:本地 dsh 升到 `0.2.1-rc.3` 后插件被宿主禁用、使用不了。** 根因完全在声明面——宿主自 `0.2.1-alpha.4` 起判定插件兼容性时只读 `engines.dsh`,旧声明 `0.2.0-rc.2 || 0.2.1-rc.2` 不覆盖 `0.2.1-rc.3`,于是插件行被禁用、bundle 层被静默跳过、`dsh plugin add` 被拒;rc.3 相对 rc.2 没有任何插件使用的接口变化。
|
|
26
|
+
- **兼容声明从「裸版本析取」改为「同通道区间」:`>=0.2.1-rc.2 <0.2.2-0`。** `engines.dsh`、`dsh.compatibility.dsh` 与 15 个 peer/19 个开发依赖统一为该区间:`0.2.1` 通道中 `0.2.1-rc.2` 及以后的每个 RC(含未来的 `rc.4`)直接准入,下一个 minor 的预发布(`0.2.2-rc.*`)与正式版都被排除。**上界必须写 `<0.2.2-0`**:按 semver 优先级 `0.2.2-rc.1 < 0.2.2`,写成 `<0.2.2` 会放行下一个 minor 的 RC;`~0.2.1-rc.2` 等价于 `>=0.2.1-rc.2 <0.3.0`,同样错(node semver 实测)。代价明确接受:新 RC 自动准入,但仍要补进 `dshReleases` 才算验证过。
|
|
27
|
+
- **`dsh.compatibility.dshReleases` 保留两条实测记录**(`0.2.1-rc.2`、`0.2.1-rc.3`):准入由区间负责,记录只列跑过完整引擎矩阵的版本,并充当 `test:engine`/`test:install` 的矩阵来源。
|
|
28
|
+
- **`@deepseek-ai/cordis` / `@deepseek-ai/schemastery` 收敛为单分支 `~4.0.5` / `~3.18.5`。** rc.2 与 rc.3 的 vendor 实测都是这两个正式版,两代引擎配对相同;上一轮的 `~4.0.4 || ~4.0.5` / `~3.18.4 || ~3.18.5` 只为覆盖已退出 npm `latest` 的 `0.2.0-rc.2`。
|
|
29
|
+
- **删除 pre-rc.2 引擎的网页搜索选择分派。** `0.2.0-rc.2` 已退出 npm `latest` 并落在支持区间之外,`src/web-search.ts` 的实例字段 `searchProviderId` 分支与 `tests/web-search.test.ts` 的四个旧形状用例一并删除,只留易变引用(`Volatile`)路径与「没有可写选择面时不抛错」的降级契约测试。
|
|
30
|
+
- **`scripts/verify-isolated-install.mjs` 的矩阵来源改为 `dsh.compatibility.dshReleases`**(区间写法无法用 `||` 拆出逐版本列表);`tests/package.test.ts` 的断言同步改为「区间形状 + 下界 + 每条记录落在区间内且不早于下界」。
|
|
31
|
+
|
|
32
|
+
### Verification
|
|
33
|
+
|
|
34
|
+
- **rc.3 相对 rc.2 零运行代码破坏**:采集 646 个变更路径、349 份包清单、采集错误为空;宿主准入语义(`packages/boot/app-boot/src/plugin-compatibility.ts`)与 Web 预置模块表(`packages/client/web/src/seed.ts`)逐字相同;插件导入的宿主包源码零变更;五个既用插槽全部保留(rc.3 只新增 `sidebar.panellist.actions`、`conversation.session.header.views.actions`、`sidebar.right.tab.guide.actions` 三个 list 类插槽,由官方 `ui-entry-customization` 注册);`dsh-client-ui-primitives` 导出符号集合逐个相同。
|
|
35
|
+
- `npm run typecheck` 退出码 0;`npm test` **1107/1107** 通过、0 失败(比 0.15.2 的 1111 少 4 项,正是删除的四个旧引擎形状用例);`npm run build` 完成,`lib/index.js`、`lib/index.d.ts`、`lib/client.js` 已重建。
|
|
36
|
+
- `npm run test:engine` **2/2**:`dsh 0.2.1-rc.2` 与 `dsh 0.2.1-rc.3` 都输出 `host compatibility preflight admits this plugin`,末行 `engine-load smoke passed on all 2 declared-compatible engines (0.2.1-rc.2, 0.2.1-rc.3)`。
|
|
37
|
+
- `npm run test:install` **2/2**(pnpm `10.34.5`):`isolated install passed with pnpm 10.34.5 (dsh 0.2.1-rc.2)` 与 `(dsh 0.2.1-rc.3)`,末行 `engine matrix verified: 0.2.1-rc.2, 0.2.1-rc.3`。
|
|
38
|
+
- **锁文件**:18 个 `@deepseek-ai/dsh-*` 开发依赖整批升到 `0.2.1-rc.3`(这些包之间是精确 peer,不能混版,混版必然 `ERESOLVE`),`zod` 随之从 4.6.5 变为 4.4.3(rc.3 改为共享顶层副本,删掉三个嵌套副本),`resolve.exports` 2.0.3 → 2.0.4(`dsh-app-boot` 依赖);重建解析顺带造成的 `rolldown`/`@oxc-project/types`/`fast-uri`/`cac` 等无关漂移已按上一版逐条回滚,`npm ci --dry-run` 退出码 0。
|
|
39
|
+
- **未做**:真实浏览器渲染、正在运行的 dsh Web 宿主内端到端实测(需重启宿主重新做准入判定)、真实账号登录与付费生成。本地开发树已在 `0.2.1-rc.3` 上跑通 typecheck 与 1107 项测试。
|
|
40
|
+
|
|
7
41
|
## [0.15.2] - 2026-10-23
|
|
8
42
|
|
|
9
43
|
### Changed
|
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ Unofficial [DeepSeek Harness](https://deepseek-harness.github.io/deepseek-harnes
|
|
|
18
18
|
|
|
19
19
|
| | |
|
|
20
20
|
|---|---|
|
|
21
|
-
| Verified engines | dsh
|
|
21
|
+
| Verified engines | dsh `>=0.2.1-rc.2 <0.2.2-0` (every `0.2.1` RC from `0.2.1-rc.2` on) |
|
|
22
22
|
| Install — web | `dsh plugin --profile web add @mars-sea/dsh-commandcode-provider@latest` |
|
|
23
23
|
| Install — terminal | `dsh plugin --profile dsh-tui add @mars-sea/dsh-commandcode-provider@latest` |
|
|
24
24
|
| Config file | `$DSH_HOME/settings.yaml` → `llm-commandcode:` |
|
|
@@ -61,7 +61,7 @@ Unofficial [DeepSeek Harness](https://deepseek-harness.github.io/deepseek-harnes
|
|
|
61
61
|
dsh plugin --profile web add @mars-sea/dsh-commandcode-provider@latest
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
This build
|
|
64
|
+
This build admits **dsh `>=0.2.1-rc.2 <0.2.2-0`** — every RC of the `0.2.1` channel from `0.2.1-rc.2` onward. `0.2.1-rc.2` is what npm `latest` runs and `0.2.1-rc.3` ships on `next`; both are covered by the full engine matrix (`npm run test:engine`, `npm run test:install`). A later `0.2.1-rc.4` is admitted without a plugin update, but stays unverified until a record is added to `dsh.compatibility.dshReleases`. The next minor is deliberately excluded, `0.2.2-rc.*` included — the upper bound is written `<0.2.2-0` for exactly that reason. A profile on `0.2.0-rc.2`, `0.2.1-alpha.5` or older must upgrade its engine first. Compatibility details — the `engines.dsh` admission rule, package pairings, evidence — live in [engine compatibility](docs/agent-reference/engine-compatibility.md).
|
|
65
65
|
|
|
66
66
|
**Older dsh releases** are no longer supported: the last plugin release for dsh 0.1.7 is `0.11.17`, for 0.1.2–0.1.6 it is `0.11.11`, and for the 0.5.0-era line `0.9.1` — all installed by exact version, none maintained.
|
|
67
67
|
|
package/README.zh-CN.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
| | |
|
|
20
20
|
|---|---|
|
|
21
|
-
| 已验证引擎 | dsh
|
|
21
|
+
| 已验证引擎 | dsh `>=0.2.1-rc.2 <0.2.2-0`(`0.2.1` 通道中 `0.2.1-rc.2` 及以后的每个 RC) |
|
|
22
22
|
| 安装 —— 网页端 | `dsh plugin --profile web add @mars-sea/dsh-commandcode-provider@latest` |
|
|
23
23
|
| 安装 —— 终端端 | `dsh plugin --profile dsh-tui add @mars-sea/dsh-commandcode-provider@latest` |
|
|
24
24
|
| 配置文件 | `$DSH_HOME/settings.yaml` → `llm-commandcode:` |
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
dsh plugin --profile web add @mars-sea/dsh-commandcode-provider@latest
|
|
62
62
|
```
|
|
63
63
|
|
|
64
|
-
|
|
64
|
+
本构建准入 **dsh `>=0.2.1-rc.2 <0.2.2-0`** —— `0.2.1` 通道中 `0.2.1-rc.2` 及以后的每个 RC。`0.2.1-rc.2` 是 npm `latest` 指向的版本,`0.2.1-rc.3` 挂在 `next`;两者都跑过完整引擎矩阵(`npm run test:engine`、`npm run test:install`)。更晚的 `0.2.1-rc.4` 无需更新插件即可准入,但在 `dsh.compatibility.dshReleases` 补上记录之前不算已验证。下一个 minor 被刻意排除(含 `0.2.2-rc.*`)—— 区间上界写成 `<0.2.2-0` 正是为了这一点。使用 `0.2.0-rc.2`、`0.2.1-alpha.5` 或更早版本的配置需先升级引擎,再安装本构建。兼容性细节 —— `engines.dsh` 准入规则、按引擎配对的包版本、验证证据 —— 见[引擎兼容](docs/agent-reference/engine-compatibility.md)。
|
|
65
65
|
|
|
66
66
|
**更早的 dsh 版本**已不再支持:覆盖 dsh 0.1.7 的最后一个插件版本是 `0.11.17`,0.1.2–0.1.6 线的最后一个版本是 `0.11.11`,0.5.0 时代 Harness 线的最后一个版本是 `0.9.1` —— 三者都按精确版本安装,且都不再维护。
|
|
67
67
|
|
package/lib/client.js
CHANGED
|
@@ -3837,7 +3837,7 @@ window.__ModuleLoader__.load({
|
|
|
3837
3837
|
}
|
|
3838
3838
|
//#endregion
|
|
3839
3839
|
//#region package.json
|
|
3840
|
-
var version = "0.15.
|
|
3840
|
+
var version = "0.15.4";
|
|
3841
3841
|
var repository = {
|
|
3842
3842
|
"type": "git",
|
|
3843
3843
|
"url": "git+https://github.com/Mars-Sea/dsh-commandcode-provider.git"
|
package/lib/index.d.ts
CHANGED
|
@@ -61,7 +61,7 @@ type CommandCodeProtocol = 'cli' | 'openai' | 'messages';
|
|
|
61
61
|
declare const DEFAULT_MAX_OUTPUT_TOKENS = 131072;
|
|
62
62
|
//#endregion
|
|
63
63
|
//#region src/adapter.d.ts
|
|
64
|
-
declare const COMMAND_CODE_CLI_VERSION = "1.
|
|
64
|
+
declare const COMMAND_CODE_CLI_VERSION = "1.88.0";
|
|
65
65
|
declare const DEFAULT_API_BASE = "https://api.commandcode.ai";
|
|
66
66
|
/**
|
|
67
67
|
* The output budget this bundle asks for, and the ceiling it will never exceed.
|
|
@@ -1165,8 +1165,8 @@ declare const KNOWN_THINKING_MODELS: ReadonlySet<string>;
|
|
|
1165
1165
|
* `/docs/plans/max` and `/docs/resources/pricing-limits`). Each plan's model
|
|
1166
1166
|
* list is a superset of the one below it: Go ⊂ GOAT ⊂ Pro ⊂ Provider/Max.
|
|
1167
1167
|
* Models absent from every plan list (Claude Opus/Fable, Fugu Ultra) are
|
|
1168
|
-
* Provider-tier. Re-verified at command-code@1.
|
|
1169
|
-
* live `?view=client` catalog:
|
|
1168
|
+
* Provider-tier. Re-verified at command-code@1.88.0 (2026-10-24) against the
|
|
1169
|
+
* live `?view=client` catalog: 105 ids, still a strict superset chain. Mistral
|
|
1170
1170
|
* Large 4
|
|
1171
1171
|
* (1.75.0) was the only addition at the 1.77.0 check; the 1.78.0/1.79.0 pair
|
|
1172
1172
|
* added Claude Haiku 5.5 at Pro and the free Glyph Cluster preview at Go.
|
|
@@ -1177,7 +1177,7 @@ declare const KNOWN_THINKING_MODELS: ReadonlySet<string>;
|
|
|
1177
1177
|
* which left the live catalog. Every other
|
|
1178
1178
|
* tier is unchanged. The 1.86.1 sync (2026-10-21) adds only the Ornith 1.5 122B
|
|
1179
1179
|
* launch pair at Go; the 1.87.1 check (2026-10-22) adds no model and moves no
|
|
1180
|
-
* tier.
|
|
1180
|
+
* tier, and the 2026-10-24 check adds only Kimi K3.1 Pro at Go.
|
|
1181
1181
|
* The only removals since 1.49.0 are the two retired stealth previews (Pixel
|
|
1182
1182
|
* Canary at 1.73.1, Space Bunny Alpha at 1.74.3), Ling 3.0 Flash Sante
|
|
1183
1183
|
* (2026-10-16) and the retired Cat Jam preview (2026-10-20). Per-entry tags
|
|
@@ -2128,18 +2128,6 @@ interface WebSearchSelectionHandle {
|
|
|
2128
2128
|
* it first and falls back to the reference only when settings is unavailable or
|
|
2129
2129
|
* refuses (see `volatileWrite`).
|
|
2130
2130
|
*
|
|
2131
|
-
* ## Two engine shapes
|
|
2132
|
-
*
|
|
2133
|
-
* Everything above describes an rc.2+ runtime, where the selection is a
|
|
2134
|
-
* reference. PRE-rc.2 engines (0.2.0-rc.2 and the 0.2.1 alphas) have neither
|
|
2135
|
-
* that reference nor a settings row for `web`: there the selection is the
|
|
2136
|
-
* private instance field `searchProviderId`, memory-only by nature. Those
|
|
2137
|
-
* engines therefore run the degraded path BY CONSTRUCTION — no profile write
|
|
2138
|
-
* exists for it and the user layer is unreadable, so a foreign pin cannot be
|
|
2139
|
-
* seen and the takeover/restore semantics are the ones this plugin shipped
|
|
2140
|
-
* before rc.2: remember the displaced backend, hand back only what we took. The
|
|
2141
|
-
* shape is resolved per observation, so one build serves both.
|
|
2142
|
-
*
|
|
2143
2131
|
* ## Two writers, one field
|
|
2144
2132
|
*
|
|
2145
2133
|
* The shipped web-search settings page writes `web.searchProvider` too
|
package/lib/index.js
CHANGED
|
@@ -123,7 +123,7 @@ const PLAN_ORDER = Object.fromEntries(PLAN_TIER_ORDER.map((tier, index) => [tier
|
|
|
123
123
|
* subscription-plan labels, deals, and hourly (peak/off-peak) pricing.
|
|
124
124
|
*
|
|
125
125
|
* Everything here is synced from official sources — the command-code CLI
|
|
126
|
-
* bundle's model table (`dist/cli.mjs`, re-verified at command-code@1.
|
|
126
|
+
* bundle's model table (`dist/cli.mjs`, re-verified at command-code@1.88.0), the
|
|
127
127
|
* live model catalog (`GET /provider/v1/models?view=client`, the authority for
|
|
128
128
|
* capability fields since 1.82.4), and the official plan/pricing/model docs; see
|
|
129
129
|
* the dsh-commandcode-upstream skill for the extraction procedures. The
|
|
@@ -131,10 +131,15 @@ const PLAN_ORDER = Object.fromEntries(PLAN_TIER_ORDER.map((tier, index) => [tier
|
|
|
131
131
|
* 1.5 122B launch pair in the catalog, the ZDR exclusion-set prune and the
|
|
132
132
|
* MiniMax M3.1 Flash promo extension; the follow-up check later that day moved
|
|
133
133
|
* the pinned constant to 1.86.3 (request header only). The 2026-10-22 check
|
|
134
|
-
*
|
|
135
|
-
* and
|
|
136
|
-
*
|
|
137
|
-
*
|
|
134
|
+
* moved it to 1.87.1 (one output-limit row: `thinkingmachines/inkling-small`),
|
|
135
|
+
* and the 2026-10-23 check to 1.87.3 with every snapshot unchanged apart from
|
|
136
|
+
* the four retired catalog rows. The 2026-10-24 check moves it to 1.88.0 — a
|
|
137
|
+
* silent artifact-only release — and picks up the one row that did move in the
|
|
138
|
+
* catalog: Kimi K3.1 Pro (`moonshotai/Kimi-K3.1-Pro`, 1M context, text + image,
|
|
139
|
+
* efforts `low/high/max`, Go tier, `$2/$10/$0.2`). The 1.88.0 artifact does not
|
|
140
|
+
* name that row yet; the default catalog, `?view=client`, the models docs page
|
|
141
|
+
* and the pricing page all do, so the capability fields come from the catalog
|
|
142
|
+
* as usual. Keeping the snapshot in its own module
|
|
138
143
|
* confines those frequent sync diffs here: src/adapter.ts holds only the stable
|
|
139
144
|
* wire/runtime logic. The read helpers live here too, for the same reason.
|
|
140
145
|
*
|
|
@@ -339,6 +344,11 @@ const KNOWN_EFFORTS = {
|
|
|
339
344
|
"high",
|
|
340
345
|
"max"
|
|
341
346
|
],
|
|
347
|
+
"moonshotai/Kimi-K3.1-Pro": [
|
|
348
|
+
"low",
|
|
349
|
+
"high",
|
|
350
|
+
"max"
|
|
351
|
+
],
|
|
342
352
|
"google/gemini-3.8-flash": [
|
|
343
353
|
"low",
|
|
344
354
|
"medium",
|
|
@@ -586,6 +596,7 @@ const KNOWN_IMAGE_MODELS = /* @__PURE__ */ new Set([
|
|
|
586
596
|
"moonshotai/Kimi-K2.7-Code",
|
|
587
597
|
"moonshotai/Kimi-K2.7-Code-Highspeed",
|
|
588
598
|
"moonshotai/Kimi-K3",
|
|
599
|
+
"moonshotai/Kimi-K3.1-Pro",
|
|
589
600
|
"ornith/ornith-1.5-122b",
|
|
590
601
|
"sakana/fugu-ultra",
|
|
591
602
|
"stepfun/Step-3.7-Flash",
|
|
@@ -923,8 +934,8 @@ const MODEL_OUTPUT_TOKEN_LIMITS = /* @__PURE__ */ new Map([
|
|
|
923
934
|
* `/docs/plans/max` and `/docs/resources/pricing-limits`). Each plan's model
|
|
924
935
|
* list is a superset of the one below it: Go ⊂ GOAT ⊂ Pro ⊂ Provider/Max.
|
|
925
936
|
* Models absent from every plan list (Claude Opus/Fable, Fugu Ultra) are
|
|
926
|
-
* Provider-tier. Re-verified at command-code@1.
|
|
927
|
-
* live `?view=client` catalog:
|
|
937
|
+
* Provider-tier. Re-verified at command-code@1.88.0 (2026-10-24) against the
|
|
938
|
+
* live `?view=client` catalog: 105 ids, still a strict superset chain. Mistral
|
|
928
939
|
* Large 4
|
|
929
940
|
* (1.75.0) was the only addition at the 1.77.0 check; the 1.78.0/1.79.0 pair
|
|
930
941
|
* added Claude Haiku 5.5 at Pro and the free Glyph Cluster preview at Go.
|
|
@@ -935,7 +946,7 @@ const MODEL_OUTPUT_TOKEN_LIMITS = /* @__PURE__ */ new Map([
|
|
|
935
946
|
* which left the live catalog. Every other
|
|
936
947
|
* tier is unchanged. The 1.86.1 sync (2026-10-21) adds only the Ornith 1.5 122B
|
|
937
948
|
* launch pair at Go; the 1.87.1 check (2026-10-22) adds no model and moves no
|
|
938
|
-
* tier.
|
|
949
|
+
* tier, and the 2026-10-24 check adds only Kimi K3.1 Pro at Go.
|
|
939
950
|
* The only removals since 1.49.0 are the two retired stealth previews (Pixel
|
|
940
951
|
* Canary at 1.73.1, Space Bunny Alpha at 1.74.3), Ling 3.0 Flash Sante
|
|
941
952
|
* (2026-10-16) and the retired Cat Jam preview (2026-10-20). Per-entry tags
|
|
@@ -984,6 +995,7 @@ const KNOWN_PLANS = {
|
|
|
984
995
|
"moonshotai/Kimi-K2.7-Code": "go",
|
|
985
996
|
"moonshotai/Kimi-K2.7-Code-Highspeed": "go",
|
|
986
997
|
"moonshotai/Kimi-K3": "go",
|
|
998
|
+
"moonshotai/Kimi-K3.1-Pro": "go",
|
|
987
999
|
"nvidia/nemotron-3-ultra-550b-a55b": "go",
|
|
988
1000
|
"nvidia/nemotron-3.5-super-vl": "go",
|
|
989
1001
|
"ornith/ornith-1.5-122b": "go",
|
|
@@ -2248,6 +2260,19 @@ const MODEL_PRICE_ROWS = [
|
|
|
2248
2260
|
pro: 30
|
|
2249
2261
|
}
|
|
2250
2262
|
},
|
|
2263
|
+
{
|
|
2264
|
+
id: "kimi-k3.1-pro",
|
|
2265
|
+
rates: [
|
|
2266
|
+
2,
|
|
2267
|
+
10,
|
|
2268
|
+
.2
|
|
2269
|
+
],
|
|
2270
|
+
allowance: {
|
|
2271
|
+
go: 6,
|
|
2272
|
+
goat: 20,
|
|
2273
|
+
pro: 30
|
|
2274
|
+
}
|
|
2275
|
+
},
|
|
2251
2276
|
{
|
|
2252
2277
|
id: "ling-3.1-flash",
|
|
2253
2278
|
rates: [
|
|
@@ -6422,7 +6447,7 @@ var GatewayFacts = class {
|
|
|
6422
6447
|
* per-request options thunk and an API-key resolver from the plugin entry
|
|
6423
6448
|
* (src/index.ts), so a settings change reaches the very next request.
|
|
6424
6449
|
*/
|
|
6425
|
-
const COMMAND_CODE_CLI_VERSION = "1.
|
|
6450
|
+
const COMMAND_CODE_CLI_VERSION = "1.88.0";
|
|
6426
6451
|
const DEFAULT_API_BASE = "https://api.commandcode.ai";
|
|
6427
6452
|
/**
|
|
6428
6453
|
* The output budget this bundle asks for, and the ceiling it will never exceed.
|
|
@@ -10763,13 +10788,11 @@ function unwrapVolatileConfig(config) {
|
|
|
10763
10788
|
* the model-facing `web_search` tool needs no separate configuration.
|
|
10764
10789
|
*
|
|
10765
10790
|
* The second half of this module is the SELECTION seam: which registered search
|
|
10766
|
-
* backend `ctx.web` actually runs.
|
|
10767
|
-
*
|
|
10768
|
-
*
|
|
10769
|
-
*
|
|
10770
|
-
*
|
|
10771
|
-
* has no settings surface and can only be assigned in memory — see
|
|
10772
|
-
* {@link createCommandCodeSearchSelection}.
|
|
10791
|
+
* backend `ctx.web` actually runs. dsh 0.2.1-rc.2 turned the choice into a per-call
|
|
10792
|
+
* `Volatile` field of the `web` profile entry, so it is changed through the host
|
|
10793
|
+
* settings service rather than by assigning a runtime field. The supported
|
|
10794
|
+
* engine range (`engines.dsh`) starts at rc.2, so that reference is the only
|
|
10795
|
+
* shape this module serves — see {@link createCommandCodeSearchSelection}.
|
|
10773
10796
|
*
|
|
10774
10797
|
* @module dsh-commandcode-provider/web-search
|
|
10775
10798
|
*/
|
|
@@ -10832,29 +10855,6 @@ function selectionRow(settings) {
|
|
|
10832
10855
|
function searchProviderRef(web) {
|
|
10833
10856
|
return member(member(web, "config"), "searchProvider");
|
|
10834
10857
|
}
|
|
10835
|
-
/**
|
|
10836
|
-
* The pre-rc.2 instance field, or `undefined` when this runtime does not carry
|
|
10837
|
-
* it.
|
|
10838
|
-
*
|
|
10839
|
-
* An OWN property is the discriminator, not a value test: a runtime of the
|
|
10840
|
-
* reference shape never has `searchProviderId` at all, so the two shapes cannot
|
|
10841
|
-
* both answer and neither needs to be preferred over the other.
|
|
10842
|
-
*/
|
|
10843
|
-
function legacySearchField(web) {
|
|
10844
|
-
if (!Object.prototype.hasOwnProperty.call(web, "searchProviderId")) return void 0;
|
|
10845
|
-
const shaped = web;
|
|
10846
|
-
return {
|
|
10847
|
-
read: () => text(shaped.searchProviderId),
|
|
10848
|
-
write: (value) => {
|
|
10849
|
-
try {
|
|
10850
|
-
shaped.searchProviderId = value;
|
|
10851
|
-
return true;
|
|
10852
|
-
} catch {
|
|
10853
|
-
return false;
|
|
10854
|
-
}
|
|
10855
|
-
}
|
|
10856
|
-
};
|
|
10857
|
-
}
|
|
10858
10858
|
/** Observe the live selection; `undefined` when nothing can be observed. */
|
|
10859
10859
|
function readView(deps) {
|
|
10860
10860
|
const settings = deps.settings();
|
|
@@ -10888,15 +10888,6 @@ function readView(deps) {
|
|
|
10888
10888
|
persistent: false
|
|
10889
10889
|
};
|
|
10890
10890
|
}
|
|
10891
|
-
const legacy = legacySearchField(deps.web);
|
|
10892
|
-
if (legacy === void 0) return void 0;
|
|
10893
|
-
return {
|
|
10894
|
-
configured: legacy.read(),
|
|
10895
|
-
pinned: void 0,
|
|
10896
|
-
base: void 0,
|
|
10897
|
-
user: {},
|
|
10898
|
-
persistent: false
|
|
10899
|
-
};
|
|
10900
10891
|
}
|
|
10901
10892
|
/**
|
|
10902
10893
|
* The selection seam over `ctx.web`.
|
|
@@ -10914,18 +10905,6 @@ function readView(deps) {
|
|
|
10914
10905
|
* it first and falls back to the reference only when settings is unavailable or
|
|
10915
10906
|
* refuses (see `volatileWrite`).
|
|
10916
10907
|
*
|
|
10917
|
-
* ## Two engine shapes
|
|
10918
|
-
*
|
|
10919
|
-
* Everything above describes an rc.2+ runtime, where the selection is a
|
|
10920
|
-
* reference. PRE-rc.2 engines (0.2.0-rc.2 and the 0.2.1 alphas) have neither
|
|
10921
|
-
* that reference nor a settings row for `web`: there the selection is the
|
|
10922
|
-
* private instance field `searchProviderId`, memory-only by nature. Those
|
|
10923
|
-
* engines therefore run the degraded path BY CONSTRUCTION — no profile write
|
|
10924
|
-
* exists for it and the user layer is unreadable, so a foreign pin cannot be
|
|
10925
|
-
* seen and the takeover/restore semantics are the ones this plugin shipped
|
|
10926
|
-
* before rc.2: remember the displaced backend, hand back only what we took. The
|
|
10927
|
-
* shape is resolved per observation, so one build serves both.
|
|
10928
|
-
*
|
|
10929
10908
|
* ## Two writers, one field
|
|
10930
10909
|
*
|
|
10931
10910
|
* The shipped web-search settings page writes `web.searchProvider` too
|
|
@@ -10962,14 +10941,11 @@ function createCommandCodeSearchSelection(deps) {
|
|
|
10962
10941
|
/**
|
|
10963
10942
|
* Commit the selection in memory; the last resort before giving up.
|
|
10964
10943
|
*
|
|
10965
|
-
* The volatile reference is
|
|
10966
|
-
*
|
|
10967
|
-
* there the private instance field IS the seam — the fallback is a different
|
|
10968
|
-
* engine shape, not a second-best copy of the same write.
|
|
10944
|
+
* The volatile reference is what `search()` reads on every supported engine
|
|
10945
|
+
* (`engines.dsh` starts at 0.2.1-rc.2), so it is the only in-memory seam.
|
|
10969
10946
|
*/
|
|
10970
10947
|
const memoryWrite = (value) => {
|
|
10971
10948
|
if (volatileWrite(searchProviderRef(deps.web), value)) return true;
|
|
10972
|
-
if (legacySearchField(deps.web)?.write(value) === true) return true;
|
|
10973
10949
|
warn("llm-commandcode: web search selection could not be applied (settings refused the write and the running web runtime is not writable); the provider stays registered but unselected");
|
|
10974
10950
|
return false;
|
|
10975
10951
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mars-sea/dsh-commandcode-provider",
|
|
3
|
-
"version": "0.15.
|
|
3
|
+
"version": "0.15.4",
|
|
4
4
|
"description": "Unofficial DeepSeek Harness LLM provider plugin for Command Code, ported from pi-commandcode-provider (MIT). Registers the 'commandcode' provider route with a Models-page card and live model catalog.",
|
|
5
5
|
"icon": "./icon.svg",
|
|
6
6
|
"type": "module",
|
|
@@ -23,10 +23,10 @@
|
|
|
23
23
|
},
|
|
24
24
|
"compatibility": {
|
|
25
25
|
"dshReleases": {
|
|
26
|
-
"0.2.
|
|
27
|
-
"0.2.1-rc.
|
|
26
|
+
"0.2.1-rc.2": "compatible",
|
|
27
|
+
"0.2.1-rc.3": "compatible"
|
|
28
28
|
},
|
|
29
|
-
"dsh": "0.2.
|
|
29
|
+
"dsh": ">=0.2.1-rc.2 <0.2.2-0"
|
|
30
30
|
},
|
|
31
31
|
"client": {
|
|
32
32
|
"inject": [
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
},
|
|
62
62
|
"engines": {
|
|
63
63
|
"node": ">=22",
|
|
64
|
-
"dsh": "0.2.
|
|
64
|
+
"dsh": ">=0.2.1-rc.2 <0.2.2-0"
|
|
65
65
|
},
|
|
66
66
|
"publishConfig": {
|
|
67
67
|
"access": "public"
|
|
@@ -87,24 +87,24 @@
|
|
|
87
87
|
],
|
|
88
88
|
"license": "MIT",
|
|
89
89
|
"peerDependencies": {
|
|
90
|
-
"@deepseek-ai/cordis": "~4.0.
|
|
91
|
-
"@deepseek-ai/dsh-api-remotes": "0.2.
|
|
92
|
-
"@deepseek-ai/dsh-attachment": "0.2.
|
|
93
|
-
"@deepseek-ai/dsh-client-locale": "0.2.
|
|
94
|
-
"@deepseek-ai/dsh-client-ui-primitives": "0.2.
|
|
95
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.2.
|
|
96
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.2.
|
|
97
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.2.
|
|
98
|
-
"@deepseek-ai/dsh-commands": "0.2.
|
|
99
|
-
"@deepseek-ai/dsh-credentials": "0.2.
|
|
100
|
-
"@deepseek-ai/dsh-launch-environment": "0.2.
|
|
101
|
-
"@deepseek-ai/dsh-llm": "0.2.
|
|
102
|
-
"@deepseek-ai/dsh-settings": "0.2.
|
|
103
|
-
"@deepseek-ai/dsh-timeout": "0.2.
|
|
104
|
-
"@deepseek-ai/dsh-typert-protocol": "0.2.
|
|
105
|
-
"@deepseek-ai/schemastery": "~3.18.
|
|
90
|
+
"@deepseek-ai/cordis": "~4.0.5",
|
|
91
|
+
"@deepseek-ai/dsh-api-remotes": ">=0.2.1-rc.2 <0.2.2-0",
|
|
92
|
+
"@deepseek-ai/dsh-attachment": ">=0.2.1-rc.2 <0.2.2-0",
|
|
93
|
+
"@deepseek-ai/dsh-client-locale": ">=0.2.1-rc.2 <0.2.2-0",
|
|
94
|
+
"@deepseek-ai/dsh-client-ui-primitives": ">=0.2.1-rc.2 <0.2.2-0",
|
|
95
|
+
"@deepseek-ai/dsh-client-ui-renderer": ">=0.2.1-rc.2 <0.2.2-0",
|
|
96
|
+
"@deepseek-ai/dsh-client-ui-settings": ">=0.2.1-rc.2 <0.2.2-0",
|
|
97
|
+
"@deepseek-ai/dsh-client-ui-slots": ">=0.2.1-rc.2 <0.2.2-0",
|
|
98
|
+
"@deepseek-ai/dsh-commands": ">=0.2.1-rc.2 <0.2.2-0",
|
|
99
|
+
"@deepseek-ai/dsh-credentials": ">=0.2.1-rc.2 <0.2.2-0",
|
|
100
|
+
"@deepseek-ai/dsh-launch-environment": ">=0.2.1-rc.2 <0.2.2-0",
|
|
101
|
+
"@deepseek-ai/dsh-llm": ">=0.2.1-rc.2 <0.2.2-0",
|
|
102
|
+
"@deepseek-ai/dsh-settings": ">=0.2.1-rc.2 <0.2.2-0",
|
|
103
|
+
"@deepseek-ai/dsh-timeout": ">=0.2.1-rc.2 <0.2.2-0",
|
|
104
|
+
"@deepseek-ai/dsh-typert-protocol": ">=0.2.1-rc.2 <0.2.2-0",
|
|
105
|
+
"@deepseek-ai/schemastery": "~3.18.5",
|
|
106
106
|
"react": "^18.2.0",
|
|
107
|
-
"@deepseek-ai/dsh-web": "0.2.
|
|
107
|
+
"@deepseek-ai/dsh-web": ">=0.2.1-rc.2 <0.2.2-0"
|
|
108
108
|
},
|
|
109
109
|
"peerDependenciesMeta": {
|
|
110
110
|
"@deepseek-ai/dsh-client-ui-primitives": {
|
|
@@ -118,27 +118,27 @@
|
|
|
118
118
|
}
|
|
119
119
|
},
|
|
120
120
|
"devDependencies": {
|
|
121
|
-
"@deepseek-ai/cordis": "~4.0.
|
|
122
|
-
"@deepseek-ai/dsh-agent": "0.2.
|
|
123
|
-
"@deepseek-ai/dsh-api-remotes": "0.2.
|
|
124
|
-
"@deepseek-ai/dsh-attachment": "0.2.
|
|
125
|
-
"@deepseek-ai/dsh-client-locale": "0.2.
|
|
126
|
-
"@deepseek-ai/dsh-client-ui-primitives": "0.2.
|
|
127
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.2.
|
|
128
|
-
"@deepseek-ai/dsh-client-ui-settings": "0.2.
|
|
129
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.2.
|
|
130
|
-
"@deepseek-ai/dsh-commands": "0.2.
|
|
131
|
-
"@deepseek-ai/dsh-credentials": "0.2.
|
|
132
|
-
"@deepseek-ai/dsh-launch-environment": "0.2.
|
|
133
|
-
"@deepseek-ai/dsh-llm": "0.2.
|
|
134
|
-
"@deepseek-ai/dsh-settings": "0.2.
|
|
135
|
-
"@deepseek-ai/dsh-session": "0.2.
|
|
136
|
-
"@deepseek-ai/dsh-scope": "0.2.
|
|
137
|
-
"@deepseek-ai/dsh-session-projection": "0.2.
|
|
138
|
-
"@deepseek-ai/dsh-timeout": "0.2.
|
|
139
|
-
"@deepseek-ai/dsh-typert-protocol": "0.2.
|
|
140
|
-
"@deepseek-ai/dsh-web": "0.2.
|
|
141
|
-
"@deepseek-ai/schemastery": "~3.18.
|
|
121
|
+
"@deepseek-ai/cordis": "~4.0.5",
|
|
122
|
+
"@deepseek-ai/dsh-agent": ">=0.2.1-rc.2 <0.2.2-0",
|
|
123
|
+
"@deepseek-ai/dsh-api-remotes": ">=0.2.1-rc.2 <0.2.2-0",
|
|
124
|
+
"@deepseek-ai/dsh-attachment": ">=0.2.1-rc.2 <0.2.2-0",
|
|
125
|
+
"@deepseek-ai/dsh-client-locale": ">=0.2.1-rc.2 <0.2.2-0",
|
|
126
|
+
"@deepseek-ai/dsh-client-ui-primitives": ">=0.2.1-rc.2 <0.2.2-0",
|
|
127
|
+
"@deepseek-ai/dsh-client-ui-renderer": ">=0.2.1-rc.2 <0.2.2-0",
|
|
128
|
+
"@deepseek-ai/dsh-client-ui-settings": ">=0.2.1-rc.2 <0.2.2-0",
|
|
129
|
+
"@deepseek-ai/dsh-client-ui-slots": ">=0.2.1-rc.2 <0.2.2-0",
|
|
130
|
+
"@deepseek-ai/dsh-commands": ">=0.2.1-rc.2 <0.2.2-0",
|
|
131
|
+
"@deepseek-ai/dsh-credentials": ">=0.2.1-rc.2 <0.2.2-0",
|
|
132
|
+
"@deepseek-ai/dsh-launch-environment": ">=0.2.1-rc.2 <0.2.2-0",
|
|
133
|
+
"@deepseek-ai/dsh-llm": ">=0.2.1-rc.2 <0.2.2-0",
|
|
134
|
+
"@deepseek-ai/dsh-settings": ">=0.2.1-rc.2 <0.2.2-0",
|
|
135
|
+
"@deepseek-ai/dsh-session": ">=0.2.1-rc.2 <0.2.2-0",
|
|
136
|
+
"@deepseek-ai/dsh-scope": ">=0.2.1-rc.2 <0.2.2-0",
|
|
137
|
+
"@deepseek-ai/dsh-session-projection": ">=0.2.1-rc.2 <0.2.2-0",
|
|
138
|
+
"@deepseek-ai/dsh-timeout": ">=0.2.1-rc.2 <0.2.2-0",
|
|
139
|
+
"@deepseek-ai/dsh-typert-protocol": ">=0.2.1-rc.2 <0.2.2-0",
|
|
140
|
+
"@deepseek-ai/dsh-web": ">=0.2.1-rc.2 <0.2.2-0",
|
|
141
|
+
"@deepseek-ai/schemastery": "~3.18.5",
|
|
142
142
|
"@types/node": "^22.0.0",
|
|
143
143
|
"@types/react": "^18.3.1",
|
|
144
144
|
"parse5": "8.0.1",
|