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,63 @@
1
+ # better-dsh:schemastery / cosmokit 源码内联实测报告(2026-10-03)
2
+
3
+ - **对象**:better-dsh `0.2.5-a`(本地过程版本,未发布)——`@deepseek-ai/schemastery` 从 **optional peer** 改为 **源码内联**(`third_party/`),同批内联其运行时依赖 `@deepseek-ai/cosmokit` 与(类型only的)`@standard-schema/spec`。
4
+ - **裁决**:user,2026-10-03 —— "这两个包直接抄进我们的源码里…这样我们就不必去看真实安装环境下它的上游到底在哪里、能不能够得着、解析路径对不对"。
5
+ - **载体**:本机 dev 树 + 4999 rig(`.test/home/compat`,unit `dsh-4999-test123`,core dsh `0.2.0-rc.2`)。
6
+
7
+ ## 一、为什么要内联(与前序报告的取舍关系)
8
+
9
+ [2026-10-02-schemastery依赖声明修复实测报告](2026-10-02-better-dsh-schemastery依赖声明修复实测报告.md) 记录过一次事故与一次撤回:
10
+
11
+ - 事故:schemastery 曾是我们的 **`dependencies`** → pnpm 在 profile 里**实体化出第二份**并被 profile 锁文件冻在 **3.18.2** → `.volatile()`(3.18.3+)缺失 → `failover`/`compaction` 在**模块作用域**建 schema 时抛错,loader 记为 `failed to import`。
12
+ - 撤回:当时结论是"DSH 已自带一份,ride-on-DSH 的插件不该再抄第二份",改为 optional peer,让解析回落到 harness installation scope。
13
+
14
+ **本次内联与那次撤回并不矛盾,因为失败模式不同**:
15
+
16
+ | | 当年(dependencies) | 本次(third_party 源码内联) |
17
+ |---|---|---|
18
+ | 版本从哪来 | profile 锁文件 / 上游解析 | **本仓 `third_party/` 钉死** |
19
+ | 会不会出现两份不同版本 | 会(宿主 3.18.4 vs profile 3.18.2) | 不会:我们只用自己这一份,且**不再声明该依赖** |
20
+ | 解析路径依赖 | 强(walk-up / installation scope) | 无(相对路径 import,构建期内联) |
21
+
22
+ 即:把"解析到哪一份"这个变量彻底消掉,而不是把它交给环境的解析顺序。
23
+
24
+ ## 二、改动
25
+
26
+ - 新增 `third_party/`(344K):
27
+ - `third_party/schemastery/` = `@deepseek-ai/schemastery@3.18.4`(MIT,Copyright (c) 2021-present Shigma)原样副本;
28
+ - `third_party/schemastery/node_modules/@deepseek-ai/cosmokit/` = `@deepseek-ai/cosmokit@1.8.5`(同版权人)——放这一层是为了让 schemastery 自己的 `import "@deepseek-ai/cosmokit"` **就地解析**,不必改动 vendored 代码;
29
+ - `third_party/schemastery/node_modules/@standard-schema/spec/` = `1.1.0`(MIT,Copyright (c) 2024 Colin McDonnell),仅类型。
30
+ - **唯一自加文件**:`third_party/schemastery/lib/index.d.mts`(转发到包自带的 `lib/types/index.d.ts`,因为直接 import `.mjs` 不会走它的 `exports.types` 映射)。
31
+ - `package.json` 增 `imports` 子路径映射 `#schemastery`(→ `./third_party/schemastery/lib/index.mjs`);9 个源文件(`index` / `runtime` / `web-password` / `web-trust` / `mobile` / `compaction` / `remote` / `failover` / `url-schemes`)统一 `import z from '#schemastery'`。**(后续已改为物理 import 形态并删除 `src/schemastery.ts`:见 [2026-10-03-physical-import与llm-completion-ast相对路径修复实测报告](2026-10-03-physical-import与llm-completion-ast相对路径修复实测报告.md))**
32
+ - `package.json`:删除 `@deepseek-ai/schemastery` peer 声明与其 `peerDependenciesMeta` 条目(peer 59 条 → 58 条生效面);`files` 增列 `THIRD_PARTY_NOTICES.md`。
33
+ - 署名:`THIRD_PARTY_NOTICES.md`(包根,随 tarball 发布:清单 + MIT 全文 + 各权利人)、`third_party/README.md`(provenance、布局、升级步骤、为何内联)。
34
+ - `.gitignore`:放行 `third_party/schemastery/node_modules/`(vendored 拷贝要入库)。
35
+
36
+ ## 三、验证
37
+
38
+ 1. **类型**:`tsc --noEmit`(host)与 `tsc -p tsconfig.client.json` 均 **0 错**。
39
+ 2. **构建**:`npm run build` 通过。产物 **JS 已内联**(`lib/schemastery-*.js` 分块,含 `createVolatile`/`isVolatile`);运行时**无任何**裸 `@deepseek-ai/schemastery|cosmokit` 引用(仅 `.d.ts` 里保留裸类型引用——与改动前行为一致,非回归;类型面宿主本就供给该包)。
40
+ 3. **单测**:`vitest run` **57 文件 / 649 passed, 1 skipped**。
41
+ 4. **4999 rig(第一人称)**:
42
+ - 安装 `Packages: +1`(仍只加自己);`deps`/`optional` 均为空,schemastery 已不在 peer 清单。
43
+ - **把 profile 树里的 `node_modules/@deepseek-ai/` 整个删掉**后启动:**零 `failed to import`、零 `did not activate`**;`--dump-config` 里 `dashr-failover` + `dashr-compaction-tuning` 两行在场——**正是当年挂掉的那两行**。
44
+ - rig 树里后来重新出现的 `@deepseek-ai/*` 来自 **profile 里的另一个插件 `corti-memory`**(其 `dependencies` 含 `@deepseek-ai/schemastery ^3.18.1`,lockfile 实证),与本插件无关:我们不再贡献该包。
45
+
46
+ ## 四、同批修掉的一个 crash 级 bug(本轮发现,非本次改动的目标)
47
+
48
+ rig 停机日志出现:
49
+
50
+ ```
51
+ dsh: fatal uncaught exception: Error: write EPIPE
52
+ at KernelTransport.send (…/better-dsh/lib/index.js)
53
+ at IpyKernelBridge.dispose
54
+ at DashrRuntime.teardownKernel
55
+ ```
56
+
57
+ 根因:round 2 新写的 `KernelTransport` 在 teardown 往**已死的 bridge stdin** 写 `shutdown`,`EPIPE` 以**异步 error 事件**到达,而没有 `error` 监听 → Node 升级为 uncaught exception(守护进程级)。修法:给 `child.stdin`/`stdout` 挂 error 监听(吞掉并把 transport 标死、结算 waiter),并把写操作收敛到 `writeLine()`:先查 `writable` 再写,失败抛普通 Error 而不是让管道错误逃逸。**实测**:重装后 boot + stop 全程日志零 `EPIPE`/`fatal uncaught`。
58
+
59
+ ## 五、未做 / 限制
60
+
61
+ - **未发布**:按 AGENTS.md §〇,`npm publish` 需 user 单次明确放行。
62
+ - ~~`.d.ts` 里仍以裸名引用 `@deepseek-ai/schemastery`~~ **已于同日解决**:改为物理 import 后,dts bundler 把 schemastery 类型内联进本地 declaration chunk,`lib/` 里既无 `#schemastery` 也无裸名——运行期与类型面双双自包含。
63
+ - 升级 vendored 版本是**行为变更**(settings/config 全表面):须跑全量单测 + 4999 第一人称后方可发版(步骤见 `third_party/README.md`)。
@@ -0,0 +1,82 @@
1
+ # better-dsh 归零 npm 运行时依赖 — 实测报告
2
+
3
+ 日期:2026-10-03 | 规格:`docs/specs/zero-npm-runtime-deps/spec.md` | 目标版本:`0.2.5-a`(本地过程版本,未发布)
4
+
5
+ ## 0. 一句话
6
+
7
+ better-dsh 的 `dependencies` / `optionalDependencies` / `postinstall` **全部为空**(60 条 `peerDependencies` 契约保留);真实安装器(DSH Plugin Manager 底层 pnpm)安装本插件现在只加 **1 个包**;REPL 的原生 ZMQ 依赖被换成 venv 内的 Python bridge;AST 的原生 `.node` 与 browser 的 puppeteer 由**我们自己的代码**在首次使用时自装/内联;任何一项失败只让该组件不可用。
8
+
9
+ ## 1. 起因(user 报告的真实现象)
10
+
11
+ DSH UI Plugin Manager 安装 better-dsh 时卡住并显示:
12
+
13
+ ```
14
+ + better-dsh 0.2.5-a
15
+ Packages: +15 -71
16
+ node_modules/zeromq install$ node ./script/install.js ← 我们的 REPL 原生依赖(cmake 构建)
17
+ Done in 3.7s using pnpm v11.7.0
18
+ [WARN] GET …/@oven/bun-linux-aarch64-android/-/…-1.4.2.tgz error (UND_ERR_SOCKET). Will retry in 10 seconds.
19
+ dsh: pnpm printed nothing for 600000ms and was terminated
20
+ ```
21
+
22
+ 定性:**不是构建错误,是超时**。Plugin Manager 对每条捕获输出的 pnpm 运行挂 600000 ms 静默上限(`packages/boot/plugin-manager/src/index.ts:184`),超时杀树并打印 `operations.ts:453` 那句。卡住的下载(Android/arm64 的 Bun 二进制)来自**同一 profile 里另一个插件**(`super-dsh@0.1.9 → bun@1.4.2`):插件 profile 是一个共享 pnpm 工程,"装插件 X" = "重解整个 profile",于是**别人的安装步骤能拖死我们的安装**。user 裁决:不再 declare 任何运行时依赖、不要 postinstall、不碰 npm/pnpm,二进制由组件自己按需自装。
23
+
24
+ ## 2. 改动清单
25
+
26
+ | 组件 | 原依赖 | 现处置 |
27
+ |---|---|---|
28
+ | hashline(`diff`/`file-type`/`xxhash-wasm`) | npm 依赖 | `tsdown noExternal` 内联进 `lib/`(`file-type` 经 A/B 构建证明在改动前就已被 tree-shake,直接删) |
29
+ | client(`use-sync-external-store`) | npm 依赖 | 早已内联进 `lib/client/index.js`,删除声明 |
30
+ | REPL(`zeromq`) | npm 依赖 + **顶层静态 import**(缺原生模块 → **整个插件加载死**) | 声明删除;新增 `src/kernel-bridge.py`(venv 内 pyzmq/jupyter_client,stdio JSON lines)+ `src/kernel-transport.ts` |
31
+ | browser(`puppeteer-core`) | npm 依赖 | 构建期内联(实测可拉起 Chrome);保留 vendor 自装兜底 |
32
+ | AST(`@oh-my-pi/pi-natives-*`) | 5 条 `optionalDependencies` | 声明删除;新增 `src/vendor.ts`,首次使用时自装到 `<packageRoot>/.vendor` |
33
+
34
+ 新增:`src/vendor.ts`(零依赖自装器:registry packument → sha512/shasum 校验 → 自写 tar+pax 解包 → `createRequire` 解析入口 → 递归闭包 + `os/cpu/libc` 平台过滤 → staging+rename 原子落盘)、`scripts/copy-kernel-bridge.mjs`(把 .py 拷进 `lib/`)。**全程无 `child_process`、无 npm/pnpm/npx 调用**。
35
+
36
+ 供给触发点:**守护进程 spin-up 自检**(原有,fire-and-forget)+ **首次使用 lazy**(`ensurePiNatives()` / `loadPuppeteer()` / venv lazy)。无 postinstall。
37
+
38
+ ## 3. 实测证据
39
+
40
+ ### 3.1 安装(真实安装器,rig profile)
41
+
42
+ ```
43
+ web Packages: +1 Done in 1.8s using pnpm v11.7.0
44
+ headless Packages: +1 Done in 858ms using pnpm v11.7.0
45
+ ```
46
+
47
+ 安装前后 profile 物理树零 `zeromq` / 零 `@oh-my-pi` / 零 `puppeteer`;插件照常加载,启动日志零错误,composed tree 含 `dashr-repl`。**这同时证明 fail-open:REPL 的原生依赖不在场,插件不再跟着死。**
48
+
49
+ ### 3.2 REPL(新传输层)
50
+
51
+ - 直连冒烟(真实 ipykernel):kernel_info ✅ / `print("SMOKE",6*7)` → `"SMOKE 42\n"` 流式 ✅ / 到 idle ✅ / **KERNEL_BOOTSTRAP 单元执行无错** ✅ / interrupt ✅ / dispose ✅。
52
+ - host-request comm(新传输唯一未覆盖路径):内核 `create_comm('dashr.host')` → iopub → Node → **control 通道** `comm_msg` 回包 → 内核 control-thread handler 解 future;cell 打印 `HOSTREPLY {'pong': True, ...}` ✅。
53
+ - **4999 第一人称**(`dsh headless` 真实 session):
54
+ - `eval` → `REPL_OK 42`;
55
+ - 同一 Python session 内 `await tool.bash({...})` → `HOST_OK\n`(宿主参数校验失败路径亦被触发)。
56
+
57
+ ### 3.3 AST(自装器)
58
+
59
+ - 自装器单测:provision `@oh-my-pi/pi-natives-linux-x64@18.0.6`(2×163MB `.node`)→ **dlopen 成功**(exports `astGrep`/`astEdit`/…)→ 二次调用 reuse → `^18.0.0 -> 18.4.12`。
60
+ - **4999 第一人称(最终产物)**:`dsh headless` 让 agent 用 `dvc://ast_grep` 搜 `loadPiNatives` → `totalMatches: 3 / filesWithMatches: 2 / filesSearched: 189`;同一时刻 `<plugin>/.vendor` 出现 **314MB** 的 `@oh-my-pi/pi-natives-linux-x64`,而 **profile 树里没有 `@oh-my-pi`** —— 证明二进制是我们自己下的。
61
+
62
+ ### 3.4 browser(puppeteer 内联)
63
+
64
+ `lib/puppeteer-core-*.js` 导出 206 项(含 `launch`/`connect`);用系统 Chrome 实测 `launch()` → `setContent` → `evaluate` 取回 `BUNDLED_PUPPETEER_OK`。
65
+
66
+ ### 3.5 构建卫生
67
+
68
+ `tsc --noEmit` 0 错;`npm run build` 通过;产物除 peer 契约外无外部包引用(`zeromq` 彻底消失);全量单测 **57 files / 649 passed, 1 skipped**。
69
+
70
+ ## 4. 过程中修掉的两个真 bug(都是本轮暴露、本轮修复)
71
+
72
+ 1. **bridge 静默死通道**:jupyter_client 反序列化后的 header `date` 是 `datetime`,`json.dumps` 抛异常且**在 pump 线程里静默打死整条通道**(现象:"桥 ready 了但一条消息都没有")。修法:`default=str` + 单条消息失败不许杀通道。
73
+ 2. **自装器锚点逃逸**:`findPackageDir(name, VENDOR_ROOT)` 会从 `.vendor` **向上走出**到 `node_modules`,破坏加载器"锚点有界"契约(单测 `ast-device.spec.ts` 抓到)。修法:vendor 走精确路径 `VENDOR_ROOT/node_modules/<name>`,且显式 `fromDir` 探测时**永不 provision**。
74
+ 另修正 round 2 我引入的 `package.json` **重复 `puppeteer-core` 键**(已在清空依赖块时一并消除)。
75
+
76
+ ## 5. 未做 / 已知限制
77
+
78
+ - **未发布**。按本仓红线,`npm publish` 需 user 单次明确放行。
79
+ - 自装代码自担:版本钉死、sha512 校验、平台探测、并发去重(当前无锁:两个进程同时首用可能重复下载,后者被 rename 覆盖)、代理/离线行为。
80
+ - AST 首次使用要下 ~314MB(上游包内含 baseline+modern 两个 CPU 变体,无法只取其一)。
81
+ - `.vendor`/`.venv-kernel` 都在包目录内,**重装插件会重下**(与既有 venv 行为一致)。
82
+ - 本机 rig 树里残留的旧 `@puppeteer`/`@oh-my-pi` 目录已手工清除(pnpm hoisted 树不回收无引用目录)。
@@ -0,0 +1,220 @@
1
+ # better-dsh 0.2.5-d 发布验收报告(2026-10-04,rig 4998)
2
+
3
+ - **被测物**: `better-dsh@0.2.5-d`(commit `4981254`,`feat(ast): surface silent failure modes as diagnostic fields`)
4
+ - **环境**: 交付形态 tarball 安装位 rig,端口 **4998**,`DSH_HOME=.test/home/compat`,profile `web`;驱动 = 第一人称真实 session(HTTP RPC 两段形,与《2026-10-03-ast-engine-deomp-4999实测报告》§四/§五 同款 password-gate + `/api` 信封)
5
+ - **发布状态**: **未发布**。`npm publish` 需 user 单独明确放行(AGENTS §〇 红线);本报告 §五 给出 pre-flight checklist 与 `--dry-run` 证据,发布动作不在本任务内。
6
+
7
+ ---
8
+
9
+ ## 0. 一句话
10
+
11
+ 0.2.5-d 在 4998 rig 以交付形态(tarball remove→add)完成第一人称 live 验收:诊断契约三字段 `pathNotFound` / `overlapping` / `patternErrors` 全部在真实 session 里以原样 JSON 落实,`.vendor` 全程不重建、日志零 OMP/registry 行;一处处方偏差(任务给的"旧静默 pattern"实为单根 pattern,不触发 `patternErrors`)已用真 multi-root pattern 补测闭环,并给出引擎级根因。
12
+
13
+ ## 1. 0.2.5-d 内容物
14
+
15
+ ### 1.1 引擎替换回顾(0.2.5 系已完成,0.2.5-d 继承)
16
+
17
+ - 原生 addon(`@oh-my-pi` / pi_natives,静默供给)→ **包内 WASM ast-grep 引擎**:`lib/ast-assets/` 16 文件(ast-grep.wasm + tree-sitter.wasm + 14 语言 grammar wasm),冷启动零外部供给——`.vendor` 目录全程不出现,rig 日志 `omp|oh-my-pi|registry` **0 命中**(本轮全文件 grep,40 行)。
18
+ - 交付物延续 docs-packaging-trim 形态:tarball 5.1 MB / **733 文件**(shasum `5b3e3e35e25aaa34ef160035e027767975912217`)。
19
+ - 引擎行为面已被 0.2.5 系列锁定:对齐 pattern 34/8/11(4999 首测 §4.4 / 4998 复测 §4.8.3 逐字段一致)、dryRun 默认拦截、真写盘-回滚闭环、14 语言 match matrix(`a2d32a5`)。
20
+
21
+ ### 1.2 诊断契约增量(0.2.5-d 本体 = commit `4981254`)
22
+
23
+ 对原生前辈三类静默失败(契约报告 A1/A3/A6)的**有意分歧**,契约见 `docs/20_specs/ast/spec.md` §41:
24
+
25
+ | 字段 | 设备 | 语义 | 对应旧静默行为 |
26
+ |---|---|---|---|
27
+ | `patternErrors?: string[]` | 两者 | pattern 编译不成单根 AST 节点时逐条透出(`pattern <index> ("<pattern>"): <底层消息>`),健康 pattern 的 matches 照常返回;硬语法错误仍抛 `DVC_DEVICE_ERROR` | A1:multi-root pattern 伪装成 0 命中 |
28
+ | `pathNotFound?: boolean` | 两者 | 解析后的 target root 不在盘上 → `true` | A3:路径不存在与真 0 命中不可区分 |
29
+ | `overlapping?: number` | `ast_edit` | 重叠守卫丢弃的编辑计数(先入列 op 胜),仅 >0 时出现 | A6:守卫存在但计数不可见,遮蔽 op 静默消失 |
30
+
31
+ 另:两设备 summary 明示**无 workspace 边界检查**(边界 = approval/policy 层;A5 文档化处理)。
32
+
33
+ ## 2. 安装与站点证据
34
+
35
+ - 构建:`npm run build`(tsdown + build-client + kernel-bridge + ast-assets,输出 `ast-assets: 16 files, 14.4 MB`)→ `npm pack` → `better-dsh-0.2.5-d.tgz`。
36
+ - 安装(file: tarball 不刷新,**remove→add 一个来回**):`plugin --profile web remove better-dsh` → `add …/better-dsh-0.2.5-d.tgz` → `Packages: +1`(pnpm 11.7.0)→ `PORT=4998 bash .test/seed/test123/start.sh`(unit `dsh-4998-test123` + `test123-lan-4998-relay`)。
37
+ - 安装位核验:`package.json` version → **`"0.2.5-d"`**;`lib/ast-assets` → **16 文件**;`.vendor` → **ABSENT**(`ls` exit 2)。profile `package.json` 依赖行 `file:/home/u1/workspaces/dashr/better-dsh/better-dsh-0.2.5-d.tgz`。
38
+ - 站点:password gate `POST / -d password=admin` → **303** + `dsh-auth-<hash>` cookie(HttpOnly);boot graph 含 `"id":"better-dsh"`;`/plugins/??better-dsh/client.js&rev=4b9802368848` → **200**(29,700 B,= 安装位 `lib/client/index.js` 29,633 B + 服务端追加 sourceMappingURL 行,`cmp` 前缀逐字节一致)。
39
+
40
+ ## 3. 第一人称 live 实测(真实 session,六项)
41
+
42
+ ### 3.1 驱动过程与环境事件(透明记录)
43
+
44
+ - 驱动:§四/§五 同款两段形——`POST /api/session/create`(`client-request` 信封,`request.cwd=/home/u1/workspaces/dashr`)→ `POST /api/session/prompt`(`mode:'queue'`)。会话日志 `.test/home/compat/sessions/--home-u1-workspaces-dashr--/session-f4122ee1-3dab-498b-9ff0-280b470afd2b/session.v4.jsonl.zstd`,全部结果为 `tool/result` 事件原样 JSON。
45
+ - **QUOTA 事件**:前两个 session(`session-ac7f2999…`、`session-2ca4edea…`)首 turn 即 `Insufficient Balance`(HTTP 402 QUOTA)——rig 既有三条 LLM 路由全部欠费(`zai` ZAI_API_KEY / `deepseek-official` DEEPSEEK_API_KEY / `deepseek-openai` 存储 key)。**供给修复**:直连探测发现 ZAI **Anthropic 协议端点**(plan 订阅)可用而 paas 计费端点欠费,遂在 rig home patch(`cordis.patch.yml`,测试资产)新增 `zai-plan` provider 行(`api: anthropic-messages`,`baseURL: https://open.bigmodel.cn/api/anthropic`,`apiKeyEnv: ZAI_PLAN_API_KEY`,model `glm-4.7`),重启 rig 后 `session/selectModel` 指定该路由,turn 正常完成。**此为环境供给修复,不触及被测面**(被测面 = 包内 WASM 引擎 + 宿主 write dvc:// 路径,与 LLM 路由无关)。
46
+ - 有效会话 `session-f4122ee1…`:2 turn、8 次工具调用(write dvc://×5 / bash×3),turn 1 与 turn 2 均 `reason.kind = "completed"`。
47
+
48
+ ### 3.2 (a) 旧静默处方 pattern —— 结果与任务预期不符(引擎级根因,见 §3.3)
49
+
50
+ `write dvc://ast_grep`,content `{"patterns":["export function $NAME($$$ARGS)"],"path":"better-dsh/src/devices/ast"}`(seq 21 原样):
51
+
52
+ ```json
53
+ {
54
+ "matches": [],
55
+ "totalMatches": 0,
56
+ "filesWithMatches": 0,
57
+ "filesSearched": 11,
58
+ "limitReached": false
59
+ }
60
+ ```
61
+
62
+ **无 `patternErrors`,且这是 0.2.5-d 的正确行为**:该 pattern 在 WASM ast-grep 里编译为**单根**(`export function $NAME($$$ARGS)` 解析为一个合法但永不匹配的声明节点),不抛 `Multiple AST nodes are detected`,因此不属于 patternErrors 契约面。独立对拍:本地以 0.2.5-d 源码(vitest 直驱 `dispatchDvcWrite`,同 pattern 同形 fixture)返回**逐字段一致**的静默形态——rig 与源码零漂移。旧契约报告 §7 把此 pattern 的 0.2.5-c 静默归因为 MULTI_NODE 吞噬,系排除法推断,对 WASM 引擎不成立(真正的静默机制是该 pattern 单根但结构不全,永不匹配)。**规避口径不变:pattern 必须写完整节点**。
63
+
64
+ ### 3.3 (a2) 补充:真 multi-root pattern → `patternErrors` live(A1 分歧验收)
65
+
66
+ `write dvc://ast_grep`,content `{"patterns":["const $A = $B\nconst $C = $D"],"path":"better-dsh/src/devices/ast"}`(两语句 = 双根;seq 74 原样):
67
+
68
+ ```json
69
+ {
70
+ "matches": [],
71
+ "totalMatches": 0,
72
+ "filesWithMatches": 0,
73
+ "filesSearched": 11,
74
+ "limitReached": false,
75
+ "patternErrors": [
76
+ "pattern 0 (\"const $A = $B\nconst $C = $D\"): Multiple AST nodes are detected. Please check the pattern source `const µA = µB\nconst µC = µD`."
77
+ ]
78
+ }
79
+ ```
80
+
81
+ `patternErrors` 1 条(index + pattern 原文 + 底层消息)、0 matches——与单测(`ast-device.spec.ts:258`)及 spec §45 的 WHEN/THEN 一致,A1 分歧在 live 落实。
82
+
83
+ ### 3.4 (b) 完整节点 pattern → 真命中
84
+
85
+ `write dvc://ast_grep`,content `{"patterns":["export function $NAME($$$ARGS): $RET { $$$BODY }"],"path":"better-dsh/src/devices/ast","includeMeta":true,"limit":3}`(seq 28 原样,节选):
86
+
87
+ ```json
88
+ {
89
+ "matches": [
90
+ {
91
+ "path": "better-dsh/src/devices/ast/ast-device.ts",
92
+ "text": "export function registerAstDevices(registry: DvcRegistry = { registerDvcDevice }): void { … }",
93
+ "byteStart": 13399, "byteEnd": 13688,
94
+ "startLine": 310, "startColumn": 1, "endLine": 313, "endColumn": 2,
95
+ "metaVariables": { "NAME": "registerAstDevices", "ARGS": "[registry: DvcRegistry = { registerDvcDevice }]", "RET": "void", "BODY": "[registry.registerDvcDevice('ast_edit', …), registry.registerDvcDevice('ast_grep', …)]" }
96
+ },
97
+ { "path": "better-dsh/src/devices/ast/ast-reminder.ts", "text": "export function disposeAstReminders(sessionId: string): void { … }", "byteStart": 2063, "byteEnd": 2156, "startLine": 42, "…": "…(第 3 条 astFileNotice byteStart 3169,页共 3 条)" }
98
+ ],
99
+ "totalMatches": 13,
100
+ "filesWithMatches": 8,
101
+ "filesSearched": 11,
102
+ "limitReached": true
103
+ }
104
+ ```
105
+
106
+ **13/8/11 + `limitReached:true`(`limit:3` 分页)**,与旧契约报告 §7 对照实验的完整节点 13/8 完全一致;元变量四类捕获(NAME/ARGS/RET/BODY)齐全。
107
+
108
+ ### 3.5 (c) 不存在路径 → `pathNotFound`(A3 分歧验收)
109
+
110
+ `write dvc://ast_grep`,content `{"patterns":["export function $N($$$A)"],"path":"no/such/dir"}`(seq 35 原样):
111
+
112
+ ```json
113
+ {
114
+ "matches": [],
115
+ "totalMatches": 0,
116
+ "filesWithMatches": 0,
117
+ "filesSearched": 0,
118
+ "limitReached": false,
119
+ "pathNotFound": true
120
+ }
121
+ ```
122
+
123
+ `pathNotFound:true` + `filesSearched:0`——与真 0 命中(§3.2 的 11 文件形态)可区分。✅
124
+
125
+ ### 3.6 (d) 重叠双 op → `overlapping:1`,仅首 op 落盘(A6 分歧验收)
126
+
127
+ 夹具 `.scratch/ast-tool-test/overlap-026.ts`(写前 md5 `fd021aa9ffa0389ba92a1320c6b9e4f3`,内容 `export function overlapTarget(x: number): number {\n return x * 2\n}`)。`write dvc://ast_edit`,content `{"ops":[{pat:"export function $NAME($$$ARGS): $RET { $$$BODY }", out:"… { /*op1-applied*/ $$$BODY }"},{pat:"function $NAME($$$ARGS): $RET { $$$BODY }", out:"… { /*op2-dropped-overlap*/ $$$BODY }"}],"paths":[".scratch/ast-tool-test/overlap-026.ts"],"dryRun":false}`(seq 42 原样):
128
+
129
+ ```json
130
+ {
131
+ "changes": [
132
+ {
133
+ "path": ".scratch/ast-tool-test/overlap-026.ts",
134
+ "before": "export function overlapTarget(x: number): number {\n return x * 2\n}",
135
+ "after": "export function overlapTarget(x: number): number { /*op1-applied*/ return x * 2 }",
136
+ "byteStart": 0, "byteEnd": 67, "deletedLength": 67,
137
+ "startLine": 1, "startColumn": 1, "endLine": 3, "endColumn": 2
138
+ }
139
+ ],
140
+ "fileChanges": [{ "path": ".scratch/ast-tool-test/overlap-026.ts", "count": 1 }],
141
+ "totalReplacements": 1,
142
+ "filesTouched": 1,
143
+ "filesSearched": 1,
144
+ "applied": true,
145
+ "limitReached": false,
146
+ "overlapping": 1
147
+ }
148
+ ```
149
+
150
+ `changes[]` 只含 op1;盘面复核(seq 49 会话内 `cat` + 会话外 md5 `eab9de680da668fbabe79c22a575c67c`):
151
+
152
+ ```text
153
+ export function overlapTarget(x: number): number { /*op1-applied*/ return x * 2 }
154
+ ```
155
+
156
+ 仅 `/*op1-applied*/` 在场,`/*op2-dropped-overlap*/` 未出现——先入列 op 胜 + 丢弃计数透出,与引擎守卫(`engine/edit.ts` 按 start 升序线性扫描)及单测(`ast-device.spec.ts:299`)一致。✅
157
+
158
+ ### 3.7 (e) `.vendor` 供给链复核
159
+
160
+ 全部 dvc 调用之后:`.test/home/compat/profiles/web/node_modules/better-dsh/.vendor` → **ABSENT**(会话内 seq 56 `ls` 报 `No such file or directory`;会话外复核 exit 2);`lib/ast-assets` 仍 **16 文件**(seq 56 会话内 `wc -l` = 16)。rig 日志 `grep -icE "omp|oh-my-pi|registry"` → **0**。✅
161
+
162
+ ### 3.8 源码树不变量
163
+
164
+ `git status --short -- better-dsh/src better-dsh/test better-dsh/package.json` → **空**(live 写盘仅落在 gitignored `.scratch/` 夹具,符合预期)。
165
+
166
+ ## 4. 构建卫生(非验收,记录用)
167
+
168
+ | 项 | 结果 |
169
+ |---|---|
170
+ | `tsc --noEmit`(host) | **0 错误**(exit 0) |
171
+ | `tsc -p tsconfig.client.json`(client) | **0 错误**(exit 0) |
172
+ | `npx vitest run` | **65 文件 / 705 passed + 1 skipped(706)**,169 s |
173
+
174
+ ## 5. `npm publish` pre-flight checklist(发布闸门,未执行发布)
175
+
176
+ 按 AGENTS §〇:a(本报告第一人称实测)✅ → b(报告落盘)✅ → c(**user 明确放行,待办**)→ d(publish)。当前到 b 为止。
177
+
178
+ - [x] **registry 目标**: `npm config get registry` → `https://registry.npmjs.org/`;whoami → `pgmi-builds`
179
+ - [x] **版本**: `package.json` `name: better-dsh`, `version: 0.2.5-d`(与安装位一致)
180
+ - [x] **files 列表**: `lib`、`THIRD_PARTY_NOTICES.md`、`docs`、`dsh-docs`、`cordis.patch.yml`、`eval-description.md`、`url-schemes-instruction.md`、`scripts/kernel-provision.mjs`
181
+ - [x] **`npm publish --dry-run`**(未发布,输出尾 8 行原样):
182
+
183
+ ```text
184
+ npm notice === Tarball Details ===
185
+ npm notice name: better-dsh
186
+ npm notice version: 0.2.5-d
187
+ npm notice filename: better-dsh-0.2.5-d.tgz
188
+ npm notice package size: 5.1 MB
189
+ npm notice unpacked size: 27.0 MB
190
+ npm notice shasum: 5b3e3e35e25aaa34ef160035e027767975912217
191
+ npm notice total files: 733
192
+ npm notice
193
+ npm notice Publishing to https://registry.npmjs.org/ with tag latest and default access (dry-run)
194
+ ```
195
+
196
+ - [x] 干跑确认:尾行带 `(dry-run)`,registry 无任何足迹。
197
+ - [ ] **user 放行后**:`npm publish`(真实动作)→ tag `v0.2.5-d`(GitHub 侧可逆,随发布节奏)。
198
+
199
+ ## 6. 偏差与关注项
200
+
201
+ 1. **处方 (a) 预期未按字面达成(已闭环)**:任务处方的 `export function $NAME($$$ARGS)` 不触发 `patternErrors`——单根 pattern 永不匹配≠multi-root 编译失败;本地 0.2.5-d 源码对拍逐字段一致,判定为**处方对旧 §7 根因推断的继承误差**,非产品缺陷。A1 验收由 (a2) 真 multi-root pattern 补齐。建议:后续文档/指引里把"完整节点"口径与"multi-root 才报 patternErrors"口径并列写清(单根残缺 pattern 仍是静默 0 命中,属引擎语义)。
202
+ 2. **rig LLM 路由欠费**:三条既有路由 402 QUOTA;本轮以 `zai-plan`(Anthropic 端点)provider 行修复并留作 rig 默认(`agent-default-model` 现为 `zai-plan/glm-4.7`,原 `zai/glm-5.3-flash` 已欠费不可用)。rig home patch 为测试资产,该行建议保留至 paas 路由充值。
203
+ 3. **`filesSearched` 双形态口径**(旧 A4,未变):目录遍历跳过非代码文件、显式单文件计入——§3.2(11)与 §3.6(1)的数字口径不同属设计内。
204
+ 4. 首个 QUOTA 失败 turn 的会话(`ac7f2999`/`2ca4edea`)留在 rig home sessions 内,随 home 复用自然沉淀。
205
+
206
+ ## 7. 复现
207
+
208
+ ```bash
209
+ cd ~/workspaces/dashr/better-dsh && npm run build && npm pack
210
+ cd ~/workspaces/dashr
211
+ DSH_HOME=$PWD/.test/home/compat node upstream/deepseek-harness/apps/cli/lib/bin.js plugin --profile web remove better-dsh
212
+ DSH_HOME=$PWD/.test/home/compat node upstream/deepseek-harness/apps/cli/lib/bin.js plugin --profile web add $PWD/better-dsh/better-dsh-0.2.5-d.tgz
213
+ PORT=4998 bash .test/seed/test123/start.sh
214
+ # 认证 + RPC 两段形:POST /(password gate 铸 cookie)→ /api/session/create → /api/session/selectModel(zai-plan/glm-4.7)→ /api/session/prompt(queue)
215
+ # 会话日志:.test/home/compat/sessions/--home-u1-workspaces-dashr--/session-f4122ee1-…/session.v4.jsonl.zstd(seq 21/28/35/42/49/56/74)
216
+ ```
217
+
218
+ ## 0.2.5-d 重打包说明(无重验)
219
+
220
+ 版本串按 user 指令从 0.2.6 改为 0.2.5-d。**未重跑 rig 验证**:改动仅为 `package.json` 的 `version` 字段,不触及任何已验证面。等价性证据:重打包后 tgz 内 `lib/` 65 个文件与 0.2.6 验证轮的构建产物 sha256 逐文件一致(清单比对),即发布的就是验证过的那个产物。
@@ -0,0 +1,151 @@
1
+ # `dvc://ast_grep` / `dvc://ast_edit` 契约与边界实测报告(2026-10-04,4998 rig)
2
+
3
+ - **被测面**: `dvc://ast_grep`、`dvc://ast_edit`(better-dsh ast 设备)
4
+ - **环境**: trimmed 安装位 rig,端口 **4998**,`DSH_HOME=.test/home/compat`,安装位 `better-dsh@0.2.5-c`(docs 已瘦身);文件策略 `danger-full-access`、approval `never`(无审批/沙箱旁路干扰,探针所见即设备行为)
5
+ - **方法**: 在一次性夹具上跑 **20 项探针**,每项都做**盘面复核**(`cat` / `md5sum`)而非只看返回值
6
+ - **与前序报告的关系**: `2026-10-03-better-dsh-tool-surface-repl-dvc-browser-ast-lsp-4999实测报告.md` 的 §4/§5 是**面**的覆盖(设备能不能用);本篇是**契约与边界**面(参数语义、错误路径、跨语言、越界、分页),并关闭其 §9 遗留项 `dvc://ast_edit 相对路径未复测`
7
+ - **判定**: 两设备功能面 **全绿**(19/20 行为符合预期);新增 1 条**错误静默**行为面(A1),非功能缺陷但属可用性/可诊断性缺口
8
+
9
+ ---
10
+
11
+ ## 0. 一句话
12
+
13
+ `ast_grep` / `ast_edit` 在 trimmed 安装位上功能完整(AST 级匹配、元变量、分页、多语言、目录递归、dryRun 默认安全、真写盘字节级正确);主要风险不在功能而在**失败模式的静默**——0 命中、坏 pattern、路径不存在三者返回值不可区分。
14
+
15
+ ## 1. 被测面口径
16
+
17
+ 两个设备都用「对设备 URI 执行 `write`」的方式驱动,args 为 JSON 对象:
18
+
19
+ - `ast_grep`: `{patterns: string[], path?, offset?, limit?, includeMeta?}`
20
+ - `ast_edit`: `{ops: [{pat, out}], paths: string[], dryRun?}`
21
+
22
+ ## 2. 夹具与不变量
23
+
24
+ 夹具 `.scratch/ast-tool-test/`:`sample.ts`(TS,含 interface/function/箭头函数/legacy function)、`sample.py`(def/class/print)、`notes.md`、`data.json`。
25
+
26
+ | 文件 | 初始 md5 | 终态 md5 |
27
+ |---|---|---|
28
+ | `sample.ts` | `adfa9abc6ac2e1340cb8812a6b07e6ff` | `0af459a01c4eae5619950ca88ae3160f` |
29
+ | `sample.py` | `e75c4312a714c0e9dd4f05da0146fa05`(首改后) | `e75c4312a714c0e9dd4f05da0146fa05` |
30
+ | `notes.md` / `data.json` | — | 全程未变 |
31
+
32
+ **不变量结论**:dryRun 期盘面零改动;真写盘期仅目标文件变化;**零命中真写盘后 md5 与写前逐字节相同**(无空改/重排版)。
33
+
34
+ ## 3. `ast_grep` 探针矩阵
35
+
36
+ | # | 探针 | 结果 |
37
+ |---|---|---|
38
+ | 1 | 5 pattern 同发(其一带故意不匹配项),`includeMeta:true` | ✅ 4 命中,`totalMatches:4`;`metaVariables` 正确(`NAME`/`MEMBERS`/`A`/`ARGS`/`BODY`) |
39
+ | 2 | 省略 `path` | ✅ 基准 = **进程 cwd**,扫 **313** 文件;`node_modules` / `.git` 被静默跳过 |
40
+ | 3 | 目录 + 正命中 pattern | ✅ 196 文件扫出 15 命中;`limit:3` 时 `limitReached:true` |
41
+ | 4 | `offset:3, limit:3` | ✅ 返回**第 4–6 条**,与第 1 页不相交(分页真实生效) |
42
+ | 5 | Python 语法 pattern(`def`/`print`) | ✅ 命中;**语言由扩展名推断** |
43
+ | 6 | `includeMeta` false / true | ✅ 两形态均正确 |
44
+ | 7 | 不存在的文件 | ⚠️ **不报错**,`filesSearched:0`、零命中 |
45
+ | 8 | 畸形 pattern | ⚠️ **不报错**,零命中,`filesSearched:1` |
46
+ | 9 | 缺 `patterns` | ✅ 硬报错:`` `patterns` must be a non-empty array of strings `` |
47
+
48
+ **目录扫描语义**(由 #2 #3 与 §5 交叉验证):
49
+
50
+ - 目录遍历时 `.md` / `.json` **不进搜索集**(`better-dsh/src` 196 文件 vs 显式传单文件时把非代码文件也算 1)
51
+ - 显式传单个非代码文件时会计入 `filesSearched`(**计数语义在两种调用形态下不可比**,见 A4)
52
+ - `totalMatches` = 全量命中数;`limitReached:true` 只表示**返回页被截断**
53
+
54
+ ## 4. `ast_edit` 探针矩阵
55
+
56
+ | # | 探针 | 结果 |
57
+ |---|---|---|
58
+ | 10 | **省略 `dryRun`** | ✅ 默认 `true`:`applied:false`,md5 未变(fail-safe 默认) |
59
+ | 11 | `dryRun:false`,2 条 op | ✅ 两条均落盘;md5 `adfa…`→`0af4…`,`cat` 复核 `console.log(msg)`→`logger.info(msg)`、`function legacyThing` → 箭头函数 |
60
+ | 12 | Python 文件 | ✅ `print(...)` → `sys.stderr.write(...)` |
61
+ | 13 | `paths` 传**目录** | ✅ 递归生效,`filesSearched:2` |
62
+ | 14 | `paths` 传**绝对路径(workspace 之外 `/tmp`)** | ✅ 直接写入成功;返回 `path` 为未规范化的 `../../../../tmp/…` |
63
+ | 15 | **重叠** op(两 pattern 命中同一节点) | ✅ 先入列者胜;**遮蔽的 op 静默消失**(源码有重叠守卫,见 A6) |
64
+ | 16 | 不存在的路径 | ⚠️ `applied:true`、零改动、**不报错** |
65
+ | 17 | 畸形 pattern | ⚠️ `applied:true`、零改动、**不报错** |
66
+ | 18 | 缺 `paths` | ✅ 硬报错:`` `paths` must be a non-empty array of strings `` |
67
+ | 19 | 真写盘但零命中 | ✅ 文件**逐字节未变**(无重排版/空改) |
68
+
69
+ ## 5. 交叉验证(防假阴性)
70
+
71
+ 对 #3 的**零命中**结果做了独立 ground truth 核对,防止把「工具坏了」误判成「确实没有」:
72
+
73
+ ```bash
74
+ grep -rn 'console\.log' better-dsh/src | wc -l # → 0(与 ast_grep 结论一致,非假阴性)
75
+ grep -rn 'export function' better-dsh/src/devices/ast | wc -l # → 10
76
+ ```
77
+
78
+ 经验法则:**`totalMatches:0` 但 `filesSearched>0` 时,先 grep 证明目标是否存在,再检查 pattern 是否完整节点。**
79
+
80
+ ## 6. 发现清单
81
+
82
+ | ID | 严重度 | 面 | 现象 | 建议 |
83
+ |---|---|---|---|---|
84
+ | **A1** | 中(可诊断性) | 两者 | **不完整 AST 节点 pattern 静默零命中**。见 §7 根因分析 | 把 `Multiple AST nodes are detected` 透出为 `unavailable`/`patternError` 字段,而非回落空结果 |
85
+ | **A2** | 低(语义) | `ast_edit` | `applied` = 「本次不是 dryRun」,**不等于「有文件被改」**:#16/#17 零改动仍回 `applied:true` | 改名或补 `changed:boolean`;判定用 `filesTouched`/`totalReplacements` |
86
+ | **A3** | 中(可诊断性) | 两者 | **三类失败不可区分**:真实零命中 / 坏 pattern / 路径不存在,返回值形状一致 | 至少区分「路径不存在」(#7 #16 已有 `filesSearched:0` 可作信号,但未标错) |
87
+ | **A4** | 低(语义) | `ast_grep` | `filesSearched` 两形态不可比:目录遍历跳过非代码文件,显式传单文件却计入 | help 里明确计数口径 |
88
+ | **A5** | 中(安全面) | `ast_edit` | **无 workspace 边界**:绝对路径可写 workspace 之外(#14 `/tmp` 实测成功),且返回路径未规范化 | 明确「设备无沙箱,边界由 approval/policy 层负责」;或规范化显示路径 |
89
+ | **A6** | 观察(正面) | `ast_edit` | 重叠编辑有**显式守卫**(`src/devices/ast/engine/edit.ts` 内按 start 升序线性扫描 + `overlapping` 计数),先入列 pattern 胜——**非未定义行为**;但该计数**未出现在设备返回体中**,故从 API 看仍表现为静默 | 把 `overlapping` 透出到返回值 |
90
+
91
+ ## 7. A1 根因分析(不完整节点 pattern)
92
+
93
+ **触发**:`{"patterns":["export function $NAME($$$ARGS)"],"path":"better-dsh/src/devices/ast"}` → `totalMatches:0`、`filesSearched:11`。
94
+
95
+ **根因(代码路径排除法)**:`src/devices/ast/engine/match.ts` 中 `findInSource` 的 `root.findAll(pattern)` 外包了一层 catch:
96
+
97
+ ```ts
98
+ } catch (error) {
99
+ if (error instanceof Error && error.message.includes(MULTI_NODE)) return { matches: [], unavailable: false }
100
+ throw error
101
+ }
102
+ ```
103
+
104
+ `MULTI_NODE = 'Multiple AST nodes are detected'`(同文件 :13)。该 catch 是**唯一**回落为空的分支,其余错误一律 rethrow(设备层会显式报错,如 #9/#18 所见)。既然 #A1 与 #17 都没有报错、只回空结果,**只能**是命中该分支:pattern 只写了签名(缺函数体),不是完整 AST 节点,ast-grep 抛 `MULTI_NODE` 后被吞掉并伪装成「无命中」。同族处理见 `engine/edit.ts:55`(`continue` 跳过)。
105
+
106
+ **对照实验(同目录,同一设备)**:
107
+
108
+ | pattern | 结果 |
109
+ |---|---|
110
+ | `export function $NAME($$$ARGS)`(用户处方,不完整节点) | `totalMatches: 0`(静默) |
111
+ | `export function $NAME($$$ARGS) { $$$BODY }` 等三条完整节点 | **`totalMatches: 13` / `filesWithMatches: 8`** |
112
+
113
+ **规避**:pattern 必须写成**完整 AST 节点**;0 命中时先按 §5 交叉验证。
114
+
115
+ ## 8. 相对路径基准(前序 F1 复验)
116
+
117
+ 前序报告 F1 记录:相对 `path` 基准 = harness 进程 cwd,`"better-dsh/src"` 直接 `Path not found`。该问题已在 `2026-10-03-physical-import与llm-completion-ast相对路径修复实测报告.md` §三 修复(基准改为会话 workspace)。
118
+
119
+ **本轮复验(trimmed 安装位 0.2.5-c)**:`path:"better-dsh/src"`、`path:".scratch/ast-tool-test/..."` 等**相对路径全部直接可用**,扫 196 / 1 文件均符合 workspace 基准预期;`paths` 侧同样通过。**F1 判定:已修复,本轮无回归。** 前序 §9 遗留项「`dvc://ast_edit` 相对路径未复测」**关闭**。
120
+
121
+ ## 9. 未覆盖 / 遗留
122
+
123
+ - 未测 `.tsx/.jsx/.go/.rs` 等其余 grammar(仅验 TS + Python 两语言)
124
+ - 未测 `include`/`glob` 过滤与 `maxFiles`(默认 1000) 上限边界
125
+ - 未测 `parseErrors[]` 路径(未构造语法错误文件)
126
+ - 未测超大文件/超多文件下的性能与截断行为
127
+ - **未改任何源码**:本篇只记录行为面;A1/A2/A3/A5/A6 若要收,属 `better-dsh/` 源码变更,须走 build → rig 实测 → 报告 → 发布的老闸门
128
+
129
+ ## 10. 复现
130
+
131
+ ```bash
132
+ # 夹具
133
+ mkdir -p .scratch/ast-tool-test && cat > .scratch/ast-tool-test/sample.ts <<'EOF'
134
+ export function describeProbe(cfg: { name: string }): string {
135
+ console.log(cfg.name)
136
+ return cfg.name
137
+ }
138
+ function legacyThing(a, b) { return a + b }
139
+ EOF
140
+
141
+ # A1 对照:不完整节点 vs 完整节点(在任意 4998/4999 会话内对 dvc:// 设备 write)
142
+ # ① {"patterns":["export function $NAME($$$ARGS)"],"path":"better-dsh/src/devices/ast"} → totalMatches:0(静默)
143
+ # ② {"patterns":["export function $NAME($$$ARGS) { $$$BODY }"],"path":"better-dsh/src/devices/ast"} → totalMatches:13
144
+
145
+ # dryRun 默认安全复验:省略 dryRun → applied:false,随后 md5sum 应不变
146
+ # {"ops":[{"pat":"console.log($A)","out":"logger.info($A)"}],"paths":[".scratch/ast-tool-test/sample.ts"]}
147
+ ```
148
+
149
+ ---
150
+
151
+ **发布闸状态**:本篇为**观察性实测**,不含 `better-dsh` 版本变更;`npm publish` 不在范围内(按根 AGENTS.md 〇节,仍需 user 单次明确放行)。
@@ -0,0 +1,63 @@
1
+ # 2026-10-06 authentication-only Web admission — 4999 实测
2
+
3
+ ## 结果与范围
4
+
5
+ 本地测试包 `better-dsh@0.2.5-e` 已通过 tarball 的 `dsh plugin add` 安装到
6
+ `.test/home/compat/profiles/web`。运行实例为 `dsh-4999-test123`,原测试 home、
7
+ 会话和共享 credential seed 保留,未触碰生产 3080/3081 或 Caddy 配置。
8
+ 未发布 npm;user 于 2026-10-06 确认测试「looks good」并授权在本地 main 提交。
9
+
10
+ 测试开启 `dashr-web-trust.config.trustAllHosts: true`。该模式仅包装原生
11
+ Connection 实例的 `requestRejection`,通过公开 `authorizeIndex` 接口委托
12
+ cookie 校验,不复制认证实现、不访问 private 字段、不修改上游。传入真实
13
+ Host/Cookie 与固定无 query 的 index 路径,API 准入不会执行 token 铸 cookie。
14
+
15
+ 浏览器初始化脚本在任意 hostname 设置 `ownsHost: true`,已有 transport 保留。
16
+ 默认仍为 `trustAllHosts: false`。关闭/卸载模式恢复原生地址检查,页面能力需刷新。
17
+
18
+ ## 网络与登录
19
+
20
+ - 原生服务器监听 `127.0.0.1:4999`;现有 socat 中继监听 `192.168.31.130:4999`。
21
+ - 实际运行 argv 无 `--trusted-host`,没有给测试进程传入 `DSH_TRUSTED_HOSTS`。
22
+ - HTTPS 入口为 `https://test.pc.randomhash.app/`,沿用已有 Caddy。
23
+ - 本 test profile 禁用 `dashr-web-password`,以验证原生 token URL 登录;生产未变。
24
+ - launcher 允许 `TRUSTED_HOSTS=''` 显式省略 CLI 名单。原生/clean rig 默认仍由
25
+ CLI 放行 loopback、LAN 与测试域名。
26
+
27
+ ## 运行时验证
28
+
29
+ 每个入口先以本次 launch token 完成原生 303 cookie 交换,再读取 HTML 与 RPC。
30
+ 额外的 unlisted Host 通过 loopback 连接模拟,未修改 DNS、服务器名单或代理。
31
+
32
+ | 入口 | 页面 | 模型列表/可配置 provider | 插件列表 | 设置描述 |
33
+ |---|---|---|---|---|
34
+ | loopback | 200 | 通过 | 通过 | 通过 |
35
+ | LAN | 200 | 通过 | 通过 | 通过 |
36
+ | unlisted | 200 | 通过 | 通过 | 通过 |
37
+ | HTTPS | 200 | 通过 | 通过 | 通过 |
38
+
39
+ - 各入口 HTML 均有 all-host `ownsHost` 初始化脚本。
40
+ - 未列入名单的请求携带不匹配 Origin 与 cross-site Fetch-Metadata,认证后仍成功。
41
+ - LAN 与 unlisted 请求分别验证:缺失、篡改、其他 authority 的 cookie 均为 401。
42
+ - 真实 `/api/remote.mux` WebSocket upgrade:unlisted Host + 跨域 Origin,认证后 101,
43
+ 未认证 401。
44
+ - HTTPS `settings/mutate` 将测试字体 17 改为 18,描述接口读回 18 且 profile 文件
45
+ 持久化;之后按 revision 恢复 17 并复验。未改模型凭据。
46
+
47
+ ## 静态与自动测试
48
+
49
+ - LSP 核实 Connection capability 定义、web-trust 的引用;TypeScript AST 核实脚本
50
+ 生成与插件 apply 结构。
51
+ - TDD:新增准入测试先复现 403,页面全地址测试先复现缺失 ownsHost;实现后通过。
52
+ - 定向测试 16/16;包含原生 Connection 的认证、native cookie lifetime 与卸载恢复。
53
+ - 全量 66 个测试文件通过:709 passed、1 skipped。
54
+ - host/client typecheck 通过,构建与 pack 通过,launcher `bash -n` 通过。
55
+ - 构建保留既有 puppeteer 相关 `eval` / 可选 `yauzl` 警告;不在本次准入改动范围。
56
+
57
+ ## 验收与交接
58
+
59
+ 当前 Computer Use 没有可用浏览器,接口验证不等于 UI 操作验收。
60
+ user 已确认测试效果可接受。4999 实例保持运行,测试 tarball 是 profile 的本地依赖来源,
61
+ 交接时保留但不入库。仅提交本次代码、测试、rig 指引与文档,不发布 npm。
62
+ 生产 profile 仅移除旧 `dashr-repl` trustedPageAuthorities 覆盖,Python 配置继承 bundle,
63
+ 不安装测试包、不重启生产。备份保存在 `/tmp/dashr-prod-cordis.patch.before-cleanup-20261006.yml`。