super-dsh 0.1.12 → 0.3.0

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 (856) hide show
  1. package/README.md +50 -13
  2. package/agent-agy/dist/world-plugin.d.ts +1 -1
  3. package/agent-agy/dist/world-plugin.js +14 -27
  4. package/agent-agy-sdk/dist/world-plugin.d.ts +1 -1
  5. package/agent-agy-sdk/dist/world-plugin.js +14 -27
  6. package/agent-codex/dist/world-plugin.js +14 -27
  7. package/agent-codex-sdk/dist/world-plugin.js +14 -43
  8. package/agent-hermes/dist/world-plugin.js +14 -27
  9. package/agent-omp/dist/world-plugin.js +14 -39
  10. package/agent-omp/lib/client/index.js +258 -0
  11. package/agent-omp-sdk/dist/world-plugin.d.ts +1 -1
  12. package/agent-omp-sdk/dist/world-plugin.js +14 -43
  13. package/agent-pi/dist/world-plugin.js +14 -27
  14. package/bundles/better-dsh.tgz +0 -0
  15. package/bundles/manifest.json +10 -0
  16. package/client/index.js +434 -307
  17. package/cordis.patch.yml +7 -16
  18. package/node_modules/better-dsh/LICENSE +24 -0
  19. package/node_modules/better-dsh/README.md +323 -0
  20. package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +52 -0
  21. package/node_modules/better-dsh/cordis.patch.yml +139 -0
  22. package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +14 -0
  23. package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +15 -0
  24. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +236 -0
  25. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +2083 -0
  26. package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +64 -0
  27. package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +256 -0
  28. package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +137 -0
  29. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +201 -0
  30. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +561 -0
  31. package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +307 -0
  32. package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +367 -0
  33. package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +171 -0
  34. package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +187 -0
  35. package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +97 -0
  36. package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +152 -0
  37. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +146 -0
  38. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +50 -0
  39. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +79 -0
  40. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +138 -0
  41. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +161 -0
  42. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +109 -0
  43. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +50 -0
  44. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +113 -0
  45. package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +147 -0
  46. package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +102 -0
  47. package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +128 -0
  48. package/node_modules/better-dsh/docs/20_specs/agent/spec.md +54 -0
  49. package/node_modules/better-dsh/docs/20_specs/ast/spec.md +57 -0
  50. package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +46 -0
  51. package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +107 -0
  52. package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +47 -0
  53. package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +106 -0
  54. package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +44 -0
  55. package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +37 -0
  56. package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +41 -0
  57. package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +73 -0
  58. package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +53 -0
  59. package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +121 -0
  60. package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +108 -0
  61. package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +20 -0
  62. package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +79 -0
  63. package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +22 -0
  64. package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +21 -0
  65. package/node_modules/better-dsh/docs/20_specs/skill/spec.md +58 -0
  66. package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +222 -0
  67. package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +148 -0
  68. package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +43 -0
  69. 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 +176 -0
  70. 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 +226 -0
  71. 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 +222 -0
  72. 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 +81 -0
  73. 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 +234 -0
  74. 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 +160 -0
  75. 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 +44 -0
  76. 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 +89 -0
  77. 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 +198 -0
  78. 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 +246 -0
  79. 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 +50 -0
  80. 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 +63 -0
  81. 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 +76 -0
  82. 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 +76 -0
  83. 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 +134 -0
  84. 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 +92 -0
  85. 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 +125 -0
  86. 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 +207 -0
  87. 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 +65 -0
  88. 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 +53 -0
  89. 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 +155 -0
  90. 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 +105 -0
  91. 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 +62 -0
  92. 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 +137 -0
  93. 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 +38 -0
  94. 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 +325 -0
  95. 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 +185 -0
  96. 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 +82 -0
  97. 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 +101 -0
  98. 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 +54 -0
  99. 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 +447 -0
  100. 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 +63 -0
  101. 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 +82 -0
  102. 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 +220 -0
  103. 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 +151 -0
  104. package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +63 -0
  105. package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +52 -0
  106. 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 +110 -0
  107. package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +44 -0
  108. package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +87 -0
  109. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +81 -0
  110. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +93 -0
  111. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +44 -0
  112. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +110 -0
  113. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +79 -0
  114. 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 +142 -0
  115. 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 +193 -0
  116. 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 +96 -0
  117. 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 +127 -0
  118. 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 +150 -0
  119. 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 +224 -0
  120. 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 +168 -0
  121. 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 +123 -0
  122. 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 +110 -0
  123. 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 +86 -0
  124. 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 +66 -0
  125. 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 +67 -0
  126. 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 +136 -0
  127. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +73 -0
  128. 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 +102 -0
  129. 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 +73 -0
  130. 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 +47 -0
  131. 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 +158 -0
  132. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +147 -0
  133. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +123 -0
  134. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +127 -0
  135. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +120 -0
  136. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +129 -0
  137. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +115 -0
  138. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +109 -0
  139. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +97 -0
  140. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +111 -0
  141. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +106 -0
  142. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +97 -0
  143. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +121 -0
  144. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +109 -0
  145. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +106 -0
  146. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +111 -0
  147. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +106 -0
  148. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +132 -0
  149. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +128 -0
  150. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +142 -0
  151. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +149 -0
  152. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +87 -0
  153. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +82 -0
  154. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +86 -0
  155. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +67 -0
  156. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +57 -0
  157. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +88 -0
  158. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +75 -0
  159. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +84 -0
  160. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +86 -0
  161. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +164 -0
  162. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +164 -0
  163. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +150 -0
  164. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +154 -0
  165. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +543 -0
  166. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +545 -0
  167. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +3473 -0
  168. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +3474 -0
  169. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +117 -0
  170. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +119 -0
  171. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +197 -0
  172. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.zh.md +197 -0
  173. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +102 -0
  174. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.zh.md +102 -0
  175. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +101 -0
  176. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +103 -0
  177. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +59 -0
  178. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.zh.md +59 -0
  179. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +43 -0
  180. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.zh.md +43 -0
  181. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +132 -0
  182. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +136 -0
  183. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +64 -0
  184. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.zh.md +64 -0
  185. 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 +32 -0
  186. 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 +32 -0
  187. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +364 -0
  188. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +366 -0
  189. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +207 -0
  190. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +209 -0
  191. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +375 -0
  192. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +377 -0
  193. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +39 -0
  194. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +152 -0
  195. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +154 -0
  196. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +102 -0
  197. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +104 -0
  198. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +45 -0
  199. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +51 -0
  200. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +95 -0
  201. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.zh.md +95 -0
  202. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
  203. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +98 -0
  204. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +98 -0
  205. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +98 -0
  206. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +144 -0
  207. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +144 -0
  208. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +84 -0
  209. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +84 -0
  210. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.md +113 -0
  211. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.zh.md +113 -0
  212. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.md +108 -0
  213. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.zh.md +108 -0
  214. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +60 -0
  215. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +62 -0
  216. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +163 -0
  217. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.zh.md +163 -0
  218. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +33 -0
  219. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +35 -0
  220. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +167 -0
  221. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +173 -0
  222. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +86 -0
  223. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +88 -0
  224. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +45 -0
  225. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +45 -0
  226. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +22 -0
  227. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +24 -0
  228. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +60 -0
  229. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +62 -0
  230. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +87 -0
  231. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +214 -0
  232. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +263 -0
  233. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +69 -0
  234. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +69 -0
  235. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +1411 -0
  236. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +1413 -0
  237. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +1075 -0
  238. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +1077 -0
  239. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.md +113 -0
  240. 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 +113 -0
  241. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +47 -0
  242. 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 +47 -0
  243. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.md +53 -0
  244. 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 +53 -0
  245. 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 +55 -0
  246. 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 +55 -0
  247. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +18 -0
  248. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +18 -0
  249. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +53 -0
  250. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +53 -0
  251. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +61 -0
  252. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +61 -0
  253. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +207 -0
  254. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +207 -0
  255. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +170 -0
  256. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +170 -0
  257. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +351 -0
  258. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +351 -0
  259. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +168 -0
  260. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +168 -0
  261. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +195 -0
  262. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +195 -0
  263. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +219 -0
  264. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +219 -0
  265. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +238 -0
  266. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +238 -0
  267. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +258 -0
  268. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +258 -0
  269. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +1209 -0
  270. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +1219 -0
  271. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +329 -0
  272. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +329 -0
  273. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +382 -0
  274. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +382 -0
  275. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +266 -0
  276. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +266 -0
  277. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +505 -0
  278. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +505 -0
  279. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +277 -0
  280. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +277 -0
  281. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +88 -0
  282. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +88 -0
  283. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +290 -0
  284. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +290 -0
  285. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +1080 -0
  286. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +1086 -0
  287. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +202 -0
  288. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +202 -0
  289. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +131 -0
  290. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +131 -0
  291. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +395 -0
  292. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +395 -0
  293. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +87 -0
  294. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +87 -0
  295. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +220 -0
  296. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +220 -0
  297. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +192 -0
  298. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +192 -0
  299. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +59 -0
  300. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +59 -0
  301. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +354 -0
  302. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +354 -0
  303. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +509 -0
  304. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +509 -0
  305. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +219 -0
  306. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +219 -0
  307. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +194 -0
  308. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +194 -0
  309. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +204 -0
  310. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +204 -0
  311. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +1155 -0
  312. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +1159 -0
  313. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +405 -0
  314. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +405 -0
  315. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +303 -0
  316. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +303 -0
  317. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +354 -0
  318. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +354 -0
  319. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +175 -0
  320. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +175 -0
  321. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +117 -0
  322. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +117 -0
  323. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +260 -0
  324. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +260 -0
  325. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +766 -0
  326. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +770 -0
  327. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +324 -0
  328. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +324 -0
  329. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +220 -0
  330. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +220 -0
  331. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +184 -0
  332. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +184 -0
  333. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +32 -0
  334. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +32 -0
  335. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +105 -0
  336. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +105 -0
  337. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +720 -0
  338. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +720 -0
  339. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +343 -0
  340. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +343 -0
  341. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +178 -0
  342. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +178 -0
  343. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +95 -0
  344. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +95 -0
  345. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +154 -0
  346. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +154 -0
  347. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +206 -0
  348. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +206 -0
  349. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +70 -0
  350. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +70 -0
  351. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +278 -0
  352. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +278 -0
  353. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +321 -0
  354. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +321 -0
  355. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +54 -0
  356. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +54 -0
  357. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +2225 -0
  358. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +2233 -0
  359. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +62 -0
  360. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +64 -0
  361. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +106 -0
  362. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +106 -0
  363. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +144 -0
  364. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +144 -0
  365. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +183 -0
  366. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +183 -0
  367. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +52 -0
  368. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +52 -0
  369. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +143 -0
  370. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +143 -0
  371. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +137 -0
  372. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +137 -0
  373. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +148 -0
  374. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +150 -0
  375. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +15 -0
  376. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.zh.md +15 -0
  377. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +155 -0
  378. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +155 -0
  379. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +189 -0
  380. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.zh.md +189 -0
  381. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +102 -0
  382. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +102 -0
  383. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +30 -0
  384. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +30 -0
  385. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +101 -0
  386. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +101 -0
  387. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +85 -0
  388. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +85 -0
  389. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +190 -0
  390. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +190 -0
  391. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +150 -0
  392. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +150 -0
  393. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +21 -0
  394. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +21 -0
  395. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +11 -0
  396. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +11 -0
  397. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +29 -0
  398. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +29 -0
  399. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +234 -0
  400. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +232 -0
  401. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +63 -0
  402. package/node_modules/better-dsh/docs/dev-test-environment-notes.md +137 -0
  403. package/node_modules/better-dsh/docs/distro-blueprint.md +81 -0
  404. package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
  405. package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +102 -0
  406. package/node_modules/better-dsh/docs/specs/agent/spec.md +54 -0
  407. package/node_modules/better-dsh/docs/specs/ast/spec.md +57 -0
  408. package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +170 -0
  409. package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +51 -0
  410. package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +46 -0
  411. package/node_modules/better-dsh/docs/specs/ctx/spec.md +179 -0
  412. package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +110 -0
  413. package/node_modules/better-dsh/docs/specs/dsh/spec.md +47 -0
  414. package/node_modules/better-dsh/docs/specs/dvc/spec.md +106 -0
  415. package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +44 -0
  416. package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +37 -0
  417. package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +41 -0
  418. package/node_modules/better-dsh/docs/specs/http-read/spec.md +73 -0
  419. package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +53 -0
  420. package/node_modules/better-dsh/docs/specs/lsp/spec.md +121 -0
  421. package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +108 -0
  422. package/node_modules/better-dsh/docs/specs/model-failover/spec.md +20 -0
  423. package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +168 -0
  424. package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +79 -0
  425. package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +22 -0
  426. package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +126 -0
  427. package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +21 -0
  428. package/node_modules/better-dsh/docs/specs/skill/spec.md +58 -0
  429. package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +222 -0
  430. package/node_modules/better-dsh/docs/specs/url-schema/spec.md +148 -0
  431. package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +43 -0
  432. package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +13 -0
  433. package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +85 -0
  434. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +319 -0
  435. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +1214 -0
  436. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +181 -0
  437. package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +209 -0
  438. package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +156 -0
  439. package/node_modules/better-dsh/dsh-docs/AGENTS.md +75 -0
  440. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +84 -0
  441. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +86 -0
  442. package/node_modules/better-dsh/dsh-docs/api-gateway.md +164 -0
  443. package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +164 -0
  444. package/node_modules/better-dsh/dsh-docs/architecture.md +150 -0
  445. package/node_modules/better-dsh/dsh-docs/architecture.zh.md +154 -0
  446. package/node_modules/better-dsh/dsh-docs/capability-seams.md +543 -0
  447. package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +545 -0
  448. package/node_modules/better-dsh/dsh-docs/config-catalog.md +3473 -0
  449. package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +3474 -0
  450. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +117 -0
  451. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +119 -0
  452. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +197 -0
  453. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +197 -0
  454. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +109 -0
  455. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +109 -0
  456. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +102 -0
  457. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +102 -0
  458. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +101 -0
  459. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +103 -0
  460. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +59 -0
  461. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +59 -0
  462. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +43 -0
  463. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +43 -0
  464. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +132 -0
  465. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +136 -0
  466. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +64 -0
  467. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +64 -0
  468. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +32 -0
  469. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +32 -0
  470. package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +364 -0
  471. package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +366 -0
  472. package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +207 -0
  473. package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +209 -0
  474. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +375 -0
  475. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +377 -0
  476. package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +39 -0
  477. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +152 -0
  478. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +154 -0
  479. package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +102 -0
  480. package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +104 -0
  481. package/node_modules/better-dsh/dsh-docs/cordis-primer.md +45 -0
  482. package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +51 -0
  483. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +95 -0
  484. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +95 -0
  485. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
  486. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +98 -0
  487. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +98 -0
  488. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +98 -0
  489. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +144 -0
  490. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +144 -0
  491. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +84 -0
  492. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +84 -0
  493. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +113 -0
  494. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +113 -0
  495. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +108 -0
  496. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +108 -0
  497. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +60 -0
  498. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +62 -0
  499. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +163 -0
  500. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +163 -0
  501. package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +33 -0
  502. package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +35 -0
  503. package/node_modules/better-dsh/dsh-docs/development.md +167 -0
  504. package/node_modules/better-dsh/dsh-docs/development.zh.md +173 -0
  505. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +86 -0
  506. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +88 -0
  507. package/node_modules/better-dsh/dsh-docs/glossary.md +45 -0
  508. package/node_modules/better-dsh/dsh-docs/glossary.zh.md +45 -0
  509. package/node_modules/better-dsh/dsh-docs/graph-atlas.md +22 -0
  510. package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +24 -0
  511. package/node_modules/better-dsh/dsh-docs/i18n/README.md +60 -0
  512. package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +62 -0
  513. package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +87 -0
  514. package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +214 -0
  515. package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +263 -0
  516. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +69 -0
  517. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +69 -0
  518. package/node_modules/better-dsh/dsh-docs/module-graph.md +1411 -0
  519. package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +1413 -0
  520. package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +1075 -0
  521. package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +1077 -0
  522. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +113 -0
  523. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +113 -0
  524. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +47 -0
  525. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +47 -0
  526. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +53 -0
  527. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +53 -0
  528. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +55 -0
  529. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +55 -0
  530. package/node_modules/better-dsh/dsh-docs/postmortem/README.md +18 -0
  531. package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +18 -0
  532. package/node_modules/better-dsh/dsh-docs/rescope.md +53 -0
  533. package/node_modules/better-dsh/dsh-docs/rescope.zh.md +53 -0
  534. package/node_modules/better-dsh/dsh-docs/session-format-status.md +47 -0
  535. package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +47 -0
  536. package/node_modules/better-dsh/dsh-docs/subsystems/README.md +61 -0
  537. package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +61 -0
  538. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +207 -0
  539. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +207 -0
  540. package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +170 -0
  541. package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +170 -0
  542. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +351 -0
  543. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +351 -0
  544. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +168 -0
  545. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +168 -0
  546. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +91 -0
  547. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +91 -0
  548. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +195 -0
  549. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +195 -0
  550. package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +219 -0
  551. package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +219 -0
  552. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +238 -0
  553. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +238 -0
  554. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +258 -0
  555. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +258 -0
  556. package/node_modules/better-dsh/dsh-docs/subsystems/core.md +1209 -0
  557. package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +1219 -0
  558. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +329 -0
  559. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +329 -0
  560. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +382 -0
  561. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +382 -0
  562. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +266 -0
  563. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +266 -0
  564. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +505 -0
  565. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +505 -0
  566. package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +277 -0
  567. package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +277 -0
  568. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +88 -0
  569. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +88 -0
  570. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +290 -0
  571. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +290 -0
  572. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +1080 -0
  573. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +1086 -0
  574. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +202 -0
  575. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +202 -0
  576. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +131 -0
  577. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +131 -0
  578. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +395 -0
  579. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +395 -0
  580. package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +87 -0
  581. package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +87 -0
  582. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +220 -0
  583. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +220 -0
  584. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +192 -0
  585. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +192 -0
  586. package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +59 -0
  587. package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +59 -0
  588. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +354 -0
  589. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +354 -0
  590. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +509 -0
  591. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +509 -0
  592. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +219 -0
  593. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +219 -0
  594. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +194 -0
  595. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +194 -0
  596. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +204 -0
  597. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +204 -0
  598. package/node_modules/better-dsh/dsh-docs/subsystems/session.md +1155 -0
  599. package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +1159 -0
  600. package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +405 -0
  601. package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +405 -0
  602. package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +303 -0
  603. package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +303 -0
  604. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +148 -0
  605. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +148 -0
  606. package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +354 -0
  607. package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +354 -0
  608. package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +175 -0
  609. package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +175 -0
  610. package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +117 -0
  611. package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +117 -0
  612. package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +260 -0
  613. package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +260 -0
  614. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +766 -0
  615. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +770 -0
  616. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +324 -0
  617. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +324 -0
  618. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +220 -0
  619. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +220 -0
  620. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +184 -0
  621. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +184 -0
  622. package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +32 -0
  623. package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +32 -0
  624. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +105 -0
  625. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +105 -0
  626. package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +720 -0
  627. package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +720 -0
  628. package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +343 -0
  629. package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +343 -0
  630. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +178 -0
  631. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +178 -0
  632. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +95 -0
  633. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +95 -0
  634. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +154 -0
  635. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +154 -0
  636. package/node_modules/better-dsh/dsh-docs/subsystems/web.md +206 -0
  637. package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +206 -0
  638. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +70 -0
  639. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +70 -0
  640. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +278 -0
  641. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +278 -0
  642. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +321 -0
  643. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +321 -0
  644. package/node_modules/better-dsh/dsh-docs/testing.md +54 -0
  645. package/node_modules/better-dsh/dsh-docs/testing.zh.md +54 -0
  646. package/node_modules/better-dsh/dsh-docs/tool-catalog.md +2225 -0
  647. package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +2233 -0
  648. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +62 -0
  649. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +64 -0
  650. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +106 -0
  651. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +106 -0
  652. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +144 -0
  653. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +144 -0
  654. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +183 -0
  655. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +183 -0
  656. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +52 -0
  657. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +52 -0
  658. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +143 -0
  659. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +143 -0
  660. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +137 -0
  661. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +137 -0
  662. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +148 -0
  663. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +150 -0
  664. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +15 -0
  665. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +15 -0
  666. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +155 -0
  667. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +155 -0
  668. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +189 -0
  669. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +189 -0
  670. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +102 -0
  671. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +102 -0
  672. package/node_modules/better-dsh/dsh-docs/user/guide/index.md +30 -0
  673. package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +30 -0
  674. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +101 -0
  675. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +101 -0
  676. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +85 -0
  677. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +85 -0
  678. package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +190 -0
  679. package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +190 -0
  680. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +150 -0
  681. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +150 -0
  682. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +21 -0
  683. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +21 -0
  684. package/node_modules/better-dsh/dsh-docs/user/index.md +11 -0
  685. package/node_modules/better-dsh/dsh-docs/user/index.zh.md +11 -0
  686. package/node_modules/better-dsh/dsh-docs/web-styling.md +29 -0
  687. package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +29 -0
  688. package/node_modules/better-dsh/eval-description.md +33 -0
  689. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +4 -0
  690. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +39 -0
  691. package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +4 -0
  692. package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +17 -0
  693. package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +4 -0
  694. package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +3634 -0
  695. package/node_modules/better-dsh/lib/ast-assets/ast-grep.wasm +0 -0
  696. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  697. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-c.wasm +0 -0
  698. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  699. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-css.wasm +0 -0
  700. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-go.wasm +0 -0
  701. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-html.wasm +0 -0
  702. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  703. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-json.wasm +0 -0
  704. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-python.wasm +0 -0
  705. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  706. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  707. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  708. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  709. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  710. package/node_modules/better-dsh/lib/ast-assets/tree-sitter.wasm +0 -0
  711. package/node_modules/better-dsh/lib/bidi-BalpKaJc.js +16106 -0
  712. package/node_modules/better-dsh/lib/bundle-delivery.d.ts +20 -0
  713. package/node_modules/better-dsh/lib/bundle-delivery.js +209 -0
  714. package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +30 -0
  715. package/node_modules/better-dsh/lib/client/index.js +712 -0
  716. package/node_modules/better-dsh/lib/compaction/index.d.ts +57 -0
  717. package/node_modules/better-dsh/lib/compaction/index.js +145 -0
  718. package/node_modules/better-dsh/lib/failover/index.d.ts +59 -0
  719. package/node_modules/better-dsh/lib/failover/index.js +147 -0
  720. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +71 -0
  721. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +249 -0
  722. package/node_modules/better-dsh/lib/hmr.d.ts +32 -0
  723. package/node_modules/better-dsh/lib/hmr.js +49 -0
  724. package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +208 -0
  725. package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +21061 -0
  726. package/node_modules/better-dsh/lib/index.d.ts +705 -0
  727. package/node_modules/better-dsh/lib/index.js +3816 -0
  728. package/node_modules/better-dsh/lib/kernel-bridge.py +172 -0
  729. package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +195 -0
  730. package/node_modules/better-dsh/lib/kernel-env.d.ts +80 -0
  731. package/node_modules/better-dsh/lib/kernel-env.js +3 -0
  732. package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +894 -0
  733. package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +3 -0
  734. package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +972 -0
  735. package/node_modules/better-dsh/lib/main-BQeFrBM1.js +3 -0
  736. package/node_modules/better-dsh/lib/main-CupOhMp5.js +1432 -0
  737. package/node_modules/better-dsh/lib/mobile/plugin.d.ts +29 -0
  738. package/node_modules/better-dsh/lib/mobile/plugin.js +54 -0
  739. package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +68 -0
  740. package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +1136 -0
  741. package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +178 -0
  742. package/node_modules/better-dsh/lib/py-sdk.d.ts +19 -0
  743. package/node_modules/better-dsh/lib/py-sdk.js +3 -0
  744. package/node_modules/better-dsh/lib/remote/plugin.d.ts +24 -0
  745. package/node_modules/better-dsh/lib/remote/plugin.js +1190 -0
  746. package/node_modules/better-dsh/lib/url-schemes/index.d.ts +88 -0
  747. package/node_modules/better-dsh/lib/url-schemes/index.js +12229 -0
  748. package/node_modules/better-dsh/lib/util-BHL_dfV_.js +2953 -0
  749. package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +1291 -0
  750. package/node_modules/better-dsh/lib/web-password.d.ts +156 -0
  751. package/node_modules/better-dsh/lib/web-password.js +562 -0
  752. package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +3440 -0
  753. package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +393 -0
  754. package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +113 -0
  755. package/node_modules/better-dsh/lib/web-trust.d.ts +3 -0
  756. package/node_modules/better-dsh/lib/web-trust.js +4 -0
  757. package/node_modules/better-dsh/lib/webserver.d.ts +10 -0
  758. package/node_modules/better-dsh/lib/webserver.js +19 -0
  759. package/node_modules/better-dsh/lib/welcome-notice.d.ts +18 -0
  760. package/node_modules/better-dsh/lib/welcome-notice.js +59 -0
  761. package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +750 -0
  762. package/node_modules/better-dsh/package.json +430 -0
  763. package/node_modules/better-dsh/scripts/kernel-provision.mjs +35 -0
  764. package/node_modules/better-dsh/scripts/register-bundle.mjs +80 -0
  765. package/node_modules/better-dsh/url-schemes-instruction.md +22 -0
  766. package/package.json +21 -6
  767. package/superd-hub/assets/icons/README.md +20 -0
  768. package/superd-hub/assets/icons/amp.png +0 -0
  769. package/superd-hub/assets/icons/ante.png +0 -0
  770. package/superd-hub/assets/icons/antigravity.png +0 -0
  771. package/superd-hub/assets/icons/aug.png +0 -0
  772. package/superd-hub/assets/icons/autohand.png +0 -0
  773. package/superd-hub/assets/icons/claude.svg +1 -0
  774. package/superd-hub/assets/icons/cline.png +0 -0
  775. package/superd-hub/assets/icons/codebuddy.png +0 -0
  776. package/superd-hub/assets/icons/codebuff.png +0 -0
  777. package/superd-hub/assets/icons/codex.svg +1 -0
  778. package/superd-hub/assets/icons/command-code.png +0 -0
  779. package/superd-hub/assets/icons/continue.png +0 -0
  780. package/superd-hub/assets/icons/copilot.png +0 -0
  781. package/superd-hub/assets/icons/crush.png +0 -0
  782. package/superd-hub/assets/icons/cursor.png +0 -0
  783. package/superd-hub/assets/icons/devin.png +0 -0
  784. package/superd-hub/assets/icons/droid.png +0 -0
  785. package/superd-hub/assets/icons/dsh-fish.svg +3 -0
  786. package/superd-hub/assets/icons/dsh.png +0 -0
  787. package/superd-hub/assets/icons/freebuff.png +0 -0
  788. package/superd-hub/assets/icons/gemini.png +0 -0
  789. package/superd-hub/assets/icons/goose.png +0 -0
  790. package/superd-hub/assets/icons/grok.png +0 -0
  791. package/superd-hub/assets/icons/hermes.png +0 -0
  792. package/superd-hub/assets/icons/jcode.png +0 -0
  793. package/superd-hub/assets/icons/kilo.png +0 -0
  794. package/superd-hub/assets/icons/kimi.png +0 -0
  795. package/superd-hub/assets/icons/kiro.png +0 -0
  796. package/superd-hub/assets/icons/manifest.json +20 -0
  797. package/superd-hub/assets/icons/mimo-code.png +0 -0
  798. package/superd-hub/assets/icons/mistral-vibe.png +0 -0
  799. package/superd-hub/assets/icons/muse.png +0 -0
  800. package/superd-hub/assets/icons/omp.svg +1 -0
  801. package/superd-hub/assets/icons/openclaude.png +0 -0
  802. package/superd-hub/assets/icons/openclaw.png +0 -0
  803. package/superd-hub/assets/icons/opencode.png +0 -0
  804. package/superd-hub/assets/icons/pi.svg +1 -0
  805. package/superd-hub/assets/icons/prime-agent.png +0 -0
  806. package/superd-hub/assets/icons/qoder-cn.png +0 -0
  807. package/superd-hub/assets/icons/qoder.png +0 -0
  808. package/superd-hub/assets/icons/qwen-code.png +0 -0
  809. package/superd-hub/assets/icons/rovo.png +0 -0
  810. package/superd-hub/assets/icons/trae.png +0 -0
  811. package/superd-hub/assets/icons/zcode.png +0 -0
  812. package/superd-hub/dist/a2a-row.js +1 -1
  813. package/superd-hub/dist/agent-roster.d.ts +8 -3
  814. package/superd-hub/dist/agent-roster.js +19 -7
  815. package/superd-hub/dist/bundle-setup.d.ts +2 -0
  816. package/superd-hub/dist/bundle-setup.js +2 -0
  817. package/superd-hub/dist/client/icon-assets.gen.d.ts +16 -0
  818. package/superd-hub/dist/client/icon-assets.gen.js +54 -0
  819. package/superd-hub/dist/client/mesh-api.d.ts +28 -17
  820. package/superd-hub/dist/client/mesh-api.js +44 -31
  821. package/superd-hub/dist/client/mesh-groups.d.ts +13 -11
  822. package/superd-hub/dist/client/mesh-groups.js +30 -10
  823. package/superd-hub/dist/client/roster.d.ts +7 -16
  824. package/superd-hub/dist/client/roster.js +5 -3
  825. package/superd-hub/dist/fusion-transport.d.ts +11 -10
  826. package/superd-hub/dist/fusion-transport.js +21 -11
  827. package/superd-hub/dist/index.d.ts +0 -1
  828. package/superd-hub/dist/index.js +0 -1
  829. package/superd-hub/dist/machines.d.ts +6 -3
  830. package/superd-hub/dist/machines.js +15 -3
  831. package/superd-hub/dist/mesh-federate.d.ts +18 -8
  832. package/superd-hub/dist/mesh-federate.js +14 -9
  833. package/superd-hub/dist/mesh-link.d.ts +37 -3
  834. package/superd-hub/dist/mesh-link.js +49 -4
  835. package/superd-hub/dist/mesh-rpc.d.ts +48 -16
  836. package/superd-hub/dist/mesh-rpc.js +139 -14
  837. package/superd-hub/dist/roster.d.ts +20 -0
  838. package/superd-hub/dist/roster.js +24 -0
  839. package/superd-hub/dist/switch-core.d.ts +3 -2
  840. package/superd-hub/dist/switch-core.js +1 -1
  841. package/superd-hub/dist/world-entry.d.ts +3 -0
  842. package/superd-hub/dist/world-entry.js +4 -1
  843. package/superd-hub/dist/world-host.d.ts +5 -2
  844. package/superd-hub/dist/world-host.js +6 -2
  845. package/superd-hub/dist/world-join.d.ts +1 -1
  846. package/superd-hub/dist/world-join.js +14 -32
  847. package/superd-hub/dist/world-lifecycle.d.ts +20 -0
  848. package/superd-hub/dist/world-lifecycle.js +69 -0
  849. package/superd-hub/dist/world-mount.d.ts +1 -1
  850. package/superd-hub/dist/world-mount.js +2 -2
  851. package/superd-hub/lib/client/index.js +434 -307
  852. package/superd-hub/package.json +3 -2
  853. package/superd-hub/dist/connection-trust.d.ts +0 -8
  854. package/superd-hub/dist/connection-trust.js +0 -16
  855. package/superd-hub/dist/web-trust.d.ts +0 -84
  856. package/superd-hub/dist/web-trust.js +0 -101
@@ -0,0 +1,76 @@
1
+ # Plugins 页组件化(6 行拆分)+ 卡片描述 实测报告
2
+
3
+ - 日期:2026-09-17
4
+ - 变更:spec `dashr/docs/specs/plugins-page-components/spec.md`(bundle patch 1 insert → 6 inserts;package.json 补 `description`;native-capture 提升共享模块)
5
+ - 测试环境:Dev/Test 1(upstream 0.1.5-rc.2 源码树 + 内嵌 dashr 副本),实例 **4988**(4999 被占用),LAN socat 中继
6
+ - 结论:**目标全部达成**(dev 线可证的全部事实);UI 行开关逐键验收待 prod 安装后(见 §六)
7
+
8
+ ## 一、机制事实(对 prod 0.1.3 线 plugin-manager 源码核实)
9
+
10
+ - 插件页卡片描述 = 包 manifest `description` 字段(`BundleInfo.description` JSDoc:"`description` of the package manifest")。better-dsh 此前缺该字段 → 卡片无描述。官方包走 locale 表(`builtinAgentTeamTitle/Description`),非官方回退 manifest。
11
+ - 页面"组件" = bundle patch 的 **insert 行**(`declaredRows()`:inserts 才进 `rows`;非 insert 行进 `overrides`,该页不显示)。行开关 = 向 profile 用户层 patch 写 `{id, disabled}`,HMR 即时生效(`writePluginEnabled(profile.patchPath, …)` + `reload()`)。
12
+ - 0.1.5-rc.2 测试线无 plugin-manager(无行开关 UI,仅只读 inventory);行结构为两线共用的 host 侧事实。
13
+
14
+ ## 二、交付物
15
+
16
+ 1. `package.json`:`description` 逐字取 awesome-dsh-plugins listing en 文案(与市场单源一致);新增 5 个子路径导出(`./url-schemes`、`./failover`、`./compaction-tuning`、`./web-trust`、`./mobile`)。
17
+ 2. `cordis.patch.yml`:6 条 insert(dashr-repl 核心 / dashr-url-schemes / dashr-failover / dashr-compaction-tuning / dashr-web-trust / dashr-mobile);compaction 再启用三条与 `connection` fence 保持 override 行(原生页不列 override——做成 insert 需 fork 上游模块,不采纳)。
18
+ 3. 配置键迁移:`urlSchemes`/`hashline`/`trustedPageAuthorities`/`mobile` 离开 dashr-repl Config,落所属行 schema(`DSH_TRUSTED_HOSTS` 派生默认保留在 web-trust 行 schema;MOBILE_CONFIG 原文迁至 mobile 行)。
19
+ 4. **顺序不变式结构化**:`native-capture` 升为共享模块(tsdown 多入口 chunk 共享 `native-capture-x_Hos2e8.js`,单例 WeakMap);wire mask 监听器第一步 `captureAllTools(agent)` 后才 restrict——两行激活顺序无关(`lib/index.js` 与 `lib/url-schemes/index.js` 实测引用同一 chunk)。
20
+
21
+ ## 三、构建卫生
22
+
23
+ - dev 基 `tsc --noEmit`:与 stash 基线**逐条一致**(仅同类既有错误的行号漂移;基线 15 条均为独立 dev 检出的 host 类型漂移)。
24
+ - dev 基 vitest 全量:**508 过 / 14 挂** —— 14 挂经 stash 基线复跑证实**先于本改动**(url-schemes.spec 2 + agent-family 12,同源类型漂移)。
25
+ - surface.spec 夹具更新为**双行挂载**(镜像真实组合),10/10 过;**反向挂载顺序**(mask 行先于 url-schemes 行)同样 10/10 —— 顺序无关性实测成立。
26
+ - monorepo 副本:`pnpm install`(node_modules 曾被清,build 产物完好)→ `tsdown` + `build-client.ts` 双半重建成功。
27
+
28
+ ## 四、4988 实例实测(第一人称)
29
+
30
+ boot log 当前段零 error/warn;shell 200;boot graph 含 `"id":"better-dsh"`;`/plugins/??better-dsh/client.js&rev=…` 200 且与 `lib/client/index.js` 仅差服务端追加的 sourceMappingURL 行。
31
+
32
+ 1. **组合面**:`web --dump-config` 六行齐落 —— `dashr-repl→better-dsh`、`dashr-url-schemes→better-dsh/url-schemes`、`dashr-failover→better-dsh/failover`、`dashr-compaction-tuning→better-dsh/compaction-tuning`、`dashr-web-trust→better-dsh/web-trust`、`dashr-mobile→better-dsh/mobile`;override 行 `compaction-basic` `disabled: false` 在位。
33
+ 2. **双腿活体**:served HTML 同时含 `__DSH_TRANSPORT__`(authorities = `[test.pc.randomhash.app, pc.randomhash.app, 192.168.31.130]`,schema 默认自 DSH_TRUSTED_HOSTS 派生 ✓)与 `__DASHR_MOBILE__` + zoomGuard 段。
34
+ 3. **行开关往返**(用户层 patch 写 `{id: dashr-mobile, disabled: true}`,即 prod 开关按钮的落盘形态):
35
+ - 禁用 → 3 秒内 HMR 生效:`__DASHR_MOBILE__` 0、zoomGuard 0、`__DSH_TRANSPORT__` 1(web-trust 行不受牵连);
36
+ - 恢复 → `__DASHR_MOBILE__` 2、zoomGuard 1、transport 1。零重启。
37
+ 4. **LAN 中继**:`http://192.168.31.130:4988/?token=…` 303(认证重定向,链路通)。
38
+ 5. `.dsh-test` 用户层旧 override(`hashline`/`urlSchemes` 挂在 dashr-repl 行)已顺手迁移清零(键已随拆分移行)。
39
+
40
+ ## 五、已知边界
41
+
42
+ - 0.1.5 测试线的 Settings → Plugins → Plugin list 只读 inventory 不展示 bundle 行(新 UI 模型);六行 UI 开关验收属 prod 0.1.3 线 plugin-manager 页面。
43
+ - url-schemes 行关闭时:eval/委派桥正常(mask 自带 capture 步骤固化被 mask 定义——单元级由 surface.spec 双行挂载覆盖);read/write/grep/glob 回落原生语义。
44
+ - failover / compaction-tuning 行关闭后,其 client 设置卡仍在 General 页写 settings(无消费者)——与拆分前"卡在、宿主逻辑在"的形态一致的降级,已在 spec §Out of Scope 记录。
45
+
46
+ ## 六、待办
47
+
48
+ - user 以普通 user 身份自装实测(发布红线 a→c;本次未 publish、未动 prod)。
49
+ - prod 安装后的 UI 验收清单:better-dsh 卡片显示 listing 描述;6 组件行在列;逐行开关 + HMR 生效;`dashr-mobile` 关闭后真机手势熄灭。
50
+
51
+ ---
52
+
53
+ ## 七、追加轮(2026-09-21):对齐 harness 0.1.6-alpha.2,真 UI 全量验收 ✅
54
+
55
+ user 裁决:侧栏 Plugins 页(plugin-manager UI)仅存在于 **0.1.6-alpha.2** 线;prod 已是 0.1.6-alpha.2 + latest better-dsh(0.2.4)。Dev/Test 1 checkout 由 `dsh-v0.1.5-rc.2` 切至 `dsh-v0.1.6-alpha.2`(ddefc45fbc)。
56
+
57
+ ### 对齐轮落位
58
+
59
+ - **本地 patch 手工重放**(未盲 apply):pnpm-workspace.yaml(storeDir/verifyDepsBeforeRun/linkWorkspacePackages + allowBuilds `zeromq`、`@deepseek-ai/dsh-subprocess-local`);root package.json devDep `unrun@^0.3.1`;`packages/client/tsdown.client.ts` REPOSITORY_ROOT 派生(clean apply);apps/web vite preact alias/dedupe + devDeps preact 10.29.8 pin(冲突手工并,pin 保留)。
60
+ - **vendor 文档再迁移**:`vendor/docs/`(前轮 ENOTDIR 补丁位)在 0.1.6 会被 root tsdown.config 的 `vendor/*` workspace glob 当作**幻影包**(无 package.json → 向上找名 → `@deepseek-ai/dsh-root` → `Cannot find entry lib/types/{index,invariant,startup}.js` 全 build 失败)。已移出 vendor,落 `.scratch/vendor-docs/`。vendor 根不允许任何子目录缺 package.json。
61
+ - **bun 工作流隔离**:树内另一 workstream 的未跟踪 bun-compile 实验文件(`packages/boot/app-boot/src/bun-internal-bridge.ts` + `bun-registry/` + 根 `x`)破坏 pristine tag 的 tsc(生成物 `dsh-bun-registry-entries/bun-registry.generated` 不存在,tracked 代码零引用)。已整体隔离至 `.scratch/bun-workstream-quarantine/`,未删除。
62
+ - **测试 profile 依赖声明**(本轮关键发现):0.1.6 plugin-manager 以 **profile package.json `dependencies`** 判定"已安装 bundle";`.dsh-test` profile 此前只有 bundle 行 + 手工 symlink、dependencies 为空 → better-dsh 卡片不出现。已补 `"better-dsh": "0.2.4"`(镜像 prod 形态;不跑 profile install,symlink 供位不变)。
63
+ - 全量构建通过(248 client artifacts);copy 侧 tsdown + build-client 双半重建;pnpm install 完成 copy 的 14 项 `workspace:*` devDeps 手术链接。
64
+
65
+ ### 真 UI 验收(CDP,4988 @ 0.1.6-alpha.2-ddefc45-dirty)
66
+
67
+ 1. **卡片**:`better-dsh v0.2.4` + listing 文案描述全文在卡("Make your dsh ready for serious coding tasks. (Tools x Schemas)^REPL. …")—— description 修复在真 UI 得证。
68
+ 2. **组件**:`Components 6 total · 6 running` —— dashr-repl / dashr-url-schemes / dashr-failover / dashr-compaction-tuning / dashr-web-trust / dashr-mobile,模块名逐行正确,各带 `role="switch"`。
69
+ 3. **行开关真 UI 往返**(dashr-mobile):
70
+ - 关 → aria-checked true→false;用户层 patch 立现 `{id: dashr-mobile, disabled: true}`;2.5s 内 served HTML `__DASHR_MOBILE__` 归零、zoomGuard 消失、`__DSH_TRANSPORT__` 不受牵连;
71
+ - 开 → override 行被移除、行态回 true、mobile 全局 + zoomGuard 复返。零重启,零页面错误。
72
+ 4. 截图:`.scratch/4988-plugins-016.png`(列表)、`4988-mobile-off.png` / `4988-mobile-on.png`(往返两态)。
73
+
74
+ ### 结论
75
+
76
+ 两项原始诉求(卡片描述、组件化行开关)在**与 prod 同版**的 harness 上全量验收通过。发布仍按红线等待 user 单次明确放行。
@@ -0,0 +1,76 @@
1
+ # 4988 双平面启动修复(首工具调用 'prepare' 崩溃 + 会话毒化)实测报告
2
+
3
+ - 日期:2026-09-22
4
+ - 环境:Dev/Test 1(upstream `dsh-v0.1.6-alpha.2` checkout + 内嵌 better-dsh 0.2.4 副本),实例 4988(unit `dsh-4988-test` + LAN socat 中继),`DSH_HOME=/home/u1/workspaces/dashr/.dsh-test`
5
+ - 结论:**根因修复 + 第一人称实测通过**。崩溃与 better-dsh 无关(headless 无 better-dsh 一样崩;prod 3080 带 better-dsh 0.2.4 正常);根因是 **tsx 源码启动的双平面模块分裂**。修复 = 产物面启动(`apps/cli/lib/bin.js` + 裸 node,与 prod 同构)。
6
+
7
+ ## 一、症状(user 报告,2026-09-21/22)
8
+
9
+ 每个新 session 的**第一个工具调用**必失败:
10
+
11
+ ```
12
+ This turn failed Cannot read properties of undefined (reading 'prepare') UNKNOWN
13
+ ```
14
+
15
+ 其后同 session 任何后续轮次:
16
+
17
+ ```
18
+ This turn failed DeepSeek Messages tool calls need immediate results INVALID_REQUEST
19
+ ```
20
+
21
+ 会话从此不可用。复现的失败工具:`bash`、`skill`;Llm `thinking` 流正常出字(LLM 请求/响应路径完好),崩溃点在工具调度。
22
+
23
+ ## 二、证据时间线(session log 全量扫描,88 个 zstd session)
24
+
25
+ | 时间(HKT) | session | 工具调用数 | turn 错误 | 备注 |
26
+ |---|---|---|---|---|
27
+ | 09-12 ~ 09-15 01:09 | 数十个 | 1–289/个 | 0 | 同一 09-12 01:13 boot,read/write(dvc:// URI 走 better-dsh remask)全部成功 |
28
+ | 09-15 01:26 | `…7842bf` | 1 | prepare + INVALID_REQUEST | **首例**;agent preset `cordis`;旧 0.1.5-rc.2 boot |
29
+ | (无 session) | — | — | — | 09-15→09-22 间无任何真实 chat session 复测 |
30
+ | 09-22 00:06 | `…8c2514ba` | 1 | prepare + INVALID_REQUEST | user 复测;默认组合 |
31
+ | 09-22 00:12 | `…5ca418a1` | 1 | prepare | user 复测;preset cordis |
32
+
33
+ 关键事实:09-15 01:09(成功,13 调用)与 01:26(首败)在**同一 daemon 进程**上——非重启/重建引入;align 轮(09-21)之前已存在。
34
+
35
+ ## 三、根因链(每步有实证)
36
+
37
+ 1. **崩溃点**:`agent-loop/src/tool-calls.ts` `startCall` 的 `ctx.tools[TOOL_RUNTIME_SCHEDULER].prepare(call.exec)`。栈经临时诊断打点捕获(已还原)。`tool/call` 事件先落(`appendToolCall`),prepare 抛 TypeError → turn 以 UNKNOWN 结束;**孤儿 tool/call 无结果** → 之后每轮 DeepSeek 序列化器拒绝(`llm-deepseek/src/protocols/messages/serialize.ts:117` 的 "tool calls need immediate results")。
38
+ 2. **诊断打点实测**:`ctx.tools` 是 ToolRuntime 实例,ownSymbols 含 `Symbol(@deepseek-ai/dsh-tools.scheduler)`,但与 agent-loop 导入的 symbol **同 description 不同对象** = 同进程两份 `@deepseek-ai/dsh-tools`。
39
+ 3. **两份从哪来**:tsx 源码启动 = 双平面运行时——
40
+ - TS 文件(apps/cli、各包 src)经 `tsconfig.base.json` `paths`(`@deepseek-ai/dsh-*` → `packages/*/*/src/index.ts`)→ **src 副本**;
41
+ - plugin loader 把组合行模块名解析为构建 lib 的 file URL → **lib 副本**(且 vendor/cordis 的 lib bundle 陈旧——不含 `FiberState` 导出)。
42
+ - lib 侧 ToolRuntime 把 scheduler 挂在 lib 副本 symbol 下;src 侧 agent-loop 按 src 副本 symbol 查 → `undefined`。
43
+ 4. **为何 prepare 门不接住**:`prepareExecution` 的 try/catch 只包门内瀑布;`ctx.tools[SYMBOL]` 在 agent-loop 侧、门之前求值。
44
+ 5. **为何 paths-less 收敛不可行**:`vendor/cordis/src/fiber.ts` 的 `export const enum FiberState` 被 tsc 内联(bundle 无该运行时导出),tsx 只能保留 value import → 产物 lib 面 boot 必然 `SyntaxError: ... does not provide an export named 'FiberState'`。**源码启动本质上需要 src 面** → 唯一正解 = 产物面启动。
45
+
46
+ ## 四、better-dsh 判定:**无关(exonerated)**
47
+
48
+ - headless 一次性任务(无 web profile、无 better-dsh、`--profile headless`)在 tsx 启动下**同栈同错**;
49
+ - prod 3080(npm 0.1.6-alpha.2 + better-dsh 0.2.4,产物面运行)工具调用全部正常——本报告撰写会话即运行其上;
50
+ - 九条运行期 import 的 better-dsh 嵌套链接审计:8 条本就指 workspace,1 条(`dsh-home-paths` → `.pnpm/@deepseek-ai+dsh-home-paths@0.1.2-rc.1`)为陈旧 registry 副本,**已改链**到 `packages/util/home-paths`(见 §六)。
51
+
52
+ ## 五、修复与验证
53
+
54
+ **修复**(对 src 零改动——三个临时诊断打点已全部还原,`git status` 干净):
55
+
56
+ - `tests/start-4999.sh`:boot 行改为 `node apps/cli/lib/bin.js web --no-open --port $PORT`(产物面 + 裸 node,无 tsx),附根因注释与 lib/bin.js 存在性守卫;
57
+ - `AGENTS.md` §二 启动块同步改写:新命令 + 红线(tsx 源码启动禁止用于回归验收)+ `pnpm run build` 前置条件;
58
+ - 全量 `pnpm run build` 已跑(exit 0),产物面完整。
59
+
60
+ **验证**:
61
+
62
+ 1. headless A/B(同 checkout 同 home):tsx 启动 → 必现 `prepare` 崩溃;`node apps/cli/lib/bin.js` → 过(调度器查找命中)。
63
+ 2. **真 session 第一人称**(systemd-run 沙箱外一次性任务,真 LLM + 真 bwrap):
64
+ - `bash`:`echo repro-marker-4988` → `repro-marker-4988`(exit 0)✅
65
+ - `skill`:调用返回**结构化结果**("skill using-superpowers is unknown"——headless cwd 无该技能目录,属正常业务错误;关键在 tool result 落账,不再 UNKNOWN)✅
66
+ 3. 4988 web 实例(修复后重启,`LAN=1`):shell HTTP 200、`__DSH_BOOT__` 在位、boot graph 含 `"id":"better-dsh"`;进程确认为 `node …/apps/cli/lib/bin.js web --no-open --port 4988`。
67
+ 4. agent-loop/tools lib 复查:无 `dashr-debug` 残留;两包 src 无本地改动。
68
+
69
+ ## 六、遗留与备注
70
+
71
+ - better-dsh 副本嵌套树仍存在非运行期陈旧链(`dsh-agent-loop`、`dsh` → `.pnpm …@0.1.2-rc.1`;运行期不 import,无实害)。运行期九链已全 workspace 化。
72
+ - `packages/subagent/tool-subagent-report/` 为**只含 lib/ 的异源残留**(无 package.json/src、git 未跟踪;疑另一 workstream 产物),未被任何 manifest 引用,无实害;处置待 user 裁决。
73
+ - **旧中毒 session 无法复活**(孤儿 tool/call 已落账):09-15 `7842bf` 与 09-22 两个 session 请弃用;新 session 正常。
74
+ - prod 3080 无需任何动作(本就产物面运行)。
75
+ - 09-15 `7842bf`(旧 0.1.5 树 + cordis preset)为同类双平面机制在旧树的另一形态;旧树已升级,不回溯归因。
76
+ - 诊断过程临时文件:`.scratch/session-debug/`(session 解包与扫描脚本),留作证据。
@@ -0,0 +1,134 @@
1
+ # better-dsh 六组件热插拔(Cordis HMR)与行间依赖级联 实测报告
2
+
3
+ - 日期:2026-09-22
4
+ - 问题:better-dsh 是否可热插拔(cordis HMR)?六个组件行是否逐个可热插拔?若组件间存在依赖,关掉被依赖组件时,依赖方是自动关闭还是留在 active 里运行时出错?
5
+ - 测试环境:Dev/Test 1 实例 **4988**(`DSH_HOME=/home/u1/workspaces/dashr/.dsh-test`,harness 0.1.6-alpha.2 + better-dsh 0.2.4,与 prod 3080 同版),systemd `dsh-4988-test.service`
6
+ - 结论:**全部可热插拔(零重启)**;**六个组件行无一例外**;**行间不存在 inject 边,因此关闭任一组件不会级联关闭其他组件**(诊断见 §四)
7
+
8
+ ---
9
+
10
+ ## 一、机制事实(源码锚点)
11
+
12
+ ### 1.1 行开关 = 写 profile 用户层 patch + 活体重算
13
+
14
+ - `Plugins` 页的行开关落到 `PluginManager.setPluginEnabled`(`upstream/deepseek-harness/packages/boot/plugin-manager/src/index.ts:302`):写 `{id, disabled}` 到 `profile.patchPath`,再 `reload()`。
15
+ - `writePluginEnabled`(`packages/boot/plugin-manager/src/patch.ts:14`)用 yaml Document **原地改最后一个同 id 行**(有则改 `disabled`,无则追加),保留注释与其余字段;本实例对应文件 `.dsh-test/profiles/web/cordis.patch.yml`。
16
+ - `reload()` → `reconcileProfilePatches`(`packages/boot/app-boot/src/index.ts:251`):把完整 patch 列表`entry.update()` 进根 Include 行,然后 `ctx.loader.await()` 等激活收敛——**在同一个进程里 unmount/mount**。
17
+ - `change()`(`plugin-manager/src/index.ts:557`)里 `application` 的取值由是否在场决定:`ctx.get('hmr') !== undefined ? 'applied' : 'restart-required'`。即**没有 hmr 服务的 profile,开关仍写盘,但要重启才生效**。
18
+ - 反向兜底:`dsh-hmr` 也 watch profile patch 文件本身(`packages/boot/hmr/src/index.ts:215`,watch `profile.patchPath` + `$DSH_HOME/cordis.patch.yml` + profile `package.json`),所以**手改这些文件同样热生效**,不必点 UI。
19
+
20
+ ### 1.2 什么被 watch,什么不被 watch
21
+
22
+ - `packages/bundle/base/cordis.patch.yml:28-32` 给 hmr 行配的是 **`root: []`**(注释原文 "Profile configuration reloads by default; module roots are opt-in.";`HmrConfig` JSDoc:"an empty list leaves only explicit configuration watches")。
23
+ - 推论:**只有配置面热**。改 better-dsh 的 `lib/*.js` 不会触发 host 侧重载,必须重启(除非显式给 hmr 配非空 `root`)。
24
+ - client 面:整套客户端是**一个 bundle**(`package.json` 的 `dsh.client`),不按组件拆;`client-hmr`(`packages/client/hmr/src/index.ts`)是 host 侧 500ms stat-poll 每个 graph 行的 client bundle + SSE 推 `rebuilt`,浏览器侧换模块——**行开关不碰 client bundle**,客户端靠"页面全局缺席即休眠"降级。
25
+
26
+ ### 1.3 组件行的定义
27
+
28
+ 页面上的"组件" = bundle patch 的 **insert 行**(`declaredRows()`,`plugin-manager/src/index.ts:447`);非 insert 行只进 `overrides`,页面不列、不可单独开关。
29
+
30
+ `better-dsh/cordis.patch.yml:19` 起共 **6 条 insert**:
31
+
32
+ | 行 id | 模块 | 源码 inject |
33
+ |---|---|---|
34
+ | `dashr-repl` | `better-dsh` | `['tools']`(`better-dsh/src/index.ts:132`) |
35
+ | `dashr-url-schemes` | `better-dsh/url-schemes` | `['tools','fs','skills','subagents','sessions','settings','agents','sessionPersistence']`(`better-dsh/src/url-schemes/index.ts:78`) |
36
+ | `dashr-failover` | `better-dsh/failover` | `[]`(行内 `ctx.inject(['settings'])`,`better-dsh/src/failover/index.ts:43`) |
37
+ | `dashr-compaction-tuning` | `better-dsh/compaction-tuning` | `[]`(行内 `ctx.inject(['settings'])`/`['compaction']`,`better-dsh/src/compaction/index.ts:56`) |
38
+ | `dashr-web-trust` | `better-dsh/web-trust` | `[]`(行内 `ctx.inject(['webServer'])`,`better-dsh/src/web-trust.ts:180`) |
39
+ | `dashr-mobile` | `better-dsh/mobile` | `[]`(行内 `ctx.inject(['webServer'])`,`better-dsh/src/mobile/plugin.ts:29`) |
40
+
41
+ override 行 4 条:`compaction-basic` / `command-compact` / `tool-result-pruner`(再启用)+ `connection`(fence)——**不是组件**,页面无法开关。
42
+
43
+ ---
44
+
45
+ ## 二、实测方法
46
+
47
+ 1. 备份 profile 用户层 patch:`.scratch/cordis.patch.yml.bak-hotplug-probe-1790010496`。
48
+ 2. 取本 boot token URL(`.scratch/.4988-url`),`curl -c jar -L` 拉 served HTML 作为 boot script 双腿探针(基线 `http=200 bytes=36031`;`__DASHR_MOBILE__ 2`、`__DSH_TRANSPORT__ 1`、`ios-zoom-font-floor 1`、`zoomGuard 2`)。
49
+ 3. 逐行 `plugin_manager set_plugin {enabled:false}` → 读 `list_plugins`(`enabled` / `fiberPhase`)→ 再 `{enabled:true}` → 复读。
50
+ 4. 全程以 `ChangeResult.application` 判定是否热生效;`restart-required` 与 `applied` 互斥可验。
51
+ 5. 收尾:从备份还原 patch 文件并复验 composed 状态与 served HTML。
52
+
53
+ ---
54
+
55
+ ## 三、实测结果
56
+
57
+ ### 3.1 逐组件 off → on(全部 `{"changed":true,"application":"applied","warnings":[]}`)
58
+
59
+ | 行 | off 后 `fiberPhase` | on 后 | 副作用探针 |
60
+ |---|---|---|---|
61
+ | `include:dashr-mobile` | `null`(enabled:false) | `active` | served HTML:`__DASHR_MOBILE__` 2→**0**→2、`zoomGuard` 2→**0**→2、`ios-zoom-font-floor` 1→**0**→1;`__DSH_TRANSPORT__` 恒 1(web-trust 腿不牵连) |
62
+ | `include:dashr-web-trust` | `null` | `active` | `__DSH_TRANSPORT__` 1→**0**→1;mobile 腿恒 2(互不牵连) |
63
+ | `include:dashr-failover` | `null` | `active` | — |
64
+ | `include:dashr-compaction-tuning` | `null` | `active` | — |
65
+ | `include:dashr-url-schemes` | `null` | `active` | off 期间 read/grep/edit 回落原生语义仍可用(`read`/`grep` 复验通过);核心行全程 `active` |
66
+ | `include:dashr-repl`(核心) | `null` | `active` | off 时同页 `list_plugins` 里**其余 5 行全部保持 enabled:true / active**;eval 工具随行卸载,重开后 `eval` 恢复(复验 cell 跑通,pad 命名空间由 turn-1 快照恢复) |
67
+
68
+ - 用户层 patch 形态(以 mobile 为例):`- id: dashr-mobile` + `disabled: true`(关闭)→ `disabled: false`(打开),原地改写、注释保留。
69
+ - **零重启**:全程 `application:"applied"`,无 `restart-required`。
70
+
71
+ ### 3.2 收尾复原
72
+
73
+ - `diff` 备份 vs 现文件:**逐字一致**(`cp` 还原 + `RESTORED IDENTICAL`)。
74
+ - served HTML 回基线(2 / 1 / 1 / 2),`list_plugins` 六行全 `enabled:true / active`。
75
+ - NOTE:`writePluginEnabled` 的语义是"改最后一次匹配行,否则追加",所以 probe 期间会给 `dashr-web-trust`/`dashr-failover`/`dashr-compaction-tuning`/`dashr-url-schemes` 追加 `disabled: false` 覆盖行、并给 `dashr-repl` 行补 `disabled: false`;**这些都只是 probe 残留,已随备份还原清除**。正常 UI 使用中,用户关闭过的行会留下 `disabled: false` 覆盖行,这是该实现的设计行为(幂等、语义无变化)。
76
+
77
+ ---
78
+
79
+ ## 四、行间依赖与级联:结论与通用语义
80
+
81
+ ### 4.1 better-dsh 六行之间:不存在依赖边,无级联
82
+
83
+ - **实测**:关任一组件时其余五行保持 active(含关核心 `dashr-repl` 的那一刻)。
84
+ - **静态**:六行 `inject` 只声明 host 服务;行内动态 `ctx.inject([...])` 也是 host 服务(`settings` / `webServer` / `compaction`)。全包 grep **无 `provide()`**;唯一被提供的服务 `replRuntime` 由核心行自己 `ctx.plugin(DashrRuntime)` 注册、并由**同一行**的 `ctx.inject(['replRuntime'])`(`better-dsh/src/index.ts:966`、`:997`)消费——是**行内边**,随行一起销毁/重建,不跨行。
85
+ - **唯一跨组件耦合**是模块级单例 `native-capture`(`better-dsh/src/native-capture.ts`,capture-before-mask):核心行的 wire mask 监听器第一步自己调 `captureAllTools`,url-schemes 行缺席也照常;反之 url-schemes 缺席时核心的 eval/委派桥正常。这是**共享 ESM chunk,不是 cordis 服务边**,因此不参与 fiber 依赖计算。
86
+ - 组件行关闭后的降级形态是设计内且 fail-open 的(见 `docs/specs/plugins-page-components/spec.md` §五 / §Out of Scope):url-schemes 关 → read/write/grep/glob 回落原生;failover / compaction-tuning 关 → 其 client 设置卡仍在但无消费者;mobile / web-trust 关 → 页面全局缺席,客户端惰性。
87
+
88
+ ### 4.2 若真存在 inject 边:消费方**自动挂起(PENDING)**,不是留在 active 里运行时崩
89
+
90
+ Cordis fiber 的依赖语义(`upstream/deepseek-harness/vendor/cordis/src/fiber.ts`):
91
+
92
+ - `_refresh()`(`:611`)把消费方的 epoch 由"每个 inject 服务提供者 fiber 的 uid 串"决定;provider 消失(`reflect` 删 impl 后 `notify` → 各依赖 fiber `_refresh()`,`vendor/cordis/src/reflect.ts:277`/`:314`)→ epoch 变 `INACTIVE`。
93
+ - `_setEpoch()`(`:625`)在 epoch active→INACTIVE 时调 **`_unload()`**(`:675`):跑完该 fiber 全部 disposer、撤销其全部注册(工具、事件、slot…),状态落到 **`PENDING`**。
94
+ - provider 回来 → epoch 变有效 → **`_reload()`**(`:646`)重跑 plugin `apply`。即 **自动关 + 自动开**。
95
+ - 启动/重算期把这状态报成 `pending (waiting for service(s): X)`(`packages/boot/app-boot/src/index.ts:795`、`:826`);preset 挂载审计里是 `... waiting for X`(`packages/preset/agent-presets/src/mount.ts:322`)。
96
+
97
+ **重要副作用(本次新发现,源码推导,未做破坏性实测)**:`reconcileProfilePatches` 把重算后新出现的非 ACTIVE 条目判为 introduced failure 并 **throw**(`packages/boot/app-boot/src/index.ts:268`;`inactiveEntries` 遍历全部 loader 条目、非 ACTIVE 即计入,`:769`)。因此"关掉被依赖组件"这一次 toggle 的返回会是 **`application:"failed"` + diagnostic(点名 pending 的依赖方)**,而盘上的 `disabled:true` 已经写入且运行时确实已挂起依赖方——即用户看到的是**开关报错 + 依赖方变 pending**,而非静默坏掉或"留在 active 里崩"。
98
+
99
+ **例外:用 `ctx.get()` 的消费方不参与依赖计算**,provider 消失时它**留在 active**、运行时自行降级或报错。本插件内就有这种形态:`better-dsh/src/compaction/index.ts:116`/`:151` 的 `ctx.get('llm')`/`ctx.get('compaction')`、以及 plugin-manager 自己 `ctx.get('hmr')`(缺 hmr 就退回 `restart-required`)。
100
+
101
+ ---
102
+
103
+ ## 五、边界与未验证
104
+
105
+ - **代码面默认不热**:`hmr` 行 `root: []`,默认部署下改 `better-dsh/lib/*.js` 不触发热重载。**但 opt-in 后可用**,见 §七(同日追加轮实测);prod 安装态的不可热性为源码推导,未实测。
106
+ - **client 半不按组件拆**:行开关只影响 served HTML 注入腿;client bundle 需重建 + `client-hmr` stat-poll 才会换模块。
107
+ - **§4.2 的级联失败路径为源码推导**:本 profile 内没有"两个都可开关、且其一 inject 另一个"的行对(六组件间无边;host 侧 provider 行多为 `management-required` 或动它会打断本 session),故未做破坏性 live 验证。若日后需要实证,最小实验是造一对测试行(provider + `inject:[...]` 消费方)在同一 bundle patch 里,关 provider 观察消费方 `fiberPhase` 与 `ChangeResult`。
108
+ - 本次实测在 Dev/Test 1(4988);prod 3080 未动。
109
+
110
+ ---
111
+
112
+ ## 七、追加轮(2026-09-22):代码热替换(module HMR)实测 ✅
113
+
114
+ **更正前文口径**:§1.2 的"只有配置面热"是**默认部署**的结论,不是 DSH 的能力边界。给 hmr 行配非空 `root` 后,**改插件代码会活得即时重载**。同实例(4988)实测:
115
+
116
+ 1. profile 用户层 patch 追加:`- id: hmr` + `config: { root: [/…/packages/better-dsh/better-dsh/lib] }`(hmr 行自重配,组合照常收敛,served HTML 标记不变)。
117
+ 2. 在构建产物 `lib/mobile/plugin.js` 给注入脚本加可观测标记(`raw + "\n/*hmrprobe*/"`)。
118
+ 3. 无重启 `curl` 鉴权页面:`hmrprobe` **0 → 1** —— 进程清模块缓存、重新 import、重新 apply 该行插件。
119
+ 4. 还原文件:`hmrprobe` **1 → 0**,文件字节一致;随后摘掉 hmr `root` 覆写,patch 文件回基线(`diff` 逐字一致),页面标记回 `mobile=2 / transport=1`。
120
+
121
+ **为什么 dev rig 能热、prod 安装态不能**(源码锚点,`packages/boot/hmr/src/index.ts`):上游把可重载单元定义为"用户代码",`loadDependencies` 与变更分类都硬排除 `/node_modules/`(`:70`、`:357`),reload 判定只认"依赖树里含 accepted 文件"的插件(`:441-453`)。prod profile 里插件 realpath 就在 `node_modules` → 依赖列表为空 → 永不重载;dev rig 的 `node_modules/better-dsh` 是指向 monorepo 的 symlink,Node ESM 解析到 realpath(无 `node_modules` 段)→ 可重载。§七步骤 3 的成功本身反向印证了这一点。
122
+
123
+ **已知粒度风险(未实测)**:`partialReload` 只重载"accepted"模块,一次 `tsdown` 全量重建会改 chunk 文件名,可能出现新旧 chunk 混装的中间态;手工改单文件很干净。
124
+
125
+ 机制详述与开法见 dev doc:`~/workspaces/superd/docs/02-dsh/plugin-row-hot-plug.md` §2。
126
+
127
+ ---
128
+
129
+ ## 六、相关文档
130
+
131
+ - 组件拆分设计:`docs/specs/plugins-page-components/spec.md`
132
+ - 前序实测(拆分 + 真 UI 开关往返):`docs/50_test-reports/2026-09-17-plugins页六组件拆分实测报告.md`
133
+ - 插件机制速查:`docs/60_exploration-and-research/05-dashr-dev/plugin-development.md`
134
+ - override 三条硬边界 / patch 层序:根 `AGENTS.md` §四
@@ -0,0 +1,92 @@
1
+ # Remote 执行框架(`remote` 工具)4986 第一人称实测报告
2
+
3
+ - **日期**: 2026-09-23
4
+ - **分支**: `remote-framework`(worktree `.worktrees/remote-framework`,基 `main` @ e9061b8)
5
+ - **代码范围**: `better-dsh/src/remote/*`(nonce-framing / target / transports / oneshot / pty-session / driver / status / tool / plugin,9 模块)+ 三处接线(exports `./remote`、tsdown entry、cordis.patch.yml `dashr-remote` 行)
6
+ - **对照设计**: `docs/10_plans/2026-09-23-remote-execution-framework.md`(spec 权威)+ 实施计划 `docs/10_plans/2026-09-23-remote-framework-impl.md`(含 Rulings P1–P14)
7
+ - **第一人称载体**: `dsh --profile headless`(真实运行时 session、真实 LLM、真实工具派发;9 次 headless 运行覆盖 18 case 矩阵)
8
+
9
+ ## 一、环境与部署
10
+
11
+ - Dev/Test 1:monorepo `upstream/deepseek-harness`(dsh-v0.1.6-alpha.2 基线 + 仓内 patch);canonical src 自 worktree rsync,devDeps 手术 14× workspace:* 照旧重打。
12
+ - **零新增依赖**:本框架纯 `node:child_process` / `node:crypto` + 系统 CLI(ssh / docker / incus / util-linux script)——RM0 的 ssh2 native 依赖面不存在。
13
+ - 构建:`pnpm --filter better-dsh exec tsdown` + `tsx scripts/build-client.ts`(lib/client 清洗陷阱照旧);`lib/remote/plugin.js` 产出。
14
+ - 实例:`PORT=4986 bash .tests/dsh-test1/start-4999.sh`(unit `dsh-4986-test`,boot 走构建产物 `apps/cli/lib/bin.js` + 裸 node——双平面红线遵守)。
15
+ - 配置面:`web --dump-config`(产物 bin)确认 `dashr-remote` 行入组合(`- id: dashr-remote / name: better-dsh/remote`,紧随 better-dsh/mobile)。
16
+ - 别名路由(case 9):test home 层 `cordis.patch.yml` 追加 `dashr-remote` 行重述 + `config.containers.{"ctr-1": "incus:ctr-1"}`——**行重述覆盖机制真通**(home 层 config 覆盖 bundle 层默认)。验收后已清理还原。
17
+
18
+ ## 二、18 case 验收矩阵(全部 ✅)
19
+
20
+ | # | case | 证据(第一人称 verbatim 摘录) | 判定 |
21
+ |---|---|---|---|
22
+ | 1 | ssh oneshot 基础 | `{dev4, echo ok && git --version}` → `CASE1: 0 \| ok / git version 2.43.0` | ✅ |
23
+ | 2 | 退出码透传 | `{dev4, exit 42}` → `CASE2: 42`(二进制退出码,零字符串扫描) | ✅ |
24
+ | 3 | 复合语法(管道+变量) | `{dev4, ls / \| head -2 && echo $HOME}` → `bin / bin.usr-is-merged / /home/u1` | ✅ |
25
+ | 4 | pty 状态保持 | cd /tmp + export F=1 → 次 turn `pwd && echo $F` → `/tmp` + `1`,`cwd=/tmp` | ✅ |
26
+ | 5 | 多行单帧 | `"echo a\necho b"`(单串含换行)→ 一帧 `a\nb`,exit 0 | ✅ |
27
+ | 6 | 伪 marker 免疫 | 打印静态 `\033]133;D;deadbeef…;99` → exit **0**(非 99)、输出含 real、流无截断(agent 转打时引号被 shell 搅碎成 command-not-found 噪音——帧判定不受影响,更狠的实证) | ✅ |
28
+ | 7 | pty 超时打断 | `sleep 300` timeout 2 → `exit 130 \| interrupted \| 2.3s`(P8 两段打断在真 `ssh -tt` 上成立);随后 `echo alive` exit 0 **会话存活** | ✅ |
29
+ | 8 | incus oneshot | `{incus:ctr-1, cat /etc/os-release \| head -1}` → `Ubuntu 26.04 LTS` | ✅ |
30
+ | 9 | incus pty + 别名路由 | 显式前缀 pty `cd / && pwd` → `cwd=/`;裸名 `ctr-1` → 路由进容器(`via-alias / ctr-1` hostname 证实)——别名优先于 ~/.ssh/config 同名 Host | ✅ |
31
+ | 10 | docker oneshot | `{docker:dashr-remote-t1, …}` → `in-docker / Ubuntu 24.04.5 LTS` | ✅ |
32
+ | 11 | docker pty(script 托管) | `cd /root && pwd` → `cwd=/root`(util-linux `script -qfec` 宿主 PTY + 远端 init 双层静默成立) | ✅ |
33
+ | 12 | BYO-PTY spawn | `{spawn:"docker exec -it dashr-remote-t1 bash", cmd:"echo spawned && hostname"}` → `spawned / 728e1cf8a10e` | ✅ |
34
+ | 13 | 错误透明 | ssh:`ssh: Could not resolve hostname no-such-host-xyz: Temporary failure in name resolution`(exit 255);docker:`Error response from daemon: No such container: no-such-ctr`(exit 1)——原生 stderr 逐字 | ✅ |
35
+ | 14 | 断联自愈 | `kill -9 $$` → exit null;次调用 → 首行逐字 `[remote: session reconnected to fresh shell; cwd reset to default]` + `back` + `cwd /home/u1`(归默认) | ✅ |
36
+ | 15 | 后台输出 Non-Goal | `nohup sleep 5 >/dev/null 2>&1 & echo bg-ok` → 输出恰 `bg-ok`、stderr 空、零噪声(使用者重定向职责示范成立) | ✅ |
37
+ | 16 | status 可达探测 | `{dev4}`(无 cmd)→ `probe: reachable in 3193ms (just now, on demand)` + `session: none — dials on first exec`;**全文无 "offline"**(agent 明确确认) | ✅ |
38
+ | 17 | status 会话层 | pty 用过之后 → `session: idle 4s (connected)`(user 裁决的 idle 语义:连接在、无 activity) | ✅ |
39
+ | 18 | status 容器事实/错误 | `{docker:no-such-ctr}` → `probe: error — error: no such object: no-such-ctr`(docker 原生文本透传) | ✅ |
40
+
41
+ **审计抽查** ✅:headless session log(`session-5628b047…`)含结构化 `dashr/remote-exec` 事件 3+ 条/会话——`{target, cmd, cwd, exit, durationMs}`(含中断记录:`sleep 300 → exit 130, 2260ms`)。
42
+
43
+ ## 三、四层模型映射核对
44
+
45
+ | spec 层 | 实现 | 证据 |
46
+ |---|---|---|
47
+ | L2 Bash One-shot(选定) | `ssh -o BatchMode=yes -T / docker exec -i / incus --force-noninteractive` + `bash -lc`,退出码即收尾 | case 1-3, 8, 10, 13 |
48
+ | L4 Assisted PTY(选定) | `ssh -tt` / `incus --force-interactive` / `script -qfec`(docker+spawn)+ nonce 收帧 | case 4-7, 9, 11, 12, 14 |
49
+ | L1/L3(拒绝) | 不存在对应代码路径 | — |
50
+
51
+ ## 四、状态词汇表行为证据(user 2026-09-23 裁决)
52
+
53
+ - **禁 `offline`**:三态探测输出 + 会话层输出全程缺席(agent 被直接问及并明确否认)。
54
+ - reachable / unreachable / 容器事实态 / error + `idle Ns` / `busy` / `none — dials on first exec` / `died` 全部按 Ruling 16 渲染。
55
+ - **on-demand 双重超时**(Ruling 17):探测在调用瞬间执行("just now, on demand" 标注);本矩阵全部真目标秒回,超时上限(5s/10s)未触发——由单测覆盖(`probe timed out after 10s` 标签路径)。
56
+ - 对比 RM0 时代的歧义(agent reasoning log 里纠结 "offline 是什么"):本轮 agent 零困惑、零多余 verify 尝试。
57
+
58
+ ## 五、Non-Goal 三条行为证据
59
+
60
+ 1. **后台输出不隔离**:case 15 使用者显式重定向 → 输出干净;未重定向的后台进程按 POSIX 会话语义自然出现在流里(工具不清洗)。
61
+ 2. **不重建 shell 内存状态**:case 14 重连后 cwd 归默认 + 明示提示行——由 Agent 上下文决定是否 cd 回去。
62
+ 3. **不暴露终端微调**:行列固定 40×120 烤进 init(无任何参数面)。
63
+
64
+ ## 六、真实观察(不阻塞,记录在案)
65
+
66
+ - **oneshot 会等 ssh 会话通道收尾**:case 15 中 `nohup sleep 5 >/dev/null 2>&1 &` 后调用持约 16.6s 才返回(远超 echo 即出的 bg-ok)——OpenSSH 会话通道语义(sshd 等会话内全部进程释放 fd),非本工具缺陷;agent 需要"发射后不管"时应加 `timeout` 或 `setsid` 全脱钩。工具侧如实等待(错误透明原则),描述文本可后续补一句披露。
67
+ - status probe 的 rtt 含 ssh 全握手(LAN 约 3.2s——含 DNS/KEX);纯 TCP rtt 需另设基准,非本期范围。
68
+ - dev4 无 docker,嵌套穿透(spec 场景 3 范式 A/B 的 ssh -t 嵌套 docker)未在本矩阵覆盖——spawn 通道(case 12)已证 BYO-PTY 机制本身;嵌套留待有嵌套环境时补测。
69
+ - pty 模式 stdout/stderr 合流(spec §4.2 诚实代价);oneshot 分离保留。
70
+
71
+ ## 七、测试基线
72
+
73
+ - worktree 单测:`test/remote/` **9 spec 69/69**(nonce 13 / target 5 / transports 9 / oneshot 6 / pty-session 13 / driver 6 / status 7 / tool 7 / plugin 3)。
74
+ - 全量 vitest(worktree):恰为基线 14 失败(url-schemes 2 + surface-devices/agent-family 12,皆先在、与本特性无关),577 通过 + 1 skip,无新增失败。
75
+ - `tsc --noEmit`:14 既有错误(同基线集合),remote/* 0 新错。
76
+
77
+ ## 八、遗留(后续里程碑候选)
78
+
79
+ - RM2 线:forward / tmux 驻留 / WebUI 终端面板(本框架 Non-Goal 边界外)。
80
+ - `ws://` transport(spec §二.2 远期)。
81
+ - status 的 `unreachable` 真机路径(断网/防火墙 DROP 场景)只有单测证据,真机矩阵未覆盖(需临时断 dev4)。
82
+ - 描述文本补一句 oneshot 会话通道持留语义的披露(§六 第 1 条)。
83
+
84
+ ## 九、发布前增量补遗(P16–P20,2026-09-24,均含第一人称验证)
85
+
86
+ - **P16** `ssh:` 显式选择器落地(后被 P20 降级为消歧备用);`ssh:ctr-1` 冒烟 exit 0。
87
+ - **P17** 删除自定义 `dashr/remote-exec` session 事件(原生事件集冻结、自定义类型落盘重载必拒——用户实测发现 history 加载失败);14 个毒化会话以 `ignorable:true` 信封手术修复。原生 `tool/call`+`tool/result` waterfall 即完整审计。
88
+ - **P18** 删除别名机制(插件数据不上 cordis 配置面;行 config 只留运行旋钮)。
89
+ - **P19** `remote({})` = roster 注意力入口(ssh config hosts + docker ps -a + incus list + 池内活会话,本地扫描零拨号);实测渲染无 exec 尾巴、池 key 内部标记剥离。
90
+ - **P20** 裸名按名优先解析(ssh config → docker → incus,撞名 ssh 优先);实测裸 `corti` 命中 docker、裸 `dev4` 走 ssh。description 重写为决策表开头 + 输出帽/流分离/pty 生命周期披露;`mode` 上 schema enum。
91
+ - 基线 14 失败定性为包版本锚定问题(user 裁决留待 housekeeping 批处理)。
92
+ - 最终态:`test/remote/` 78/78(11 spec)、tsc 既有基线零新增。
@@ -0,0 +1,125 @@
1
+ # Remote 执行框架 — 第一人称复测报告(approval policy = `never`)
2
+
3
+ - **日期**: 2026-09-23(矩阵 20:52–20:59 +08:00)
4
+ - **分支/HEAD**: `remote-framework` @ `ac8720a`(**post-P15**:pty 4M 尾窗环 + deathWaiter 摘除)
5
+ - **复测载体**: **本 agent 自己的 live session**(Dev/Test 1 实例 4999 Web 运行时,`session-95c48291-f958-455c-83ab-98de3fa815a4`,cwd `/home/u1/workspaces/dashr`),直接以 `remote` 工具逐条派发——不是 headless 代跑
6
+ - **策略面**: 同一 session 内 `approval/policy: ask → never`(seq 2 → 6)、`sandbox/mode: workspace-write → danger-full-access`(seq 1 → 5);全部复测动作发生在 `never` 之后
7
+ - **对照**: 原验收报告 `docs/50_test-reports/2026-09-23-remote-framework实测报告.md`(矩阵 @ c696fca,**pre-P15**)+ SDD ledger `.superpowers/sdd/2026-09-23-remote-framework-impl/progress.md`
8
+ - **运行时同一性**: 实例 20:22:08 启动,`lib/remote/plugin.js` 构建于 20:21:34;rsync 后 worktree `src/` 与 monorepo 副本 `src/` `diff -rq` 为空 → **所测即 `ac8720a`**。P15 之前从未在真运行时跑过矩阵(Task 10 矩阵早于 `ac8720a`),本报告是 **P15 代码的首次第一人称实测**。
9
+
10
+ ---
11
+
12
+ ## 一、结论
13
+
14
+ | 面 | 结果 |
15
+ |---|---|
16
+ | 18 case 矩阵(本 agent 亲自派发) | **18/18 ✅**(1–8、10–18 直接复现;9 别名腿在 4999 原地热生效后复现) |
17
+ | P15/C1 输出帽(此前仅单测) | **✅ 第一人称**(oneshot 30k 帽 + pty 4M 环,尾保留,daemon 存活) |
18
+ | 原报告 §八 遗留「unreachable 真机路径」 | **✅ 补上真机证据**(`192.0.2.1` 黑洞 → `Connection timed out`) |
19
+ | 审计事件 | **✅** 本 session 日志含结构化 `dashr/remote-exec`(target/cmd/cwd/exit/durationMs,含 exit 130 中断) |
20
+ | approval 耦合 | **零**。`never` 下无一次 approval 询问/拒绝(63 次工具调用,0 错误,0 `approval/request|denied`) |
21
+ | `test/remote/` 单测 | **70/70 ✅**(9 spec) |
22
+ | 全量 vitest | 14 失败(**同基线 2 文件**)/ **578 通过** / 1 skip(593) |
23
+ | `tsc --noEmit` | **14 错,集合同基线,`remote` 0 提及** |
24
+
25
+ ---
26
+
27
+ ## 二、18 case 矩阵(本 session verbatim)
28
+
29
+ | # | case | 本 session 调用与结果 | 判定 |
30
+ |---|---|---|---|
31
+ | 1 | ssh oneshot | `{dev4, echo CASE1: … / git --version}` → `CASE1: 0 \| ok / git version 2.43.0`,exit 0 · 4.2s | ✅ |
32
+ | 2 | 退出码透传 | `{dev4, exit 42}` → exit **42** · 3.4s | ✅ |
33
+ | 3 | 复合语法 | `{dev4, ls / \| head -2 && echo $HOME}` → `bin / bin.usr-is-merged / /home/u1` | ✅ |
34
+ | 4 | pty 状态保持 | `cd /tmp && export F=1`(cwd `/tmp`)→ `pwd && echo $F` → `/tmp` `1` | ✅ |
35
+ | 5 | pty 多行单帧 | `"echo a\necho b"` → `a\nb` 一帧,exit 0 · 0.3s | ✅ |
36
+ | 6 | 伪 marker 免疫 | `printf '\033]133;D;deadbeefdeadbeef;99\007' ; echo real-after-marker` → `real-after-marker`,exit **0**(非 99) | ✅ |
37
+ | 7 | pty 超时打断 | `sleep 300` timeout 2 → `exit 130 · 2.2s · interrupted`;随后 `echo alive` → exit 0(会话存活) | ✅ |
38
+ | 8 | incus oneshot | `{incus:ctr-1, cat /etc/os-release \| head -1}` → `Ubuntu 26.04 LTS` | ✅ |
39
+ | 9 | incus pty + **别名路由** | 显式前缀 pty `cd / && hostname && pwd` → `ctr-1` `/`;**裸名 `ctr-1`** pty `cd / && echo via-alias && hostname && pwd && cat /etc/os-release \| head -1` → `via-alias / ctr-1 / / Ubuntu 26.04 LTS`,cwd `/` | ✅ |
40
+ | 10 | docker oneshot | 新起 `dashr-remote-t1`(ubuntu:24.04)→ `in-docker / Ubuntu 24.04.5 LTS` | ✅ |
41
+ | 11 | docker pty(script 托管) | `cd /root && pwd` → cwd `/root` · 0.1s | ✅ |
42
+ | 12 | BYO-PTY spawn | `{spawn:"docker exec -it dashr-remote-t1 bash", cmd:"echo spawned && hostname"}` → `spawned / de819743d988` | ✅ |
43
+ | 13 | 错误透明 | ssh:`ssh: Could not resolve hostname no-such-host-xyz: Temporary failure in name resolution`(exit 255);docker:`Error response from daemon: No such container: no-such-ctr`(exit 1)——原生 stderr 逐字 | ✅ |
44
+ | 14 | 断联自愈 | `kill -9 $$` → `exit null` · 0.2s;次调用 → 首行逐字 `[remote: session reconnected to fresh shell; cwd reset to default]` + `back /home/u1`,cwd `/home/u1` | ✅ |
45
+ | 15 | 后台输出 Non-Goal | `nohup sleep 5 >/dev/null 2>&1 & echo bg-ok` → 输出恰 `bg-ok`,stderr 空,**3.6s**(见 §四.1) | ✅ |
46
+ | 16 | status 可达探测 | 无 pty 的 `dev3`/`dev2`:`probe: reachable in 1438/1061ms (just now, on demand)` + `session: none — dials on first exec`;**全文无 "offline"** | ✅ |
47
+ | 17 | status 会话层 | 用过 pty 后 `{dev4}` → `session: idle 8s (connected)` | ✅ |
48
+ | 18 | status 容器事实/错误 | `{docker:no-such-ctr}` → `probe: error — error: no such object: no-such-ctr`;`{docker:dkr-1}`(已退容器)→ `probe: container exited` | ✅ |
49
+
50
+ **审计抽查 ✅**:本 session 日志(`session.v3.jsonl.zstd` 解压)含逐条 `dashr/remote-exec`:`{target, cmd, cwd, exit, durationMs}`——含 `sleep 300 → exit 130, 2233ms`、别名腿 `target: "ctr-1" → cwd "/", exit 0`、`target: "docker exec -it … bash"`(spawn)。工具面失败路径(Task 8 的 Ruling 14)本轮无异类失败可触发,未新增样本。
51
+
52
+ ---
53
+
54
+ ## 三、补测:原报告遗留缺口
55
+
56
+ ### 3.1 输出帽(P15 / 终审 C1,此前仅 5M 单测)
57
+
58
+ | 面 | 调用 | 结果 |
59
+ |---|---|---|
60
+ | oneshot 30k 帽 | `{dev4, python3 -c "print('x'*50000)"}` | 文本首行 `[truncated: showing last 30000 of 50001 chars]`,尾标 `truncated, original 50001 chars`,exit 0 · 3.4s |
61
+ | pty 4M 尾窗环 | `{dev4, mode:pty, head -c 5000000 /dev/zero \| tr '\0' 'y'; echo; echo TAIL-MARK-OK}` | 文本首行 `[truncated: showing last 30000 of 4000000 chars]`,**尾部 `TAIL-MARK-OK` 在位**,尾标 `truncated, original 4000000 chars`,exit 0 · 4.8s |
62
+
63
+ 判读:pty 收集段被 4,000,000 UTF-16 环截断(`OUTPUT_HARD_CAP`),模型面再经 30k 尾窗;超 5MB 输出下 daemon 无 OOM、无卡死、尾字节保留——**C1 修复在真运行时成立**。注意 `original 4000000` 是**环上界**而非真实总量(帽后切片,设计如此)。
64
+
65
+ ### 3.2 status 真机 `unreachable`(原报告 §八 缺口)
66
+
67
+ `{192.0.2.1}`(TEST-NET 黑洞)→
68
+
69
+ ```
70
+ 192.0.2.1 — ssh host
71
+ probe: unreachable — ssh: connect to host 192.0.2.1 port 22: Connection timed out
72
+ session: none — dials on first exec
73
+ ```
74
+
75
+ 词汇表 `unreachable — <native error>` 自此有真机证据(此前仅单测标签路径)。
76
+
77
+ ### 3.3 别名路由的**热生效**事实(新发现)
78
+
79
+ 原 Task 10 把 case 9 的别名腿当"改 home 层 patch(隐含需重启)"处理。本次实测:写入 `.dsh-test/cordis.patch.yml`(`[]` → 一行 `dashr-remote` 行重述 + `containers: {ctr-1: incus:ctr-1}`),**约 3s 内 4999 活体自行重新对账**——
80
+
81
+ - 之前:`{ctr-1}` → `ctr-1 — ssh host`(~/.ssh/config 同名 Host 胜出)
82
+ - 之后:`{ctr-1}` → `ctr-1 — incus container` + `probe: container RUNNING`,pty 落容器(`via-alias / ctr-1`)
83
+ - 复原(`[]`)同样 ~3s 热生效:`{ctr-1}` 回到 `ssh host`
84
+
85
+ 即 0.1.6 的 HMR reconcile 覆盖 home 层 patch 写读,**别名腿无需重启**。副产品观察见 §四.2。
86
+
87
+ ---
88
+
89
+ ## 四、与原报告的差异 / 真实观察(均不阻塞)
90
+
91
+ 1. **case 15 的"oneshot 等 ssh 会话通道 ~16.6s"未复现**。本轮同形命令 **3.6s** 返回(≈常规 ssh 握手成本),输出/退出码/静默性均符 Non-Goal。原 §六 第 1 条的持留观察在本环境本轮不成立;描述文本是否补披露可再议(不据此改代码——一次观测 vs 一次观测,证据对等)。
92
+ 2. **配置热重载会丢弃 live pty 会话**:别名行热生效后,此前 idle 的 dev4 pty 会话从 `session: idle 8s (connected)` 变为 `session: none — dials on first exec`(插件行重挂 → `PtyPool` 重建)。行为可解释(重挂即新建 driver),但**不是** `idleTtlSec` 的语义,属"配置热改的代价",记录在案。
93
+ 3. **case 17 的 idle 语义**在热重载前验证成立(8s connected);热重载后必然归 none,两者不矛盾。
94
+ 4. dev4 无 docker,嵌套穿透(ssh -t 内嵌 docker)仍未覆盖(与原报告一致)——spawn 腿(case 12)已独立证 BYO-PTY 机制。
95
+
96
+ ---
97
+
98
+ ## 五、approval policy `never` 的专门核对
99
+
100
+ - 同一 session 策略事件:`approval/policy {ask}`(seq 2, 20:46)→ `{never}`(seq 6, 20:50);`sandbox/mode {workspace-write}` → `{danger-full-access}`。
101
+ - `never` 生效后:**63 次工具调用、0 次 `approval/request` / `approval/denied` / `sandbox/denied`**,18 case + 补测全部完成。
102
+ - 源码面核对:`src/remote/*` 无 `approval` / `sandbox` / `escalat` 任何引用(grep 0 命中)——本框架在 daemon 侧直接派发系统 CLI,**不经** agent 工具审批链,因此策略从 `ask` 收紧到 `never` 对 `remote` 功能面无影响。这条正是本轮复测要回答的问题。
103
+
104
+ ---
105
+
106
+ ## 六、单测 / 类型基线(worktree @ `ac8720a`)
107
+
108
+ - `npx vitest run test/remote/` → **Test Files 9 passed (9),Tests 70 passed (70)**(nonce 13 / target 5 / transports 9 / oneshot 6 / pty-session 14 / driver 6 / status 7 / tool 7 / plugin 3——pty-session 较原报告的 13 多 1,即 P15 的 5M 回归)。
109
+ - `npm test` → **14 failed | 578 passed | 1 skipped (593)**;失败恒为 **2 文件**:`test/url-schemes.spec.ts`(2)+ `test/surface-devices/agent-family.spec.ts`(12),单独复跑同得 `14 failed | 41 passed`——**全为 main 既有病,与本特性无关**。(ledger 记的 577 为 `ac8720a` 前数值;P15 新增 1 测试后应为 578。)
110
+ - `npx tsc --noEmit` → 14 错,文件集合同基线(`src/index.ts` 3、`src/url-schemes/index.ts` 1、`src/url-schemes/handlers/agent.ts` 1、`test/url-schemes.spec.ts` 2、`test/url-schemes/gates.spec.ts` 1、`test/surface-devices/agent-family.spec.ts` 6);**`remote` 0 提及**。
111
+
112
+ ---
113
+
114
+ ## 七、清理与现场状态
115
+
116
+ - 别名 patch:`.dsh-test/cordis.patch.yml` 已还原为 `[]`(原文件备份 `.scratch/cordis.patch.yml.bak-task10retest`),并已复核热还原。
117
+ - scratch 容器 `dashr-remote-t1` 已 `docker rm -f`;`docker ps -a` 无残留(`{docker:dashr-remote-t1}` 现报 `no such object` 即为清理后真值)。
118
+ - 未触碰 `corti` / `jellyfin` / `ctr-1` / `app` 等既有资产;未改任何源码或构建产物;未重启 4999(本轮全程在同一 session 内完成)。
119
+ - 证据落盘:解压后的本 session 日志 `.scratch/retest-session.jsonl`(356 行,含全部 audit 事件)。
120
+
121
+ ## 八、遗留
122
+
123
+ - 复核结论:**矩阵与缺口补测全过,approval `never` 无影响;分支 `ac8720a` 的实测证据面现覆盖 post-P15 代码**。
124
+ - 原报告 §八 其余两项仍开放(仅作里程碑候选):`ws://` transport(spec 远期);oneshot 会话通道持留语义的披露措辞(且本轮未复现,证据对等)。
125
+ - 本轮产物:本报告;无源码/测试改动,故无新单测需求。