super-dsh 0.3.0-c → 0.3.0-e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (772) hide show
  1. package/README.md +25 -22
  2. package/client/index.js +25 -11
  3. package/cordis.patch.yml +3 -3
  4. package/package.json +20 -8
  5. package/superd-hub/dist/bundle-setup.d.ts +17 -2
  6. package/superd-hub/dist/bundle-setup.js +158 -2
  7. package/superd-hub/dist/client/mesh-api.d.ts +6 -3
  8. package/superd-hub/dist/client/mesh-api.js +20 -5
  9. package/superd-hub/dist/fusion-transport.js +14 -3
  10. package/superd-hub/dist/gateway.js +2 -0
  11. package/superd-hub/dist/machines.d.ts +2 -0
  12. package/superd-hub/dist/machines.js +2 -0
  13. package/superd-hub/dist/mesh-link.d.ts +10 -2
  14. package/superd-hub/dist/mesh-link.js +131 -27
  15. package/superd-hub/dist/mesh-rpc.d.ts +1 -1
  16. package/superd-hub/dist/mesh-rpc.js +20 -12
  17. package/superd-hub/dist/pairing-auth.d.ts +7 -0
  18. package/superd-hub/dist/pairing-auth.js +29 -0
  19. package/superd-hub/lib/client/index.js +25 -11
  20. package/superd-hub/package.json +19 -2
  21. package/superd-hub/scripts/register-companion.mjs +100 -0
  22. package/bundles/better-dsh.tgz +0 -0
  23. package/bundles/manifest.json +0 -10
  24. package/node_modules/better-dsh/LICENSE +0 -24
  25. package/node_modules/better-dsh/README.md +0 -323
  26. package/node_modules/better-dsh/THIRD_PARTY_NOTICES.md +0 -52
  27. package/node_modules/better-dsh/cordis.patch.yml +0 -139
  28. package/node_modules/better-dsh/docs/00_adr/0001-bridge-tool-layer-not-service-layer.md +0 -14
  29. package/node_modules/better-dsh/docs/00_adr/0002-masking-is-presentation-only.md +0 -15
  30. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-execution-framework.md +0 -236
  31. package/node_modules/better-dsh/docs/10_plans/2026-09-23-remote-framework-impl.md +0 -2083
  32. package/node_modules/better-dsh/docs/10_plans/2026-09-26-lsp-ast-reminder.md +0 -64
  33. package/node_modules/better-dsh/docs/10_plans/A2A-messaging-channel-test-archive.md +0 -256
  34. package/node_modules/better-dsh/docs/10_plans/code-mode-vs-rlm-ipython-comparison.md +0 -137
  35. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint-review.md +0 -201
  36. package/node_modules/better-dsh/docs/10_plans/dashr-blueprint.md +0 -561
  37. package/node_modules/better-dsh/docs/10_plans/dashr-compaction-window-and-archive.md +0 -307
  38. package/node_modules/better-dsh/docs/10_plans/dashr-profile-layer-feasibility.md +0 -367
  39. package/node_modules/better-dsh/docs/10_plans/dashr-sandbox-escalation-semantics-gap.md +0 -171
  40. package/node_modules/better-dsh/docs/10_plans/dashr-security-sandbox-analysis.md +0 -187
  41. package/node_modules/better-dsh/docs/10_plans/dashr-surface-invariant-and-omp-imports.md +0 -97
  42. package/node_modules/better-dsh/docs/10_plans/ipython-kernel-interactive-interface-test-report.md +0 -152
  43. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft.md +0 -146
  44. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v3.md +0 -50
  45. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-IPython-Control-Prompt-draft_v4.md +0 -79
  46. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/Dash-vs-PrimeAgent-systemprompt-toolcatalog-comparison.md +0 -138
  47. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/RLM-system-prompt-injection-gap-report.md +0 -161
  48. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/V0.1.5-development-plan.md +0 -109
  49. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_dsh.md +0 -50
  50. package/node_modules/better-dsh/docs/10_plans/kernel-refactoring/actinoable-surface-to-llm-in-agent-runtime_prime.md +0 -113
  51. package/node_modules/better-dsh/docs/10_plans/recallable-compaction.md +0 -147
  52. package/node_modules/better-dsh/docs/10_plans/spike-tag-repro.mjs +0 -102
  53. package/node_modules/better-dsh/docs/10_plans/upstream-analysis.md +0 -128
  54. package/node_modules/better-dsh/docs/20_specs/agent/spec.md +0 -54
  55. package/node_modules/better-dsh/docs/20_specs/ast/spec.md +0 -57
  56. package/node_modules/better-dsh/docs/20_specs/compaction-recall/spec.md +0 -46
  57. package/node_modules/better-dsh/docs/20_specs/ctx/spec.md +0 -107
  58. package/node_modules/better-dsh/docs/20_specs/dsh/spec.md +0 -47
  59. package/node_modules/better-dsh/docs/20_specs/dvc/spec.md +0 -106
  60. package/node_modules/better-dsh/docs/20_specs/escalation-guidance/spec.md +0 -44
  61. package/node_modules/better-dsh/docs/20_specs/fs-scheme-resolution/spec.md +0 -37
  62. package/node_modules/better-dsh/docs/20_specs/hash-edit/spec.md +0 -41
  63. package/node_modules/better-dsh/docs/20_specs/http-read/spec.md +0 -73
  64. package/node_modules/better-dsh/docs/20_specs/kernel-provisioning/spec.md +0 -53
  65. package/node_modules/better-dsh/docs/20_specs/lsp/spec.md +0 -121
  66. package/node_modules/better-dsh/docs/20_specs/mobile-layout/spec.md +0 -108
  67. package/node_modules/better-dsh/docs/20_specs/model-failover/spec.md +0 -20
  68. package/node_modules/better-dsh/docs/20_specs/plugins-page-components/spec.md +0 -79
  69. package/node_modules/better-dsh/docs/20_specs/preact-ui-shell/spec.md +0 -22
  70. package/node_modules/better-dsh/docs/20_specs/repl-dispatch-resilience/spec.md +0 -21
  71. package/node_modules/better-dsh/docs/20_specs/skill/spec.md +0 -58
  72. package/node_modules/better-dsh/docs/20_specs/tool-surface/spec.md +0 -222
  73. package/node_modules/better-dsh/docs/20_specs/url-schema/spec.md +0 -148
  74. package/node_modules/better-dsh/docs/20_specs/web-trust-fence/spec.md +0 -43
  75. package/node_modules/better-dsh/docs/50_test-reports/2026-09-06-write/345/267/245/345/205/267sandbox/345/215/207/347/272/247/351/200/217/344/274/240bug/345/244/215/345/217/221/345/217/212/346/214/202/350/265/267-/344/272/213/344/273/266/346/212/245/345/221/212.md +0 -176
  76. package/node_modules/better-dsh/docs/50_test-reports/2026-09-08-hashline-edit-E_RANGE_UNVERIFIED/350/267/250/350/275/256/344/274/232/350/257/235/351/224/256/345/244/261/346/225/210-/350/257/212/346/226/255/346/212/245/345/221/212.md +0 -226
  77. package/node_modules/better-dsh/docs/50_test-reports/2026-09-11-control-prompt-into-eval-description/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -222
  78. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-fs-scheme-resolution-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -81
  79. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-grammar-matrix/344/270/216catalog-centralize-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -234
  80. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-design/351/252/214/350/257/201/346/212/245/345/221/212.md +0 -160
  81. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/345/211/247/346/234/254.md +0 -44
  82. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-recallable-context-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -89
  83. package/node_modules/better-dsh/docs/50_test-reports/2026-09-12-url-schemes-/345/205/255scheme/345/206/222/347/203/237/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -198
  84. package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-hashline-off/344/270/213scheme/345/217/257/350/276/276/346/200/247/345/267/245/345/205/267/351/235/242/344/270/215/345/257/271/347/247/260-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -246
  85. package/node_modules/better-dsh/docs/50_test-reports/2026-09-13-preact-ui-shell/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -50
  86. package/node_modules/better-dsh/docs/50_test-reports/2026-09-14-4999-skill/346/270/205/345/215/225/344/270/216lsp-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
  87. package/node_modules/better-dsh/docs/50_test-reports/2026-09-17-plugins/351/241/265/345/205/255/347/273/204/344/273/266/346/213/206/345/210/206/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
  88. package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-4988/345/217/214/345/271/263/351/235/242/345/220/257/345/212/250/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -76
  89. package/node_modules/better-dsh/docs/50_test-reports/2026-09-22-better-dsh/347/273/204/344/273/266/347/203/255/346/217/222/346/213/224/344/270/216/344/276/235/350/265/226/347/272/247/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -134
  90. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -92
  91. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-remote-framework/347/254/254/344/270/200/344/272/272/347/247/260/345/244/215/346/265/213/346/212/245/345/221/212.md +0 -125
  92. package/node_modules/better-dsh/docs/50_test-reports/2026-09-23-ssh/345/267/245/345/205/267assisted-pty/344/274/232/350/257/235framing/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -207
  93. package/node_modules/better-dsh/docs/50_test-reports/2026-09-24-v0.1.7-rc.1/345/257/271/351/275/220/350/275/256-compaction/344/270/216failover/350/256/276/347/275/256/351/235/242/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -65
  94. package/node_modules/better-dsh/docs/50_test-reports/2026-09-27-lsp-ast-reminder-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -53
  95. package/node_modules/better-dsh/docs/50_test-reports/2026-09-28-ctx-scheme/351/225/277/344/274/232/350/257/235utility/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -155
  96. package/node_modules/better-dsh/docs/50_test-reports/2026-10-01-v0.2.4d-web-password-gate/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -105
  97. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-better-dsh-schemastery/344/276/235/350/265/226/345/243/260/346/230/216/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -62
  98. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-ctx-navigation/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -137
  99. package/node_modules/better-dsh/docs/50_test-reports/2026-10-02-v0.2.0-rc.2/345/257/271/351/275/220/350/275/256/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -38
  100. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-ast-engine-deomp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -325
  101. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-better-dsh-tool-surface-repl-dvc-browser-ast-lsp-4999/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -185
  102. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-docs-packaging-trim/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
  103. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-physical-import/344/270/216llm-completion-ast/347/233/270/345/257/271/350/267/257/345/276/204/344/277/256/345/244/215/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -101
  104. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-pnpm11/345/271/264/351/276/204/351/227/250/351/224/201/346/226/207/344/273/266/347/233/270/344/275/215/345/256/236/350/257/201.md +0 -54
  105. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-remote-BYO-PTY-label/351/207/215/346/236/204/347/254/254/344/270/200/344/272/272/347/247/260/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -447
  106. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-schemastery-cosmokit/346/272/220/347/240/201/345/206/205/350/201/224/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -63
  107. package/node_modules/better-dsh/docs/50_test-reports/2026-10-03-zero-npm-runtime-deps/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -82
  108. package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast-engine-deomp-0.2.5-d/345/217/221/345/270/203/351/252/214/346/224/266/346/212/245/345/221/212.md +0 -220
  109. package/node_modules/better-dsh/docs/50_test-reports/2026-10-04-ast_grep/344/270/216ast_edit/345/245/221/347/272/246/344/270/216/350/276/271/347/225/214/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -151
  110. package/node_modules/better-dsh/docs/50_test-reports/2026-10-06-authentication-only-web-admission-4999.md +0 -63
  111. package/node_modules/better-dsh/docs/50_test-reports/2026-10-07-better-dsh-welcome-self-contained-4999.md +0 -52
  112. package/node_modules/better-dsh/docs/50_test-reports/REPL-/345/267/245/345/205/267/350/260/203/347/224/250-/346/210/252/346/226/255/350/257/212/346/226/255.md +0 -110
  113. package/node_modules/better-dsh/docs/50_test-reports/kernel-provisioning.md +0 -44
  114. package/node_modules/better-dsh/docs/50_test-reports/repl-kernel-provisioning-test-report.md +0 -87
  115. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-local-test-report.md +0 -81
  116. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.2-alpha.5-report.md +0 -93
  117. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-local-test-report.md +0 -44
  118. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.3-alpha.2-report.md +0 -110
  119. package/node_modules/better-dsh/docs/50_test-reports/upstream-dsh-0.1.5-rc.2-local-test-report.md +0 -79
  120. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-improved-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -142
  121. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -193
  122. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -96
  123. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -127
  124. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -150
  125. package/node_modules/better-dsh/docs/50_test-reports/v0.1.8e-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -224
  126. package/node_modules/better-dsh/docs/50_test-reports/v0.1.9a-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -168
  127. package/node_modules/better-dsh/docs/50_test-reports/v0.2.0b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -123
  128. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -110
  129. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1b-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -86
  130. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1c-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -66
  131. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1d-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -67
  132. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1e-P1-/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -136
  133. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1ef-dev-audit-report.md +0 -73
  134. package/node_modules/better-dsh/docs/50_test-reports/v0.2.1f-plugin-shipped-ui-patches/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -102
  135. package/node_modules/better-dsh/docs/50_test-reports/v0.2.3b-hashline-content-locator/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -73
  136. package/node_modules/better-dsh/docs/50_test-reports/v0.2.3c-mobile-wave/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -47
  137. package/node_modules/better-dsh/docs/50_test-reports/v0.2.4-ios-focus-zoom-suppression/345/256/236/346/265/213/346/212/245/345/221/212.md +0 -158
  138. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/SKILL.md +0 -147
  139. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch01-user-guide.md +0 -123
  140. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch02-plugin-basics.md +0 -127
  141. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch03-plugin-framework-practice.md +0 -120
  142. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch04-cordis-fundamentals.md +0 -129
  143. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch05-cordis-api.md +0 -115
  144. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch06-architecture.md +0 -109
  145. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch07-capability-seams.md +0 -97
  146. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch08-internals-pipelines.md +0 -111
  147. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch09-api-gateway.md +0 -106
  148. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch10-config-catalog.md +0 -97
  149. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch11-tool-catalog.md +0 -121
  150. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch12-persistence-catalog.md +0 -109
  151. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch13-subsystems-core-session.md +0 -106
  152. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch14-subsystems-agent-loop.md +0 -111
  153. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch15-subsystems-tool-execution.md +0 -106
  154. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch16-subsystems-session-data.md +0 -132
  155. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch17-subsystems-llm-streaming.md +0 -128
  156. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch18-subsystems-web-ui.md +0 -142
  157. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch19-cookbook.md +0 -149
  158. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch20-development-testing.md +0 -87
  159. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch21-postmortems.md +0 -82
  160. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/chapters/ch22-i18n.md +0 -86
  161. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/cheatsheet.md +0 -67
  162. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/glossary.md +0 -57
  163. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/skill/patterns.md +0 -88
  164. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/AGENTS.md +0 -75
  165. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.md +0 -84
  166. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/agent-lifecycle.zh.md +0 -86
  167. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.md +0 -164
  168. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/api-gateway.zh.md +0 -164
  169. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.md +0 -150
  170. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/architecture.zh.md +0 -154
  171. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.md +0 -543
  172. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/capability-seams.zh.md +0 -545
  173. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.md +0 -3473
  174. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/config-catalog.zh.md +0 -3474
  175. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.md +0 -117
  176. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-package.zh.md +0 -119
  177. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.md +0 -197
  178. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-remote-api.zh.md +0 -197
  179. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.md +0 -102
  180. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-settings-card.zh.md +0 -102
  181. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.md +0 -101
  182. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-tool.zh.md +0 -103
  183. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.md +0 -59
  184. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  185. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.md +0 -43
  186. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  187. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.md +0 -132
  188. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/extension-cookbook.zh.md +0 -136
  189. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.md +0 -64
  190. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  191. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  192. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  193. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.md +0 -364
  194. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/context.zh.md +0 -366
  195. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.md +0 -207
  196. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/events.zh.md +0 -209
  197. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.md +0 -375
  198. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/fiber.zh.md +0 -377
  199. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/inherited.md +0 -39
  200. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.md +0 -152
  201. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/registry.zh.md +0 -154
  202. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.md +0 -102
  203. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-api/service.zh.md +0 -104
  204. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.md +0 -45
  205. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-primer.zh.md +0 -51
  206. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.md +0 -95
  207. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  208. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  209. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  210. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.md +0 -98
  211. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/03-services.zh.md +0 -98
  212. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.md +0 -144
  213. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/04-events.zh.md +0 -144
  214. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.md +0 -84
  215. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/05-config.zh.md +0 -84
  216. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  217. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  218. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.md +0 -108
  219. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  220. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.md +0 -60
  221. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/cordis-tutorial/index.zh.md +0 -62
  222. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.md +0 -163
  223. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
  224. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.md +0 -33
  225. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/defensive-patterns.zh.md +0 -35
  226. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.md +0 -167
  227. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/development.zh.md +0 -173
  228. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.md +0 -86
  229. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/event-producer-consumer.zh.md +0 -88
  230. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.md +0 -45
  231. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/glossary.zh.md +0 -45
  232. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.md +0 -22
  233. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/graph-atlas.zh.md +0 -24
  234. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.md +0 -60
  235. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/README.zh.md +0 -62
  236. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/style-samples.md +0 -87
  237. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/terminology.md +0 -214
  238. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-prompt.md +0 -263
  239. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.md +0 -69
  240. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/i18n/translation-rules.zh.md +0 -69
  241. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.md +0 -1411
  242. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/module-graph.zh.md +0 -1413
  243. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.md +0 -1075
  244. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/persistence-catalog.zh.md +0 -1077
  245. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  246. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  247. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  248. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  249. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  250. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  251. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  252. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  253. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.md +0 -18
  254. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/postmortem/README.zh.md +0 -18
  255. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.md +0 -53
  256. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/rescope.zh.md +0 -53
  257. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.md +0 -61
  258. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/README.zh.md +0 -61
  259. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.md +0 -207
  260. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/agent-team.zh.md +0 -207
  261. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.md +0 -170
  262. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/approval.zh.md +0 -170
  263. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.md +0 -351
  264. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/attachment.zh.md +0 -351
  265. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.md +0 -168
  266. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/client-modules.zh.md +0 -168
  267. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.md +0 -195
  268. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/code-runtime.zh.md +0 -195
  269. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.md +0 -219
  270. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/commands.zh.md +0 -219
  271. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.md +0 -238
  272. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/compaction.zh.md +0 -238
  273. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.md +0 -258
  274. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/conversation.zh.md +0 -258
  275. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.md +0 -1209
  276. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/core.zh.md +0 -1219
  277. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.md +0 -329
  278. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/credentials.zh.md +0 -329
  279. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.md +0 -382
  280. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/extensions.zh.md +0 -382
  281. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.md +0 -266
  282. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/feedback.zh.md +0 -266
  283. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.md +0 -505
  284. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/filesystem.zh.md +0 -505
  285. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.md +0 -277
  286. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/goal.zh.md +0 -277
  287. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.md +0 -88
  288. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/invariants.zh.md +0 -88
  289. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.md +0 -290
  290. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/jobs.zh.md +0 -290
  291. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.md +0 -1080
  292. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/llm-streaming.zh.md +0 -1086
  293. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.md +0 -202
  294. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/lsp.zh.md +0 -202
  295. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.md +0 -131
  296. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/permission-presets.zh.md +0 -131
  297. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.md +0 -395
  298. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/persistence.zh.md +0 -395
  299. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.md +0 -87
  300. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/plan.zh.md +0 -87
  301. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.md +0 -220
  302. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/sandbox.zh.md +0 -220
  303. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.md +0 -192
  304. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/schedule.zh.md +0 -192
  305. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.md +0 -59
  306. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/scope.zh.md +0 -59
  307. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.md +0 -354
  308. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-projection.zh.md +0 -354
  309. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.md +0 -509
  310. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-query.zh.md +0 -509
  311. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.md +0 -219
  312. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-reference.zh.md +0 -219
  313. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.md +0 -194
  314. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-telemetry.zh.md +0 -194
  315. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.md +0 -204
  316. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session-title.zh.md +0 -204
  317. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.md +0 -1155
  318. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/session.zh.md +0 -1159
  319. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.md +0 -405
  320. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/settings.zh.md +0 -405
  321. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.md +0 -303
  322. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/shell.zh.md +0 -303
  323. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.md +0 -354
  324. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/skills.zh.md +0 -354
  325. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.md +0 -175
  326. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/slots.zh.md +0 -175
  327. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.md +0 -117
  328. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/spill.zh.md +0 -117
  329. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.md +0 -260
  330. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/storage.zh.md +0 -260
  331. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.md +0 -766
  332. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subagent.zh.md +0 -770
  333. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.md +0 -324
  334. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/subprocess.zh.md +0 -324
  335. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.md +0 -220
  336. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/system-prompt.zh.md +0 -220
  337. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.md +0 -184
  338. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/terminal.zh.md +0 -184
  339. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.md +0 -32
  340. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/todo.zh.md +0 -32
  341. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.md +0 -105
  342. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/token-meter.zh.md +0 -105
  343. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.md +0 -720
  344. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/tools.zh.md +0 -720
  345. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.md +0 -343
  346. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/typert.zh.md +0 -343
  347. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.md +0 -178
  348. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/user-questions.zh.md +0 -178
  349. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.md +0 -95
  350. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-client.zh.md +0 -95
  351. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.md +0 -154
  352. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web-server.zh.md +0 -154
  353. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.md +0 -206
  354. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/web.zh.md +0 -206
  355. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.md +0 -70
  356. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/webhook.zh.md +0 -70
  357. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.md +0 -278
  358. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workflow.zh.md +0 -278
  359. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.md +0 -321
  360. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/subsystems/workspace.zh.md +0 -321
  361. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.md +0 -54
  362. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/testing.zh.md +0 -54
  363. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.md +0 -2225
  364. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-catalog.zh.md +0 -2233
  365. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.md +0 -62
  366. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/tool-execution-pipeline.zh.md +0 -64
  367. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.md +0 -106
  368. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/config.zh.md +0 -106
  369. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.md +0 -144
  370. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/index.zh.md +0 -144
  371. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.md +0 -183
  372. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/publish.zh.md +0 -183
  373. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.md +0 -52
  374. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/basic/tool.zh.md +0 -52
  375. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.md +0 -143
  376. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/events.zh.md +0 -143
  377. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.md +0 -137
  378. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/index.zh.md +0 -137
  379. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.md +0 -148
  380. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/framework/service.zh.md +0 -150
  381. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.md +0 -15
  382. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  383. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.md +0 -155
  384. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/index.zh.md +0 -155
  385. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.md +0 -189
  386. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/develop/practice/llm-adapter.zh.md +0 -189
  387. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.md +0 -102
  388. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/github-review.zh.md +0 -102
  389. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.md +0 -30
  390. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/index.zh.md +0 -30
  391. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.md +0 -101
  392. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/mcp-memory.zh.md +0 -101
  393. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.md +0 -85
  394. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/network-proxy.zh.md +0 -85
  395. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.md +0 -190
  396. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/providers.zh.md +0 -190
  397. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.md +0 -150
  398. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/python-sdk.zh.md +0 -150
  399. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.md +0 -21
  400. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/guide/schedule.zh.md +0 -21
  401. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.md +0 -11
  402. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/user/index.zh.md +0 -11
  403. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.md +0 -29
  404. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/docs/web-styling.zh.md +0 -29
  405. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages-map.txt +0 -234
  406. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src/site-pages.json +0 -232
  407. package/node_modules/better-dsh/docs/80_upstream-docs-and-skills/dsh-dev-skill/src-README.md +0 -63
  408. package/node_modules/better-dsh/docs/dev-test-environment-notes.md +0 -137
  409. package/node_modules/better-dsh/docs/distro-blueprint.md +0 -81
  410. package/node_modules/better-dsh/docs/dsh-webUI-with-rlm-mode.png +0 -0
  411. package/node_modules/better-dsh/docs/repositioning-and-rebranding.md +0 -102
  412. package/node_modules/better-dsh/docs/specs/agent/spec.md +0 -54
  413. package/node_modules/better-dsh/docs/specs/ast/spec.md +0 -57
  414. package/node_modules/better-dsh/docs/specs/ast-engine-deomp/spec.md +0 -170
  415. package/node_modules/better-dsh/docs/specs/authentication-only-web-admission/spec.md +0 -51
  416. package/node_modules/better-dsh/docs/specs/compaction-recall/spec.md +0 -46
  417. package/node_modules/better-dsh/docs/specs/ctx/spec.md +0 -179
  418. package/node_modules/better-dsh/docs/specs/docs-packaging-trim/spec.md +0 -110
  419. package/node_modules/better-dsh/docs/specs/dsh/spec.md +0 -47
  420. package/node_modules/better-dsh/docs/specs/dvc/spec.md +0 -106
  421. package/node_modules/better-dsh/docs/specs/escalation-guidance/spec.md +0 -44
  422. package/node_modules/better-dsh/docs/specs/fs-scheme-resolution/spec.md +0 -37
  423. package/node_modules/better-dsh/docs/specs/hash-edit/spec.md +0 -41
  424. package/node_modules/better-dsh/docs/specs/http-read/spec.md +0 -73
  425. package/node_modules/better-dsh/docs/specs/kernel-provisioning/spec.md +0 -53
  426. package/node_modules/better-dsh/docs/specs/lsp/spec.md +0 -121
  427. package/node_modules/better-dsh/docs/specs/mobile-layout/spec.md +0 -108
  428. package/node_modules/better-dsh/docs/specs/model-failover/spec.md +0 -20
  429. package/node_modules/better-dsh/docs/specs/model-picker-ios-blur/spec.md +0 -168
  430. package/node_modules/better-dsh/docs/specs/plugins-page-components/spec.md +0 -79
  431. package/node_modules/better-dsh/docs/specs/preact-ui-shell/spec.md +0 -22
  432. package/node_modules/better-dsh/docs/specs/remote-pty-label/spec.md +0 -126
  433. package/node_modules/better-dsh/docs/specs/repl-dispatch-resilience/spec.md +0 -21
  434. package/node_modules/better-dsh/docs/specs/skill/spec.md +0 -58
  435. package/node_modules/better-dsh/docs/specs/tool-surface/spec.md +0 -222
  436. package/node_modules/better-dsh/docs/specs/url-schema/spec.md +0 -148
  437. package/node_modules/better-dsh/docs/specs/web-trust-fence/spec.md +0 -43
  438. package/node_modules/better-dsh/docs/specs/welcome-self-contained/spec.md +0 -13
  439. package/node_modules/better-dsh/docs/specs/zero-npm-runtime-deps/spec.md +0 -85
  440. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-02-ctx-navigation.md +0 -319
  441. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-ast-engine-deomp.md +0 -1214
  442. package/node_modules/better-dsh/docs/superpowers/plans/2026-10-03-docs-packaging-trim.md +0 -181
  443. package/node_modules/better-dsh/docs/superpowers/specs/2026-10-02-ctx-navigation-design.md +0 -209
  444. package/node_modules/better-dsh/docs/upstream-dsh-0.1.5-rc.2-report.md +0 -156
  445. package/node_modules/better-dsh/dsh-docs/AGENTS.md +0 -75
  446. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.md +0 -84
  447. package/node_modules/better-dsh/dsh-docs/agent-lifecycle.zh.md +0 -86
  448. package/node_modules/better-dsh/dsh-docs/api-gateway.md +0 -164
  449. package/node_modules/better-dsh/dsh-docs/api-gateway.zh.md +0 -164
  450. package/node_modules/better-dsh/dsh-docs/architecture.md +0 -150
  451. package/node_modules/better-dsh/dsh-docs/architecture.zh.md +0 -154
  452. package/node_modules/better-dsh/dsh-docs/baseline.md +0 -13
  453. package/node_modules/better-dsh/dsh-docs/capability-seams.md +0 -543
  454. package/node_modules/better-dsh/dsh-docs/capability-seams.zh.md +0 -545
  455. package/node_modules/better-dsh/dsh-docs/config-catalog.md +0 -3473
  456. package/node_modules/better-dsh/dsh-docs/config-catalog.zh.md +0 -3474
  457. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.md +0 -117
  458. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-package.zh.md +0 -119
  459. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.md +0 -197
  460. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-remote-api.zh.md +0 -197
  461. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.md +0 -109
  462. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-session-format-version.zh.md +0 -109
  463. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.md +0 -102
  464. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-settings-card.zh.md +0 -102
  465. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.md +0 -101
  466. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-tool.zh.md +0 -103
  467. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.md +0 -59
  468. package/node_modules/better-dsh/dsh-docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  469. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.md +0 -43
  470. package/node_modules/better-dsh/dsh-docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  471. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.md +0 -132
  472. package/node_modules/better-dsh/dsh-docs/cookbook/extension-cookbook.zh.md +0 -136
  473. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.md +0 -64
  474. package/node_modules/better-dsh/dsh-docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  475. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  476. package/node_modules/better-dsh/dsh-docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  477. package/node_modules/better-dsh/dsh-docs/cordis-api/context.md +0 -364
  478. package/node_modules/better-dsh/dsh-docs/cordis-api/context.zh.md +0 -366
  479. package/node_modules/better-dsh/dsh-docs/cordis-api/events.md +0 -207
  480. package/node_modules/better-dsh/dsh-docs/cordis-api/events.zh.md +0 -209
  481. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.md +0 -375
  482. package/node_modules/better-dsh/dsh-docs/cordis-api/fiber.zh.md +0 -377
  483. package/node_modules/better-dsh/dsh-docs/cordis-api/inherited.md +0 -39
  484. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.md +0 -152
  485. package/node_modules/better-dsh/dsh-docs/cordis-api/registry.zh.md +0 -154
  486. package/node_modules/better-dsh/dsh-docs/cordis-api/service.md +0 -102
  487. package/node_modules/better-dsh/dsh-docs/cordis-api/service.zh.md +0 -104
  488. package/node_modules/better-dsh/dsh-docs/cordis-primer.md +0 -45
  489. package/node_modules/better-dsh/dsh-docs/cordis-primer.zh.md +0 -51
  490. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.md +0 -95
  491. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  492. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  493. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  494. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.md +0 -98
  495. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/03-services.zh.md +0 -98
  496. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.md +0 -144
  497. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/04-events.zh.md +0 -144
  498. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.md +0 -84
  499. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/05-config.zh.md +0 -84
  500. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  501. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  502. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.md +0 -108
  503. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  504. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.md +0 -60
  505. package/node_modules/better-dsh/dsh-docs/cordis-tutorial/index.zh.md +0 -62
  506. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.md +0 -163
  507. package/node_modules/better-dsh/dsh-docs/deepseek-llm-api-wire-extensions.zh.md +0 -163
  508. package/node_modules/better-dsh/dsh-docs/defensive-patterns.md +0 -33
  509. package/node_modules/better-dsh/dsh-docs/defensive-patterns.zh.md +0 -35
  510. package/node_modules/better-dsh/dsh-docs/development.md +0 -167
  511. package/node_modules/better-dsh/dsh-docs/development.zh.md +0 -173
  512. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.md +0 -86
  513. package/node_modules/better-dsh/dsh-docs/event-producer-consumer.zh.md +0 -88
  514. package/node_modules/better-dsh/dsh-docs/glossary.md +0 -45
  515. package/node_modules/better-dsh/dsh-docs/glossary.zh.md +0 -45
  516. package/node_modules/better-dsh/dsh-docs/graph-atlas.md +0 -22
  517. package/node_modules/better-dsh/dsh-docs/graph-atlas.zh.md +0 -24
  518. package/node_modules/better-dsh/dsh-docs/i18n/README.md +0 -60
  519. package/node_modules/better-dsh/dsh-docs/i18n/README.zh.md +0 -62
  520. package/node_modules/better-dsh/dsh-docs/i18n/style-samples.md +0 -87
  521. package/node_modules/better-dsh/dsh-docs/i18n/terminology.md +0 -214
  522. package/node_modules/better-dsh/dsh-docs/i18n/translation-prompt.md +0 -263
  523. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.md +0 -69
  524. package/node_modules/better-dsh/dsh-docs/i18n/translation-rules.zh.md +0 -69
  525. package/node_modules/better-dsh/dsh-docs/module-graph.md +0 -1411
  526. package/node_modules/better-dsh/dsh-docs/module-graph.zh.md +0 -1413
  527. package/node_modules/better-dsh/dsh-docs/persistence-catalog.md +0 -1075
  528. package/node_modules/better-dsh/dsh-docs/persistence-catalog.zh.md +0 -1077
  529. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  530. package/node_modules/better-dsh/dsh-docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  531. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  532. package/node_modules/better-dsh/dsh-docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  533. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  534. package/node_modules/better-dsh/dsh-docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  535. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  536. package/node_modules/better-dsh/dsh-docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  537. package/node_modules/better-dsh/dsh-docs/postmortem/README.md +0 -18
  538. package/node_modules/better-dsh/dsh-docs/postmortem/README.zh.md +0 -18
  539. package/node_modules/better-dsh/dsh-docs/rescope.md +0 -53
  540. package/node_modules/better-dsh/dsh-docs/rescope.zh.md +0 -53
  541. package/node_modules/better-dsh/dsh-docs/session-format-status.md +0 -47
  542. package/node_modules/better-dsh/dsh-docs/session-format-status.zh.md +0 -47
  543. package/node_modules/better-dsh/dsh-docs/subsystems/README.md +0 -61
  544. package/node_modules/better-dsh/dsh-docs/subsystems/README.zh.md +0 -61
  545. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.md +0 -207
  546. package/node_modules/better-dsh/dsh-docs/subsystems/agent-team.zh.md +0 -207
  547. package/node_modules/better-dsh/dsh-docs/subsystems/approval.md +0 -170
  548. package/node_modules/better-dsh/dsh-docs/subsystems/approval.zh.md +0 -170
  549. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.md +0 -351
  550. package/node_modules/better-dsh/dsh-docs/subsystems/attachment.zh.md +0 -351
  551. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.md +0 -168
  552. package/node_modules/better-dsh/dsh-docs/subsystems/client-modules.zh.md +0 -168
  553. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.md +0 -91
  554. package/node_modules/better-dsh/dsh-docs/subsystems/client-resources.zh.md +0 -91
  555. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.md +0 -195
  556. package/node_modules/better-dsh/dsh-docs/subsystems/code-runtime.zh.md +0 -195
  557. package/node_modules/better-dsh/dsh-docs/subsystems/commands.md +0 -219
  558. package/node_modules/better-dsh/dsh-docs/subsystems/commands.zh.md +0 -219
  559. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.md +0 -238
  560. package/node_modules/better-dsh/dsh-docs/subsystems/compaction.zh.md +0 -238
  561. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.md +0 -258
  562. package/node_modules/better-dsh/dsh-docs/subsystems/conversation.zh.md +0 -258
  563. package/node_modules/better-dsh/dsh-docs/subsystems/core.md +0 -1209
  564. package/node_modules/better-dsh/dsh-docs/subsystems/core.zh.md +0 -1219
  565. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.md +0 -329
  566. package/node_modules/better-dsh/dsh-docs/subsystems/credentials.zh.md +0 -329
  567. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.md +0 -382
  568. package/node_modules/better-dsh/dsh-docs/subsystems/extensions.zh.md +0 -382
  569. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.md +0 -266
  570. package/node_modules/better-dsh/dsh-docs/subsystems/feedback.zh.md +0 -266
  571. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.md +0 -505
  572. package/node_modules/better-dsh/dsh-docs/subsystems/filesystem.zh.md +0 -505
  573. package/node_modules/better-dsh/dsh-docs/subsystems/goal.md +0 -277
  574. package/node_modules/better-dsh/dsh-docs/subsystems/goal.zh.md +0 -277
  575. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.md +0 -91
  576. package/node_modules/better-dsh/dsh-docs/subsystems/invariants.zh.md +0 -91
  577. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.md +0 -290
  578. package/node_modules/better-dsh/dsh-docs/subsystems/jobs.zh.md +0 -290
  579. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.md +0 -1080
  580. package/node_modules/better-dsh/dsh-docs/subsystems/llm-streaming.zh.md +0 -1086
  581. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.md +0 -202
  582. package/node_modules/better-dsh/dsh-docs/subsystems/lsp.zh.md +0 -202
  583. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.md +0 -131
  584. package/node_modules/better-dsh/dsh-docs/subsystems/permission-presets.zh.md +0 -131
  585. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.md +0 -395
  586. package/node_modules/better-dsh/dsh-docs/subsystems/persistence.zh.md +0 -395
  587. package/node_modules/better-dsh/dsh-docs/subsystems/plan.md +0 -87
  588. package/node_modules/better-dsh/dsh-docs/subsystems/plan.zh.md +0 -87
  589. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.md +0 -220
  590. package/node_modules/better-dsh/dsh-docs/subsystems/sandbox.zh.md +0 -220
  591. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.md +0 -192
  592. package/node_modules/better-dsh/dsh-docs/subsystems/schedule.zh.md +0 -192
  593. package/node_modules/better-dsh/dsh-docs/subsystems/scope.md +0 -59
  594. package/node_modules/better-dsh/dsh-docs/subsystems/scope.zh.md +0 -59
  595. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.md +0 -354
  596. package/node_modules/better-dsh/dsh-docs/subsystems/session-projection.zh.md +0 -354
  597. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.md +0 -509
  598. package/node_modules/better-dsh/dsh-docs/subsystems/session-query.zh.md +0 -509
  599. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.md +0 -219
  600. package/node_modules/better-dsh/dsh-docs/subsystems/session-reference.zh.md +0 -219
  601. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.md +0 -194
  602. package/node_modules/better-dsh/dsh-docs/subsystems/session-telemetry.zh.md +0 -194
  603. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.md +0 -204
  604. package/node_modules/better-dsh/dsh-docs/subsystems/session-title.zh.md +0 -204
  605. package/node_modules/better-dsh/dsh-docs/subsystems/session.md +0 -1155
  606. package/node_modules/better-dsh/dsh-docs/subsystems/session.zh.md +0 -1159
  607. package/node_modules/better-dsh/dsh-docs/subsystems/settings.md +0 -405
  608. package/node_modules/better-dsh/dsh-docs/subsystems/settings.zh.md +0 -405
  609. package/node_modules/better-dsh/dsh-docs/subsystems/shell.md +0 -303
  610. package/node_modules/better-dsh/dsh-docs/subsystems/shell.zh.md +0 -303
  611. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.md +0 -148
  612. package/node_modules/better-dsh/dsh-docs/subsystems/sidebar-right.zh.md +0 -148
  613. package/node_modules/better-dsh/dsh-docs/subsystems/skills.md +0 -354
  614. package/node_modules/better-dsh/dsh-docs/subsystems/skills.zh.md +0 -354
  615. package/node_modules/better-dsh/dsh-docs/subsystems/slots.md +0 -175
  616. package/node_modules/better-dsh/dsh-docs/subsystems/slots.zh.md +0 -175
  617. package/node_modules/better-dsh/dsh-docs/subsystems/spill.md +0 -117
  618. package/node_modules/better-dsh/dsh-docs/subsystems/spill.zh.md +0 -117
  619. package/node_modules/better-dsh/dsh-docs/subsystems/storage.md +0 -260
  620. package/node_modules/better-dsh/dsh-docs/subsystems/storage.zh.md +0 -260
  621. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.md +0 -766
  622. package/node_modules/better-dsh/dsh-docs/subsystems/subagent.zh.md +0 -770
  623. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.md +0 -324
  624. package/node_modules/better-dsh/dsh-docs/subsystems/subprocess.zh.md +0 -324
  625. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.md +0 -220
  626. package/node_modules/better-dsh/dsh-docs/subsystems/system-prompt.zh.md +0 -220
  627. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.md +0 -184
  628. package/node_modules/better-dsh/dsh-docs/subsystems/terminal.zh.md +0 -184
  629. package/node_modules/better-dsh/dsh-docs/subsystems/todo.md +0 -32
  630. package/node_modules/better-dsh/dsh-docs/subsystems/todo.zh.md +0 -32
  631. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.md +0 -105
  632. package/node_modules/better-dsh/dsh-docs/subsystems/token-meter.zh.md +0 -105
  633. package/node_modules/better-dsh/dsh-docs/subsystems/tools.md +0 -720
  634. package/node_modules/better-dsh/dsh-docs/subsystems/tools.zh.md +0 -720
  635. package/node_modules/better-dsh/dsh-docs/subsystems/typert.md +0 -343
  636. package/node_modules/better-dsh/dsh-docs/subsystems/typert.zh.md +0 -343
  637. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.md +0 -178
  638. package/node_modules/better-dsh/dsh-docs/subsystems/user-questions.zh.md +0 -178
  639. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.md +0 -95
  640. package/node_modules/better-dsh/dsh-docs/subsystems/web-client.zh.md +0 -95
  641. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.md +0 -154
  642. package/node_modules/better-dsh/dsh-docs/subsystems/web-server.zh.md +0 -154
  643. package/node_modules/better-dsh/dsh-docs/subsystems/web.md +0 -206
  644. package/node_modules/better-dsh/dsh-docs/subsystems/web.zh.md +0 -206
  645. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.md +0 -70
  646. package/node_modules/better-dsh/dsh-docs/subsystems/webhook.zh.md +0 -70
  647. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.md +0 -278
  648. package/node_modules/better-dsh/dsh-docs/subsystems/workflow.zh.md +0 -278
  649. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.md +0 -321
  650. package/node_modules/better-dsh/dsh-docs/subsystems/workspace.zh.md +0 -321
  651. package/node_modules/better-dsh/dsh-docs/testing.md +0 -54
  652. package/node_modules/better-dsh/dsh-docs/testing.zh.md +0 -54
  653. package/node_modules/better-dsh/dsh-docs/tool-catalog.md +0 -2225
  654. package/node_modules/better-dsh/dsh-docs/tool-catalog.zh.md +0 -2233
  655. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.md +0 -62
  656. package/node_modules/better-dsh/dsh-docs/tool-execution-pipeline.zh.md +0 -64
  657. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.md +0 -106
  658. package/node_modules/better-dsh/dsh-docs/user/develop/basic/config.zh.md +0 -106
  659. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.md +0 -144
  660. package/node_modules/better-dsh/dsh-docs/user/develop/basic/index.zh.md +0 -144
  661. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.md +0 -183
  662. package/node_modules/better-dsh/dsh-docs/user/develop/basic/publish.zh.md +0 -183
  663. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.md +0 -52
  664. package/node_modules/better-dsh/dsh-docs/user/develop/basic/tool.zh.md +0 -52
  665. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.md +0 -143
  666. package/node_modules/better-dsh/dsh-docs/user/develop/framework/events.zh.md +0 -143
  667. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.md +0 -137
  668. package/node_modules/better-dsh/dsh-docs/user/develop/framework/index.zh.md +0 -137
  669. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.md +0 -148
  670. package/node_modules/better-dsh/dsh-docs/user/develop/framework/service.zh.md +0 -150
  671. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.md +0 -15
  672. package/node_modules/better-dsh/dsh-docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  673. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.md +0 -155
  674. package/node_modules/better-dsh/dsh-docs/user/develop/practice/index.zh.md +0 -155
  675. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.md +0 -189
  676. package/node_modules/better-dsh/dsh-docs/user/develop/practice/llm-adapter.zh.md +0 -189
  677. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.md +0 -102
  678. package/node_modules/better-dsh/dsh-docs/user/guide/github-review.zh.md +0 -102
  679. package/node_modules/better-dsh/dsh-docs/user/guide/index.md +0 -30
  680. package/node_modules/better-dsh/dsh-docs/user/guide/index.zh.md +0 -30
  681. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.md +0 -101
  682. package/node_modules/better-dsh/dsh-docs/user/guide/mcp-memory.zh.md +0 -101
  683. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.md +0 -85
  684. package/node_modules/better-dsh/dsh-docs/user/guide/network-proxy.zh.md +0 -85
  685. package/node_modules/better-dsh/dsh-docs/user/guide/providers.md +0 -190
  686. package/node_modules/better-dsh/dsh-docs/user/guide/providers.zh.md +0 -190
  687. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.md +0 -150
  688. package/node_modules/better-dsh/dsh-docs/user/guide/python-sdk.zh.md +0 -150
  689. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.md +0 -21
  690. package/node_modules/better-dsh/dsh-docs/user/guide/schedule.zh.md +0 -21
  691. package/node_modules/better-dsh/dsh-docs/user/index.md +0 -11
  692. package/node_modules/better-dsh/dsh-docs/user/index.zh.md +0 -11
  693. package/node_modules/better-dsh/dsh-docs/web-styling.md +0 -29
  694. package/node_modules/better-dsh/dsh-docs/web-styling.zh.md +0 -29
  695. package/node_modules/better-dsh/eval-description.md +0 -33
  696. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-D1aFReu_.js +0 -4
  697. package/node_modules/better-dsh/lib/BrowserWebSocketTransport-wm99h94r.js +0 -39
  698. package/node_modules/better-dsh/lib/LaunchOptions-B874eBu2.js +0 -4
  699. package/node_modules/better-dsh/lib/LaunchOptions-kGXcZOe0.js +0 -17
  700. package/node_modules/better-dsh/lib/NodeWebSocketTransport-BRLjmu2R.js +0 -4
  701. package/node_modules/better-dsh/lib/NodeWebSocketTransport-D9ysYGLM.js +0 -3634
  702. package/node_modules/better-dsh/lib/ast-assets/ast-grep.wasm +0 -0
  703. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-bash.wasm +0 -0
  704. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-c.wasm +0 -0
  705. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-cpp.wasm +0 -0
  706. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-css.wasm +0 -0
  707. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-go.wasm +0 -0
  708. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-html.wasm +0 -0
  709. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-javascript.wasm +0 -0
  710. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-json.wasm +0 -0
  711. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-python.wasm +0 -0
  712. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-ruby.wasm +0 -0
  713. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-rust.wasm +0 -0
  714. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-tsx.wasm +0 -0
  715. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-typescript.wasm +0 -0
  716. package/node_modules/better-dsh/lib/ast-assets/tree-sitter-yaml.wasm +0 -0
  717. package/node_modules/better-dsh/lib/ast-assets/tree-sitter.wasm +0 -0
  718. package/node_modules/better-dsh/lib/bidi-BalpKaJc.js +0 -16106
  719. package/node_modules/better-dsh/lib/bundle-delivery.d.ts +0 -20
  720. package/node_modules/better-dsh/lib/bundle-delivery.js +0 -212
  721. package/node_modules/better-dsh/lib/chunk-DQxbwPpZ.js +0 -30
  722. package/node_modules/better-dsh/lib/client/index.js +0 -712
  723. package/node_modules/better-dsh/lib/compaction/index.d.ts +0 -57
  724. package/node_modules/better-dsh/lib/compaction/index.js +0 -145
  725. package/node_modules/better-dsh/lib/failover/index.d.ts +0 -59
  726. package/node_modules/better-dsh/lib/failover/index.js +0 -147
  727. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.d.ts +0 -71
  728. package/node_modules/better-dsh/lib/fs-aware/sandbox-plugin.js +0 -249
  729. package/node_modules/better-dsh/lib/hmr.d.ts +0 -32
  730. package/node_modules/better-dsh/lib/hmr.js +0 -49
  731. package/node_modules/better-dsh/lib/index-DTDXUe6m.d.ts +0 -208
  732. package/node_modules/better-dsh/lib/index-browser-CysrjMyM.js +0 -21061
  733. package/node_modules/better-dsh/lib/index.d.ts +0 -705
  734. package/node_modules/better-dsh/lib/index.js +0 -3816
  735. package/node_modules/better-dsh/lib/kernel-bridge.py +0 -172
  736. package/node_modules/better-dsh/lib/kernel-env-D8UOWeji.js +0 -195
  737. package/node_modules/better-dsh/lib/kernel-env.d.ts +0 -80
  738. package/node_modules/better-dsh/lib/kernel-env.js +0 -3
  739. package/node_modules/better-dsh/lib/lib-C8_jXvwA.js +0 -894
  740. package/node_modules/better-dsh/lib/lsp-server-registry-BXvUTBY7.js +0 -3
  741. package/node_modules/better-dsh/lib/lsp-server-registry-CH9WNFFt.js +0 -972
  742. package/node_modules/better-dsh/lib/main-BQeFrBM1.js +0 -3
  743. package/node_modules/better-dsh/lib/main-CupOhMp5.js +0 -1432
  744. package/node_modules/better-dsh/lib/mobile/plugin.d.ts +0 -29
  745. package/node_modules/better-dsh/lib/mobile/plugin.js +0 -54
  746. package/node_modules/better-dsh/lib/native-capture-BEByDXYM.js +0 -68
  747. package/node_modules/better-dsh/lib/puppeteer-core-CSk2PtSm.js +0 -1136
  748. package/node_modules/better-dsh/lib/py-sdk-D7klhpWb.js +0 -178
  749. package/node_modules/better-dsh/lib/py-sdk.d.ts +0 -19
  750. package/node_modules/better-dsh/lib/py-sdk.js +0 -3
  751. package/node_modules/better-dsh/lib/remote/plugin.d.ts +0 -24
  752. package/node_modules/better-dsh/lib/remote/plugin.js +0 -1190
  753. package/node_modules/better-dsh/lib/url-schemes/index.d.ts +0 -88
  754. package/node_modules/better-dsh/lib/url-schemes/index.js +0 -12229
  755. package/node_modules/better-dsh/lib/util-BHL_dfV_.js +0 -2953
  756. package/node_modules/better-dsh/lib/wasm_bg-CNXhHjVg.js +0 -1291
  757. package/node_modules/better-dsh/lib/web-password.d.ts +0 -156
  758. package/node_modules/better-dsh/lib/web-password.js +0 -562
  759. package/node_modules/better-dsh/lib/web-tree-sitter-CPrPD4J2.js +0 -3440
  760. package/node_modules/better-dsh/lib/web-trust-D6gJpUMf.js +0 -393
  761. package/node_modules/better-dsh/lib/web-trust-Dej_RI2B.d.ts +0 -113
  762. package/node_modules/better-dsh/lib/web-trust.d.ts +0 -3
  763. package/node_modules/better-dsh/lib/web-trust.js +0 -4
  764. package/node_modules/better-dsh/lib/webserver.d.ts +0 -10
  765. package/node_modules/better-dsh/lib/webserver.js +0 -19
  766. package/node_modules/better-dsh/lib/welcome-notice.d.ts +0 -18
  767. package/node_modules/better-dsh/lib/welcome-notice.js +0 -59
  768. package/node_modules/better-dsh/lib/wrap-T4I0nfPM.js +0 -750
  769. package/node_modules/better-dsh/package.json +0 -426
  770. package/node_modules/better-dsh/scripts/kernel-provision.mjs +0 -35
  771. package/node_modules/better-dsh/scripts/register-bundle.mjs +0 -80
  772. package/node_modules/better-dsh/url-schemes-instruction.md +0 -22
@@ -1,1080 +0,0 @@
1
- # LLM Streaming
2
-
3
- English | [中文](llm-streaming.zh.md)
4
-
5
- The conversation and streaming types from [`packages/llm`](../../packages/llm/README.md): the `Message`/`ContentBlock` variants every request and durable history share, the fully assembled model request, the raw `StreamChunk` protocol, the adapter contract every adapter must implement, and the shared assembler. The [core packages](core.md) hold and log these values on every turn; this page declares them.
6
-
7
- Source: [`packages/llm/llm/src/types.ts`](../../packages/llm/llm/src/types.ts)
8
-
9
- <a id="content-blocks-and-messages"></a>
10
-
11
- ## Content blocks and messages
12
-
13
- A conversation is `Message`s; a message is an array of typed **content blocks**. The block union derives from `ContentBlockMap`.
14
-
15
- Source: [`packages/llm/llm/src/types.ts`](../../packages/llm/llm/src/types.ts)
16
-
17
- ```ts type-equiv
18
- /**
19
- * Merge-extensible content blocks keyed by `type`. New core blocks must land
20
- * with adapter, UI, and compaction support.
21
- */
22
- interface ContentBlockMap {
23
- 'text': TextBlock
24
- 'reasoning': ReasoningBlock
25
- 'image': ImageBlock
26
- 'file': FileBlock
27
- 'tool-call': ToolCallBlock
28
- 'tool-result': ToolResultBlock
29
- }
30
- ```
31
-
32
- The block interfaces (full fields in source): `TextBlock` (`text`), `ReasoningBlock` (thinking, distinct from visible text), `ImageBlock` (a durable [image attachment](attachment.md)), `FileBlock` (a durable verbatim [file attachment](attachment.md) that request assembly projects to handle text for every route), `ToolCallBlock` (`id: ToolCallId`, `name`, raw-JSON `arguments`), and `ToolResultBlock` (`toolCallId`, nested `content: ContentBlock[]`, `isError?`). `ContentBlock = ContentBlockMap[ContentBlockType]`. A new modality belongs in the merge-extensible map only when its adapter, UI, compaction, and durable replay paths honor it.
33
-
34
- Image access belongs to request serialization rather than the durable attachment or deterministic request-image version. `resolveImageAttachmentAccess()` combines the attachment provider's optional host object path with a mapping supplied by the consumer for the current tool execution filesystem. The result is available only for that request and does not participate in `variantId`.
35
-
36
- Source: [`packages/llm/llm/src/content.ts`](../../packages/llm/llm/src/content.ts)
37
-
38
- ```ts type-equiv
39
- /** Execution-world path that model tools can use to read one normalized attachment. */
40
- interface ImageAttachmentAccess {
41
- /** Absolute path to immutable normalized bytes; callers must treat it as read-only. */
42
- readonlyPath: string
43
- }
44
- ```
45
-
46
- Source: [`packages/llm/llm/src/message.ts`](../../packages/llm/llm/src/message.ts)
47
-
48
- A `Message` is one identified, immutable role/source/content value. Model-produced assistant messages name the provider and model that produced them and carry optional adapter-private replay data in their source:
49
-
50
- ```ts type-equiv
51
- /** Provider/model identity and adapter-private replay data for an assistant message. */
52
- interface AssistantProvenance {
53
- /** Provider route that produced the message. */
54
- provider: string
55
- /** Provider model id that produced the message. */
56
- model: string
57
- /**
58
- * Lossless-JSON adapter state needed to replay the provider response.
59
- * `LlmRuntime` exposes it to a target adapter only when that adapter instance
60
- * currently owns both this historical provider and the target provider.
61
- */
62
- replayState?: unknown
63
- }
64
- ```
65
-
66
- ```ts type-equiv
67
- /** One immutable message representation shared by delivery, durable history, and model requests. */
68
- interface Message {
69
- /** Stable identity preserved across every representation boundary. */
70
- readonly id: MessageId
71
- /** Provider-neutral conversation role. */
72
- readonly role: 'system' | 'user' | 'assistant'
73
- /** Exact model-facing blocks. */
74
- readonly content: ContentBlock[]
75
- /** Required source fields supplied by the producer. */
76
- readonly source: MessageSource
77
- }
78
- ```
79
-
80
- Where a message came from is itself a merge-extensible sum type:
81
-
82
- ```ts type-equiv
83
- /**
84
- * Where a message (or injected content) came from.
85
- * Merge-extensible sum type — plugins add their own `kind`s.
86
- */
87
- interface MessageSourceMap {
88
- user: { kind: 'user' }
89
- plugin: { kind: 'plugin'; plugin: string } & ContextFormed
90
- model: ModelMessageSource
91
- tool: ToolMessageSource
92
- }
93
- ```
94
-
95
- Producer identity and presentation form are independent. `kind` answers *who produced this*; the optional `form` answers *what kind of information this is*, and consumers decide how to present it. Several producers may share one form, and one producer may emit more than one form over a session. The values are semantic and grow one at a time; an absent or unrecognized value uses the documented default and is presented as opaque content:
96
-
97
- ```ts type-equiv
98
- /**
99
- * The kind of information in producer-supplied context, declared by the
100
- * producer beside its provenance.
101
- *
102
- * `MessageSource.kind` answers *who produced this*; `form` answers *what kind
103
- * of thing it is*, and the two axes are deliberately independent — several
104
- * producers share one form, and one producer may emit more than one form over
105
- * a session.
106
- *
107
- * The vocabulary is SEMANTIC, never visual: a value states that the content is
108
- * a file's instructions or a catalog of available items, and a consumer decides
109
- * what that looks like. Colors, icons, ordering, and collapse defaults are the
110
- * consumer's business and must not enter this union. It grows one value at a
111
- * time as producers gain the structured fields their form needs; an absent or
112
- * unknown value is the documented default, presented as opaque content.
113
- */
114
- type ContextForm =
115
- /** Instructions read out of workspace files the model is expected to follow. */
116
- | 'instructions'
117
- /** A catalog of items available in this session, republished as it changes. */
118
- | 'catalog'
119
- /** Current state, where a later snapshot from the same producer supersedes an earlier one. */
120
- | 'snapshot'
121
- /** A one-off account of something that just happened; it supersedes nothing. */
122
- | 'notice'
123
- /** A message another agent addressed to this one. */
124
- | 'relay'
125
- /** Material lifted out of another session's log, possibly reduced on the way in. */
126
- | 'recall'
127
- ```
128
-
129
- ```ts type-equiv
130
- /** One named contribution to a `snapshot`-form context, in assembly order. */
131
- interface ContextSnapshotSection {
132
- /** The contributing subsystem's name. */
133
- readonly name: string
134
- /** That contribution's model-facing text, exactly as assembled. */
135
- readonly text: string
136
- }
137
- ```
138
-
139
- ```ts type-equiv
140
- /**
141
- * Producer-declared {@link ContextForm} and the fields that form requires,
142
- * mixed into the source types that carry one.
143
- *
144
- * Discriminated by `form` so a producer cannot select a form without the
145
- * fields needed to present it: a `notice` must record its one-line
146
- * account, a `snapshot` its sections. Omitting `form` stays valid — an
147
- * undeclared context is the documented default.
148
- */
149
- type ContextFormed =
150
- | { readonly form?: never }
151
- | { readonly form: 'instructions' }
152
- | { readonly form: 'catalog' }
153
- | {
154
- readonly form: 'snapshot'
155
- /** The named contributions this snapshot assembled, in order. */
156
- readonly sections: readonly ContextSnapshotSection[]
157
- }
158
- | {
159
- readonly form: 'notice'
160
- /** One-line account of what happened, shown without expanding the row. */
161
- readonly summary: string
162
- }
163
- | { readonly form: 'relay' }
164
- | { readonly form: 'recall' }
165
- ```
166
-
167
- <a id="streamchunk--the-raw-protocol"></a>
168
-
169
- ## `StreamChunk` — the raw protocol
170
-
171
- A streaming response interleaves several typed blocks (text, reasoning, multiple tool calls). `index` ties each delta to its block; `block-end` carries the fully-assembled `ContentBlock` so consumers don't have to re-assemble deltas themselves. It is a **closed** discriminated union — a `switch` over `type` ends with `assertNever`, so adding a variant breaks compilation at every consumer that must handle it.
172
-
173
- ```ts type-equiv
174
- /**
175
- * Adapter-private lossless-JSON state for replaying a successful response,
176
- * carried by a terminal `finish` chunk and stored on the assembled assistant
177
- * message's model source. Both halves stay opaque to the harness; only the
178
- * split is shared vocabulary, so assembly can keep stored metadata aligned
179
- * with stored content without reading either half.
180
- */
181
- interface ReplayEnvelope {
182
- /** Response-level adapter-private metadata (ids, native stop reason). */
183
- response: unknown
184
- /**
185
- * Per-block adapter-private metadata, one entry per emitted block in
186
- * first-seen stream order. When assembly drops a block it drops the entry at
187
- * the same position; entries whose length does not match the emitted block
188
- * count discard the whole envelope. An adapter whose metadata is independent
189
- * of block structure omits this field and the envelope passes through
190
- * assembly unchanged.
191
- */
192
- blocks?: readonly unknown[]
193
- }
194
- ```
195
-
196
- ```ts type-equiv
197
- /**
198
- * Raw streaming protocol emitted by adapters.
199
- * Block indexes correlate interleaved deltas, and `block-end` carries the
200
- * assembled block. Adapters emit usage before the terminal finish and nothing
201
- * afterward; tool arguments remain raw JSON strings. An adapter implementation
202
- * may throw, but `LlmRuntime.stream()` normalizes that failure to a terminal
203
- * `error` or `aborted` finish before exposing it to consumers.
204
- */
205
- type StreamChunk =
206
- | { type: 'block-start'; index: number; blockType: ContentBlockType }
207
- | { type: 'text-delta'; index: number; text: string }
208
- | { type: 'reasoning-delta'; index: number; text: string }
209
- | { type: 'tool-call-delta'; index: number; id: ToolCallId; name?: string; argumentsDelta: string }
210
- | { type: 'block-end'; index: number; block: ContentBlock }
211
- | { type: 'usage'; usage: TokenUsage }
212
- | {
213
- type: 'finish'
214
- reason: FinishReason
215
- /** Replay metadata for a successful response; see {@link ReplayEnvelope}. */
216
- replayState?: ReplayEnvelope
217
- }
218
- ```
219
-
220
- <a id="compact-assistant-streams"></a>
221
-
222
- ## Compact Assistant streams
223
-
224
- `AssistantStreamAccumulator` pairs each `StreamChunk` with its original safe-integer timestamp and produces `AssistantStreamRecord[]`. Consecutive text, reasoning, or tool-argument deltas for the same block become one record with `time0`, exact timestamp gaps, and one array entry per original delta; every other chunk stays a timestamped raw record. This representation removes repeated event envelopes without joining token boundaries or dropping terminal, usage, block, failure, or replay facts.
225
-
226
- `snapshot()` returns a detached immutable stream. `expandAssistantStream()` strictly checks record keys, member counts, indexes, timestamps, tool-call identity, and lossless JSON before recreating the exact timed chunk sequence. The Session log embeds this stream in `assistant/message` for a surface result or `assistant/attempt` for an attempt with no surface message.
227
-
228
- Process-local `agent/assistant-stream` frames carry live presentation. Durable replay, telemetry, token accounting, and historical UI assembly expand the embedded settlement instead of treating live frames as persisted facts.
229
-
230
- ## `LlmFailure`
231
-
232
- Every thrown or in-band final-adapter failure normalizes to one serializable provider-neutral payload. `providerRetryAfterMs` is a validated positive delay requested by the provider, not a retry decision; `ProviderRequestId` is an opaque branded string for diagnostics.
233
-
234
- ```ts type-equiv
235
- /** Serializable provider or transport failure facts; policy decides whether they are retryable. */
236
- interface LlmFailure {
237
- /** Human-readable provider or transport failure. */
238
- readonly message: string
239
- /** Stable provider-neutral machine-routing code. */
240
- readonly code: string
241
- /** HTTP status returned by the provider, when available. */
242
- readonly status?: number
243
- /** Provider-requested delay in milliseconds, when valid and available. */
244
- readonly providerRetryAfterMs?: number
245
- /** Opaque provider-issued request identifier for diagnostics. */
246
- readonly requestId?: ProviderRequestId
247
- }
248
- ```
249
-
250
- ## Request-image pricing
251
-
252
- An adapter whose provider charges visual tokens for request images declares per-route pricing by overriding `LlmAdapter.imageRequestPricing`, and `ctx.llm.imageRequestPricing(provider, model)` resolves it synchronously for consumers. The token meter resolves the routed model's pricing on every measurement so compaction pressure, retention, and range selection price image history as the routed request actually sends it; the DeepSeek adapter reproduces its own request projection (per-model pixel budget, oldest-first offload) and prices retained images with the published v4 vision accounting, while provider usage remains the authoritative anchor for completed requests.
253
-
254
- ```ts type-equiv
255
- /**
256
- * Request price of one ordered image occurrence under one exact model route's
257
- * request projection. Every occurrence resolves to the pair the wire actually
258
- * carries: provider visual tokens for a retained image, plus the model-visible
259
- * text sent with or instead of it (request-preview handle, offload placeholder,
260
- * or text-only substitution). The caller prices `text` with its own text
261
- * estimator so provider pricing never fixes a text tokenization.
262
- */
263
- interface LlmImageRequestPrice {
264
- /** Provider visual tokens for the retained request image; 0 when only text represents this occurrence. */
265
- visualTokens: number
266
- /** Model-visible text sent for this occurrence, to be priced by the caller's text estimator. */
267
- text: string
268
- }
269
- ```
270
-
271
- ```ts type-equiv
272
- /**
273
- * Provider-side request-image pricing for one exact model route. Implemented
274
- * by adapters whose provider charges visual tokens; consumers (the token
275
- * meter) resolve it synchronously per measurement, so implementations must not
276
- * perform I/O.
277
- */
278
- interface LlmImageRequestPricing {
279
- /**
280
- * Price every image occurrence of one request projection.
281
- * @param images - durable image references in request order, one entry per occurrence.
282
- * @returns one price per occurrence, aligned by index with `images`.
283
- */
284
- priceImages(images: readonly ImageAttachmentRef[]): readonly LlmImageRequestPrice[]
285
- }
286
- ```
287
-
288
- ## The adapter contract
289
-
290
- Every adapter MUST obey these, and every consumer may rely on them:
291
-
292
- - **`usage` before `finish`, nothing after `finish`.** Defer both to the provider's end-of-stream marker so a trailing usage-only chunk can't violate the ordering.
293
- - **Tool-call `arguments` stay raw JSON strings end-to-end.** Partial fragments stream via `argumentsDelta`; a provider that hands back parsed objects re-stringifies at `block-end`.
294
- - **Two sanctioned error paths, one `LlmFailure` type.** A failure may either THROW from `stream()` (transport/protocol errors) **or** end the stream with `finish {kind:'error'|'aborted', failure}` (provider in-band errors, for adapters that can't throw mid-stream). `LlmError.failure` carries the same `LlmFailure`. After the call selects its adapter, the stream preserves the exact thrown `Error` object and associates immutable facts plus the serving registration's immutable retry policy with that call; the agent loop commits the attempt stream as `assistant/attempt`, closes the failed step, and offers the error, facts, immutable prior-retried facts, serving policy, and turn signal to `agent/request-error`. A handling listener returns `{ kind: 'retry' }` after its awaited repair; absent recovery the structured failure becomes the turn error, and no surface Assistant message or tool side effect is committed for that attempt.
295
- - **One adapter call is one provider attempt.** Adapters disable library retries. Agent-level recovery opens another durable numbered turn; direct `ctx.llm.stream()` callers remain single-attempt.
296
- - **Provider stalls are bounded at the transport.** Both shipping remote adapters expose positive finite `streamIdleTimeoutMs` with a five-minute default. The watchdog arms only while iterator `next()` is outstanding, uses one stable signal for the whole request, maps its own expiry to `TIMEOUT`, and keeps an earlier caller abort as `ABORTED`.
297
- - **Context overflow has one canonical code.** Both DeepSeek adapters classify explicit provider detail through `isContextWindowExceededError()` and surface `CONTEXT_WINDOW_EXCEEDED`, whether the failure arrives as a thrown HTTP `LlmError` or an in-band finish error. Consumers route on the code, never provider text.
298
- - **An empty completion is a retryable error, not a silent success.** Both adapters map a terminal `stop` finish that carried no content blocks to `finish {kind:'error'}` with the canonical `EMPTY_RESPONSE` code, and `dsh-llm-retry` retries it by default; see [empty model responses are retryable](../../.agents/notes/implemented/bug-fix/2026-07-24-empty-model-response-is-retryable.md).
299
- - **Every provider HTTP request carries the app-attribution header.** Adapters send `attributionHeaders()` (below) - the `User-Agent` baseline - and prove it with a wire-level test.
300
- - **Replay state is adapter-owned; its split is shared.** A successful `finish` may carry a `ReplayEnvelope`: opaque response-level metadata plus optional per-block entries aligned with the emitted block sequence. The alignment is the harness's vocabulary — when assembly drops a block it drops the entry at the same position, so stored metadata always describes stored content. The loop stores the pruned envelope with the assembled assistant message. On a later request, `LlmRuntime` passes the state only when the historical provider and target provider are currently registered to the exact same adapter instance. That adapter validates the state and owns any cross-model or cross-provider conversion; other adapters receive the provider-neutral content plus provider/model fields without the private state. Durable content stays authoritative: a stored state the reading adapter cannot use degrades that one message to provider-neutral conversion with a diagnostic instead of failing the request.
301
-
302
- ## `ResolvedRetryPolicy`
303
-
304
- Retry configuration resolves before route registration into an immutable discriminated union. Normal mode carries `mode: 'normal'`, finite `maxRetries`, `retryableCodes`, and required `initialDelayMs`, `maxDelayMs`, and `jitterRatio`; always mode carries `mode: 'always'` and the same required backoff fields without a finite maximum. Omitting a provider policy uses the normal default of five retries. Layered settings may retain normal-only `maxRetries` or `retryableCodes` after switching to always mode; the resolver ignores those inactive fields and captures the pure always policy. `LlmRuntime.providerRetryPolicy(provider)` returns the registered value, and `llmRetryPolicyOf(stream)` returns the value captured from the serving registration after the call selects it, so later route disposal or replacement cannot change an in-flight failure's recovery policy. The [generated config catalog](../config-catalog.md) lists the optional input fields.
305
-
306
- ## `AppIdentity` — app attribution
307
-
308
- The static public application identity every adapter sends to providers ([`packages/llm/llm/src/attribution.ts`](../../packages/llm/llm/src/attribution.ts)). `attributionHeaders(identity?)` maps it to the standard `User-Agent` header only; OpenRouter-specific app attribution headers are intentionally not supported by this contract. The default `APP_IDENTITY` sources its version from the package manifest; every field is a public product fact - no secrets, paths, session ids, or per-user identifiers, and nothing per-request may influence the values. Rationale: [Mandatory `User-Agent` attribution](../../.agents/notes/implemented/architecture/2026-06-21-mandatory-app-attribution-headers.md).
309
-
310
- ```ts type-equiv
311
- /**
312
- * Static public application identity sent to LLM providers.
313
- *
314
- * Every field is a public product fact, safe on every request: no secrets,
315
- * local paths, session ids, prompt text, or per-user identifiers belong here,
316
- * and nothing per-request may influence the values.
317
- */
318
- interface AppIdentity {
319
- /** `User-Agent` product token (lowercase, hyphenated). */
320
- product: string
321
- /** Product version; sourced from package metadata, never hand-copied. */
322
- version: string
323
- /** Repository home URL of the app, used as the `User-Agent` comment. */
324
- url: string
325
- }
326
- ```
327
-
328
- ## `TokenUsage`
329
-
330
- Per-call token accounting. Counts are **disjoint**: `inputTokens` is uncached input only; cached input is reported separately, and billed input is the sum of the three. Adapters whose providers fold cache hits into a single prompt total (DeepSeek's `prompt_tokens`) subtract them back out. Optional `totalTokens` is an exact aggregate prompt-plus-output count preserved from the provider or reconstructed from authoritative aggregate counters; adapters omit it when unavailable or inconsistent. `reasoningTokens`, when present, is informational detail already included in `outputTokens`; totals must not add it again.
331
-
332
- ```ts type-equiv
333
- /**
334
- * Token accounting for one model call (cache fields are optional).
335
- *
336
- * Counts are DISJOINT: `inputTokens` is uncached input only; cached input is
337
- * reported separately as `cacheReadTokens`/`cacheWriteTokens` (billed input =
338
- * sum of the three). Adapters whose providers fold cache hits into a total
339
- * prompt count (DeepSeek's `prompt_tokens`) subtract them out.
340
- */
341
- interface TokenUsage {
342
- inputTokens: number
343
- outputTokens: number
344
- /**
345
- * Exact full-call total including aggregate prompt and output tokens.
346
- *
347
- * Adapters preserve a provider total or derive it from authoritative
348
- * aggregate prompt/output counters; they omit it when unavailable or
349
- * inconsistent.
350
- */
351
- totalTokens?: number
352
- cacheReadTokens?: number
353
- cacheWriteTokens?: number
354
- reasoningTokens?: number
355
- }
356
- ```
357
-
358
- ## `BlockAssembler`
359
-
360
- `BlockAssembler` ([`packages/llm/llm/src/assembler.ts`](../../packages/llm/llm/src/assembler.ts)) is the single shared implementation that folds a `StreamChunk` stream back into `ContentBlock`s, usage, finish reason, and replay state. The loop logs the raw chunks while feeding the same chunks through an assembler, then stores the assembled assistant content with the provider and model that produced it. A consumer that needs the assembled result without re-implementing the fold uses this.
361
-
362
- One keep/drop decision covers content and metadata together: a `max-tokens` finish drops every tool call because a truncated call is unsafe to execute, and the same decision prunes the replay envelope's per-block entry at each dropped position. `blocks()` and `replayState` therefore cannot disagree, whatever assembly removes.
363
-
364
- ```ts public-api
365
- /**
366
- * Incrementally assembles raw {@link StreamChunk}s into complete
367
- * {@link ContentBlock}s and a final assistant {@link Message}.
368
- *
369
- * The agent loop feeds it while logging raw chunks for replay fidelity, then
370
- * reads `blocks()` / `message()` / `usage` / `finish` once the stream ends,
371
- * or `interruptedBlocks()` when cancellation cut the stream short.
372
- *
373
- * Tolerant of delta-only protocols (no block-start/end); deltas arriving for
374
- * an index already closed by `block-end` are ignored (malformed stream) so a
375
- * misbehaving adapter cannot grow memory or corrupt a completed block.
376
- */
377
- declare class BlockAssembler {
378
- /**
379
- * Feed one chunk into the assembly state.
380
- * @param chunk - the next raw chunk, in stream order.
381
- */
382
- push(chunk: StreamChunk): void;
383
- /**
384
- * Assemble all blocks seen so far, in stream order.
385
- * @returns one block per seen index, except that max-token truncation drops
386
- * tool calls that cannot be executed safely; an open block assembles from
387
- * its accumulated deltas (an unknown block type never closed by `block-end` throws).
388
- */
389
- blocks(): ContentBlock[];
390
- /**
391
- * Assemble the prefix an interrupted stream can safely finalize: closed and
392
- * open text/reasoning blocks with non-whitespace content, in stream order.
393
- * Tool calls are omitted because interruption precedes dispatch; retaining
394
- * one would require a fabricated result. Open unknown blocks are also omitted.
395
- * @returns the kept blocks; empty when nothing streamed before the interruption.
396
- */
397
- interruptedBlocks(): ContentBlock[];
398
- /** Usage from the `usage` chunk; undefined until one arrives. */
399
- get usage(): TokenUsage | undefined;
400
- /** Finish reason from the `finish` chunk; `{kind: 'stop'}` when the stream ended without one. */
401
- get finish(): FinishReason;
402
- /**
403
- * Replay metadata from the terminal finish chunk, if any, with per-block
404
- * entries pruned in step with {@link blocks}. Undefined when the envelope's
405
- * entries do not align with the emitted blocks.
406
- */
407
- get replayState(): ReplayEnvelope | undefined;
408
- /**
409
- * The assembled assistant message.
410
- * @param source - producer attribution for the assembled message.
411
- * @returns a frozen assistant-role message over `blocks()` (same open-block assembly rules).
412
- */
413
- message(source: MessageSource = { kind: 'plugin', plugin: 'dsh-llm/assembler' }): Message;
414
- }
415
- ```
416
-
417
- <a id="the-model-request-and-result"></a>
418
-
419
- ## The model request
420
-
421
- One model call is a fully-assembled `GenerateOptions`. The adapter answers with a raw [`StreamChunk`](#streamchunk--the-raw-protocol) stream; the consumer assembles it with [`BlockAssembler`](#blockassembler).
422
-
423
- Source: [`packages/llm/llm/src/types.ts`](../../packages/llm/llm/src/types.ts)
424
-
425
- Provider and model discovery uses small provider-neutral descriptors. A model catalog is advisory: routing still keys on a registered provider.
426
-
427
- Registering an adapter returns a handle: the disposer, plus the atomic route replacement a plugin whose route set is user-configurable needs.
428
-
429
- ```ts type-equiv
430
- /**
431
- * What {@link LlmRuntime.registerAdapter} returns: the disposer, plus an
432
- * atomic route replacement for the same adapter instance.
433
- */
434
- interface AdapterRegistrationHandle {
435
- /** Release every route this registration currently holds. */
436
- (): void
437
- /**
438
- * Replace this registration's routes with `providers`, keeping the same
439
- * adapter instance. The candidate set is validated in full first — a
440
- * conflict with another adapter, an invalid name, or bad provider metadata
441
- * throws and leaves the current routes untouched — and the swap itself is
442
- * one synchronous section, so no request can observe a gap. An empty array
443
- * is legal here (a settings section that emptied holds zero routes while
444
- * staying registered), unlike an empty initial registration.
445
- *
446
- * Throws `LlmError` with code `REGISTRATION_DISPOSED` once the registration
447
- * has been released: its routes are gone and its disposer has already run,
448
- * so anything registered afterwards would have no owner left to release it.
449
- * @param providers - the complete next route set for this registration.
450
- */
451
- replace(providers: string[]): void
452
- }
453
- ```
454
-
455
- ```ts type-equiv
456
- /** Display metadata for one registered provider route. */
457
- interface LlmProviderInfo {
458
- /** Provider route key used by {@link GenerateOptions.provider}. */
459
- id: string
460
- /** Human-readable provider name for selectors and diagnostics. */
461
- name: string
462
- }
463
- ```
464
-
465
- Adapter plugins additionally declare which routes *could* run through `registerConfigurableProviders()`, addressing each one's user-settings section, so configuration surfaces can offer dormant providers before any route registers.
466
-
467
- ```ts type-equiv
468
- /**
469
- * One provider route an adapter plugin can activate through configuration,
470
- * whether or not the route is currently registered. Configuration surfaces
471
- * merge this directory with `listProviders()` to offer every configurable
472
- * provider alongside its live/dormant state.
473
- */
474
- interface LlmConfigurableProvider {
475
- /** Provider route key this entry activates when configured. */
476
- provider: string
477
- /** Human-readable provider name for configuration surfaces. */
478
- displayName: string
479
- /** User-settings namespace whose section configures this provider. */
480
- settingsNs: string
481
- /**
482
- * Path from that namespace's section root to this provider's profile
483
- * object; empty when the whole section is the profile.
484
- */
485
- settingsPath: readonly string[]
486
- /**
487
- * Whether the owning adapter knows this route only because configuration
488
- * declared it — a gateway or self-hosted server it ships nothing about.
489
- * Absent means the adapter draws no such distinction; false means it does
490
- * and this route is one of its own. Only the adapter can answer: a stored
491
- * profile is how a user-added route AND a corrected shipped one both look
492
- * from outside.
493
- */
494
- declared?: boolean
495
- }
496
- ```
497
-
498
- ```ts type-equiv
499
- /** One adapter-discovered model; catalog membership is advisory, not request validation. */
500
- interface LlmModelInfo {
501
- /** Provider route that owns this model entry. */
502
- provider: string
503
- /** Model id passed to {@link GenerateOptions.model}. */
504
- id: string
505
- /** Human-readable model name for selectors. */
506
- name: string
507
- /** Optional user-facing distinction from otherwise similar models. */
508
- description?: string
509
- /** Accepted request modalities; absent means unknown, while an explicit omission is negative capability. */
510
- inputModalities?: readonly ModelModality[]
511
- }
512
- ```
513
-
514
- Correctness-sensitive metadata is resolved separately from the advisory catalog and is owned by the adapter serving the exact route. Context capacity, adapter call defaults, and reasoning choices share one exact-model result so consumers do not repeat authoritative model resolution.
515
-
516
- ```ts type-equiv
517
- /** Provider-owned context capacity for one exact provider/model route. */
518
- interface LlmModelContext {
519
- /** Maximum combined request and response context in tokens. */
520
- contextWindow: number
521
- }
522
- ```
523
-
524
- Reasoning effort is another exact-route capability. The core brands identifiers but does not enumerate their values; each adapter owns the ordered set, display names, and optional deployment default.
525
-
526
- ```ts type-equiv
527
- /** Adapter-owned identifier for one model's selectable reasoning effort. */
528
- type ReasoningEffortId = Branded<'ReasoningEffortId'>
529
- ```
530
-
531
- ```ts type-equiv
532
- /** Display metadata for one adapter-owned reasoning effort. */
533
- interface LlmReasoningEffortInfo {
534
- /** Opaque stable value accepted by {@link GenerateOptions.reasoningEffort}. */
535
- id: ReasoningEffortId
536
- /** Human-readable effort name for selectors and diagnostics. */
537
- name: string
538
- /** Optional user-facing distinction from otherwise similar efforts. */
539
- description?: string
540
- }
541
- ```
542
-
543
- ```ts type-equiv
544
- /** Selectable reasoning efforts for one exact provider/model route. */
545
- interface LlmModelReasoningInfo {
546
- /** Supported efforts in adapter-preferred display order. */
547
- efforts: readonly LlmReasoningEffortInfo[]
548
- /**
549
- * Adapter-configured default materialized into requests when callers omit
550
- * an effort. Absence preserves the provider's own default.
551
- */
552
- defaultEffort?: ReasoningEffortId
553
- }
554
- ```
555
-
556
- ```ts type-equiv
557
- /** Exact-route model metadata resolved by its owning adapter. */
558
- interface LlmResolvedModelInfo extends LlmModelInfo {
559
- /** Provider-owned context capacity when known. */
560
- context?: LlmModelContext
561
- /** Adapter-configured per-request output cap materialized when callers omit one. */
562
- defaultMaxTokens?: number
563
- /** Adapter-owned selectable reasoning levels when exposed. */
564
- reasoning?: LlmModelReasoningInfo
565
- }
566
- ```
567
-
568
- ```ts type-equiv
569
- /** A single model request, fully assembled. */
570
- interface GenerateOptions {
571
- /** Registered provider route selecting the adapter instance. */
572
- provider: string
573
- model: string
574
- /** Adapter-owned reasoning effort selected for this exact model. */
575
- reasoningEffort?: ReasoningEffortId
576
- /**
577
- * Ordered conversation messages, exactly as the provider sees them (after
578
- * the `system` slot). A loop-built request assembles them as
579
- * the derived history (dsh-agent-loop); a hand-built one-shot passes any list.
580
- */
581
- messages: Message[]
582
- /** System prompt text (adapters map to the provider's system slot). */
583
- system?: string
584
- /** Tool schemas (adapters map to the provider's `tools` field). */
585
- tools?: ToolSchema[]
586
- temperature?: number
587
- maxTokens?: number
588
- /**
589
- * Stop sequences: generation halts as soon as the model produces any one of
590
- * these strings (adapters map to the provider's stop field, e.g. OpenAI
591
- * `stop`). The stop string itself is not included in the output.
592
- */
593
- stop?: string[]
594
- signal?: AbortSignal
595
- /**
596
- * Session identity stamped by the loop for request routing. Replay uses it
597
- * to separate cursors; adapters may map it to model-hidden transport metadata.
598
- */
599
- sessionId?: Branded<'SessionId'>
600
- /**
601
- * Provider-neutral classification for an auxiliary model call. Adapters may
602
- * map the purpose to model-hidden transport metadata or purpose-specific
603
- * generation policy. Ordinary conversation requests leave it unset.
604
- */
605
- purpose?: 'compaction' | 'session-title'
606
- }
607
- ```
608
-
609
- Why a model response stopped is a merge-extensible reason. Terminal provider failures carry the streaming contract's [`LlmFailure`](#llmfailure):
610
-
611
- ```ts type-equiv
612
- /**
613
- * Why a model response stopped.
614
- * Merge-extensible so adapters can surface provider-specific reasons.
615
- */
616
- interface FinishReasonMap {
617
- 'stop': { kind: 'stop' }
618
- 'tool-calls': { kind: 'tool-calls' }
619
- 'max-tokens': { kind: 'max-tokens' }
620
- 'aborted': { kind: 'aborted'; failure: LlmFailure }
621
- 'error': { kind: 'error'; failure: LlmFailure }
622
- }
623
- ```
624
-
625
- `FinishReason = FinishReasonMap[keyof FinishReasonMap]`. `TokenUsage` (per-call accounting with disjoint cache fields) is detailed [below](#tokenusage).
626
-
627
- `GenerateOptions.tools` carries `ToolSchema` — the JSON-schema description of a tool, as sent to the model. It is declared in dsh-llm (not dsh-tools) precisely because it is part of the request the loop assembles every step:
628
-
629
- ```ts type-equiv
630
- /**
631
- * JSON-schema description of a tool, as sent to the model.
632
- *
633
- * Declared here (not in dsh-tools) because it is part of {@link GenerateOptions};
634
- * dsh-tools' ToolDefinition and dsh-system-prompt's PromptAssembly both import
635
- * it from this package.
636
- */
637
- interface ToolSchema {
638
- name: string
639
- description: string
640
- /** JSON Schema object for the arguments. */
641
- parameters: Record<string, unknown>
642
- }
643
- ```
644
-
645
- The model-facing `ToolSchema` is the wire type; the registered `ToolDefinition` that produces it (schema + `execute`) is on [tools.md](tools.md).
646
-
647
- A provider a surface is still drafting has no route and no catalog, so interrogation is described separately: the request carries the draft the user is editing, and the reply is candidates a surface may adopt rather than a catalog it must serve.
648
-
649
- ```ts type-equiv
650
- /**
651
- * One interrogation of a provider endpoint that configuration has not stored
652
- * yet. Configuration surfaces send the draft a user is still editing, so the
653
- * request carries the endpoint and credential directly instead of naming a
654
- * route: a provider being added has no route to name.
655
- */
656
- interface LlmModelDiscoveryRequest {
657
- /**
658
- * Route the draft is editing, when it edits an existing one. A route whose
659
- * adapter already knows its models answers from that knowledge instead of
660
- * asking the endpoint — the adapter's own registry is the better answer, and
661
- * it costs no network call.
662
- */
663
- provider?: string
664
- /**
665
- * Endpoint to interrogate. Optional because a route the adapter already
666
- * describes needs none; a route it does not must supply one.
667
- */
668
- baseURL?: string
669
- /** Wire protocol the endpoint speaks, when the draft names one. */
670
- api?: string
671
- /** Credential for this interrogation alone; the harness never stores it. */
672
- apiKey?: string
673
- }
674
- ```
675
-
676
- ```ts type-equiv
677
- /**
678
- * One model an endpoint reports about itself. Every field but the id is
679
- * optional because most provider listings disclose an id and nothing else;
680
- * a surface adopting one of these still owes the capacities its adapter needs.
681
- */
682
- interface LlmDiscoveredModel {
683
- /** Model id the endpoint accepts. */
684
- id: string
685
- /** Human-readable name when the endpoint supplies one. */
686
- name?: string
687
- /** Maximum combined request and response context, when disclosed. */
688
- contextWindow?: number
689
- /** Maximum output tokens, when disclosed. */
690
- maxTokens?: number
691
- }
692
- ```
693
-
694
- ### The request envelope: `LlmCallConfig` and the logged header
695
-
696
- The loop builds each request from logged state. `EpochHeader` records call config, marks the fields supplied by adapter defaults, and records the rendered prompt and authoritative returned tool order (configured by `toolOrder`, or lexicographic when unset) through full `request/header` snapshots. Together with derived history, this makes the request reconstructable from the session log. See [session.md](session.md#the-request-header-event-requestheader) and the [reconstructability Agent Note](../../.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.md).
697
-
698
- `agent/request` receives a frozen call-config seed and may return a replacement to switch provider, model, reasoning effort, or sampling. Before the waterfall, the loop removes values marked as adapter defaults so exact-model preparation materializes the selected route's current values; unmarked explicit settings remain in the proposal. After the waterfall, preparation rejects unsupported explicit effort ids without clamping and logs the effective config plus the fields supplied by adapter defaults under the turn signal. The prepared call keeps one adapter registration through dispatch. Requests reaching `llm/stream` are deep-frozen, so mutation throws, and carry a process-local loop identity so observers do not confuse separately logged frozen auxiliary calls with conversation requests.
699
-
700
- On the wire, a loop-built request reads the `system` slot (the rendered prompt assembly) followed by the derived history. The logged request snapshot ends with the newest `user/message` on a turn's first step and the previous step's tool results on later steps. The dev invariant recomputes exactly this equation against every loop-built request.
701
-
702
- FIXME(call-config-shape): revisit which remaining fields are genuinely epoch-level for cache purposes (`model` and the model-owned reasoning effort are explicit; the sampling scalars sit here out of caution).
703
-
704
- ```ts type-equiv
705
- /**
706
- * Provider, model, reasoning effort, and sampling scalars of one conversation's
707
- * requests. Every field maps 1:1 onto the same-named `GenerateOptions` field;
708
- * the loop builds requests from the logged header rather than accepting these
709
- * per call.
710
- */
711
- interface LlmCallConfig {
712
- provider: string
713
- model: string
714
- reasoningEffort?: ReasoningEffortId
715
- temperature?: number
716
- maxTokens?: number
717
- stop?: string[]
718
- }
719
- ```
720
-
721
- ```ts type-equiv
722
- /**
723
- * Effective config fields supplied by exact-model adapter resolution rather
724
- * than by the caller's request proposal.
725
- */
726
- interface LlmCallConfigAdapterDefaults {
727
- reasoningEffort?: true
728
- maxTokens?: true
729
- }
730
- ```
731
-
732
- ## Official DeepSeek request extensions
733
-
734
- `ctx.deepseekLlmApiExtensions` is the provider-specific registry for additive top-level fields on `deepseek-official` requests. Contributor plugins use `register(field, provider)` to claim one field; the adapter calls `prepare(request)` after serializing its base body and merges the returned fields before HTTP. The prepared `accept()` transaction runs after 2xx, so a contributor can commit delivery state without treating a transport or provider rejection as acceptance. Preparation, collision, and acceptance failures use `REQUEST_EXTENSION` and fail the model request.
735
-
736
- The [wire reference](../deepseek-llm-api-wire-extensions.md) defines the exact request headers, extension transaction, field versions, and receiver obligations. The shipped composition registers [`dsh_session_log`](../../packages/session/session-log-deepseek/README.md) as a lossless incremental canonical-log suffix and [`dsh_plugin_packages`](../../packages/llm/plugin-package-inventory-deepseek/README.md) as the complete active Loader-backed package set. These fields remain outside model messages and are absent from the pi-ai adapter path.
737
-
738
- ## Service and provider contracts
739
-
740
- `LlmAdapter` is the provider contract: subclass, implement `stream()`, and register one adapter instance with `ctx.llm.registerAdapter(providers, adapter)`. `GenerateOptions.provider` selects the registered adapter; `GenerateOptions.model` is passed to that adapter and need not be registered at lifecycle start. Duplicate provider routes fail atomically. Optional `providerRetryPolicy()` is captured per route with normal defaults, while `providerInfo()` and asynchronous `listModels()` feed `LlmRuntime.listProviders()` / `listModels()` with detached selector metadata. That catalog is advisory rather than a request whitelist: the adapter remains authoritative and may accept unlisted model ids. One asynchronous `resolveModel()` query returns exact model identity plus optional correctness-sensitive context capacity, an adapter-configured `defaultMaxTokens`, and ordered model-owned reasoning ids with an optional deployment default; absent fields mean unavailable metadata or provider-owned behavior, not invalid catalog membership. The resolver receives optional cancellation and must settle promptly after abort. `LlmRuntime.resolveModelInfo()` validates and detaches the aggregate. At the final adapter boundary, `resolveCallConfig()` materializes the output default only when `maxTokens` is absent and validates and materializes reasoning, so direct calls cannot bypass either configured behavior; direct dispatch captures one registration before awaiting that resolution. The agent loop instead uses `prepareCall()` to keep the same registration across model resolution, durable header logging, and dispatch, retain detached context metadata from that exact lookup, and report which config fields the adapter defaulted. Adapter lookup happens at the terminal continuation of the `llm/stream` waterfall, so a listener may short-circuit the call or route a mutable one-shot request before lookup. AgentLoop observes a request attempt once the outer waterfall returns a stream handle; that limited boundary does not prove a lazy terminal adapter was constructed or began provider I/O. The `block-start` / `block-end` `index` correlation and the assembler together mean an adapter only has to emit well-formed chunks — block reassembly is not each adapter's problem. [architecture.md](../architecture.md#turn-flow) shows where `ctx.llm.stream()` and the `llm/stream` waterfall sit in one turn.
741
-
742
- ```ts type-equiv
743
- /** One model call whose config and adapter registration were resolved together. */
744
- interface PreparedLlmCall {
745
- /** Detached, deep-frozen config with any adapter-owned default materialized. */
746
- readonly config: LlmCallConfig
747
- /** Immutable retry policy captured with the adapter registration. */
748
- readonly retryPolicy: ResolvedRetryPolicy
749
- /** Detached context metadata resolved with the registration-bound call. */
750
- readonly context?: LlmModelContext
751
- /** Exact model modalities captured with the adapter dispatch generation. */
752
- readonly inputModalities?: readonly ModelModality[]
753
- /** Config fields materialized by the captured adapter rather than proposed by the caller. */
754
- readonly adapterDefaults: LlmCallConfigAdapterDefaults
755
- /**
756
- * Dispatch this call once through the registration captured during
757
- * preparation. The request's call-config fields must match {@link config};
758
- * reuse or mismatch fails with `INVALID_PREPARED_CALL`.
759
- * @param options - fully assembled request carrying the prepared config.
760
- * @returns the chunk stream, including the `llm/stream` waterfall.
761
- */
762
- stream(options: GenerateOptions): AsyncIterable<StreamChunk>
763
- }
764
- ```
765
-
766
- ```ts public-api
767
- /**
768
- * Provider-wire adapter for the harness message and stream vocabulary. Register implementations
769
- * with `ctx.llm.registerAdapter(providers, adapter)`. Every provider HTTP request must include
770
- * `attributionHeaders()`; prove the headers are added in the wire request or library header hook. The direct-fetch
771
- * DeepSeek and library-backed pi-ai adapters meet this contract through different internals.
772
- */
773
- declare abstract class LlmAdapter {
774
- /**
775
- * Describe one provider route owned by this adapter.
776
- * @param provider - a route passed to `registerAdapter()` for this instance.
777
- * @returns detached display metadata whose id must equal `provider`.
778
- */
779
- providerInfo(provider: string): LlmProviderInfo;
780
- /**
781
- * Return the provider-owned retry policy captured with this route.
782
- * @param _provider - a route passed to `registerAdapter()` for this instance.
783
- * @returns a resolved policy, or `undefined` to use the normal defaults.
784
- */
785
- providerRetryPolicy(_provider: string): ResolvedRetryPolicy | undefined;
786
- /**
787
- * Resolve provider-side request-image pricing for one exact model route.
788
- * The default declares none, so consumers fall back to their own neutral
789
- * estimate. Implementations must answer synchronously without I/O; the
790
- * token meter resolves this per measurement.
791
- * @param _provider - a route passed to `registerAdapter()` for this instance.
792
- * @param _model - exact model id passed to {@link GenerateOptions.model}.
793
- * @returns route-owned image pricing, or `undefined` when the route declares none.
794
- */
795
- imageRequestPricing(_provider: string, _model: string): LlmImageRequestPricing | undefined;
796
- /**
797
- * List models this adapter can currently advertise for one owned provider.
798
- * The result is advisory: an adapter may accept unlisted model ids, and
799
- * consumers must not turn absence into request rejection.
800
- * @param _provider - one provider route owned by this adapter.
801
- * @returns discoverable models in adapter-preferred order.
802
- */
803
- listModels(_provider: string): Promise<readonly LlmModelInfo[]>;
804
- /**
805
- * Resolve all metadata available for one exact model. This query is
806
- * independent of the advisory catalog and does not validate request routing.
807
- * @param provider - one provider route owned by this adapter.
808
- * @param model - exact model id passed to {@link GenerateOptions.model}.
809
- * @param _signal - cancellation for this exact-model lookup; asynchronous
810
- * implementations must settle promptly after it aborts.
811
- * @returns provider/model identity plus any context, call-default, and reasoning metadata.
812
- */
813
- resolveModel(
814
- provider: string,
815
- model: string,
816
- _signal?: AbortSignal,
817
- ): Promise<LlmResolvedModelInfo>;
818
- /**
819
- * Bind exact model metadata and the eventual request dispatch to one adapter generation.
820
- * Dynamic adapters override this so settings changes between preparation and
821
- * dispatch cannot combine one generation's capabilities with another's endpoint.
822
- * @param provider - registered provider route.
823
- * @param model - exact model id.
824
- * @param signal - cancellation for model resolution.
825
- * @returns model metadata and a one-generation stream entry point.
826
- */
827
- async prepareCall(provider: string, model: string, signal?: AbortSignal): Promise<PreparedAdapterCall>;
828
- /**
829
- * Stream one model call as raw chunks. The only required method.
830
- * @param options - the fully-assembled request; implementations must honor `options.signal`.
831
- * @returns the chunk stream, obeying the adapter contract documented on `StreamChunk`.
832
- */
833
- abstract stream(options: GenerateOptions): AsyncIterable<StreamChunk>;
834
- }
835
- ```
836
-
837
- `ContentBlockType` (the key set the `index`-correlated blocks carry) derives from [`ContentBlockMap`](#content-blocks-and-messages) above.
838
-
839
- <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
840
-
841
- <a id="cordis-surface"></a>
842
-
843
- ## Cordis API
844
-
845
- 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).
846
-
847
- <a id="ctxdeepseekllmapiextensions--deepseekllmapiextensionregistry"></a>
848
-
849
- ### `ctx.deepseekLlmApiExtensions` — `DeepSeekLlmApiExtensionRegistry`
850
-
851
- Registry of independently owned top-level fields for official DeepSeek requests.
852
-
853
- ```ts cordis-catalog
854
- /**
855
- * Register the sole provider of one top-level request field. Registration is effect-scoped.
856
- * @param field - declaration-merged field owned by the provider.
857
- * @param provider - request-time field preparation and optional acceptance behavior.
858
- * @returns disposer that releases the field.
859
- */
860
- register<K extends keyof DeepSeekLlmApiExtensionMap>( field: K, provider: DeepSeekLlmApiExtensionProvider<DeepSeekLlmApiExtensionMap[K]>, ): () => Promise<void>
861
-
862
- /**
863
- * Prepare every currently registered field from one immutable base request.
864
- * Preparation failures reject before HTTP dispatch. Field values are cloned and frozen;
865
- * providers retain no mutable alias to the outgoing request.
866
- * @param request - exact serialized request facts before extension fields.
867
- * @returns detached fields and their idempotent joint acceptance transaction.
868
- */
869
- async prepare(request: DeepSeekLlmApiExtensionRequest): Promise<PreparedDeepSeekLlmApiExtensions>
870
- ```
871
-
872
- Source: [`packages/llm/deepseek-llm-api-extensions/src/index.ts`](../../packages/llm/deepseek-llm-api-extensions/src/index.ts)
873
-
874
- <a id="ctxllm--llmruntime"></a>
875
-
876
- ### `ctx.llm` — `LlmRuntime`
877
-
878
- The abstract `llm` service: an adapter registry plus a streaming model-call API, interceptable via the `llm/stream` waterfall.
879
-
880
- ```ts cordis-catalog
881
- /**
882
- * Register an adapter for the given provider routes. Throws `LlmError` with code
883
- * `DUPLICATE_ADAPTER` if any provider already has an adapter (all-or-nothing).
884
- * Disposed with the fiber.
885
- * @param providers - every provider route this adapter should serve.
886
- * @param adapter - the adapter that streams calls for those providers.
887
- * @returns the disposer, carrying {@link AdapterRegistrationHandle.replace}.
888
- */
889
- registerAdapter(providers: string[], adapter: LlmAdapter): AdapterRegistrationHandle
890
-
891
- /**
892
- * Describe provider routes with a registered adapter.
893
- * @returns detached provider metadata in registration order.
894
- */
895
- @Remote listProviders(): LlmProviderInfo[]
896
-
897
- /**
898
- * Declare provider routes an adapter plugin can activate through
899
- * configuration. Registration is all-or-nothing: an empty list, invalid
900
- * entry, or a provider already declared by any registration throws
901
- * `LlmError` without registering the rest. Disposed with the fiber.
902
- * @param entries - every configurable provider this plugin owns.
903
- * @returns a handle that withdraws all of them, and can atomically replace them.
904
- */
905
- registerConfigurableProviders(entries: readonly LlmConfigurableProvider[]): DirectoryRegistrationHandle
906
-
907
- /**
908
- * List every declared configurable provider, registered or dormant.
909
- * @returns detached directory entries in declaration order.
910
- */
911
- @Remote listConfigurableProviders(): LlmConfigurableProvider[]
912
-
913
- /**
914
- * Offer to interrogate provider endpoints on behalf of the settings
915
- * namespace this plugin owns. The namespace is the key because that is what
916
- * a configuration surface already holds from the configurable-provider
917
- * directory, and because a provider being *added* has no route to name yet.
918
- * Disposed with the fiber.
919
- * @param settingsNs - the namespace whose profiles this discovery serves.
920
- * @param discover - interrogates one endpoint and must honor the supplied signal.
921
- * @returns the disposer that withdraws the offer.
922
- */
923
- registerModelDiscovery( settingsNs: string, discover: ( request: LlmModelDiscoveryRequest, signal?: AbortSignal, ) => Promise<readonly LlmDiscoveredModel[]>, ): () => void
924
-
925
- /**
926
- * Interrogate one provider endpoint for the models it advertises. The
927
- * request describes a draft, not a stored route, so nothing here reads or
928
- * writes settings or credentials — the caller owns both, and the reply is
929
- * candidate metadata a surface may offer for adoption.
930
- * @param settingsNs - namespace whose registered discovery serves this draft.
931
- * @param request - the endpoint, protocol, and one-shot credential to use.
932
- * @param signal - caller cancellation.
933
- * @returns the advertised models, deduplicated in endpoint order.
934
- */
935
- async discoverModels( settingsNs: string, request: LlmModelDiscoveryRequest, signal?: AbortSignal, ): Promise<LlmDiscoveredModel[]>
936
-
937
- /**
938
- * Remote adapter for one draft provider interrogation.
939
- * @param settingsNs - namespace whose registered discovery serves this draft.
940
- * @param request - endpoint, protocol, and one-shot credential to use.
941
- * @param signal - caller cancellation supplied by the Remote carrier.
942
- * @returns advertised models in endpoint order.
943
- * @throws RemoteError with `llm/model-discovery-rejected` when discovery refuses or fails.
944
- */
945
- @Remote('discoverModels') async remoteDiscoverModels( settingsNs: string, request: LlmModelDiscoveryRequest, signal: AbortSignal, ): Promise<LlmDiscoveredModel[]>
946
-
947
- /**
948
- * Resolve the retry policy captured when one provider route was registered.
949
- * @param provider - registered provider route to inspect.
950
- * @returns the provider-owned policy, with normal defaults already resolved.
951
- */
952
- providerRetryPolicy(provider: string): ResolvedRetryPolicy
953
-
954
- /**
955
- * Resolve provider-side request-image pricing for one exact route, or
956
- * `undefined` when the provider is unregistered or declares none. Unknown
957
- * providers degrade to `undefined` rather than throwing because callers
958
- * price durable history whose route may no longer be mounted.
959
- * @param provider - provider route named by a request header.
960
- * @param model - exact model id named by the same header.
961
- * @returns the owning adapter's image pricing for the route, when declared.
962
- */
963
- imageRequestPricing(provider: string, model: string): LlmImageRequestPricing | undefined
964
-
965
- /**
966
- * Resolve the exact text one durable file occurrence contributes to every
967
- * provider request in the current execution environment.
968
- * @param ref - durable verbatim file reference from model history.
969
- * @returns the same deterministic handle text used at adapter dispatch.
970
- */
971
- fileRequestText(ref: FileAttachmentRef): string
972
-
973
- /**
974
- * Discover models advertised by one registered provider. Catalog membership
975
- * is advisory and never changes routing or request validation.
976
- * @param provider - registered provider route to inspect.
977
- * @returns detached model metadata in adapter-preferred order.
978
- */
979
- async listModels(provider: string): Promise<LlmModelInfo[]>
980
-
981
- /**
982
- * Resolve and validate all metadata from the adapter that owns one exact
983
- * route. The result is detached from adapter-owned objects; catalog
984
- * membership remains advisory and does not control request routing.
985
- * @param provider - registered provider route to inspect.
986
- * @param model - exact model id passed to the adapter.
987
- * @param signal - optional cancellation for adapter-owned asynchronous lookup.
988
- * @returns exact model identity plus available context and reasoning metadata.
989
- */
990
- async resolveModelInfo( provider: string, model: string, signal?: AbortSignal, ): Promise<LlmResolvedModelInfo>
991
-
992
- /**
993
- * Validate a conversation call config against its exact model capability and
994
- * materialize adapter-configured defaults. Unsupported explicit efforts
995
- * reject before provider I/O; no clamping or aliasing is performed. This
996
- * standalone query does not bind a later dispatch; use {@link prepareCall}
997
- * when logging and streaming must share one adapter registration.
998
- * @param config - provider/model route and optional request controls.
999
- * @param signal - optional cancellation for adapter-owned capability lookup.
1000
- * @returns a detached config only when a default must be materialized.
1001
- */
1002
- async resolveCallConfig(config: LlmCallConfig, signal?: AbortSignal): Promise<LlmCallConfig>
1003
-
1004
- /**
1005
- * Resolve one call under its current adapter registration. The returned
1006
- * one-shot handle keeps that registration across header logging and dispatch,
1007
- * so HMR cannot combine one adapter's capability result with another adapter.
1008
- * @param config - provider/model route and optional request controls.
1009
- * @param signal - optional cancellation for adapter-owned capability lookup.
1010
- * @returns a prepared config and its registration-bound stream entry point.
1011
- */
1012
- async prepareCall(config: LlmCallConfig, signal?: AbortSignal): Promise<PreparedLlmCall>
1013
-
1014
- /**
1015
- * Stream one model call as raw chunks (token-level deltas). Replay state is
1016
- * retained only when the same adapter instance owns its historical provider
1017
- * and the target provider. Final adapter selection remains fixed through
1018
- * asynchronous exact-model resolution and dispatch. Adapter selection,
1019
- * dispatch, and iteration failures become terminal `error` or `aborted`
1020
- * finish chunks; middleware, nested-call, cleanup, and consumer failures
1021
- * remain thrown.
1022
- * @param options - the full request; `options.provider` selects the adapter.
1023
- * @returns the chunk stream, possibly wrapped by `llm/stream` listeners.
1024
- */
1025
- stream(options: GenerateOptions): AsyncIterable<StreamChunk>
1026
- ```
1027
-
1028
- Types: [FileAttachmentRef](attachment.md)
1029
-
1030
- Source: [`packages/llm/llm/src/index.ts`](../../packages/llm/llm/src/index.ts)
1031
-
1032
- <a id="llm-events"></a>
1033
-
1034
- ### `llm/*` events
1035
-
1036
- <a id="llmadapters-updated--emit"></a>
1037
-
1038
- #### `llm/adapters-updated` — emit
1039
-
1040
- The provider topology changed: an adapter registered or unregistered routes, or the configurable-provider directory gained or lost entries. This payload-free registry notification fires at each commit point (including registration disposal); consumers re-read `listProviders()`, `listModels()`, or `listConfigurableProviders()` for the new state. Observer failures are contained and cannot veto the registry mutation.
1041
-
1042
- ```ts cordis-catalog
1043
- /**
1044
- * The provider topology changed: an adapter registered or unregistered
1045
- * routes, or the configurable-provider directory gained or lost entries.
1046
- * This payload-free registry notification fires at each commit point
1047
- * (including registration disposal); consumers re-read `listProviders()`,
1048
- * `listModels()`, or `listConfigurableProviders()` for the new state.
1049
- * Observer failures are contained and cannot veto the registry mutation.
1050
- * @mode emit
1051
- */
1052
- 'llm/adapters-updated'(): void
1053
- ```
1054
-
1055
- Source: [`packages/llm/llm/src/types.ts`](../../packages/llm/llm/src/types.ts)
1056
-
1057
- <a id="llmstream--waterfall"></a>
1058
-
1059
- #### `llm/stream` — waterfall
1060
-
1061
- Waterfall around every streaming model call (retry, replay, routing). Bound to the LlmRuntime; call `next()` to reach the resolved adapter's stream, or yield your own chunks to short-circuit.
1062
-
1063
- ```ts cordis-catalog
1064
- /**
1065
- * Waterfall around every streaming model call (retry, replay, routing).
1066
- * Bound to the {@link LlmRuntime}; call `next()` to reach the resolved
1067
- * adapter's stream, or yield your own chunks to short-circuit.
1068
- * @param options - the full request. A LOOP-built request carries the
1069
- * process-local {@link markAgentLoopRequest} identity and arrives deep-frozen
1070
- * (mutation throws): its content is a pure function of the session log (the
1071
- * reconstructability Agent Note), so listeners read it, never rewrite it.
1072
- * Hand-built calls do not carry that marker; their messages already obey
1073
- * the immutable creation contract.
1074
- * @mode waterfall
1075
- */
1076
- 'llm/stream'(this: LlmRuntime, options: GenerateOptions, next: () => AsyncIterable<StreamChunk>): AsyncIterable<StreamChunk>
1077
- ```
1078
-
1079
- Source: [`packages/llm/llm/src/index.ts`](../../packages/llm/llm/src/index.ts)
1080
- <!-- END GENERATED cordis-surface -->