super-dsh 0.3.0-c → 0.3.0-e

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 (772) hide show
  1. package/README.md +25 -22
  2. package/client/index.js +25 -11
  3. package/cordis.patch.yml +3 -3
  4. package/package.json +20 -8
  5. package/superd-hub/dist/bundle-setup.d.ts +17 -2
  6. package/superd-hub/dist/bundle-setup.js +158 -2
  7. package/superd-hub/dist/client/mesh-api.d.ts +6 -3
  8. package/superd-hub/dist/client/mesh-api.js +20 -5
  9. package/superd-hub/dist/fusion-transport.js +14 -3
  10. package/superd-hub/dist/gateway.js +2 -0
  11. package/superd-hub/dist/machines.d.ts +2 -0
  12. package/superd-hub/dist/machines.js +2 -0
  13. package/superd-hub/dist/mesh-link.d.ts +10 -2
  14. package/superd-hub/dist/mesh-link.js +131 -27
  15. package/superd-hub/dist/mesh-rpc.d.ts +1 -1
  16. package/superd-hub/dist/mesh-rpc.js +20 -12
  17. package/superd-hub/dist/pairing-auth.d.ts +7 -0
  18. package/superd-hub/dist/pairing-auth.js +29 -0
  19. package/superd-hub/lib/client/index.js +25 -11
  20. package/superd-hub/package.json +19 -2
  21. package/superd-hub/scripts/register-companion.mjs +100 -0
  22. package/bundles/better-dsh.tgz +0 -0
  23. package/bundles/manifest.json +0 -10
  24. package/node_modules/better-dsh/LICENSE +0 -24
  25. package/node_modules/better-dsh/README.md +0 -323
  26. package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +0 -52
  27. package/node_modules/better-dsh/cordis.patch.yml +0 -139
  28. package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +0 -14
  29. package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +0 -15
  30. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +0 -236
  31. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +0 -2083
  32. package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +0 -64
  33. package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +0 -256
  34. package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +0 -137
  35. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +0 -201
  36. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +0 -561
  37. package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +0 -307
  38. package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +0 -367
  39. package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +0 -171
  40. package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +0 -187
  41. package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +0 -97
  42. package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +0 -152
  43. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +0 -146
  44. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +0 -50
  45. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +0 -79
  46. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +0 -138
  47. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +0 -161
  48. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +0 -109
  49. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +0 -50
  50. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +0 -113
  51. package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +0 -147
  52. package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +0 -102
  53. package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +0 -128
  54. package/node_modules/better-dsh/docs/20_specs/agent/spec.md +0 -54
  55. package/node_modules/better-dsh/docs/20_specs/ast/spec.md +0 -57
  56. package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +0 -46
  57. package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +0 -107
  58. package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +0 -47
  59. package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +0 -106
  60. package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +0 -44
  61. package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +0 -37
  62. package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +0 -41
  63. package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +0 -73
  64. package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +0 -53
  65. package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +0 -121
  66. package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +0 -108
  67. package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +0 -20
  68. package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +0 -79
  69. package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +0 -22
  70. package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +0 -21
  71. package/node_modules/better-dsh/docs/20_specs/skill/spec.md +0 -58
  72. package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +0 -222
  73. package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +0 -148
  74. package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +0 -43
  75. package/node_modules/better-dsh/docs/50_test-reports/2026-09-06-write/345/267/245/345/205/267sandbox/345/215/207/347/272/247/351/200/217/344/274/240bug/345/244/215/345/217/221/345/217/212/346/214/202/350/265/267-/344/272/213/344/273/266/346/212/245/345/221/212.md +0 -176
  76. package/node_modules/better-dsh/docs/50_test-reports/2026-09-08-hashline-edit-E_RANGE_UNVERIFIED/350/267/250/350/275/256/344/274/232/350/257/235/351/224/256/345/244/261/346/225/210-/350/257/212/346/226/255/346/212/245/345/221/212.md +0 -226
  77. package/node_modules/better-dsh/docs/50_test-reports/2026-09-11-control-prompt-into-eval-description/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -222
  78. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-fs-scheme-resolution-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -81
  79. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-grammar-matrix/344/270/216catalog-centralize-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -234
  80. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-design/351/252/214/350/257/201/346/212/245/345/221/212.md +0 -160
  81. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/345/211/247/346/234/254.md +0 -44
  82. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -89
  83. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-/345/205/255scheme/345/206/222/347/203/237/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -198
  84. package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-hashline-off/344/270/213scheme/345/217/257/350/276/276/346/200/247/345/267/245/345/205/267/351/235/242/344/270/215/345/257/271/347/247/260-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -246
  85. package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-preact-ui-shell/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -50
  86. package/node_modules/better-dsh/docs/50_test-reports/2026-09-14-4999-skill/346/270/205/345/215/225/344/270/216lsp-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
  87. package/node_modules/better-dsh/docs/50_test-reports/2026-09-17-plugins/351/241/265/345/205/255/347/273/204/344/273/266/346/213/206/345/210/206/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
  88. package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-4988/345/217/214/345/271/263/351/235/242/345/220/257/345/212/250/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
  89. package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-better-dsh/347/273/204/344/273/266/347/203/255/346/217/222/346/213/224/344/270/216/344/276/235/350/265/226/347/272/247/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -134
  90. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -92
  91. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/347/254/254/344/270/200/344/272/272/347/247/260/345/244/215/346/265/213/346/212/245/345/221/212.md +0 -125
  92. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-ssh/345/267/245/345/205/267assisted-pty/344/274/232/350/257/235framing/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -207
  93. package/node_modules/better-dsh/docs/50_test-reports/2026-09-24-v0.1.7-rc.1/345/257/271/351/275/220/350/275/256-compaction/344/270/216failover/350/256/276/347/275/256/351/235/242/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -65
  94. package/node_modules/better-dsh/docs/50_test-reports/2026-09-27-lsp-ast-reminder-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -53
  95. package/node_modules/better-dsh/docs/50_test-reports/2026-09-28-ctx-scheme/351/225/277/344/274/232/350/257/235utility/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -155
  96. package/node_modules/better-dsh/docs/50_test-reports/2026-10-01-v0.2.4d-web-password-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -105
  97. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-better-dsh-schemastery/344/276/235/350/265/226/345/243/260/346/230/216/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -62
  98. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-ctx-navigation/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -137
  99. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-v0.2.0-rc.2/345/257/271/351/275/220/350/275/256/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -38
  100. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-ast-engine-deomp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -325
  101. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-better-dsh-tool-surface-repl-dvc-browser-ast-lsp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -185
  102. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-docs-packaging-trim/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
  103. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-physical-import/344/270/216llm-completion-ast/347/233/270/345/257/271/350/267/257/345/276/204/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -101
  104. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-pnpm11/345/271/264/351/276/204/351/227/250/351/224/201/346/226/207/344/273/266/347/233/270/344/275/215/345/256/236/350/257/201.md +0 -54
  105. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-remote-BYO-PTY-label/351/207/215/346/236/204/347/254/254/344/270/200/344/272/272/347/247/260/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -447
  106. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-schemastery-cosmokit/346/272/220/347/240/201/345/206/205/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
  107. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-zero-npm-runtime-deps/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
  108. package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast-engine-deomp-0.2.5-d/345/217/221/345/270/203/351/252/214/346/224/266/346/212/245/345/221/212.md +0 -220
  109. package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast_grep/344/270/216ast_edit/345/245/221/347/272/246/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -151
  110. package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +0 -63
  111. package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +0 -52
  112. package/node_modules/better-dsh/docs/50_test-reports/REPL-/345/267/245/345/205/267/350/260/203/347/224/250-/346/210/252/346/226/255/350/257/212/346/226/255.md +0 -110
  113. package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +0 -44
  114. package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +0 -87
  115. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +0 -81
  116. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +0 -93
  117. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +0 -44
  118. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +0 -110
  119. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +0 -79
  120. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-improved-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -142
  121. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -193
  122. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -96
  123. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -127
  124. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -150
  125. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8e-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -224
  126. package/node_modules/better-dsh/docs/50_test-reports/v0.1.9a-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -168
  127. package/node_modules/better-dsh/docs/50_test-reports/v0.2.0b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -123
  128. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -110
  129. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -86
  130. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -66
  131. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -67
  132. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1e-P1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -136
  133. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +0 -73
  134. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1f-plugin-shipped-ui-patches/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -102
  135. package/node_modules/better-dsh/docs/50_test-reports/v0.2.3b-hashline-content-locator/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -73
  136. package/node_modules/better-dsh/docs/50_test-reports/v0.2.3c-mobile-wave/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -47
  137. package/node_modules/better-dsh/docs/50_test-reports/v0.2.4-ios-focus-zoom-suppression/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -158
  138. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +0 -147
  139. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +0 -123
  140. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +0 -127
  141. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +0 -120
  142. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +0 -129
  143. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +0 -115
  144. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +0 -109
  145. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +0 -97
  146. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +0 -111
  147. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +0 -106
  148. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +0 -97
  149. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +0 -121
  150. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +0 -109
  151. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +0 -106
  152. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +0 -111
  153. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +0 -106
  154. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +0 -132
  155. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +0 -128
  156. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +0 -142
  157. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +0 -149
  158. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +0 -87
  159. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +0 -82
  160. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +0 -86
  161. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +0 -67
  162. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +0 -57
  163. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +0 -88
  164. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +0 -75
  165. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +0 -84
  166. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +0 -86
  167. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +0 -164
  168. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +0 -164
  169. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +0 -150
  170. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +0 -154
  171. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +0 -543
  172. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +0 -545
  173. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +0 -3473
  174. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +0 -3474
  175. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +0 -117
  176. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +0 -119
  177. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +0 -197
  178. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.zh.md +0 -197
  179. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +0 -102
  180. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.zh.md +0 -102
  181. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +0 -101
  182. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +0 -103
  183. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +0 -59
  184. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  185. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +0 -43
  186. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  187. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +0 -132
  188. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +0 -136
  189. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +0 -64
  190. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  191. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  192. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  193. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +0 -364
  194. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +0 -366
  195. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +0 -207
  196. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +0 -209
  197. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +0 -375
  198. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +0 -377
  199. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +0 -39
  200. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +0 -152
  201. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +0 -154
  202. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +0 -102
  203. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +0 -104
  204. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +0 -45
  205. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +0 -51
  206. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +0 -95
  207. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  208. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  209. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  210. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +0 -98
  211. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +0 -98
  212. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +0 -144
  213. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +0 -144
  214. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +0 -84
  215. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +0 -84
  216. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  217. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  218. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.md +0 -108
  219. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  220. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +0 -60
  221. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +0 -62
  222. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +0 -163
  223. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
  224. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +0 -33
  225. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +0 -35
  226. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +0 -167
  227. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +0 -173
  228. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +0 -86
  229. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +0 -88
  230. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +0 -45
  231. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +0 -45
  232. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +0 -22
  233. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +0 -24
  234. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +0 -60
  235. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +0 -62
  236. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +0 -87
  237. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +0 -214
  238. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +0 -263
  239. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +0 -69
  240. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +0 -69
  241. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +0 -1411
  242. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +0 -1413
  243. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +0 -1075
  244. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +0 -1077
  245. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  246. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  247. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  248. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  249. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  250. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  251. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  252. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  253. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +0 -18
  254. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +0 -18
  255. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +0 -53
  256. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +0 -53
  257. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +0 -61
  258. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +0 -61
  259. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +0 -207
  260. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +0 -207
  261. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +0 -170
  262. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +0 -170
  263. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +0 -351
  264. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +0 -351
  265. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +0 -168
  266. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +0 -168
  267. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +0 -195
  268. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +0 -195
  269. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +0 -219
  270. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +0 -219
  271. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +0 -238
  272. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +0 -238
  273. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +0 -258
  274. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +0 -258
  275. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +0 -1209
  276. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +0 -1219
  277. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +0 -329
  278. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +0 -329
  279. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +0 -382
  280. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +0 -382
  281. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +0 -266
  282. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +0 -266
  283. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +0 -505
  284. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +0 -505
  285. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +0 -277
  286. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +0 -277
  287. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +0 -88
  288. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +0 -88
  289. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +0 -290
  290. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +0 -290
  291. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +0 -1080
  292. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +0 -1086
  293. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +0 -202
  294. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +0 -202
  295. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +0 -131
  296. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +0 -131
  297. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +0 -395
  298. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +0 -395
  299. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +0 -87
  300. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +0 -87
  301. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +0 -220
  302. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +0 -220
  303. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +0 -192
  304. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +0 -192
  305. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +0 -59
  306. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +0 -59
  307. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +0 -354
  308. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +0 -354
  309. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +0 -509
  310. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +0 -509
  311. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +0 -219
  312. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +0 -219
  313. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +0 -194
  314. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +0 -194
  315. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +0 -204
  316. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +0 -204
  317. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +0 -1155
  318. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +0 -1159
  319. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +0 -405
  320. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +0 -405
  321. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +0 -303
  322. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +0 -303
  323. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +0 -354
  324. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +0 -354
  325. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +0 -175
  326. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +0 -175
  327. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +0 -117
  328. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +0 -117
  329. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +0 -260
  330. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +0 -260
  331. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +0 -766
  332. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +0 -770
  333. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +0 -324
  334. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +0 -324
  335. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +0 -220
  336. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +0 -220
  337. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +0 -184
  338. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +0 -184
  339. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +0 -32
  340. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +0 -32
  341. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +0 -105
  342. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +0 -105
  343. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +0 -720
  344. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +0 -720
  345. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +0 -343
  346. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +0 -343
  347. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +0 -178
  348. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +0 -178
  349. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +0 -95
  350. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +0 -95
  351. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +0 -154
  352. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +0 -154
  353. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +0 -206
  354. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +0 -206
  355. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +0 -70
  356. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +0 -70
  357. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +0 -278
  358. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +0 -278
  359. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +0 -321
  360. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +0 -321
  361. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +0 -54
  362. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +0 -54
  363. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +0 -2225
  364. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +0 -2233
  365. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +0 -62
  366. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +0 -64
  367. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +0 -106
  368. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +0 -106
  369. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +0 -144
  370. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +0 -144
  371. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +0 -183
  372. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +0 -183
  373. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +0 -52
  374. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +0 -52
  375. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +0 -143
  376. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +0 -143
  377. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +0 -137
  378. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +0 -137
  379. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +0 -148
  380. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +0 -150
  381. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +0 -15
  382. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  383. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +0 -155
  384. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +0 -155
  385. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +0 -189
  386. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.zh.md +0 -189
  387. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +0 -102
  388. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +0 -102
  389. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +0 -30
  390. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +0 -30
  391. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +0 -101
  392. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +0 -101
  393. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +0 -85
  394. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +0 -85
  395. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +0 -190
  396. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +0 -190
  397. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +0 -150
  398. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +0 -150
  399. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +0 -21
  400. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +0 -21
  401. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +0 -11
  402. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +0 -11
  403. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +0 -29
  404. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +0 -29
  405. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +0 -234
  406. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +0 -232
  407. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +0 -63
  408. package/node_modules/better-dsh/docs/dev-test-environment-notes.md +0 -137
  409. package/node_modules/better-dsh/docs/distro-blueprint.md +0 -81
  410. package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
  411. package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +0 -102
  412. package/node_modules/better-dsh/docs/specs/agent/spec.md +0 -54
  413. package/node_modules/better-dsh/docs/specs/ast/spec.md +0 -57
  414. package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +0 -170
  415. package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +0 -51
  416. package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +0 -46
  417. package/node_modules/better-dsh/docs/specs/ctx/spec.md +0 -179
  418. package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +0 -110
  419. package/node_modules/better-dsh/docs/specs/dsh/spec.md +0 -47
  420. package/node_modules/better-dsh/docs/specs/dvc/spec.md +0 -106
  421. package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +0 -44
  422. package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +0 -37
  423. package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +0 -41
  424. package/node_modules/better-dsh/docs/specs/http-read/spec.md +0 -73
  425. package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +0 -53
  426. package/node_modules/better-dsh/docs/specs/lsp/spec.md +0 -121
  427. package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +0 -108
  428. package/node_modules/better-dsh/docs/specs/model-failover/spec.md +0 -20
  429. package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +0 -168
  430. package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +0 -79
  431. package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +0 -22
  432. package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +0 -126
  433. package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +0 -21
  434. package/node_modules/better-dsh/docs/specs/skill/spec.md +0 -58
  435. package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +0 -222
  436. package/node_modules/better-dsh/docs/specs/url-schema/spec.md +0 -148
  437. package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +0 -43
  438. package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +0 -13
  439. package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +0 -85
  440. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +0 -319
  441. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +0 -1214
  442. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +0 -181
  443. package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +0 -209
  444. package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +0 -156
  445. package/node_modules/better-dsh/dsh-docs/AGENTS.md +0 -75
  446. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +0 -84
  447. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +0 -86
  448. package/node_modules/better-dsh/dsh-docs/api-gateway.md +0 -164
  449. package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +0 -164
  450. package/node_modules/better-dsh/dsh-docs/architecture.md +0 -150
  451. package/node_modules/better-dsh/dsh-docs/architecture.zh.md +0 -154
  452. package/node_modules/better-dsh/dsh-docs/baseline.md +0 -13
  453. package/node_modules/better-dsh/dsh-docs/capability-seams.md +0 -543
  454. package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +0 -545
  455. package/node_modules/better-dsh/dsh-docs/config-catalog.md +0 -3473
  456. package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +0 -3474
  457. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +0 -117
  458. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +0 -119
  459. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +0 -197
  460. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +0 -197
  461. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +0 -109
  462. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +0 -109
  463. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +0 -102
  464. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +0 -102
  465. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +0 -101
  466. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +0 -103
  467. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +0 -59
  468. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  469. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +0 -43
  470. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  471. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +0 -132
  472. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +0 -136
  473. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +0 -64
  474. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  475. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  476. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  477. package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +0 -364
  478. package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +0 -366
  479. package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +0 -207
  480. package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +0 -209
  481. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +0 -375
  482. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +0 -377
  483. package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +0 -39
  484. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +0 -152
  485. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +0 -154
  486. package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +0 -102
  487. package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +0 -104
  488. package/node_modules/better-dsh/dsh-docs/cordis-primer.md +0 -45
  489. package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +0 -51
  490. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +0 -95
  491. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  492. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  493. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  494. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +0 -98
  495. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +0 -98
  496. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +0 -144
  497. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +0 -144
  498. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +0 -84
  499. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +0 -84
  500. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  501. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  502. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +0 -108
  503. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  504. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +0 -60
  505. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +0 -62
  506. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +0 -163
  507. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
  508. package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +0 -33
  509. package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +0 -35
  510. package/node_modules/better-dsh/dsh-docs/development.md +0 -167
  511. package/node_modules/better-dsh/dsh-docs/development.zh.md +0 -173
  512. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +0 -86
  513. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +0 -88
  514. package/node_modules/better-dsh/dsh-docs/glossary.md +0 -45
  515. package/node_modules/better-dsh/dsh-docs/glossary.zh.md +0 -45
  516. package/node_modules/better-dsh/dsh-docs/graph-atlas.md +0 -22
  517. package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +0 -24
  518. package/node_modules/better-dsh/dsh-docs/i18n/README.md +0 -60
  519. package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +0 -62
  520. package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +0 -87
  521. package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +0 -214
  522. package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +0 -263
  523. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +0 -69
  524. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +0 -69
  525. package/node_modules/better-dsh/dsh-docs/module-graph.md +0 -1411
  526. package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +0 -1413
  527. package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +0 -1075
  528. package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +0 -1077
  529. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  530. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  531. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  532. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  533. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  534. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  535. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  536. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  537. package/node_modules/better-dsh/dsh-docs/postmortem/README.md +0 -18
  538. package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +0 -18
  539. package/node_modules/better-dsh/dsh-docs/rescope.md +0 -53
  540. package/node_modules/better-dsh/dsh-docs/rescope.zh.md +0 -53
  541. package/node_modules/better-dsh/dsh-docs/session-format-status.md +0 -47
  542. package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +0 -47
  543. package/node_modules/better-dsh/dsh-docs/subsystems/README.md +0 -61
  544. package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +0 -61
  545. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +0 -207
  546. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +0 -207
  547. package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +0 -170
  548. package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +0 -170
  549. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +0 -351
  550. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +0 -351
  551. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +0 -168
  552. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +0 -168
  553. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +0 -91
  554. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +0 -91
  555. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +0 -195
  556. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +0 -195
  557. package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +0 -219
  558. package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +0 -219
  559. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +0 -238
  560. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +0 -238
  561. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +0 -258
  562. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +0 -258
  563. package/node_modules/better-dsh/dsh-docs/subsystems/core.md +0 -1209
  564. package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +0 -1219
  565. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +0 -329
  566. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +0 -329
  567. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +0 -382
  568. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +0 -382
  569. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +0 -266
  570. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +0 -266
  571. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +0 -505
  572. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +0 -505
  573. package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +0 -277
  574. package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +0 -277
  575. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +0 -91
  576. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +0 -91
  577. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +0 -290
  578. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +0 -290
  579. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +0 -1080
  580. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +0 -1086
  581. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +0 -202
  582. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +0 -202
  583. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +0 -131
  584. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +0 -131
  585. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +0 -395
  586. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +0 -395
  587. package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +0 -87
  588. package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +0 -87
  589. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +0 -220
  590. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +0 -220
  591. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +0 -192
  592. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +0 -192
  593. package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +0 -59
  594. package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +0 -59
  595. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +0 -354
  596. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +0 -354
  597. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +0 -509
  598. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +0 -509
  599. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +0 -219
  600. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +0 -219
  601. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +0 -194
  602. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +0 -194
  603. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +0 -204
  604. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +0 -204
  605. package/node_modules/better-dsh/dsh-docs/subsystems/session.md +0 -1155
  606. package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +0 -1159
  607. package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +0 -405
  608. package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +0 -405
  609. package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +0 -303
  610. package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +0 -303
  611. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +0 -148
  612. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +0 -148
  613. package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +0 -354
  614. package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +0 -354
  615. package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +0 -175
  616. package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +0 -175
  617. package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +0 -117
  618. package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +0 -117
  619. package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +0 -260
  620. package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +0 -260
  621. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +0 -766
  622. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +0 -770
  623. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +0 -324
  624. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +0 -324
  625. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +0 -220
  626. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +0 -220
  627. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +0 -184
  628. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +0 -184
  629. package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +0 -32
  630. package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +0 -32
  631. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +0 -105
  632. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +0 -105
  633. package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +0 -720
  634. package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +0 -720
  635. package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +0 -343
  636. package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +0 -343
  637. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +0 -178
  638. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +0 -178
  639. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +0 -95
  640. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +0 -95
  641. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +0 -154
  642. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +0 -154
  643. package/node_modules/better-dsh/dsh-docs/subsystems/web.md +0 -206
  644. package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +0 -206
  645. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +0 -70
  646. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +0 -70
  647. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +0 -278
  648. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +0 -278
  649. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +0 -321
  650. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +0 -321
  651. package/node_modules/better-dsh/dsh-docs/testing.md +0 -54
  652. package/node_modules/better-dsh/dsh-docs/testing.zh.md +0 -54
  653. package/node_modules/better-dsh/dsh-docs/tool-catalog.md +0 -2225
  654. package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +0 -2233
  655. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +0 -62
  656. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +0 -64
  657. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +0 -106
  658. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +0 -106
  659. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +0 -144
  660. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +0 -144
  661. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +0 -183
  662. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +0 -183
  663. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +0 -52
  664. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +0 -52
  665. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +0 -143
  666. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +0 -143
  667. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +0 -137
  668. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +0 -137
  669. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +0 -148
  670. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +0 -150
  671. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +0 -15
  672. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  673. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +0 -155
  674. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +0 -155
  675. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +0 -189
  676. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +0 -189
  677. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +0 -102
  678. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +0 -102
  679. package/node_modules/better-dsh/dsh-docs/user/guide/index.md +0 -30
  680. package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +0 -30
  681. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +0 -101
  682. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +0 -101
  683. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +0 -85
  684. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +0 -85
  685. package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +0 -190
  686. package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +0 -190
  687. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +0 -150
  688. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +0 -150
  689. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +0 -21
  690. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +0 -21
  691. package/node_modules/better-dsh/dsh-docs/user/index.md +0 -11
  692. package/node_modules/better-dsh/dsh-docs/user/index.zh.md +0 -11
  693. package/node_modules/better-dsh/dsh-docs/web-styling.md +0 -29
  694. package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +0 -29
  695. package/node_modules/better-dsh/eval-description.md +0 -33
  696. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +0 -4
  697. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +0 -39
  698. package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +0 -4
  699. package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +0 -17
  700. package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +0 -4
  701. package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +0 -3634
  702. package/node_modules/better-dsh/lib/ast-assets/ast-grep.wasm +0 -0
  703. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  704. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-c.wasm +0 -0
  705. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  706. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-css.wasm +0 -0
  707. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-go.wasm +0 -0
  708. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-html.wasm +0 -0
  709. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  710. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-json.wasm +0 -0
  711. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-python.wasm +0 -0
  712. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  713. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  714. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  715. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  716. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  717. package/node_modules/better-dsh/lib/ast-assets/tree-sitter.wasm +0 -0
  718. package/node_modules/better-dsh/lib/bidi-BalpKaJc.js +0 -16106
  719. package/node_modules/better-dsh/lib/bundle-delivery.d.ts +0 -20
  720. package/node_modules/better-dsh/lib/bundle-delivery.js +0 -212
  721. package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +0 -30
  722. package/node_modules/better-dsh/lib/client/index.js +0 -712
  723. package/node_modules/better-dsh/lib/compaction/index.d.ts +0 -57
  724. package/node_modules/better-dsh/lib/compaction/index.js +0 -145
  725. package/node_modules/better-dsh/lib/failover/index.d.ts +0 -59
  726. package/node_modules/better-dsh/lib/failover/index.js +0 -147
  727. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +0 -71
  728. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +0 -249
  729. package/node_modules/better-dsh/lib/hmr.d.ts +0 -32
  730. package/node_modules/better-dsh/lib/hmr.js +0 -49
  731. package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +0 -208
  732. package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +0 -21061
  733. package/node_modules/better-dsh/lib/index.d.ts +0 -705
  734. package/node_modules/better-dsh/lib/index.js +0 -3816
  735. package/node_modules/better-dsh/lib/kernel-bridge.py +0 -172
  736. package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +0 -195
  737. package/node_modules/better-dsh/lib/kernel-env.d.ts +0 -80
  738. package/node_modules/better-dsh/lib/kernel-env.js +0 -3
  739. package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +0 -894
  740. package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +0 -3
  741. package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +0 -972
  742. package/node_modules/better-dsh/lib/main-BQeFrBM1.js +0 -3
  743. package/node_modules/better-dsh/lib/main-CupOhMp5.js +0 -1432
  744. package/node_modules/better-dsh/lib/mobile/plugin.d.ts +0 -29
  745. package/node_modules/better-dsh/lib/mobile/plugin.js +0 -54
  746. package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +0 -68
  747. package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +0 -1136
  748. package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +0 -178
  749. package/node_modules/better-dsh/lib/py-sdk.d.ts +0 -19
  750. package/node_modules/better-dsh/lib/py-sdk.js +0 -3
  751. package/node_modules/better-dsh/lib/remote/plugin.d.ts +0 -24
  752. package/node_modules/better-dsh/lib/remote/plugin.js +0 -1190
  753. package/node_modules/better-dsh/lib/url-schemes/index.d.ts +0 -88
  754. package/node_modules/better-dsh/lib/url-schemes/index.js +0 -12229
  755. package/node_modules/better-dsh/lib/util-BHL_dfV_.js +0 -2953
  756. package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +0 -1291
  757. package/node_modules/better-dsh/lib/web-password.d.ts +0 -156
  758. package/node_modules/better-dsh/lib/web-password.js +0 -562
  759. package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +0 -3440
  760. package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +0 -393
  761. package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +0 -113
  762. package/node_modules/better-dsh/lib/web-trust.d.ts +0 -3
  763. package/node_modules/better-dsh/lib/web-trust.js +0 -4
  764. package/node_modules/better-dsh/lib/webserver.d.ts +0 -10
  765. package/node_modules/better-dsh/lib/webserver.js +0 -19
  766. package/node_modules/better-dsh/lib/welcome-notice.d.ts +0 -18
  767. package/node_modules/better-dsh/lib/welcome-notice.js +0 -59
  768. package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +0 -750
  769. package/node_modules/better-dsh/package.json +0 -426
  770. package/node_modules/better-dsh/scripts/kernel-provision.mjs +0 -35
  771. package/node_modules/better-dsh/scripts/register-bundle.mjs +0 -80
  772. package/node_modules/better-dsh/url-schemes-instruction.md +0 -22
@@ -1,158 +0,0 @@
1
- # v0.2.4 iOS Focus 放大抑制(zoomGuard)实测报告
2
-
3
- - **Change**: `openspec/changes/2026-09-03-ios-focus-zoom-suppression`
4
- - **版本**: better-dsh 0.2.2-a → **0.2.4**(canonical `dashr/package.json`;npm 已发布线 v0.2.3 顺延一档)
5
- - **日期**: 2026-09-03
6
- - **范围**: 纯 host 半(boot script 增量 + config 面 + payload 扩键);client 半零改动,无需 build-client
7
- - **状态**: 单测/构建层自测完成;4999 实例验证(2.3)与真机观察(3.x)待做
8
- - **状态**: 4999 实例验证(2.3)✅ 完成(含一轮 blocker 返修 commit `59870fc`);真机观察(3.x)待 user
9
- ---
10
-
11
- ## 一、实测范围与结果表
12
-
13
- | # | 项目 | 层面 | 结果 | 证据 |
14
- |---|------|------|------|------|
15
- | 1 | vitest 全量(canonical) | 单测 | ✅ **460/460**(基线 428 + 新增 32;36 files) | `cd dashr && npm test` |
16
- | 2 | tsc --noEmit(含新 spec) | 类型 | ✅ 0 错 | `npx tsc --noEmit` |
17
- | 3 | schema:默认值 / off 透传 / font·bogus fail-loud | 单测 | ✅ | `test/zoom-guard.spec.ts` 'config schema' |
18
- | 4 | 纯函数矩阵(UA × 视口 × config;幂等;还原;bare token;大小写) | 单测 | ✅ 32 tests | 同上 |
19
- | 5 | 生成脚本形状(ES5、无 `</script`、断点派生 `(max-width:767.98px)`、payload 序列化) | 单测 | ✅ | 同上 'generated zoomGuard section' |
20
- | 6 | **boot script 评估端到端**(stub DOM 执行真实脚本文本) | 单测 | ✅ 全矩阵 | 同上 'boot script evaluation'(12 场景) |
21
- | 7 | 构建产物复核(lib/index.js 抽取嵌入函数源重组段 eval) | 构建 | ✅ ES5-ok + provisional/reconcile/还原/风暴全绿 | `.scratch/zg-built-check.ts` |
22
- | 8 | monorepo 副本 rsync + tsdown(host 半) | 构建 | ✅ 9 files 528.31 kB | `pnpm --filter better-dsh exec tsdown` |
23
- | 9 | dump-config 覆盖层渲染 `mobile.zoomGuard` | 集成 | ✅ `'off'` 逐字渲染于 dashr-repl 行 | `--patch .scratch/zg-overlay.yml` |
24
- | 10 | 4999 实例(boot script 注入形状 + CDP 视口矩阵 + off 逃生门 + 桌面 user 复验) | 集成 | ✅ **9/9 矩阵 + 4 冒烟 + off PASS + 桌面 PASS**(经一轮 blocker 返修,见八) | §八;脚本 `.scratch/zg-verify/` |
25
- | 11 | 真机 iOS PWA 观察(放大抑制/键盘自愈/回弹) | 真机 | ⏳ **待做**(user) | tasks 3.1–3.3 |
26
-
27
- ## 二、实现要点(含 design.md 偏差说明)
28
-
29
- 1. **纯函数 = 发布源**:`src/mobile/zoom-guard.ts` 的 `isIOSClassUA` / `mergeViewportTokens` / `shouldApplyZoomGuard` 以 ES5 自包含风格编写,boot script 经 `Function.prototype.toString()` 嵌入这三个函数 —— 单测覆盖的源码与页面执行的源码字节一致(构建后产物已复核该嵌入幸存于 tsdown bundle)。
30
- 2. **schema enum 形式**:本 fork schemastery 无 `choice()`;采用 `z.union(['meta','off']).default('meta')`(字面量 union 即 enum,非法值 config load 即抛)。**'font' 预留值位不进 enum**(决策:未实现值若被 schema 接受则运行期静默 no-op,fail-loud 优于静默;预留以注释标注)。
31
- 3. **⚠ 与 design D4 的重要发现级偏差(已按 D4 精神实现)**:webserver 的 head 注入 splice 点在 `<head>` 开标签**紧后**(`packages/host/webserver/src/injections.ts` `renderIndexInjections`),即 boot script 执行时上游 stock viewport meta(`apps/web/index.html:5`)**尚未解析**——"meta 缺失 → 创建"是常态路径而非边角。若照 D4 字面创建后不管,页面将永久双 meta,依赖引擎未定义的 multi-meta 合并语义,且 spec 的"还原 stock content"场景失义。实现为 **provisional meta + MutationObserver reconcile**:脚本执行时即建 provisional meta(抑制令牌先于一切 bundle 生效,时序要求满足)→ parser 插入 stock meta 时记录真 stock、token merge 改写 **stock meta 本体**、移除 provisional → 单 meta 文档;此后 resize 进出断口均以记录的 stock 为基线改写/还原(字节级还原)。无 MutationObserver 的引擎降级为 provisional 常驻(仍具抑制)。两路径(stock 先在场 = 直接改写;stock 后到 = reconcile)均有单测钉住。
32
- 4. **payload 面**:`zoomGuard` 与 breakpoint 等键同构(配置了才进 payload,schema 默认保证生产必带 'meta');`zoomGuard:'off'` 时整段不生成(逃生门 = 零脚本段,非运行期判断)。
33
- 5. **配置生命周期**:zoomGuard 随 mobile 腿(`mobile.enabled=false` 时整个 `__DASHR_MOBILE__` 不注入,zoomGuard 一并不生效)——design D5 "同路径同生命周期" 的字面执行。
34
-
35
- ## 三、环境事实
36
-
37
- - canonical:`/home/u1/workspaces/dashr/dashr`(node_modules 在场,vitest/tsc 直接跑)
38
- - monorepo 副本:`upstream/deepseek-harness/packages/better-dsh/better-dsh`(rsync + tsdown host 半)
39
- - Node v22.22.1 / vitest 4.x / tsdown 0.15.x
40
- - dump-config:`DSH_HOME=.dsh-test npm run dsh -- web --dump-config --patch .scratch/zg-overlay.yml`(dump-config 只渲染 patch 层,schema 默认由单测钉住)
41
-
42
- ## 四、boot script 评估测试明细(单测第 6 项)
43
-
44
- stub DOM(El/Document/MutationObserver/live matchMedia/resize 记录),`new Function` 执行 `buildBootScript` 真实输出:
45
-
46
- | 场景 | 断言 |
47
- |------|------|
48
- | iPhone ∧ 窄 | 脚本时 provisional meta(`maximum-scale=1, user-scalable=no`);stock 解析后单 meta、content = `width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no` |
49
- | 非 viewport 解析插入 | observer 不误触发,继续守望 |
50
- | 宽↔窄往返 + 5 连 resize 风暴 | 离带 = 字节级还原 stock;回带 = 合并;风暴零叠加 |
51
- | stock 先在场(worker 形态) | 直接改写,无 provisional |
52
- | 无 stock 页面 | provisional 常驻;离带移除自建 meta |
53
- | iPad / iPadOS 桌面 UA+多点 | 改写生效;Mac 桌面(单/零触点)不生效 |
54
- | Android ∧ 窄 / 桌面任意宽 | stock 原样、零监听器 |
55
- | iPhone 宽载入后旋转入带 | 后补改写生效 |
56
- | zoomGuard off | 无脚本段、零改写、零监听 |
57
- | authorities + mobile 双腿 | `__DSH_TRANSPORT__` 与 zoomGuard 互不干扰 |
58
- | 断点 900 | matchMedia 收到 `(max-width:899.98px)`,payload 带 `"breakpoint":900` |
59
-
60
- ## 五、真机观察(user,PWA standalone 主用法)—— TODO
61
-
62
- > 以下三章按 design D6 留给 user 真机执行(4999 或真实入口,iOS 版本号请记录)。
63
-
64
- ### 5.1 放大抑制判定(tasks 3.1)— TODO
65
-
66
- - [ ] Safari 态:focus composer / permission select / settings 各 input / 切会话自动聚焦 —— 无 115–120% 放大
67
- - [ ] PWA standalone 态:同上全过
68
- - [ ] 双指缩放仍可用(iOS 10+ 应忽略 user-scalable=no 对 pinch 的约束)
69
- - [ ] `zoomGuard:'off'` 时放大复现(逃生门复验)
70
-
71
- ### 5.2 键盘遮蔽自愈判定(tasks 3.2)— TODO
72
-
73
- - [ ] PWA 态 unzoomed 下 focus composer:键盘弹出后 composer 是否被引擎 resize 抬到键盘上方(innerHeight/100dvh 收缩联动)
74
- - [ ] 键盘关闭后 viewport 回弹(对照 dev.to 2026-07 记录的 iOS 17/18 standalone 卡死 bug)
75
- - [ ] Safari 态对照记录
76
-
77
- ### 5.3 观察结论回填(tasks 3.3)— TODO
78
-
79
- - [ ] 研究文档 v2 §6 决策点 3/4 回填
80
- - [ ] follow-up 取舍:visualViewport shim / display-flip 自愈 / focus gate 讨论输入
81
-
82
- ## 六、发现的瑕疵与去向
83
-
84
- - **发现(非瑕疵)**:head 注入 splice 位于 stock meta 之前 → 促成 provisional+reconcile 设计(见二.3);已进 upstream-alignment S7 查表第 8 条(viewport 行形状 + splice 次序两查点)。
85
- - dump-config 只渲染 patch 层、不显 schema 默认 —— zoomGuard 默认值的可观测面在 payload(4999 shell 页)与单测,不在 dump-config;如需 dump 可见需显式配置(本报告第 9 项即此形态)。
86
-
87
- ## 七、Open items
88
- - ~~tasks 2.3(4999 实例验证)~~ ✅ 完成(见八;返修 `59870fc` 后 9/9)
89
- - tasks 3.x 真机观察 —— user
90
- - 发布/npm publish 与 prod 部署 —— 另按年龄门流程,不在本 change 内
91
-
92
- ---
93
-
94
- ## 八、4999 实测记录与 blocker 返修轮(lead,2026-09-03 晚)
95
-
96
- ### 8.1 首轮矩阵与 blocker 发现
97
-
98
- - 冒烟四断言全过:A)shell head 内联脚本含 zoomGuard 段;B)boot graph 含 `"id":"better-dsh"` 与 client URL;C)zoomGuard 段(HTML 偏移 25313)早于应用入口 module script(27056)——注:client-modules 的 combo 注册脚本(1286)先于我们执行,但纯工厂注册无 DOM/focus,行为层时序满足 S2;client.js 单包 URL 200 且与 `lib/client/index.js` 前缀字节一致(+84B sourceMappingURL,S7 惯例)。
99
- - **CDP 视口矩阵首轮 7/9**:两个失败项均为**初始窄载入不 guard**(iOS+390、iPadOS 冒充+390);跨断口 resize 与事后 synthetic resize 均生效。
100
-
101
- ### 8.2 根因定位(诊断脚本 `diag.mjs` / `isolate.mjs`)
102
-
103
- - 事件时序实测:boot script 执行于 head 解析期,此时布局视口为 viewport-meta 未应用前的默认宽 **980**(`docStart innerWidth=980, mq.matches=false`)→ 首评不 guard;引擎随后应用 `width=device-width` 收窄到 390,但**该转换在载入期间不向页面派发 `resize` 事件**(探针隔离三变体一致;我们的 resize 监听在位且事后手动 dispatch 立即生效)。
104
- - 关键后果:deferred module script(React 挂载 → unlock effect 自动聚焦)在 DOMContentLoaded 前执行——依赖 resize 事件的补评可能晚于首次 auto-focus。**初始窄载入 = iPhone 用户打开 DSH 的主路径,blocker 级**。
105
-
106
- ### 8.3 返修(doer 第二轮,commit `59870fc`,tag `v0.2.4` 前移)
107
-
108
- - **早期载入重评梯子**:首评未 applied 时启动 ~10ms poll 调 `re()`,三停条件 = applied / readyState complete / 200 tick(~2s);`apply(true)` 主动取消待发 tick,稳态零 timer。guard 不再依赖任何事件通知——事件缺失只影响"多快"发现,不影响"是否"发现;首次布局必然先于 deferred scripts,抑制仍落在任何输入可聚焦之前。
109
- - **MQ change 监听兜底**(`mq.addEventListener('change', re)`,老引擎 `addListener` 形态)与 window resize 双通道。
110
- - 测试 466/466(+6:晚翻无 resize、readyState 停止、非 iOS 零 setTimeout、MQ 通道、legacy addListener、梯子先于 stock 解析落 provisional);tsc 0。
111
-
112
- ### 8.4 返修后终验(全绿)
113
-
114
- - **CDP 矩阵 9/9**:iOS+390 → guarded(单 meta、两 token 在位);iOS+1280 → stock;iPadOS 桌面冒充+touch+390 → guarded;Android+390 / 桌面+390 / 桌面+1280 → stock(零改写);跨断口三段(宽载入 stock → 入带 guard → 出带字节级还原 stock)。
115
- - **off 逃生门 live PASS**:home 层 `.dsh-test/cordis.patch.yml` 覆盖(注:CLI `web` 子命令不认 `--patch`,该路仅 dump-config 可用)→ shell **整段不发射**、payload `zoomGuard:'off'`、iOS+390 live = stock。验后已删覆盖文件并还原默认态。
116
- - **默认态恢复复验 + 桌面 user 复验 PASS**:还原后 iOS+390 → guarded;桌面(无 UA 伪装)meta stock 单条、app 完整渲染(root/composer/`[data-composer-card]`/sidebar/slots 在位,标题与占位文案正常)。
117
-
118
- ### 8.5 遗留观察(非阻塞)
119
-
120
- - 真机 iOS Safari 上 8.2 竞态是否同样存在未证(无法本地复现 iOS 引擎);梯子设计使其无关化——真机观察(五)会给出实证。
121
- - 探针实验中一次"全探针"运行曾捕捉到 resize 送达(时序非确定论),进一步佐证不能依赖事件通道。
122
- - CDP 测试脚本存 `.scratch/zg-verify/`(matrix/diag/isolate/off/final 五件),可复跑。
123
-
124
- ## 九、v0.2.5 standalone 分流(change `2026-09-03-zoomguard-standalone-font-floor`)—— 骨架,4999/真机结论待回填
125
-
126
- > 背景:真机首批观察(§五)——浏览器态 meta 改写完美(放大抑制 + pinch 保留),但 **Add to Home Screen PWA standalone 态引擎尊重 `user-scalable=no` → pinch 失效**(Discourse 注释未覆盖的形态;spec v1 的 "pinch remains engine-controlled" 括号在 standalone 不成立)。user 裁决:standalone 态完全不碰 viewport meta,改注入 16px 字号地板 CSS;browser 态维持 v0.2.4。user 主用法即 PWA。
127
-
128
- ### 9.1 实现摘要(doer,2026-09-03)
129
-
130
- - 纯函数(`src/mobile/zoom-guard.ts`,ES5 自包含,toString 嵌入,`var ZD=`/`var ZF=` 与 ZI/ZM/ZS 同款):`isStandaloneDisplay(mqMatchesStandalone, navStandalone)` = 严格 `=== true` 双源 OR(MQ 主源 + `navigator.standalone` 老 iOS 兜底);`buildFontFloorCss(bp)` → `@media (max-width:{bp-0.02}px){ input,textarea,select,[contenteditable="true"]{ font-size:16px !important } }`(断口派生与 meta 腿一致:768→767.98、900→899.98)。
131
- - boot script 分流(D1):iOS 判定后、任何 meta 逻辑前 —— `var sa=ZD((window.matchMedia&&window.matchMedia('(display-mode: standalone)').matches),(navigator.standalone===true));` standalone → `headEl()` 注入 `<style id="ios-zoom-font-floor" data-plugin="better-dsh" data-plugin-css="better-dsh/zoom-font-floor">`(textContent=ZF(rawBp))后 **return**:其后 provisional/reconcile/监听/梯子代码字面不可达,meta 字节不动。**style 注入不设宽度门**(宽度由 CSS media query 表达,宽屏 standalone 也注入、规则自然不匹配)。
132
- - `'off'`:整段不发射(web-trust 门不变、零改动);`'meta'` 语义升级为自动双形态(enum 不动)。web-trust.ts / client 半零改动。
133
-
134
- ### 9.2 单测(canonical,doer)
135
-
136
- - **478/478 + tsc 0**(v0.2.4 基线 466,+12):双源判定矩阵(含 undefined 单源兜底)、CSS 文本钉扎(selector 集合 / `!important` / 768→767.98 与 900→899.98)、standalone 矩阵(MQ 源:style 在场 + 三认领属性 + meta 字节不动 + 零 addEventListener/setTimeout/MutationObserver 痕迹 + 零窄带 MQ 探针;宽屏仍注入;navigator.standalone 单源;无 matchMedia 兜底;断口 900;browser 态显式无 style;off 双零)。
137
- - stub 基建:`runBootScript` 增 `standaloneAtScriptTime`/`navStandalone` 参数,matchMedia 按查询串分流(display-mode 探针不再误读窄带裁定);browser 全矩阵零回归(mediaQueries 断言更新为含 display-mode 前导探针)。
138
-
139
- ### 9.3 4999 CDP 双形态(lead,2026-09-03 深夜)—— ✅ 8/8 全绿
140
-
141
- **⚠ 测试方法学发现(重要)**:Chrome 的 `Emulation.setEmulatedMedia` **不支持 `display-mode` 特性**(实测 pre-nav/post-nav 设置后页面内 `matchMedia('(display-mode: standalone)').matches)` 恒 false —— Chrome 可仿真特性集不含它,DevTools Rendering 面板亦无此项)。改用 **matchMedia API 边界注入**:`Page.addScriptToEvaluateOnNewDocument` 在一切页面脚本(含 head 注入 boot script)之前包一层 `matchMedia`,仅对含 display-mode+standalone 的查询返回 `{matches:true}`,其余透传 —— boot script 全部分支逻辑照真运行(自检探针 truth=true 证实注入生效)。
142
-
143
- | 场景 | 断言 | 结果 |
144
- |---|---|---|
145
- | standalone+iOS+390 | meta **字节不动**(`width=device-width, initial-scale=1` 原文)= pinch 恢复前提 | ✅ |
146
- | standalone+iOS+390 | `#ios-zoom-font-floor` 在场,认领属性齐(data-plugin / data-plugin-css=better-dsh/zoom-font-floor),CSS 文本与 user 提案逐字一致 | ✅ |
147
- | standalone+iOS+390 | composer computed font-size = **16px**(地板生效) | ✅ |
148
- | browser+iOS+390 | meta guarded(两 token 在场)、无 font-floor | ✅ |
149
- | browser+iOS+390 | **client 特性探针**:sidebar computed 首列 0px、认领样式 98 条(v0.2.1f 特性在位) | ✅ |
150
- | standalone+iOS+1280 | floor 已注入(宽度无关)但 media query 不激活(composer 14px) | ✅ |
151
- | standalone+Android+390 | iOS 门 → 无 floor、meta stock | ✅ |
152
- | off | 双形态零发射(单测钉住;'off' 代码路径 v0.2.4 未动) | ✅ |
153
-
154
- 脚本 `.scratch/zg-verify/dual-mode.mjs`(含 matchMedia 边界注入实现);重启后 boot graph rev 已随 v0.2.5 变化,tsdown+build-client 双步完成、lib/client 在场(md5 `a88850ec…`)。
155
- ### 9.4 真机复验(user)—— TODO(tasks 3.1)
156
-
157
- - [ ] PWA standalone:pinch 恢复 + focus 无放大(输入面 16px)。
158
- - [ ] 浏览器态:维持 §五 结论(meta 改写 + pinch 保留)。
@@ -1,147 +0,0 @@
1
- ---
2
- name: dsh-dev-skill
3
- description: "Reference knowledge base distilled from the official DeepSeek Harness (dsh) developer documentation. Use when developing, extending, or debugging dsh plugins, Cordis services/events, LLM adapters, tools, sandbox/approval policy, web UI slots, session/persistence internals, or the Typert API gateway."
4
- ---
5
-
6
- # DeepSeek Harness (dsh) — Official Docs, Distilled
7
-
8
- **Source**: official `deepseek-ai/deepseek-harness` master `docs/` (123 English files, fetched 2026-09-06 into `../src/docs/`) | **Chapters**: 22 | **Generated**: 2026-09-06 | **Depth**: reference (decision-ready lookup)
9
-
10
- ## How to Use This Skill
11
-
12
- - **Without arguments** — load the core mental models below before touching dsh code
13
- - **With a topic** — ask about `compaction`, `slots`, `sandbox`, `fibers`; I read the matching chapter file first
14
- - **With a chapter** — ask for `ch15` to load that chapter only
15
- - **Browse** — ask "what chapters do you have?" for the full index
16
-
17
- Chapters are on-demand: only the one you load counts against context.
18
-
19
- ---
20
-
21
- ## Core Mental Models
22
-
23
- **1. Everything is a Cordis plugin; layers compose the app.**
24
- A running dsh is a plugin tree composed at boot from ordered layers — bundles (listed order) → profile patch → home patch → `--patch` argv — with no privileged core. A patch row targets a plugin id and **replaces its whole config value** (no deep merge): restate every key or lose fields. Ordering between plugins comes from `inject` dependencies, never YAML position. Prefer mounting a plugin or patching a row over forking core, because registrations are reversible effects.
25
-
26
- **2. The session log is the single source of truth; history is derived.**
27
- Every model-visible fact is an append-only `SessionEvent` (`{type, seq, time, data}`). Message history is folded from it (`deriveMessages()`), never stored. Only three surface types produce transcript messages: `user/message`, `assistant/message`, `tool/result` — everything else is audit/state. "Model-visible means logged" is a runtime invariant. State-carrying events carry **whole values, not deltas**. When you need derived per-session state, register a `ProjectionDefinition` — the registry drives, backfolds, and checkpoints it for you.
28
-
29
- **3. Capabilities are three-role seams.**
30
- A swappable capability = abstract Service Definition (`ctx.fs`, `ctx.llm`, `ctx.subagents`) + Provider + thin provider-neutral Consumer tools. Filesystem/subprocess/sandbox form one "execution world" — swap them together. Build a seam only when ≥2 implementations are plausible. Remote controllers project seams onto the wire and own redaction/refusal. Never depend on `ctx.agentLoop`; extension packages use `dsh-agent` events/services.
31
-
32
- **4. Tool calls cross a fixed policy pipeline.**
33
- `tools/pre-execute` (allow/deny/ask decision) → approval (fail-closed: absent asker = deny) → monotonic guards (deny-or-abstain, can never force-allow) → execute → `tools/post-execute` (transform) → `finalizeContent` → snapshotted result (throws become `isError`). Sandbox mode and approval policy are two independent, per-call-resolved knobs. No usable sandbox backend ⇒ `SANDBOX_UNAVAILABLE`, never silent passthrough; escalation is one-shot, strictly wider.
34
-
35
- **5. Packages share instances via peer dependencies.**
36
- The module graph is a peer-dependency graph of shared service instances: an edge means "consume the host's instance" — bundling your own copy breaks identity. Use `ctx.get(name)` for undeclared optional services; `ctx.<name>` throws through foreign fibers. Service visibility is ancestor/isolate only; `provide` throws on duplicates within a scope — sibling shadowing does not exist.
37
-
38
- **6. Events have contracts; waterfalls have discipline.**
39
- Dispatch mode (emit / serial / parallel / bail / waterfall) is part of each event's public contract — call the matching method. In waterfalls, observers must call `next()`; omitting it is a deliberate veto. Policy that must not be reordered belongs in monotonic guards, not pre-execute listeners (which other listeners can reshape).
40
-
41
- **7. LLM adapters are thin and provider-neutral at the wire.**
42
- `LlmAdapter.stream()` emits the closed `StreamChunk` union; the shared `BlockAssembler` reassembles blocks (never per-adapter). One adapter call = one attempt; retries live at agent level (`ResolvedRetryPolicy`). Usage arrives at provider end-of-stream. Credentials are `CredentialRef`s resolved per operation (rotation without restart). Can't honor a `GenerateOptions` field ⇒ throw `LlmError('UNSUPPORTED_OPTION')`.
43
-
44
- **8. The web surface is a dumb carrier plus typed slots.**
45
- `ctx.webServer` owns no TLS/auth/Origin policy — trust is supplied at composition (or a second isolated server for webhooks). The browser app boots from `WebBootGraph` (`window.__DSH_BOOT__`). The only sanctioned UI extension is `ctx.slots.inject` with a fresh list id; single/keyed cells are replacement points. Settings writes are CAS (`SettingsPathOp` + expectedRevision, `redactSecrets` on wire) — never `replace()` from a redacted view. Remote (Typert) methods are strictly unary; streamed responses use Connection Fetch routes; client calls return non-throwing `RemoteResult<T>`.
46
-
47
- ---
48
-
49
- ## Chapter Index
50
-
51
- | # | Title | Key contents |
52
- |---|---|---|
53
- | [ch01](chapters/ch01-user-guide.md) | User Guide | providers, credentials, compat blocks, MCP memory, proxy, Python SDK, schedules |
54
- | [ch02](chapters/ch02-plugin-basics.md) | Plugin Dev Basics | plugin anatomy, Config schema, defineTool, bundles/profiles, layer order, publishing |
55
- | [ch03](chapters/ch03-plugin-framework-practice.md) | Framework & Practice | fibers, events, service isolation, capability split, LlmAdapter, dynamic Cordis |
56
- | [ch04](chapters/ch04-cordis-fundamentals.md) | Cordis Fundamentals | plugin shapes, inject, PENDING, dispatch modes, waterfall veto, HMR, `!!js` |
57
- | [ch05](chapters/ch05-cordis-api.md) | Cordis API | Context scoping (extend/isolate/intercept), fiber API, service store symbols |
58
- | [ch06](chapters/ch06-architecture.md) | Architecture & Lifecycle | boot layers, profiles, turn/step model, session generations, rescope |
59
- | [ch07](chapters/ch07-capability-seams.md) | Capability Seams | seam taxonomy, execution world, event-gate companions, selection table |
60
- | [ch08](chapters/ch08-internals-pipelines.md) | Internals & Pipelines | module graph, event producer–consumer matrix, tool pipeline, defensive patterns |
61
- | [ch09](chapters/ch09-api-gateway.md) | API Gateway | Typert `@Remote`, `/api` routes, trust fence, DeepSeek wire extensions |
62
- | [ch10](chapters/ch10-config-catalog.md) | Config Catalog | `config:` blocks, `Requires:` lines, package classes, runtime-only seams |
63
- | [ch11](chapters/ch11-tool-catalog.md) | Tool Catalog | boot-and-read registry, capability seams, `run_code` transport, aliases |
64
- | [ch12](chapters/ch12-persistence-catalog.md) | Persistence Catalog | `SessionEventMap`, surface vs log-only, compaction shadow price, migrations |
65
- | [ch13](chapters/ch13-subsystems-core-session.md) | Subsystems: Core & Session | core spine, event log, inbox, system-prompt assembly, invariants |
66
- | [ch14](chapters/ch14-subsystems-agent-loop.md) | Subsystems: Agent Loop | subagents, teams, workflows, goals, plan mode, compaction, spill |
67
- | [ch15](chapters/ch15-subsystems-tool-execution.md) | Subsystems: Tool Execution | ToolRuntime, shell/fs/subprocess, sandbox backends, approval, presets |
68
- | [ch16](chapters/ch16-subsystems-session-data.md) | Subsystems: Session Data | projections, session-query, storage domains, attachments, jobs |
69
- | [ch17](chapters/ch17-subsystems-llm-streaming.md) | Subsystems: LLM Streaming | StreamChunk, BlockAssembler, token meter, typert, credentials, client-modules |
70
- | [ch18](chapters/ch18-subsystems-web-ui.md) | Subsystems: Web & UI | webServer, slots, settings, commands, skills, terminals, webhooks, schedule |
71
- | [ch19](chapters/ch19-cookbook.md) | Extension Cookbook | recipes: packages, vendoring, tools, settings cards, adapters, PR stacks |
72
- | [ch20](chapters/ch20-development-testing.md) | Dev & Testing | build faces, test tiers, coverage gates, doc budgets, type-equiv fences |
73
- | [ch21](chapters/ch21-postmortems.md) | Postmortems | export-default trap, `!!js` scope, GUI feedback loop, Landlock classification |
74
- | [ch22](chapters/ch22-i18n.md) | i18n & Translation | zh pairing contract, terminology, protected tokens, translation pipeline |
75
-
76
- ## Topic Index
77
-
78
- - **adapters (LLM)** → ch03, ch17, ch19
79
- - **agent lifecycle / turn model** → ch06, ch13
80
- - **agent-team** → ch14
81
- - **approval / escalation** → ch07, ch15
82
- - **architecture / boot** → ch06, ch08
83
- - **attachments** → ch16
84
- - **background jobs** → ch16, ch19
85
- - **build / DSH_BUILD_FACE** → ch09, ch20
86
- - **bundles / profiles / layers** → ch02, ch06
87
- - **client modules / WebBootGraph** → ch17, ch18
88
- - **compaction** → ch12, ch14
89
- - **config (cordis.yml, catalog)** → ch02, ch10
90
- - **cookbook recipes** → ch19
91
- - **credentials** → ch01, ch17
92
- - **Cordis (framework, API)** → ch04, ch05
93
- - **defensive patterns** → ch08
94
- - **defineTool / tool authoring** → ch02, ch11, ch19
95
- - **dispatch modes / waterfalls** → ch03, ch04, ch08
96
- - **dynamic Cordis** → ch03, ch13
97
- - **events (Cordis vs session)** → ch03, ch12
98
- - **fibers / registry** → ch04, ch05
99
- - **filesystem / observation policy** → ch11, ch15
100
- - **goals** → ch14
101
- - **HMR** → ch03, ch04
102
- - **hooks (lefthook)** → ch20
103
- - **inbox / steering** → ch13
104
- - **invariants** → ch13
105
- - **i18n** → ch22
106
- - **isolate / intercept** → ch05
107
- - **jobs** → ch16
108
- - **LlmError / retries** → ch03, ch17
109
- - **MCP** → ch01
110
- - **module graph** → ch08
111
- - **persistence / session log** → ch12, ch16
112
- - **plan mode** → ch14
113
- - **postmortems** → ch21
114
- - **projections** → ch16
115
- - **providers (user config)** → ch01
116
- - **Python SDK** → ch01
117
- - **Remote / Typert gateway** → ch09, ch19
118
- - **sandbox (modes, backends)** → ch10, ch15
119
- - **schedules** → ch01, ch18
120
- - **session-query / title / telemetry** → ch16
121
- - **settings cards / CAS** → ch18, ch19
122
- - **skills subsystem** → ch18
123
- - **slots / UI injection** → ch18
124
- - **spill** → ch14
125
- - **StreamChunk / streaming** → ch17
126
- - **subagents** → ch14
127
- - **system prompt** → ch13
128
- - **testing tiers / coverage** → ch20
129
- - **tools registry / pipeline** → ch08, ch11, ch15
130
- - **typert (typing)** → ch17
131
- - **vendoring / packages** → ch19
132
- - **web server / client / trust** → ch18
133
- - **webhooks** → ch18
134
- - **workflows** → ch14
135
- - **workspace** → ch16
136
-
137
- ## Supporting Files
138
-
139
- - [glossary.md](glossary.md) — ~55 key terms with exact definitions
140
- - [patterns.md](patterns.md) — 17 techniques: when / how / trade-offs
141
- - [cheatsheet.md](cheatsheet.md) — seam-selection table, hard rules, defaults, smells
142
-
143
- ---
144
-
145
- ## Scope & Limits
146
-
147
- Distilled exclusively from the **official** `deepseek-ai/deepseek-harness` master docs (English) fetched 2026-09-06; the raw source is preserved at `../src/docs/` (241 files incl. zh pairs) with URL mapping in `../src/site-pages-map.txt` for verbatim lookups. No local research, forks, or third-party analysis was folded in. Generated catalogs (config/tool/module-graph) are summarized, not reproduced — consult the source files for exhaustive per-entry detail. Docs describe the harness at the fetched master revision; verify against your deployed version when behavior matters.
@@ -1,123 +0,0 @@
1
- # Chapter 1: User Guide — Providers, MCP Memory, Proxy, SDK, Schedules
2
-
3
- ## Core Idea
4
- Every user-facing surface — the Models page, MCP overlays, proxy env vars, the Python SDK, Schedule and GitHub-review overlays — reads or writes the same file-backed composition (`$DSH_HOME/settings.yaml` + Cordis patch layers); model and provider changes take effect on the next request with no server restart.
5
-
6
- ## Frameworks Introduced
7
- - **Models page (`Settings → Models`)**: minimal provider form — API key, display name, base URL, API protocol, per-model id/name/context-window/max-output-tokens. Everything else lives in `settings.yaml`.
8
- - When to use: DeepSeek, a built-in provider (`anthropic`, `openai`, `moonshotai`/Kimi, `zai`/GLM), or a custom gateway. OAuth providers (Codex) unsupported.
9
- - How: enter key → save. Keys are write-only (page receives a redacted descriptor); the secret lands in `$DSH_HOME/.credentials.yaml`, settings keep only a credential reference.
10
- - **Custom provider form**: lowercase permanent Provider ID + base URL + one API protocol (`openai-completions` | `openai-responses` | `anthropic-messages`) + credential + ≥1 model. One protocol per provider; a dual-protocol gateway needs two providers.
11
- - **`@deepseek-ai/dsh-mcp-client` row**: generic MCP connector; discovered tools surface as `mcp__<serverName>__<tool>`. Default-off reference configs: Memorix `1.3.0`, MCP Reference Memory `2026.7.4`, Engram `v1.20.0` (all stdio).
12
- - When to use: third-party memory or any MCP server.
13
- - How: `dsh web --patch <overlay>.cordis.yml`; persist by merging the `insert` row into `$DSH_HOME/profiles/<name>/cordis.patch.yml` (one profile) or `$DSH_HOME/cordis.patch.yml` (all profiles). Never overwrite an existing patch file.
14
- - **Python SDK (`deepseek-harness-sdk`)**: pip wheel bundling a native runtime + the `dsh` CLI (no system Node); a context manager lazily starts `dsh --profile sdk-minimal` and reuses it until exit.
15
- - **Schedule overlay**: session-local reminders via `schedule_create` / `schedule_list` / `schedule_delete` (positive `after_seconds`, absolute `at`, or `every_seconds` ≥ 300).
16
- - **GitHub review overlay**: signed webhook endpoint creating read-only review Sessions on PR `ready_for_review`.
17
-
18
- ## Key Concepts
19
- - **Provider ID**: permanent lowercase id — requests, saved sessions, model defaults, and credential references use it; rename = add new + delete old.
20
- - **`compat` route block**: request-shape corrections pi-ai cannot infer from the URL (`supportsDeveloperRole`, `maxTokensField`, `thinkingFormat`); full switch list = `PiAiCompatProfile` in the generated `dsh-llm-pi-ai` config reference.
21
- - **`reasoningEfforts`**: per-model map of menu level → wire spelling of `reasoning_effort`; only `off` may be empty (param absence); `compat.thinkingFormat: deepseek` makes `off` send `thinking: {type: disabled}` and other levels `thinking: {type: enabled}` beside the effort.
22
- - **`input` / `defaultInput` / `modelOverrides`**: modality claims (`text`, `image`) at model level, route fallback (default `[text]`, never strips a catalog model's images), and per-model overrides on built-in providers; unknown modality refused everywhere.
23
- - **`--patch` overlay**: one-file config layer passed at launch; argv order matters (layer order in Ch 2).
24
- - **stdio env scrubbing**: the MCP bridge removes credential-named ambient vars and all `DSH_*` vars before spawning a child; per-row `config.env` is the sanctioned secret channel.
25
- - **Proxy env vars**: `HTTPS_PROXY`/`HTTP_PROXY` read at launch; `NO_PROXY` matches host + subdomains (leading `.`/`*.` equivalent, `*` bypasses all, CIDR never works); loopback always direct; SOCKS reported and skipped; `ALL_PROXY` fallback; `NODE_EXTRA_CA_CERTS` for TLS-intercepting proxies.
26
- - **`sdk-minimal` profile**: `dsh-sdk-app` JSON-RPC row over an empty root (no `dsh-base`); pins `danger-full-access`; uncompressed JSONL sessions; no compaction, telemetry, or web tools.
27
- - **Session-local reminder**: owned by the session log; delivered as a queued follow-up turn when the root Agent is fully idle; reopening a cold session restores overdue reminders; forks don't inherit.
28
-
29
- ## Mental Models
30
- - Think of the Models page as a deliberate thin editor over `settings.yaml` — same document, re-read per request by the adapters.
31
- - Treat MCP as a ferry, not a supervisor: DSH parses the overlay, launches/monitors stdio children, re-syncs tools on reconnect — it never installs servers, migrates data, or manages models/embeddings.
32
- - Proxy reachability is three unrelated mechanisms (OS settings, env vars, TUN mode); CLI tools see only env vars — export them or use TUN.
33
- - Schedule delivery is "the session talks to itself later": no browser/OS/email channel, just a follow-up turn in the original conversation.
34
-
35
- ## Anti-patterns
36
- - **Renaming a Provider ID in place**: every reference (sessions, defaults, credentials) uses it; add a new provider and delete the old one.
37
- - **Proxy vars in a project `.env`**: DSH refuses to start — a repository must not decide where traffic goes; use a shell profile or `$DSH_HOME/.env` (exported vars win).
38
- - **CIDR entries in `NO_PROXY`**: no effect; use hostnames/domain suffixes.
39
- - **Trusting built-in provider discovery against a gateway**: the installed catalog always answers; fetch through a custom provider to see what the gateway really serves.
40
- - **Reading webhook `202` as "session created"**: it means only signature + JSON accepted and rule calls scheduled in memory.
41
- - **Expecting notifications from Schedule**: no external notification exists; delivery is only the queued follow-up.
42
-
43
- ## Code Examples
44
- Custom provider with the two most common compat fixes:
45
- ```yaml
46
- llm-pi-ai:
47
- providers:
48
- my-gateway:
49
- apiKeyEnv: GATEWAY_API_KEY
50
- api: openai-completions
51
- baseURL: https://gateway.example/v1
52
- compat:
53
- supportsDeveloperRole: false # gateway rejects role: "developer"
54
- maxTokensField: max_tokens # gateway refuses max_completion_tokens
55
- models:
56
- - id: vision-preview
57
- input: [text, image]
58
- - id: my-reasoner
59
- reasoningEfforts: { off: , high: high, max: max }
60
- ```
61
- Generic MCP row (stdio):
62
- ```yaml
63
- - insert:
64
- - id: memory-my-server
65
- name: '@deepseek-ai/dsh-mcp-client'
66
- config:
67
- serverName: my-memory
68
- transport: stdio # remote: streamable-http + url + headers
69
- command: my-memory-mcp
70
- args: []
71
- env: {}
72
- cwd: !!js process.cwd()
73
- ```
74
- SDK entry point:
75
- ```python
76
- from deepseek_harness import DeepSeekHarness
77
- with DeepSeekHarness(provider="deepseek-official", model="deepseek-v4-flash",
78
- max_tokens=49_152, cwd=str(ws), dsh_home=str(home),
79
- profile="sdk-minimal") as harness:
80
- result = harness.run("Inspect the repository.", session_id="example-001")
81
- print(result.final_response)
82
- ```
83
- Proxy:
84
- ```sh
85
- export HTTPS_PROXY=http://user:pass@proxy.example:8080 # creds in URL, never printed back
86
- export NO_PROXY=internal.example.com,.corp.example.com
87
- export NODE_EXTRA_CA_CERTS=/path/to/corporate-ca.pem # export before process start
88
- ```
89
-
90
- ## Reference Tables
91
- | Surface | Activation | Persistence |
92
- |---|---|---|
93
- | Custom provider / compat | Models page or `settings.yaml` | `settings.yaml` (re-read per request) |
94
- | MCP memory server | `--patch examples/mcp-memory/<x>.cordis.yml` | merge row into `cordis.patch.yml` |
95
- | Schedule | `--patch examples/schedule/cordis.yml` | overlay only (per-process opt-in) |
96
- | GitHub review | `--patch` + `DSH_GITHUB_WEBHOOK_SECRET` | rows appended to profile patch; `github-ready-review-rule.mjs` beside it |
97
- | SDK plugins | `dsh plugin --profile sdk-minimal add file:/path` | `$DSH_HOME/profiles/sdk-minimal/cordis.patch.yml` |
98
-
99
- | Symptom | Fix |
100
- |---|---|
101
- | `MISSING_CREDENTIAL` | store key via Models page or set the referenced env var |
102
- | `UNKNOWN_MODEL` | select a configured model or add it to the custom provider |
103
- | model fetch → 401 | bad key; discovery calls `GET /models` — enter models by hand if absent |
104
- | only reasoning models fail | `compat.supportsDeveloperRole: false` |
105
- | `off` doesn't stop DeepSeek thinking | `compat.thinkingFormat: deepseek` on model or route |
106
- | image refused before sending | add `input: [text, image]`; after removing a wrong claim, start a new session (log replays the attachment) |
107
-
108
- Schedule `at`: strict RFC 3339 with `Z` or numeric offset, or `{date, time, time_zone}` with explicit `UTC`/IANA Area/Location; DST gaps rejected, overlaps pick the first instant, records keep UTC only. Overdue `every` records: latest occurrence only, same-idle batches combined (one-shots first), no backlog; cron/calendar unsupported.
109
-
110
- ## Key Takeaways
111
- 1. Model config is two-tier: the form covers what a route needs to exist; reasoning, modality, compat, headers, timeouts, retries live under `llm-pi-ai.providers.<id>` in `settings.yaml` (DeepSeek's own route: `llm-deepseek.reasoningEffort`, e.g. `max`).
112
- 2. Compat switches and modality lists state claims, not checks — they never probe the endpoint; an empty compat key is refused, not ignored.
113
- 3. A crashed MCP child reconnects with backoff and tool re-sync; after the reconnect budget is exhausted, tools unregister until reload/restart. Initial discovery is async — wait for `mcp__...` tools before validating.
114
- 4. Model-authored workflow/code-runtime workers never receive proxy settings; OTLP telemetry is always direct (`DSH_TELEMETRY_MODE=DISABLED` to disable); `web_fetch` to literal private addresses is refused.
115
- 5. The SDK never silently reads `~/.dsh` — pass an explicit `dsh_home`; `web` is a separate CLI application and cannot serve a Python SDK client.
116
- 6. Webhook `run()` is trusted JS: policy-service gates and repo→path maps are ordinary code returning `null` to skip; the secret authenticates inbound data only, granting no outbound GitHub access.
117
-
118
- ## Connects To
119
- - **Ch 2**: `--patch` overlays here are the same rows bundles ship; layer order defined there.
120
- - **Ch 10**: generated config catalog owns every `llm-pi-ai` field incl. `PiAiCompatProfile`.
121
- - **Ch 17**: compat/reasoning switches map onto the LLM streaming adapter contract.
122
- - **Ch 7**: MCP rows and provider config are capability seams in the composition.
123
- - **Ch 18**: Models page, reminder catalog, and sidebar alarms are Web UI surfaces.
@@ -1,127 +0,0 @@
1
- # Chapter 2: Plugin Development Basics
2
-
3
- ## Core Idea
4
- A dsh plugin is a Cordis module — `apply(ctx)` plus declarative `name` / `inject` / `Config` exports — where every `ctx` registration is a lifecycle-managed effect; shipping it means packaging a patch layer (bundle) that a profile composes in a fixed order.
5
-
6
- ## Frameworks Introduced
7
- - **Plugin apply contract**: a TypeScript module exporting `name`, optional `inject`, and `apply(ctx)` (or object/class default export). The framework calls `apply` only after every injected service is ready.
8
- - When to use: function form covers most cases; class form (`extends Service`, `static inject`, `super(ctx, 'svc')`) when the plugin provides a service to other plugins.
9
- - How: dev overlay `- insert: [{id, name: '/absolute/path/src/my-plugin.ts'}]` → `pnpm dsh web --patch ./cordis.yml`.
10
- - **Schemastery Config schema**: `export interface Config` + `export const Config: Schema<Config> = Schema.object({...})` with `.default()` / `.required()` / `.union()`.
11
- - When to use: anything two deployments may want to set differently — Harness requires this as a config field.
12
- - How: `apply(ctx, config)` receives validated, default-filled config. Cordis validates while loading; invalid config fails the load with an actionable error. Config values arrive via the plugin row's `config:` key.
13
- - **`defineTool` DSL** (`@deepseek-ai/dsh-tools`): declarative tool — `parameters` (arg inference/validation), `output.schema` (canonical value type), `output.render` (value → model-facing content), `execute`.
14
- - When to use: exposing any model-callable capability.
15
- - How: `export const inject = ['tools']`, then `ctx.tools.register(defineTool({...}))`.
16
- - **Bundle manifest**: npm package declaring `dsh: { bundle: { patch: './cordis.patch.yml' } }`; patch rows reference the package by name so Node resolution finds the installed code. Answers "what does this package contribute?"
17
- - **Profile manifest**: `$DSH_HOME/profiles/<name>/` — `package.json` with ordered `dsh.profile.bundles` + a user `cordis.patch.yml` layer. Answers "which bundles compose this setup, in what order?" Created and maintained by `dsh plugin`, never written by hand.
18
- - **App-owned command line**: a provider plugin with `inject = ['cmdlineArgs']` calling `parseCmdline` from `@deepseek-ai/dsh-cmdline` with its own commander program, publishing an app-owned service from the program's action.
19
-
20
- ## Key Concepts
21
- - **`ctx.effect(() => disposer)`**: escape hatch for resources `ctx` doesn't track (sockets, intervals); the returned function runs on unload.
22
- - **Automatic cleanup**: `ctx.on`, `ctx.tools.register`, `ctx.llm.registerAdapter`, `ctx.effect` are all undone at unload — no manual `removeListener`/`clearInterval`.
23
- - **HMR**: a config or source edit hot-replaces the plugin (unload old → load new → run new `apply`); old registrations never leak.
24
- - **Layer order**: bundle patches in `dsh.profile.bundles` list order → profile `cordis.patch.yml` → `$DSH_HOME/cordis.patch.yml` → `--patch` overlays in argv order. Later layers win per row.
25
- - **Row override**: a patch replaces a row's entire `config` value, never deep-merging keys — restate every key the row needs.
26
- - **In-box bundles** (`@deepseek-ai/dsh-base`): always resolve from the dsh installation itself; pnpm manages only out-of-tree packages.
27
- - **`prepare` script**: what pnpm runs after a git install; must be self-contained (no sibling-monorepo assumptions). turtle-ui's dedicated tsdown config is the working example.
28
- - **`allowBuilds`**: pnpm ≥10 gate for a git dependency's build scripts, keyed in the profile's `pnpm-workspace.yaml` (`allowBuilds: { 'dsh-hello-plugin': true }`); granting it = permission to execute the package's code on your machine at install time.
29
- - **Plain dependency**: a package without `dsh.bundle` installs with a warning and activates no layer — the library format for code that plugin packages import.
30
-
31
- ## Mental Models
32
- - Think of a plugin as a block scoped to `apply`: when the block exits (unload, HMR, dependency loss), everything it registered vanishes.
33
- - Think of a bundle as "one patch layer in an npm package" and a profile as "an ordered list of such layers with user patches on top"; a bundle is authored and distributed, a profile is booted — nothing is both.
34
- - Use absolute paths in dev overlays because a patch contributes configuration only — it never changes the directory the loader resolves module paths from.
35
- - Treat `dsh --profile <name> --dump-config` as the no-boot layer inspector: each bundle shows as a `# == <pkg>` section.
36
-
37
- ## Anti-patterns
38
- - **Plain-object `Config` export**: doesn't implement the Standard Schema interface Cordis requires.
39
- - **Hardcoded tunables**: if `cordis.yml` cannot change the value without a code edit, it must become a config field.
40
- - **Partial row override**: patching only the changed key drops the rest of the row's config (whole-value replacement).
41
- - **Relative plugin path in an overlay**: loader resolves from the profile directory, not the patch file's location.
42
- - **Git install without `prepare`**: sources arrive unbuilt — a TS package loads without its `lib/`.
43
- - **Unpinned git adds with `allowBuilds`**: a later push silently changes what executes at install time; pin `github:you/pkg#<sha>` and only allowlist source you trust.
44
-
45
- ## Code Examples
46
- Config + tool in one plugin:
47
- ```ts
48
- import type { Context } from '@deepseek-ai/cordis'
49
- import Schema from '@deepseek-ai/schemastery'
50
- import { defineTool } from '@deepseek-ai/dsh-tools'
51
-
52
- export const name = 'greet-tool'
53
- export const inject = ['tools']
54
-
55
- export interface Config { greeting: string; maxRetries: number }
56
- export const Config: Schema<Config> = Schema.object({
57
- greeting: Schema.string().default('Hello'),
58
- maxRetries: Schema.number().default(3),
59
- })
60
-
61
- export function apply(ctx: Context, config: Config) {
62
- ctx.tools.register(defineTool({
63
- name: 'greet',
64
- description: 'Greet someone by name.',
65
- parameters: { name: { type: 'string', required: true, description: 'The name to greet' } },
66
- output: {
67
- schema: { type: 'string' },
68
- render: (_args, value) => [{ type: 'text', text: value }],
69
- },
70
- async execute(args) { return `${config.greeting}, ${args.name}!` },
71
- }))
72
- }
73
- ```
74
- Bundle package + patch:
75
- ```json
76
- { "name": "dsh-hello-plugin", "version": "0.1.0", "type": "module", "main": "index.js",
77
- "files": ["index.js", "cordis.patch.yml"],
78
- "dsh": { "bundle": { "patch": "./cordis.patch.yml" } } }
79
- ```
80
- ```yaml
81
- - insert:
82
- - id: hello
83
- name: dsh-hello-plugin # package name, not a path
84
- ```
85
- Surface-bundle flag row (rows stay dormant under `--help` because the provider publishes no service):
86
- ```yaml
87
- - id: my-app
88
- name: '@example/my-app'
89
- inject: [myAppStartup]
90
- config:
91
- port: !!js ctx.myAppStartup.port ?? 8080
92
- ```
93
- Install / inspect / remove:
94
- ```sh
95
- dsh plugin --profile demo add ./hello-plugin # pnpm link + append to dsh.profile.bundles
96
- dsh --profile demo --dump-config # shows the "# == dsh-hello-plugin" layer
97
- dsh plugin --profile demo remove dsh-hello-plugin
98
- ```
99
-
100
- ## Reference Tables
101
- | Plugin form | Export | Use when |
102
- |---|---|---|
103
- | Function | `export const name` / `inject` + `export function apply` | most cases |
104
- | Object | `export default { name, inject, apply }` | grouping options |
105
- | Class | `export default class extends Service` | providing a service to other plugins |
106
-
107
- | Distribution | User command | Build happens |
108
- |---|---|---|
109
- | npm | `dsh plugin --profile demo add your-package` | at `pnpm publish` (ship built `lib/`) |
110
- | tarball | `dsh plugin add ./hello-plugin-0.1.0.tgz` | at `pnpm pack` |
111
- | git | `dsh plugin add github:you/pkg#<sha>` | author's `prepare` + user's `allowBuilds` |
112
-
113
- Layer composition (later wins per row): 1. bundle patches in `bundles` list order (`@deepseek-ai/dsh-base` first) → 2. profile `cordis.patch.yml` → 3. home `$DSH_HOME/cordis.patch.yml` → 4. `--patch` overlays in argv order. App arguments are not a patch layer.
114
-
115
- ## Key Takeaways
116
- 1. `dsh plugin --profile <name> <args...>` just forwards to pnpm in the profile directory — every pnpm verb works; first use initializes the profile with `@deepseek-ai/dsh-base` first in `bundles`.
117
- 2. `execute` returns the canonical value declared by `output.schema`; `output.render` converts that value into model-facing content blocks.
118
- 3. Fail loudly at load: self-contained constraints belong in the schema; constraints referencing live services or registered resources need dependency injection (Ch 3).
119
- 4. Users can override your rows in their profile patch without touching your package — prefer defaults they'll keep and let the schema carry the rest.
120
- 5. A surface bundle needs no launcher change for its own flags: all plugins receive the same immutable post-launcher args snapshot, and multiple plugins may parse it independently.
121
- 6. Loader evaluates a row's `!!js` config only after that row's ordinary injections resolve — config expressions can read injected services with a deployment fallback beside them.
122
-
123
- ## Connects To
124
- - **Ch 3**: lifecycle, events, services, and the three-role capability split build directly on `apply` / `inject` / `ctx.effect`.
125
- - **Ch 4 / Ch 5**: Cordis fundamentals and API own the loader, Fiber, and patch semantics summarized here.
126
- - **Ch 11**: full tool-authoring reference — nested schemas, canonical values, background work, policy hooks, PTC mode, UI cards.
127
- - **Ch 10**: the generated config catalog is derived from these `Config` schemas.