super-dsh 0.3.0-c → 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 (758) 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/package.json +19 -2
  7. package/superd-hub/scripts/register-companion.mjs +100 -0
  8. package/bundles/better-dsh.tgz +0 -0
  9. package/bundles/manifest.json +0 -10
  10. package/node_modules/better-dsh/LICENSE +0 -24
  11. package/node_modules/better-dsh/README.md +0 -323
  12. package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +0 -52
  13. package/node_modules/better-dsh/cordis.patch.yml +0 -139
  14. package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +0 -14
  15. package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +0 -15
  16. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +0 -236
  17. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +0 -2083
  18. package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +0 -64
  19. package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +0 -256
  20. package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +0 -137
  21. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +0 -201
  22. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +0 -561
  23. package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +0 -307
  24. package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +0 -367
  25. package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +0 -171
  26. package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +0 -187
  27. package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +0 -97
  28. package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +0 -152
  29. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +0 -146
  30. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +0 -50
  31. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +0 -79
  32. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +0 -138
  33. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +0 -161
  34. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +0 -109
  35. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +0 -50
  36. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +0 -113
  37. package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +0 -147
  38. package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +0 -102
  39. package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +0 -128
  40. package/node_modules/better-dsh/docs/20_specs/agent/spec.md +0 -54
  41. package/node_modules/better-dsh/docs/20_specs/ast/spec.md +0 -57
  42. package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +0 -46
  43. package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +0 -107
  44. package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +0 -47
  45. package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +0 -106
  46. package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +0 -44
  47. package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +0 -37
  48. package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +0 -41
  49. package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +0 -73
  50. package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +0 -53
  51. package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +0 -121
  52. package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +0 -108
  53. package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +0 -20
  54. package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +0 -79
  55. package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +0 -22
  56. package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +0 -21
  57. package/node_modules/better-dsh/docs/20_specs/skill/spec.md +0 -58
  58. package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +0 -222
  59. package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +0 -148
  60. package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +0 -43
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +0 -63
  97. package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +0 -52
  98. 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
  99. package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +0 -44
  100. package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +0 -87
  101. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +0 -81
  102. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +0 -93
  103. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +0 -44
  104. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +0 -110
  105. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +0 -79
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. 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
  115. 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
  116. 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
  117. 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
  118. 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
  119. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +0 -73
  120. 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
  121. 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
  122. 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
  123. 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
  124. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +0 -147
  125. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +0 -123
  126. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +0 -127
  127. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +0 -120
  128. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +0 -129
  129. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +0 -115
  130. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +0 -109
  131. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +0 -97
  132. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +0 -111
  133. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +0 -106
  134. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +0 -97
  135. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +0 -121
  136. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +0 -109
  137. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +0 -106
  138. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +0 -111
  139. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +0 -106
  140. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +0 -132
  141. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +0 -128
  142. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +0 -142
  143. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +0 -149
  144. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +0 -87
  145. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +0 -82
  146. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +0 -86
  147. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +0 -67
  148. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +0 -57
  149. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +0 -88
  150. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +0 -75
  151. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +0 -84
  152. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +0 -86
  153. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +0 -164
  154. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +0 -164
  155. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +0 -150
  156. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +0 -154
  157. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +0 -543
  158. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +0 -545
  159. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +0 -3473
  160. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +0 -3474
  161. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +0 -117
  162. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +0 -119
  163. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +0 -197
  164. 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
  165. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +0 -102
  166. 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
  167. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +0 -101
  168. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +0 -103
  169. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +0 -59
  170. 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
  171. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +0 -43
  172. 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
  173. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +0 -132
  174. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +0 -136
  175. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +0 -64
  176. 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
  177. 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
  178. 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
  179. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +0 -364
  180. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +0 -366
  181. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +0 -207
  182. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +0 -209
  183. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +0 -375
  184. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +0 -377
  185. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +0 -39
  186. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +0 -152
  187. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +0 -154
  188. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +0 -102
  189. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +0 -104
  190. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +0 -45
  191. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +0 -51
  192. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +0 -95
  193. 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
  194. 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
  195. 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
  196. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +0 -98
  197. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +0 -98
  198. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +0 -144
  199. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +0 -144
  200. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +0 -84
  201. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +0 -84
  202. 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
  203. 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
  204. 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
  205. 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
  206. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +0 -60
  207. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +0 -62
  208. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +0 -163
  209. 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
  210. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +0 -33
  211. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +0 -35
  212. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +0 -167
  213. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +0 -173
  214. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +0 -86
  215. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +0 -88
  216. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +0 -45
  217. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +0 -45
  218. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +0 -22
  219. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +0 -24
  220. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +0 -60
  221. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +0 -62
  222. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +0 -87
  223. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +0 -214
  224. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +0 -263
  225. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +0 -69
  226. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +0 -69
  227. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +0 -1411
  228. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +0 -1413
  229. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +0 -1075
  230. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +0 -1077
  231. 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
  232. 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
  233. 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
  234. 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
  235. 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
  236. 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
  237. 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
  238. 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
  239. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +0 -18
  240. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +0 -18
  241. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +0 -53
  242. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +0 -53
  243. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +0 -61
  244. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +0 -61
  245. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +0 -207
  246. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +0 -207
  247. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +0 -170
  248. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +0 -170
  249. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +0 -351
  250. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +0 -351
  251. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +0 -168
  252. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +0 -168
  253. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +0 -195
  254. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +0 -195
  255. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +0 -219
  256. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +0 -219
  257. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +0 -238
  258. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +0 -238
  259. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +0 -258
  260. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +0 -258
  261. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +0 -1209
  262. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +0 -1219
  263. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +0 -329
  264. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +0 -329
  265. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +0 -382
  266. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +0 -382
  267. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +0 -266
  268. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +0 -266
  269. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +0 -505
  270. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +0 -505
  271. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +0 -277
  272. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +0 -277
  273. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +0 -88
  274. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +0 -88
  275. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +0 -290
  276. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +0 -290
  277. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +0 -1080
  278. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +0 -1086
  279. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +0 -202
  280. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +0 -202
  281. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +0 -131
  282. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +0 -131
  283. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +0 -395
  284. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +0 -395
  285. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +0 -87
  286. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +0 -87
  287. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +0 -220
  288. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +0 -220
  289. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +0 -192
  290. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +0 -192
  291. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +0 -59
  292. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +0 -59
  293. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +0 -354
  294. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +0 -354
  295. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +0 -509
  296. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +0 -509
  297. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +0 -219
  298. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +0 -219
  299. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +0 -194
  300. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +0 -194
  301. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +0 -204
  302. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +0 -204
  303. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +0 -1155
  304. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +0 -1159
  305. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +0 -405
  306. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +0 -405
  307. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +0 -303
  308. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +0 -303
  309. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +0 -354
  310. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +0 -354
  311. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +0 -175
  312. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +0 -175
  313. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +0 -117
  314. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +0 -117
  315. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +0 -260
  316. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +0 -260
  317. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +0 -766
  318. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +0 -770
  319. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +0 -324
  320. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +0 -324
  321. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +0 -220
  322. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +0 -220
  323. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +0 -184
  324. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +0 -184
  325. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +0 -32
  326. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +0 -32
  327. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +0 -105
  328. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +0 -105
  329. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +0 -720
  330. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +0 -720
  331. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +0 -343
  332. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +0 -343
  333. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +0 -178
  334. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +0 -178
  335. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +0 -95
  336. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +0 -95
  337. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +0 -154
  338. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +0 -154
  339. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +0 -206
  340. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +0 -206
  341. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +0 -70
  342. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +0 -70
  343. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +0 -278
  344. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +0 -278
  345. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +0 -321
  346. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +0 -321
  347. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +0 -54
  348. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +0 -54
  349. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +0 -2225
  350. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +0 -2233
  351. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +0 -62
  352. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +0 -64
  353. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +0 -106
  354. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +0 -106
  355. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +0 -144
  356. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +0 -144
  357. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +0 -183
  358. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +0 -183
  359. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +0 -52
  360. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +0 -52
  361. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +0 -143
  362. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +0 -143
  363. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +0 -137
  364. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +0 -137
  365. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +0 -148
  366. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +0 -150
  367. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +0 -15
  368. 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
  369. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +0 -155
  370. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +0 -155
  371. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +0 -189
  372. 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
  373. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +0 -102
  374. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +0 -102
  375. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +0 -30
  376. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +0 -30
  377. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +0 -101
  378. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +0 -101
  379. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +0 -85
  380. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +0 -85
  381. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +0 -190
  382. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +0 -190
  383. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +0 -150
  384. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +0 -150
  385. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +0 -21
  386. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +0 -21
  387. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +0 -11
  388. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +0 -11
  389. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +0 -29
  390. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +0 -29
  391. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +0 -234
  392. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +0 -232
  393. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +0 -63
  394. package/node_modules/better-dsh/docs/dev-test-environment-notes.md +0 -137
  395. package/node_modules/better-dsh/docs/distro-blueprint.md +0 -81
  396. package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
  397. package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +0 -102
  398. package/node_modules/better-dsh/docs/specs/agent/spec.md +0 -54
  399. package/node_modules/better-dsh/docs/specs/ast/spec.md +0 -57
  400. package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +0 -170
  401. package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +0 -51
  402. package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +0 -46
  403. package/node_modules/better-dsh/docs/specs/ctx/spec.md +0 -179
  404. package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +0 -110
  405. package/node_modules/better-dsh/docs/specs/dsh/spec.md +0 -47
  406. package/node_modules/better-dsh/docs/specs/dvc/spec.md +0 -106
  407. package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +0 -44
  408. package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +0 -37
  409. package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +0 -41
  410. package/node_modules/better-dsh/docs/specs/http-read/spec.md +0 -73
  411. package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +0 -53
  412. package/node_modules/better-dsh/docs/specs/lsp/spec.md +0 -121
  413. package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +0 -108
  414. package/node_modules/better-dsh/docs/specs/model-failover/spec.md +0 -20
  415. package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +0 -168
  416. package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +0 -79
  417. package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +0 -22
  418. package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +0 -126
  419. package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +0 -21
  420. package/node_modules/better-dsh/docs/specs/skill/spec.md +0 -58
  421. package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +0 -222
  422. package/node_modules/better-dsh/docs/specs/url-schema/spec.md +0 -148
  423. package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +0 -43
  424. package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +0 -13
  425. package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +0 -85
  426. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +0 -319
  427. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +0 -1214
  428. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +0 -181
  429. package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +0 -209
  430. package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +0 -156
  431. package/node_modules/better-dsh/dsh-docs/AGENTS.md +0 -75
  432. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +0 -84
  433. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +0 -86
  434. package/node_modules/better-dsh/dsh-docs/api-gateway.md +0 -164
  435. package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +0 -164
  436. package/node_modules/better-dsh/dsh-docs/architecture.md +0 -150
  437. package/node_modules/better-dsh/dsh-docs/architecture.zh.md +0 -154
  438. package/node_modules/better-dsh/dsh-docs/baseline.md +0 -13
  439. package/node_modules/better-dsh/dsh-docs/capability-seams.md +0 -543
  440. package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +0 -545
  441. package/node_modules/better-dsh/dsh-docs/config-catalog.md +0 -3473
  442. package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +0 -3474
  443. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +0 -117
  444. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +0 -119
  445. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +0 -197
  446. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +0 -197
  447. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +0 -109
  448. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +0 -109
  449. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +0 -102
  450. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +0 -102
  451. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +0 -101
  452. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +0 -103
  453. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +0 -59
  454. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  455. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +0 -43
  456. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  457. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +0 -132
  458. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +0 -136
  459. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +0 -64
  460. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  461. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  462. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  463. package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +0 -364
  464. package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +0 -366
  465. package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +0 -207
  466. package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +0 -209
  467. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +0 -375
  468. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +0 -377
  469. package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +0 -39
  470. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +0 -152
  471. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +0 -154
  472. package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +0 -102
  473. package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +0 -104
  474. package/node_modules/better-dsh/dsh-docs/cordis-primer.md +0 -45
  475. package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +0 -51
  476. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +0 -95
  477. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  478. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  479. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  480. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +0 -98
  481. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +0 -98
  482. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +0 -144
  483. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +0 -144
  484. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +0 -84
  485. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +0 -84
  486. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  487. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  488. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +0 -108
  489. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  490. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +0 -60
  491. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +0 -62
  492. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +0 -163
  493. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
  494. package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +0 -33
  495. package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +0 -35
  496. package/node_modules/better-dsh/dsh-docs/development.md +0 -167
  497. package/node_modules/better-dsh/dsh-docs/development.zh.md +0 -173
  498. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +0 -86
  499. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +0 -88
  500. package/node_modules/better-dsh/dsh-docs/glossary.md +0 -45
  501. package/node_modules/better-dsh/dsh-docs/glossary.zh.md +0 -45
  502. package/node_modules/better-dsh/dsh-docs/graph-atlas.md +0 -22
  503. package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +0 -24
  504. package/node_modules/better-dsh/dsh-docs/i18n/README.md +0 -60
  505. package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +0 -62
  506. package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +0 -87
  507. package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +0 -214
  508. package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +0 -263
  509. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +0 -69
  510. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +0 -69
  511. package/node_modules/better-dsh/dsh-docs/module-graph.md +0 -1411
  512. package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +0 -1413
  513. package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +0 -1075
  514. package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +0 -1077
  515. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  516. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  517. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  518. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  519. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  520. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  521. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  522. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  523. package/node_modules/better-dsh/dsh-docs/postmortem/README.md +0 -18
  524. package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +0 -18
  525. package/node_modules/better-dsh/dsh-docs/rescope.md +0 -53
  526. package/node_modules/better-dsh/dsh-docs/rescope.zh.md +0 -53
  527. package/node_modules/better-dsh/dsh-docs/session-format-status.md +0 -47
  528. package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +0 -47
  529. package/node_modules/better-dsh/dsh-docs/subsystems/README.md +0 -61
  530. package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +0 -61
  531. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +0 -207
  532. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +0 -207
  533. package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +0 -170
  534. package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +0 -170
  535. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +0 -351
  536. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +0 -351
  537. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +0 -168
  538. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +0 -168
  539. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +0 -91
  540. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +0 -91
  541. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +0 -195
  542. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +0 -195
  543. package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +0 -219
  544. package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +0 -219
  545. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +0 -238
  546. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +0 -238
  547. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +0 -258
  548. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +0 -258
  549. package/node_modules/better-dsh/dsh-docs/subsystems/core.md +0 -1209
  550. package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +0 -1219
  551. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +0 -329
  552. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +0 -329
  553. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +0 -382
  554. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +0 -382
  555. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +0 -266
  556. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +0 -266
  557. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +0 -505
  558. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +0 -505
  559. package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +0 -277
  560. package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +0 -277
  561. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +0 -91
  562. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +0 -91
  563. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +0 -290
  564. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +0 -290
  565. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +0 -1080
  566. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +0 -1086
  567. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +0 -202
  568. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +0 -202
  569. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +0 -131
  570. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +0 -131
  571. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +0 -395
  572. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +0 -395
  573. package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +0 -87
  574. package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +0 -87
  575. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +0 -220
  576. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +0 -220
  577. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +0 -192
  578. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +0 -192
  579. package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +0 -59
  580. package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +0 -59
  581. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +0 -354
  582. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +0 -354
  583. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +0 -509
  584. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +0 -509
  585. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +0 -219
  586. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +0 -219
  587. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +0 -194
  588. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +0 -194
  589. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +0 -204
  590. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +0 -204
  591. package/node_modules/better-dsh/dsh-docs/subsystems/session.md +0 -1155
  592. package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +0 -1159
  593. package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +0 -405
  594. package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +0 -405
  595. package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +0 -303
  596. package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +0 -303
  597. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +0 -148
  598. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +0 -148
  599. package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +0 -354
  600. package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +0 -354
  601. package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +0 -175
  602. package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +0 -175
  603. package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +0 -117
  604. package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +0 -117
  605. package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +0 -260
  606. package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +0 -260
  607. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +0 -766
  608. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +0 -770
  609. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +0 -324
  610. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +0 -324
  611. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +0 -220
  612. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +0 -220
  613. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +0 -184
  614. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +0 -184
  615. package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +0 -32
  616. package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +0 -32
  617. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +0 -105
  618. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +0 -105
  619. package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +0 -720
  620. package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +0 -720
  621. package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +0 -343
  622. package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +0 -343
  623. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +0 -178
  624. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +0 -178
  625. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +0 -95
  626. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +0 -95
  627. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +0 -154
  628. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +0 -154
  629. package/node_modules/better-dsh/dsh-docs/subsystems/web.md +0 -206
  630. package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +0 -206
  631. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +0 -70
  632. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +0 -70
  633. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +0 -278
  634. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +0 -278
  635. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +0 -321
  636. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +0 -321
  637. package/node_modules/better-dsh/dsh-docs/testing.md +0 -54
  638. package/node_modules/better-dsh/dsh-docs/testing.zh.md +0 -54
  639. package/node_modules/better-dsh/dsh-docs/tool-catalog.md +0 -2225
  640. package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +0 -2233
  641. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +0 -62
  642. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +0 -64
  643. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +0 -106
  644. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +0 -106
  645. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +0 -144
  646. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +0 -144
  647. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +0 -183
  648. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +0 -183
  649. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +0 -52
  650. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +0 -52
  651. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +0 -143
  652. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +0 -143
  653. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +0 -137
  654. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +0 -137
  655. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +0 -148
  656. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +0 -150
  657. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +0 -15
  658. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  659. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +0 -155
  660. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +0 -155
  661. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +0 -189
  662. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +0 -189
  663. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +0 -102
  664. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +0 -102
  665. package/node_modules/better-dsh/dsh-docs/user/guide/index.md +0 -30
  666. package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +0 -30
  667. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +0 -101
  668. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +0 -101
  669. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +0 -85
  670. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +0 -85
  671. package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +0 -190
  672. package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +0 -190
  673. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +0 -150
  674. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +0 -150
  675. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +0 -21
  676. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +0 -21
  677. package/node_modules/better-dsh/dsh-docs/user/index.md +0 -11
  678. package/node_modules/better-dsh/dsh-docs/user/index.zh.md +0 -11
  679. package/node_modules/better-dsh/dsh-docs/web-styling.md +0 -29
  680. package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +0 -29
  681. package/node_modules/better-dsh/eval-description.md +0 -33
  682. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +0 -4
  683. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +0 -39
  684. package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +0 -4
  685. package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +0 -17
  686. package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +0 -4
  687. package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +0 -3634
  688. package/node_modules/better-dsh/lib/ast-assets/ast-grep.wasm +0 -0
  689. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  690. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-c.wasm +0 -0
  691. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  692. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-css.wasm +0 -0
  693. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-go.wasm +0 -0
  694. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-html.wasm +0 -0
  695. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  696. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-json.wasm +0 -0
  697. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-python.wasm +0 -0
  698. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  699. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  700. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  701. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  702. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  703. package/node_modules/better-dsh/lib/ast-assets/tree-sitter.wasm +0 -0
  704. package/node_modules/better-dsh/lib/bidi-BalpKaJc.js +0 -16106
  705. package/node_modules/better-dsh/lib/bundle-delivery.d.ts +0 -20
  706. package/node_modules/better-dsh/lib/bundle-delivery.js +0 -212
  707. package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +0 -30
  708. package/node_modules/better-dsh/lib/client/index.js +0 -712
  709. package/node_modules/better-dsh/lib/compaction/index.d.ts +0 -57
  710. package/node_modules/better-dsh/lib/compaction/index.js +0 -145
  711. package/node_modules/better-dsh/lib/failover/index.d.ts +0 -59
  712. package/node_modules/better-dsh/lib/failover/index.js +0 -147
  713. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +0 -71
  714. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +0 -249
  715. package/node_modules/better-dsh/lib/hmr.d.ts +0 -32
  716. package/node_modules/better-dsh/lib/hmr.js +0 -49
  717. package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +0 -208
  718. package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +0 -21061
  719. package/node_modules/better-dsh/lib/index.d.ts +0 -705
  720. package/node_modules/better-dsh/lib/index.js +0 -3816
  721. package/node_modules/better-dsh/lib/kernel-bridge.py +0 -172
  722. package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +0 -195
  723. package/node_modules/better-dsh/lib/kernel-env.d.ts +0 -80
  724. package/node_modules/better-dsh/lib/kernel-env.js +0 -3
  725. package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +0 -894
  726. package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +0 -3
  727. package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +0 -972
  728. package/node_modules/better-dsh/lib/main-BQeFrBM1.js +0 -3
  729. package/node_modules/better-dsh/lib/main-CupOhMp5.js +0 -1432
  730. package/node_modules/better-dsh/lib/mobile/plugin.d.ts +0 -29
  731. package/node_modules/better-dsh/lib/mobile/plugin.js +0 -54
  732. package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +0 -68
  733. package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +0 -1136
  734. package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +0 -178
  735. package/node_modules/better-dsh/lib/py-sdk.d.ts +0 -19
  736. package/node_modules/better-dsh/lib/py-sdk.js +0 -3
  737. package/node_modules/better-dsh/lib/remote/plugin.d.ts +0 -24
  738. package/node_modules/better-dsh/lib/remote/plugin.js +0 -1190
  739. package/node_modules/better-dsh/lib/url-schemes/index.d.ts +0 -88
  740. package/node_modules/better-dsh/lib/url-schemes/index.js +0 -12229
  741. package/node_modules/better-dsh/lib/util-BHL_dfV_.js +0 -2953
  742. package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +0 -1291
  743. package/node_modules/better-dsh/lib/web-password.d.ts +0 -156
  744. package/node_modules/better-dsh/lib/web-password.js +0 -562
  745. package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +0 -3440
  746. package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +0 -393
  747. package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +0 -113
  748. package/node_modules/better-dsh/lib/web-trust.d.ts +0 -3
  749. package/node_modules/better-dsh/lib/web-trust.js +0 -4
  750. package/node_modules/better-dsh/lib/webserver.d.ts +0 -10
  751. package/node_modules/better-dsh/lib/webserver.js +0 -19
  752. package/node_modules/better-dsh/lib/welcome-notice.d.ts +0 -18
  753. package/node_modules/better-dsh/lib/welcome-notice.js +0 -59
  754. package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +0 -750
  755. package/node_modules/better-dsh/package.json +0 -426
  756. package/node_modules/better-dsh/scripts/kernel-provision.mjs +0 -35
  757. package/node_modules/better-dsh/scripts/register-bundle.mjs +0 -80
  758. package/node_modules/better-dsh/url-schemes-instruction.md +0 -22
@@ -1,1209 +0,0 @@
1
- # Core
2
-
3
- English | [中文](core.zh.md)
4
-
5
- The **core** subsystem is [`packages/core`](../../packages/core/README.md) — the packages every composition boots: the event-sourced session log, system-prompt assembly, the tool registry, the agent types, and the concrete loop that drives them. This page explains what the `agent`/`agent-loop` pair declares — how an agent is created and owned, and the `Agent` handle's delivery, cancellation, and interception contracts — plus the two type patterns every subsystem follows. The group's dedicated pages and the rest of the folder are indexed in the [subsystems README](README.md).
6
-
7
- ## The spine, package by package
8
-
9
- A turn flows through the six packages in one loop: the driver in [`agent-loop`](../../packages/core/agent-loop) claims a queued prompt, opens a turn on the [session log](session.md) (`ctx.sessions`), assembles the request prefix through [system-prompt](system-prompt.md) (`ctx.systemPrompt`) and derives history from the log, streams the model response through the [LLM seam](llm-streaming.md), dispatches tool calls through the [tool registry](tools.md) (`ctx.tools`), and appends every model-visible fact back onto the log before the next step derives from it. The conversation vocabulary the loop moves — `Message`, `ContentBlock`, `StreamChunk`, the model request — is declared by [`packages/llm`](../../packages/llm/README.md) and documented on [llm-streaming.md](llm-streaming.md).
10
-
11
- | Package | Owns | Page |
12
- |---|---|---|
13
- | `session/` | The append-only `SessionEvent` log and in-memory store — the single source of truth (`ctx.sessions`) | [session.md](session.md) |
14
- | `system-prompt/` | Prompt-section and tool-schema assembly (`ctx.systemPrompt`) | [system-prompt.md](system-prompt.md) |
15
- | `tools/` | The scoped tool registry and guarded execution pipeline (`ctx.tools`) | [tools.md](tools.md) |
16
- | `agent/` | The `Agent` interface, live registry, initiator scope, and `agent/*` event vocabulary (`ctx.agents`) | this page |
17
- | `agent-loop/` | The concrete driver implementing the public `Agent` contract (`ctx.agentLoop`) | this page |
18
- | `scope/` | The scoped-registration primitive the registries and loop build per-agent scoping on | [scope.md](scope.md) |
19
-
20
- `scope/` is the one non-service package: a dependency-free library (`createScope`/`scopeOf`/`scopeTarget`) that sits below `session/` and `system-prompt/` in the module graph precisely so they can consume it without a cycle. `agent-loop` is the one concrete implementation of the public `Agent` contract and lives here because it is the harness's default product loop; it runs each driver inside `ctx.agents.withInitiator()`. Extension plugins depend on `agent` — including when they need the initiating Agent — and never on `agent-loop` directly, so the loop stays swappable. [`dsh-base`](../../packages/bundle/base/README.md) is the default product composition, while [`dsh-sdk-minimal`](../../packages/bundle/sdk-minimal/README.md) declares a smaller standalone tree.
21
-
22
- ## Creation and ownership
23
-
24
- Consumers create agents through `ctx.agents` — `create()` builds a fresh session and agent under one caller-supplied `SessionId`, `resume()` loads a persisted session first — or declaratively through the loop's config entries. Programmatic creation returns the owner's handle:
25
-
26
- Source: [`packages/core/agent/src/index.ts`](../../packages/core/agent/src/index.ts)
27
-
28
- ```ts type-equiv
29
- /**
30
- * An owned agent plus its disposer, returned by {@link AgentRegistry.create} /
31
- * {@link AgentRegistry.resume}. The disposer is a CAPABILITY: among consumers,
32
- * only the holder can tear this agent down. The registered factory provider is
33
- * also a structural owner because the scoped agent depends on that provider's
34
- * service API; provider unload stops and drains every live handle it made.
35
- * `dispose()` stops the loop, awaits its exit, unregisters the agent, removes
36
- * its session from the store, and finally unwinds its scoped world.
37
- *
38
- * `ctx.agents.get(id)` still returns a bare {@link Agent} — the handle is
39
- * exposed only to the consumer owner that created it; the structural provider
40
- * reaches the same teardown internally. Config-created agents (the loop's own
41
- * startup) are owned by the loop fiber and never need a handle.
42
- */
43
- interface AgentHandle {
44
- agent: Agent
45
- dispose(): Promise<void>
46
- }
47
- ```
48
-
49
- `CreateAgentOptions` carries the shared identity and everything a fresh agent needs before publication: session metadata (`meta` — validated `cwd`, fork lineage, the `isSeeded` marker, origin classification, delegation depth, and `agentPreset`), the exact fork cut in sibling field `inheritedEventCount`, an optional `seed` replay prefix, per-agent `AgentOptions`, a creation-only cancellation `signal`, and `setup`. `ResumeAgentOptions` is the persisted-identity counterpart: `resumeSessionId`, `agentOptions`, `signal`, and `setup`. The `setup` callback (`AgentSetup`) composes the agent's scoped world while both ids are still unpublished — everything registered through `agentCtx` exists before `agent/created` and the first prompt assembly — and may return a synchronous commit invoked immediately before publication; a setup rejection, commit throw, or owner disposal rolls the transaction back without publishing either id.
50
-
51
- `AgentFactory` is the creation interface behind the registry: the loop registers its factory via `ctx.agents.setFactory()`, so consumers use `ctx.agents` without depending on the concrete loop package. The exact `create`/`resume` signatures and rollback contracts are in the [generated section](#ctxagents--agentregistry) below.
52
-
53
- ## The agent handle
54
-
55
- `Agent` is the surface every plugin (UI, hooks, orchestrators) programs against; `ctx.agents.get(id)` returns it, and the [initiator scope](#initiating-agent) carries it. The concrete implementation is package-internal to dsh-agent-loop; nothing outside the loop depends on it. The unified `send` method exposes target and wakeup routing directly; `followup`, `steer`, and `inject` are fixed-preset aliases.
56
-
57
- Source: [`packages/core/agent/src/types.ts`](../../packages/core/agent/src/types.ts)
58
-
59
- ```ts type-equiv
60
- /** Public live-agent handle; the runtime face augments its live capabilities. */
61
- interface Agent {
62
- /** Session-backed Agent identity. */
63
- readonly id: SessionId
64
- /** The provider route and model this agent's requests use. */
65
- readonly options: AgentOptions
66
- /** The live session this agent drives; its log is the durable source of truth. */
67
- readonly session: Session
68
- /** The agent-owned projection of durable pending work. */
69
- readonly inbox: Inbox
70
- /** The current lifecycle state, mirrored on every `agent/status` transition. */
71
- readonly status: AgentStatus
72
- /** Agent-scoped context; its contributions are agent-local, unwind on disposal, and reject registration afterward. */
73
- readonly ctx: Context
74
-
75
- /**
76
- * Clear queued and steering work — unless `keepInbox` — and abort the active
77
- * turn or between-turn task. The first cause wins for that activity. With no
78
- * active activity, cancellation is a no-op and does not arm later work.
79
- * @param cause - the stable caller intent carried by the active operation signal.
80
- * @param options - cancellation options; `keepInbox` preserves pending work.
81
- */
82
- cancel(cause: AgentCancelCause, options?: CancelOptions): void
83
-
84
- /**
85
- * Resolve after the current whole-agent activity reaches quiescence. This
86
- * follows replacement work started before the observed driver retires,
87
- * but does not identify the settlement of any particular message.
88
- * @returns fulfillment after no active driver or maintenance task remains.
89
- */
90
- whenIdle(): Promise<void>
91
-
92
- /**
93
- * Run one non-turn maintenance task from the true idle phase. The task starts
94
- * synchronously after claiming that phase; later waking input remains in the
95
- * inbox until the task settles, while public status stays `idle`.
96
- * `whenIdle()` follows both the task and any waking work released behind it.
97
- * @param task - operation whose fulfillment or rejection is preserved, with a signal aborted by {@link cancel}.
98
- * @throws synchronously when turn-driving or another maintenance task already owns the agent.
99
- * @returns the task promise.
100
- */
101
- runMaintenance<T>(task: (signal: AbortSignal) => Promise<T>): Promise<T>
102
-
103
- /**
104
- * Route identified input to an inbox boundary and optionally wake the driver.
105
- * Waking input submitted after active cancellation is queued for the next
106
- * turn and runs when the aborted activity converges to idle; a `disposed`
107
- * cancel leaves it parked. A wake submitted while already idle always opens
108
- * its turn boundary, even when its message is cleared before the driver
109
- * claims ([cancel-convergence wake latch](../../../../.agents/notes/implemented/bug-fix/2026-08-07-cancel-convergence-wake-latch.md)).
110
- * @param message - identified content and the source that supplied it.
111
- * @param target - the preferred next-turn or next-step inbox boundary.
112
- * @param wakeup - whether delivery may wake the driver.
113
- */
114
- send(message: UserMessage, target: InboxTarget, wakeup: boolean): void
115
-
116
- /**
117
- * Queue an ordinary follow-up turn and wake the driver. The item becomes the
118
- * sole ordinary message of its own turn.
119
- * @param message - identified prompt content and the source that supplied it.
120
- */
121
- followup(message: UserMessage): void
122
-
123
- /**
124
- * Submit steering for the nearest step. An idle driver starts a turn;
125
- * a running driver consumes it at its next step boundary.
126
- * A rejected step leaves steering parked in the inbox until the next
127
- * wake; cancellation or disposal may discard pending steering.
128
- * @param message - identified steering content and the source that supplied it.
129
- */
130
- steer(message: UserMessage): void
131
-
132
- /**
133
- * Queue model-facing context for the next pre-step without waking the
134
- * driver. A running driver claims it at the nearest later step boundary;
135
- * idle drivers leave it pending until follow-up or steering
136
- * wakes them. It may miss a request whose pre-step already claimed its
137
- * batch. Cancellation or disposal may discard pending context.
138
- * @param message - identified injected context and the source that supplied it.
139
- */
140
- inject(message: UserMessage): void
141
- }
142
- ```
143
-
144
- ```ts type-equiv
145
- /**
146
- * An agent's lifecycle state, emitted on every transition as `agent/status`:
147
- * `idle` means no driver is active; `running` begins when waking input starts
148
- * cancellable pre-step processing and lasts while the driver drains,
149
- * closes, or checkpoints turns. Disposal removes the agent from its registry;
150
- * it is not a third observable status.
151
- */
152
- type AgentStatus = 'idle' | 'running'
153
- ```
154
-
155
- ```ts type-equiv
156
- /** One process-local live assistant streaming publication. */
157
- type AssistantStreamFrame =
158
- | {
159
- readonly type: 'start'
160
- readonly attemptId: LlmAttemptId
161
- /** Monotone within one attached Agent lifecycle; replacement restarts at 1. */
162
- readonly revision: number
163
- readonly turn: number
164
- readonly step: number
165
- }
166
- | {
167
- readonly type: 'chunk'
168
- readonly attemptId: LlmAttemptId
169
- readonly revision: number
170
- /** Dense zero-based position within the attempt. */
171
- readonly index: number
172
- /** Safe-integer timestamp reused by the durable embedded stream. */
173
- readonly time: number
174
- readonly chunk: StreamChunk
175
- }
176
- | {
177
- readonly type: 'end'
178
- readonly attemptId: LlmAttemptId
179
- readonly revision: number
180
- /** Number of chunk frames emitted by this attempt. */
181
- readonly index: number
182
- /** Durable settlement committed before this notification, or live abandonment without one. */
183
- readonly outcome:
184
- | {
185
- readonly kind: 'committed'
186
- readonly eventType: 'assistant/message' | 'assistant/attempt'
187
- readonly seq: SessionSeq
188
- }
189
- | { readonly kind: 'abandoned' }
190
- }
191
- ```
192
-
193
- `running` describes the driver-wide drain interval and may span consecutive queued turns; it does not prove a turn is still open. Disposal removes the agent from the registry and emits `agent/disposed`; it is not a terminal status value. `followup()` returns no handle: its `MessageId` identifies durable inbox insertion, claim, and discard facts, not a later assistant output or turn ending. `whenIdle()` observes the whole agent, so callers may call a receipt-to-idle interval a run only when they explicitly own that interval ([decision](../../.agents/notes/implemented/architecture/2026-07-30-followup-enqueue-and-owned-runs.md)).
194
-
195
- ```ts type-equiv
196
- /** Merge-extensible agent creation options. Persona belongs to system-prompt sections. */
197
- interface AgentOptions {
198
- /** Provider route (must have a registered adapter at call time). */
199
- provider?: string
200
- /** Model id interpreted by the selected provider adapter. */
201
- model?: string
202
- /** Adapter-owned reasoning effort for the selected provider/model route. */
203
- reasoningEffort?: ReasoningEffortId
204
- /** Maximum output tokens for each conversation-model request. */
205
- maxTokens?: number
206
- }
207
- ```
208
-
209
- Dispatch requires `provider` and `model` after `agent/request`. An explicit `reasoningEffort` seeds the first request on that route; exact-model resolution validates it, while omission allows the adapter default to materialize. When present, `maxTokens` must be a positive safe integer and caps every conversation-model request; omission allows the exact-model adapter default to materialize before the request header, or otherwise leaves provider behavior unchanged. An agent-scoped `deployment:persona` prompt section may shadow the global default persona.
210
-
211
- The inbox is the delivery vocabulary — two ordered pending-message lists the agent owns as a durable projection:
212
-
213
- ```ts type-equiv
214
- /** One of the two ordered pending-message lists owned by an agent. */
215
- type InboxTarget = 'next-turn' | 'next-step'
216
- ```
217
-
218
- Every pending occurrence is its `UserMessage`; `MessageId` is the sole identity. `Inbox.append`, `prepend`, `replace`, `remove`, `clear`, `splice`, and `claim` record normalized durable `agent/inbox/spliced` mutations and reject duplicate pending ids. `replace(messageId, newMessage)` and `remove(messageId)` locate the pending message across both lists; replacement may change identity and emits the old message as discarded followed by the new message as inserted. Ordinary removals and `clear()` are cancellations. `claim(target)` removes the proposed step batch — all `next-step` input plus, at a turn boundary, one `next-turn` message — through pure deletion splices without emitting discarded notifications, and the loop separately emits per-message claimed notifications. Whole-queue consumers such as UI projections reconstruct `nextTurn` and `nextStep` from the durable splices, while consumers following one message use the exact `agent/inbox/inserted`, `claimed`, and `discarded` notifications.
219
-
220
- Cancellation:
221
-
222
- ```ts type-equiv
223
- /** Options for {@link Agent.cancel}. */
224
- interface CancelOptions {
225
- /**
226
- * Preserve queued and steering inbox items instead of discarding them. The
227
- * active turn is still aborted, but un-started and pending work survives for a
228
- * later turn and no canceled inbox splice is logged.
229
- */
230
- keepInbox?: boolean | undefined
231
- }
232
- ```
233
-
234
- ```ts type-equiv
235
- /** Why an active agent driver was cancelled. */
236
- type AgentCancelCause =
237
- | { readonly kind: 'user' }
238
- | { readonly kind: 'parent' }
239
- | { readonly kind: 'hook'; readonly reason: string }
240
- | { readonly kind: 'disposed' }
241
- ```
242
-
243
- The cause is a TypeScript-enforced same-process input. An active cancellation holder copies it into the runtime-only `AbortSignal.reason`; a signal grants cooperating listeners no classification authority. Durable `turn/end` records the outcome as `{ kind: 'aborted', reason: TurnEndCancelCause }`, so the cancel cause lands in the terminal result.
244
-
245
- The [event taxonomy](../architecture.md#events) owns the `agent/*` lifecycle, checkpoint, and waterfall contracts. Turn and step boundaries are durable session events rather than agent emits.
246
-
247
- ## Initiating Agent
248
-
249
- The process-local initiator carried by `ctx.agents` is the exact `Agent` above, not a separate frame or copied identity. Ambient presence is neither liveness proof nor authorization; the [initiator-scope decision](../../.agents/notes/implemented/architecture/2026-07-15-agent-initiator-scope.md) defines its lifetime and scope rules.
250
-
251
- ## Interception decisions
252
-
253
- Pre-step decisions use the same identified `UserMessage` type as durable user-role input. The entered batch is authoritative and preserves every message's `id` and `source`. Hook bridges map their native decision fields onto this typed result.
254
-
255
- Source: [`packages/core/agent/src/types.ts`](../../packages/core/agent/src/types.ts)
256
-
257
- `agent/pre-step` receives one payload carrying the exclusive claimed batch (`messages`), the proposed step's coordinates (`turn`, `step`), and the current turn's cancellation `signal`. The initial proposal runs inside an open turn before any step; a tool continuation may submit an empty claimed batch between steps:
258
-
259
- It returns a `PreStepDecision`. Reject opens no step. Enter supplies the complete message batch appended after `step/start`; claimed messages omitted by the final decision remain removed, while input inserted after the claim stays pending:
260
-
261
- ```ts type-equiv
262
- /** Whether and with which messages the loop enters a proposed step. */
263
- type PreStepDecision =
264
- | { kind: 'reject' }
265
- | {
266
- kind: 'enter'
267
- messages: UserMessage[]
268
- /** Start a distinct model-message series before this step's admitted messages. */
269
- startsRequestSeries?: true
270
- }
271
- ```
272
-
273
- `agent/request-error` runs after a failed model step closes and before its turn closes. Listeners can repair durable state or await policy work while the failed turn's signal is still live. A handling listener returns `{ kind: 'retry' }` without calling `next()`; the default `undefined` leaves the failure terminal.
274
-
275
- ```ts type-equiv
276
- /** Action returned by a listener that owns model-request recovery. */
277
- type RequestErrorAction = { kind: 'retry' } | undefined
278
- ```
279
-
280
- `agent/pre-step` is the only waterfall listener chain before request derivation. `agent/turn-stopping` runs when a turn has no tool or steering continuation, before one final steering drain.
281
-
282
- `agent/session-start` carries a `SessionStartSource` (why the session lifecycle began; a bridge keys its SessionStart matcher on it):
283
-
284
- ```ts type-equiv
285
- /** Why a session lifecycle began; seeded creates are `startup`, while persisted loads are `resume`. */
286
- type SessionStartSource = 'startup' | 'resume' | 'clear' | 'compact'
287
- ```
288
-
289
- ## Sessions
290
-
291
- A `Session` is an **append-only log** of typed `SessionEvent`s — the single source of truth. The LLM message history is *derived* from the log (`deriveMessages()`), not stored separately. Every entry carries a monotonic `seq`, a `time`, and a `type`-discriminated `data` payload; surface variants may also list cited earlier events in `sourceEventSeqs` and carry a `surfaceOp`.
292
-
293
- The `SessionEvent` envelope's exact conditional fields, the twelve core event variants (`turn/start`, `turn/end`, `step/start`, `step/end`, `user/message`, `assistant/message`, `assistant/attempt`, `tool/call`, `tool/result`, `request/header`, `request/context`, `session/end-seed`), the `deriveMessages()` projection rules, the `TurnEndReason` reasons, and the execution-enclosure and standalone-event rules are on **[session.md](session.md)**. How the log is made durable — the `SessionPersistence` interface, JSONL provider, `session/flush` checkpoint, crash recovery, and `SessionHeader` — is on **[persistence.md](persistence.md)**.
294
-
295
- ## `ToolDefinition`
296
-
297
- The one pipeline-authoring type that is core: what every registered tool *is* — a model-facing `ToolSchema` plus an `execute` function and optional final-content and UI callbacks. A tool author rarely constructs it by hand (the `defineTool` DSL builds it with typed arguments), but it is the contract the registry holds and the loop dispatches through.
298
-
299
- Its full fields, the `defineTool`/`ValueSchemaSpec`/`ParameterSchemaSpec` typed schema DSL, the `ToolExecution`/`ToolExecutionResult` waterfall types, and the tool-presentation UI types are on **[tools.md](tools.md)**.
300
-
301
- ## Repo-wide type patterns
302
-
303
- Two patterns recur across every subsystem and are documented once, here.
304
-
305
- <a id="the-map--derived-union-pattern"></a>
306
-
307
- ### The `…Map → derived-union` pattern
308
-
309
- Almost every extensible sum type in the harness follows one pattern: an interface keyed by a discriminant tag (the `…Map`), from which the union is derived with `keyof`. Plugins add variants by **declaration merging** — no edit to the owning package.
310
-
311
- ```ts ignore-check
312
- // The pattern, schematically:
313
- interface ThingMap {
314
- 'a': { kind: 'a'; /* … */ }
315
- 'b': { kind: 'b'; /* … */ }
316
- }
317
- type ThingKind = keyof ThingMap // 'a' | 'b'
318
- type Thing = ThingMap[keyof ThingMap] // the discriminated union
319
-
320
- // A plugin extends it without touching the source package:
321
- declare module '@deepseek-ai/dsh-llm' {
322
- interface ThingMap {
323
- 'c': { kind: 'c'; /* … */ }
324
- }
325
- }
326
- ```
327
-
328
- Five canonical maps use this pattern; a plugin author extends these:
329
-
330
- | Map | Package | Derives | Catalog |
331
- |---|---|---|---|
332
- | `ContentBlockMap` | dsh-llm | `ContentBlock` | [llm-streaming.md](llm-streaming.md#content-blocks-and-messages) |
333
- | `MessageSourceMap` | dsh-llm | `MessageSource` | [llm-streaming.md](llm-streaming.md#content-blocks-and-messages) |
334
- | `FinishReasonMap` | dsh-llm | `FinishReason` | [llm-streaming.md](llm-streaming.md#the-model-request-and-result) |
335
- | `TurnEndReasonMap` | dsh-session | `TurnEndReason` | [session.md](session.md) |
336
- | `SessionEventMap` | dsh-session | `SessionEvent` | [session.md](session.md) |
337
-
338
- Two large discriminated unions are the ones consumers `switch` over most: **`StreamChunk`** (the streaming protocol) and **`SessionEvent`** (the log entry). Per the repo convention, `switch` on the tag — don't chain `if`s — so each arm narrows and a typo'd tag fails to compile.
339
-
340
- ### Branded IDs
341
-
342
- IDs passed between packages are **branded** — structurally strings, but non-interchangeable at the type level (a `SessionId` cannot be passed where a `ToolCallId` is expected). Construction uses the shared `brandString<T>()` helper or an owner-defined validating factory; comparison, logging, and JSON behave as ordinary strings.
343
-
344
- The `Branded<B>` primitive and stateless constructor live in [dsh-brand](../../packages/util/brand), which has no harness capability dependency. `brandString<T>()` applies a compile-time-only string brand.
345
-
346
- Source: [`packages/util/brand/src/index.ts`](../../packages/util/brand/src/index.ts)
347
-
348
- ```ts type-equiv
349
- /** A string carrying a compile-time-only brand `B`. */
350
- type Branded<B extends string> = string & { readonly [BRAND]: B }
351
- ```
352
-
353
- The two core IDs are `ToolCallId` (correlates a tool call with its result; dsh-llm) and `SessionId` (the shared live agent and durable session identity; dsh-session). Capability packages brand their own ids too, such as `JobId` in [jobs.md](jobs.md).
354
-
355
- <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
356
-
357
- <a id="cordis-surface"></a>
358
-
359
- ## Cordis API
360
-
361
- Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
362
-
363
- <a id="ctxagentdefaultmodel--agentdefaultmodelconfig"></a>
364
-
365
- ### `ctx.agentDefaultModel` — `AgentDefaultModelConfig`
366
-
367
- Owns the default model selection independently of any Host or transport. The composition entry remains usable without a settings provider; when one is mounted, its user layer is read live.
368
-
369
- ```ts cordis-catalog
370
- /**
371
- * Read the current default model selection.
372
- * @returns a detached provider, model, and optional reasoning selection.
373
- */
374
- currentSelection(): ModelSelection
375
-
376
- /**
377
- * Save the complete default model selection. A deployment without a settings
378
- * provider keeps its composition entry.
379
- * @param next - resolved selection accepted by an entry point.
380
- * @returns fulfillment after the optional settings write settles.
381
- */
382
- async saveSelection(next: ModelSelection): Promise<void>
383
- ```
384
-
385
- Source: [`packages/core/agent-default-model/src/index.ts`](../../packages/core/agent-default-model/src/index.ts)
386
-
387
- <a id="ctxagentloop--agentloop"></a>
388
-
389
- ### `ctx.agentLoop` — `AgentLoop`
390
-
391
- Concrete agent factory and driver service.
392
-
393
- ```ts cordis-catalog
394
- /**
395
- * Create an agent and session under one caller-supplied identity, owned by
396
- * the accessing fiber. Constructor-driven config calls mint a fresh combined
397
- * id before entering this boundary. When a persistence backend is mounted,
398
- * the session's durable identity and any seed are stored before publication.
399
- * @param id - shared agent/session identity.
400
- * @param options - concrete loop options.
401
- * @param meta - optional fresh-session workspace metadata.
402
- * @returns the published running agent.
403
- */
404
- async create(id: SessionId, options: AgentOptions = {}, meta: Pick<SessionHeader, 'cwd'> = {}): Promise<Agent>
405
-
406
- /**
407
- * Create an owned agent on a caller-supplied session id.
408
- * @param ownerCtx - caller context that structurally owns the lifecycle.
409
- * @param options - identities, session seed/metadata, loop options, setup, and cancellation.
410
- * @returns the published handle.
411
- */
412
- async createAgent(ownerCtx: Context, options: CreateAgentOptions): Promise<AgentHandle>
413
-
414
- /**
415
- * Resume an owned agent from the configured persistence service.
416
- * @param ownerCtx - caller context that owns load, setup, and the live lifecycle.
417
- * @param options - persisted identity, loop options, setup, and cancellation.
418
- * @returns the published handle.
419
- */
420
- async resume(ownerCtx: Context, options: ResumeAgentOptions): Promise<AgentHandle>
421
- ```
422
-
423
- Types: [SessionHeader](persistence.md)
424
-
425
- Source: [`packages/core/agent-loop/src/index.ts`](../../packages/core/agent-loop/src/index.ts)
426
-
427
- <a id="ctxagentpresets--agentpresets"></a>
428
-
429
- ### `ctx.agentPresets` — `AgentPresets`
430
-
431
- Registry over the deployment's agent presets.
432
-
433
- Discovery is unmemoized: `list()` and `resolve()` re-read the roots on every call so a preset authored while the process runs is visible immediately, and a preset deleted underneath a picker disappears from the next read.
434
-
435
- ```ts cordis-catalog
436
- /**
437
- * Every preset the configured roots currently supply.
438
- * @returns the presets, first-root-wins per id.
439
- */
440
- async list(): Promise<AgentPreset[]>
441
-
442
- /**
443
- * The roster off the Host: {@link list} projected to path-free rows, with
444
- * the default marked and this deployment's authoring capability beside it.
445
- *
446
- * Whether a client can open a preset's directory is the Host's own opener
447
- * capability, not a roster property — a caller needing both joins them.
448
- * @returns the rows and the authoring capability.
449
- */
450
- @Remote('list') async remoteExportList(): Promise<AgentPresetRoster>
451
-
452
- /**
453
- * Every preset's composition as flattened plugin rows, for plugin-listing
454
- * surfaces beside the roster's own picker.
455
- *
456
- * A preset with a live standing mount answers from its newest generation's
457
- * Loader entries — the composition new sessions join — even when the file
458
- * behind it has since been edited into an unreadable state: the mount is
459
- * what sessions actually run, so the broken verdict only applies to a
460
- * preset nothing composed. One never composed since boot answers from its
461
- * file, with `!!js` disabled gates evaluated against the Loader context so
462
- * both answers reflect the same host. Reading never mounts: an unmounted
463
- * preset is parsed, not composed, so listing a preset's plugins cannot
464
- * activate them early. A composition that stopped reading between
465
- * discovery's health verdict and this read is reported broken with the
466
- * raced reason rather than dropped.
467
- * @returns one composition per roster preset, in roster order.
468
- */
469
- async compositionInventory(): Promise<AgentPresetComposition[]>
470
-
471
- /**
472
- * Resolve one preset by id.
473
- *
474
- * A broken preset resolves — deleting one, reading one, and reporting one
475
- * all need the row — and the mounting paths refuse it AFTER resolution
476
- * through {@link resolveMountable}.
477
- * @param id - the preset id, or `undefined` for {@link defaultId}.
478
- * @returns the resolved preset.
479
- * @throws when no configured root supplies that id.
480
- */
481
- async resolve(id?: string): Promise<AgentPreset>
482
-
483
- /**
484
- * Compose one agent from a preset: ensure the preset's standing mount, then
485
- * parent the agent's scope key to it so the mount's registrations and
486
- * listeners cover this agent.
487
- *
488
- * Call from the agent factory's `setup(agentCtx)`; a rejection there rolls
489
- * the agent creation back, so a broken preset never yields a half-composed
490
- * session.
491
- * @param agentCtx - the agent's scope context.
492
- * @param id - the preset id, or `undefined` for {@link defaultId}.
493
- * @returns the preset that was composed, for the caller to record.
494
- * @throws when the preset is unknown or its composition is unusable.
495
- */
496
- async mount(agentCtx: Context, id?: string): Promise<AgentPreset>
497
-
498
- /**
499
- * Join one agent to the SAME standing composition another already runs on.
500
- *
501
- * This is how a child agent inherits its parent's capabilities. It is a bind,
502
- * not a mount: the parent's generation is already composed, so the child gets
503
- * that exact instance — the same plugin objects, the same tool registrations,
504
- * the same prompt sections. Re-resolving the parent's preset by id instead
505
- * would re-read the roster, and a composition file edited since the parent
506
- * started would hand the child a DIFFERENT generation than the one its
507
- * parent's history was produced under (and a preset deleted since would fail
508
- * the child outright while its parent keeps running).
509
- *
510
- * Synchronous, and with no composition failure mode of its own — it reads no
511
- * roster, mounts nothing, and touches no file — which is what lets a child
512
- * creation window use it: the two in-process subagent drivers compose their
513
- * children inside a synchronous `setup`. It still rejects a caller error, as
514
- * the `@throws` below record.
515
- *
516
- * A parent that joined no preset — a rosterless deployment — yields no join
517
- * and no error: there, the model-facing rows sit in the host composition and
518
- * the child already sees them through the global layer.
519
- * @param agentCtx - the joining agent's scope context.
520
- * @param parentCtx - the scope context of the agent whose composition to join.
521
- * @returns the preset id joined, or undefined when the parent joined none.
522
- * @throws when `agentCtx` carries no scope, or has already joined a preset.
523
- */
524
- composeFrom(agentCtx: Context, parentCtx: Context): string | undefined
525
-
526
- /**
527
- * The preset one live agent runs on.
528
- *
529
- * Read from the live scope chain rather than from the session, so it answers
530
- * for an agent whose session has not recorded a preset yet — a child agent
531
- * whose durable header is being built from its parent's composition.
532
- * @param agentCtx - the agent's scope context.
533
- * @returns the preset id, or undefined when the agent joined none.
534
- */
535
- composedPreset(agentCtx: Context): string | undefined
536
-
537
- /**
538
- * Read one preset's composition text.
539
- * @param id - the preset id.
540
- * @returns the composition exactly as stored.
541
- * @throws when no configured root supplies that id.
542
- */
543
- async read(id: string): Promise<string>
544
-
545
- /**
546
- * One preset's composition text with the roster row it belongs to.
547
- * @param agentPreset - the preset id.
548
- * @returns the composition beside its trust and published metadata.
549
- * @throws {RemoteError} `gateway/bad-request` for an empty id, or
550
- * `agent-preset/not-found` when no configured root supplies it.
551
- */
552
- @Remote('read') async readDocument(agentPreset: string): Promise<AgentPresetDocument>
553
-
554
- /**
555
- * Create a locally authored preset by copying an existing one whole.
556
- *
557
- * Copy is the only authoring write. Composition text never crosses this
558
- * seam: the source is named by id and its directory is copied as it stands,
559
- * so the copy is exactly as loadable as its source and authoring grants no
560
- * capability the roster did not already carry. The copy is NOT mounted to
561
- * validate — a source that mounts today yields a copy that mounts today.
562
- * @param from - the preset the copy starts from; shipped presets are the
563
- * primary source, so any trust is accepted.
564
- * @param id - the new preset's id, which becomes its directory name.
565
- * @param name - display name for the copy; absent falls back to the id.
566
- * @throws when the source is unknown, the id is unusable or already taken,
567
- * or the deployment configures no writable root.
568
- */
569
- async copy(from: string, id: string, name?: string): Promise<void>
570
-
571
- /**
572
- * Copy one preset through the Remote API.
573
- * @param from - the source preset id.
574
- * @param id - the new preset id.
575
- * @param name - the copy's optional display name.
576
- * @returns once the copy is stored.
577
- * @throws {RemoteError} with the corresponding stable preset code and
578
- * details when the copy is refused.
579
- */
580
- @Remote('copy') async remoteExportCopy(from: string, id: string, name?: string): Promise<void>
581
-
582
- /**
583
- * Delete a locally authored preset.
584
- *
585
- * @param id - the preset id.
586
- * @throws when the preset is unknown or ships with the deployment.
587
- */
588
- async remove(id: string): Promise<void>
589
-
590
- /**
591
- * Delete one preset through the Remote API.
592
- * @param id - the preset id.
593
- * @returns once the preset is deleted.
594
- * @throws {RemoteError} with the corresponding stable preset code and
595
- * details when deletion is refused.
596
- */
597
- @Remote('deletePreset') async remoteExportDelete(id: string): Promise<void>
598
-
599
- /**
600
- * One agent's instance of a service its preset mounted.
601
- *
602
- * A preset publishes services behind `isolate` realms, which are invisible
603
- * outside the group that declares them — including to the host. This is how a
604
- * caller holding the agent reads one anyway: a request that is ABOUT a
605
- * session but arrives from outside it, which is every browser RPC.
606
- *
607
- * Read addressing only. A host row that `inject`s a service cannot use this,
608
- * because injection resolves before any session exists and has no agent to
609
- * key by; such a service belongs on the host plane instead.
610
- * @param agent - the agent whose composition to look inside.
611
- * @param name - the service name as the preset's rows resolve it.
612
- * @returns the agent's instance, or undefined when its preset mounts none.
613
- */
614
- serviceFor<K extends string & keyof Context>(agent: { ctx: Context }, name: K): Context[K] | undefined
615
-
616
- /**
617
- * Re-link one agent to a different preset's standing composition.
618
- *
619
- * Only valid while the agent has produced nothing: swapping tools mid
620
- * conversation would leave logged tool calls the new composition cannot
621
- * make. The CALLER owns that check — this method does not read session
622
- * history.
623
- *
624
- * The swap is a parent re-link, not an unmount: standing mounts are shared
625
- * and permanent, so the old composition stays for its other agents and the
626
- * new one is ensured BEFORE the link moves. An unknown or unusable preset
627
- * therefore throws with the agent exactly as it was — there is no torn-down
628
- * state to restore. The re-link runs through the binding this roster kept
629
- * from the agent's mount — dsh-scope's only re-link authority. An agent
630
- * that never composed one has nothing to re-link: the switch is then the
631
- * agent's first bind, exactly a mount. A committed re-link emits
632
- * `tools/change` because changing the parent scope changes the Agent's
633
- * resolved tool set without adding or removing registry entries.
634
- * @param agentCtx - the agent's scope context.
635
- * @param id - the preset to compose the agent from instead.
636
- * @returns the preset now installed.
637
- * @throws when the preset is unknown or its composition is unusable.
638
- */
639
- async recompose(agentCtx: Context, id: string): Promise<AgentPreset>
640
-
641
- /**
642
- * Compose a blank session's agent from a different preset and record it.
643
- * @param agent - the session's live agent, resolved from the wire identity.
644
- * @param agentPreset - the preset to compose the agent from instead.
645
- * @returns the preset id that was recorded.
646
- * @throws {RemoteError} with `gateway/bad-request`, `agent-preset/locked`,
647
- * `agent-preset/not-found`, or `agent-preset/invalid` when refused.
648
- */
649
- @Remote('select') async select(agent: Agent, agentPreset: string): Promise<string>
650
-
651
- /**
652
- * The standing scope key of one preset, for a host reader with no agent.
653
- *
654
- * A cold transcript read resolves tool presenters against the composition
655
- * the session recorded, and the standing mount makes that possible without
656
- * resuming anything: ensuring the mount composes plugins but starts no
657
- * agent, no session, and no turn.
658
- * @param id - the preset id, or `undefined` for {@link defaultId}.
659
- * @returns the standing scope key readers pass as a registry view scope.
660
- * @throws when the preset is unknown or its composition is unusable.
661
- */
662
- async standingKeyFor(id?: string): Promise<ScopeKey>
663
- ```
664
-
665
- Types: [ScopeKey](scope.md)
666
-
667
- Source: [`packages/preset/agent-presets/src/index.ts`](../../packages/preset/agent-presets/src/index.ts)
668
-
669
- <a id="ctxagents--agentregistry"></a>
670
-
671
- ### `ctx.agents` — `AgentRegistry`
672
-
673
- Agent service (`ctx.agents`): tracks live agents and carries the initiating Agent through one process-local asynchronous driver chain. Agent *creation* is provided by whichever plugin implements the AgentFactory (`@deepseek-ai/dsh-agent-loop`), registered via setFactory.
674
-
675
- Initiator methods provide same-process causal attribution only. Ambient presence is neither liveness proof nor authorization; subjects and owners remain explicit, as does identity at worker, process, persistence, and wire boundaries. Returned Promise boundaries drain during teardown, except a nested lineage that starts an owning-fiber unload is excluded from its own drain.
676
-
677
- ```ts cordis-catalog
678
- /**
679
- * Read the Agent that initiated the inherited asynchronous driver chain.
680
- * Use this optional form for logging, tracing, metrics, or host attribution
681
- * that also supports agentless calls. When a parent creates a child, setup
682
- * reports the causal parent while `agentCtx.agent` identifies the child.
683
- * @returns the inherited Agent, or `undefined` outside an initiator boundary
684
- * and inside an explicit clearing boundary.
685
- * @throws when this service instance has been disposed.
686
- */
687
- currentInitiator(): Agent | undefined
688
-
689
- /**
690
- * Read the initiating Agent and fail when no initiator boundary is active.
691
- * Use this for private helpers contractually below a driver, or for a
692
- * deployment-owned outbound request whose contract forbids agentless calls.
693
- * Generic or direct-call paths use optional lookup or explicit request fields.
694
- * @returns the inherited Agent.
695
- * @throws when no initiator is active or this service instance has been disposed.
696
- */
697
- requireInitiator(): Agent
698
-
699
- /**
700
- * Run an operation with one exact Agent as its process-local initiator. The
701
- * exact synchronous value or Promise returned by the operation is preserved.
702
- * Custom drivers and test harnesses wrap their complete returned foreground
703
- * lifetime.
704
- * A queue or wire receiver may establish this boundary only after validating
705
- * explicit identity and resolving the exact live Agent; this method does neither.
706
- * Detached work remains owned by the subsystem that starts it.
707
- * @param agent - initiating Agent to inherit; presence is neither liveness proof nor authorization.
708
- * @param operation - synchronous or asynchronous operation to invoke.
709
- * @returns the exact value returned by `operation`.
710
- * @throws when the initiator scope is closing/disposed, or when `operation` throws.
711
- */
712
- withInitiator<T>(agent: Agent, operation: () => T): T
713
-
714
- /**
715
- * Run an operation inside a boundary that hides any inherited initiating
716
- * Agent. The exact synchronous value or Promise is preserved.
717
- * Use this while creating lazy shared timers, queue pumps, pool maintenance,
718
- * watchers, or exporters so they do not inherit the first Agent that happens
719
- * to initialize them. It clears only initiator attribution, not explicit
720
- * fields, and does not own or drain detached resources.
721
- * @param operation - synchronous or asynchronous operation to invoke without an initiator.
722
- * @returns the exact value returned by `operation`.
723
- * @throws when the initiator scope is closing/disposed, or when `operation` throws.
724
- */
725
- withoutInitiator<T>(operation: () => T): T
726
-
727
- /**
728
- * Register the agent-creation factory (the loop calls this on construction,
729
- * effect-scoped). A traced Cordis service is canonicalized to its concrete
730
- * target; each create/resume call is then traced through that caller's
731
- * context so ownership follows the caller without stacking proxy layers.
732
- * Throws if a factory is already registered. Returns the disposer; on
733
- * dispose the factory slot is cleared.
734
- * @param factory - the loop-owned factory {@link create}/{@link resume} delegate to.
735
- * @returns the disposer that clears the factory slot. The exact
736
- * Cordis effect disposer (single-shot): composite (generator) effects may
737
- * yield it directly — exact identity nests the teardown in order.
738
- */
739
- setFactory(factory: AgentFactory): () => void
740
-
741
- /**
742
- * Create and publish a new agent through the registered factory.
743
- * Distinct from {@link register} (which records an already-constructed
744
- * agent): this constructs the agent and its session. Rejects if no factory is
745
- * registered or creation/setup fails. The resolved {@link AgentHandle} lets
746
- * the owner tear down exactly this agent.
747
- * @param options - shared identity, session seed/metadata, and agent options.
748
- * @returns the handle after setup, rollback-covered publication, and loop start complete.
749
- */
750
- async create(options: CreateAgentOptions): Promise<AgentHandle>
751
-
752
- /**
753
- * Load a persisted session and resume an agent on it through the registered
754
- * factory. Rejects if no factory is registered; the factory rejects if
755
- * session persistence is not configured or persistence/setup fails.
756
- * @param options - persisted identity, configuration, and optional setup.
757
- * @returns the handle after setup, rollback-covered publication, and loop start complete.
758
- */
759
- async resume(options: ResumeAgentOptions): Promise<AgentHandle>
760
-
761
- /**
762
- * Register a live agent. Throws if an agent with the same id is already
763
- * registered. Emits `agent/created` on registration and `agent/disposed`
764
- * when the calling fiber is disposed — both with the agent's scope carrier
765
- * (`scopeTarget(agent, agent)`): the subject is the agent in hand, so the
766
- * emits are scope-filtered regardless of which context invoked `register`
767
- * (calling through `agent.ctx` scopes EFFECTS; dispatch scoping always
768
- * requires passing the carrier). Returns the disposer.
769
- * @param agent - the already-constructed agent to record in the store.
770
- * @returns the EXACT Cordis effect disposer (single-shot; a repeat call
771
- * returns undefined without awaiting an in-flight teardown). Exact
772
- * identity is load-bearing: a composite (generator) effect that owns a
773
- * teardown ORDER — the agent factory's lifecycle chain — must yield THIS
774
- * function so Cordis nests the unregistration at that yield position;
775
- * yielding a wrapper would leave it disposing as a concurrent sibling on
776
- * owner unload, unregistering the agent (and emitting `agent/disposed`)
777
- * while its final turn is still draining.
778
- */
779
- register(agent: Agent): () => void
780
-
781
- /**
782
- * Insert an already-constructed agent without announcing it. This is the
783
- * advanced ordered-lifecycle primitive used by the async agent factory: it
784
- * first completes setup while the agent is unpublished, then assigns the
785
- * returned detach closure into its pre-installed composite teardown before
786
- * calling {@link announce}. Ordinary callers use {@link register}.
787
- * @param agent - the prepared, unpublished agent.
788
- * @param owner - live agent whose scoped context created this agent, or
789
- * undefined for a top-level runtime root. This is runtime ownership, not
790
- * the resumed session's durable parent lineage.
791
- * @returns an idempotent closure that removes this exact entry and emits
792
- * `agent/disposed` with listener failures contained. When called from a
793
- * synchronous `agent/created` listener, removal and disposal wait until
794
- * that creation dispatch unwinds.
795
- */
796
- enter(agent: Agent, owner: Agent | undefined): () => void
797
-
798
- /**
799
- * Announce an agent previously inserted with {@link enter}.
800
- * @param agent - the live inserted agent to announce.
801
- * @throws if `agent` is not the exact live registry entry for its id, or its
802
- * creation announcement already began (including a reentrant call from a
803
- * creation listener).
804
- */
805
- announce(agent: Agent): void
806
-
807
- /**
808
- * Look up a live agent.
809
- * @param id - the shared agent/session id to look up.
810
- * @returns the agent, or undefined when no live agent has that id.
811
- */
812
- get(id: SessionId): Agent | undefined
813
-
814
- /**
815
- * Test whether a live agent was created through one exact parent agent's
816
- * scoped context. Runtime ownership is independent of durable session
817
- * lineage and remains unambiguous when unrelated providers reuse an id.
818
- * @param id - the candidate child agent's shared agent/session id.
819
- * @param owner - the expected runtime creator agent.
820
- * @returns true only while the exact child entry is live under that owner.
821
- */
822
- isOwnedBy(id: SessionId, owner: Agent): boolean
823
-
824
- /**
825
- * All live agents, in registration order.
826
- * @returns a fresh array; mutating it does not affect the registry.
827
- */
828
- list(): Agent[]
829
-
830
- /**
831
- * All live top-level agents in registration order. A top-level agent was
832
- * created without an owning agent context; durable session lineage does not
833
- * affect this runtime relation, so a resumed fork may still be a root.
834
- * @returns a fresh array; mutating it does not affect the registry.
835
- */
836
- roots(): Agent[]
837
- ```
838
-
839
- Source: [`packages/core/agent/src/index.ts`](../../packages/core/agent/src/index.ts)
840
-
841
- <a id="agent-events"></a>
842
-
843
- ### `agent/*` events
844
-
845
- <a id="agentassistant-stream--emit"></a>
846
-
847
- #### `agent/assistant-stream` — emit
848
-
849
- Process-local assistant-stream publication. Chunk frames are transient; the loop appends one final v2 `assistant/message` or `assistant/attempt` with the same stream before a committed end frame.
850
-
851
- ```ts cordis-catalog
852
- /**
853
- * Process-local assistant-stream publication. Chunk frames are transient;
854
- * the loop appends one final v2 `assistant/message` or `assistant/attempt`
855
- * with the same stream before a committed end frame.
856
- * @param payload.agent - the agent whose attempt produced the frame.
857
- * @param payload.frame - one ordered start, chunk, or end publication.
858
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
859
- * @mode emit
860
- */
861
- 'agent/assistant-stream'(this: Scoped<Agent>, payload: { agent: Agent; frame: AssistantStreamFrame }): void
862
- ```
863
-
864
- Types: [Scoped](scope.md)
865
-
866
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
867
-
868
- <a id="agentcreated--emit"></a>
869
-
870
- #### `agent/created` — emit
871
-
872
- A fully configured agent and live session were published. Setup is composition-only; `agent/session-start` is the first startup-driving extension point. Synchronous listener failure vetoes publication, while returned-promise rejection is reported. Detach requested during dispatch waits until every creation listener has observed the stable entry.
873
-
874
- ```ts cordis-catalog
875
- /**
876
- * A fully configured agent and live session were published. Setup is
877
- * composition-only; `agent/session-start` is the first startup-driving extension point.
878
- * Synchronous listener failure vetoes publication, while returned-promise
879
- * rejection is reported. Detach requested during dispatch waits until every
880
- * creation listener has observed the stable entry.
881
- * @param payload.agent - the newly registered agent with its live session and completed setup.
882
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
883
- * @mode emit
884
- */
885
- 'agent/created'(this: Scoped<Agent>, payload: { agent: Agent }): void
886
- ```
887
-
888
- Types: [Scoped](scope.md)
889
-
890
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
891
-
892
- <a id="agentdisposed--emit"></a>
893
-
894
- #### `agent/disposed` — emit
895
-
896
- An agent left the registry; AgentLoop emits this after driver quiescence and scoped-registration unwind, but before session detachment. Custom registry users own their driver-ordering contract.
897
-
898
- ```ts cordis-catalog
899
- /**
900
- * An agent left the registry; AgentLoop emits this after driver quiescence
901
- * and scoped-registration unwind, but before session detachment. Custom
902
- * registry users own their driver-ordering contract.
903
- * @param payload.agent - the exact agent removed from the registry.
904
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
905
- * @mode emit
906
- */
907
- 'agent/disposed'(this: Scoped<Agent>, payload: { agent: Agent }): void
908
- ```
909
-
910
- Types: [Scoped](scope.md)
911
-
912
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
913
-
914
- <a id="agenterror--emit"></a>
915
-
916
- #### `agent/error` — emit
917
-
918
- A step or turn errored. The machine reports a failure here even when the error has no in-turn position for a durable record.
919
-
920
- ```ts cordis-catalog
921
- /**
922
- * A step or turn errored. The machine reports a failure here even when
923
- * the error has no in-turn position for a durable record.
924
- * @param payload.agent - the agent whose turn errored.
925
- * @param payload.turn - the turn in which the failure surfaced.
926
- * @param payload.step - the step at which the failure surfaced.
927
- * @param payload.error - the failure, verbatim.
928
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
929
- * @mode emit
930
- */
931
- 'agent/error'(this: Scoped<Agent>, payload: { agent: Agent; turn: number; step: number; error: unknown }): void
932
- ```
933
-
934
- Types: [Scoped](scope.md)
935
-
936
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
937
-
938
- <a id="agentinboxclaimed--emit"></a>
939
-
940
- #### `agent/inbox/claimed` — emit
941
-
942
- One message left the inbox inside its open turn. If the proposed step is rejected, the claimed message ends here: it is neither discarded nor re-emitted as a user/message, and the turn closes without a step.
943
-
944
- ```ts cordis-catalog
945
- /**
946
- * One message left the inbox inside its open turn. If the proposed step
947
- * is rejected, the claimed message ends here: it is neither discarded nor
948
- * re-emitted as a user/message, and the turn closes without a step.
949
- * @param payload.agent - the agent whose inbox changed.
950
- * @param payload.message - the claimed message.
951
- * @param payload.turn - the owning turn.
952
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
953
- * @mode emit
954
- */
955
- 'agent/inbox/claimed'(this: Scoped<Agent>, payload: { agent: Agent; message: UserMessage; turn: number }): void
956
- ```
957
-
958
- Types: [Scoped](scope.md) · [UserMessage](session.md)
959
-
960
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
961
-
962
- <a id="agentinboxdiscarded--emit"></a>
963
-
964
- #### `agent/inbox/discarded` — emit
965
-
966
- One message was discarded from the live inbox.
967
-
968
- ```ts cordis-catalog
969
- /**
970
- * One message was discarded from the live inbox.
971
- * @param payload.agent - the agent whose inbox changed.
972
- * @param payload.message - the discarded message.
973
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
974
- * @mode emit
975
- */
976
- 'agent/inbox/discarded'(this: Scoped<Agent>, payload: { agent: Agent; message: UserMessage }): void
977
- ```
978
-
979
- Types: [Scoped](scope.md) · [UserMessage](session.md)
980
-
981
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
982
-
983
- <a id="agentinboxinserted--emit"></a>
984
-
985
- #### `agent/inbox/inserted` — emit
986
-
987
- One message entered the live inbox.
988
-
989
- ```ts cordis-catalog
990
- /**
991
- * One message entered the live inbox.
992
- * @param payload.agent - the agent whose inbox changed.
993
- * @param payload.message - the inserted message.
994
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
995
- * @mode emit
996
- */
997
- 'agent/inbox/inserted'(this: Scoped<Agent>, payload: { agent: Agent; message: UserMessage }): void
998
- ```
999
-
1000
- Types: [Scoped](scope.md) · [UserMessage](session.md)
1001
-
1002
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
1003
-
1004
- <a id="agentpre-step--waterfall"></a>
1005
-
1006
- #### `agent/pre-step` — waterfall
1007
-
1008
- Reject a proposed step or replace the messages that enter it. Calling `next()` preserves the current messages.
1009
-
1010
- ```ts cordis-catalog
1011
- /**
1012
- * Reject a proposed step or replace the messages that enter it. Calling
1013
- * `next()` preserves the current messages.
1014
- * @param payload.agent - the agent proposing the step.
1015
- * @param payload.messages - messages removed from the inbox for this step.
1016
- * @param payload.turn - the turn that will own the step.
1017
- * @param payload.step - the step proposed by the loop.
1018
- * @param payload.signal - the current turn's cancellation signal.
1019
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
1020
- * @mode waterfall
1021
- */
1022
- 'agent/pre-step'(this: Scoped<Agent>, payload: { agent: Agent; messages: UserMessage[]; turn: number; step: number; signal: AbortSignal }, next: () => Promise<PreStepDecision>): Promise<PreStepDecision>
1023
- ```
1024
-
1025
- Types: [Scoped](scope.md) · [UserMessage](session.md)
1026
-
1027
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
1028
-
1029
- <a id="agentrequest--waterfall"></a>
1030
-
1031
- #### `agent/request` — waterfall
1032
-
1033
- Replace the frozen call configuration. `await next()` yields the config the machine would use (agent options on the first request, the logged header afterwards); return a replacement to switch. Model-visible content must use logged channels; this waterfall cannot mutate messages.
1034
-
1035
- ```ts cordis-catalog
1036
- /**
1037
- * Replace the frozen call configuration. `await next()` yields the config
1038
- * the machine would use (agent options on the first request, the logged
1039
- * header afterwards); return a replacement to switch. Model-visible
1040
- * content must use logged channels; this waterfall cannot mutate messages.
1041
- * @param payload.agent - the agent making the model call.
1042
- * @param payload.turn - the open turn number.
1043
- * @param payload.step - the step whose request this is.
1044
- * @param payload.signal - the current turn's explicit abort signal.
1045
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
1046
- * @mode waterfall
1047
- */
1048
- 'agent/request'(this: Scoped<Agent>, payload: { agent: Agent; turn: number; step: number; signal: AbortSignal }, next: () => Promise<LlmCallConfig>): Promise<LlmCallConfig>
1049
- ```
1050
-
1051
- Types: [LlmCallConfig](llm-streaming.md) · [Scoped](scope.md)
1052
-
1053
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
1054
-
1055
- <a id="agentrequest-error--waterfall"></a>
1056
-
1057
- #### `agent/request-error` — waterfall
1058
-
1059
- Handle one failed model-request attempt before the loop retries or closes its step. A listener returns `{ kind: 'retry' }` without calling `next()` when it owns recovery, or calls `next()` to delegate. The default `undefined` leaves the failure terminal.
1060
-
1061
- ```ts cordis-catalog
1062
- /**
1063
- * Handle one failed model-request attempt before the loop retries or closes
1064
- * its step. A listener returns `{ kind: 'retry' }` without calling `next()`
1065
- * when it owns recovery, or calls `next()` to delegate. The default
1066
- * `undefined` leaves the failure terminal.
1067
- * @param payload.agent - the agent whose request failed.
1068
- * @param payload.turn - the turn containing the failed request.
1069
- * @param payload.step - the step containing the failed request attempt.
1070
- * @param payload.provider - the provider selected for the failed request.
1071
- * @param payload.failure - serializable facts normalized at the final adapter boundary.
1072
- * @param payload.retryPolicy - the policy of the adapter registration that served the failed request.
1073
- * @param payload.signal - the turn abort signal.
1074
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
1075
- * @mode waterfall
1076
- */
1077
- 'agent/request-error'(this: Scoped<Agent>, payload: { agent: Agent; turn: number; step: number; provider: string; failure: LlmFailure; retryPolicy: ResolvedRetryPolicy | undefined; signal: AbortSignal }, next: () => Promise<RequestErrorAction>): Promise<RequestErrorAction>
1078
- ```
1079
-
1080
- Types: [LlmFailure](llm-streaming.md) · [ResolvedRetryPolicy](llm-streaming.md) · [Scoped](scope.md)
1081
-
1082
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
1083
-
1084
- <a id="agentsession-start--emit"></a>
1085
-
1086
- #### `agent/session-start` — emit
1087
-
1088
- The session lifecycle began, once before the first turn. Use `agent.inject()` to seed model-facing context. This is a notification, not a veto; disposal requested by a lifecycle owner is rechecked before the driver starts.
1089
-
1090
- ```ts cordis-catalog
1091
- /**
1092
- * The session lifecycle began, once before the first turn. Use
1093
- * `agent.inject()` to seed model-facing context. This is a notification, not
1094
- * a veto; disposal requested by a lifecycle owner is rechecked before the
1095
- * driver starts.
1096
- * @param payload.agent - the agent whose session lifecycle began.
1097
- * @param payload.source - why the session started (fresh startup, resume, …).
1098
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
1099
- * @mode emit
1100
- */
1101
- 'agent/session-start'(this: Scoped<Agent>, payload: { agent: Agent; source: SessionStartSource }): void
1102
- ```
1103
-
1104
- Types: [Scoped](scope.md)
1105
-
1106
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
1107
-
1108
- <a id="agentstatus--emit"></a>
1109
-
1110
- #### `agent/status` — emit
1111
-
1112
- Agent status changed (`idle` ⇄ `running`). A waking delivery enters `running` synchronously after reserving cancellation; `idle` means no driver remains scheduled or active.
1113
-
1114
- ```ts cordis-catalog
1115
- /**
1116
- * Agent status changed (`idle` ⇄ `running`). A waking delivery enters
1117
- * `running` synchronously after reserving cancellation; `idle` means no
1118
- * driver remains scheduled or active.
1119
- * @param payload.agent - the agent whose status flipped.
1120
- * @param payload.status - the status just entered (the transition's destination).
1121
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
1122
- * @mode emit
1123
- */
1124
- 'agent/status'(this: Scoped<Agent>, payload: { agent: Agent; status: AgentStatus }): void
1125
- ```
1126
-
1127
- Types: [Scoped](scope.md)
1128
-
1129
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
1130
-
1131
- <a id="agentturn-stopping--serial"></a>
1132
-
1133
- #### `agent/turn-stopping` — serial
1134
-
1135
- The turn is about to close: the model owes no response (no live tool calls, no fresh steering). Awaited before the boundary commits — a listener that objects steers (`agent.steer(...)`) and the machine re-reads its inbox: fresh steering runs another step, none closes the turn. Data decides, so listener order cannot change the outcome. The inverse control (stop a tool loop early) is data too: a tool result carrying `concludesTurn` ends the turn at its step. The conclusion never short-circuits already-submitted next-step work: same-step `additionalContexts` or racing steering still runs, and the turn closes only when that inbox drains.
1136
-
1137
- ```ts cordis-catalog
1138
- /**
1139
- * The turn is about to close: the model owes no response (no live tool
1140
- * calls, no fresh steering). Awaited before the boundary commits — a
1141
- * listener that objects steers (`agent.steer(...)`) and the machine
1142
- * re-reads its inbox: fresh steering runs another step, none closes the
1143
- * turn. Data decides, so listener order cannot change the outcome. The
1144
- * inverse control (stop a tool loop early) is data too: a tool result
1145
- * carrying `concludesTurn` ends the turn at its step. The conclusion
1146
- * never short-circuits already-submitted next-step work: same-step
1147
- * `additionalContexts` or racing steering still runs, and the turn
1148
- * closes only when that inbox drains.
1149
- * @param payload.agent - the agent whose turn is at its stop boundary.
1150
- * @param payload.turn - the turn about to close.
1151
- * @param payload.signal - the current turn's explicit abort signal.
1152
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent.
1153
- * @mode serial
1154
- */
1155
- 'agent/turn-stopping'(this: Scoped<Agent>, payload: { agent: Agent; turn: number; signal: AbortSignal }): Promise<void> | void
1156
- ```
1157
-
1158
- Types: [Scoped](scope.md)
1159
-
1160
- Source: [`packages/core/agent/src/runtime-types.ts`](../../packages/core/agent/src/runtime-types.ts)
1161
-
1162
- <a id="agent-loop-events"></a>
1163
-
1164
- ### `agent-loop/*` events
1165
-
1166
- <a id="agent-loopconfig-start-failed--emit"></a>
1167
-
1168
- #### `agent-loop/config-start-failed` — emit
1169
-
1170
- A declarative agent entry failed before it could publish a live agent. Consumers that buffer work for the configured identity use this transient signal to reject that work instead of waiting forever. Normal factory teardown suppresses failures from the cancelled startup attempt.
1171
-
1172
- ```ts cordis-catalog
1173
- /**
1174
- * A declarative agent entry failed before it could publish a live agent.
1175
- * Consumers that buffer work for the configured identity use this
1176
- * transient signal to reject that work instead of waiting forever. Normal
1177
- * factory teardown suppresses failures from the cancelled startup attempt.
1178
- * @param payload.sessionId - exact shared agent/session identity that failed startup.
1179
- * @param payload.error - persistence, setup, or publication failure.
1180
- * @mode emit
1181
- */
1182
- 'agent-loop/config-start-failed'(payload: { sessionId: SessionId; error: unknown }): void
1183
- ```
1184
-
1185
- Source: [`packages/core/agent-loop/src/index.ts`](../../packages/core/agent-loop/src/index.ts)
1186
-
1187
- <a id="agent-preset-events"></a>
1188
-
1189
- ### `agent-preset/*` events
1190
-
1191
- <a id="agent-presetselected--emit"></a>
1192
-
1193
- #### `agent-preset/selected` — emit
1194
-
1195
- One session committed a different agent preset to its durable log. Consumers invalidate only state derived from that session's composition.
1196
-
1197
- ```ts cordis-catalog
1198
- /**
1199
- * One session committed a different agent preset to its durable log.
1200
- * Consumers invalidate only state derived from that session's composition.
1201
- * @mode emit
1202
- * @param sessionId - the session whose composition changed.
1203
- * @param agentPreset - the preset recorded by the committed selection.
1204
- */
1205
- 'agent-preset/selected'(sessionId: SessionId, agentPreset: string): void
1206
- ```
1207
-
1208
- Source: [`packages/preset/agent-presets/src/types.ts`](../../packages/preset/agent-presets/src/types.ts)
1209
- <!-- END GENERATED cordis-surface -->