super-dsh 0.3.0-a → 0.3.0-d

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 (760) hide show
  1. package/README.md +25 -22
  2. package/cordis.patch.yml +3 -3
  3. package/package.json +20 -8
  4. package/superd-hub/dist/bundle-setup.d.ts +17 -2
  5. package/superd-hub/dist/bundle-setup.js +158 -2
  6. package/superd-hub/dist/spawn-world.js +2 -5
  7. package/superd-hub/dist/world-resolution.d.ts +6 -0
  8. package/superd-hub/dist/world-resolution.js +39 -0
  9. package/superd-hub/package.json +19 -2
  10. package/superd-hub/scripts/register-companion.mjs +100 -0
  11. package/bundles/better-dsh.tgz +0 -0
  12. package/bundles/manifest.json +0 -10
  13. package/node_modules/better-dsh/LICENSE +0 -24
  14. package/node_modules/better-dsh/README.md +0 -323
  15. package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +0 -52
  16. package/node_modules/better-dsh/cordis.patch.yml +0 -139
  17. package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +0 -14
  18. package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +0 -15
  19. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +0 -236
  20. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +0 -2083
  21. package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +0 -64
  22. package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +0 -256
  23. package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +0 -137
  24. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +0 -201
  25. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +0 -561
  26. package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +0 -307
  27. package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +0 -367
  28. package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +0 -171
  29. package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +0 -187
  30. package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +0 -97
  31. package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +0 -152
  32. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +0 -146
  33. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +0 -50
  34. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +0 -79
  35. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +0 -138
  36. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +0 -161
  37. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +0 -109
  38. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +0 -50
  39. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +0 -113
  40. package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +0 -147
  41. package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +0 -102
  42. package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +0 -128
  43. package/node_modules/better-dsh/docs/20_specs/agent/spec.md +0 -54
  44. package/node_modules/better-dsh/docs/20_specs/ast/spec.md +0 -57
  45. package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +0 -46
  46. package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +0 -107
  47. package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +0 -47
  48. package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +0 -106
  49. package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +0 -44
  50. package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +0 -37
  51. package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +0 -41
  52. package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +0 -73
  53. package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +0 -53
  54. package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +0 -121
  55. package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +0 -108
  56. package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +0 -20
  57. package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +0 -79
  58. package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +0 -22
  59. package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +0 -21
  60. package/node_modules/better-dsh/docs/20_specs/skill/spec.md +0 -58
  61. package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +0 -222
  62. package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +0 -148
  63. package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +0 -43
  64. package/node_modules/better-dsh/docs/50_test-reports/2026-09-06-write/345/267/245/345/205/267sandbox/345/215/207/347/272/247/351/200/217/344/274/240bug/345/244/215/345/217/221/345/217/212/346/214/202/350/265/267-/344/272/213/344/273/266/346/212/245/345/221/212.md +0 -176
  65. package/node_modules/better-dsh/docs/50_test-reports/2026-09-08-hashline-edit-E_RANGE_UNVERIFIED/350/267/250/350/275/256/344/274/232/350/257/235/351/224/256/345/244/261/346/225/210-/350/257/212/346/226/255/346/212/245/345/221/212.md +0 -226
  66. package/node_modules/better-dsh/docs/50_test-reports/2026-09-11-control-prompt-into-eval-description/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -222
  67. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-fs-scheme-resolution-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -81
  68. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-grammar-matrix/344/270/216catalog-centralize-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -234
  69. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-design/351/252/214/350/257/201/346/212/245/345/221/212.md +0 -160
  70. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/345/211/247/346/234/254.md +0 -44
  71. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -89
  72. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-/345/205/255scheme/345/206/222/347/203/237/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -198
  73. package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-hashline-off/344/270/213scheme/345/217/257/350/276/276/346/200/247/345/267/245/345/205/267/351/235/242/344/270/215/345/257/271/347/247/260-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -246
  74. package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-preact-ui-shell/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -50
  75. package/node_modules/better-dsh/docs/50_test-reports/2026-09-14-4999-skill/346/270/205/345/215/225/344/270/216lsp-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
  76. package/node_modules/better-dsh/docs/50_test-reports/2026-09-17-plugins/351/241/265/345/205/255/347/273/204/344/273/266/346/213/206/345/210/206/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
  77. package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-4988/345/217/214/345/271/263/351/235/242/345/220/257/345/212/250/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
  78. package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-better-dsh/347/273/204/344/273/266/347/203/255/346/217/222/346/213/224/344/270/216/344/276/235/350/265/226/347/272/247/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -134
  79. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -92
  80. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/347/254/254/344/270/200/344/272/272/347/247/260/345/244/215/346/265/213/346/212/245/345/221/212.md +0 -125
  81. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-ssh/345/267/245/345/205/267assisted-pty/344/274/232/350/257/235framing/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -207
  82. package/node_modules/better-dsh/docs/50_test-reports/2026-09-24-v0.1.7-rc.1/345/257/271/351/275/220/350/275/256-compaction/344/270/216failover/350/256/276/347/275/256/351/235/242/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -65
  83. package/node_modules/better-dsh/docs/50_test-reports/2026-09-27-lsp-ast-reminder-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -53
  84. package/node_modules/better-dsh/docs/50_test-reports/2026-09-28-ctx-scheme/351/225/277/344/274/232/350/257/235utility/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -155
  85. package/node_modules/better-dsh/docs/50_test-reports/2026-10-01-v0.2.4d-web-password-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -105
  86. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-better-dsh-schemastery/344/276/235/350/265/226/345/243/260/346/230/216/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -62
  87. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-ctx-navigation/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -137
  88. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-v0.2.0-rc.2/345/257/271/351/275/220/350/275/256/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -38
  89. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-ast-engine-deomp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -325
  90. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-better-dsh-tool-surface-repl-dvc-browser-ast-lsp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -185
  91. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-docs-packaging-trim/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
  92. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-physical-import/344/270/216llm-completion-ast/347/233/270/345/257/271/350/267/257/345/276/204/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -101
  93. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-pnpm11/345/271/264/351/276/204/351/227/250/351/224/201/346/226/207/344/273/266/347/233/270/344/275/215/345/256/236/350/257/201.md +0 -54
  94. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-remote-BYO-PTY-label/351/207/215/346/236/204/347/254/254/344/270/200/344/272/272/347/247/260/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -447
  95. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-schemastery-cosmokit/346/272/220/347/240/201/345/206/205/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
  96. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-zero-npm-runtime-deps/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
  97. package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast-engine-deomp-0.2.5-d/345/217/221/345/270/203/351/252/214/346/224/266/346/212/245/345/221/212.md +0 -220
  98. package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast_grep/344/270/216ast_edit/345/245/221/347/272/246/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -151
  99. package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +0 -63
  100. package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +0 -52
  101. package/node_modules/better-dsh/docs/50_test-reports/REPL-/345/267/245/345/205/267/350/260/203/347/224/250-/346/210/252/346/226/255/350/257/212/346/226/255.md +0 -110
  102. package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +0 -44
  103. package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +0 -87
  104. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +0 -81
  105. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +0 -93
  106. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +0 -44
  107. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +0 -110
  108. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +0 -79
  109. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-improved-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -142
  110. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -193
  111. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -96
  112. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -127
  113. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -150
  114. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8e-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -224
  115. package/node_modules/better-dsh/docs/50_test-reports/v0.1.9a-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -168
  116. package/node_modules/better-dsh/docs/50_test-reports/v0.2.0b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -123
  117. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -110
  118. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -86
  119. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -66
  120. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -67
  121. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1e-P1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -136
  122. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +0 -73
  123. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1f-plugin-shipped-ui-patches/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -102
  124. package/node_modules/better-dsh/docs/50_test-reports/v0.2.3b-hashline-content-locator/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -73
  125. package/node_modules/better-dsh/docs/50_test-reports/v0.2.3c-mobile-wave/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -47
  126. package/node_modules/better-dsh/docs/50_test-reports/v0.2.4-ios-focus-zoom-suppression/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -158
  127. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +0 -147
  128. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +0 -123
  129. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +0 -127
  130. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +0 -120
  131. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +0 -129
  132. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +0 -115
  133. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +0 -109
  134. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +0 -97
  135. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +0 -111
  136. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +0 -106
  137. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +0 -97
  138. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +0 -121
  139. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +0 -109
  140. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +0 -106
  141. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +0 -111
  142. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +0 -106
  143. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +0 -132
  144. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +0 -128
  145. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +0 -142
  146. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +0 -149
  147. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +0 -87
  148. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +0 -82
  149. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +0 -86
  150. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +0 -67
  151. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +0 -57
  152. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +0 -88
  153. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +0 -75
  154. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +0 -84
  155. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +0 -86
  156. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +0 -164
  157. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +0 -164
  158. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +0 -150
  159. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +0 -154
  160. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +0 -543
  161. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +0 -545
  162. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +0 -3473
  163. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +0 -3474
  164. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +0 -117
  165. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +0 -119
  166. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +0 -197
  167. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.zh.md +0 -197
  168. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +0 -102
  169. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.zh.md +0 -102
  170. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +0 -101
  171. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +0 -103
  172. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +0 -59
  173. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  174. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +0 -43
  175. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  176. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +0 -132
  177. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +0 -136
  178. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +0 -64
  179. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  180. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  181. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  182. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +0 -364
  183. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +0 -366
  184. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +0 -207
  185. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +0 -209
  186. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +0 -375
  187. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +0 -377
  188. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +0 -39
  189. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +0 -152
  190. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +0 -154
  191. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +0 -102
  192. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +0 -104
  193. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +0 -45
  194. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +0 -51
  195. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +0 -95
  196. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  197. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  198. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  199. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +0 -98
  200. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +0 -98
  201. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +0 -144
  202. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +0 -144
  203. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +0 -84
  204. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +0 -84
  205. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  206. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  207. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.md +0 -108
  208. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  209. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +0 -60
  210. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +0 -62
  211. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +0 -163
  212. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
  213. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +0 -33
  214. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +0 -35
  215. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +0 -167
  216. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +0 -173
  217. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +0 -86
  218. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +0 -88
  219. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +0 -45
  220. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +0 -45
  221. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +0 -22
  222. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +0 -24
  223. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +0 -60
  224. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +0 -62
  225. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +0 -87
  226. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +0 -214
  227. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +0 -263
  228. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +0 -69
  229. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +0 -69
  230. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +0 -1411
  231. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +0 -1413
  232. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +0 -1075
  233. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +0 -1077
  234. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  235. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  236. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  237. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  238. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  239. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  240. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  241. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  242. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +0 -18
  243. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +0 -18
  244. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +0 -53
  245. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +0 -53
  246. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +0 -61
  247. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +0 -61
  248. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +0 -207
  249. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +0 -207
  250. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +0 -170
  251. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +0 -170
  252. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +0 -351
  253. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +0 -351
  254. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +0 -168
  255. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +0 -168
  256. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +0 -195
  257. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +0 -195
  258. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +0 -219
  259. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +0 -219
  260. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +0 -238
  261. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +0 -238
  262. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +0 -258
  263. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +0 -258
  264. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +0 -1209
  265. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +0 -1219
  266. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +0 -329
  267. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +0 -329
  268. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +0 -382
  269. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +0 -382
  270. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +0 -266
  271. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +0 -266
  272. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +0 -505
  273. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +0 -505
  274. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +0 -277
  275. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +0 -277
  276. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +0 -88
  277. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +0 -88
  278. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +0 -290
  279. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +0 -290
  280. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +0 -1080
  281. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +0 -1086
  282. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +0 -202
  283. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +0 -202
  284. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +0 -131
  285. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +0 -131
  286. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +0 -395
  287. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +0 -395
  288. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +0 -87
  289. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +0 -87
  290. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +0 -220
  291. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +0 -220
  292. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +0 -192
  293. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +0 -192
  294. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +0 -59
  295. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +0 -59
  296. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +0 -354
  297. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +0 -354
  298. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +0 -509
  299. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +0 -509
  300. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +0 -219
  301. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +0 -219
  302. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +0 -194
  303. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +0 -194
  304. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +0 -204
  305. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +0 -204
  306. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +0 -1155
  307. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +0 -1159
  308. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +0 -405
  309. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +0 -405
  310. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +0 -303
  311. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +0 -303
  312. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +0 -354
  313. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +0 -354
  314. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +0 -175
  315. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +0 -175
  316. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +0 -117
  317. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +0 -117
  318. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +0 -260
  319. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +0 -260
  320. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +0 -766
  321. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +0 -770
  322. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +0 -324
  323. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +0 -324
  324. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +0 -220
  325. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +0 -220
  326. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +0 -184
  327. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +0 -184
  328. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +0 -32
  329. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +0 -32
  330. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +0 -105
  331. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +0 -105
  332. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +0 -720
  333. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +0 -720
  334. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +0 -343
  335. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +0 -343
  336. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +0 -178
  337. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +0 -178
  338. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +0 -95
  339. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +0 -95
  340. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +0 -154
  341. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +0 -154
  342. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +0 -206
  343. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +0 -206
  344. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +0 -70
  345. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +0 -70
  346. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +0 -278
  347. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +0 -278
  348. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +0 -321
  349. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +0 -321
  350. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +0 -54
  351. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +0 -54
  352. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +0 -2225
  353. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +0 -2233
  354. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +0 -62
  355. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +0 -64
  356. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +0 -106
  357. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +0 -106
  358. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +0 -144
  359. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +0 -144
  360. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +0 -183
  361. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +0 -183
  362. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +0 -52
  363. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +0 -52
  364. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +0 -143
  365. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +0 -143
  366. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +0 -137
  367. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +0 -137
  368. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +0 -148
  369. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +0 -150
  370. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +0 -15
  371. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  372. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +0 -155
  373. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +0 -155
  374. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +0 -189
  375. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.zh.md +0 -189
  376. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +0 -102
  377. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +0 -102
  378. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +0 -30
  379. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +0 -30
  380. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +0 -101
  381. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +0 -101
  382. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +0 -85
  383. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +0 -85
  384. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +0 -190
  385. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +0 -190
  386. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +0 -150
  387. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +0 -150
  388. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +0 -21
  389. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +0 -21
  390. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +0 -11
  391. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +0 -11
  392. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +0 -29
  393. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +0 -29
  394. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +0 -234
  395. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +0 -232
  396. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +0 -63
  397. package/node_modules/better-dsh/docs/dev-test-environment-notes.md +0 -137
  398. package/node_modules/better-dsh/docs/distro-blueprint.md +0 -81
  399. package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
  400. package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +0 -102
  401. package/node_modules/better-dsh/docs/specs/agent/spec.md +0 -54
  402. package/node_modules/better-dsh/docs/specs/ast/spec.md +0 -57
  403. package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +0 -170
  404. package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +0 -51
  405. package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +0 -46
  406. package/node_modules/better-dsh/docs/specs/ctx/spec.md +0 -179
  407. package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +0 -110
  408. package/node_modules/better-dsh/docs/specs/dsh/spec.md +0 -47
  409. package/node_modules/better-dsh/docs/specs/dvc/spec.md +0 -106
  410. package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +0 -44
  411. package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +0 -37
  412. package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +0 -41
  413. package/node_modules/better-dsh/docs/specs/http-read/spec.md +0 -73
  414. package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +0 -53
  415. package/node_modules/better-dsh/docs/specs/lsp/spec.md +0 -121
  416. package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +0 -108
  417. package/node_modules/better-dsh/docs/specs/model-failover/spec.md +0 -20
  418. package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +0 -168
  419. package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +0 -79
  420. package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +0 -22
  421. package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +0 -126
  422. package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +0 -21
  423. package/node_modules/better-dsh/docs/specs/skill/spec.md +0 -58
  424. package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +0 -222
  425. package/node_modules/better-dsh/docs/specs/url-schema/spec.md +0 -148
  426. package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +0 -43
  427. package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +0 -13
  428. package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +0 -85
  429. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +0 -319
  430. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +0 -1214
  431. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +0 -181
  432. package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +0 -209
  433. package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +0 -156
  434. package/node_modules/better-dsh/dsh-docs/AGENTS.md +0 -75
  435. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +0 -84
  436. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +0 -86
  437. package/node_modules/better-dsh/dsh-docs/api-gateway.md +0 -164
  438. package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +0 -164
  439. package/node_modules/better-dsh/dsh-docs/architecture.md +0 -150
  440. package/node_modules/better-dsh/dsh-docs/architecture.zh.md +0 -154
  441. package/node_modules/better-dsh/dsh-docs/capability-seams.md +0 -543
  442. package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +0 -545
  443. package/node_modules/better-dsh/dsh-docs/config-catalog.md +0 -3473
  444. package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +0 -3474
  445. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +0 -117
  446. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +0 -119
  447. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +0 -197
  448. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +0 -197
  449. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +0 -109
  450. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +0 -109
  451. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +0 -102
  452. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +0 -102
  453. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +0 -101
  454. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +0 -103
  455. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +0 -59
  456. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  457. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +0 -43
  458. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  459. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +0 -132
  460. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +0 -136
  461. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +0 -64
  462. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  463. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  464. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  465. package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +0 -364
  466. package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +0 -366
  467. package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +0 -207
  468. package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +0 -209
  469. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +0 -375
  470. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +0 -377
  471. package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +0 -39
  472. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +0 -152
  473. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +0 -154
  474. package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +0 -102
  475. package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +0 -104
  476. package/node_modules/better-dsh/dsh-docs/cordis-primer.md +0 -45
  477. package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +0 -51
  478. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +0 -95
  479. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  480. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  481. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  482. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +0 -98
  483. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +0 -98
  484. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +0 -144
  485. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +0 -144
  486. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +0 -84
  487. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +0 -84
  488. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  489. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  490. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +0 -108
  491. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  492. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +0 -60
  493. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +0 -62
  494. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +0 -163
  495. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
  496. package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +0 -33
  497. package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +0 -35
  498. package/node_modules/better-dsh/dsh-docs/development.md +0 -167
  499. package/node_modules/better-dsh/dsh-docs/development.zh.md +0 -173
  500. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +0 -86
  501. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +0 -88
  502. package/node_modules/better-dsh/dsh-docs/glossary.md +0 -45
  503. package/node_modules/better-dsh/dsh-docs/glossary.zh.md +0 -45
  504. package/node_modules/better-dsh/dsh-docs/graph-atlas.md +0 -22
  505. package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +0 -24
  506. package/node_modules/better-dsh/dsh-docs/i18n/README.md +0 -60
  507. package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +0 -62
  508. package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +0 -87
  509. package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +0 -214
  510. package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +0 -263
  511. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +0 -69
  512. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +0 -69
  513. package/node_modules/better-dsh/dsh-docs/module-graph.md +0 -1411
  514. package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +0 -1413
  515. package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +0 -1075
  516. package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +0 -1077
  517. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  518. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  519. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  520. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  521. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  522. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  523. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  524. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  525. package/node_modules/better-dsh/dsh-docs/postmortem/README.md +0 -18
  526. package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +0 -18
  527. package/node_modules/better-dsh/dsh-docs/rescope.md +0 -53
  528. package/node_modules/better-dsh/dsh-docs/rescope.zh.md +0 -53
  529. package/node_modules/better-dsh/dsh-docs/session-format-status.md +0 -47
  530. package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +0 -47
  531. package/node_modules/better-dsh/dsh-docs/subsystems/README.md +0 -61
  532. package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +0 -61
  533. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +0 -207
  534. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +0 -207
  535. package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +0 -170
  536. package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +0 -170
  537. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +0 -351
  538. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +0 -351
  539. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +0 -168
  540. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +0 -168
  541. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +0 -91
  542. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +0 -91
  543. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +0 -195
  544. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +0 -195
  545. package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +0 -219
  546. package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +0 -219
  547. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +0 -238
  548. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +0 -238
  549. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +0 -258
  550. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +0 -258
  551. package/node_modules/better-dsh/dsh-docs/subsystems/core.md +0 -1209
  552. package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +0 -1219
  553. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +0 -329
  554. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +0 -329
  555. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +0 -382
  556. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +0 -382
  557. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +0 -266
  558. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +0 -266
  559. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +0 -505
  560. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +0 -505
  561. package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +0 -277
  562. package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +0 -277
  563. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +0 -88
  564. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +0 -88
  565. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +0 -290
  566. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +0 -290
  567. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +0 -1080
  568. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +0 -1086
  569. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +0 -202
  570. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +0 -202
  571. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +0 -131
  572. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +0 -131
  573. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +0 -395
  574. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +0 -395
  575. package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +0 -87
  576. package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +0 -87
  577. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +0 -220
  578. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +0 -220
  579. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +0 -192
  580. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +0 -192
  581. package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +0 -59
  582. package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +0 -59
  583. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +0 -354
  584. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +0 -354
  585. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +0 -509
  586. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +0 -509
  587. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +0 -219
  588. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +0 -219
  589. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +0 -194
  590. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +0 -194
  591. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +0 -204
  592. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +0 -204
  593. package/node_modules/better-dsh/dsh-docs/subsystems/session.md +0 -1155
  594. package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +0 -1159
  595. package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +0 -405
  596. package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +0 -405
  597. package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +0 -303
  598. package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +0 -303
  599. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +0 -148
  600. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +0 -148
  601. package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +0 -354
  602. package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +0 -354
  603. package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +0 -175
  604. package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +0 -175
  605. package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +0 -117
  606. package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +0 -117
  607. package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +0 -260
  608. package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +0 -260
  609. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +0 -766
  610. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +0 -770
  611. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +0 -324
  612. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +0 -324
  613. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +0 -220
  614. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +0 -220
  615. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +0 -184
  616. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +0 -184
  617. package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +0 -32
  618. package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +0 -32
  619. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +0 -105
  620. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +0 -105
  621. package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +0 -720
  622. package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +0 -720
  623. package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +0 -343
  624. package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +0 -343
  625. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +0 -178
  626. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +0 -178
  627. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +0 -95
  628. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +0 -95
  629. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +0 -154
  630. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +0 -154
  631. package/node_modules/better-dsh/dsh-docs/subsystems/web.md +0 -206
  632. package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +0 -206
  633. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +0 -70
  634. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +0 -70
  635. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +0 -278
  636. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +0 -278
  637. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +0 -321
  638. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +0 -321
  639. package/node_modules/better-dsh/dsh-docs/testing.md +0 -54
  640. package/node_modules/better-dsh/dsh-docs/testing.zh.md +0 -54
  641. package/node_modules/better-dsh/dsh-docs/tool-catalog.md +0 -2225
  642. package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +0 -2233
  643. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +0 -62
  644. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +0 -64
  645. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +0 -106
  646. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +0 -106
  647. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +0 -144
  648. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +0 -144
  649. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +0 -183
  650. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +0 -183
  651. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +0 -52
  652. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +0 -52
  653. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +0 -143
  654. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +0 -143
  655. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +0 -137
  656. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +0 -137
  657. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +0 -148
  658. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +0 -150
  659. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +0 -15
  660. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  661. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +0 -155
  662. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +0 -155
  663. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +0 -189
  664. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +0 -189
  665. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +0 -102
  666. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +0 -102
  667. package/node_modules/better-dsh/dsh-docs/user/guide/index.md +0 -30
  668. package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +0 -30
  669. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +0 -101
  670. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +0 -101
  671. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +0 -85
  672. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +0 -85
  673. package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +0 -190
  674. package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +0 -190
  675. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +0 -150
  676. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +0 -150
  677. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +0 -21
  678. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +0 -21
  679. package/node_modules/better-dsh/dsh-docs/user/index.md +0 -11
  680. package/node_modules/better-dsh/dsh-docs/user/index.zh.md +0 -11
  681. package/node_modules/better-dsh/dsh-docs/web-styling.md +0 -29
  682. package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +0 -29
  683. package/node_modules/better-dsh/eval-description.md +0 -33
  684. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +0 -4
  685. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +0 -39
  686. package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +0 -4
  687. package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +0 -17
  688. package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +0 -4
  689. package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +0 -3634
  690. package/node_modules/better-dsh/lib/ast-assets/ast-grep.wasm +0 -0
  691. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  692. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-c.wasm +0 -0
  693. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  694. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-css.wasm +0 -0
  695. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-go.wasm +0 -0
  696. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-html.wasm +0 -0
  697. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  698. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-json.wasm +0 -0
  699. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-python.wasm +0 -0
  700. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  701. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  702. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  703. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  704. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  705. package/node_modules/better-dsh/lib/ast-assets/tree-sitter.wasm +0 -0
  706. package/node_modules/better-dsh/lib/bidi-BalpKaJc.js +0 -16106
  707. package/node_modules/better-dsh/lib/bundle-delivery.d.ts +0 -20
  708. package/node_modules/better-dsh/lib/bundle-delivery.js +0 -209
  709. package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +0 -30
  710. package/node_modules/better-dsh/lib/client/index.js +0 -712
  711. package/node_modules/better-dsh/lib/compaction/index.d.ts +0 -57
  712. package/node_modules/better-dsh/lib/compaction/index.js +0 -145
  713. package/node_modules/better-dsh/lib/failover/index.d.ts +0 -59
  714. package/node_modules/better-dsh/lib/failover/index.js +0 -147
  715. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +0 -71
  716. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +0 -249
  717. package/node_modules/better-dsh/lib/hmr.d.ts +0 -32
  718. package/node_modules/better-dsh/lib/hmr.js +0 -49
  719. package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +0 -208
  720. package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +0 -21061
  721. package/node_modules/better-dsh/lib/index.d.ts +0 -705
  722. package/node_modules/better-dsh/lib/index.js +0 -3816
  723. package/node_modules/better-dsh/lib/kernel-bridge.py +0 -172
  724. package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +0 -195
  725. package/node_modules/better-dsh/lib/kernel-env.d.ts +0 -80
  726. package/node_modules/better-dsh/lib/kernel-env.js +0 -3
  727. package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +0 -894
  728. package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +0 -3
  729. package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +0 -972
  730. package/node_modules/better-dsh/lib/main-BQeFrBM1.js +0 -3
  731. package/node_modules/better-dsh/lib/main-CupOhMp5.js +0 -1432
  732. package/node_modules/better-dsh/lib/mobile/plugin.d.ts +0 -29
  733. package/node_modules/better-dsh/lib/mobile/plugin.js +0 -54
  734. package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +0 -68
  735. package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +0 -1136
  736. package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +0 -178
  737. package/node_modules/better-dsh/lib/py-sdk.d.ts +0 -19
  738. package/node_modules/better-dsh/lib/py-sdk.js +0 -3
  739. package/node_modules/better-dsh/lib/remote/plugin.d.ts +0 -24
  740. package/node_modules/better-dsh/lib/remote/plugin.js +0 -1190
  741. package/node_modules/better-dsh/lib/url-schemes/index.d.ts +0 -88
  742. package/node_modules/better-dsh/lib/url-schemes/index.js +0 -12229
  743. package/node_modules/better-dsh/lib/util-BHL_dfV_.js +0 -2953
  744. package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +0 -1291
  745. package/node_modules/better-dsh/lib/web-password.d.ts +0 -156
  746. package/node_modules/better-dsh/lib/web-password.js +0 -562
  747. package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +0 -3440
  748. package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +0 -393
  749. package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +0 -113
  750. package/node_modules/better-dsh/lib/web-trust.d.ts +0 -3
  751. package/node_modules/better-dsh/lib/web-trust.js +0 -4
  752. package/node_modules/better-dsh/lib/webserver.d.ts +0 -10
  753. package/node_modules/better-dsh/lib/webserver.js +0 -19
  754. package/node_modules/better-dsh/lib/welcome-notice.d.ts +0 -18
  755. package/node_modules/better-dsh/lib/welcome-notice.js +0 -59
  756. package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +0 -750
  757. package/node_modules/better-dsh/package.json +0 -430
  758. package/node_modules/better-dsh/scripts/kernel-provision.mjs +0 -35
  759. package/node_modules/better-dsh/scripts/register-bundle.mjs +0 -80
  760. package/node_modules/better-dsh/url-schemes-instruction.md +0 -22
@@ -1,98 +0,0 @@
1
- # 2. Lifecycle and effects
2
-
3
- English | [中文](02-lifecycle-and-effects.zh.md)
4
-
5
- A Cordis plugin can be unloaded by a config edit, hot reload, explicit disposal, or loss of a required service. Registrations made through Cordis APIs are effects and are undone when their owning plugin unloads; resources managed outside those APIs must be wrapped in `ctx.effect()`.
6
-
7
- ## Effects
8
-
9
- For a resource Cordis does not already manage — a timer, a connection, a watcher — wrap it in `ctx.effect()` and return a disposer:
10
-
11
- Create `lifecycle.ts` in `tmp/cordis-tutorial`:
12
-
13
- ```ts
14
- import type { Context } from '@deepseek-ai/cordis'
15
-
16
- export const name = 'lifecycle-demo'
17
-
18
- function heartbeat(ctx: Context) {
19
- console.log('heartbeat plugin loading')
20
- ctx.effect(() => {
21
- const timer = setInterval(() => console.log('tick'), 200)
22
- return () => {
23
- clearInterval(timer)
24
- console.log('heartbeat cleaned up')
25
- }
26
- })
27
- }
28
-
29
- export function apply(ctx: Context) {
30
- // Mount a child plugin and keep its fiber to dispose it later.
31
- const fiber = ctx.plugin(heartbeat)
32
- // The demo timer is itself an effect: if THIS plugin is unloaded first,
33
- // the pending callback is cancelled instead of firing on a dead app.
34
- ctx.effect(() => {
35
- const timer = setTimeout(async () => {
36
- await fiber.dispose()
37
- console.log('disposed')
38
- process.exit(0)
39
- }, 700)
40
- return () => clearTimeout(timer)
41
- })
42
- }
43
- ```
44
-
45
- Point `cordis.yml` at it:
46
-
47
- ```yaml
48
- - name: './lifecycle.ts'
49
- ```
50
-
51
- Run (`node --import tsx ../../vendor/cordis/bin.js`) and you get:
52
-
53
- ```
54
- heartbeat plugin loading
55
- tick
56
- tick
57
- tick
58
- heartbeat cleaned up
59
- disposed
60
- ```
61
-
62
- Three things to notice:
63
-
64
- - `ctx.plugin(heartbeat)` mounts a function **from code** as a plugin — the same operation the YAML loader performs for each config entry. A function plugin needs no `apply` method: Cordis calls the function directly and uses its name only for diagnostics. An `apply` method is required only for the object form, `ctx.plugin({ apply(ctx) { /* ... */ } })`. The call returns a **fiber**, the runtime handle for one loaded plugin instance.
65
- - The effect body runs during load; the disposer it returns runs during unload. You never call the disposer yourself for a plugin-lifetime resource.
66
- - `fiber.dispose()` resolves after all of the plugin's cleanup — including async disposers — has finished, and recursively unloads any child plugins it mounted.
67
-
68
- ## The fiber state machine
69
-
70
- Every loaded plugin instance owns a fiber that moves through these states:
71
-
72
- ```
73
- PENDING → LOADING → ACTIVE → UNLOADING → DISPOSED
74
- ↘ FAILED
75
- ```
76
-
77
- - **PENDING** — declared, but a required service (chapter 3) is not available yet.
78
- - **LOADING / ACTIVE** — `apply` is running / has completed.
79
- - **FAILED** — `apply` or config validation threw.
80
- - **UNLOADING / DISPOSED** — disposers are running / everything is torn down.
81
-
82
- You will meet PENDING again in [chapter 6](06-composition-and-hmr.md), where it is the usual answer to "why does my plugin print nothing?".
83
-
84
- ## What is already an effect
85
-
86
- You rarely write `ctx.effect()` yourself, because the built-in registration APIs are effects already:
87
-
88
- - `ctx.on(event, listener)` — the listener is removed on unload ([chapter 4](04-events.md)).
89
- - `ctx.plugin(child)` — the child is disposed with its parent.
90
- - Service registrations are effects. Harness registries such as `ctx.tools.register(...)` also attach their returned disposers to the calling plugin, so they unwind automatically ([chapter 7](07-into-the-harness.md)).
91
-
92
- For a resource Cordis does not manage, acquire it inside `ctx.effect()` and return a disposer that releases it. Cordis then invokes that release during unloading, including hot reload.
93
-
94
- One ordering caveat: disposers start in reverse registration order, but multiple **async** disposers run concurrently. If teardown steps must run in sequence, keep them in one disposer and await them there.
95
-
96
- Next: [Services](03-services.md) — how plugins share capabilities.
97
-
98
- [![](https://img.shields.io/badge/powered_by-dsh-4D6BFE?style=flat-square&logo=deepseek&logoColor=white)](https://github.com/deepseek-ai/deepseek-harness)
@@ -1,98 +0,0 @@
1
- # 2. 生命周期与 effect
2
-
3
- [English](02-lifecycle-and-effects.md) | 中文
4
-
5
- Cordis 插件可能因修改配置、热重载、显式资源释放或所需服务消失而卸载。通过 Cordis API 建立的注册属于 effect,会在所属插件卸载时撤销;在这些 API 之外管理的资源必须包装在 `ctx.effect()` 中。
6
-
7
- ## Effect
8
-
9
- 对于 Cordis 尚未管理的资源,例如定时器、连接或 watcher,应将其包装在 `ctx.effect()` 中并返回 disposer(资源释放函数):
10
-
11
- 创建 `lifecycle.ts`,将它放在 `tmp/cordis-tutorial` 中:
12
-
13
- ```ts
14
- import type { Context } from '@deepseek-ai/cordis'
15
-
16
- export const name = 'lifecycle-demo'
17
-
18
- function heartbeat(ctx: Context) {
19
- console.log('heartbeat plugin loading')
20
- ctx.effect(() => {
21
- const timer = setInterval(() => console.log('tick'), 200)
22
- return () => {
23
- clearInterval(timer)
24
- console.log('heartbeat cleaned up')
25
- }
26
- })
27
- }
28
-
29
- export function apply(ctx: Context) {
30
- // Mount a child plugin and keep its fiber to dispose it later.
31
- const fiber = ctx.plugin(heartbeat)
32
- // The demo timer is itself an effect: if THIS plugin is unloaded first,
33
- // the pending callback is cancelled instead of firing on a dead app.
34
- ctx.effect(() => {
35
- const timer = setTimeout(async () => {
36
- await fiber.dispose()
37
- console.log('disposed')
38
- process.exit(0)
39
- }, 700)
40
- return () => clearTimeout(timer)
41
- })
42
- }
43
- ```
44
-
45
- 让 `cordis.yml` 指向该文件:
46
-
47
- ```yaml
48
- - name: './lifecycle.ts'
49
- ```
50
-
51
- 运行(`node --import tsx ../../vendor/cordis/bin.js`)后会得到:
52
-
53
- ```
54
- heartbeat plugin loading
55
- tick
56
- tick
57
- tick
58
- heartbeat cleaned up
59
- disposed
60
- ```
61
-
62
- 请留意三点:
63
-
64
- - `ctx.plugin(heartbeat)` 会把一个**来自代码**的函数挂载为插件,这与 YAML loader 为每个配置项执行的操作相同。函数插件不需要 `apply` 方法:Cordis 会直接调用该函数,其名称只用于诊断。只有对象形态才要求 `apply` 方法,例如 `ctx.plugin({ apply(ctx) { /* ... */ } })`。调用会返回一个 **fiber**,即一个已加载插件实例的运行时句柄。
65
- - effect 主体在加载期间运行;它返回的 disposer 在卸载期间运行。对于生命周期与插件一致的资源,你绝不需要自行调用 disposer。
66
- - `fiber.dispose()` 会等该插件的所有清理工作(包括异步 disposer)完成后才结束,并递归卸载它挂载的所有子插件。
67
-
68
- ## Fiber 状态机
69
-
70
- 每个已加载插件实例都拥有一个 fiber,并在以下状态之间转换:
71
-
72
- ```
73
- PENDING → LOADING → ACTIVE → UNLOADING → DISPOSED
74
- ↘ FAILED
75
- ```
76
-
77
- - **PENDING**:已经声明,但所需服务(第 3 章)尚不可用。
78
- - **LOADING / ACTIVE**:`apply` 正在运行/已经完成。
79
- - **FAILED**:`apply` 或配置校验抛出异常。
80
- - **UNLOADING / DISPOSED**:disposer 正在运行/一切均已拆除。
81
-
82
- 你会在[第 6 章](06-composition-and-hmr.zh.md)再次遇到 PENDING,它通常就是「为什么我的插件没有输出」的答案。
83
-
84
- ## 已经属于 effect 的操作
85
-
86
- 你很少需要亲自编写 `ctx.effect()`,因为内置注册 API 本身已经是 effect:
87
-
88
- - `ctx.on(event, listener)`:监听器会在卸载时移除([第 4 章](04-events.zh.md))。
89
- - `ctx.plugin(child)`:子插件会随父插件一同 dispose(资源释放)。
90
- - 服务注册属于 effect。`ctx.tools.register(...)` 等 harness 注册表也会把返回的 disposer 附着到调用插件上,因此会自动撤销([第 7 章](07-into-the-harness.zh.md))。
91
-
92
- 对于 Cordis 不管理的资源,应在 `ctx.effect()` 内获取它,并返回用于释放资源的 disposer。此后 Cordis 会在卸载期间调用该释放逻辑,热重载时也不例外。
93
-
94
- 有一项顺序注意事项:disposer 会按注册顺序的逆序启动,但多个**异步** disposer 会并发运行。如果拆除步骤必须按顺序执行,请把它们放在同一个 disposer 中,并在其中依次等待每步完成。
95
-
96
- 下一章:[服务](03-services.zh.md):插件如何共享功能。
97
-
98
- [![](https://img.shields.io/badge/powered_by-dsh-4D6BFE?style=flat-square&logo=deepseek&logoColor=white)](https://github.com/deepseek-ai/deepseek-harness)
@@ -1,98 +0,0 @@
1
- # 3. Services
2
-
3
- English | [中文](03-services.zh.md)
4
-
5
- A **service** is a named capability one plugin provides and other plugins consume through `ctx`. In the harness, `ctx.tools`, `ctx.llm`, and `ctx.agents` are services. A consumer names the capability, such as `'tools'`, rather than importing its provider, so configuration can select a provider without changing the consumer.
6
-
7
- ## Provide a service
8
-
9
- Create `greeter.ts` in `tmp/cordis-tutorial`:
10
-
11
- ```ts
12
- import { Service, type Context } from '@deepseek-ai/cordis'
13
-
14
- declare module '@deepseek-ai/cordis' {
15
- interface Context {
16
- greeter: GreeterService
17
- }
18
- }
19
-
20
- export class GreeterService extends Service {
21
- constructor(ctx: Context) {
22
- super(ctx, 'greeter')
23
- }
24
-
25
- greet(who: string) {
26
- return `Hello, ${who}!`
27
- }
28
- }
29
-
30
- export const name = 'greeter'
31
-
32
- export function apply(ctx: Context) {
33
- ctx.plugin(GreeterService)
34
- }
35
- ```
36
-
37
- Two pieces work together:
38
-
39
- - **Runtime**: `super(ctx, 'greeter')` registers the instance under the name `greeter`. From then on, any plugin can reach it as `ctx.greeter`. The registration is an effect — unloading the provider removes the service.
40
- - **Compile time**: the `declare module '@deepseek-ai/cordis'` block is TypeScript declaration merging. It adds `greeter` to the `Context` interface so `ctx.greeter` typechecks everywhere. It generates no code; without it the service still works at runtime, but consumers lose type safety.
41
-
42
- A `Service` subclass is itself a plugin (the class form from chapter 1), so `ctx.plugin(GreeterService)` mounts it like any other.
43
-
44
- ## Consume a service with `inject`
45
-
46
- Create `consumer.ts`:
47
-
48
- ```ts
49
- import type { Context } from '@deepseek-ai/cordis'
50
-
51
- export const name = 'consumer'
52
- export const inject = ['greeter']
53
-
54
- export function apply(ctx: Context) {
55
- console.log(ctx.greeter.greet('world'))
56
- }
57
- ```
58
-
59
- `inject` lists the services this plugin requires. Cordis holds the plugin in PENDING until every listed service exists, so inside `apply`, `ctx.greeter` is guaranteed ready. Load order in `cordis.yml` does not matter — dependencies, not file order, decide when plugins start.
60
-
61
- Compose and run:
62
-
63
- ```yaml
64
- - name: './greeter.ts'
65
- - name: './consumer.ts'
66
- ```
67
-
68
- ```
69
- Hello, world!
70
- ```
71
-
72
- Swap the two lines in `cordis.yml` and rerun: same output. Try removing `./greeter.ts` entirely: the consumer stays PENDING and prints nothing — no crash, no partial run. A PENDING fiber does not keep Node's event loop alive either, so a composition with nothing else running exits 0 silently. [Chapter 6](06-composition-and-hmr.md) shows how to diagnose that state.
73
-
74
- ## Dependencies are tracked after load
75
-
76
- `inject` is not a one-shot boot check. If a required service disappears while the app runs — its provider was unloaded or hot-replaced — every dependent plugin is unloaded too, and loads again when the service returns. Combined with effects ([chapter 2](02-lifecycle-and-effects.md)), this prevents a running consumer from retaining a reference to an unavailable service: its own registrations are unwound when the dependency disappears.
77
-
78
- This is also why service replacement works in config: unload the `dsh-bash-local` entry, mount a different `shell` provider, and every plugin injecting `'shell'` cleanly restarts against the new implementation.
79
-
80
- ## Optional dependencies
81
-
82
- `inject` is for hard requirements. For a capability the plugin can live without, skip `inject` and probe at the use site:
83
-
84
- ```ts ignore-check
85
- export function apply(ctx: Context) {
86
- // undefined when no provider is loaded; the plugin still runs.
87
- const greeter = ctx.get('greeter')
88
- console.log(greeter?.greet('maybe') ?? 'no greeter available')
89
- }
90
- ```
91
-
92
- ## Naming
93
-
94
- Service names live in one flat namespace per application. Prefix or namespace your own services distinctively (the harness claims plain names like `tools` and `llm`); the generated `cordis-surface` regions on the [subsystem pages](../subsystems/core.md) list every name the harness registers.
95
-
96
- Next: [Events](04-events.md) — communication without a shared service.
97
-
98
- [![](https://img.shields.io/badge/powered_by-dsh-4D6BFE?style=flat-square&logo=deepseek&logoColor=white)](https://github.com/deepseek-ai/deepseek-harness)
@@ -1,98 +0,0 @@
1
- # 3. 服务
2
-
3
- [English](03-services.md) | 中文
4
-
5
- **服务**是一个插件提供、其他插件通过 `ctx` 消费的具名能力。在 harness 中,`ctx.tools`、`ctx.llm` 和 `ctx.agents` 都是服务。消费方只指定 `'tools'` 之类的能力,而不导入其提供方,因此配置可以选择提供方,无需修改消费方。
6
-
7
- ## 提供服务
8
-
9
- 创建 `greeter.ts`,将它放在 `tmp/cordis-tutorial` 中:
10
-
11
- ```ts
12
- import { Service, type Context } from '@deepseek-ai/cordis'
13
-
14
- declare module '@deepseek-ai/cordis' {
15
- interface Context {
16
- greeter: GreeterService
17
- }
18
- }
19
-
20
- export class GreeterService extends Service {
21
- constructor(ctx: Context) {
22
- super(ctx, 'greeter')
23
- }
24
-
25
- greet(who: string) {
26
- return `Hello, ${who}!`
27
- }
28
- }
29
-
30
- export const name = 'greeter'
31
-
32
- export function apply(ctx: Context) {
33
- ctx.plugin(GreeterService)
34
- }
35
- ```
36
-
37
- 两部分协同工作:
38
-
39
- - **运行时**:`super(ctx, 'greeter')` 以名称 `greeter` 注册该实例。此后,任何插件都可以通过 `ctx.greeter` 访问它。注册属于 effect,卸载提供方时会移除该服务。
40
- - **编译时**:`declare module '@deepseek-ai/cordis'` 块使用 TypeScript 声明合并,把 `greeter` 加入 `Context` 接口,使 `ctx.greeter` 在各处都能通过类型检查。它不会生成代码;没有该声明时,服务在运行时仍能工作,但消费方会失去类型安全。
41
-
42
- `Service` 子类本身就是插件(第 1 章介绍的类形态),因此 `ctx.plugin(GreeterService)` 会像挂载其他插件一样挂载它。
43
-
44
- ## 使用 `inject` 消费服务
45
-
46
- 创建 `consumer.ts`:
47
-
48
- ```ts
49
- import type { Context } from '@deepseek-ai/cordis'
50
-
51
- export const name = 'consumer'
52
- export const inject = ['greeter']
53
-
54
- export function apply(ctx: Context) {
55
- console.log(ctx.greeter.greet('world'))
56
- }
57
- ```
58
-
59
- `inject` 列出该插件需要的服务。Cordis 会让插件保持 PENDING,直到列出的每项服务都存在,因此在 `apply` 内可以保证 `ctx.greeter` 已经就绪。`cordis.yml` 中的加载顺序无关紧要:决定插件何时启动的是依赖关系,而不是文件顺序。
60
-
61
- 组合并运行:
62
-
63
- ```yaml
64
- - name: './greeter.ts'
65
- - name: './consumer.ts'
66
- ```
67
-
68
- ```
69
- Hello, world!
70
- ```
71
-
72
- 交换 `cordis.yml` 中两行的顺序后重新运行,输出仍然相同。尝试彻底移除 `./greeter.ts`:消费方会保持 PENDING,不输出任何内容,既不崩溃,也不会只运行一部分。处于 PENDING 的 fiber 也不会让 Node 的事件循环保持活跃,因此如果组合中没有其他运行项,进程会静默地以状态码 0 退出。[第 6 章](06-composition-and-hmr.zh.md)介绍如何诊断这种状态。
73
-
74
- ## 加载后仍会跟踪依赖关系
75
-
76
- `inject` 并非一次性的启动检查。如果应用运行期间所需服务消失,例如提供方被卸载或热替换,每个依赖插件也会随之卸载,并在服务恢复后再次加载。结合 effect([第 2 章](02-lifecycle-and-effects.zh.md)),这能防止运行中的消费方保留对不可用服务的引用:依赖消失时,它自己的注册也会撤销。
77
-
78
- 这也是配置中可以替换服务的原因:卸载 Cordis 配置项 `dsh-bash-local`,挂载另一个 `shell` 提供方,所有注入 `'shell'` 的插件都会重新启动并使用新实现。
79
-
80
- ## 可选依赖
81
-
82
- `inject` 用于硬性依赖。如果某项功能缺失时插件仍可运行,请跳过 `inject`,并在使用处探测:
83
-
84
- ```ts ignore-check
85
- export function apply(ctx: Context) {
86
- // undefined when no provider is loaded; the plugin still runs.
87
- const greeter = ctx.get('greeter')
88
- console.log(greeter?.greet('maybe') ?? 'no greeter available')
89
- }
90
- ```
91
-
92
- ## 命名
93
-
94
- 每个应用中的服务名称共用一个扁平命名空间。请为自有服务添加有辨识度的前缀或命名空间(harness 已占用 `tools` 和 `llm` 等普通名称);[子系统页面](../subsystems/core.zh.md)上生成的 `cordis-surface` 区块列出 harness 注册的每个名称。
95
-
96
- 下一章:[事件](04-events.zh.md):无需共享服务即可通信。
97
-
98
- [![](https://img.shields.io/badge/powered_by-dsh-4D6BFE?style=flat-square&logo=deepseek&logoColor=white)](https://github.com/deepseek-ai/deepseek-harness)
@@ -1,144 +0,0 @@
1
- # 4. Events
2
-
3
- English | [中文](04-events.zh.md)
4
-
5
- Services support direct calls; **events** let a plugin announce something without knowing which plugins listen. The harness uses events for interactions such as tool results, model requests, and approval decisions.
6
-
7
- ## Declare, emit, listen
8
-
9
- Create `stats.ts` in `tmp/cordis-tutorial` — a service that counts things and announces each change:
10
-
11
- ```ts
12
- import { Service, type Context } from '@deepseek-ai/cordis'
13
-
14
- declare module '@deepseek-ai/cordis' {
15
- interface Context {
16
- stats: StatsService
17
- }
18
- interface Events {
19
- 'stats/report'(name: string, count: number): void
20
- }
21
- }
22
-
23
- export class StatsService extends Service {
24
- private counts = new Map<string, number>()
25
-
26
- constructor(ctx: Context) {
27
- super(ctx, 'stats')
28
- }
29
-
30
- bump(name: string) {
31
- const next = (this.counts.get(name) ?? 0) + 1
32
- this.counts.set(name, next)
33
- this.ctx.emit('stats/report', name, next)
34
- }
35
- }
36
-
37
- export const name = 'stats'
38
-
39
- export function apply(ctx: Context) {
40
- ctx.plugin(StatsService)
41
- }
42
- ```
43
-
44
- The `interface Events` merge is the event-system twin of the `interface Context` merge from chapter 3: it declares the event name and its listener signature, so `ctx.emit` and `ctx.on` are fully typed. The `namespace/action` naming convention keeps the flat event namespace readable.
45
-
46
- Create `reporter.ts`:
47
-
48
- ```ts ignore-check
49
- import type { Context } from '@deepseek-ai/cordis'
50
- import type {} from './stats.ts'
51
-
52
- export const name = 'reporter'
53
- export const inject = ['stats']
54
-
55
- export function apply(ctx: Context) {
56
- ctx.on('stats/report', (name, count) => {
57
- console.log(`[stats] ${name} -> ${count}`)
58
- })
59
- ctx.stats.bump('tool_call')
60
- ctx.stats.bump('tool_call')
61
- ctx.stats.bump('prompt')
62
- }
63
- ```
64
-
65
- The `import type {} from './stats.ts'` line imports nothing at runtime; it exists so TypeScript sees the declaration merges. Compose and run:
66
-
67
- ```yaml
68
- - name: './stats.ts'
69
- - name: './reporter.ts'
70
- ```
71
-
72
- ```
73
- [stats] tool_call -> 1
74
- [stats] tool_call -> 2
75
- [stats] prompt -> 1
76
- ```
77
-
78
- Because `ctx.on()` is an effect, the listener disappears with the plugin — no manual `removeListener` bookkeeping, ever.
79
-
80
- ## Dispatch modes
81
-
82
- `emit` is one of five dispatch modes. Which one an event uses is part of its contract — it decides whether listeners can return values, run concurrently, or short-circuit each other:
83
-
84
- | Mode | Call | Semantics |
85
- |---|---|---|
86
- | emit | `ctx.emit(name, ...args)` | Synchronous broadcast; returned promises and values are not awaited or collected. |
87
- | parallel | `await ctx.parallel(name, ...args)` | All listeners run concurrently; awaited together. |
88
- | serial | `await ctx.serial(name, ...args)` | Listeners run in order, awaited; the first non-`null`/`false`/`undefined` return wins and stops the rest. |
89
- | bail | `ctx.bail(name, ...args)` | Synchronous version of serial. |
90
- | waterfall | `ctx.waterfall(name, ...args, next)` | Around-middleware; see below. |
91
-
92
- Every harness event documents its mode in the generated reference on its owning [subsystem page](../subsystems/core.md).
93
-
94
- ## Waterfall: transform or short-circuit
95
-
96
- Waterfall is the mode that powers interception. Each listener receives the arguments plus a `next()` continuation; it can transform what `next()` returns, or return without calling `next()` and short-circuit the rest of the chain — what the Cordis docs call the veto. Create `waterfall-demo.ts`:
97
-
98
- ```ts
99
- import type { Context } from '@deepseek-ai/cordis'
100
-
101
- declare module '@deepseek-ai/cordis' {
102
- interface Events {
103
- 'demo/transform'(input: string, next: () => Promise<string>): Promise<string>
104
- }
105
- }
106
-
107
- export const name = 'waterfall-demo'
108
-
109
- export function apply(ctx: Context) {
110
- // Listener 1: wrap the downstream result.
111
- ctx.on('demo/transform', async (input, next) => {
112
- const downstream = await next()
113
- return downstream.toUpperCase()
114
- })
115
-
116
- // Listener 2: short-circuit when it owns the decision.
117
- ctx.on('demo/transform', async (input, next) => {
118
- if (input.includes('blocked')) return '** blocked **'
119
- return next()
120
- })
121
-
122
- void (async () => {
123
- console.log(await ctx.waterfall('demo/transform', 'hello', async () => 'hello'))
124
- console.log(await ctx.waterfall('demo/transform', 'blocked words', async () => 'blocked words'))
125
- })()
126
- }
127
- ```
128
-
129
- Point `cordis.yml` at just this file and run:
130
-
131
- ```
132
- HELLO
133
- ** BLOCKED **
134
- ```
135
-
136
- Walk through the second line: listener 1 runs first, calls `next()`, which invokes listener 2; listener 2 sees `blocked` and returns without calling `next()` — the innermost default (the function passed to `ctx.waterfall`) never runs — and listener 1 uppercases the replacement message on the way out.
137
-
138
- The discipline that follows: **a waterfall listener that only observes or annotates must call `next()`**; returning without it is a deliberate short-circuit. Forgetting `next()` in a logging listener silently swallows the default behavior for everyone downstream. It is a standing rule of this repository ([waterfall semantics](../cordis-primer.md#cordis-waterfall-semantics)).
139
-
140
- The harness uses waterfalls for decisions that cooperating plugins may wrap or answer: [`agent/request`](../subsystems/core.md#agentrequest--waterfall) lets a plugin replace the model-call config, and [`approval/request`](../subsystems/approval.md#approvalrequest--waterfall) lets a policy answer instead of the user.
141
-
142
- Next: [Configuration](05-config.md) — plugin options from `cordis.yml`.
143
-
144
- [![](https://img.shields.io/badge/powered_by-dsh-4D6BFE?style=flat-square&logo=deepseek&logoColor=white)](https://github.com/deepseek-ai/deepseek-harness)
@@ -1,144 +0,0 @@
1
- # 4. 事件
2
-
3
- [English](04-events.md) | 中文
4
-
5
- 服务支持直接调用;**事件**让插件无需知道有哪些插件正在监听,就能发出通知。harness 使用事件处理工具结果、模型请求和审批决定等交互。
6
-
7
- ## 声明、发出与监听
8
-
9
- 创建 `stats.ts`,将它放在 `tmp/cordis-tutorial` 中。它是一项负责计数并在每次变化时发出通知的服务:
10
-
11
- ```ts
12
- import { Service, type Context } from '@deepseek-ai/cordis'
13
-
14
- declare module '@deepseek-ai/cordis' {
15
- interface Context {
16
- stats: StatsService
17
- }
18
- interface Events {
19
- 'stats/report'(name: string, count: number): void
20
- }
21
- }
22
-
23
- export class StatsService extends Service {
24
- private counts = new Map<string, number>()
25
-
26
- constructor(ctx: Context) {
27
- super(ctx, 'stats')
28
- }
29
-
30
- bump(name: string) {
31
- const next = (this.counts.get(name) ?? 0) + 1
32
- this.counts.set(name, next)
33
- this.ctx.emit('stats/report', name, next)
34
- }
35
- }
36
-
37
- export const name = 'stats'
38
-
39
- export function apply(ctx: Context) {
40
- ctx.plugin(StatsService)
41
- }
42
- ```
43
-
44
- `interface Events` 合并与第 3 章的 `interface Context` 合并在事件系统中相互对应:它声明事件名称及其监听器签名,因此 `ctx.emit` 和 `ctx.on` 都具有完整类型。`namespace/action` 命名约定让扁平的事件命名空间保持易读。
45
-
46
- 创建 `reporter.ts`:
47
-
48
- ```ts ignore-check
49
- import type { Context } from '@deepseek-ai/cordis'
50
- import type {} from './stats.ts'
51
-
52
- export const name = 'reporter'
53
- export const inject = ['stats']
54
-
55
- export function apply(ctx: Context) {
56
- ctx.on('stats/report', (name, count) => {
57
- console.log(`[stats] ${name} -> ${count}`)
58
- })
59
- ctx.stats.bump('tool_call')
60
- ctx.stats.bump('tool_call')
61
- ctx.stats.bump('prompt')
62
- }
63
- ```
64
-
65
- `import type {} from './stats.ts'` 行不会在运行时导入任何内容;它的作用是让 TypeScript 看到声明合并。组合并运行:
66
-
67
- ```yaml
68
- - name: './stats.ts'
69
- - name: './reporter.ts'
70
- ```
71
-
72
- ```
73
- [stats] tool_call -> 1
74
- [stats] tool_call -> 2
75
- [stats] prompt -> 1
76
- ```
77
-
78
- 因为 `ctx.on()` 属于 effect,监听器会随插件一同消失,绝不需要手动维护 `removeListener`。
79
-
80
- ## 分发模式
81
-
82
- `emit` 是 5 种分发模式之一。事件采用哪种模式是其约定的一部分,决定了监听器能否返回值、能否并发运行,以及能否彼此短路:
83
-
84
- | 模式 | 调用 | 语义 |
85
- |---|---|---|
86
- | emit | `ctx.emit(name, ...args)` | 同步广播;不会等待或收集返回的 promise 与值。 |
87
- | parallel | `await ctx.parallel(name, ...args)` | 所有监听器并发运行,并一同等待。 |
88
- | serial | `await ctx.serial(name, ...args)` | 监听器按顺序运行并等待;第一个非 `null`/`false`/`undefined` 返回值胜出,并停止后续监听器。 |
89
- | bail | `ctx.bail(name, ...args)` | serial 的同步版本。 |
90
- | waterfall(瀑布式事件) | `ctx.waterfall(name, ...args, next)` | 环绕中间件,见下文。 |
91
-
92
- 每个 harness 事件都会在其所属[子系统页面](../subsystems/core.zh.md)自动生成的参考文档中记录其模式。
93
-
94
- ## waterfall:转换或短路
95
-
96
- waterfall 是实现拦截的模式。每个监听器都会收到参数和一个 `next()` continuation;它可以转换 `next()` 的返回值,也可以不调用 `next()` 就直接返回,从而短路链条的其余部分。Cordis 文档把后一种行为称为否决。创建 `waterfall-demo.ts`:
97
-
98
- ```ts
99
- import type { Context } from '@deepseek-ai/cordis'
100
-
101
- declare module '@deepseek-ai/cordis' {
102
- interface Events {
103
- 'demo/transform'(input: string, next: () => Promise<string>): Promise<string>
104
- }
105
- }
106
-
107
- export const name = 'waterfall-demo'
108
-
109
- export function apply(ctx: Context) {
110
- // Listener 1: wrap the downstream result.
111
- ctx.on('demo/transform', async (input, next) => {
112
- const downstream = await next()
113
- return downstream.toUpperCase()
114
- })
115
-
116
- // Listener 2: short-circuit when it owns the decision.
117
- ctx.on('demo/transform', async (input, next) => {
118
- if (input.includes('blocked')) return '** blocked **'
119
- return next()
120
- })
121
-
122
- void (async () => {
123
- console.log(await ctx.waterfall('demo/transform', 'hello', async () => 'hello'))
124
- console.log(await ctx.waterfall('demo/transform', 'blocked words', async () => 'blocked words'))
125
- })()
126
- }
127
- ```
128
-
129
- 让 `cordis.yml` 只指向该文件并运行:
130
-
131
- ```
132
- HELLO
133
- ** BLOCKED **
134
- ```
135
-
136
- 按顺序看第二行如何产生:监听器 1 先运行并调用 `next()`,从而调用监听器 2;监听器 2 看到 `blocked` 后直接返回而不调用 `next()`,因此最内层默认逻辑(传给 `ctx.waterfall` 的函数)从未运行;返回途中,监听器 1 再把替换消息转换为大写。
137
-
138
- 由此得到一项纪律:**只负责观察或标注的 waterfall 监听器必须调用 `next()`**;不调用就直接返回代表有意短路。如果日志监听器忘记调用 `next()`,会悄无声息地吞掉所有下游的默认行为。这是本仓库的常设规则([waterfall 语义](../cordis-primer.zh.md#cordis-waterfall-semantics))。
139
-
140
- harness 使用 waterfall 处理协作插件可以包装或回答的决策:[`agent/request`](../subsystems/core.zh.md#agentrequest--waterfall) 允许插件替换模型调用配置,[`approval/request`](../subsystems/approval.zh.md#approvalrequest--waterfall) 允许策略代替用户作答。
141
-
142
- 下一章:[配置](05-config.zh.md):来自 `cordis.yml` 的插件选项。
143
-
144
- [![](https://img.shields.io/badge/powered_by-dsh-4D6BFE?style=flat-square&logo=deepseek&logoColor=white)](https://github.com/deepseek-ai/deepseek-harness)