@mars-sea/dsh-commandcode-provider 0.8.0 → 0.8.2
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 +18 -0
- package/lib/client.js +1 -1
- package/lib/index.d.ts +18 -6
- package/lib/index.js +39 -7
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,24 @@ 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.8.2] - 2026-08-26
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **New free models: MiniMax M3 Free (`minimax/minimax-m3-free`) and MiniMax M2.7 Free (`minimax/minimax-m2.7-free`, command-code@1.33.0).** Command Code's own free variants of the paid M3/M2.7, free through September 5, 2026 — they appear at the top of the picker with `FREE` markers and drop the badge automatically once the promo ends. M3 Free is a Go-tier 1M-context model with image input (it reasons automatically); M2.7 Free is a text-only 197K model.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- **Qwen 3.8 Max now carries the hourly-pricing marker** (`Peak`/`Half` by current UTC hour) — it joined DeepSeek V4 Flash/Vision on time-of-day pricing per the official pricing page.
|
|
16
|
+
- **The model picker's group header now reads "Command Code"** instead of the lowercase route id (`commandcode`), matching the name shown on the settings page.
|
|
17
|
+
- **Synced with the official command-code@1.33.0 CLI** (upstream's only change was adding the two free models above). `COMMAND_CODE_CLI_VERSION` is now `1.33.0`. Re-verified against the official sources with no other changes: wire protocol, endpoints, auth flow, reasoning-effort maps, subscription plans, and peak windows are all identical; plan tiers gained only the two new Go-tier variants.
|
|
18
|
+
|
|
19
|
+
## [0.8.1] - 2026-08-25
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
23
|
+
- **Synced with the official command-code@1.32.2 CLI** (upstream shipped two CLI-internal fixes — BYOK model-picker improvements and a session fix for malformed tool results — neither touching the Provider API). `COMMAND_CODE_CLI_VERSION` is now `1.32.2`. Re-verified against the official sources with no changes: wire protocol, endpoints, auth flow, the live model catalog (58 models), reasoning-effort maps, plan tiers, subscription plans, deals, and peak windows are all identical.
|
|
24
|
+
|
|
7
25
|
## [0.8.0] - 2026-08-22
|
|
8
26
|
|
|
9
27
|
### Added
|
package/lib/client.js
CHANGED
|
@@ -1197,7 +1197,7 @@ window.__ModuleLoader__.load({
|
|
|
1197
1197
|
};
|
|
1198
1198
|
//#endregion
|
|
1199
1199
|
//#region package.json
|
|
1200
|
-
var version = "0.8.
|
|
1200
|
+
var version = "0.8.2";
|
|
1201
1201
|
var repository = {
|
|
1202
1202
|
"type": "git",
|
|
1203
1203
|
"url": "git+https://github.com/Mars-Sea/dsh-commandcode-provider.git"
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import z from "@deepseek-ai/schemastery";
|
|
2
|
-
import { GenerateOptions, LlmAdapter, LlmModelInfo, LlmResolvedModelInfo, ResolvedRetryPolicy, StreamChunk } from "@deepseek-ai/dsh-llm";
|
|
2
|
+
import { GenerateOptions, LlmAdapter, LlmModelInfo, LlmProviderInfo, LlmResolvedModelInfo, ResolvedRetryPolicy, StreamChunk } from "@deepseek-ai/dsh-llm";
|
|
3
3
|
import { CredentialRef } from "@deepseek-ai/dsh-credentials";
|
|
4
4
|
import { TypertRemoteService, TypertSchema } from "@deepseek-ai/dsh-typert-protocol";
|
|
5
5
|
import { Context } from "@deepseek-ai/cordis";
|
|
@@ -24,7 +24,7 @@ declare const KNOWN_EFFORTS: Readonly<Record<string, readonly string[]>>;
|
|
|
24
24
|
*/
|
|
25
25
|
declare const KNOWN_IMAGE_MODELS: ReadonlySet<string>;
|
|
26
26
|
/**
|
|
27
|
-
* Models the official CLI's model table (command-code@1.
|
|
27
|
+
* Models the official CLI's model table (command-code@1.33.0) marks
|
|
28
28
|
* `reasoning:!0` but defines no selectable `reasoning_effort` levels — they
|
|
29
29
|
* think automatically, with Command Code driving the depth. This is the
|
|
30
30
|
* authoritative "thinks, effort not adjustable" set: `KNOWN_EFFORTS` (which
|
|
@@ -32,7 +32,7 @@ declare const KNOWN_IMAGE_MODELS: ReadonlySet<string>;
|
|
|
32
32
|
* effort levels, and this snapshot is not surfaced in the picker's compact
|
|
33
33
|
* description — it exists for programmatic consumers.
|
|
34
34
|
*
|
|
35
|
-
* Source: the command-code@1.
|
|
35
|
+
* Source: the command-code@1.33.0 bundled model table (dist/cli.mjs),
|
|
36
36
|
* cross-checked with https://commandcode.ai/docs/reference/cli/models.
|
|
37
37
|
* (`stealth/ox-alpha` left this set in command-code@1.32.1, which gave it
|
|
38
38
|
* selectable `['low', 'high', 'max']` efforts.)
|
|
@@ -77,7 +77,7 @@ declare function compareByPlan(a: {
|
|
|
77
77
|
/**
|
|
78
78
|
* Subscription plan table, synced from the official CLI bundle's plan maps
|
|
79
79
|
* (`Nn`/`$n` in command-code@1.31.0 `dist/cli.mjs`, re-verified unchanged
|
|
80
|
-
* against 1.32.
|
|
80
|
+
* against 1.32.2 where they appear as `Zn`/`er`): subscription `planId`
|
|
81
81
|
* prefix → display name and the plan's monthly credit total. This is the
|
|
82
82
|
* account's own subscription (from `/alpha/billing/subscriptions`) — distinct
|
|
83
83
|
* from {@link KNOWN_PLANS}, which maps catalog models to their minimum tier.
|
|
@@ -156,7 +156,11 @@ declare const KNOWN_DEALS: Readonly<Record<string, KnownDeal>>;
|
|
|
156
156
|
* charges by the hour: peak hours are 01:00–04:00 and 06:00–10:00 UTC (7h/day,
|
|
157
157
|
* full price); the other 17 hours are off-peak at half price. The V4 Flash
|
|
158
158
|
* Vision (exp) variant (command-code@1.32.0) shares the V4 Flash windows and
|
|
159
|
-
* peak prices ($0.44/$1.32).
|
|
159
|
+
* peak prices ($0.44/$1.32). Qwen 3.8 Max joined the hourly set by
|
|
160
|
+
* 2026-08-26 with the same windows (the page's prose still names all three
|
|
161
|
+
* DeepSeek variants even though the V4 Pro table row lost its hover
|
|
162
|
+
* annotation — kept here on the prose's authority). The picker shows the
|
|
163
|
+
* *current* state as a compact
|
|
160
164
|
* label (`Peak`/`Half`) matching the English noun style of the other markers
|
|
161
165
|
* (`Image`, `FREE`), so a developer can tell at a glance whether calling the
|
|
162
166
|
* model right now is cheap or expensive.
|
|
@@ -178,7 +182,7 @@ declare function peakPricingState(modelId: string, now?: number): 'peak' | 'off-
|
|
|
178
182
|
* for models without time-of-day pricing.
|
|
179
183
|
*/
|
|
180
184
|
declare function peakPricingLabel(modelId: string, now?: number): string | undefined;
|
|
181
|
-
declare const COMMAND_CODE_CLI_VERSION = "1.
|
|
185
|
+
declare const COMMAND_CODE_CLI_VERSION = "1.33.0";
|
|
182
186
|
declare const DEFAULT_API_BASE = "https://api.commandcode.ai";
|
|
183
187
|
declare const DEFAULT_GENERATE_MAX_TOKENS = 64000;
|
|
184
188
|
declare const DEFAULT_MAX_OUTPUT_TOKENS = 65536;
|
|
@@ -349,6 +353,14 @@ declare class CommandCodeAdapter<C extends CommandCodeConnectionOptions = Comman
|
|
|
349
353
|
private readonly billingAccess;
|
|
350
354
|
private readonly billingAccessInflight;
|
|
351
355
|
constructor(deps: CommandCodeAdapterDeps<C>);
|
|
356
|
+
/**
|
|
357
|
+
* Display metadata for the picker's provider group header. The base class
|
|
358
|
+
* returns the raw route id (`commandcode`, all lowercase) as the name, which
|
|
359
|
+
* is what the model selector shows as this group's sticky title; return the
|
|
360
|
+
* proper display name instead, matching the Models settings page card (the
|
|
361
|
+
* configurable-provider `displayName`). The id must stay equal to the route.
|
|
362
|
+
*/
|
|
363
|
+
providerInfo(provider: string): LlmProviderInfo;
|
|
352
364
|
/**
|
|
353
365
|
* Near-unbounded retry for transient failures only (`mode: 'normal'` with
|
|
354
366
|
* an explicit 1000-attempt cap — opencode-style persistence without the
|
package/lib/index.js
CHANGED
|
@@ -216,7 +216,7 @@ var CommandCodeAccountPool = class {
|
|
|
216
216
|
* and API key or subscription, and Command Code's terms apply.
|
|
217
217
|
*
|
|
218
218
|
* Wire protocol (reverse-engineered by the pi plugin, command-code@1.28.4;
|
|
219
|
-
* re-verified against command-code@1.
|
|
219
|
+
* re-verified against command-code@1.33.0 — endpoints, request shape, and
|
|
220
220
|
* stream events unchanged):
|
|
221
221
|
* POST {apiBase}/alpha/generate
|
|
222
222
|
* body: { config, memory, taste, skills, params: { model, messages, tools,
|
|
@@ -423,6 +423,7 @@ const KNOWN_IMAGE_MODELS = /* @__PURE__ */ new Set([
|
|
|
423
423
|
"meta/muse-spark-1.1",
|
|
424
424
|
"meta/muse-spark-1.2",
|
|
425
425
|
"meta/muse-spark-1.2-contributor",
|
|
426
|
+
"minimax/minimax-m3-free",
|
|
426
427
|
"moonshotai/Kimi-K2.5",
|
|
427
428
|
"moonshotai/Kimi-K2.6",
|
|
428
429
|
"moonshotai/Kimi-K2.7-Code",
|
|
@@ -437,7 +438,7 @@ const KNOWN_IMAGE_MODELS = /* @__PURE__ */ new Set([
|
|
|
437
438
|
"xiaomi/mimo-v2.5"
|
|
438
439
|
]);
|
|
439
440
|
/**
|
|
440
|
-
* Models the official CLI's model table (command-code@1.
|
|
441
|
+
* Models the official CLI's model table (command-code@1.33.0) marks
|
|
441
442
|
* `reasoning:!0` but defines no selectable `reasoning_effort` levels — they
|
|
442
443
|
* think automatically, with Command Code driving the depth. This is the
|
|
443
444
|
* authoritative "thinks, effort not adjustable" set: `KNOWN_EFFORTS` (which
|
|
@@ -445,7 +446,7 @@ const KNOWN_IMAGE_MODELS = /* @__PURE__ */ new Set([
|
|
|
445
446
|
* effort levels, and this snapshot is not surfaced in the picker's compact
|
|
446
447
|
* description — it exists for programmatic consumers.
|
|
447
448
|
*
|
|
448
|
-
* Source: the command-code@1.
|
|
449
|
+
* Source: the command-code@1.33.0 bundled model table (dist/cli.mjs),
|
|
449
450
|
* cross-checked with https://commandcode.ai/docs/reference/cli/models.
|
|
450
451
|
* (`stealth/ox-alpha` left this set in command-code@1.32.1, which gave it
|
|
451
452
|
* selectable `['low', 'high', 'max']` efforts.)
|
|
@@ -458,6 +459,7 @@ const KNOWN_THINKING_MODELS = /* @__PURE__ */ new Set([
|
|
|
458
459
|
"Qwen/Qwen3.7-Flash",
|
|
459
460
|
"Qwen/Qwen3.7-Max",
|
|
460
461
|
"Qwen/Qwen3.7-Plus",
|
|
462
|
+
"minimax/minimax-m3-free",
|
|
461
463
|
"moonshotai/Kimi-K3",
|
|
462
464
|
"moonshotai/Kimi-K2.7-Code",
|
|
463
465
|
"moonshotai/Kimi-K2.7-Code-Highspeed",
|
|
@@ -503,6 +505,8 @@ const KNOWN_PLANS = {
|
|
|
503
505
|
"deepseek/deepseek-v4-pro": "go",
|
|
504
506
|
"gpt-5.6-luna": "go",
|
|
505
507
|
"meta/muse-spark-1.2-contributor": "go",
|
|
508
|
+
"minimax/minimax-m2.7-free": "go",
|
|
509
|
+
"minimax/minimax-m3-free": "go",
|
|
506
510
|
"moonshotai/Kimi-K2.5": "go",
|
|
507
511
|
"moonshotai/Kimi-K2.6": "go",
|
|
508
512
|
"moonshotai/Kimi-K2.7-Code": "go",
|
|
@@ -593,7 +597,7 @@ function compareByPlan(a, b) {
|
|
|
593
597
|
/**
|
|
594
598
|
* Subscription plan table, synced from the official CLI bundle's plan maps
|
|
595
599
|
* (`Nn`/`$n` in command-code@1.31.0 `dist/cli.mjs`, re-verified unchanged
|
|
596
|
-
* against 1.32.
|
|
600
|
+
* against 1.32.2 where they appear as `Zn`/`er`): subscription `planId`
|
|
597
601
|
* prefix → display name and the plan's monthly credit total. This is the
|
|
598
602
|
* account's own subscription (from `/alpha/billing/subscriptions`) — distinct
|
|
599
603
|
* from {@link KNOWN_PLANS}, which maps catalog models to their minimum tier.
|
|
@@ -682,6 +686,16 @@ const KNOWN_DEALS = {
|
|
|
682
686
|
"MiniMaxAI/MiniMax-M3": { label: "50% off" },
|
|
683
687
|
"xiaomi/mimo-v2.5-pro": { label: "99% off" },
|
|
684
688
|
"xiaomi/mimo-v2.5": { label: "98% off" },
|
|
689
|
+
"minimax/minimax-m3-free": {
|
|
690
|
+
label: "FREE",
|
|
691
|
+
free: true,
|
|
692
|
+
expiresAt: "2026-09-05T23:59:59Z"
|
|
693
|
+
},
|
|
694
|
+
"minimax/minimax-m2.7-free": {
|
|
695
|
+
label: "FREE",
|
|
696
|
+
free: true,
|
|
697
|
+
expiresAt: "2026-09-05T23:59:59Z"
|
|
698
|
+
},
|
|
685
699
|
"poolside/laguna-s-2.1-free": {
|
|
686
700
|
label: "FREE",
|
|
687
701
|
free: true
|
|
@@ -697,7 +711,11 @@ const KNOWN_DEALS = {
|
|
|
697
711
|
* charges by the hour: peak hours are 01:00–04:00 and 06:00–10:00 UTC (7h/day,
|
|
698
712
|
* full price); the other 17 hours are off-peak at half price. The V4 Flash
|
|
699
713
|
* Vision (exp) variant (command-code@1.32.0) shares the V4 Flash windows and
|
|
700
|
-
* peak prices ($0.44/$1.32).
|
|
714
|
+
* peak prices ($0.44/$1.32). Qwen 3.8 Max joined the hourly set by
|
|
715
|
+
* 2026-08-26 with the same windows (the page's prose still names all three
|
|
716
|
+
* DeepSeek variants even though the V4 Pro table row lost its hover
|
|
717
|
+
* annotation — kept here on the prose's authority). The picker shows the
|
|
718
|
+
* *current* state as a compact
|
|
701
719
|
* label (`Peak`/`Half`) matching the English noun style of the other markers
|
|
702
720
|
* (`Image`, `FREE`), so a developer can tell at a glance whether calling the
|
|
703
721
|
* model right now is cheap or expensive.
|
|
@@ -708,7 +726,8 @@ const KNOWN_DEALS = {
|
|
|
708
726
|
const KNOWN_PEAK_PRICING = /* @__PURE__ */ new Set([
|
|
709
727
|
"deepseek/deepseek-v4-pro",
|
|
710
728
|
"deepseek/deepseek-v4-flash",
|
|
711
|
-
"deepseek/deepseek-v4-flash-vision-exp"
|
|
729
|
+
"deepseek/deepseek-v4-flash-vision-exp",
|
|
730
|
+
"Qwen/Qwen3.8-Max"
|
|
712
731
|
]);
|
|
713
732
|
/** Peak hours (UTC, hour-of-day range end-exclusive): 01–03 and 06–09. */
|
|
714
733
|
const PEAK_HOUR_RANGES = [[1, 4], [6, 10]];
|
|
@@ -733,7 +752,7 @@ function peakPricingLabel(modelId, now = Date.now()) {
|
|
|
733
752
|
if (state === void 0) return void 0;
|
|
734
753
|
return state === "peak" ? "Peak" : "Half";
|
|
735
754
|
}
|
|
736
|
-
const COMMAND_CODE_CLI_VERSION = "1.
|
|
755
|
+
const COMMAND_CODE_CLI_VERSION = "1.33.0";
|
|
737
756
|
const DEFAULT_API_BASE = "https://api.commandcode.ai";
|
|
738
757
|
const DEFAULT_GENERATE_MAX_TOKENS = 64e3;
|
|
739
758
|
const DEFAULT_MAX_OUTPUT_TOKENS = 65536;
|
|
@@ -1055,6 +1074,19 @@ var CommandCodeAdapter = class extends LlmAdapter {
|
|
|
1055
1074
|
this.resolveAttachments = deps.resolveAttachments;
|
|
1056
1075
|
}
|
|
1057
1076
|
/**
|
|
1077
|
+
* Display metadata for the picker's provider group header. The base class
|
|
1078
|
+
* returns the raw route id (`commandcode`, all lowercase) as the name, which
|
|
1079
|
+
* is what the model selector shows as this group's sticky title; return the
|
|
1080
|
+
* proper display name instead, matching the Models settings page card (the
|
|
1081
|
+
* configurable-provider `displayName`). The id must stay equal to the route.
|
|
1082
|
+
*/
|
|
1083
|
+
providerInfo(provider) {
|
|
1084
|
+
return {
|
|
1085
|
+
id: provider,
|
|
1086
|
+
name: "Command Code"
|
|
1087
|
+
};
|
|
1088
|
+
}
|
|
1089
|
+
/**
|
|
1058
1090
|
* Near-unbounded retry for transient failures only (`mode: 'normal'` with
|
|
1059
1091
|
* an explicit 1000-attempt cap — opencode-style persistence without the
|
|
1060
1092
|
* unbounded loop): `RATE_LIMIT`/`SERVER`/`TIMEOUT`/`TRANSPORT`/
|