dsh-llm-fallbacks 0.3.2 → 0.3.3

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/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
  ![node](https://img.shields.io/badge/node-%3E%3D22-339933.svg)
7
7
  ![pnpm](https://img.shields.io/badge/pnpm-%3E%3D10-f69220.svg)
8
8
  ![dsh tui](https://img.shields.io/badge/dsh%20tui-compatible-4B32C3.svg)
9
- ![dsh](https://img.shields.io/badge/DSH-0.1.0--rc.8-4B32C3.svg)
9
+ ![dsh](https://img.shields.io/badge/DSH-0.1.1--rc.1-4B32C3.svg)
10
10
  [![dshfind](https://dshfind.com/api/badge/omdsh-dev/dsh-llm-fallbacks?lang=en)](https://dshfind.com/zh/plugins/omdsh-dev/dsh-llm-fallbacks?ref=badge)
11
11
 
12
12
  Automatic provider/model fallback chains for dsh (DeepSeek Harness): when an agent's LLM requests keep failing — retries exhausted, auth errors, quota exceeded, rate limiting (429) — the plugin switches provider/model along the fallback chain for the current role, and the current step/turn continues on the target model: tasks are not interrupted by model problems.
package/README.zh-CN.md CHANGED
@@ -6,7 +6,7 @@
6
6
  ![node](https://img.shields.io/badge/node-%3E%3D22-339933.svg)
7
7
  ![pnpm](https://img.shields.io/badge/pnpm-%3E%3D10-f69220.svg)
8
8
  ![dsh tui](https://img.shields.io/badge/dsh%20tui-compatible-4B32C3.svg)
9
- ![dsh](https://img.shields.io/badge/DSH-0.1.0--rc.8-4B32C3.svg)
9
+ ![dsh](https://img.shields.io/badge/DSH-0.1.1--rc.1-4B32C3.svg)
10
10
  [![dshfind](https://dshfind.com/api/badge/omdsh-dev/dsh-llm-fallbacks?lang=zh)](https://dshfind.com/zh/plugins/omdsh-dev/dsh-llm-fallbacks?ref=badge)
11
11
 
12
12
  dsh(DeepSeek Harness)的自动模型降级插件:当 root agent 或 subagent 的模型请求持续失败(重试耗尽、权限、配额超限、限流 429)时,按角色/模型 fallback 链自动切换 provider/model,当前 step/turn 在目标模型上继续完成——任务不因模型问题中断。
@@ -12,8 +12,10 @@
12
12
  * `/api/fallbacks/get|set|reset`), while `settings.describe` (writable +
13
13
  * namespace directory) and the provider/model catalog stay on
14
14
  * `connection.api` (see `fallbacks-store.ts`).
15
- * - Registers the `settings.plugin.item` card `key: 'fallbacks'` (the rc.7
16
- * keyed slot — no `id`/`order`) with a business-only inject face
15
+ * - Registers the `settings.plugin.item` card `key: 'fallbacks'` with a
16
+ * matching `id: 'fallbacks'` (the rc.7 keyed slot — no `order`; the id
17
+ * keeps the card mountable on hosts that still declare the slot as a list,
18
+ * which requires `options.id`) with a business-only inject face
17
19
  * ({@link FallbacksSettingsController} + the snapshot-selector hook); the
18
20
  * old Settings-nav section registration is removed — deleting the section
19
21
  * registration deletes the nav entry.
@@ -4386,15 +4386,17 @@ window.__ModuleLoader__.load({
4386
4386
  };
4387
4387
  }, "llm-fallbacks: pushed invalidations");
4388
4388
  ctx.slots.inject("settings.plugin.item", function* () {
4389
- yield ctx.slots.register({
4389
+ const cardOptions = {
4390
4390
  name: "settings.plugin.item",
4391
4391
  key: "fallbacks",
4392
+ id: "fallbacks",
4392
4393
  locale: NS,
4393
4394
  inject: () => ({
4394
4395
  controller,
4395
4396
  useSnapshot
4396
4397
  })
4397
- }, FallbacksCard);
4398
+ };
4399
+ yield ctx.slots.register(cardOptions, FallbacksCard);
4398
4400
  });
4399
4401
  ctx.slots.inject("settings.general.item", function* () {
4400
4402
  yield ctx.slots.register({
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "dsh",
6
6
  "dsh-plugin"
7
7
  ],
8
- "version": "0.3.2",
8
+ "version": "0.3.3",
9
9
  "type": "module",
10
10
  "main": "./dist/index.js",
11
11
  "types": "./dist/index.d.ts",
@@ -61,23 +61,23 @@
61
61
  },
62
62
  "peerDependencies": {
63
63
  "@deepseek-ai/cordis": "^4.0.1",
64
- "@deepseek-ai/dsh-agent": "^0.1.0-rc.8",
65
- "@deepseek-ai/dsh-api-gateway": "^0.1.0-rc.8",
66
- "@deepseek-ai/dsh-api-remotes": "^0.1.0-rc.8",
67
- "@deepseek-ai/dsh-client-connection": "^0.1.0-rc.8",
68
- "@deepseek-ai/dsh-client-locale": "^0.1.0-rc.8",
69
- "@deepseek-ai/dsh-client-runtime": "^0.1.0-rc.8",
70
- "@deepseek-ai/dsh-client-ui-conversation": "^0.1.0-rc.8",
71
- "@deepseek-ai/dsh-client-ui-primitives": "^0.1.0-rc.8",
72
- "@deepseek-ai/dsh-client-ui-settings": "^0.1.0-rc.8",
73
- "@deepseek-ai/dsh-client-ui-settings-plugins": "^0.1.0-rc.8",
74
- "@deepseek-ai/dsh-client-ui-slots": "^0.1.0-rc.8",
75
- "@deepseek-ai/dsh-commands": "^0.1.0-rc.8",
76
- "@deepseek-ai/dsh-llm": "^0.1.0-rc.8",
77
- "@deepseek-ai/dsh-session": "^0.1.0-rc.8",
78
- "@deepseek-ai/dsh-settings": "^0.1.0-rc.8",
79
- "@deepseek-ai/dsh-typert-protocol": "^0.1.0-rc.8",
80
- "@deepseek-ai/dsh-typert-registry": "^0.1.0-rc.8",
64
+ "@deepseek-ai/dsh-agent": "^0.1.1-rc.1",
65
+ "@deepseek-ai/dsh-api-gateway": "^0.1.1-rc.1",
66
+ "@deepseek-ai/dsh-api-remotes": "^0.1.1-rc.1",
67
+ "@deepseek-ai/dsh-client-connection": "^0.1.1-rc.1",
68
+ "@deepseek-ai/dsh-client-locale": "^0.1.1-rc.1",
69
+ "@deepseek-ai/dsh-client-runtime": "^0.1.1-rc.1",
70
+ "@deepseek-ai/dsh-client-ui-conversation": "^0.1.1-rc.1",
71
+ "@deepseek-ai/dsh-client-ui-primitives": "^0.1.1-rc.1",
72
+ "@deepseek-ai/dsh-client-ui-settings": "^0.1.1-rc.1",
73
+ "@deepseek-ai/dsh-client-ui-settings-plugins": "^0.1.1-rc.1",
74
+ "@deepseek-ai/dsh-client-ui-slots": "^0.1.1-rc.1",
75
+ "@deepseek-ai/dsh-commands": "^0.1.1-rc.1",
76
+ "@deepseek-ai/dsh-llm": "^0.1.1-rc.1",
77
+ "@deepseek-ai/dsh-session": "^0.1.1-rc.1",
78
+ "@deepseek-ai/dsh-settings": "^0.1.1-rc.1",
79
+ "@deepseek-ai/dsh-typert-protocol": "^0.1.1-rc.1",
80
+ "@deepseek-ai/dsh-typert-registry": "^0.1.1-rc.1",
81
81
  "@deepseek-ai/schemastery": "^3.18.1",
82
82
  "react": "^18.2.0"
83
83
  },