dsh-llm-fallbacks 0.5.2 → 0.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.
@@ -16,14 +16,17 @@
16
16
  */
17
17
  import type { FallbacksConfig } from './config.ts';
18
18
  /** Official all-day selectors — the ONLY legal tails (length 1, XOR):
19
- * Flash (the current official default, selectable) and Pro (displayed but
20
- * disabled — its model is not yet served by the 0.1.5-rc.1 catalog). The
21
- * retired V4 ids (`deepseek-v4-flash` / `deepseek-v4-pro`) are no longer
22
- * legal tails. */
19
+ * Flash (the current official default) and Pro, both selectable. The Pro
20
+ * tail id is the catalog id verbatim: 0.1.7-rc.2's official default catalog
21
+ * still serves `deepseek-v4-pro` alongside `deepseek-flash` — re-verified
22
+ * at rc.2 (rc.1 re-introduced it), so the card's Pro radio is selectable. `deepseek-v4-flash` stays retired (dropped
23
+ * from the catalog); a hand-written legacy `deepseek-official/deepseek-pro`
24
+ * tail — never catalog-served nor selectable — is just a non-legal tail
25
+ * that degrades through the existing nonconforming walk. */
23
26
  export declare const OFFICIAL_FLASH = "deepseek-official/deepseek-flash";
24
- export declare const OFFICIAL_PRO = "deepseek-official/deepseek-pro";
27
+ export declare const OFFICIAL_PRO = "deepseek-official/deepseek-v4-pro";
25
28
  /** The two official all-day tail ids (XOR — exactly one legal tail). */
26
- export declare const OFFICIAL_ALL_DAY_IDS: readonly ["deepseek-official/deepseek-flash", "deepseek-official/deepseek-pro"];
29
+ export declare const OFFICIAL_ALL_DAY_IDS: readonly ["deepseek-official/deepseek-flash", "deepseek-official/deepseek-v4-pro"];
27
30
  /** Whether `id` is one of the two official all-day tail ids. */
28
31
  export declare function isOfficialAllDayId(id: string): boolean;
29
32
  /** The four frozen preset ids (exact strings, spec lock). */
@@ -76,8 +79,10 @@ export declare const PRESETS: Record<PresetId, PresetDefinition>;
76
79
  * entry (the tail — the card's 默认模型 panel) is exactly one official
77
80
  * model — Flash or Pro (XOR). Leading entries (the card's 默认降级链 block)
78
81
  * are the ordered walk before that last-resort fallback. An empty chain or
79
- * a chain whose tail is not an official model (including the retired V4
80
- * ids) keeps slot rows inert and refuses the virtual-row
82
+ * a chain whose tail is not an official model (the retired
83
+ * `deepseek-v4-flash` and the never-served legacy
84
+ * `deepseek-official/deepseek-pro` included) keeps slot rows inert and
85
+ * refuses the virtual-row
81
86
  * delegate; the v0.2.2 failure walk over the raw chain stays
82
87
  * verbatim.
83
88
  */
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "dsh",
6
6
  "dsh-plugin"
7
7
  ],
8
- "version": "0.5.2",
8
+ "version": "0.6.1",
9
9
  "type": "module",
10
10
  "main": "./dist/index.js",
11
11
  "types": "./dist/index.d.ts",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "client": {
34
34
  "inject": [
35
- "@deepseek-ai/dsh-client-ui-settings-plugins",
35
+ "@deepseek-ai/dsh-client-ui-plugin-manager",
36
36
  "@deepseek-ai/dsh-client-ui-settings",
37
37
  "@deepseek-ai/dsh-client-ui-conversation",
38
38
  "@deepseek-ai/dsh-client-locale",
@@ -61,29 +61,29 @@
61
61
  },
62
62
  "peerDependencies": {
63
63
  "@deepseek-ai/cordis": "^4.0.2",
64
- "@deepseek-ai/dsh-agent": "^0.1.5-rc.2",
65
- "@deepseek-ai/dsh-api-gateway": "^0.1.5-rc.2",
66
- "@deepseek-ai/dsh-api-remotes": "^0.1.5-rc.2",
67
- "@deepseek-ai/dsh-api-session-controller": "^0.1.5-rc.2",
68
- "@deepseek-ai/dsh-client-connection": "^0.1.5-rc.2",
69
- "@deepseek-ai/dsh-client-locale": "^0.1.5-rc.2",
70
- "@deepseek-ai/dsh-client-store": "^0.1.5-rc.2",
71
- "@deepseek-ai/dsh-client-ui-chat": "^0.1.5-rc.2",
72
- "@deepseek-ai/dsh-client-ui-conversation": "^0.1.5-rc.2",
73
- "@deepseek-ai/dsh-client-ui-primitives": "^0.1.5-rc.2",
74
- "@deepseek-ai/dsh-client-ui-renderer": "^0.1.5-rc.2",
75
- "@deepseek-ai/dsh-client-ui-settings": "^0.1.5-rc.2",
76
- "@deepseek-ai/dsh-client-ui-settings-plugins": "^0.1.5-rc.2",
77
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.5-rc.2",
78
- "@deepseek-ai/dsh-commands": "^0.1.5-rc.2",
79
- "@deepseek-ai/dsh-llm": "^0.1.5-rc.2",
80
- "@deepseek-ai/dsh-llm-retry": "^0.1.5-rc.2",
81
- "@deepseek-ai/dsh-session": "^0.1.5-rc.2",
82
- "@deepseek-ai/dsh-session-projection": "^0.1.5-rc.2",
83
- "@deepseek-ai/dsh-settings": "^0.1.5-rc.2",
84
- "@deepseek-ai/dsh-tool-subagent": "^0.1.5-rc.2",
85
- "@deepseek-ai/dsh-typert-protocol": "^0.1.5-rc.2",
86
- "@deepseek-ai/dsh-typert-registry": "^0.1.5-rc.2",
64
+ "@deepseek-ai/dsh-agent": "^0.1.7-rc.2",
65
+ "@deepseek-ai/dsh-api-gateway": "^0.1.7-rc.2",
66
+ "@deepseek-ai/dsh-api-remotes": "^0.1.7-rc.2",
67
+ "@deepseek-ai/dsh-api-session-controller": "^0.1.7-rc.2",
68
+ "@deepseek-ai/dsh-client-connection": "^0.1.7-rc.2",
69
+ "@deepseek-ai/dsh-client-locale": "^0.1.7-rc.2",
70
+ "@deepseek-ai/dsh-client-store": "^0.1.7-rc.2",
71
+ "@deepseek-ai/dsh-client-ui-chat": "^0.1.7-rc.2",
72
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.1.7-rc.2",
73
+ "@deepseek-ai/dsh-client-ui-plugin-manager": "^0.1.7-rc.2",
74
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.1.7-rc.2",
75
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-rc.2",
76
+ "@deepseek-ai/dsh-client-ui-settings": "^0.1.7-rc.2",
77
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.7-rc.2",
78
+ "@deepseek-ai/dsh-commands": "^0.1.7-rc.2",
79
+ "@deepseek-ai/dsh-llm": "^0.1.7-rc.2",
80
+ "@deepseek-ai/dsh-llm-retry": "^0.1.7-rc.2",
81
+ "@deepseek-ai/dsh-session": "^0.1.7-rc.2",
82
+ "@deepseek-ai/dsh-session-projection": "^0.1.7-rc.2",
83
+ "@deepseek-ai/dsh-settings": "^0.1.7-rc.2",
84
+ "@deepseek-ai/dsh-tool-subagent": "^0.1.7-rc.2",
85
+ "@deepseek-ai/dsh-typert-protocol": "^0.1.7-rc.2",
86
+ "@deepseek-ai/dsh-typert-registry": "^0.1.7-rc.2",
87
87
  "@deepseek-ai/schemastery": "^3.18.2",
88
88
  "react": "^18.2.0"
89
89
  },
@@ -31,8 +31,9 @@
31
31
  * The `@deepseek-ai/*` purity gate (mirror of the host's
32
32
  * `dsh-client-bundle-purity` plugin) is enforced at resolution time: any
33
33
  * value import of an `@deepseek-ai/*` module outside CLIENT_EXTERNALS
34
- * throws, so the 20260812 type-only peers (`dsh-client-ui-settings-plugins`,
35
- * `dsh-client-locale`, `dsh-api-remotes`, …) can never leak into the
34
+ * throws, so the type-only peers (`dsh-client-locale`, `dsh-api-remotes`, …;
35
+ * since 0.1.7 also `dsh-client-ui-plugin-manager`, which replaced the retired
36
+ * `dsh-client-ui-settings-plugins` in the inject table) can never leak into the
36
37
  * browser-loadable artifact. The emitted text may reference only
37
38
  * CLIENT_EXTERNALS entries (asserted below).
38
39
  */
@@ -48,7 +49,7 @@ const OUT_FILE = 'index.js'
48
49
 
49
50
  /**
50
51
  * Frozen loader module table (dsh mechanism-guide): the plan-documented
51
- * composition = PLATFORM_MODULES (9 entries in 0.1.5-rc.2,
52
+ * composition = PLATFORM_MODULES (9 entries in 0.1.7-rc.1,
52
53
  * `web/src/platform.ts:8-16` — the old runtime `./client` exemption became
53
54
  * the `@deepseek-ai/dsh-client-store` platform module, so the store VALUE
54
55
  * import stays external and resolves from the host loader table) + the
@@ -309,8 +310,8 @@ function collectCssSelectors(cssText: string): string[] {
309
310
  // css-module class map (the transform ran), must NOT contain `import.meta` /
310
311
  // ESM statements (the classic-script loader would fail to parse them), every
311
312
  // `@deepseek-ai/*` reference in the emitted text must be a documented
312
- // CLIENT_EXTERNALS entry (the 20260812 type-only peers —
313
- // `dsh-client-ui-settings-plugins` / `dsh-client-locale` / `dsh-api-remotes` and
313
+ // CLIENT_EXTERNALS entry (the type-only peers —
314
+ // `dsh-client-ui-plugin-manager` / `dsh-client-locale` / `dsh-api-remotes` and
314
315
  // the other type-only imports — must never appear at runtime, whether as
315
316
  // `require(...)` calls or as any other surviving text reference), and every
316
317
  // css-module class must be a legal CSS identifier — `hashClass` emits