dsh-model-switch 0.0.0-stage → 0.4.18

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.
Files changed (63) hide show
  1. package/CHANGELOG.md +184 -0
  2. package/IMPLEMENTATION_PLAN.md +40 -0
  3. package/LICENSE +21 -0
  4. package/PRODUCT.md +33 -0
  5. package/README.md +198 -3
  6. package/README.zh.md +196 -0
  7. package/cordis.patch.yml +18 -0
  8. package/docs/screenshots/composer-picker.png +0 -0
  9. package/docs/screenshots/plan-review.png +0 -0
  10. package/docs/screenshots/settings-subagent.png +0 -0
  11. package/lib/adapter-registry.js +59 -0
  12. package/lib/capabilities.js +73 -0
  13. package/lib/client.js +3956 -0
  14. package/lib/index.js +1030 -0
  15. package/lib/main-settings.js +30 -0
  16. package/lib/subagent-route-policy.js +55 -0
  17. package/lib/subagent-runtime.js +186 -0
  18. package/lib/types/adapter-registry.d.ts +60 -0
  19. package/lib/types/capabilities-rpc.d.ts +12 -0
  20. package/lib/types/capabilities.d.ts +22 -0
  21. package/lib/types/client/ModelSwitchSettings.d.ts +32 -0
  22. package/lib/types/client/antigravity-catalog.d.ts +30 -0
  23. package/lib/types/client/derived-config-form.d.ts +10 -0
  24. package/lib/types/client/derived-settings-scope.d.ts +4 -0
  25. package/lib/types/client/index.d.ts +10 -0
  26. package/lib/types/client/locales.d.ts +45 -0
  27. package/lib/types/client/main-row-controller.d.ts +49 -0
  28. package/lib/types/client/nav-icon.d.ts +3 -0
  29. package/lib/types/client/picker/ComposerPicker.d.ts +47 -0
  30. package/lib/types/client/picker/PickerDirectory.d.ts +31 -0
  31. package/lib/types/client/picker/PickerSeatBoundary.d.ts +7 -0
  32. package/lib/types/client/picker/PlanReviewCard.d.ts +37 -0
  33. package/lib/types/client/picker/RetryBoundary.d.ts +20 -0
  34. package/lib/types/client/picker/external-catalog.d.ts +14 -0
  35. package/lib/types/client/picker/install.d.ts +23 -0
  36. package/lib/types/client/picker/locales.d.ts +104 -0
  37. package/lib/types/client/picker/main-default-restore.d.ts +56 -0
  38. package/lib/types/client/picker/popup-dismissal.d.ts +22 -0
  39. package/lib/types/client/picker/useComposerPickerSurface.d.ts +25 -0
  40. package/lib/types/client/plugin-rpc.d.ts +10 -0
  41. package/lib/types/client/provider-directory.d.ts +23 -0
  42. package/lib/types/client/remote-settings-scope.d.ts +45 -0
  43. package/lib/types/client/runtime-lock.d.ts +68 -0
  44. package/lib/types/client/search-capabilities.d.ts +21 -0
  45. package/lib/types/client-contract.d.ts +51 -0
  46. package/lib/types/compatibility.d.ts +38 -0
  47. package/lib/types/deepseek-search-adapter.d.ts +14 -0
  48. package/lib/types/host-runtime.d.ts +78 -0
  49. package/lib/types/host-settings.d.ts +49 -0
  50. package/lib/types/image-tool.d.ts +17 -0
  51. package/lib/types/index.d.ts +7 -0
  52. package/lib/types/main-settings.d.ts +9 -0
  53. package/lib/types/picker/family.d.ts +108 -0
  54. package/lib/types/picker/pending-dismissal.d.ts +34 -0
  55. package/lib/types/picker/plan-review.d.ts +57 -0
  56. package/lib/types/picker/public.d.ts +5 -0
  57. package/lib/types/picker/selection-feedback.d.ts +2 -0
  58. package/lib/types/runtime-capabilities.d.ts +50 -0
  59. package/lib/types/search-provider.d.ts +23 -0
  60. package/lib/types/subagent-route-policy.d.ts +26 -0
  61. package/lib/types/subagent-runtime.d.ts +51 -0
  62. package/lib/types/switch-compact.d.ts +72 -0
  63. package/package.json +343 -6
package/package.json CHANGED
@@ -1,6 +1,343 @@
1
- {
2
- "name": "dsh-model-switch",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
1
+ {
2
+ "name": "dsh-model-switch",
3
+ "version": "0.4.18",
4
+ "description": "Explicit model routing plus composer/Plan picker for DeepSeek Harness",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/vandoor7-droid/dsh-model-switch.git"
8
+ },
9
+ "homepage": "https://github.com/vandoor7-droid/dsh-model-switch#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/vandoor7-droid/dsh-model-switch/issues"
12
+ },
13
+ "publishConfig": {
14
+ "access": "public"
15
+ },
16
+ "packageManager": "pnpm@10.33.0",
17
+ "type": "module",
18
+ "main": "lib/index.js",
19
+ "types": "lib/types/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./lib/types/index.d.ts",
23
+ "default": "./lib/index.js"
24
+ },
25
+ "./client": {
26
+ "types": "./lib/types/client/index.d.ts",
27
+ "default": "./lib/client.js"
28
+ },
29
+ "./capabilities": {
30
+ "types": "./lib/types/capabilities.d.ts",
31
+ "default": "./lib/capabilities.js"
32
+ },
33
+ "./main-settings": {
34
+ "types": "./lib/types/main-settings.d.ts",
35
+ "default": "./lib/main-settings.js"
36
+ },
37
+ "./subagent-route-policy": {
38
+ "types": "./lib/types/subagent-route-policy.d.ts",
39
+ "default": "./lib/subagent-route-policy.js"
40
+ },
41
+ "./subagent-runtime": {
42
+ "types": "./lib/types/subagent-runtime.d.ts",
43
+ "default": "./lib/subagent-runtime.js"
44
+ },
45
+ "./adapter-registry": {
46
+ "types": "./lib/types/adapter-registry.d.ts",
47
+ "default": "./lib/adapter-registry.js"
48
+ },
49
+ "./package.json": "./package.json"
50
+ },
51
+ "files": [
52
+ "lib/*.js",
53
+ "lib/types/**/*.d.ts",
54
+ "cordis.patch.yml",
55
+ "CHANGELOG.md",
56
+ "README.md",
57
+ "README.zh.md",
58
+ "docs/screenshots/*.png",
59
+ "PRODUCT.md",
60
+ "IMPLEMENTATION_PLAN.md"
61
+ ],
62
+ "scripts": {
63
+ "bundle": "tsdown",
64
+ "build": "tsc -p tsconfig.json && tsdown",
65
+ "prepublishOnly": "pnpm run build",
66
+ "test": "vitest run",
67
+ "typecheck": "tsc -p tsconfig.json --noEmit",
68
+ "pack:check": "node scripts/check-rc1-pack.mjs",
69
+ "fixtures:alpha4": "DSH_ALPHA4_PLUGIN_ROOT=\"$PWD\" node scripts/prepare-alpha4-fixtures.mjs",
70
+ "check": "pnpm run build && pnpm run test && pnpm run pack:check"
71
+ },
72
+ "engines": {
73
+ "node": "^22.19.0 || >=24.0.0"
74
+ },
75
+ "license": "MIT",
76
+ "dsh": {
77
+ "bundle": {
78
+ "patch": "./cordis.patch.yml"
79
+ },
80
+ "client": {
81
+ "inject": [
82
+ "@deepseek-ai/dsh-api-remotes",
83
+ "@deepseek-ai/dsh-client-locale",
84
+ "@deepseek-ai/dsh-client-ui-settings",
85
+ "@deepseek-ai/dsh-client-ui-conversation",
86
+ "@deepseek-ai/dsh-client-ui-model-selection",
87
+ "@deepseek-ai/dsh-client-ui-primitives",
88
+ "@deepseek-ai/dsh-client-ui-user-questions"
89
+ ],
90
+ "platform": "web"
91
+ },
92
+ "compatibility": {
93
+ "dshReleases": {
94
+ "0.1.7-alpha.2": "compatible",
95
+ "0.1.7-rc.1": "compatible",
96
+ "0.1.7-rc.2": "compatible",
97
+ "0.2.0-rc.2": "compatible"
98
+ }
99
+ }
100
+ },
101
+ "peerDependencies": {
102
+ "@deepseek-ai/cordis": ">=4.0.4 <5.0.0",
103
+ "@deepseek-ai/dsh-agent": ">=0.1.7-alpha.2",
104
+ "@deepseek-ai/dsh-agent-default-model": ">=0.1.7-alpha.2",
105
+ "@deepseek-ai/dsh-api-remotes": ">=0.1.7-alpha.2",
106
+ "@deepseek-ai/dsh-api-session-controller": ">=0.1.7-alpha.2",
107
+ "@deepseek-ai/dsh-client-connection": ">=0.1.7-alpha.2",
108
+ "@deepseek-ai/dsh-client-locale": ">=0.1.7-alpha.2",
109
+ "@deepseek-ai/dsh-client-ui-commands": ">=0.1.7-alpha.2",
110
+ "@deepseek-ai/dsh-client-ui-conversation": ">=0.1.7-alpha.2",
111
+ "@deepseek-ai/dsh-client-ui-model-selection": ">=0.1.7-alpha.2",
112
+ "@deepseek-ai/dsh-client-ui-primitives": ">=0.1.7-alpha.2",
113
+ "@deepseek-ai/dsh-client-ui-renderer": ">=0.1.7-alpha.2",
114
+ "@deepseek-ai/dsh-client-ui-settings": ">=0.1.7-alpha.2",
115
+ "@deepseek-ai/dsh-client-ui-sidebar": ">=0.1.7-alpha.2",
116
+ "@deepseek-ai/dsh-client-ui-slots": ">=0.1.7-alpha.2",
117
+ "@deepseek-ai/dsh-client-ui-user-questions": ">=0.1.7-alpha.2",
118
+ "@deepseek-ai/dsh-client-ui-workspace": ">=0.1.7-alpha.2",
119
+ "@deepseek-ai/dsh-compaction": ">=0.1.7-alpha.2",
120
+ "@deepseek-ai/dsh-compaction-basic": ">=0.1.7-alpha.2",
121
+ "@deepseek-ai/dsh-credentials": ">=0.1.7-alpha.2",
122
+ "@deepseek-ai/dsh-launch-environment": ">=0.1.7-alpha.2",
123
+ "@deepseek-ai/dsh-llm": ">=0.1.7-alpha.2",
124
+ "@deepseek-ai/dsh-permission-presets": ">=0.1.7-alpha.2",
125
+ "@deepseek-ai/dsh-plan-mode": ">=0.1.7-alpha.2",
126
+ "@deepseek-ai/dsh-session": ">=0.1.7-alpha.2",
127
+ "@deepseek-ai/dsh-settings": ">=0.1.7-alpha.2",
128
+ "@deepseek-ai/dsh-subagent": ">=0.1.7-alpha.2",
129
+ "@deepseek-ai/dsh-system-prompt": ">=0.1.7-alpha.2",
130
+ "@deepseek-ai/dsh-token-meter": ">=0.1.7-alpha.2",
131
+ "@deepseek-ai/dsh-tools": ">=0.1.7-alpha.2",
132
+ "@deepseek-ai/dsh-util-time": ">=0.1.7-alpha.2",
133
+ "@deepseek-ai/dsh-web": ">=0.1.7-alpha.2",
134
+ "@deepseek-ai/dsh-web-search-deepseek": ">=0.1.7-alpha.2",
135
+ "react": "^18.2.0",
136
+ "react-dom": "^18.2.0"
137
+ },
138
+ "devDependencies": {
139
+ "@deepseek-ai/cordis": ">=4.0.4 <5.0.0",
140
+ "@deepseek-ai/cordis-plugin-include": "1.0.9",
141
+ "@deepseek-ai/cordis-plugin-loader": "1.0.5",
142
+ "@deepseek-ai/dsh-agent": ">=0.1.7-alpha.2",
143
+ "@deepseek-ai/dsh-agent-default-model": ">=0.1.7-alpha.2",
144
+ "@deepseek-ai/dsh-agent-loop": ">=0.1.7-alpha.2",
145
+ "@deepseek-ai/dsh-agent-loop-testkit": ">=0.1.7-alpha.2",
146
+ "@deepseek-ai/dsh-api-gateway": ">=0.1.7-alpha.2",
147
+ "@deepseek-ai/dsh-api-remotes": ">=0.1.7-alpha.2",
148
+ "@deepseek-ai/dsh-api-session-controller": ">=0.1.7-alpha.2",
149
+ "@deepseek-ai/dsh-api-settings-controller": ">=0.1.7-alpha.2",
150
+ "@deepseek-ai/dsh-api-workspace-controller": ">=0.1.7-alpha.2",
151
+ "@deepseek-ai/dsh-atomic-write": ">=0.1.7-alpha.2",
152
+ "@deepseek-ai/dsh-attachment": ">=0.1.7-alpha.2",
153
+ "@deepseek-ai/dsh-brand": ">=0.1.7-alpha.2",
154
+ "@deepseek-ai/dsh-client-connection": ">=0.1.7-alpha.2",
155
+ "@deepseek-ai/dsh-client-locale": ">=0.1.7-alpha.2",
156
+ "@deepseek-ai/dsh-client-store": ">=0.1.7-alpha.2",
157
+ "@deepseek-ai/dsh-client-ui-commands": ">=0.1.7-alpha.2",
158
+ "@deepseek-ai/dsh-client-ui-conversation": ">=0.1.7-alpha.2",
159
+ "@deepseek-ai/dsh-client-ui-input-trigger": ">=0.1.7-alpha.2",
160
+ "@deepseek-ai/dsh-client-ui-layout": ">=0.1.7-alpha.2",
161
+ "@deepseek-ai/dsh-client-ui-model-selection": ">=0.1.7-alpha.2",
162
+ "@deepseek-ai/dsh-client-ui-primitives": ">=0.1.7-alpha.2",
163
+ "@deepseek-ai/dsh-client-ui-renderer": ">=0.1.7-alpha.2",
164
+ "@deepseek-ai/dsh-client-ui-session": ">=0.1.7-alpha.2",
165
+ "@deepseek-ai/dsh-client-ui-settings": ">=0.1.7-alpha.2",
166
+ "@deepseek-ai/dsh-client-ui-sidebar": ">=0.1.7-alpha.2",
167
+ "@deepseek-ai/dsh-client-ui-slots": ">=0.1.7-alpha.2",
168
+ "@deepseek-ai/dsh-client-ui-theme": ">=0.1.7-alpha.2",
169
+ "@deepseek-ai/dsh-client-ui-user-questions": ">=0.1.7-alpha.2",
170
+ "@deepseek-ai/dsh-client-ui-workspace": ">=0.1.7-alpha.2",
171
+ "@deepseek-ai/dsh-commands": ">=0.1.7-alpha.2",
172
+ "@deepseek-ai/dsh-compaction": ">=0.1.7-alpha.2",
173
+ "@deepseek-ai/dsh-compaction-basic": ">=0.1.7-alpha.2",
174
+ "@deepseek-ai/dsh-cordis-host-runner": ">=0.1.7-alpha.2",
175
+ "@deepseek-ai/dsh-credentials": ">=0.1.7-alpha.2",
176
+ "@deepseek-ai/dsh-file-reference": ">=0.1.7-alpha.2",
177
+ "@deepseek-ai/dsh-fs": ">=0.1.7-alpha.2",
178
+ "@deepseek-ai/dsh-goal": ">=0.1.7-alpha.2",
179
+ "@deepseek-ai/dsh-home-paths": ">=0.1.7-alpha.2",
180
+ "@deepseek-ai/dsh-host-directory-picker": ">=0.1.7-alpha.2",
181
+ "@deepseek-ai/dsh-host-plugin-inventory": ">=0.1.7-alpha.2",
182
+ "@deepseek-ai/dsh-host-webserver": ">=0.1.7-alpha.2",
183
+ "@deepseek-ai/dsh-invariants": ">=0.1.7-alpha.2",
184
+ "@deepseek-ai/dsh-launch-environment": ">=0.1.7-alpha.2",
185
+ "@deepseek-ai/dsh-llm": ">=0.1.7-alpha.2",
186
+ "@deepseek-ai/dsh-llm-retry": ">=0.1.7-alpha.2",
187
+ "@deepseek-ai/dsh-message-feedback": ">=0.1.7-alpha.2",
188
+ "@deepseek-ai/dsh-native-command": ">=0.1.7-alpha.2",
189
+ "@deepseek-ai/dsh-output-retention": ">=0.1.7-alpha.2",
190
+ "@deepseek-ai/dsh-permission-presets": ">=0.1.7-alpha.2",
191
+ "@deepseek-ai/dsh-plan-mode": ">=0.1.7-alpha.2",
192
+ "@deepseek-ai/dsh-sandbox": ">=0.1.7-alpha.2",
193
+ "@deepseek-ai/dsh-sandbox-policy": ">=0.1.7-alpha.2",
194
+ "@deepseek-ai/dsh-scope": ">=0.1.7-alpha.2",
195
+ "@deepseek-ai/dsh-session": ">=0.1.7-alpha.2",
196
+ "@deepseek-ai/dsh-session-persistence": ">=0.1.7-alpha.2",
197
+ "@deepseek-ai/dsh-session-persistence-jsonl": ">=0.1.7-alpha.2",
198
+ "@deepseek-ai/dsh-session-projection": ">=0.1.7-alpha.2",
199
+ "@deepseek-ai/dsh-session-query": ">=0.1.7-alpha.2",
200
+ "@deepseek-ai/dsh-session-reference": ">=0.1.7-alpha.2",
201
+ "@deepseek-ai/dsh-session-title": ">=0.1.7-alpha.2",
202
+ "@deepseek-ai/dsh-settings": ">=0.1.7-alpha.2",
203
+ "@deepseek-ai/dsh-shell": ">=0.1.7-alpha.2",
204
+ "@deepseek-ai/dsh-skill": ">=0.1.7-alpha.2",
205
+ "@deepseek-ai/dsh-storage": ">=0.1.7-alpha.2",
206
+ "@deepseek-ai/dsh-storage-domain": ">=0.1.7-alpha.2",
207
+ "@deepseek-ai/dsh-subagent": ">=0.1.7-alpha.2",
208
+ "@deepseek-ai/dsh-subagent-in-process-driver": ">=0.1.7-alpha.2",
209
+ "@deepseek-ai/dsh-subagent-spawn-in-process": ">=0.1.7-alpha.2",
210
+ "@deepseek-ai/dsh-subprocess": ">=0.1.7-alpha.2",
211
+ "@deepseek-ai/dsh-system-prompt": ">=0.1.7-alpha.2",
212
+ "@deepseek-ai/dsh-timeout": ">=0.1.7-alpha.2",
213
+ "@deepseek-ai/dsh-token-meter": ">=0.1.7-alpha.2",
214
+ "@deepseek-ai/dsh-tool-todo": ">=0.1.7-alpha.2",
215
+ "@deepseek-ai/dsh-tools": ">=0.1.7-alpha.2",
216
+ "@deepseek-ai/dsh-typert-protocol": ">=0.1.7-alpha.2",
217
+ "@deepseek-ai/dsh-typert-registry": ">=0.1.7-alpha.2",
218
+ "@deepseek-ai/dsh-user-approval": ">=0.1.7-alpha.2",
219
+ "@deepseek-ai/dsh-user-questions": ">=0.1.7-alpha.2",
220
+ "@deepseek-ai/dsh-util-crypto": ">=0.1.7-alpha.2",
221
+ "@deepseek-ai/dsh-util-time": ">=0.1.7-alpha.2",
222
+ "@deepseek-ai/dsh-util-workspace-path": ">=0.1.7-alpha.2",
223
+ "@deepseek-ai/dsh-web": ">=0.1.7-alpha.2",
224
+ "@deepseek-ai/dsh-web-search-deepseek": ">=0.1.7-alpha.2",
225
+ "@deepseek-ai/dsh-workspace": ">=0.1.7-alpha.2",
226
+ "@types/js-yaml": "^4.0.9",
227
+ "@types/node": "^22.0.0",
228
+ "@types/react": "~18.3.1",
229
+ "@types/react-dom": "~18.3.1",
230
+ "@types/react-test-renderer": "18.3.1",
231
+ "dsh-llm-providers-ui": "https://github.com/NOirBRight/dsh-llm-providers-ui/releases/download/v0.2.14/dsh-llm-providers-ui-0.2.14.tgz",
232
+ "happy-dom": "^20.14.5",
233
+ "js-yaml": "^4.1.1",
234
+ "lightningcss": "^1.33.0",
235
+ "react": "^18.2.0",
236
+ "react-dom": "^18.2.0",
237
+ "react-test-renderer": "18.3.1",
238
+ "tsdown": "^0.22.2",
239
+ "typescript": "^5.9.3",
240
+ "vitest": "^4.1.8"
241
+ },
242
+ "dependencies": {
243
+ "@deepseek-ai/schemastery": "~3.18.4"
244
+ },
245
+ "peerDependenciesMeta": {
246
+ "@deepseek-ai/dsh-agent": {
247
+ "optional": true
248
+ },
249
+ "@deepseek-ai/dsh-agent-default-model": {
250
+ "optional": true
251
+ },
252
+ "@deepseek-ai/dsh-api-remotes": {
253
+ "optional": true
254
+ },
255
+ "@deepseek-ai/dsh-api-session-controller": {
256
+ "optional": true
257
+ },
258
+ "@deepseek-ai/dsh-client-locale": {
259
+ "optional": true
260
+ },
261
+ "@deepseek-ai/dsh-client-ui-conversation": {
262
+ "optional": true
263
+ },
264
+ "@deepseek-ai/dsh-client-ui-commands": {
265
+ "optional": true
266
+ },
267
+ "@deepseek-ai/dsh-client-ui-model-selection": {
268
+ "optional": true
269
+ },
270
+ "@deepseek-ai/dsh-client-ui-primitives": {
271
+ "optional": true
272
+ },
273
+ "@deepseek-ai/dsh-client-ui-renderer": {
274
+ "optional": true
275
+ },
276
+ "@deepseek-ai/dsh-client-ui-settings": {
277
+ "optional": true
278
+ },
279
+ "@deepseek-ai/dsh-client-ui-slots": {
280
+ "optional": true
281
+ },
282
+ "@deepseek-ai/dsh-client-ui-workspace": {
283
+ "optional": true
284
+ },
285
+ "@deepseek-ai/dsh-client-ui-sidebar": {
286
+ "optional": true
287
+ },
288
+ "@deepseek-ai/dsh-plan-mode": {
289
+ "optional": true
290
+ },
291
+ "@deepseek-ai/dsh-permission-presets": {
292
+ "optional": true
293
+ },
294
+ "@deepseek-ai/dsh-client-ui-user-questions": {
295
+ "optional": true
296
+ },
297
+ "@deepseek-ai/dsh-llm": {
298
+ "optional": true
299
+ },
300
+ "@deepseek-ai/dsh-session": {
301
+ "optional": true
302
+ },
303
+ "@deepseek-ai/dsh-system-prompt": {
304
+ "optional": true
305
+ },
306
+ "@deepseek-ai/dsh-token-meter": {
307
+ "optional": true
308
+ },
309
+ "@deepseek-ai/dsh-compaction": {
310
+ "optional": true
311
+ },
312
+ "@deepseek-ai/dsh-compaction-basic": {
313
+ "optional": true
314
+ },
315
+ "@deepseek-ai/dsh-settings": {
316
+ "optional": true
317
+ },
318
+ "@deepseek-ai/dsh-subagent": {
319
+ "optional": true
320
+ },
321
+ "@deepseek-ai/dsh-tools": {
322
+ "optional": true
323
+ },
324
+ "@deepseek-ai/dsh-util-time": {
325
+ "optional": true
326
+ },
327
+ "@deepseek-ai/dsh-web": {
328
+ "optional": true
329
+ },
330
+ "@deepseek-ai/dsh-web-search-deepseek": {
331
+ "optional": true
332
+ },
333
+ "@deepseek-ai/dsh-launch-environment": {
334
+ "optional": true
335
+ },
336
+ "@deepseek-ai/dsh-credentials": {
337
+ "optional": true
338
+ },
339
+ "@deepseek-ai/dsh-client-connection": {
340
+ "optional": true
341
+ }
342
+ }
343
+ }