@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 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.0";
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.32.1) marks
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.32.1 bundled model table (dist/cli.mjs),
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.1 where they appear as `Zn`/`er`): subscription `planId`
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). The picker shows the *current* state as a compact
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.32.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.32.1 — endpoints, request shape, and
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.32.1) marks
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.32.1 bundled model table (dist/cli.mjs),
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.1 where they appear as `Zn`/`er`): subscription `planId`
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). The picker shows the *current* state as a compact
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.32.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`/