@askdkc/dsh-cli 0.13.2 → 0.13.4

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 (37) hide show
  1. package/README.md +2 -2
  2. package/bin/dsh-tui.js +2 -2
  3. package/lib/types/components/LogoV2.d.ts +1 -5
  4. package/lib/types/components/LogoV2.d.ts.map +1 -1
  5. package/lib/types/components/LogoV2.js +3 -12
  6. package/lib/types/dsh-adapter/bundled-presets.d.ts.map +1 -1
  7. package/lib/types/dsh-adapter/bundled-presets.js +9 -0
  8. package/lib/types/dsh-adapter/contract.d.ts +6 -55
  9. package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
  10. package/lib/types/dsh-adapter/contract.js +15 -129
  11. package/lib/types/dsh-adapter/index.d.ts +3 -3
  12. package/lib/types/dsh-adapter/index.d.ts.map +1 -1
  13. package/lib/types/dsh-adapter/index.js +6 -12
  14. package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
  15. package/lib/types/dsh-adapter/plugin.js +3 -1
  16. package/lib/types/dsh-adapter/recap.d.ts.map +1 -1
  17. package/lib/types/dsh-adapter/recap.js +5 -1
  18. package/lib/types/dsh-adapter/response-language.d.ts +6 -0
  19. package/lib/types/dsh-adapter/response-language.d.ts.map +1 -0
  20. package/lib/types/dsh-adapter/response-language.js +11 -0
  21. package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -1
  22. package/lib/types/dsh-adapter/sideQuestion.js +3 -0
  23. package/lib/types/i18n.d.ts +5 -22
  24. package/lib/types/i18n.d.ts.map +1 -1
  25. package/lib/types/i18n.js +6 -25
  26. package/lib/types/update.d.ts +2 -2
  27. package/lib/types/update.js +2 -2
  28. package/node_modules/@askdkc/dsh-auth/package.json +29 -11
  29. package/node_modules/dsh-working-activity/lib/types/index.js +4 -6
  30. package/node_modules/dsh-working-activity/lib/types/lang.d.ts +10 -8
  31. package/node_modules/dsh-working-activity/lib/types/lang.js +11 -12
  32. package/node_modules/dsh-working-activity/package.json +27 -9
  33. package/node_modules/dsh-working-activity/src/index.ts +4 -6
  34. package/node_modules/dsh-working-activity/src/lang.ts +12 -13
  35. package/package.json +108 -95
  36. package/presets/liangshen/agent.cordis.yml +2 -1
  37. package/presets/response-language.txt +5 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@askdkc/dsh-cli",
3
- "version": "0.13.2",
3
+ "version": "0.13.4",
4
4
  "description": "Interactive terminal interface for DeepSeek Harness agents, sessions and tools.",
5
5
  "keywords": [
6
6
  "dsh",
@@ -128,7 +128,7 @@
128
128
  "tui": "node --import tsx/esm scripts/run.ts",
129
129
  "smoke": "node --import tsx/esm scripts/smoke.tsx",
130
130
  "verify:build": "node scripts/run-verify-build.mjs",
131
- "verify:build:inner": "npm run verify:boundary && npm run verify:contract && npm run verify:herdr && npm run verify:manifest-deps && npm run verify:patch-surface && npm run verify:web-coexistence && npm run verify:plugin-spec && npm run verify:plugin-grants && npm run verify:plugin-storage && npm run verify:plugin-messages && npm run verify:plugin-ledger && npm run verify:plugin-commands && npm run verify:plugin-negotiation && npm run verify:plugin-lifecycle && npm run verify:runtime-themes && npm run verify:packaged-presets && npm run verify:history-search && npm run verify:initial-prompt && npm run verify:minimal-preset-tools && npm run verify:liangshen-bootstrap && npm run verify:inject-channel && npm run verify:wheel-selection && npm run verify:win32-protocol && npm run verify:selection-resize && npm run verify:selection-stale-guard && npm run verify:liangshen-instruction-hint && npm run verify:pointer-events && npm run verify:terminal-images && npm run verify:overlay-occlusion && npm run verify:transcript-images && npm run verify:image-preview && npm run verify:backdrop-dim && npm run verify:composer-image-tokens && npm run verify:image-downsample && npm run verify:chat-overlay && npm run verify:i18n && npm run verify:approval-visibility && npm run verify:adapter-skeleton && npm run verify:adapter-ports && npm run verify:adapter-effect-class && npm run verify:adapter-shadow && npm run verify:adapter-descriptor && npm run verify:adapter-upstream-driver && npm run verify:adapter-kernel-runtime && npm run verify:adapter-live-probes && npm run verify:adapter-slices && npm run verify:adapter-channel && npm run verify:binding-transaction && npm run verify:session-extraction && npm run verify:rewind-edit && npm run verify:model-mode-workspace-extraction && npm run verify:model-lifecycle-fences && npm run verify:reports-metadata && npm run verify:background-extraction && npm run verify:plugin-catalog-extraction && npm run verify:session-reset && npm run verify:channel-ui && npm run verify:adapter-detection && npm run verify:adapter-replay-harness && npm run verify:adapter-channel-conformance && npm run verify:protocol-single-source && npm run verify:compat-removal && npm run verify:terminal-images-sixel && npm run verify:sixel-transcript && npm run verify:migrate-sessions && npm run verify:fixed-window && npm run verify:source-hygiene && npm run verify:renderer-primitives && npm run verify:product-migration && npm run verify:spinner-identity && npm run verify:table-layout && npm run verify:mermaid-diagram && npm run verify:btw && npm run verify:session-mounts && npm run verify:progress-language",
131
+ "verify:build:inner": "npm run verify:boundary && npm run verify:contract && npm run verify:tui-startup-lifecycle && npm run verify:herdr && npm run verify:manifest-deps && npm run verify:patch-surface && npm run verify:patch-surface-regression && npm run verify:web-coexistence && npm run verify:plugin-spec && npm run verify:plugin-grants && npm run verify:plugin-storage && npm run verify:plugin-messages && npm run verify:plugin-ledger && npm run verify:plugin-commands && npm run verify:plugin-negotiation && npm run verify:plugin-lifecycle && npm run verify:runtime-themes && npm run verify:packaged-presets && npm run verify:history-search && npm run verify:initial-prompt && npm run verify:minimal-preset-tools && npm run verify:liangshen-bootstrap && npm run verify:inject-channel && npm run verify:wheel-selection && npm run verify:win32-protocol && npm run verify:selection-resize && npm run verify:selection-stale-guard && npm run verify:liangshen-instruction-hint && npm run verify:pointer-events && npm run verify:terminal-images && npm run verify:overlay-occlusion && npm run verify:transcript-images && npm run verify:image-preview && npm run verify:backdrop-dim && npm run verify:composer-image-tokens && npm run verify:image-downsample && npm run verify:chat-overlay && npm run verify:i18n && npm run verify:approval-visibility && npm run verify:adapter-skeleton && npm run verify:adapter-ports && npm run verify:adapter-effect-class && npm run verify:adapter-shadow && npm run verify:adapter-descriptor && npm run verify:adapter-upstream-driver && npm run verify:adapter-kernel-runtime && npm run verify:adapter-live-probes && npm run verify:adapter-slices && npm run verify:adapter-channel && npm run verify:binding-transaction && npm run verify:session-extraction && npm run verify:rewind-edit && npm run verify:model-mode-workspace-extraction && npm run verify:model-lifecycle-fences && npm run verify:reports-metadata && npm run verify:background-extraction && npm run verify:plugin-catalog-extraction && npm run verify:session-reset && npm run verify:channel-ui && npm run verify:adapter-detection && npm run verify:adapter-replay-harness && npm run verify:adapter-channel-conformance && npm run verify:protocol-single-source && npm run verify:compat-removal && npm run verify:terminal-images-sixel && npm run verify:sixel-transcript && npm run verify:migrate-sessions && npm run verify:fixed-window && npm run verify:source-hygiene && npm run verify:renderer-primitives && npm run verify:product-migration && npm run verify:spinner-identity && npm run verify:table-layout && npm run verify:mermaid-diagram && npm run verify:btw && npm run verify:session-mounts && npm run verify:progress-language && npm run verify:response-language",
132
132
  "verify:boundary": "node --import tsx/esm scripts/verify-adapter-boundary.ts",
133
133
  "verify:i18n": "node --import tsx/esm scripts/verify-i18n.ts",
134
134
  "verify:contract": "node --import tsx/esm scripts/verify-upstream-contract.ts",
@@ -136,6 +136,8 @@
136
136
  "verify:manifest-deps": "node --import tsx/esm scripts/verify-manifest-deps.ts",
137
137
  "verify:patch-surface": "node --import tsx/esm scripts/verify-patch-surface.ts",
138
138
  "verify:fixed-window": "node scripts/verify-fixed-window.mjs",
139
+ "verify:patch-surface-regression": "node scripts/verify-patch-surface-regression.mjs",
140
+ "verify:standalone-runtime": "node scripts/verify-standalone-runtime.mjs",
139
141
  "verify:web-coexistence": "node scripts/verify-web-coexistence.mjs",
140
142
  "verify:plugin-spec": "node --import tsx/esm scripts/verify-plugin-spec.ts",
141
143
  "verify:plugin-grants": "node --import tsx/esm scripts/verify-plugin-grants.ts",
@@ -230,40 +232,43 @@
230
232
  "verify:activity-store": "node --import tsx/esm scripts/verify-activity-store.ts",
231
233
  "verify:activity-store-render": "node --import tsx/esm scripts/verify-activity-store-render.tsx",
232
234
  "verify:activity-ownership": "node --import tsx/esm scripts/verify-activity-ownership.ts",
235
+ "verify:response-language": "node --import tsx/esm scripts/verify-response-language.mjs",
233
236
  "verify:progress-language": "node --import tsx/esm scripts/verify-progress-language.mjs",
234
237
  "verify:opencode-profile": "node scripts/verify-opencode-profile.mjs",
235
- "verify:upstream-source": "node scripts/verify-upstream-source.mjs"
238
+ "verify:upstream-source": "node scripts/verify-upstream-source.mjs",
239
+ "update:dsh": "pnpm update '@deepseek-ai/dsh-*'",
240
+ "verify:tui-startup-lifecycle": "node --import tsx/esm scripts/verify-tui-startup-lifecycle.mjs"
236
241
  },
237
242
  "peerDependencies": {
238
243
  "@deepseek-ai/cordis": "^4.0.1",
239
- "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
240
- "@deepseek-ai/dsh-agent-instructions": "0.2.0-rc.2",
241
- "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.2",
242
- "@deepseek-ai/dsh-atomic-write": "0.2.0-rc.2",
243
- "@deepseek-ai/dsh-commands": "0.2.0-rc.2",
244
- "@deepseek-ai/dsh-cordis-host-runner": "0.2.0-rc.2",
245
- "@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
246
- "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
247
- "@deepseek-ai/dsh-llm-pi-ai": "0.2.0-rc.2",
248
- "@deepseek-ai/dsh-persona": "0.2.0-rc.2",
249
- "@deepseek-ai/dsh-ptc-runtime-node": "0.2.0-rc.2",
250
- "@deepseek-ai/dsh-session": "0.2.0-rc.2",
251
- "@deepseek-ai/dsh-settings": "0.2.0-rc.2",
252
- "@deepseek-ai/dsh-skill": "0.2.0-rc.2",
253
- "@deepseek-ai/dsh-storage": "0.2.0-rc.2",
254
- "@deepseek-ai/dsh-storage-domain": "0.2.0-rc.2",
255
- "@deepseek-ai/dsh-storage-json": "0.2.0-rc.2",
256
- "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
257
- "@deepseek-ai/dsh-terminal": "0.2.0-rc.2",
258
- "@deepseek-ai/dsh-terminal-bash": "0.2.0-rc.2",
259
- "@deepseek-ai/dsh-tool-ask-user": "0.2.0-rc.2",
260
- "@deepseek-ai/dsh-tool-bash-persistent": "0.2.0-rc.2",
261
- "@deepseek-ai/dsh-tool-cordis": "0.2.0-rc.2",
262
- "@deepseek-ai/dsh-tool-subagent": "0.2.0-rc.2",
263
- "@deepseek-ai/dsh-user-approval": "0.2.0-rc.2",
264
- "@deepseek-ai/dsh-user-questions": "0.2.0-rc.2",
265
- "@deepseek-ai/dsh-web-app": "0.2.0-rc.2",
266
- "@deepseek-ai/dsh-workspace": "0.2.0-rc.2",
244
+ "@deepseek-ai/dsh-agent": "*",
245
+ "@deepseek-ai/dsh-agent-instructions": "*",
246
+ "@deepseek-ai/dsh-agent-preset-registry": "*",
247
+ "@deepseek-ai/dsh-atomic-write": "*",
248
+ "@deepseek-ai/dsh-commands": "*",
249
+ "@deepseek-ai/dsh-cordis-host-runner": "*",
250
+ "@deepseek-ai/dsh-invariants": "*",
251
+ "@deepseek-ai/dsh-llm": "*",
252
+ "@deepseek-ai/dsh-llm-pi-ai": "*",
253
+ "@deepseek-ai/dsh-persona": "*",
254
+ "@deepseek-ai/dsh-ptc-runtime-node": "*",
255
+ "@deepseek-ai/dsh-session": "*",
256
+ "@deepseek-ai/dsh-settings": "*",
257
+ "@deepseek-ai/dsh-skill": "*",
258
+ "@deepseek-ai/dsh-storage": "*",
259
+ "@deepseek-ai/dsh-storage-domain": "*",
260
+ "@deepseek-ai/dsh-storage-json": "*",
261
+ "@deepseek-ai/dsh-system-prompt": "*",
262
+ "@deepseek-ai/dsh-terminal": "*",
263
+ "@deepseek-ai/dsh-terminal-bash": "*",
264
+ "@deepseek-ai/dsh-tool-ask-user": "*",
265
+ "@deepseek-ai/dsh-tool-bash-persistent": "*",
266
+ "@deepseek-ai/dsh-tool-cordis": "*",
267
+ "@deepseek-ai/dsh-tool-subagent": "*",
268
+ "@deepseek-ai/dsh-user-approval": "*",
269
+ "@deepseek-ai/dsh-user-questions": "*",
270
+ "@deepseek-ai/dsh-web-app": "*",
271
+ "@deepseek-ai/dsh-workspace": "*",
267
272
  "@deepseek-ai/schemastery": "^3.18.1"
268
273
  },
269
274
  "peerDependenciesMeta": {
@@ -418,69 +423,69 @@
418
423
  "@deepseek-ai/cordis-plugin-loader": "^1.0.5",
419
424
  "@deepseek-ai/cordis-plugin-timer": "^1.1.6",
420
425
  "@deepseek-ai/cosmokit": "^1.8.5",
421
- "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
422
- "@deepseek-ai/dsh-agent-instructions": "0.2.0-rc.2",
423
- "@deepseek-ai/dsh-agent-loop": "0.2.0-rc.2",
424
- "@deepseek-ai/dsh-agent-preset-registry": "0.2.0-rc.2",
425
- "@deepseek-ai/dsh-atomic-write": "0.2.0-rc.2",
426
- "@deepseek-ai/dsh-attachment": "0.2.0-rc.2",
427
- "@deepseek-ai/dsh-brand": "0.2.0-rc.2",
428
- "@deepseek-ai/dsh-command-compact": "0.2.0-rc.2",
429
- "@deepseek-ai/dsh-commands": "0.2.0-rc.2",
430
- "@deepseek-ai/dsh-compaction-basic": "0.2.0-rc.2",
431
- "@deepseek-ai/dsh-compaction-tool-result-pruner": "0.2.0-rc.2",
432
- "@deepseek-ai/dsh-cordis-host-runner": "0.2.0-rc.2",
433
- "@deepseek-ai/dsh-fs": "0.2.0-rc.2",
434
- "@deepseek-ai/dsh-fs-local": "0.2.0-rc.2",
435
- "@deepseek-ai/dsh-home-paths": "0.2.0-rc.2",
436
- "@deepseek-ai/dsh-invariants": "0.2.0-rc.2",
437
- "@deepseek-ai/dsh-llm": "0.2.0-rc.2",
438
- "@deepseek-ai/dsh-llm-pi-ai": "0.2.0-rc.2",
439
- "@deepseek-ai/dsh-persona": "0.2.0-rc.2",
440
- "@deepseek-ai/dsh-plan-mode": "0.2.0-rc.2",
441
- "@deepseek-ai/dsh-ptc-runtime": "0.2.0-rc.2",
442
- "@deepseek-ai/dsh-ptc-runtime-node": "0.2.0-rc.2",
443
- "@deepseek-ai/dsh-sandbox": "0.2.0-rc.2",
444
- "@deepseek-ai/dsh-sandbox-policy": "0.2.0-rc.2",
445
- "@deepseek-ai/dsh-scope": "0.2.0-rc.2",
446
- "@deepseek-ai/dsh-session": "0.2.0-rc.2",
447
- "@deepseek-ai/dsh-session-format-catalog": "0.2.0-rc.2",
448
- "@deepseek-ai/dsh-session-format-v3-to-v4": "0.2.0-rc.2",
449
- "@deepseek-ai/dsh-session-persistence": "0.2.0-rc.2",
450
- "@deepseek-ai/dsh-session-persistence-jsonl": "0.2.0-rc.2",
451
- "@deepseek-ai/dsh-session-projection": "0.2.0-rc.2",
452
- "@deepseek-ai/dsh-settings": "0.2.0-rc.2",
453
- "@deepseek-ai/dsh-skill": "0.2.0-rc.2",
454
- "@deepseek-ai/dsh-skill-filesystem": "0.2.0-rc.2",
455
- "@deepseek-ai/dsh-storage": "0.2.0-rc.2",
456
- "@deepseek-ai/dsh-storage-domain": "0.2.0-rc.2",
457
- "@deepseek-ai/dsh-storage-json": "0.2.0-rc.2",
458
- "@deepseek-ai/dsh-subprocess": "0.2.0-rc.2",
459
- "@deepseek-ai/dsh-system-prompt": "0.2.0-rc.2",
460
- "@deepseek-ai/dsh-terminal": "0.2.0-rc.2",
461
- "@deepseek-ai/dsh-terminal-bash": "0.2.0-rc.2",
462
- "@deepseek-ai/dsh-timeout": "0.2.0-rc.2",
463
- "@deepseek-ai/dsh-tool-ask-user": "0.2.0-rc.2",
464
- "@deepseek-ai/dsh-tool-bash-persistent": "0.2.0-rc.2",
465
- "@deepseek-ai/dsh-tool-cordis": "0.2.0-rc.2",
466
- "@deepseek-ai/dsh-tool-fs": "0.2.0-rc.2",
467
- "@deepseek-ai/dsh-tool-fs-search": "0.2.0-rc.2",
468
- "@deepseek-ai/dsh-tool-goal": "0.2.0-rc.2",
469
- "@deepseek-ai/dsh-tool-jobs": "0.2.0-rc.2",
470
- "@deepseek-ai/dsh-tool-ralph": "0.2.0-rc.2",
471
- "@deepseek-ai/dsh-tool-str-replace-editor": "0.2.0-rc.2",
472
- "@deepseek-ai/dsh-tool-subagent": "0.2.0-rc.2",
473
- "@deepseek-ai/dsh-tool-subagent-control": "0.2.0-rc.2",
474
- "@deepseek-ai/dsh-tool-todo": "0.2.0-rc.2",
475
- "@deepseek-ai/dsh-tool-web": "0.2.0-rc.2",
476
- "@deepseek-ai/dsh-tool-workflow": "0.2.0-rc.2",
477
- "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
478
- "@deepseek-ai/dsh-typert-protocol": "0.2.0-rc.2",
479
- "@deepseek-ai/dsh-user-approval": "0.2.0-rc.2",
480
- "@deepseek-ai/dsh-user-questions": "0.2.0-rc.2",
481
- "@deepseek-ai/dsh-web-app": "0.2.0-rc.2",
482
- "@deepseek-ai/dsh-workflow-ptc": "0.2.0-rc.2",
483
- "@deepseek-ai/dsh-workspace": "0.2.0-rc.2",
426
+ "@deepseek-ai/dsh-agent": "alpha",
427
+ "@deepseek-ai/dsh-agent-instructions": "alpha",
428
+ "@deepseek-ai/dsh-agent-loop": "alpha",
429
+ "@deepseek-ai/dsh-agent-preset-registry": "alpha",
430
+ "@deepseek-ai/dsh-atomic-write": "alpha",
431
+ "@deepseek-ai/dsh-attachment": "alpha",
432
+ "@deepseek-ai/dsh-brand": "alpha",
433
+ "@deepseek-ai/dsh-command-compact": "alpha",
434
+ "@deepseek-ai/dsh-commands": "alpha",
435
+ "@deepseek-ai/dsh-compaction-basic": "alpha",
436
+ "@deepseek-ai/dsh-compaction-tool-result-pruner": "alpha",
437
+ "@deepseek-ai/dsh-cordis-host-runner": "alpha",
438
+ "@deepseek-ai/dsh-fs": "alpha",
439
+ "@deepseek-ai/dsh-fs-local": "alpha",
440
+ "@deepseek-ai/dsh-home-paths": "alpha",
441
+ "@deepseek-ai/dsh-invariants": "alpha",
442
+ "@deepseek-ai/dsh-llm": "alpha",
443
+ "@deepseek-ai/dsh-llm-pi-ai": "alpha",
444
+ "@deepseek-ai/dsh-persona": "alpha",
445
+ "@deepseek-ai/dsh-plan-mode": "alpha",
446
+ "@deepseek-ai/dsh-ptc-runtime": "alpha",
447
+ "@deepseek-ai/dsh-ptc-runtime-node": "alpha",
448
+ "@deepseek-ai/dsh-sandbox": "alpha",
449
+ "@deepseek-ai/dsh-sandbox-policy": "alpha",
450
+ "@deepseek-ai/dsh-scope": "alpha",
451
+ "@deepseek-ai/dsh-session": "alpha",
452
+ "@deepseek-ai/dsh-session-format-catalog": "alpha",
453
+ "@deepseek-ai/dsh-session-format-v3-to-v4": "alpha",
454
+ "@deepseek-ai/dsh-session-persistence": "alpha",
455
+ "@deepseek-ai/dsh-session-persistence-jsonl": "alpha",
456
+ "@deepseek-ai/dsh-session-projection": "alpha",
457
+ "@deepseek-ai/dsh-settings": "alpha",
458
+ "@deepseek-ai/dsh-skill": "alpha",
459
+ "@deepseek-ai/dsh-skill-filesystem": "alpha",
460
+ "@deepseek-ai/dsh-storage": "alpha",
461
+ "@deepseek-ai/dsh-storage-domain": "alpha",
462
+ "@deepseek-ai/dsh-storage-json": "alpha",
463
+ "@deepseek-ai/dsh-subprocess": "alpha",
464
+ "@deepseek-ai/dsh-system-prompt": "alpha",
465
+ "@deepseek-ai/dsh-terminal": "alpha",
466
+ "@deepseek-ai/dsh-terminal-bash": "alpha",
467
+ "@deepseek-ai/dsh-timeout": "alpha",
468
+ "@deepseek-ai/dsh-tool-ask-user": "alpha",
469
+ "@deepseek-ai/dsh-tool-bash-persistent": "alpha",
470
+ "@deepseek-ai/dsh-tool-cordis": "alpha",
471
+ "@deepseek-ai/dsh-tool-fs": "alpha",
472
+ "@deepseek-ai/dsh-tool-fs-search": "alpha",
473
+ "@deepseek-ai/dsh-tool-goal": "alpha",
474
+ "@deepseek-ai/dsh-tool-jobs": "alpha",
475
+ "@deepseek-ai/dsh-tool-ralph": "alpha",
476
+ "@deepseek-ai/dsh-tool-str-replace-editor": "alpha",
477
+ "@deepseek-ai/dsh-tool-subagent": "alpha",
478
+ "@deepseek-ai/dsh-tool-subagent-control": "alpha",
479
+ "@deepseek-ai/dsh-tool-todo": "alpha",
480
+ "@deepseek-ai/dsh-tool-web": "alpha",
481
+ "@deepseek-ai/dsh-tool-workflow": "alpha",
482
+ "@deepseek-ai/dsh-tools": "alpha",
483
+ "@deepseek-ai/dsh-typert-protocol": "alpha",
484
+ "@deepseek-ai/dsh-user-approval": "alpha",
485
+ "@deepseek-ai/dsh-user-questions": "alpha",
486
+ "@deepseek-ai/dsh-web-app": "alpha",
487
+ "@deepseek-ai/dsh-workflow-ptc": "alpha",
488
+ "@deepseek-ai/dsh-workspace": "alpha",
484
489
  "@deepseek-ai/schemastery": "^3.18.1",
485
490
  "@types/lodash-es": "^4.17.0",
486
491
  "@types/node": "^26.4.0",
@@ -491,7 +496,15 @@
491
496
  "esbuild": "0.28.2",
492
497
  "tar": "^7.5.22",
493
498
  "tsx": "^4.0.0",
494
- "typescript": "^6.0.3"
499
+ "typescript": "^6.0.3",
500
+ "@deepseek-ai/dsh-client-ui-conversation": "alpha",
501
+ "@deepseek-ai/dsh-client-ui-renderer": "alpha",
502
+ "@deepseek-ai/dsh-client-ui-session": "alpha",
503
+ "@deepseek-ai/dsh-client-ui-slots": "alpha",
504
+ "@yao-pkg/pkg": "6.22.0",
505
+ "@deepseek-ai/dsh-launch-environment": "alpha",
506
+ "@deepseek-ai/dsh-authorization": "alpha",
507
+ "@deepseek-ai/dsh-credentials": "alpha"
495
508
  },
496
509
  "dsh": {
497
510
  "bundle": {
@@ -76,7 +76,8 @@
76
76
  config: !!js >-
77
77
  (() => {
78
78
  const shared = { complete: true, includeRuntimeContext: false }
79
- const persona = 'You are a helpful software engineer assistant.'
79
+ const policy = process.getBuiltinModule('node:fs').readFileSync(new URL('../response-language.txt', ctx.baseUrl), 'utf8').trim()
80
+ const persona = 'You are a helpful software engineer assistant.\n\n' + policy
80
81
  try {
81
82
  const require = process.getBuiltinModule('node:module').createRequire(ctx.baseUrl)
82
83
  const fs = process.getBuiltinModule('node:fs')
@@ -0,0 +1,5 @@
1
+ Response language policy:
2
+ Use, in order: (1) the user's explicit language request for this task; (2) an explicit continuing language preference from the same conversation; (3) the clearly identifiable language of the current user-authored request; otherwise English.
3
+ If the language is unclear, respond in English. Ask for clarification in English only when the task itself needs clarification. Ambiguous short text such as "chinn korone" or "OK", identifiers, numbers, and code alone do not establish a language. Do not carry forward a previously inferred language when the current request is unclear. Recognizable languages, including Japanese and Chinese, remain supported; Latin script alone does not mean English.
4
+ Apply this rule to prose, progress narration, and every user-facing question header, question, option label, and option description.
5
+ Do not infer the response language from UI settings, OS locale, instruction prose, wrappers, quoted text, attachments, files, tool output, or prior assistant replies. These are not user language preferences. An explicit user language instruction still applies. For delegated work, follow the originating user's language request rather than the language of the generated delegation wrapper.