dsh-plugin-dev-kb 1.1.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.en.md +14 -8
  3. package/README.md +15 -9
  4. package/docs/banner.svg +25 -0
  5. package/kb/INDEX.md +23 -19
  6. package/kb/README.md +8 -6
  7. package/kb/extra/AGENTS.md +11 -10
  8. package/kb/extra/cookbook/adding-a-remote-api.md +2 -2
  9. package/kb/extra/cookbook/adding-a-remote-api.zh.md +2 -2
  10. package/kb/extra/cookbook/adding-a-session-format-version.md +151 -0
  11. package/kb/extra/cookbook/adding-a-session-format-version.zh.md +151 -0
  12. package/kb/extra/cookbook/adding-a-vendored-package.md +1 -1
  13. package/kb/extra/cookbook/adding-a-vendored-package.zh.md +1 -1
  14. package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.md +1 -1
  15. package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.zh.md +1 -1
  16. package/kb/extra/cookbook/reviewing-persistence-type-changes.md +120 -0
  17. package/kb/extra/cookbook/reviewing-persistence-type-changes.zh.md +120 -0
  18. package/kb/extra/deepseek-llm-api-wire-extensions.md +19 -20
  19. package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +18 -19
  20. package/kb/extra/development.md +37 -10
  21. package/kb/extra/development.zh.md +37 -10
  22. package/kb/extra/event-producer-consumer.md +90 -67
  23. package/kb/extra/event-producer-consumer.zh.md +91 -68
  24. package/kb/extra/glossary.md +1 -1
  25. package/kb/extra/glossary.zh.md +1 -1
  26. package/kb/extra/i18n/README.md +16 -7
  27. package/kb/extra/i18n/README.zh.md +17 -8
  28. package/kb/extra/i18n/terminology.md +4 -4
  29. package/kb/extra/i18n/translation-prompt.md +3 -3
  30. package/kb/extra/module-graph.md +621 -335
  31. package/kb/extra/module-graph.zh.md +621 -335
  32. package/kb/extra/persistence-changes/2026-09-11-initial.md +280 -0
  33. package/kb/extra/persistence-changes/2026-09-11-initial.zh.md +280 -0
  34. package/kb/extra/persistence-changes/2026-09-12-auto-review-error-metadata.md +52 -0
  35. package/kb/extra/persistence-changes/2026-09-12-auto-review-error-metadata.zh.md +52 -0
  36. package/kb/extra/persistence-changes/2026-09-14-image-offload.md +96 -0
  37. package/kb/extra/persistence-changes/2026-09-14-image-offload.zh.md +96 -0
  38. package/kb/extra/persistence-changes/2026-09-14-workspace-changes-event.md +48 -0
  39. package/kb/extra/persistence-changes/2026-09-14-workspace-changes-event.zh.md +48 -0
  40. package/kb/extra/persistence-changes/2026-09-16-session-format-v4.md +120 -0
  41. package/kb/extra/persistence-changes/2026-09-16-session-format-v4.zh.md +120 -0
  42. package/kb/extra/persistence-changes/2026-09-18-schedule-optional-title.md +48 -0
  43. package/kb/extra/persistence-changes/2026-09-18-schedule-optional-title.zh.md +48 -0
  44. package/kb/extra/persistence-changes/2026-09-20-unknown-child-catalog.md +48 -0
  45. package/kb/extra/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +48 -0
  46. package/kb/extra/persistence-changes/2026-09-21-user-question-reply.md +60 -0
  47. package/kb/extra/persistence-changes/2026-09-21-user-question-reply.zh.md +60 -0
  48. package/kb/extra/persistence-changes/README.md +88 -0
  49. package/kb/extra/persistence-changes/README.zh.md +88 -0
  50. package/kb/extra/persistence-changes/historical-formats/README.md +75 -0
  51. package/kb/extra/persistence-changes/historical-formats/README.zh.md +75 -0
  52. package/kb/extra/persistence-changes/historical-formats/v0.md +5105 -0
  53. package/kb/extra/persistence-changes/historical-formats/v0.zh.md +5105 -0
  54. package/kb/extra/persistence-changes/historical-formats/v1.md +5107 -0
  55. package/kb/extra/persistence-changes/historical-formats/v1.zh.md +5107 -0
  56. package/kb/extra/persistence-changes/historical-formats/v2.md +5362 -0
  57. package/kb/extra/persistence-changes/historical-formats/v2.zh.md +5362 -0
  58. package/kb/extra/persistence-changes/historical-formats/v3.md +5634 -0
  59. package/kb/extra/persistence-changes/historical-formats/v3.zh.md +5634 -0
  60. package/kb/extra/persistence-changes/releases/README.md +103 -0
  61. package/kb/extra/persistence-changes/releases/README.zh.md +103 -0
  62. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.1.md +201 -0
  63. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.1.zh.md +201 -0
  64. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.2.md +261 -0
  65. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.2.zh.md +261 -0
  66. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.3.md +126 -0
  67. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.3.zh.md +126 -0
  68. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.4.md +75 -0
  69. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.4.zh.md +75 -0
  70. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.5.md +75 -0
  71. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.5.zh.md +75 -0
  72. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.1.md +75 -0
  73. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.1.zh.md +75 -0
  74. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.2.md +75 -0
  75. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.2.zh.md +75 -0
  76. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.3.md +75 -0
  77. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.3.zh.md +75 -0
  78. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.5.md +75 -0
  79. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.5.zh.md +75 -0
  80. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.6.md +75 -0
  81. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.6.zh.md +75 -0
  82. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.7.md +82 -0
  83. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.7.zh.md +82 -0
  84. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.8.md +110 -0
  85. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.8.zh.md +110 -0
  86. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.1.md +82 -0
  87. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.1.zh.md +82 -0
  88. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.2.md +119 -0
  89. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.2.zh.md +119 -0
  90. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.1.md +295 -0
  91. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.1.zh.md +295 -0
  92. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.2.md +286 -0
  93. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.2.zh.md +286 -0
  94. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.3.md +75 -0
  95. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.3.zh.md +75 -0
  96. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.4.md +95 -0
  97. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.4.zh.md +95 -0
  98. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.5.md +75 -0
  99. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.5.zh.md +75 -0
  100. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-rc.1.md +75 -0
  101. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-rc.1.zh.md +75 -0
  102. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.1.md +154 -0
  103. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.1.zh.md +154 -0
  104. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.2.md +86 -0
  105. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.2.zh.md +86 -0
  106. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.1.md +139 -0
  107. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.1.zh.md +139 -0
  108. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.2.md +95 -0
  109. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.2.zh.md +95 -0
  110. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.1.md +75 -0
  111. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.1.zh.md +75 -0
  112. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.2.md +75 -0
  113. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.2.zh.md +75 -0
  114. package/kb/extra/rescope.md +2 -2
  115. package/kb/extra/rescope.zh.md +2 -2
  116. package/kb/extra/session-format-status.md +63 -0
  117. package/kb/extra/session-format-status.zh.md +63 -0
  118. package/kb/extra/subsystems/agent-team.md +52 -28
  119. package/kb/extra/subsystems/agent-team.zh.md +52 -28
  120. package/kb/extra/subsystems/attachment.md +19 -9
  121. package/kb/extra/subsystems/attachment.zh.md +19 -9
  122. package/kb/extra/subsystems/boot.md +323 -0
  123. package/kb/extra/subsystems/boot.zh.md +323 -0
  124. package/kb/extra/subsystems/browser-use.md +67 -0
  125. package/kb/extra/subsystems/browser-use.zh.md +67 -0
  126. package/kb/extra/subsystems/claude-code-mods.md +146 -0
  127. package/kb/extra/subsystems/claude-code-mods.zh.md +146 -0
  128. package/kb/extra/subsystems/computer-use.md +56 -0
  129. package/kb/extra/subsystems/computer-use.zh.md +56 -0
  130. package/kb/extra/subsystems/deliverables.md +178 -0
  131. package/kb/extra/subsystems/deliverables.zh.md +178 -0
  132. package/kb/extra/subsystems/extensions.md +6 -4
  133. package/kb/extra/subsystems/extensions.zh.md +6 -4
  134. package/kb/extra/subsystems/feedback.md +165 -31
  135. package/kb/extra/subsystems/feedback.zh.md +165 -31
  136. package/kb/extra/subsystems/mcp.md +139 -0
  137. package/kb/extra/subsystems/mcp.zh.md +139 -0
  138. package/kb/extra/subsystems/office-to-pdf.md +87 -0
  139. package/kb/extra/subsystems/office-to-pdf.zh.md +87 -0
  140. package/kb/extra/subsystems/otel.md +44 -0
  141. package/kb/extra/subsystems/otel.zh.md +44 -0
  142. package/kb/extra/subsystems/product-telemetry.md +79 -0
  143. package/kb/extra/subsystems/product-telemetry.zh.md +79 -0
  144. package/kb/extra/subsystems/ssh.md +135 -0
  145. package/kb/extra/subsystems/ssh.zh.md +135 -0
  146. package/kb/extra/subsystems/todo.md +3 -3
  147. package/kb/extra/subsystems/todo.zh.md +3 -3
  148. package/kb/extra/subsystems/voice-input.md +164 -0
  149. package/kb/extra/subsystems/voice-input.zh.md +164 -0
  150. package/kb/extra/subsystems/webhook.md +3 -3
  151. package/kb/extra/subsystems/webhook.zh.md +1 -1
  152. package/kb/extra/testing.md +5 -4
  153. package/kb/extra/testing.zh.md +5 -4
  154. package/kb/extra/ui-radius.md +115 -0
  155. package/kb/extra/ui-radius.zh.md +115 -0
  156. package/kb/extra/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +22 -0
  157. package/kb/extra/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +22 -0
  158. package/kb/extra/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +25 -0
  159. package/kb/extra/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +25 -0
  160. package/kb/extra/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +18 -0
  161. package/kb/extra/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +18 -0
  162. package/kb/extra/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +23 -0
  163. package/kb/extra/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +23 -0
  164. package/kb/extra/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +22 -0
  165. package/kb/extra/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +22 -0
  166. package/kb/extra/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +27 -0
  167. package/kb/extra/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +27 -0
  168. package/kb/extra/web-styling.md +12 -2
  169. package/kb/extra/web-styling.zh.md +12 -2
  170. package/kb/meta/search-index.json +1019 -251
  171. package/kb/meta/site-pages.txt +187 -183
  172. package/kb/meta/source.json +8 -8
  173. package/kb/meta/topics.md +11 -7
  174. package/kb/site/develop/basic/config.md +1 -0
  175. package/kb/site/develop/basic/index.md +1 -0
  176. package/kb/site/develop/basic/publish.md +10 -3
  177. package/kb/site/develop/basic/tool.md +1 -0
  178. package/kb/site/develop/cordis-tutorial/01-first-plugin.md +1 -0
  179. package/kb/site/develop/cordis-tutorial/02-lifecycle-and-effects.md +1 -0
  180. package/kb/site/develop/cordis-tutorial/03-services.md +1 -0
  181. package/kb/site/develop/cordis-tutorial/04-events.md +1 -0
  182. package/kb/site/develop/cordis-tutorial/05-config.md +28 -0
  183. package/kb/site/develop/cordis-tutorial/06-composition-and-hmr.md +3 -2
  184. package/kb/site/develop/cordis-tutorial/07-into-the-harness.md +1 -0
  185. package/kb/site/develop/cordis-tutorial/index.md +1 -0
  186. package/kb/site/develop/framework/events.md +1 -0
  187. package/kb/site/develop/framework/index.md +2 -1
  188. package/kb/site/develop/framework/service.md +1 -0
  189. package/kb/site/develop/practice/dynamic-cordis.md +9 -8
  190. package/kb/site/develop/practice/index.md +1 -0
  191. package/kb/site/develop/practice/llm-adapter.md +2 -1
  192. package/kb/site/en/develop/basic/config.md +1 -0
  193. package/kb/site/en/develop/basic/index.md +1 -0
  194. package/kb/site/en/develop/basic/publish.md +10 -3
  195. package/kb/site/en/develop/basic/tool.md +1 -0
  196. package/kb/site/en/develop/cordis-tutorial/01-first-plugin.md +1 -0
  197. package/kb/site/en/develop/cordis-tutorial/02-lifecycle-and-effects.md +1 -0
  198. package/kb/site/en/develop/cordis-tutorial/03-services.md +1 -0
  199. package/kb/site/en/develop/cordis-tutorial/04-events.md +1 -0
  200. package/kb/site/en/develop/cordis-tutorial/05-config.md +28 -0
  201. package/kb/site/en/develop/cordis-tutorial/06-composition-and-hmr.md +3 -2
  202. package/kb/site/en/develop/cordis-tutorial/07-into-the-harness.md +1 -0
  203. package/kb/site/en/develop/cordis-tutorial/index.md +1 -0
  204. package/kb/site/en/develop/framework/events.md +1 -0
  205. package/kb/site/en/develop/framework/index.md +2 -1
  206. package/kb/site/en/develop/framework/service.md +1 -0
  207. package/kb/site/en/develop/practice/dynamic-cordis.md +9 -8
  208. package/kb/site/en/develop/practice/index.md +1 -0
  209. package/kb/site/en/develop/practice/llm-adapter.md +2 -1
  210. package/kb/site/en/guide/github-review.md +1 -0
  211. package/kb/site/en/guide/mcp-memory.md +1 -0
  212. package/kb/site/en/guide/network-proxy.md +2 -1
  213. package/kb/site/en/guide/providers-custom-form.png +0 -0
  214. package/kb/site/en/guide/providers-models-page.png +0 -0
  215. package/kb/site/en/guide/providers.md +98 -83
  216. package/kb/site/en/guide/public-deployments.md +36 -0
  217. package/kb/site/en/guide/python-sdk.md +60 -23
  218. package/kb/site/en/guide/quickstart.md +2 -0
  219. package/kb/site/en/guide/schedule.md +70 -11
  220. package/kb/site/en/reference/agent-lifecycle.md +13 -5
  221. package/kb/site/en/reference/api-gateway.md +13 -11
  222. package/kb/site/en/reference/capability-seams.md +187 -62
  223. package/kb/site/en/reference/config-catalog.md +1887 -819
  224. package/kb/site/en/reference/cookbook/adding-a-package.md +57 -3
  225. package/kb/site/en/reference/cookbook/adding-a-settings-card.md +35 -64
  226. package/kb/site/en/reference/cookbook/adding-a-tool.md +5 -4
  227. package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +1 -0
  228. package/kb/site/en/reference/cookbook/extension-cookbook.md +7 -6
  229. package/kb/site/en/reference/cordis-api/context.md +1 -0
  230. package/kb/site/en/reference/cordis-api/events.md +1 -0
  231. package/kb/site/en/reference/cordis-api/fiber.md +4 -3
  232. package/kb/site/en/reference/cordis-api/inherited.md +16 -16
  233. package/kb/site/en/reference/cordis-api/registry.md +1 -0
  234. package/kb/site/en/reference/cordis-api/service.md +1 -0
  235. package/kb/site/en/reference/cordis-primer.md +1 -0
  236. package/kb/site/en/reference/index.md +32 -15
  237. package/kb/site/en/reference/persistence-catalog.md +7787 -81
  238. package/kb/site/en/reference/subsystems/approval.md +3 -2
  239. package/kb/site/en/reference/subsystems/client-modules.md +30 -13
  240. package/kb/site/en/reference/subsystems/client-resources.md +96 -0
  241. package/kb/site/en/reference/subsystems/commands.md +6 -1
  242. package/kb/site/en/reference/subsystems/compaction.md +50 -3
  243. package/kb/site/en/reference/subsystems/conversation.md +36 -6
  244. package/kb/site/en/reference/subsystems/core.md +174 -271
  245. package/kb/site/en/reference/subsystems/credentials.md +169 -5
  246. package/kb/site/en/reference/subsystems/filesystem.md +26 -0
  247. package/kb/site/en/reference/subsystems/goal.md +39 -2
  248. package/kb/site/en/reference/subsystems/index.md +18 -5
  249. package/kb/site/en/reference/subsystems/jobs.md +337 -127
  250. package/kb/site/en/reference/subsystems/llm-streaming.md +93 -43
  251. package/kb/site/en/reference/subsystems/lsp.md +2 -1
  252. package/kb/site/en/reference/subsystems/permission-presets.md +66 -29
  253. package/kb/site/en/reference/subsystems/persistence.md +40 -18
  254. package/kb/site/en/reference/subsystems/plan.md +2 -1
  255. package/kb/site/en/reference/subsystems/ptc-runtime.md +236 -0
  256. package/kb/site/en/reference/subsystems/sandbox.md +7 -5
  257. package/kb/site/en/reference/subsystems/schedule.md +392 -33
  258. package/kb/site/en/reference/subsystems/scope.md +2 -1
  259. package/kb/site/en/reference/subsystems/session-projection.md +22 -19
  260. package/kb/site/en/reference/subsystems/session-query.md +1 -0
  261. package/kb/site/en/reference/subsystems/session-reference.md +12 -6
  262. package/kb/site/en/reference/subsystems/session-telemetry.md +27 -8
  263. package/kb/site/en/reference/subsystems/session-title.md +6 -5
  264. package/kb/site/en/reference/subsystems/session.md +258 -118
  265. package/kb/site/en/reference/subsystems/settings.md +43 -292
  266. package/kb/site/en/reference/subsystems/shell.md +44 -32
  267. package/kb/site/en/reference/subsystems/sidebar-right.md +162 -0
  268. package/kb/site/en/reference/subsystems/skills.md +5 -6
  269. package/kb/site/en/reference/subsystems/slots.md +68 -39
  270. package/kb/site/en/reference/subsystems/spill.md +15 -7
  271. package/kb/site/en/reference/subsystems/storage.md +2 -2
  272. package/kb/site/en/reference/subsystems/subagent.md +65 -72
  273. package/kb/site/en/reference/subsystems/subprocess.md +42 -44
  274. package/kb/site/en/reference/subsystems/system-prompt.md +7 -2
  275. package/kb/site/en/reference/subsystems/terminal.md +1 -0
  276. package/kb/site/en/reference/subsystems/token-meter.md +3 -1
  277. package/kb/site/en/reference/subsystems/tools.md +44 -16
  278. package/kb/site/en/reference/subsystems/typert.md +153 -10
  279. package/kb/site/en/reference/subsystems/user-questions.md +131 -1
  280. package/kb/site/en/reference/subsystems/web-client.md +15 -9
  281. package/kb/site/en/reference/subsystems/web-server.md +74 -1
  282. package/kb/site/en/reference/subsystems/web.md +1 -0
  283. package/kb/site/en/reference/subsystems/workflow.md +10 -9
  284. package/kb/site/en/reference/subsystems/workspace.md +343 -4
  285. package/kb/site/en/reference/tool-catalog.md +806 -311
  286. package/kb/site/en/reference/tool-execution-pipeline.md +9 -5
  287. package/kb/site/guide/github-review.md +1 -0
  288. package/kb/site/guide/mcp-memory.md +1 -0
  289. package/kb/site/guide/network-proxy.md +2 -1
  290. package/kb/site/guide/providers-custom-form.zh.png +0 -0
  291. package/kb/site/guide/providers-models-page.zh.png +0 -0
  292. package/kb/site/guide/providers.md +109 -94
  293. package/kb/site/guide/public-deployments.md +36 -0
  294. package/kb/site/guide/python-sdk.md +60 -23
  295. package/kb/site/guide/quickstart.md +2 -0
  296. package/kb/site/guide/schedule.md +70 -11
  297. package/kb/site/reference/agent-lifecycle.md +13 -5
  298. package/kb/site/reference/api-gateway.md +13 -11
  299. package/kb/site/reference/capability-seams.md +187 -62
  300. package/kb/site/reference/config-catalog.md +1889 -820
  301. package/kb/site/reference/cookbook/adding-a-package.md +55 -3
  302. package/kb/site/reference/cookbook/adding-a-settings-card.md +35 -64
  303. package/kb/site/reference/cookbook/adding-a-tool.md +5 -4
  304. package/kb/site/reference/cookbook/adding-an-llm-adapter.md +1 -0
  305. package/kb/site/reference/cookbook/extension-cookbook.md +7 -6
  306. package/kb/site/reference/cordis-api/context.md +1 -0
  307. package/kb/site/reference/cordis-api/events.md +1 -0
  308. package/kb/site/reference/cordis-api/fiber.md +4 -3
  309. package/kb/site/reference/cordis-api/inherited.md +16 -16
  310. package/kb/site/reference/cordis-api/registry.md +1 -0
  311. package/kb/site/reference/cordis-api/service.md +1 -0
  312. package/kb/site/reference/cordis-primer.md +1 -0
  313. package/kb/site/reference/index.md +32 -15
  314. package/kb/site/reference/persistence-catalog.md +7791 -85
  315. package/kb/site/reference/subsystems/approval.md +3 -2
  316. package/kb/site/reference/subsystems/client-modules.md +30 -13
  317. package/kb/site/reference/subsystems/client-resources.md +96 -0
  318. package/kb/site/reference/subsystems/commands.md +6 -1
  319. package/kb/site/reference/subsystems/compaction.md +50 -3
  320. package/kb/site/reference/subsystems/conversation.md +35 -5
  321. package/kb/site/reference/subsystems/core.md +174 -271
  322. package/kb/site/reference/subsystems/credentials.md +169 -5
  323. package/kb/site/reference/subsystems/filesystem.md +26 -0
  324. package/kb/site/reference/subsystems/goal.md +39 -2
  325. package/kb/site/reference/subsystems/index.md +28 -15
  326. package/kb/site/reference/subsystems/jobs.md +336 -126
  327. package/kb/site/reference/subsystems/llm-streaming.md +93 -43
  328. package/kb/site/reference/subsystems/lsp.md +2 -1
  329. package/kb/site/reference/subsystems/permission-presets.md +66 -29
  330. package/kb/site/reference/subsystems/persistence.md +40 -18
  331. package/kb/site/reference/subsystems/plan.md +2 -1
  332. package/kb/site/reference/subsystems/ptc-runtime.md +236 -0
  333. package/kb/site/reference/subsystems/sandbox.md +7 -5
  334. package/kb/site/reference/subsystems/schedule.md +392 -33
  335. package/kb/site/reference/subsystems/scope.md +2 -1
  336. package/kb/site/reference/subsystems/session-projection.md +22 -19
  337. package/kb/site/reference/subsystems/session-query.md +1 -0
  338. package/kb/site/reference/subsystems/session-reference.md +12 -6
  339. package/kb/site/reference/subsystems/session-telemetry.md +27 -8
  340. package/kb/site/reference/subsystems/session-title.md +6 -5
  341. package/kb/site/reference/subsystems/session.md +258 -118
  342. package/kb/site/reference/subsystems/settings.md +43 -292
  343. package/kb/site/reference/subsystems/shell.md +44 -32
  344. package/kb/site/reference/subsystems/sidebar-right.md +162 -0
  345. package/kb/site/reference/subsystems/skills.md +5 -6
  346. package/kb/site/reference/subsystems/slots.md +68 -39
  347. package/kb/site/reference/subsystems/spill.md +15 -7
  348. package/kb/site/reference/subsystems/storage.md +2 -2
  349. package/kb/site/reference/subsystems/subagent.md +64 -71
  350. package/kb/site/reference/subsystems/subprocess.md +42 -44
  351. package/kb/site/reference/subsystems/system-prompt.md +7 -2
  352. package/kb/site/reference/subsystems/terminal.md +1 -0
  353. package/kb/site/reference/subsystems/token-meter.md +3 -1
  354. package/kb/site/reference/subsystems/tools.md +44 -16
  355. package/kb/site/reference/subsystems/typert.md +153 -10
  356. package/kb/site/reference/subsystems/user-questions.md +132 -2
  357. package/kb/site/reference/subsystems/web-client.md +15 -9
  358. package/kb/site/reference/subsystems/web-server.md +74 -1
  359. package/kb/site/reference/subsystems/web.md +1 -0
  360. package/kb/site/reference/subsystems/workflow.md +10 -9
  361. package/kb/site/reference/subsystems/workspace.md +343 -4
  362. package/kb/site/reference/tool-catalog.md +810 -315
  363. package/kb/site/reference/tool-execution-pipeline.md +9 -5
  364. package/lib/index.js +25 -44
  365. package/package.json +3 -2
  366. package/skills/dsh-plugin-dev-kb.md +6 -5
  367. package/kb/site/en/reference/subsystems/code-runtime.md +0 -198
  368. package/kb/site/en/reference/subsystems/invariants.md +0 -91
  369. package/kb/site/reference/subsystems/code-runtime.md +0 -198
  370. package/kb/site/reference/subsystems/invariants.md +0 -91
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  editSource: "docs/config-catalog.md"
3
+ rawMarkdownPath: "en/reference/config-catalog.md"
3
4
  ---
4
5
 
5
6
  <!-- Generated by scripts/gen-config-catalog.ts — do not edit by hand.
@@ -9,15 +10,18 @@ editSource: "docs/config-catalog.md"
9
10
 
10
11
  Every `config:` block a `cordis.yml` entry can set: for each loadable harness package, the verbatim config declaration (JSDoc included) its `apply` function or service constructor receives, with every referenced type pasted alongside (package-local types) or linked (everything else). The paste is the plugin's full declared config type — a field the runtime schema deliberately excludes is a runtime-only seam (its own JSDoc says so) and is not settable from `cordis.yml`. This is the **deployment**-axis reference — the wiring a plugin author works against is the generated Cordis API region on each [subsystem page](./subsystems/core.md), the model-facing tool schemas are the [tool catalog](./tool-catalog.md), and [subsystems/](./subsystems/core.md) documents the types these declarations reference.
11
12
 
12
- This file is GENERATED from source (`scripts/gen-config-catalog.ts`) and verified fresh by `pnpm run verify-config-catalog` (part of `doc-sync`) — do not edit it by hand. Declaration blocks use a `ts config-catalog` fence (skipped by doc-typecheck, since a lone declaration referencing imports is not standalone-compilable). The generator also cross-checks the runtime schemastery schema against the pasted declaration — every schema-validated key, nested keys included, must be locatable on the declared config type — so the paste cannot hide a loader-accepted field.
13
+ Both language versions of this file are GENERATED from source (`scripts/gen-config-catalog.ts`) and verified fresh by `pnpm run verify-config-catalog` (part of `doc-sync`) — do not edit them by hand. Declaration blocks use a `ts config-catalog` fence (skipped by doc-typecheck, since a lone declaration referencing imports is not standalone-compilable). The generator also cross-checks the runtime schemastery schema against the pasted declaration — every schema-validated key, nested keys included, must be locatable on the declared config type — so the paste cannot hide a loader-accepted field.
13
14
 
14
- A `Requires:` line lists the service keys the plugin `inject`s: its `cordis.yml` tree must also load providers for those services. Scope is the harness tier (`packages/`); the vendored cordis plugins a config tree may also load (`hmr`, the console logger, …) are pinned upstream source ([vendoring policy](https://github.com/deepseek-ai/deepseek-harness/blob/master/vendor/README.md)) and not catalogued here.
15
+ Each package entry labels its data with three identifiers: `inject` lists the service keys the plugin injects, so its `cordis.yml` tree must also load providers for those services; `refs` lists the referenced types that are not pasted here; `source` links the file that declares the config. Scope is the harness tier (`packages/`); the vendored cordis plugins a config tree may also load (the console logger, …) are pinned upstream source ([vendoring policy](https://github.com/deepseek-ai/deepseek-harness/blob/master/vendor/README.md)) and not catalogued here.
15
16
 
17
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-acp -->
16
18
  <a id="deepseek-aidsh-acp"></a>
17
19
 
18
20
  ## `@deepseek-ai/dsh-acp`
19
21
 
20
- Requires: `agents` · `llm` · `sessionPersistence` · `sessions`
22
+ - `inject`: `agents` · `llm` · `sessionPersistence` · `sessions`
23
+ - `refs`: `Stream` (`@agentclientprotocol/sdk`)
24
+ - `source`: [`packages/acp/acp/src/index.ts:75`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/acp/acp/src/index.ts)
21
25
 
22
26
  ```ts config-catalog
23
27
  /** Plugin config: the provider/model selection used for each ACP-created agent. */
@@ -32,32 +36,36 @@ export interface AcpConfig {
32
36
  stream?: Stream
33
37
  }
34
38
  ```
39
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-acp -->
35
40
 
36
- Depends on: `Stream` (`@agentclientprotocol/sdk`)
37
-
38
- Source: [`packages/acp/acp/src/index.ts:75`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/acp/acp/src/index.ts)
39
-
41
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-agent-default-model -->
40
42
  <a id="deepseek-aidsh-agent-default-model"></a>
41
43
 
42
44
  ## `@deepseek-ai/dsh-agent-default-model`
43
45
 
46
+ - `refs`: `Volatile` (`@deepseek-ai/cordis`)
47
+ - `source`: [`packages/core/agent-default-model/src/index.ts:24`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent-default-model/src/index.ts)
48
+
44
49
  ```ts config-catalog
45
- /** Composition entry for the default model selection. */
50
+ /** Default model selection supplied by plugin configuration. */
46
51
  export interface Config {
47
52
  /** Registered provider route. */
48
- provider: string
53
+ provider: Volatile<string>
49
54
  /** Provider-owned model id. */
50
- model: string
55
+ model: Volatile<string>
56
+ /** Adapter-owned reasoning effort; omission follows the provider default. */
57
+ reasoningEffort: Volatile<string | undefined>
51
58
  }
52
59
  ```
60
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-agent-default-model -->
53
61
 
54
- Source: [`packages/core/agent-default-model/src/index.ts:41`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent-default-model/src/index.ts)
55
-
62
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-agent-instructions -->
56
63
  <a id="deepseek-aidsh-agent-instructions"></a>
57
64
 
58
65
  ## `@deepseek-ai/dsh-agent-instructions`
59
66
 
60
- Requires: `sessionProjections`
67
+ - `inject`: `sessionProjections`
68
+ - `source`: [`packages/context/agent-instructions/src/config.ts:18`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/agent-instructions/src/config.ts)
61
69
 
62
70
  ```ts config-catalog
63
71
  /** User-facing workspace instruction loader configuration. */
@@ -82,14 +90,16 @@ export interface Config {
82
90
  localInstructionFileCandidates?: string[]
83
91
  }
84
92
  ```
93
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-agent-instructions -->
85
94
 
86
- Source: [`packages/context/agent-instructions/src/config.ts:18`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/agent-instructions/src/config.ts)
87
-
95
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-agent-loop -->
88
96
  <a id="deepseek-aidsh-agent-loop"></a>
89
97
 
90
98
  ## `@deepseek-ai/dsh-agent-loop`
91
99
 
92
- Requires: `agents` · `sessions` · `llm` · `tools` · `systemPrompt` · `sessionProjections`
100
+ - `inject`: `agents` · `sessions` · `llm` · `tools` · `systemPrompt` · `sessionProjections`
101
+ - `refs`: [`AgentOptions`](./subsystems/core.md) · [`SessionId`](./subsystems/core.md) · `Volatile` (`@deepseek-ai/cosmokit`)
102
+ - `source`: [`packages/core/agent-loop/src/index.ts:292`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent-loop/src/index.ts)
93
103
 
94
104
  ```ts config-catalog
95
105
  /** Agent-loop plugin configuration. */
@@ -98,7 +108,7 @@ export interface Config {
98
108
  * Maximum parallel-safe calls in flight per agent step. `1` is serial;
99
109
  * omission defaults to {@link DEFAULT_MAX_PARALLEL_TOOL_CALLS}.
100
110
  */
101
- maxParallelToolCalls?: number
111
+ maxParallelToolCalls: Volatile<number>
102
112
  /** Agents created or resumed at plugin startup. */
103
113
  agents: (AgentOptions & {
104
114
  /** Stable config label used in logs and as the fresh combined-id prefix. */
@@ -112,62 +122,51 @@ export interface Config {
112
122
  })[]
113
123
  }
114
124
  ```
125
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-agent-loop -->
115
126
 
116
- Depends on: [`AgentOptions`](./subsystems/core.md) · [`SessionId`](./subsystems/core.md)
127
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-agent-preset -->
128
+ <a id="deepseek-aidsh-agent-preset"></a>
117
129
 
118
- Source: [`packages/core/agent-loop/src/index.ts:318`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent-loop/src/index.ts)
130
+ ## `@deepseek-ai/dsh-agent-preset`
119
131
 
120
- <a id="deepseek-aidsh-agent-presets"></a>
132
+ - `inject`: `agentPresets`
133
+ - `refs`: [`PresetDefinition`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/agent-preset-registry/src/index.ts)
134
+ - `source`: [`packages/preset/agent-preset/src/index.ts:9`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/agent-preset/src/index.ts)
121
135
 
122
- ## `@deepseek-ai/dsh-agent-presets`
136
+ ```ts config-catalog
137
+ /** Definition submitted to the preset registry. */
138
+ export type Config = PresetDefinition
139
+ ```
140
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-agent-preset -->
141
+
142
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-agent-preset-registry -->
143
+ <a id="deepseek-aidsh-agent-preset-registry"></a>
123
144
 
124
- Requires: `loader` · `sessionProjections`
145
+ ## `@deepseek-ai/dsh-agent-preset-registry`
146
+
147
+ - `inject`: `loader` · `sessionProjections`
148
+ - `refs`: `Volatile` (`@deepseek-ai/cordis`)
149
+ - `source`: [`packages/preset/agent-preset-registry/src/preset.ts:13`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/agent-preset-registry/src/preset.ts)
125
150
 
126
151
  ```ts config-catalog
127
- /** Plugin config: which preset is the default, and where presets live. */
152
+ /** Registry selection policy. */
128
153
  export interface Config {
129
- /** Preset id mounted when a caller names none. Missing at mount time fails loud. */
154
+ /** Deployment default when the caller omits a preset. */
130
155
  default: string
131
- /** Scanned roots in precedence order; an earlier root wins a duplicate id. */
132
- roots: PresetRoot[]
133
- /**
134
- * Prepend this package's bundled shipped presets as a `system` root, before
135
- * every configured root, so the shipped set always mounts and wins a
136
- * duplicate id. The default survives a whole-`config` patch replacement;
137
- * only an explicit `false` — a deployment supplying purely its own presets,
138
- * or an embedder using the roster as bare machinery — drops the set.
139
- */
140
- includeShippedRoot: boolean
141
- /**
142
- * Append the harness home's `USER_PRESET_DIR` as a `user` root, after every
143
- * configured root. False mounts a roster without the derived writable root.
144
- */
145
- includeUserRoot: boolean
146
- }
147
-
148
- /** One directory scanned for preset subdirectories. */
149
- export interface PresetRoot {
150
- /** Directory holding one subdirectory per preset; a leading `~` expands. */
151
- path: string
152
- /** Trust recorded on every preset discovered under this root. */
153
- trust: PresetTrust
156
+ /** User-selected default; edited through Settings. */
157
+ selectedDefault: Volatile<string | undefined>
154
158
  }
155
-
156
- /**
157
- * Where a preset's composition came from. A `system` preset ships with the
158
- * deployment; a `user` preset was authored locally, by a person or by an
159
- * agent, and therefore carries the same trust as shell access.
160
- */
161
- export type PresetTrust = 'system' | 'user'
162
159
  ```
160
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-agent-preset-registry -->
163
161
 
164
- Source: [`packages/preset/agent-presets/src/preset.ts:52`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/agent-presets/src/preset.ts)
165
-
162
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-agent-tool-presentation -->
166
163
  <a id="deepseek-aidsh-agent-tool-presentation"></a>
167
164
 
168
165
  ## `@deepseek-ai/dsh-agent-tool-presentation`
169
166
 
170
- Requires: `tools`
167
+ - `inject`: `tools`
168
+ - `refs`: [`ToolPresentationMode`](./subsystems/tools.md)
169
+ - `source`: [`packages/core/agent-tool-presentation/src/index.ts:38`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent-tool-presentation/src/index.ts)
171
170
 
172
171
  ```ts config-catalog
173
172
  /** Plugin config. */
@@ -182,61 +181,182 @@ export interface Config {
182
181
  mode: ToolPresentationMode
183
182
  }
184
183
  ```
184
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-agent-tool-presentation -->
185
185
 
186
- Depends on: [`ToolPresentationMode`](./subsystems/tools.md)
187
-
188
- Source: [`packages/core/agent-tool-presentation/src/index.ts:38`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent-tool-presentation/src/index.ts)
189
-
186
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-api-gateway -->
190
187
  <a id="deepseek-aidsh-api-gateway"></a>
191
188
 
192
189
  ## `@deepseek-ai/dsh-api-gateway`
193
190
 
194
- Requires: `typert`
191
+ - `inject`: `typert`
192
+ - `source`: [`packages/api/gateway/src/index.ts:146`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/gateway/src/index.ts)
195
193
 
196
194
  ```ts config-catalog
197
195
  /** Gateway transport configuration. */
198
196
  export interface Config {
199
197
  /** WebSocket Ping interval from 1 through 2,147,483,647 milliseconds. @default 2000 */
200
198
  readonly websocketHeartbeatIntervalMs?: number
199
+ /** Buffered uplink frame bytes one logical stream may hold before it fails with `gateway/uplink-overflow`. @default 262144 */
200
+ readonly streamInboxBytes?: number
201
201
  }
202
202
  ```
203
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-api-gateway -->
204
+
205
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-api-job-controller -->
206
+ <a id="deepseek-aidsh-api-job-controller"></a>
203
207
 
204
- Source: [`packages/api/gateway/src/index.ts:119`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/gateway/src/index.ts)
208
+ ## `@deepseek-ai/dsh-api-job-controller`
205
209
 
210
+ - `inject`: `jobs` · `typert`
211
+ - `source`: [`packages/api/job-controller/src/index.ts:35`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/job-controller/src/index.ts)
212
+
213
+ ```ts config-catalog
214
+ /** Job Controller deployment policy. */
215
+ export interface Config {
216
+ /** Coalescing window after a registry commit before the next rows or output read, in milliseconds (default 100). */
217
+ readonly observeFlushMs?: number
218
+ /** Soft byte budget per observation output frame (default 65536); one larger chunk ships whole. */
219
+ readonly observeMaxFrameBytes?: number
220
+ }
221
+ ```
222
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-api-job-controller -->
223
+
224
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-api-session-controller -->
206
225
  <a id="deepseek-aidsh-api-session-controller"></a>
207
226
 
208
227
  ## `@deepseek-ai/dsh-api-session-controller`
209
228
 
210
- Requires: `agentDefaultModel` · `agents` · `attachments` · `fileUploads` · `llm` · `sessions` · `sessionProjections` · `sessionQuery` · `typert` · `workspaceRegistry`
229
+ - `inject`: `agentDefaultModel` · `agents` · `attachments` · `fileUploads` · `fs` · `llm` · `sessions` · `sessionProjections` · `sessionQuery` · `typert` · `workspaceRegistry`
230
+ - `source`: [`packages/api/session-controller/src/index.ts:79`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/session-controller/src/index.ts)
211
231
 
212
232
  ```ts config-catalog
213
233
  /** Session Controller deployment policy. */
214
234
  export interface Config {
215
235
  /** Override platform desktop-opener detection. */
216
236
  readonly nativeOpen?: boolean
237
+ /** Positive integral milliseconds of list work before yielding between complete rows. */
238
+ readonly listWorkSliceMs?: number
217
239
  }
218
240
  ```
241
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-api-session-controller -->
219
242
 
220
- Source: [`packages/api/session-controller/src/index.ts:69`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/session-controller/src/index.ts)
221
-
243
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-api-settings-controller -->
222
244
  <a id="deepseek-aidsh-api-settings-controller"></a>
223
245
 
224
246
  ## `@deepseek-ai/dsh-api-settings-controller`
225
247
 
248
+ - `source`: [`packages/api/settings-controller/src/index.ts:35`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/settings-controller/src/index.ts)
249
+
226
250
  ```ts config-catalog
227
- /** Native document-opening policy. */
251
+ /** Host integrations replaceable by direct unit tests. */
252
+ export interface SettingsControllerInternals {
253
+ /** Host text-editor integration used to open the settings document. */
254
+ readonly openTextFile?: (path: string, signal: AbortSignal) => Promise<void>
255
+ }
256
+ ```
257
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-api-settings-controller -->
258
+
259
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-api-terminal-controller -->
260
+ <a id="deepseek-aidsh-api-terminal-controller"></a>
261
+
262
+ ## `@deepseek-ai/dsh-api-terminal-controller`
263
+
264
+ - `inject`: `subprocess` · `sandboxPolicy` · `typert`
265
+ - `source`: [`packages/api/terminal-controller/src/index.ts:26`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/terminal-controller/src/index.ts)
266
+
267
+ ```ts config-catalog
268
+ /** Deployment limits and an optional shell profile. */
228
269
  export interface Config {
229
- /** Override platform desktop-opener detection. */
230
- readonly nativeOpen?: boolean
270
+ /** Explicit shell profile; omission uses the execution environment's default shell. */
271
+ readonly shell?: {
272
+ /** Executable path or PATH name, verified by the subprocess provider. */
273
+ path: string
274
+ /** User-visible profile name. */
275
+ name: string
276
+ /** Arguments passed to the interactive shell. */
277
+ args: string[]
278
+ } | undefined
279
+ /** Executable names or paths checked for the new-terminal shell selector. */
280
+ readonly shellCandidates: string[]
281
+ /** Maximum retained terminals and pending allocations per Session. */
282
+ readonly maxTerminals: number
283
+ /** Maximum terminal width in columns. */
284
+ readonly maxCols: number
285
+ /** Maximum terminal height in rows. */
286
+ readonly maxRows: number
287
+ /** Screen history rows retained for reconnecting clients. */
288
+ readonly scrollback: number
289
+ /** Maximum queued UTF-8 frame bytes per output follower before disconnection. */
290
+ readonly maxBufferedBytes: number
291
+ /** Maximum UTF-8 bytes in one input request. */
292
+ readonly maxInputBytes: number
293
+ /** Provider process-termination grace period in milliseconds. */
294
+ readonly disposeGraceMs: number
295
+ /** Continuous confirmed idle time without window holds before reclamation; zero disables reclamation. */
296
+ readonly unattendedTimeoutMs: number
297
+ /** Interval between unattended shell and process observations. */
298
+ readonly activityPollIntervalMs: number
299
+ /** Delay before retrying failed owned terminal cleanup. */
300
+ readonly cleanupRetryMs: number
301
+ }
302
+ ```
303
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-api-terminal-controller -->
304
+
305
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-api-workspace-controller -->
306
+ <a id="deepseek-aidsh-api-workspace-controller"></a>
307
+
308
+ ## `@deepseek-ai/dsh-api-workspace-controller`
309
+
310
+ - `inject`: `typert` · `workspaceRegistry`
311
+ - `source`: [`packages/api/workspace-controller/src/index.ts:33`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/workspace-controller/src/index.ts)
312
+
313
+ ```ts config-catalog
314
+ /** First-use directory policy for the Host account. */
315
+ export interface Config {
316
+ /** Override the system Documents directory with a fully qualified path. */
317
+ documentsDirectory?: string
318
+ /** Maximum duration of the operating system's Documents lookup. */
319
+ documentsLookupTimeoutMs?: number
231
320
  }
232
321
  ```
322
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-api-workspace-controller -->
233
323
 
234
- Source: [`packages/api/settings-controller/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/settings-controller/src/index.ts)
324
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-api-workspace-files -->
325
+ <a id="deepseek-aidsh-api-workspace-files"></a>
235
326
 
327
+ ## `@deepseek-ai/dsh-api-workspace-files`
328
+
329
+ - `inject`: `fs` · `sandboxPolicy` · `sessions` · `typert`
330
+ - `source`: [`packages/api/workspace-files/src/index.ts:70`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/workspace-files/src/index.ts)
331
+
332
+ ```ts config-catalog
333
+ /** Deployment caps on one page or one listing. */
334
+ export interface Config {
335
+ /**
336
+ * Inclusive byte cap on one page's text and on one byte window.
337
+ *
338
+ * A page above this fails; it is not shortened, because a silently cut page
339
+ * reads as the whole page. A byte window asking for more is refused the same
340
+ * way. The file itself has no size cap: a caller pages through it.
341
+ */
342
+ readonly maxBytes: number
343
+ /** Inclusive byte cap on a complete-file read; larger files are refused, never truncated. */
344
+ readonly maxFileBytes: number
345
+ /** Default and largest page size in lines; a request asking for more is refused. */
346
+ readonly maxLines: number
347
+ /** Cap on returned directory entries; the rest is dropped and reported cut. */
348
+ readonly maxEntries: number
349
+ }
350
+ ```
351
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-api-workspace-files -->
352
+
353
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-attachment-local -->
236
354
  <a id="deepseek-aidsh-attachment-local"></a>
237
355
 
238
356
  ## `@deepseek-ai/dsh-attachment-local`
239
357
 
358
+ - `source`: [`packages/attachment/attachment-local/src/index.ts:61`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/attachment/attachment-local/src/index.ts)
359
+
240
360
  ```ts config-catalog
241
361
  /** Local attachment backend configuration. */
242
362
  export interface Config {
@@ -265,40 +385,44 @@ export interface Config {
265
385
  imageCompressionConcurrency?: number
266
386
  }
267
387
  ```
388
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-attachment-local -->
268
389
 
269
- Source: [`packages/attachment/attachment-local/src/index.ts:61`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/attachment/attachment-local/src/index.ts)
270
-
390
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-bash-local -->
271
391
  <a id="deepseek-aidsh-bash-local"></a>
272
392
 
273
393
  ## `@deepseek-ai/dsh-bash-local`
274
394
 
275
- Requires: `subprocess`
395
+ - `inject`: `subprocess`
396
+ - `refs`: `Volatile` (`@deepseek-ai/cordis`)
397
+ - `source`: [`packages/shell/bash-local/src/index.ts:41`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/bash-local/src/index.ts)
276
398
 
277
399
  ```ts config-catalog
278
- /** Plugin config (all optional — `static Config` supplies the defaults). */
400
+ /** Validated plugin configuration with live command budgets. */
279
401
  export interface Config {
280
402
  /** Default working directory for commands (default: process.cwd()). */
281
- cwd?: string
403
+ cwd: Volatile<string | undefined>
282
404
  /** Default foreground timeout in milliseconds. */
283
- timeoutMs?: number
405
+ timeoutMs: Volatile<number>
284
406
  /** Upper bound for per-call timeout overrides. */
285
- maxTimeoutMs?: number
407
+ maxTimeoutMs: Volatile<number>
286
408
  /** Per-stream in-memory output cap; overflow spills to a temp file. */
287
- maxOutputBytes?: number
409
+ maxOutputBytes: Volatile<number>
288
410
  /** Per-stream spill-file cap; larger streams retain only their in-memory tail. */
289
- maxSpillBytes?: number
411
+ maxSpillBytes: Volatile<number>
290
412
  /** Grace period for kill escalation and inherited pipes; at most `MAX_TIMER_DELAY_MS`. */
291
- graceMs?: number
413
+ graceMs: Volatile<number>
292
414
  }
293
415
  ```
416
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-bash-local -->
294
417
 
295
- Source: [`packages/shell/bash-local/src/index.ts:41`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/bash-local/src/index.ts)
296
-
418
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-bash-sandbox -->
297
419
  <a id="deepseek-aidsh-bash-sandbox"></a>
298
420
 
299
421
  ## `@deepseek-ai/dsh-bash-sandbox`
300
422
 
301
- Requires: `subprocess` · `sandbox` · `sandboxPolicy`
423
+ - `inject`: `subprocess` · `sandbox` · `sandboxPolicy`
424
+ - `refs`: [`LocalConfig`](#deepseek-aidsh-bash-local)
425
+ - `source`: [`packages/shell/bash-sandbox/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/bash-sandbox/src/index.ts)
302
426
 
303
427
  ```ts config-catalog
304
428
  /**
@@ -310,20 +434,21 @@ Requires: `subprocess` · `sandbox` · `sandboxPolicy`
310
434
  */
311
435
  export type Config = LocalConfig
312
436
  ```
437
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-bash-sandbox -->
313
438
 
314
- Depends on: [`LocalConfig`](#deepseek-aidsh-bash-local)
315
-
316
- Source: [`packages/shell/bash-sandbox/src/index.ts:35`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/bash-sandbox/src/index.ts)
317
-
439
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-client-connection -->
318
440
  <a id="deepseek-aidsh-client-connection"></a>
319
441
 
320
442
  ## `@deepseek-ai/dsh-client-connection`
321
443
 
322
- Requires: `webServer` · `credentials`
444
+ - `inject`: `credentials`
445
+ - `source`: [`packages/client/connection/src/index.ts:92`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/connection/src/index.ts)
323
446
 
324
447
  ```ts config-catalog
325
- /** Plugin config: the deployment's non-loopback serving authorities. */
448
+ /** Browser authentication, request limits, and connection recovery configuration. */
326
449
  export interface ConnectionConfig {
450
+ /** Browser recovery timing, injected into each served page. */
451
+ recovery?: ConnectionRecoveryConfig
327
452
  /**
328
453
  * Authorities this deployment serves beyond loopback: exact `host:port`, or
329
454
  * port-less `host` matching any port. The /api trust fence refuses any
@@ -338,15 +463,33 @@ export interface ConnectionConfig {
338
463
  /** Maximum buffered JSON body for every `/api` request. Default: 300 MiB. */
339
464
  maxRequestBodyBytes?: number
340
465
  }
341
- ```
342
466
 
343
- Source: [`packages/client/connection/src/index.ts:71`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/connection/src/index.ts)
467
+ /** Timing for generation readiness and automatic reconnection. */
468
+ export interface ConnectionRecoveryConfig {
469
+ /** First-retry delay cap in ms; actual delay is 50–100% of the cap. Default: 500. */
470
+ backoffBaseMs?: number
471
+ /** Finite growth factor of at least 1 per failed attempt; 1 keeps a fixed cap. Default: 2. */
472
+ backoffFactor?: number
473
+ /** Maximum retry delay cap in ms; retries continue at this cap. Default: 10000. */
474
+ backoffMaxMs?: number
475
+ /**
476
+ * Delay before reporting a slow handshake, without cancelling it. Default: 3000.
477
+ * Omitted when readiness, failure, cancellation, or the hard deadline occurs first.
478
+ */
479
+ generationReadyWarnMs?: number
480
+ /** Deadline in ms for readiness, including physical connection setup. Default: 15000. */
481
+ generationReadyTimeoutMs?: number
482
+ }
483
+ ```
484
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-client-connection -->
344
485
 
486
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-client-hmr -->
345
487
  <a id="deepseek-aidsh-client-hmr"></a>
346
488
 
347
489
  ## `@deepseek-ai/dsh-client-hmr`
348
490
 
349
- Requires: `clientModules` · `webServer`
491
+ - `inject`: `clientModules` · `webServer`
492
+ - `source`: [`packages/client/hmr/src/index.ts:30`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/hmr/src/index.ts)
350
493
 
351
494
  ```ts config-catalog
352
495
  /** Plugin config, validated by the same-named schemastery schema. */
@@ -355,51 +498,193 @@ export interface Config {
355
498
  pollIntervalMs?: number
356
499
  }
357
500
  ```
501
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-client-hmr -->
358
502
 
359
- Source: [`packages/client/hmr/src/index.ts:31`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/hmr/src/index.ts)
503
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-client-product-analytics -->
504
+ <a id="deepseek-aidsh-client-product-analytics"></a>
360
505
 
361
- <a id="deepseek-aidsh-code-runtime-worker-thread"></a>
506
+ ## `@deepseek-ai/dsh-client-product-analytics`
362
507
 
363
- ## `@deepseek-ai/dsh-code-runtime-worker-thread`
508
+ - `inject`: `deepseekAccount` · `productTelemetry`
509
+ - `refs`: `Volatile` (`@deepseek-ai/cordis`)
510
+ - `source`: [`packages/client/product-analytics/src/index.ts:14`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/product-analytics/src/index.ts)
364
511
 
365
512
  ```ts config-catalog
366
- /** Plugin config: every execution cap, changeable from `cordis.yml` (no hardcoded tunables). */
513
+ /** Application-owned collection policy; no user settings surface. */
367
514
  export interface Config {
368
- /**
369
- * Busy-time budget in milliseconds: the run fails with kind `'timeout'`
370
- * once the worker's MEASURED event-loop active time
371
- * (`worker.performance.eventLoopUtilization()`) exceeds this. Metering
372
- * measured busy time — not wall time, not host-side pending-call
373
- * bookkeeping — is what makes the budget both fair (a program awaiting a
374
- * slow tool accrues nothing) and ungameable (a hot loop accrues whether
375
- * or not a decoy dispatch is in flight).
376
- */
377
- computeMs?: number
378
- /**
379
- * Wall-clock ceiling in milliseconds; never pauses for anything. The
380
- * backstop for what busy-time cannot see (a program awaiting a promise
381
- * nobody will resolve). At most `2_147_483_647` (Node's maximum
382
- * `setTimeout` delay, about 24.9 days): a longer value is rejected at load
383
- * because `setTimeout` would clamp it to 1 ms.
384
- */
385
- maxWallMs?: number
386
- /**
387
- * Hard cap for serialized log-array, completion-value, and failure-message payloads;
388
- * fixed result-envelope syntax is excluded.
389
- */
390
- maxOutputBytes?: number
391
- /** The worker's max old-generation heap in MiB (`resourceLimits`); overflow kills the worker, surfacing as kind `'worker-exit'`. */
392
- maxOldGenerationSizeMb?: number
515
+ /** Live application collection policy; ordinary Web does not mount this service. */
516
+ enabled: Volatile<boolean>
517
+ /** Running Desktop release, absent when unavailable. */
518
+ appVersion?: string
519
+ }
520
+ ```
521
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-client-product-analytics -->
522
+
523
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-client-shortcuts -->
524
+ <a id="deepseek-aidsh-client-shortcuts"></a>
525
+
526
+ ## `@deepseek-ai/dsh-client-shortcuts`
527
+
528
+ - `source`: [`packages/client/shortcuts/src/config.ts:5`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/shortcuts/src/config.ts)
529
+
530
+ ```ts config-catalog
531
+ /** Fixed shortcut sequence settings. */
532
+ export interface Config {
533
+ /** Maximum interval between independent Escape presses for stopping a reply, in milliseconds. */
534
+ stopSequenceMs: number
393
535
  }
394
536
  ```
537
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-client-shortcuts -->
538
+
539
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-client-ui-plugin-manager -->
540
+ <a id="deepseek-aidsh-client-ui-plugin-manager"></a>
395
541
 
396
- Source: [`packages/code-runtime/code-runtime-worker-thread/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/code-runtime/code-runtime-worker-thread/src/index.ts)
542
+ ## `@deepseek-ai/dsh-client-ui-plugin-manager`
543
+
544
+ - `source`: [`packages/client/ui-plugin-manager/src/index.ts:15`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-plugin-manager/src/index.ts)
545
+
546
+ ```ts config-catalog
547
+ /** Registry-probe deadline and process-local cache policy. */
548
+ export interface Config {
549
+ /** Whether the dialog can compare the public npm registries. */
550
+ registryProbeEnabled: boolean
551
+ /** Deadline for the parallel HTTPS probes, including response cleanup. */
552
+ registryProbeTimeoutMs: number
553
+ /** Lifetime of a winning registry or unavailable result. */
554
+ registryProbeCacheTtlMs: number
555
+ }
556
+ ```
557
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-client-ui-plugin-manager -->
397
558
 
559
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-client-ui-settings-account -->
560
+ <a id="deepseek-aidsh-client-ui-settings-account"></a>
561
+
562
+ ## `@deepseek-ai/dsh-client-ui-settings-account`
563
+
564
+ - `refs`: `Volatile` (`@deepseek-ai/cordis`)
565
+ - `source`: [`packages/client/ui-settings-account/src/index.ts:9`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-account/src/index.ts)
566
+
567
+ ```ts config-catalog
568
+ /** Public contact options and live device-local onboarding progress. */
569
+ export interface Config extends ContactConfig {
570
+ /** Onboarding progress format version. */
571
+ version: Volatile<1>
572
+ /** Last accepted onboarding page. */
573
+ step: Volatile<OnboardingStep>
574
+ /** Selected work scenario. */
575
+ purpose?: Volatile<OnboardingPurpose | null | undefined>
576
+ /** Selected transcript detail. */
577
+ process?: Volatile<OnboardingProcess | null | undefined>
578
+ /** Completion reason, absent until completion. */
579
+ completion?: Volatile<'completed' | 'skipped' | 'api-key' | null | undefined>
580
+ /** Selected usage detail. */
581
+ usage: Volatile<'compact' | 'detailed'>
582
+ /** Selected developer-tool visibility. */
583
+ developerTools: Volatile<boolean>
584
+ }
585
+
586
+ /** Questionnaire destination and bonus notice timings shared by Host and Client. */
587
+ export interface ContactConfig {
588
+ /** HTTPS questionnaire URL; override for a test form. */
589
+ contactFormUrl: string
590
+ /** Questionnaire source option; empty until Harness is supported by the form. */
591
+ contactSource: string
592
+ /** First delay before retrying a failed bonus acknowledgement. */
593
+ bonusAckRetryDelayMs: number
594
+ /** Ceiling for the acknowledgement retry backoff. */
595
+ bonusAckRetryMaxDelayMs: number
596
+ }
597
+
598
+ /** Persisted steps; a native top-up page leaves the durable step at credit. */
599
+ export type OnboardingStep = 'welcome' | 'credit' | 'purpose' | 'process' | 'done'
600
+
601
+ /** Work scenarios offered by the desktop introduction. */
602
+ export type OnboardingPurpose = 'office' | 'development' | 'both'
603
+
604
+ /** Work-detail mode applied to Chat when onboarding completes. */
605
+ export type OnboardingProcess = 'compact' | 'standard' | 'detailed'
606
+ ```
607
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-client-ui-settings-account -->
608
+
609
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-client-ui-settings-models -->
610
+ <a id="deepseek-aidsh-client-ui-settings-models"></a>
611
+
612
+ ## `@deepseek-ai/dsh-client-ui-settings-models`
613
+
614
+ - `source`: [`packages/client/ui-settings-models/src/onboarding-config.ts:6`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-models/src/onboarding-config.ts)
615
+
616
+ ```ts config-catalog
617
+ /** Onboarding options after schema defaults are applied. */
618
+ export interface Config {
619
+ /** Offer the browser API-key step when no native shell owns credential onboarding. */
620
+ credentialOnboarding: boolean
621
+ }
622
+ ```
623
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-client-ui-settings-models -->
624
+
625
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-client-ui-sidebar-documentpreview -->
626
+ <a id="deepseek-aidsh-client-ui-sidebar-documentpreview"></a>
627
+
628
+ ## `@deepseek-ai/dsh-client-ui-sidebar-documentpreview`
629
+
630
+ - `source`: [`packages/client/ui-sidebar-documentpreview/src/config.ts:5`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar-documentpreview/src/config.ts)
631
+
632
+ ```ts config-catalog
633
+ /** Transient Office conversion reuse within one Client connection. */
634
+ export interface Config {
635
+ /** Retained PDF limits; pending conversions share cancellation by reader lifetime. */
636
+ office: {
637
+ /** Maximum retained completed PDFs. */
638
+ maxCachedEntries: number
639
+ /** Maximum retained PDF bytes, counted by each binary buffer's byteLength. */
640
+ maxCachedBytes: number
641
+ /** Maximum unsettled Host conversion RPCs, including cancellation teardown. */
642
+ maxPending: number
643
+ /** Maximum readers including source and renderer metadata lookups. */
644
+ maxReaders: number
645
+ }
646
+ /** Browser spreadsheet parser and dense cell allocation limits. */
647
+ excel: {
648
+ /** Maximum source file bytes. */
649
+ maxBytes: number
650
+ /** Maximum combined rectangular cell area across worksheets. */
651
+ maxCells: number
652
+ /** Maximum parser Worker lifetime in milliseconds. */
653
+ timeoutMs: number
654
+ }
655
+ }
656
+ ```
657
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-client-ui-sidebar-documentpreview -->
658
+
659
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-client-ui-theme -->
660
+ <a id="deepseek-aidsh-client-ui-theme"></a>
661
+
662
+ ## `@deepseek-ai/dsh-client-ui-theme`
663
+
664
+ - `refs`: `Volatile` (`@deepseek-ai/cordis`)
665
+ - `source`: [`packages/client/ui-theme/src/index.ts:22`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-theme/src/index.ts)
666
+
667
+ ```ts config-catalog
668
+ /** Runtime preferences projected to the browser. */
669
+ export interface Config {
670
+ /** Browser palette preference. */
671
+ preference: Volatile<ThemePreference>
672
+ /** Browser font size in pixels. */
673
+ fontSize: Volatile<number>
674
+ }
675
+
676
+ /** Theme preference persisted by the product Appearance row. */
677
+ export type ThemePreference = typeof THEME_PREFERENCES[number]
678
+ ```
679
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-client-ui-theme -->
680
+
681
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-compaction-basic -->
398
682
  <a id="deepseek-aidsh-compaction-basic"></a>
399
683
 
400
684
  ## `@deepseek-ai/dsh-compaction-basic`
401
685
 
402
- Requires: `llm` · `tokenMeter` · `sessions`
686
+ - `inject`: `llm` · `tokenMeter` · `sessions`
687
+ - `source`: [`packages/compaction/compaction-basic/src/types.ts:40`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/compaction-basic/src/types.ts)
403
688
 
404
689
  ```ts config-catalog
405
690
  /** Basic compaction configuration with an optional exact-target policy table. */
@@ -412,9 +697,11 @@ export interface BasicCompactionConfig extends CompactionPolicyConfig {
412
697
 
413
698
  /** Policy fields shared by the default policy and exact model overrides. */
414
699
  export interface CompactionPolicyConfig {
415
- /** Compact at this fraction of the model's context window. Defaults to `0.8`. */
700
+ /** Window fraction for pressure; capped at context window minus reserved output and `headroomTokens`. Defaults to `0.8`. */
416
701
  thresholdRatio?: number
417
- /** Recent context retained as a fraction of the model's window. Defaults to `0.16`. */
702
+ /** Additional pressure headroom beyond the routed output reservation. Non-negative integer; defaults to `65536`. */
703
+ headroomTokens?: number
704
+ /** Recent context retained as a fraction of context window minus reserved output tokens. Defaults to `0.16`. */
418
705
  retainRatio?: number
419
706
  /** Absolute recent-context budget; mutually exclusive with `retainRatio`. */
420
707
  retainTokens?: number
@@ -422,7 +709,7 @@ export interface CompactionPolicyConfig {
422
709
  summarizationProvider?: string
423
710
  /** Summary model; set together with `summarizationProvider`, or inherit the conversation target. */
424
711
  summarizationModel?: string
425
- /** Provider generation cap for summarization. Defaults to `8192`. */
712
+ /** Provider generation cap for summarization. Defaults to the resolved `headroomTokens`; an explicit cap must be positive. */
426
713
  maxTokens?: number
427
714
  /** Extra attempts after the first compaction when pressure remains above threshold. Defaults to `1`. */
428
715
  compactionRetries?: number
@@ -438,14 +725,15 @@ export interface ModelCompactPolicyConfig extends CompactionPolicyConfig {
438
725
  model: string
439
726
  }
440
727
  ```
728
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-compaction-basic -->
441
729
 
442
- Source: [`packages/compaction/compaction-basic/src/types.ts:38`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/compaction-basic/src/types.ts)
443
-
730
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-compaction-tool-result-pruner -->
444
731
  <a id="deepseek-aidsh-compaction-tool-result-pruner"></a>
445
732
 
446
733
  ## `@deepseek-ai/dsh-compaction-tool-result-pruner`
447
734
 
448
- Requires: `tokenMeter`
735
+ - `inject`: `tokenMeter`
736
+ - `source`: [`packages/compaction/compaction-tool-result-pruner/src/types.ts:5`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/compaction-tool-result-pruner/src/types.ts)
449
737
 
450
738
  ```ts config-catalog
451
739
  /** Character-budget policy for deterministic tool-result pruning. */
@@ -458,29 +746,34 @@ export interface ToolResultPruneConfig {
458
746
  tailChars?: number
459
747
  }
460
748
  ```
749
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-compaction-tool-result-pruner -->
461
750
 
462
- Source: [`packages/compaction/compaction-tool-result-pruner/src/types.ts:5`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/compaction-tool-result-pruner/src/types.ts)
463
-
751
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-cordis-host-runner -->
464
752
  <a id="deepseek-aidsh-cordis-host-runner"></a>
465
753
 
466
754
  ## `@deepseek-ai/dsh-cordis-host-runner`
467
755
 
468
- Requires: `tools`
756
+ - `inject`: `tools`
757
+ - `source`: [`packages/extensions/cordis-host-runner/src/index.ts:93`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/cordis-host-runner/src/index.ts)
469
758
 
470
759
  ```ts config-catalog
471
760
  /** Runner configuration. */
472
761
  export interface Config {
473
762
  /** Maximum synchronous VM evaluation time in milliseconds. */
474
763
  vmTimeoutMs?: number
764
+ /** Maximum wait for a valid Client inspect response in milliseconds. */
765
+ clientInspectTimeoutMs?: number
475
766
  }
476
767
  ```
768
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-cordis-host-runner -->
477
769
 
478
- Source: [`packages/extensions/cordis-host-runner/src/index.ts:88`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/cordis-host-runner/src/index.ts)
479
-
770
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-credentials-local -->
480
771
  <a id="deepseek-aidsh-credentials-local"></a>
481
772
 
482
773
  ## `@deepseek-ai/dsh-credentials-local`
483
774
 
775
+ - `source`: [`packages/credentials/credentials-local/src/index.ts:64`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/credentials-local/src/index.ts)
776
+
484
777
  ```ts config-catalog
485
778
  /** Plugin config: file location and hot-reload behavior. */
486
779
  export interface Config {
@@ -494,32 +787,56 @@ export interface Config {
494
787
  debounceMs?: number
495
788
  }
496
789
  ```
790
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-credentials-local -->
497
791
 
498
- Source: [`packages/credentials/credentials-local/src/index.ts:64`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/credentials-local/src/index.ts)
792
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-deepseek-account-platform -->
793
+ <a id="deepseek-aidsh-deepseek-account-platform"></a>
499
794
 
500
- <a id="deepseek-aidsh-e2b"></a>
795
+ ## `@deepseek-ai/dsh-deepseek-account-platform`
501
796
 
502
- ## `@deepseek-ai/dsh-e2b`
797
+ - `inject`: `credentials` · `authorization`
798
+ - `source`: [`packages/credentials/deepseek-account-platform/src/index.ts:23`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/deepseek-account-platform/src/index.ts)
503
799
 
504
800
  ```ts config-catalog
505
- /** Configuration for the shared E2B sandbox owner. */
801
+ /** Deployment-specific platform and request deadlines. */
506
802
  export interface Config {
507
- /** API key; omission reads `E2B_API_KEY`. It is never forwarded into the sandbox. */
508
- apiKey?: string
509
- /** Shared remote working directory, created before adapters receive the sandbox. */
510
- cwd?: string
511
- /** E2B sandbox lifetime in milliseconds; expiry always deletes the sandbox. */
512
- timeoutMs?: number
803
+ /** Platform origin serving auth-api and browser pages. */
804
+ platformOrigin?: string
805
+ /** Native desktop identity for Host API and embedded Platform requests; null identifies the client as web. */
806
+ desktopPlatform?: 'darwin' | 'win32' | null
807
+ /** Optional frontend deployment selector for embedded Usage and Top-up pages. */
808
+ embeddedPageDist?: string
809
+ /** Exact HTTP(S) origin allowed to receive account tokens for inference and files. */
810
+ inferenceOrigin?: string
811
+ /** Allow HTTP only on loopback for the development Mock. */
812
+ allowLoopbackHttp?: boolean
813
+ /** Map authorization and completion pages to platformOrigin for private development proxies. */
814
+ rewriteBrowserOrigin?: boolean
815
+ /** Host-only headers sent exclusively to platformOrigin; account authorization cannot be overridden. */
816
+ requestHeaders?: Record<string, string>
817
+ /** Overrides for profile, balance and embedded Platform requests; Cookie pairs merge by name. Logout retains requestHeaders. */
818
+ accountRequestHeaders?: Record<string, string>
819
+ /** Deadline for each platform HTTP request. */
820
+ requestTimeoutMs?: number
821
+ /** Deadline for recharge-wallet queries; timeout returns a failed balance outcome. */
822
+ balanceTimeoutMs?: number
823
+ /** Additional logout attempts after the first request fails, at most five. */
824
+ logoutMaxRetries?: number
825
+ /** Delay before the first logout retry; each later delay doubles. */
826
+ logoutRetryDelayMs?: number
827
+ /** Upper bound for the entire local attempt, even if the server advertises a longer TTL. */
828
+ attemptTimeoutMs?: number
513
829
  }
514
830
  ```
831
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-deepseek-account-platform -->
515
832
 
516
- Source: [`packages/e2b/e2b/src/index.ts:45`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/e2b/e2b/src/index.ts)
517
-
833
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-agent-team -->
518
834
  <a id="deepseek-aidsh-experimental-agent-team"></a>
519
835
 
520
836
  ## `@deepseek-ai/dsh-experimental-agent-team`
521
837
 
522
- Requires: `agents` · `sessions` · `sessionPersistence` · `sessionProjections` · `subagents`
838
+ - `inject`: `agents` · `sessions` · `sessionPersistence` · `sessionProjections` · `subagents`
839
+ - `source`: [`packages/experimental/agent-team/src/types.ts:152`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/agent-team/src/types.ts)
523
840
 
524
841
  ```ts config-catalog
525
842
  /** Team-service deployment limits. */
@@ -536,81 +853,156 @@ export interface Config {
536
853
  readonly disposalTimeoutMs?: number
537
854
  }
538
855
  ```
856
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-agent-team -->
539
857
 
540
- Source: [`packages/experimental/agent-team/src/types.ts:130`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/agent-team/src/types.ts)
858
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-api-speech-to-text -->
859
+ <a id="deepseek-aidsh-experimental-api-speech-to-text"></a>
541
860
 
542
- <a id="deepseek-aidsh-experimental-code-runtime-python"></a>
861
+ ## `@deepseek-ai/dsh-experimental-api-speech-to-text`
543
862
 
544
- ## `@deepseek-ai/dsh-experimental-code-runtime-python`
863
+ - `inject`: `speechToText` · `typert`
864
+ - `source`: [`packages/experimental/api-speech-to-text/src/index.ts:20`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/api-speech-to-text/src/index.ts)
545
865
 
546
866
  ```ts config-catalog
547
- /** Plugin config: every cap, changeable from `cordis.yml` (no hardcoded tunables). */
867
+ /** Limits applied before decoding or calling a provider. */
548
868
  export interface Config {
549
- /**
550
- * RLIMIT_CPU in whole seconds (a positive integer — `setrlimit` in the child
551
- * rejects a float). The child sets the soft limit to `cpuSeconds` and the
552
- * hard limit to `cpuSeconds + 1`: the kernel delivers SIGXCPU at the soft
553
- * limit, which the host classifies as a `timeout`; the +1s hard limit is a
554
- * SIGKILL backstop for a program that traps SIGXCPU. Granularity is seconds —
555
- * a coarser counterpart to the worker backend's millisecond `computeMs`.
556
- */
557
- cpuSeconds?: number
558
- /** Wall-clock ceiling in milliseconds; backstops CPU time for programs awaiting a promise nobody resolves. */
559
- maxWallMs?: number
560
- /**
561
- * RLIMIT_AS in mebibytes; caps address space so a runaway allocation fails
562
- * cleanly. Not applied on Darwin, where the dyld shared cache mapped into
563
- * every process at exec exceeds any practical cap and the kernel rejects
564
- * the call; `cpuSeconds` and `maxWallMs` still bound the run there. Bounds
565
- * `maxLogBytes`/`maxValueBytes` at load on EVERY platform (this static check
566
- * runs on Darwin too, where only the runtime `setrlimit` is skipped): each
567
- * budget times a worst-case Unicode expansion must fit this byte count minus a
568
- * fixed interpreter baseline, so a near-budget output cannot breach the address
569
- * space during the child's build-and-encode.
570
- */
571
- addressSpaceMb?: number
572
- /**
573
- * Shared byte budget for captured log text (host-side ledger). Bounded at load
574
- * against `addressSpaceMb`: the child builds and encodes a near-budget entry
575
- * under RLIMIT_AS with several copies live at once, so this cap times the
576
- * worst-case Unicode expansion must fit the address space left after the
577
- * interpreter baseline (see `addressSpaceMb`) — a load-time rejection, not a
578
- * runtime clamp. Also bounded at load by the host's configured heap like
579
- * `maxValueBytes` (see its JSDoc): the effective frame cap minus the frame
580
- * envelope.
581
- */
582
- maxLogBytes?: number
583
- /**
584
- * Byte cap for the completion value. Bounded at load against `addressSpaceMb`
585
- * the same way `maxLogBytes` is: the child builds and encodes a near-budget
586
- * value under RLIMIT_AS with several copies live at once, so this cap times the
587
- * worst-case Unicode expansion must fit the address space left after the
588
- * interpreter baseline. Both budgets are ALSO bounded at load by the host's
589
- * configured heap: the effective frame cap (the protocol cap, or a lower
590
- * heap-derived ceiling when the host heap cannot safely parse a near-cap
591
- * frame — see `hostFrameParseCeiling`) minus the frame envelope, so a budget
592
- * whose honest frame could OOM the host's own JSON.parse is rejected up
593
- * front.
594
- */
595
- maxValueBytes?: number
596
- /** SIGTERM→SIGKILL grace period on kill, matching bash-local's default. */
597
- graceMs?: number
598
- /**
599
- * Absolute path, relative path, or basename of a CPython 3.10+ interpreter.
600
- * Resolved and validated once at plugin load under a five-second force-kill
601
- * deadline; a basename searches `PATH`.
602
- */
603
- pythonBin?: string
869
+ /** Maximum decoded WAV bytes per request. */
870
+ maxAudioBytes: number
871
+ /** Maximum PCM recording duration in seconds. */
872
+ maxDurationSeconds: number
873
+ }
874
+ ```
875
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-api-speech-to-text -->
876
+
877
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-browser-use-chrome-devtools-mcp -->
878
+ <a id="deepseek-aidsh-experimental-browser-use-chrome-devtools-mcp"></a>
879
+
880
+ ## `@deepseek-ai/dsh-experimental-browser-use-chrome-devtools-mcp`
881
+
882
+ - `inject`: `browserUse` · `agents` · `tools` · `systemPrompt`
883
+ - `refs`: `BrowserMcpConfig` (`@deepseek-ai/dsh-experimental-browser-use-runtime/mcp`)
884
+ - `source`: [`packages/experimental/browser-use-chrome-devtools-mcp/src/index.ts:14`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/browser-use-chrome-devtools-mcp/src/index.ts)
885
+
886
+ ```ts config-catalog
887
+ /** Fixed Chromium launch or existing-browser attachment settings. */
888
+ export type Config = BrowserMcpConfig
889
+ ```
890
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-browser-use-chrome-devtools-mcp -->
891
+
892
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-browser-use-playwright-mcp -->
893
+ <a id="deepseek-aidsh-experimental-browser-use-playwright-mcp"></a>
894
+
895
+ ## `@deepseek-ai/dsh-experimental-browser-use-playwright-mcp`
896
+
897
+ - `inject`: `browserUse` · `agents` · `tools` · `systemPrompt`
898
+ - `refs`: `BrowserMcpConfig` (`@deepseek-ai/dsh-experimental-browser-use-runtime/mcp`)
899
+ - `source`: [`packages/experimental/browser-use-playwright-mcp/src/index.ts:15`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/browser-use-playwright-mcp/src/index.ts)
900
+
901
+ ```ts config-catalog
902
+ /** Fixed Chromium launch or existing-browser attachment settings. */
903
+ export type Config = BrowserMcpConfig
904
+ ```
905
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-browser-use-playwright-mcp -->
906
+
907
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-browser-use-stagehand-native -->
908
+ <a id="deepseek-aidsh-experimental-browser-use-stagehand-native"></a>
909
+
910
+ ## `@deepseek-ai/dsh-experimental-browser-use-stagehand-native`
911
+
912
+ - `inject`: `browserUse` · `agents` · `tools` · `systemPrompt`
913
+ - `refs`: `ModelConfig` (`@browserbasehq/stagehand`)
914
+ - `source`: [`packages/experimental/browser-use-stagehand-native/src/index.ts:28`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/browser-use-stagehand-native/src/index.ts)
915
+
916
+ ```ts config-catalog
917
+ /** Profile-owned browser connection and independent Stagehand model credentials. */
918
+ export interface Config {
919
+ /** Native Stagehand model and credentials; independent of the Session model. */
920
+ model: StagehandModelConfig
921
+ /** Launch a fresh browser or attach to the configured existing endpoint. */
922
+ mode: 'launch' | 'attach'
923
+ /** CDP HTTP or WebSocket endpoint, required only for attach mode. */
924
+ cdpEndpoint?: string
925
+ /** Optional Stagehand extension id for an existing browser. */
926
+ extensionId?: string
927
+ /** Installed Chrome/Chromium executable used in launch mode. */
928
+ executablePath?: string
929
+ /** Hide an owned browser's window. */
930
+ headless?: boolean
931
+ /** Deadline for Chromium startup and Stagehand navigation/action operations. */
932
+ operationTimeoutMs?: number
933
+ /** Grace for native SDK cleanup before its connection Worker is terminated. */
934
+ shutdownGraceMs?: number
935
+ }
936
+
937
+ /** Profile-owned model settings accepted by the pinned Stagehand SDK. */
938
+ export interface StagehandModelConfig {
939
+ /** Provider-prefixed model name from Stagehand's supported model catalog. */
940
+ modelName: ModelConfig['modelName']
941
+ /** Explicit API key sent to Stagehand's browser extension. */
942
+ apiKey: string
943
+ /** Additional headers sent with the extension's model requests. */
944
+ headers?: Record<string, string>
604
945
  }
605
946
  ```
947
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-browser-use-stagehand-native -->
948
+
949
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-claude-code-mods -->
950
+ <a id="deepseek-aidsh-experimental-claude-code-mods"></a>
606
951
 
607
- Source: [`packages/experimental/code-runtime-python/src/index.ts:42`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/code-runtime-python/src/index.ts)
952
+ ## `@deepseek-ai/dsh-experimental-claude-code-mods`
608
953
 
954
+ - `source`: [`packages/experimental/claude-code-mods/src/index.ts:52`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/claude-code-mods/src/index.ts)
955
+
956
+ ```ts config-catalog
957
+ /** Plugin config: the limits mod hooks run under. */
958
+ export interface Config {
959
+ /** A hook's own running-time limit in milliseconds (Claude Code: 10 seconds). */
960
+ hookTimeoutMs?: number
961
+ /** A `.catch` handler's running-time limit in milliseconds (Claude Code: 1 second). */
962
+ catchTimeoutMs?: number
963
+ /** Default `$.process.run` and `$.http.fetch` timeout in milliseconds (Claude Code: 30 seconds). */
964
+ processTimeoutMs?: number
965
+ /** Claude Code tool name → harness tool name entries added to the built-in alias table. */
966
+ toolAliases?: Record<string, string>
967
+ /** Columns the band above the prompt reports to `ui.render` as `bodyColumns` and `viewport.columns`. */
968
+ bandColumns?: number
969
+ /** Rows the band reports as `maxRows`. */
970
+ bandRows?: number
971
+ }
972
+ ```
973
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-claude-code-mods -->
974
+
975
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-computer-use-cua-driver-mcp -->
976
+ <a id="deepseek-aidsh-experimental-computer-use-cua-driver-mcp"></a>
977
+
978
+ ## `@deepseek-ai/dsh-experimental-computer-use-cua-driver-mcp`
979
+
980
+ - `inject`: `computerUse` · `tools`
981
+ - `refs`: [`McpClient`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-client/src/index.ts)
982
+ - `source`: [`packages/experimental/computer-use-cua-driver-mcp/src/index.ts:20`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/computer-use-cua-driver-mcp/src/index.ts)
983
+
984
+ ```ts config-catalog
985
+ /** Installed executable and MCP connection overrides. */
986
+ export interface Config {
987
+ /** Executable path or PATH command; defaults to `cua-driver`. */
988
+ command: string
989
+ /** Arguments passed without a shell; defaults to `['mcp']`. */
990
+ args: string[]
991
+ /** Per-call timeout in milliseconds; omission uses the MCP client's default. */
992
+ toolCallTimeoutMs?: number
993
+ /** Reconnection overrides; defaults to the MCP client's policy. */
994
+ reconnect: McpClient.ReconnectConfig
995
+ }
996
+ ```
997
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-computer-use-cua-driver-mcp -->
998
+
999
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-inspector -->
609
1000
  <a id="deepseek-aidsh-experimental-inspector"></a>
610
1001
 
611
1002
  ## `@deepseek-ai/dsh-experimental-inspector`
612
1003
 
613
- Requires: `webServer`
1004
+ - `inject`: `webServer` · `connection`
1005
+ - `source`: [`packages/experimental/inspector/src/index.ts:66`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/inspector/src/index.ts)
614
1006
 
615
1007
  ```ts config-catalog
616
1008
  /** Host plugin configuration. Fetch capture is enabled by default. */
@@ -671,14 +1063,161 @@ export interface InspectorOptions {
671
1063
  readonly maxDisconnectedCordisTrees?: number
672
1064
  }
673
1065
  ```
1066
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-inspector -->
1067
+
1068
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-ptc-runtime-python -->
1069
+ <a id="deepseek-aidsh-experimental-ptc-runtime-python"></a>
674
1070
 
675
- Source: [`packages/experimental/inspector/src/index.ts:66`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/inspector/src/index.ts)
1071
+ ## `@deepseek-ai/dsh-experimental-ptc-runtime-python`
676
1072
 
1073
+ - `source`: [`packages/experimental/ptc-runtime-python/src/index.ts:42`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/ptc-runtime-python/src/index.ts)
1074
+
1075
+ ```ts config-catalog
1076
+ /** Plugin config: every cap, changeable from `cordis.yml` (no hardcoded tunables). */
1077
+ export interface Config {
1078
+ /**
1079
+ * RLIMIT_CPU in whole seconds (a positive integer — `setrlimit` in the child
1080
+ * rejects a float). The child sets the soft limit to `cpuSeconds` and the
1081
+ * hard limit to `cpuSeconds + 1`: the kernel delivers SIGXCPU at the soft
1082
+ * limit, which the host classifies as a `timeout`; the +1s hard limit is a
1083
+ * SIGKILL backstop for a program that traps SIGXCPU. Granularity is whole seconds.
1084
+ */
1085
+ cpuSeconds?: number
1086
+ /** Wall-clock ceiling in milliseconds; backstops CPU time for programs awaiting a promise nobody resolves. */
1087
+ maxWallMs?: number
1088
+ /**
1089
+ * RLIMIT_AS in mebibytes; caps address space so a runaway allocation fails
1090
+ * cleanly. Not applied on Darwin, where the dyld shared cache mapped into
1091
+ * every process at exec exceeds any practical cap and the kernel rejects
1092
+ * the call; `cpuSeconds` and `maxWallMs` still bound the run there. Bounds
1093
+ * `maxLogBytes`/`maxValueBytes` at load on EVERY platform (this static check
1094
+ * runs on Darwin too, where only the runtime `setrlimit` is skipped): each
1095
+ * budget times a worst-case Unicode expansion must fit this byte count minus a
1096
+ * fixed interpreter baseline, so a near-budget output cannot breach the address
1097
+ * space during the child's build-and-encode.
1098
+ */
1099
+ addressSpaceMb?: number
1100
+ /**
1101
+ * Shared byte budget for captured log text (host-side ledger). Bounded at load
1102
+ * against `addressSpaceMb`: the child builds and encodes a near-budget entry
1103
+ * under RLIMIT_AS with several copies live at once, so this cap times the
1104
+ * worst-case Unicode expansion must fit the address space left after the
1105
+ * interpreter baseline (see `addressSpaceMb`) — a load-time rejection, not a
1106
+ * runtime clamp. Also bounded at load by the host's configured heap like
1107
+ * `maxValueBytes` (see its JSDoc): the effective frame cap minus the frame
1108
+ * envelope.
1109
+ */
1110
+ maxLogBytes?: number
1111
+ /**
1112
+ * Byte cap for the completion value. Bounded at load against `addressSpaceMb`
1113
+ * the same way `maxLogBytes` is: the child builds and encodes a near-budget
1114
+ * value under RLIMIT_AS with several copies live at once, so this cap times the
1115
+ * worst-case Unicode expansion must fit the address space left after the
1116
+ * interpreter baseline. Both budgets are ALSO bounded at load by the host's
1117
+ * configured heap: the effective frame cap (the protocol cap, or a lower
1118
+ * heap-derived ceiling when the host heap cannot safely parse a near-cap
1119
+ * frame — see `hostFrameParseCeiling`) minus the frame envelope, so a budget
1120
+ * whose honest frame could OOM the host's own JSON.parse is rejected up
1121
+ * front.
1122
+ */
1123
+ maxValueBytes?: number
1124
+ /** SIGTERM→SIGKILL grace period on kill, matching bash-local's default. */
1125
+ graceMs?: number
1126
+ /**
1127
+ * Absolute path, relative path, or basename of a CPython 3.10+ interpreter.
1128
+ * Resolved and validated once at plugin load under a five-second force-kill
1129
+ * deadline; a basename searches `PATH`.
1130
+ */
1131
+ pythonBin?: string
1132
+ }
1133
+ ```
1134
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-ptc-runtime-python -->
1135
+
1136
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-speech-to-text -->
1137
+ <a id="deepseek-aidsh-experimental-speech-to-text"></a>
1138
+
1139
+ ## `@deepseek-ai/dsh-experimental-speech-to-text`
1140
+
1141
+ - `refs`: `Volatile` (`@deepseek-ai/cordis`)
1142
+ - `source`: [`packages/experimental/speech-to-text/src/index.ts:20`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/speech-to-text/src/index.ts)
1143
+
1144
+ ```ts config-catalog
1145
+ /** Live selection read before a transcription starts; `configure()` writes it through the profile. */
1146
+ export interface Config {
1147
+ /** Registered provider selected when the caller omits an id. */
1148
+ defaultProvider: Volatile<string>
1149
+ /** Provider language hint selected when the caller omits one. */
1150
+ language: Volatile<string>
1151
+ }
1152
+ ```
1153
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-speech-to-text -->
1154
+
1155
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-speech-to-text-sensevoice -->
1156
+ <a id="deepseek-aidsh-experimental-speech-to-text-sensevoice"></a>
1157
+
1158
+ ## `@deepseek-ai/dsh-experimental-speech-to-text-sensevoice`
1159
+
1160
+ - `inject`: `speechToText` · `subprocess`
1161
+ - `source`: [`packages/experimental/speech-to-text-sensevoice/src/config.ts:6`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/speech-to-text-sensevoice/src/config.ts)
1162
+
1163
+ ```ts config-catalog
1164
+ /** Local runtime, inference, and retention settings. */
1165
+ export interface Config {
1166
+ /** Unique registration id; consumers select this exact id. */
1167
+ providerId: string
1168
+ /** Absolute directory for verified ONNX models. */
1169
+ dataRoot: string
1170
+ /** Existing directory containing the selected ONNX model and tokens.txt; omission downloads verified files. */
1171
+ modelDirectory?: string | undefined
1172
+ /** Existing Silero VAD ONNX file; omission downloads the verified model. */
1173
+ vadModelPath?: string | undefined
1174
+ /** Weight precision; INT8 minimizes first-use download and model storage. */
1175
+ precision: 'int8' | 'fp32'
1176
+ /** Explicit Hugging Face-compatible origin; bypasses automatic selection and public fallback. */
1177
+ modelOrigin?: string | undefined
1178
+ /** Hugging Face-compatible origins compared before downloading each missing asset. */
1179
+ modelOrigins: string[]
1180
+ /** Deadline for concurrent HEAD probes, including redirects to the actual asset. */
1181
+ modelProbeTimeoutMs: number
1182
+ /** CPU intra-operation thread count. */
1183
+ threads: number
1184
+ /** Maximum speech segment length passed to the recognizer. */
1185
+ segmentSeconds: number
1186
+ /** Silero speech probability threshold. */
1187
+ vadThreshold: number
1188
+ /** Minimum speech duration retained by VAD. */
1189
+ minSpeechSeconds: number
1190
+ /** Silence separating two speech segments. */
1191
+ minSilenceSeconds: number
1192
+ /** Maximum decoded WAV bytes accepted by the private worker. */
1193
+ maxAudioBytes: number
1194
+ /** Deadline for runtime preparation and cold model loading. */
1195
+ prepareTimeoutMs: number
1196
+ /** Deadline for one inference after the worker is ready. */
1197
+ inferenceTimeoutMs: number
1198
+ /** Idle period before stopping the worker; zero keeps it warm. */
1199
+ idleTimeoutMs: number
1200
+ /** Maximum accepted running and waiting transcriptions. */
1201
+ maxPending: number
1202
+ /** Managed process termination grace period. */
1203
+ graceMs: number
1204
+ /** Maximum retained worker diagnostic bytes. */
1205
+ maxLogBytes: number
1206
+ /** Maximum transcript response bytes. */
1207
+ maxResponseBytes: number
1208
+ /** Minimum interval between intermediate download progress notifications. */
1209
+ progressIntervalMs: number
1210
+ }
1211
+ ```
1212
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-speech-to-text-sensevoice -->
1213
+
1214
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-experimental-tool-agent-team -->
677
1215
  <a id="deepseek-aidsh-experimental-tool-agent-team"></a>
678
1216
 
679
1217
  ## `@deepseek-ai/dsh-experimental-tool-agent-team`
680
1218
 
681
- Requires: `agents` · `agentTeams` · `tools` · `systemPrompt`
1219
+ - `inject`: `agents` · `agentTeams` · `tools` · `systemPrompt`
1220
+ - `source`: [`packages/experimental/tool-agent-team/src/index.ts:17`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/tool-agent-team/src/index.ts)
682
1221
 
683
1222
  ```ts config-catalog
684
1223
  /** Tool routing configuration. */
@@ -689,14 +1228,15 @@ export interface Config {
689
1228
  readonly forkProvider?: string
690
1229
  }
691
1230
  ```
1231
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-experimental-tool-agent-team -->
692
1232
 
693
- Source: [`packages/experimental/tool-agent-team/src/index.ts:17`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/tool-agent-team/src/index.ts)
694
-
1233
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-file-reference-local -->
695
1234
  <a id="deepseek-aidsh-file-reference-local"></a>
696
1235
 
697
1236
  ## `@deepseek-ai/dsh-file-reference-local`
698
1237
 
699
- Requires: `agents`
1238
+ - `inject`: `agents`
1239
+ - `source`: [`packages/context/file-reference-local/src/index.ts:34`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/file-reference-local/src/index.ts)
700
1240
 
701
1241
  ```ts config-catalog
702
1242
  /** Local file-reference discovery configuration. */
@@ -709,13 +1249,15 @@ export interface Config {
709
1249
  excludedDirectories?: string[]
710
1250
  }
711
1251
  ```
1252
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-file-reference-local -->
712
1253
 
713
- Source: [`packages/context/file-reference-local/src/index.ts:34`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/file-reference-local/src/index.ts)
714
-
1254
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-fs-local -->
715
1255
  <a id="deepseek-aidsh-fs-local"></a>
716
1256
 
717
1257
  ## `@deepseek-ai/dsh-fs-local`
718
1258
 
1259
+ - `source`: [`packages/fs/fs-local/src/index.ts:45`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/fs-local/src/index.ts)
1260
+
719
1261
  ```ts config-catalog
720
1262
  /** Configuration for the local filesystem backend. */
721
1263
  export interface Config {
@@ -728,14 +1270,16 @@ export interface Config {
728
1270
  diffBasisMaxBytes?: number
729
1271
  }
730
1272
  ```
1273
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-fs-local -->
731
1274
 
732
- Source: [`packages/fs/fs-local/src/index.ts:41`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/fs-local/src/index.ts)
733
-
1275
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-fs-sandbox -->
734
1276
  <a id="deepseek-aidsh-fs-sandbox"></a>
735
1277
 
736
1278
  ## `@deepseek-ai/dsh-fs-sandbox`
737
1279
 
738
- Requires: `sandboxPolicy`
1280
+ - `inject`: `sandboxPolicy`
1281
+ - `refs`: [`LocalConfig`](#deepseek-aidsh-fs-local)
1282
+ - `source`: [`packages/fs/fs-sandbox/src/index.ts:45`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/fs-sandbox/src/index.ts)
739
1283
 
740
1284
  ```ts config-catalog
741
1285
  /**
@@ -746,16 +1290,15 @@ Requires: `sandboxPolicy`
746
1290
  */
747
1291
  export type Config = LocalConfig
748
1292
  ```
1293
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-fs-sandbox -->
749
1294
 
750
- Depends on: [`LocalConfig`](#deepseek-aidsh-fs-local)
751
-
752
- Source: [`packages/fs/fs-sandbox/src/index.ts:45`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/fs-sandbox/src/index.ts)
753
-
1295
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-goal -->
754
1296
  <a id="deepseek-aidsh-goal"></a>
755
1297
 
756
1298
  ## `@deepseek-ai/dsh-goal`
757
1299
 
758
- Requires: `agents` · `sessionProjections`
1300
+ - `inject`: `agents` · `sessionProjections`
1301
+ - `source`: [`packages/goal/goal/src/index.ts:172`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/goal/src/index.ts)
759
1302
 
760
1303
  ```ts config-catalog
761
1304
  /** Deployment defaults for goal creation. */
@@ -764,30 +1307,59 @@ export interface Config {
764
1307
  defaultMaxGoalRounds?: number
765
1308
  }
766
1309
  ```
1310
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-goal -->
767
1311
 
768
- Source: [`packages/goal/goal/src/index.ts:172`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/goal/src/index.ts)
769
-
1312
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-headless -->
770
1313
  <a id="deepseek-aidsh-headless"></a>
771
1314
 
772
1315
  ## `@deepseek-ai/dsh-headless`
773
1316
 
774
- Requires: `agentDefaultModel` · `agents` · `sessions`
1317
+ - `inject`: `agentDefaultModel` · `agents` · `sessions`
1318
+ - `source`: [`packages/bundle/headless/src/index.ts:42`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/headless/src/index.ts)
775
1319
 
776
1320
  ```ts config-catalog
777
- /** Plugin config: the task resolved from this app's injected provider service. */
1321
+ /** Plugin config: the task and run options resolved from this app's injected provider service. */
778
1322
  export interface Config {
779
- /** The prompt text for the single run. */
780
- task: string
1323
+ /** The prompt text for the single run; absent when the task arrives on stdin. */
1324
+ task?: string
1325
+ /** Exact Session identity to adopt; absent for a fresh random identity. An id with no stored Session fails. */
1326
+ sessionId?: string
1327
+ /** Whether stdout carries the machine-readable event stream instead of final text. */
1328
+ json?: boolean
781
1329
  }
782
1330
  ```
1331
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-headless -->
1332
+
1333
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-hmr -->
1334
+ <a id="deepseek-aidsh-hmr"></a>
1335
+
1336
+ ## `@deepseek-ai/dsh-hmr`
1337
+
1338
+ - `refs`: `ChokidarOptions` (`chokidar`)
1339
+ - `source`: [`packages/boot/hmr/src/index.ts:53`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/hmr/src/index.ts)
783
1340
 
784
- Source: [`packages/bundle/headless/src/index.ts:34`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/headless/src/index.ts)
1341
+ ```ts config-catalog
1342
+ /** Module roots and watcher timing, with Chokidar deployment options. */
1343
+ export interface HmrConfig extends ChokidarOptions {
1344
+ /** Directory resolved against the owning context's base URL. */
1345
+ base?: string
1346
+ /** Module watch roots; an empty list leaves only explicit configuration watches. */
1347
+ root: string[]
1348
+ /** Milliseconds for combining module changes. */
1349
+ debounce: number
1350
+ /** Glob patterns excluded from module watching. */
1351
+ ignored: string[]
1352
+ }
1353
+ ```
1354
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-hmr -->
785
1355
 
1356
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-hooks-claude-code -->
786
1357
  <a id="deepseek-aidsh-hooks-claude-code"></a>
787
1358
 
788
1359
  ## `@deepseek-ai/dsh-hooks-claude-code`
789
1360
 
790
- Requires: `shell` · `sessionProjections`
1361
+ - `inject`: `shell` · `sessionProjections`
1362
+ - `source`: [`packages/hooks/hooks-claude-code/src/index.ts:51`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/hooks/hooks-claude-code/src/index.ts)
791
1363
 
792
1364
  ```ts config-catalog
793
1365
  /** Plugin config: where the CC hook config lives + substitution roots. */
@@ -818,14 +1390,15 @@ export interface Config {
818
1390
  stderrSummaryMaxChars?: number
819
1391
  }
820
1392
  ```
1393
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-hooks-claude-code -->
821
1394
 
822
- Source: [`packages/hooks/hooks-claude-code/src/index.ts:45`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/hooks/hooks-claude-code/src/index.ts)
823
-
1395
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-hooks-codex -->
824
1396
  <a id="deepseek-aidsh-hooks-codex"></a>
825
1397
 
826
1398
  ## `@deepseek-ai/dsh-hooks-codex`
827
1399
 
828
- Requires: `shell` · `sessionProjections`
1400
+ - `inject`: `shell` · `sessionProjections`
1401
+ - `source`: [`packages/hooks/hooks-codex/src/index.ts:50`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/hooks/hooks-codex/src/index.ts)
829
1402
 
830
1403
  ```ts config-catalog
831
1404
  /** Plugin config: where the Codex hooks.json lives + the model name for payloads. */
@@ -845,13 +1418,15 @@ export interface Config {
845
1418
  stderrSummaryMaxChars?: number
846
1419
  }
847
1420
  ```
1421
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-hooks-codex -->
848
1422
 
849
- Source: [`packages/hooks/hooks-codex/src/index.ts:44`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/hooks/hooks-codex/src/index.ts)
850
-
1423
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-host-directory-picker-browse -->
851
1424
  <a id="deepseek-aidsh-host-directory-picker-browse"></a>
852
1425
 
853
1426
  ## `@deepseek-ai/dsh-host-directory-picker-browse`
854
1427
 
1428
+ - `source`: [`packages/host/directory-picker-browse/src/index.ts:181`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/directory-picker-browse/src/index.ts)
1429
+
855
1430
  ```ts config-catalog
856
1431
  /** Validated plugin configuration. */
857
1432
  export interface Config {
@@ -859,14 +1434,15 @@ export interface Config {
859
1434
  maxEntries: number
860
1435
  }
861
1436
  ```
1437
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-host-directory-picker-browse -->
862
1438
 
863
- Source: [`packages/host/directory-picker-browse/src/index.ts:181`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/directory-picker-browse/src/index.ts)
864
-
1439
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-host-frontend-static -->
865
1440
  <a id="deepseek-aidsh-host-frontend-static"></a>
866
1441
 
867
1442
  ## `@deepseek-ai/dsh-host-frontend-static`
868
1443
 
869
- Requires: `webServer` · `connection`
1444
+ - `inject`: `webServer` · `connection`
1445
+ - `source`: [`packages/host/frontend-static/src/index.ts:30`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/frontend-static/src/index.ts)
870
1446
 
871
1447
  ```ts config-catalog
872
1448
  /** Plugin config: the dist anchor. */
@@ -875,13 +1451,84 @@ export interface Config {
875
1451
  distIndex: string
876
1452
  }
877
1453
  ```
1454
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-host-frontend-static -->
1455
+
1456
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-host-open-in-app -->
1457
+ <a id="deepseek-aidsh-host-open-in-app"></a>
1458
+
1459
+ ## `@deepseek-ai/dsh-host-open-in-app`
1460
+
1461
+ - `inject`: `webServer` · `connection` · `subprocess`
1462
+ - `source`: [`packages/host/open-in-app/src/index.ts:50`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/open-in-app/src/index.ts)
1463
+
1464
+ ```ts config-catalog
1465
+ /** Open-in-app host configuration. */
1466
+ export interface Config {
1467
+ /**
1468
+ * Per-command deadline in milliseconds for catalog-resolution host
1469
+ * commands (`xcode-select`, the Windows registry reads).
1470
+ */
1471
+ readonly probeTimeoutMs: number
1472
+ /**
1473
+ * Per-command deadline in milliseconds for icon-extraction host commands
1474
+ * (`plutil`/`sips` on macOS, the PowerShell extraction on Windows).
1475
+ */
1476
+ readonly iconTimeoutMs: number
1477
+ /**
1478
+ * Early-failure watch window per launch, in milliseconds: a launcher still
1479
+ * running when the window closes counts as launched and keeps running, so
1480
+ * this bounds how long the open route holds a successful launch, not how
1481
+ * long an application may live.
1482
+ */
1483
+ readonly launchWatchMs: number
1484
+ }
1485
+ ```
1486
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-host-open-in-app -->
1487
+
1488
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-host-product-telemetry-otel -->
1489
+ <a id="deepseek-aidsh-host-product-telemetry-otel"></a>
878
1490
 
879
- Source: [`packages/host/frontend-static/src/index.ts:30`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/frontend-static/src/index.ts)
1491
+ ## `@deepseek-ai/dsh-host-product-telemetry-otel`
880
1492
 
1493
+ - `inject`: `otel`
1494
+ - `source`: [`packages/host/product-telemetry-otel/src/index.ts:18`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/product-telemetry-otel/src/index.ts)
1495
+
1496
+ ```ts config-catalog
1497
+ /** Collector routing, application identity, and bounded in-memory batch settings. */
1498
+ export interface Config {
1499
+ /** Full HTTP(S) logs URL. */
1500
+ endpoint: string
1501
+ /** Collector routing header. */
1502
+ channel: string
1503
+ /** Resource service.name supplied by the application composition. */
1504
+ serviceName: string
1505
+ /** Resource service.version supplied by the application composition. */
1506
+ serviceVersion: string
1507
+ /** Omit to honor OTEL_EXPORTER_OTLP_LOGS_COMPRESSION / OTEL_EXPORTER_OTLP_COMPRESSION. */
1508
+ compression?: 'none' | 'gzip'
1509
+ /** Maximum records per export; must not exceed maxQueueSize. */
1510
+ maxExportBatchSize: number
1511
+ /** Maximum queued records; the SDK drops new records when full. */
1512
+ maxQueueSize: number
1513
+ /** Delay before exporting a partial batch. */
1514
+ scheduledDelayMillis: number
1515
+ /** Exporter HTTP deadline, including SDK transient-error retries. */
1516
+ timeoutMillis: number
1517
+ /** Processor deadline for one batch export. */
1518
+ exportTimeoutMillis: number
1519
+ /** Drain deadline; expiry cancels pending exports before disposal completes. */
1520
+ shutdownTimeoutMillis: number
1521
+ }
1522
+ ```
1523
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-host-product-telemetry-otel -->
1524
+
1525
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-host-webserver -->
881
1526
  <a id="deepseek-aidsh-host-webserver"></a>
882
1527
 
883
1528
  ## `@deepseek-ai/dsh-host-webserver`
884
1529
 
1530
+ - `source`: [`packages/host/webserver/src/index.ts:59`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/webserver/src/index.ts)
1531
+
885
1532
  ```ts config-catalog
886
1533
  /** Web server listen and response-compression config. */
887
1534
  export interface Config {
@@ -897,31 +1544,15 @@ export interface Config {
897
1544
  compressionThresholdBytes?: number
898
1545
  }
899
1546
  ```
1547
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-host-webserver -->
900
1548
 
901
- Source: [`packages/host/webserver/src/index.ts:59`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/webserver/src/index.ts)
902
-
903
- <a id="deepseek-aidsh-invariants"></a>
904
-
905
- ## `@deepseek-ai/dsh-invariants`
906
-
907
- ```ts config-catalog
908
- /** Runtime invariant selection configured on the service plugin. */
909
- export interface Config {
910
- /** Global switch; defaults to `true`. */
911
- readonly enabled?: boolean
912
- /** Case-sensitive JavaScript regex sources that admit package names; empty admits all. */
913
- readonly package_allowlist?: string[]
914
- /** Case-sensitive JavaScript regex sources that exclude package names after allowlist matching. */
915
- readonly package_blocklist?: string[]
916
- }
917
- ```
918
-
919
- Source: [`packages/runtime-diagnostics/invariants/src/index.ts:15`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/runtime-diagnostics/invariants/src/index.ts)
920
-
1549
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-jobs-local -->
921
1550
  <a id="deepseek-aidsh-jobs-local"></a>
922
1551
 
923
1552
  ## `@deepseek-ai/dsh-jobs-local`
924
1553
 
1554
+ - `source`: [`packages/jobs/jobs-local/src/index.ts:45`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/jobs/jobs-local/src/index.ts)
1555
+
925
1556
  ```ts config-catalog
926
1557
  /** Configuration for the process-local job registry. */
927
1558
  export interface Config {
@@ -929,98 +1560,62 @@ export interface Config {
929
1560
  * Maximum `running` plus `stopping` jobs per exact owner or in the shared unowned bucket;
930
1561
  * omission defaults to 10.
931
1562
  */
932
- maxConcurrentJobsPerOwner?: number
933
- }
934
- ```
935
-
936
- Source: [`packages/jobs/jobs-local/src/index.ts:31`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/jobs/jobs-local/src/index.ts)
937
-
938
- <a id="deepseek-aidsh-llm-deepseek"></a>
939
-
940
- ## `@deepseek-ai/dsh-llm-deepseek`
941
-
942
- Requires: `llm`
943
-
944
- ```ts config-catalog
945
- /**
946
- * Plugin config, validated by the same-named schemastery schema and doubling
947
- * as the `llm-deepseek` settings-section shape. Every field is optional in
948
- * yml: a missing API key resolves through {@link Config.apiKeyEnv} at each
949
- * request (a request without any key fails with `MISSING_CREDENTIAL`, not at
950
- * plugin load), omitted thinking mode uses the provider default, and omitted
951
- * reasoning effort resolves to `high`.
952
- */
953
- export interface Config {
954
- /** Credential reference (environment-variable name) resolved per request; defaults to `DEEPSEEK_API_KEY`. */
955
- apiKeyEnv?: string
956
- /** Endpoint base; falls back to $DEEPSEEK_BASE_URL from a trusted environment layer, then the public API. */
957
- baseURL?: string
958
- /** Deployment thinking policy; `disabled` limits every conversation request to `off`. */
959
- thinking?: 'enabled' | 'disabled'
960
- /** Default thinking effort (default `high`); `off` disables thinking per request. */
961
- reasoningEffort?: 'off' | 'low' | 'high' | 'max'
962
- /** Default per-request output cap (default 256,000); a model's own cap and explicit request values win. */
963
- maxTokens?: number
964
- /** Positive context capacity used when the selected model has no exact value (default 1,000,000). */
965
- defaultContextWindow?: number
966
- /** Advisory models shown by discovery consumers; defaults to V4 Flash, V4 Pro, and V4 Flash Vision Exp. */
967
- models?: DeepSeekCatalogModel[]
968
- /** Maximum provider idle time while one stream read is outstanding (default five minutes). */
969
- streamIdleTimeoutMs?: number
970
- /** Maximum accumulated file-referenced image bytes per chat request (default 128 MiB). */
971
- maxRequestFilesBytes?: number
972
- /** Maximum accumulated base64 image payload after Files API fallback (default 20 MiB). */
973
- maxInlineRequestImageBytes?: number
974
- /** Maximum number of represented images per chat request (default 600). */
975
- maxImagesPerRequest?: number
976
- /** Raw-byte removal step after the request exceeds its file bound (default 64 MiB). */
977
- imageOffloadByteQuantum?: number
978
- /** Base64-byte removal step after inline fallback exceeds its bound (default 10 MiB). */
979
- inlineImageOffloadByteQuantum?: number
980
- /** Image-count removal step after the request exceeds its count bound (default 20). */
981
- imageOffloadCountQuantum?: number
982
- /** Maximum duration of one request-image Files API resolution (default one minute). */
983
- filesApiTimeoutMs?: number
984
- /** Explicit lifetime assigned to each uploaded image (default seven days). */
985
- fileExpiresAfterSeconds?: number
986
- /** Remaining lifetime below which an indexed file is replaced (default one hour). */
987
- fileRefreshMarginSeconds?: number
988
- /** Oldest harness-owned files deleted before one quota-recovery upload retry (default 100). */
989
- fileQuotaCleanupBatch?: number
990
- /** Provider-owned model-request retry policy; omission uses normal mode with five retries. */
991
- retryPolicy?: RetryPolicyConfig
992
- }
993
-
994
- /** One optional model entry advertised by the direct-fetch adapter. */
995
- export interface DeepSeekCatalogModel {
996
- /** Wire model id accepted by the configured endpoint. */
997
- id: string
998
- /** Selector label; defaults to {@link id}. */
999
- name?: string
1000
- /** Optional selector detail for deployments with similar model variants. */
1001
- description?: string
1002
- /** Known combined request/response context capacity; omitted when deployment metadata is unavailable. */
1003
- contextWindow?: number
1004
- /** Per-request output cap for this model; omission falls back to the profile's {@link DeepSeekConnectionOptions.maxTokens}. */
1005
- maxTokens?: number
1006
- /** Accepted request modalities; omission is text-only. */
1007
- inputModalities?: ModelModality[]
1008
- /** Total-pixel budget for one deterministic request preview, or the 512-by-512 `low` preset. */
1009
- imagePixelBudget?: number | 'low'
1010
- /** Encoded-byte target for one deterministic request preview; the smallest quality-ladder output is used when no quality fits. */
1011
- imageMaxBytes?: number
1563
+ maxConcurrentJobsPerOwner?: number
1564
+ /** Live ring retention per job in UTF-8 bytes; omission defaults to 262144. */
1565
+ retainBytes?: number
1566
+ /**
1567
+ * Ring retention kept after a job settles, in UTF-8 bytes; omission defaults to 16384.
1568
+ * Settlement keeps every byte the model cursor has not consumed on top of
1569
+ * this cap; the first terminal model read then trims to it.
1570
+ */
1571
+ settledRetainBytes?: number
1572
+ /** Poll interval for a job's pull sources, in milliseconds; omission defaults to 150. */
1573
+ pumpPollMs?: number
1012
1574
  }
1013
1575
  ```
1576
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-jobs-local -->
1577
+
1578
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-llm-deepseek-account -->
1579
+ <a id="deepseek-aidsh-llm-deepseek-account"></a>
1580
+
1581
+ ## `@deepseek-ai/dsh-llm-deepseek-account`
1582
+
1583
+ - `inject`: `llm`
1584
+ - `refs`: [`ProtocolConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-deepseek/src/index.ts)
1585
+ - `source`: [`packages/llm/llm-deepseek-account/src/config.ts:5`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-deepseek-account/src/config.ts)
1586
+
1587
+ ```ts config-catalog
1588
+ /** Account route configuration; authentication comes exclusively from the account service. */
1589
+ export type Config = ProtocolConfig
1590
+ ```
1591
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-llm-deepseek-account -->
1592
+
1593
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-llm-deepseek-api-key -->
1594
+ <a id="deepseek-aidsh-llm-deepseek-api-key"></a>
1014
1595
 
1015
- Depends on: [`ModelModality`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts)
1596
+ ## `@deepseek-ai/dsh-llm-deepseek-api-key`
1016
1597
 
1017
- Source: [`packages/llm/llm-deepseek/src/index.ts:125`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-deepseek/src/index.ts)
1598
+ - `inject`: `llm`
1599
+ - `refs`: [`ProtocolConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-deepseek/src/index.ts) · `Volatile` (`@deepseek-ai/cordis`)
1600
+ - `source`: [`packages/llm/llm-deepseek-api-key/src/config.ts:10`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-deepseek-api-key/src/config.ts)
1601
+
1602
+ ```ts config-catalog
1603
+ /** Messages configuration with a per-request API-key reference. */
1604
+ export interface Config extends ProtocolConfig {
1605
+ /** Credential reference resolved per request; defaults to DEEPSEEK_API_KEY. */
1606
+ apiKeyEnv: Volatile<string>
1607
+ }
1608
+ ```
1609
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-llm-deepseek-api-key -->
1018
1610
 
1611
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-llm-pi-ai -->
1019
1612
  <a id="deepseek-aidsh-llm-pi-ai"></a>
1020
1613
 
1021
1614
  ## `@deepseek-ai/dsh-llm-pi-ai`
1022
1615
 
1023
- Requires: `llm`
1616
+ - `inject`: `llm`
1617
+ - `refs`: `Api` (`@earendil-works/pi-ai`) · `CacheRetention` (`@earendil-works/pi-ai`) · `Model` (`@earendil-works/pi-ai`) · `ModelThinkingLevel` (`@earendil-works/pi-ai`) · `OpenAICompletionsCompat` (`@earendil-works/pi-ai`) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · `ThinkingBudgets` (`@earendil-works/pi-ai`) · `Transport` (`@earendil-works/pi-ai`) · `Volatile` (`@deepseek-ai/cordis`)
1618
+ - `source`: [`packages/llm/llm-pi-ai/src/config.ts:222`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-pi-ai/src/config.ts)
1024
1619
 
1025
1620
  ```ts config-catalog
1026
1621
  /** Plugin configuration: the provider routes this instance owns. */
@@ -1030,7 +1625,7 @@ export interface Config {
1030
1625
  * the dormant settings-driven posture: the adapter mounts with no routes
1031
1626
  * and registers them the moment a settings section supplies profiles.
1032
1627
  */
1033
- providers?: Record<string, PiAiProviderProfile>
1628
+ providers: Volatile<Record<string, PiAiProviderProfile>>
1034
1629
  }
1035
1630
 
1036
1631
  /** Configuration for one pi-ai provider route; the `providers` dict key IS the route. */
@@ -1233,8 +1828,14 @@ export interface PiAiCompatProfile {
1233
1828
  chatTemplateKwargs?: NonNullable<OpenAICompletionsCompat['chatTemplateKwargs']>
1234
1829
  /** Arguments sent as `chat_template_args` under the `baseten` thinking format; `openai-completions`. */
1235
1830
  chatTemplateArgs?: NonNullable<OpenAICompletionsCompat['chatTemplateArgs']>
1236
- /** Whether the endpoint accepts `thinking_token_budget` to cap vLLM reasoning; `openai-completions`. */
1831
+ /** Alias for `thinkingTokenBudgetField: "thinking_token_budget"`; an explicit field wins. `openai-completions`. */
1237
1832
  supportsThinkingTokenBudget?: boolean
1833
+ /** Request field carrying the reasoning budget from `thinkingBudgets`; omitted unless configured. `openai-completions`. */
1834
+ thinkingTokenBudgetField?: PiAiThinkingTokenBudgetField
1835
+ /** vLLM scheduler `priority`; lower runs earlier, and the server must enable priority scheduling. Omitted unless configured. */
1836
+ vllmPriority?: number
1837
+ /** Whether `openai-responses` accepts `max_output_tokens`; `false` omits it. Azure and Codex ignore this shared compat field. */
1838
+ supportsMaxOutputTokens?: boolean
1238
1839
  /**
1239
1840
  * Whether the endpoint accepts `strict` in tool definitions;
1240
1841
  * `openai-completions`, the three Responses protocols, `bedrock-converse-stream`.
@@ -1276,17 +1877,20 @@ export type PiAiReasoningEfforts = Partial<Record<ModelThinkingLevel, string | n
1276
1877
 
1277
1878
  /** One reasoning-dispatch wire format a profile may name. */
1278
1879
  export type PiAiThinkingFormat = NonNullable<OpenAICompletionsCompat['thinkingFormat']>
1279
- ```
1280
-
1281
- Depends on: `Api` (`@earendil-works/pi-ai`) · `CacheRetention` (`@earendil-works/pi-ai`) · `Model` (`@earendil-works/pi-ai`) · `ModelThinkingLevel` (`@earendil-works/pi-ai`) · `OpenAICompletionsCompat` (`@earendil-works/pi-ai`) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · `ThinkingBudgets` (`@earendil-works/pi-ai`) · `Transport` (`@earendil-works/pi-ai`)
1282
1880
 
1283
- Source: [`packages/llm/llm-pi-ai/src/config.ts:216`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-pi-ai/src/config.ts)
1881
+ /** The reasoning-budget field spellings pi-ai accepts. */
1882
+ export type PiAiThinkingTokenBudgetField = NonNullable<OpenAICompletionsCompat['thinkingTokenBudgetField']>
1883
+ ```
1884
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-llm-pi-ai -->
1284
1885
 
1886
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-llm-replay -->
1285
1887
  <a id="deepseek-aidsh-llm-replay"></a>
1286
1888
 
1287
1889
  ## `@deepseek-ai/dsh-llm-replay`
1288
1890
 
1289
- Requires: `llm`
1891
+ - `inject`: `llm`
1892
+ - `refs`: [`ModelModality`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`SystemPromptUpdate`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`ToolUpdate`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts)
1893
+ - `source`: [`packages/test-support/llm-replay/src/index.ts:1129`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/llm-replay/src/index.ts)
1290
1894
 
1291
1895
  ```ts config-catalog
1292
1896
  /** Plugin config: the {@link ReplayConfig} inputs, each defaulting to its `DSH_SNAPSHOT_*` env var in `apply`. */
@@ -1352,31 +1956,35 @@ export interface ReplayModelConfig {
1352
1956
  * {@link reasoningEfforts} or call resolution rejects the route.
1353
1957
  */
1354
1958
  defaultReasoningEffort?: string
1959
+ /** Optional in-history system prompt replacement for a keyless replay route. */
1960
+ systemPromptUpdate?: SystemPromptUpdate
1961
+ /** Optional mid-conversation tool declaration mode for a keyless replay route. */
1962
+ toolUpdate?: ToolUpdate
1355
1963
  }
1356
1964
  ```
1965
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-llm-replay -->
1357
1966
 
1358
- Depends on: [`ModelModality`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts)
1359
-
1360
- Source: [`packages/test-support/llm-replay/src/index.ts:1294`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/llm-replay/src/index.ts)
1361
-
1967
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-llm-retry -->
1362
1968
  <a id="deepseek-aidsh-llm-retry"></a>
1363
1969
 
1364
1970
  ## `@deepseek-ai/dsh-llm-retry`
1365
1971
 
1366
- Requires: `agents` · `sessionProjections`
1972
+ - `inject`: `agents` · `sessionProjections`
1973
+ - `source`: [`packages/llm/llm-retry/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-retry/src/index.ts)
1367
1974
 
1368
1975
  ```ts config-catalog
1369
1976
  /** This policy executor has no config; providers own `retryPolicy`. */
1370
1977
  export type Config = Readonly<Record<string, never>>
1371
1978
  ```
1979
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-llm-retry -->
1372
1980
 
1373
- Source: [`packages/llm/llm-retry/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-retry/src/index.ts)
1374
-
1981
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-lsp-stdio -->
1375
1982
  <a id="deepseek-aidsh-lsp-stdio"></a>
1376
1983
 
1377
1984
  ## `@deepseek-ai/dsh-lsp-stdio`
1378
1985
 
1379
- Requires: `fs` · `lsp` · `subprocess`
1986
+ - `inject`: `fs` · `lsp` · `subprocess`
1987
+ - `source`: [`packages/lsp/lsp-stdio/src/index.ts:82`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/lsp/lsp-stdio/src/index.ts)
1380
1988
 
1381
1989
  ```ts config-catalog
1382
1990
  /** Plugin configuration: provider id → local language-server configuration. */
@@ -1411,14 +2019,15 @@ export interface LspLocalServerConfig {
1411
2019
  killGraceMs?: number
1412
2020
  }
1413
2021
  ```
2022
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-lsp-stdio -->
1414
2023
 
1415
- Source: [`packages/lsp/lsp-stdio/src/index.ts:82`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/lsp/lsp-stdio/src/index.ts)
1416
-
2024
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-mcp-client -->
1417
2025
  <a id="deepseek-aidsh-mcp-client"></a>
1418
2026
 
1419
2027
  ## `@deepseek-ai/dsh-mcp-client`
1420
2028
 
1421
- Requires: `tools`
2029
+ - `inject`: `tools`
2030
+ - `source`: [`packages/mcp/mcp-client/src/index.ts:104`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-client/src/index.ts)
1422
2031
 
1423
2032
  ```ts config-catalog
1424
2033
  /** Configuration for one stdio or Streamable HTTP MCP server. */
@@ -1442,10 +2051,12 @@ export interface StdioConfig {
1442
2051
  env: Record<string, string>
1443
2052
  /** Working directory for the child process. */
1444
2053
  cwd: string
1445
- /** Per-tool-call timeout in milliseconds. */
2054
+ /** Timeout per tool call or resource request in milliseconds. */
1446
2055
  toolCallTimeoutMs: number
1447
2056
  /** Fail plugin activation when the initial connection or tool synchronization fails. */
1448
2057
  failOnStartupError: boolean
2058
+ /** Maximum UTF-8 bytes of attributed server instructions (default 32768). */
2059
+ maxInstructionBytes?: number
1449
2060
  /** Automatic reconnect policy after a lost connection; omission uses the defaults. */
1450
2061
  reconnect?: ReconnectConfig
1451
2062
  }
@@ -1464,10 +2075,12 @@ export interface StreamableHttpConfig {
1464
2075
  url: string
1465
2076
  /** Additional headers attached to MCP requests. */
1466
2077
  headers: Record<string, string>
1467
- /** Per-tool-call timeout in milliseconds. */
2078
+ /** Timeout per tool call or resource request in milliseconds. */
1468
2079
  toolCallTimeoutMs: number
1469
2080
  /** Fail plugin activation when the initial connection or tool synchronization fails. */
1470
2081
  failOnStartupError: boolean
2082
+ /** Maximum UTF-8 bytes of attributed server instructions (default 32768). */
2083
+ maxInstructionBytes?: number
1471
2084
  /** Automatic reconnect policy after a lost connection; omission uses the defaults. */
1472
2085
  reconnect?: ReconnectConfig
1473
2086
  }
@@ -1484,14 +2097,15 @@ export interface ReconnectConfig {
1484
2097
  maxAttempts?: number
1485
2098
  }
1486
2099
  ```
2100
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-mcp-client -->
1487
2101
 
1488
- Source: [`packages/mcp/mcp-client/src/index.ts:98`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-client/src/index.ts)
1489
-
2102
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-message-feedback -->
1490
2103
  <a id="deepseek-aidsh-message-feedback"></a>
1491
2104
 
1492
2105
  ## `@deepseek-ai/dsh-message-feedback`
1493
2106
 
1494
- Requires: `storageDomain` · `sessionPersistence` · `sessions`
2107
+ - `inject`: `sessionPersistence` · `sessions`
2108
+ - `source`: [`packages/feedback/message-feedback/src/index.ts:40`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/feedback/message-feedback/src/index.ts)
1495
2109
 
1496
2110
  ```ts config-catalog
1497
2111
  /** Required deployment policy for optional notes. */
@@ -1500,14 +2114,68 @@ export interface Config {
1500
2114
  readonly maxNoteBytes: number
1501
2115
  }
1502
2116
  ```
2117
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-message-feedback -->
2118
+
2119
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-office-to-pdf -->
2120
+ <a id="deepseek-aidsh-office-to-pdf"></a>
2121
+
2122
+ ## `@deepseek-ai/dsh-office-to-pdf`
1503
2123
 
1504
- Source: [`packages/feedback/message-feedback/src/index.ts:50`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/feedback/message-feedback/src/index.ts)
2124
+ - `source`: [`packages/document/office-to-pdf/src/index.ts:31`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/document/office-to-pdf/src/index.ts)
1505
2125
 
2126
+ ```ts config-catalog
2127
+ /** Provider concurrency and kit rendering/font configuration. */
2128
+ export interface Config {
2129
+ /** Maximum simultaneous conversions; queued callers remain cancellable. */
2130
+ maxConcurrentConversions: number
2131
+ /** Maximum metadata-only jobs awaiting source admission. */
2132
+ maxQueuedJobs: number
2133
+ /** Maximum outstanding conversion readers. */
2134
+ maxReaders: number
2135
+ /** Maximum reserved bytes across admitted source reads and conversions. */
2136
+ maxSourceBytes: number
2137
+ /** Maximum concurrent background jobs; zero refuses speculative work. */
2138
+ maxBackgroundConversions: number
2139
+ /** Maximum retained content-addressed PDFs. */
2140
+ maxCachedEntries: number
2141
+ /** Maximum retained PDF bytes. */
2142
+ maxCachedBytes: number
2143
+ /** Maximum retained source-version aliases to cached content. */
2144
+ maxSourceEntries: number
2145
+ /** Conversion deadline in milliseconds; excludes the DSH queue. */
2146
+ timeoutMs: number
2147
+ /** Maximum authorized source bytes. */
2148
+ maxInputBytes: number
2149
+ /** Maximum complete PDF bytes. */
2150
+ maxOutputBytes: number
2151
+ /** Exported raster-image DPI. */
2152
+ maxImageResolution: number
2153
+ /** Maximum OOXML ZIP entries. */
2154
+ maxArchiveEntries: number
2155
+ /** Maximum total declared uncompressed OOXML bytes. */
2156
+ maxUncompressedBytes: number
2157
+ /** Absolute font roots; omission uses the kit's platform defaults. */
2158
+ fontDirectories?: string[]
2159
+ /** Ordered font-family preference groups; omission retains the kit defaults. */
2160
+ fontFallbacks?: string[][]
2161
+ /** Maximum physical font files indexed by each converter. */
2162
+ maxFontFiles: number
2163
+ /** Maximum individual font-file bytes. */
2164
+ maxFontFileBytes: number
2165
+ /** Maximum original font bytes loaded for a conversion. */
2166
+ maxLoadedFontBytes: number
2167
+ }
2168
+ ```
2169
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-office-to-pdf -->
2170
+
2171
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-permission-presets -->
1506
2172
  <a id="deepseek-aidsh-permission-presets"></a>
1507
2173
 
1508
2174
  ## `@deepseek-ai/dsh-permission-presets`
1509
2175
 
1510
- Requires: `shell` · `approval` · `sessions` · `sessionProjections`
2176
+ - `inject`: `shell` · `approval` · `sessions` · `sessionProjections`
2177
+ - `refs`: [`ApprovalPolicy`](./subsystems/approval.md) · [`SandboxMode`](./subsystems/sandbox.md) · `Volatile` (`@deepseek-ai/cordis`)
2178
+ - `source`: [`packages/interaction/permission-presets/src/index.ts:159`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/permission-presets/src/index.ts)
1511
2179
 
1512
2180
  ```ts config-catalog
1513
2181
  /** The {@link PermissionPresetService} config: preset table and composition default. */
@@ -1515,14 +2183,15 @@ export interface Config {
1515
2183
  /**
1516
2184
  * The preset table: name → knob bundle. Defaults to `workspace-write`
1517
2185
  * (workspace-write + ask) and `danger-full-access` (danger-full-access +
1518
- * never). The name `custom` is reserved for the derived not-a-preset state.
2186
+ * never). The names `custom` and `auto` are reserved for derived state and
2187
+ * the Auto review integration respectively.
1519
2188
  */
1520
- presets?: Record<string, PresetSpec>
2189
+ presets: Record<string, PresetSpec>
1521
2190
  /**
1522
2191
  * Default for new sessions. When omitted, the preset matching the composed
1523
2192
  * sandbox and approval defaults is used.
1524
2193
  */
1525
- defaultPreset?: string
2194
+ defaultPreset: Volatile<string | undefined>
1526
2195
  }
1527
2196
 
1528
2197
  /** One preset's sandbox/approval bundle and optional client presentation. */
@@ -1537,40 +2206,45 @@ export interface PresetSpec {
1537
2206
  description?: string
1538
2207
  }
1539
2208
  ```
2209
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-permission-presets -->
1540
2210
 
1541
- Depends on: [`ApprovalPolicy`](./subsystems/approval.md) · [`SandboxMode`](./subsystems/sandbox.md)
1542
-
1543
- Source: [`packages/interaction/permission-presets/src/index.ts:143`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/permission-presets/src/index.ts)
1544
-
2211
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-persona -->
1545
2212
  <a id="deepseek-aidsh-persona"></a>
1546
2213
 
1547
2214
  ## `@deepseek-ai/dsh-persona`
1548
2215
 
1549
- Requires: `systemPrompt`
2216
+ - `inject`: `systemPrompt`
2217
+ - `source`: [`packages/preset/persona/src/index.ts:30`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/persona/src/index.ts)
1550
2218
 
1551
2219
  ```ts config-catalog
1552
2220
  /** Plugin config: the persona text this composition contributes. */
1553
2221
  export interface Config {
1554
2222
  /**
1555
- * Persona prose rendered as the `deployment:persona` section. A template:
2223
+ * Persona prose rendered as the `deployment:persona-prefix` section. A template:
1556
2224
  * complete `{{…}}` groups interpolate strictly against registered prompt
1557
2225
  * variables. Empty text drops the section at render, matching the registry.
1558
2226
  */
1559
- text: string
1560
- /** Make this persona the complete system prompt, suppressing every other section. */
2227
+ prefix: string
2228
+ /**
2229
+ * Persona suffix template rendered after first-party guidance. Omitted or empty
2230
+ * text shadows the deployment suffix away; interpolation is strict.
2231
+ */
2232
+ suffix?: string
2233
+ /** Make the prefix the complete system prompt, suppressing the suffix and every other section. */
1561
2234
  complete?: boolean
1562
2235
  /** Suppress dynamic runtime-context snapshots for this persona's agent scope. */
1563
2236
  includeRuntimeContext?: boolean
1564
2237
  }
1565
2238
  ```
2239
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-persona -->
1566
2240
 
1567
- Source: [`packages/preset/persona/src/index.ts:30`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/preset/persona/src/index.ts)
1568
-
2241
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-plan-mode -->
1569
2242
  <a id="deepseek-aidsh-plan-mode"></a>
1570
2243
 
1571
2244
  ## `@deepseek-ai/dsh-plan-mode`
1572
2245
 
1573
- Requires: `tools` · `systemPrompt` · `sessionProjections`
2246
+ - `inject`: `tools` · `systemPrompt` · `sessionProjections`
2247
+ - `source`: [`packages/plan/plan-mode/src/index.ts:69`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/plan/plan-mode/src/index.ts)
1574
2248
 
1575
2249
  ```ts config-catalog
1576
2250
  /** Deployment-owned plan guidance. */
@@ -1579,14 +2253,50 @@ export interface PlanModeConfig {
1579
2253
  section: string
1580
2254
  }
1581
2255
  ```
2256
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-plan-mode -->
2257
+
2258
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-plugin-manager -->
2259
+ <a id="deepseek-aidsh-plugin-manager"></a>
2260
+
2261
+ ## `@deepseek-ai/dsh-plugin-manager`
1582
2262
 
1583
- Source: [`packages/plan/plan-mode/src/index.ts:63`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/plan/plan-mode/src/index.ts)
2263
+ - `inject`: `loader` · `profileContext`
2264
+ - `source`: [`packages/boot/plugin-manager/src/index.ts:40`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/plugin-manager/src/index.ts)
2265
+
2266
+ ```ts config-catalog
2267
+ /** The pnpm executable, registries, and limits for diagnostics, lookups and connection checks. */
2268
+ export interface Config {
2269
+ /** The pnpm executable name or path; resolved through `PATH` like the `dsh plugin` command. */
2270
+ pnpmCommand?: string
2271
+ /** Maximum retained package-operation diagnostic bytes. */
2272
+ outputBytes?: number
2273
+ /** Maximum time to wait for another process's profile package operation. */
2274
+ lockWaitMs?: number
2275
+ /** Bound on one registry lookup an inspection runs, in milliseconds. */
2276
+ inspectTimeoutMs?: number
2277
+ /** Maximum duration of the GitHub repository connection check before installation, in milliseconds. */
2278
+ githubConnectionTimeoutMs?: number
2279
+ /** Maximum time one captured package run may print nothing before the manager terminates it, in milliseconds. */
2280
+ idleTimeoutMs?: number
2281
+ /** The registry lookups and installations ask first, as an http(s) URL; absent, the one pnpm's own configuration names. */
2282
+ registry?: string
2283
+ /**
2284
+ * Registries asked in turn, as http(s) URLs, while the one before is unreachable or holds no copy of the package.
2285
+ * A registry outside this set and `registry` is asked alone, and so is the one pnpm's own configuration names
2286
+ * unless that is npm's own registry or one of these.
2287
+ */
2288
+ fallbackRegistries?: string[]
2289
+ }
2290
+ ```
2291
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-plugin-manager -->
1584
2292
 
2293
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-plugin-package-inventory-deepseek -->
1585
2294
  <a id="deepseek-aidsh-plugin-package-inventory-deepseek"></a>
1586
2295
 
1587
2296
  ## `@deepseek-ai/dsh-plugin-package-inventory-deepseek`
1588
2297
 
1589
- Requires: `agents` · `deepseekLlmApiExtensions` · `loader`
2298
+ - `inject`: `agents` · `deepseekLlmApiExtensions` · `loader`
2299
+ - `source`: [`packages/llm/plugin-package-inventory-deepseek/src/index.ts:32`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/plugin-package-inventory-deepseek/src/index.ts)
1590
2300
 
1591
2301
  ```ts config-catalog
1592
2302
  /** Plugin-package request contribution configuration. */
@@ -1595,47 +2305,88 @@ export interface Config {
1595
2305
  enabled?: boolean
1596
2306
  }
1597
2307
  ```
2308
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-plugin-package-inventory-deepseek -->
2309
+
2310
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-ptc-runtime-node -->
2311
+ <a id="deepseek-aidsh-ptc-runtime-node"></a>
2312
+
2313
+ ## `@deepseek-ai/dsh-ptc-runtime-node`
2314
+
2315
+ - `inject`: `fs` · `subprocess` · `sandbox` · `sandboxPolicy`
2316
+ - `source`: [`packages/ptc-runtime/ptc-runtime-node/src/index.ts:26`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/ptc-runtime/ptc-runtime-node/src/index.ts)
2317
+
2318
+ ```ts config-catalog
2319
+ /** Deployment-varying runtime bounds and launch choices. */
2320
+ export interface Config extends LaunchConfig {
2321
+ /** Default elapsed deadline, including nested tool and approval waits. */
2322
+ timeoutMs?: number
2323
+ /** Maximum numeric elapsed budget accepted by resolve. */
2324
+ maxTimeoutMs?: number
2325
+ /** Combined serialized logs, completion and diagnostic byte cap. */
2326
+ maxOutputBytes?: number
2327
+ /** V8 old-generation heap limit in MiB; native allocations are excluded. */
2328
+ maxOldGenerationSizeMb?: number
2329
+ /** Maximum control frame, outstanding argument and queued control-output bytes. */
2330
+ maxMessageBytes?: number
2331
+ /** Maximum simultaneous host binding calls accepted from a program. */
2332
+ maxPendingCalls?: number
2333
+ /** Managed process termination and output-drain grace in milliseconds. */
2334
+ graceMs?: number
2335
+ }
1598
2336
 
1599
- Source: [`packages/llm/plugin-package-inventory-deepseek/src/index.ts:31`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/plugin-package-inventory-deepseek/src/index.ts)
2337
+ /** Deployment-owned Node executable and optional preinstalled built bootstrap. */
2338
+ export interface LaunchConfig {
2339
+ /** Executable in the subprocess world; defaults to the current Node executable. */
2340
+ nodeExecutable?: string
2341
+ /** Absolute preinstalled built bootstrap in the execution world. */
2342
+ bootstrapPath?: string
2343
+ }
2344
+ ```
2345
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-ptc-runtime-node -->
1600
2346
 
2347
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-pwsh-local -->
1601
2348
  <a id="deepseek-aidsh-pwsh-local"></a>
1602
2349
 
1603
2350
  ## `@deepseek-ai/dsh-pwsh-local`
1604
2351
 
1605
- Requires: `subprocess`
2352
+ - `inject`: `subprocess`
2353
+ - `refs`: `Volatile` (`@deepseek-ai/cordis`)
2354
+ - `source`: [`packages/shell/pwsh-local/src/index.ts:58`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/pwsh-local/src/index.ts)
1606
2355
 
1607
2356
  ```ts config-catalog
1608
- /** Plugin config (all optional — `static Config` supplies the defaults). */
2357
+ /** Validated plugin configuration with live command budgets. */
1609
2358
  export interface Config {
1610
2359
  /** Default working directory for commands (default: process.cwd()). */
1611
- cwd?: string
2360
+ cwd: Volatile<string | undefined>
1612
2361
  /** Default foreground timeout in milliseconds. */
1613
- timeoutMs?: number
2362
+ timeoutMs: Volatile<number>
1614
2363
  /** Upper bound for per-call timeout overrides. */
1615
- maxTimeoutMs?: number
2364
+ maxTimeoutMs: Volatile<number>
1616
2365
  /** Per-stream in-memory output cap; overflow spills to a temp file. */
1617
- maxOutputBytes?: number
2366
+ maxOutputBytes: Volatile<number>
1618
2367
  /** Per-stream spill-file cap; larger streams retain only their in-memory tail. */
1619
- maxSpillBytes?: number
2368
+ maxSpillBytes: Volatile<number>
1620
2369
  /** Grace period for kill escalation and inherited pipes; at most `MAX_TIMER_DELAY_MS`. */
1621
- graceMs?: number
2370
+ graceMs: Volatile<number>
1622
2371
  /**
1623
2372
  * Explicit pwsh executable. When omitted, well-known Windows install
1624
2373
  * locations and PATH entries are probed in order (PowerShell 7 install,
1625
2374
  * PATH entries such as the Microsoft Store install, then Windows
1626
2375
  * PowerShell 5.1), falling back to a bare `pwsh` resolved through PATH.
1627
2376
  */
1628
- pwshPath?: string
2377
+ pwshPath: Volatile<string | undefined>
1629
2378
  }
1630
2379
  ```
2380
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-pwsh-local -->
1631
2381
 
1632
- Source: [`packages/shell/pwsh-local/src/index.ts:58`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/pwsh-local/src/index.ts)
1633
-
2382
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-pwsh-sandbox -->
1634
2383
  <a id="deepseek-aidsh-pwsh-sandbox"></a>
1635
2384
 
1636
2385
  ## `@deepseek-ai/dsh-pwsh-sandbox`
1637
2386
 
1638
- Requires: `subprocess` · `sandbox` · `sandboxPolicy`
2387
+ - `inject`: `subprocess` · `sandbox` · `sandboxPolicy`
2388
+ - `refs`: [`LocalConfig`](#deepseek-aidsh-pwsh-local)
2389
+ - `source`: [`packages/shell/pwsh-sandbox/src/index.ts:40`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/pwsh-sandbox/src/index.ts)
1639
2390
 
1640
2391
  ```ts config-catalog
1641
2392
  /**
@@ -1648,15 +2399,15 @@ Requires: `subprocess` · `sandbox` · `sandboxPolicy`
1648
2399
  */
1649
2400
  export type Config = LocalConfig
1650
2401
  ```
2402
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-pwsh-sandbox -->
1651
2403
 
1652
- Depends on: [`LocalConfig`](#deepseek-aidsh-pwsh-local)
1653
-
1654
- Source: [`packages/shell/pwsh-sandbox/src/index.ts:40`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/pwsh-sandbox/src/index.ts)
1655
-
2404
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-repeat-tool-reminder -->
1656
2405
  <a id="deepseek-aidsh-repeat-tool-reminder"></a>
1657
2406
 
1658
2407
  ## `@deepseek-ai/dsh-repeat-tool-reminder`
1659
2408
 
2409
+ - `source`: [`packages/guard/repeat-tool-reminder/src/index.ts:35`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/guard/repeat-tool-reminder/src/index.ts)
2410
+
1660
2411
  ```ts config-catalog
1661
2412
  /**
1662
2413
  * Plugin config, validated by the same-named schemastery schema plus the
@@ -1684,13 +2435,15 @@ export interface Config {
1684
2435
  argumentsPreviewChars?: number
1685
2436
  }
1686
2437
  ```
2438
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-repeat-tool-reminder -->
1687
2439
 
1688
- Source: [`packages/guard/repeat-tool-reminder/src/index.ts:28`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/guard/repeat-tool-reminder/src/index.ts)
1689
-
2440
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-sandbox-local -->
1690
2441
  <a id="deepseek-aidsh-sandbox-local"></a>
1691
2442
 
1692
2443
  ## `@deepseek-ai/dsh-sandbox-local`
1693
2444
 
2445
+ - `source`: [`packages/sandbox/sandbox-local/src/index.ts:45`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox-local/src/index.ts)
2446
+
1694
2447
  ```ts config-catalog
1695
2448
  /** Plugin config. All optional — `static Config` supplies the defaults. */
1696
2449
  export interface Config {
@@ -1716,14 +2469,16 @@ export interface Config {
1716
2469
  probeTimeoutMs?: number
1717
2470
  }
1718
2471
  ```
2472
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-sandbox-local -->
1719
2473
 
1720
- Source: [`packages/sandbox/sandbox-local/src/index.ts:44`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox-local/src/index.ts)
1721
-
2474
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-sandbox-policy -->
1722
2475
  <a id="deepseek-aidsh-sandbox-policy"></a>
1723
2476
 
1724
2477
  ## `@deepseek-ai/dsh-sandbox-policy`
1725
2478
 
1726
- Requires: `sessionProjections`
2479
+ - `inject`: `sessionProjections`
2480
+ - `refs`: [`SandboxMode`](./subsystems/sandbox.md)
2481
+ - `source`: [`packages/sandbox/sandbox-policy/src/index.ts:71`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox-policy/src/index.ts)
1727
2482
 
1728
2483
  ```ts config-catalog
1729
2484
  /**
@@ -1737,22 +2492,46 @@ export interface Config {
1737
2492
  /** File-sandbox mode a session starts from (default: `read-only`). */
1738
2493
  mode?: SandboxMode
1739
2494
  /**
1740
- * Fallback root for agentless calls and sessions without a cwd (default:
2495
+ * Absolute fallback root for agentless calls and sessions without a cwd (default:
1741
2496
  * `process.cwd()`). Normal agent calls use their session cwd instead.
1742
2497
  */
1743
2498
  workspaceRoot?: string
1744
2499
  }
1745
2500
  ```
2501
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-sandbox-policy -->
2502
+
2503
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-schedule -->
2504
+ <a id="deepseek-aidsh-schedule"></a>
2505
+
2506
+ ## `@deepseek-ai/dsh-schedule`
1746
2507
 
1747
- Depends on: [`SandboxMode`](./subsystems/sandbox.md)
2508
+ - `inject`: `agents` · `sessions` · `storageDomain` · `sessionController` · `sessionPersistence`
2509
+ - `source`: [`packages/schedule/schedule/src/index.ts:72`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/schedule/schedule/src/index.ts)
1748
2510
 
1749
- Source: [`packages/sandbox/sandbox-policy/src/index.ts:70`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox-policy/src/index.ts)
2511
+ ```ts config-catalog
2512
+ /** Configuration for the Host Schedule domain. */
2513
+ export interface Config {
2514
+ /**
2515
+ * Delivery-history window retained per task, in days; omission defaults to 30.
2516
+ * Pruning happens when an acknowledgment is appended, and `lastDelivery` is always retained.
2517
+ */
2518
+ deliveryHistoryDays?: number
2519
+ /**
2520
+ * Retained delivery records per task; omission defaults to 200. The older of this
2521
+ * cap and the window wins, and the newest records survive.
2522
+ */
2523
+ deliveryHistoryRecords?: number
2524
+ }
2525
+ ```
2526
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-schedule -->
1750
2527
 
2528
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-sdk-app -->
1751
2529
  <a id="deepseek-aidsh-sdk-app"></a>
1752
2530
 
1753
2531
  ## `@deepseek-ai/dsh-sdk-app`
1754
2532
 
1755
- Requires: `cmdlineArgs`
2533
+ - `inject`: `cmdlineArgs`
2534
+ - `source`: [`packages/bundle/sdk-app/src/index.ts:23`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/sdk-app/src/index.ts)
1756
2535
 
1757
2536
  ```ts config-catalog
1758
2537
  /** SDK stdio startup configuration. */
@@ -1761,14 +2540,16 @@ export interface Config {
1761
2540
  profile?: string
1762
2541
  }
1763
2542
  ```
2543
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-sdk-app -->
1764
2544
 
1765
- Source: [`packages/bundle/sdk-app/src/index.ts:23`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/sdk-app/src/index.ts)
1766
-
2545
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-sdk-jsonrpc-server -->
1767
2546
  <a id="deepseek-aidsh-sdk-jsonrpc-server"></a>
1768
2547
 
1769
2548
  ## `@deepseek-ai/dsh-sdk-jsonrpc-server`
1770
2549
 
1771
- Requires: `agents`
2550
+ - `inject`: `agents`
2551
+ - `refs`: `Readable` (`node:stream`) · `Writable` (`node:stream`)
2552
+ - `source`: [`packages/sdk/server/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sdk/server/src/index.ts)
1772
2553
 
1773
2554
  ```ts config-catalog
1774
2555
  /** JSON-RPC deployment config plus runtime-only test hooks. */
@@ -1783,32 +2564,39 @@ export interface JsonRpcConfig {
1783
2564
  exit?: (code: number) => void
1784
2565
  }
1785
2566
  ```
2567
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-sdk-jsonrpc-server -->
1786
2568
 
1787
- Depends on: `Readable` (`node:stream`) · `Writable` (`node:stream`)
1788
-
1789
- Source: [`packages/sdk/server/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sdk/server/src/index.ts)
1790
-
2569
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-session-log-deepseek -->
1791
2570
  <a id="deepseek-aidsh-session-log-deepseek"></a>
1792
2571
 
1793
2572
  ## `@deepseek-ai/dsh-session-log-deepseek`
1794
2573
 
1795
- Requires: `deepseekLlmApiExtensions` · `sessions`
2574
+ - `inject`: `deepseekLlmApiExtensions` · `sessions`
2575
+ - `refs`: `Volatile` (`@deepseek-ai/cordis`)
2576
+ - `source`: [`packages/session/session-log-deepseek/src/index.ts:39`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-log-deepseek/src/index.ts)
1796
2577
 
1797
2578
  ```ts config-catalog
1798
2579
  /** Session-log request contribution configuration. */
1799
2580
  export interface Config {
1800
- /** Contribute `dsh_session_log` to official DeepSeek requests. Defaults to `false`. */
1801
- enabled?: boolean
2581
+ /** Contribute `dsh_session_log` to official DeepSeek requests. Defaults to `true`. */
2582
+ enabled: Volatile<boolean>
2583
+ /**
2584
+ * Largest serialized `dsh_session_log` field, in UTF-8 bytes, that one request carries.
2585
+ * A request uploads the longest pending event prefix that fits; later requests continue
2586
+ * after its acceptance. Defaults to 8 MiB.
2587
+ */
2588
+ maxBytes: number
1802
2589
  }
1803
2590
  ```
2591
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-session-log-deepseek -->
1804
2592
 
1805
- Source: [`packages/session/session-log-deepseek/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-log-deepseek/src/index.ts)
1806
-
2593
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-session-log-export -->
1807
2594
  <a id="deepseek-aidsh-session-log-export"></a>
1808
2595
 
1809
2596
  ## `@deepseek-ai/dsh-session-log-export`
1810
2597
 
1811
- Requires: `commands` · `connection`
2598
+ - `inject`: `commands` · `connection`
2599
+ - `source`: [`packages/session-query/session-log-export/src/index.ts:46`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-log-export/src/index.ts)
1812
2600
 
1813
2601
  ```ts config-catalog
1814
2602
  /** Session-log archive policy. */
@@ -1820,13 +2608,15 @@ export interface Config {
1820
2608
  /** Valid fflate DEFLATE levels accepted by session-log export. */
1821
2609
  export type SessionLogCompressionLevel = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
1822
2610
  ```
2611
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-session-log-export -->
1823
2612
 
1824
- Source: [`packages/session-query/session-log-export/src/index.ts:45`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-log-export/src/index.ts)
1825
-
2613
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-session-persistence-jsonl -->
1826
2614
  <a id="deepseek-aidsh-session-persistence-jsonl"></a>
1827
2615
 
1828
2616
  ## `@deepseek-ai/dsh-session-persistence-jsonl`
1829
2617
 
2618
+ - `source`: [`packages/session/session-persistence-jsonl/src/index.ts:90`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-persistence-jsonl/src/index.ts)
2619
+
1830
2620
  ```ts config-catalog
1831
2621
  /** Plugin config for the JSONL backend's root and physical encoding. */
1832
2622
  export interface Config {
@@ -1845,14 +2635,15 @@ export interface Config {
1845
2635
  /** Physical encoding selected for JSONL session artifacts. */
1846
2636
  export type JsonlCompression = 'zstd' | 'none'
1847
2637
  ```
2638
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-session-persistence-jsonl -->
1848
2639
 
1849
- Source: [`packages/session/session-persistence-jsonl/src/index.ts:86`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-persistence-jsonl/src/index.ts)
1850
-
2640
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-session-projection-cache -->
1851
2641
  <a id="deepseek-aidsh-session-projection-cache"></a>
1852
2642
 
1853
2643
  ## `@deepseek-ai/dsh-session-projection-cache`
1854
2644
 
1855
- Requires: `storageDomain` · `sessionProjections` · `sessions`
2645
+ - `inject`: `storageDomain` · `sessionProjections` · `sessions`
2646
+ - `source`: [`packages/session/session-projection-cache/src/index.ts:75`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-projection-cache/src/index.ts)
1856
2647
 
1857
2648
  ```ts config-catalog
1858
2649
  /**
@@ -1869,14 +2660,16 @@ export interface Config {
1869
2660
  writeIntervalMs: number
1870
2661
  }
1871
2662
  ```
2663
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-session-projection-cache -->
1872
2664
 
1873
- Source: [`packages/session/session-projection-cache/src/index.ts:63`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-projection-cache/src/index.ts)
1874
-
2665
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-session-query-sqlite -->
1875
2666
  <a id="deepseek-aidsh-session-query-sqlite"></a>
1876
2667
 
1877
2668
  ## `@deepseek-ai/dsh-session-query-sqlite`
1878
2669
 
1879
- Requires: `sessions`
2670
+ - `inject`: `sessions`
2671
+ - `refs`: [`SessionQueryConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-query/src/index.ts)
2672
+ - `source`: [`packages/session-query/session-query-sqlite/src/index.ts:92`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-query-sqlite/src/index.ts)
1880
2673
 
1881
2674
  ```ts config-catalog
1882
2675
  /** Combined session-query configuration backed by SQLite full-text search. */
@@ -1915,16 +2708,15 @@ export type OpenAt = 'startup' | 'first-search' | 'never'
1915
2708
  /** Supported SQLite journal modes. */
1916
2709
  export type JournalMode = 'wal' | 'delete' | 'truncate' | 'persist'
1917
2710
  ```
2711
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-session-query-sqlite -->
1918
2712
 
1919
- Depends on: [`SessionQueryConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-query/src/index.ts)
1920
-
1921
- Source: [`packages/session-query/session-query-sqlite/src/index.ts:92`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-query-sqlite/src/index.ts)
1922
-
2713
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-session-reference -->
1923
2714
  <a id="deepseek-aidsh-session-reference"></a>
1924
2715
 
1925
2716
  ## `@deepseek-ai/dsh-session-reference`
1926
2717
 
1927
- Requires: `sessionQuery`
2718
+ - `inject`: `sessionQuery`
2719
+ - `source`: [`packages/context/session-reference/src/config.ts:11`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/session-reference/src/config.ts)
1928
2720
 
1929
2721
  ```ts config-catalog
1930
2722
  /** Session-reference service configuration. */
@@ -1933,64 +2725,66 @@ export interface Config {
1933
2725
  maxReferences?: number
1934
2726
  /** Default host candidate-list limit. */
1935
2727
  candidateLimit?: number
1936
- /** Maximum rendered UTF-8 bytes for one source snapshot. */
2728
+ /** Explicit maximum rendered UTF-8 bytes per source; absent uses the model-relative budget with a 64 KiB floor. */
1937
2729
  maxReferenceBytes?: number
2730
+ /** Fraction of the model context window per source, estimated at four bytes per token; between zero and one. */
2731
+ referenceContextFraction?: number
1938
2732
  }
1939
2733
  ```
2734
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-session-reference -->
1940
2735
 
1941
- Source: [`packages/context/session-reference/src/config.ts:11`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/session-reference/src/config.ts)
1942
-
2736
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-session-telemetry-otel -->
1943
2737
  <a id="deepseek-aidsh-session-telemetry-otel"></a>
1944
2738
 
1945
2739
  ## `@deepseek-ai/dsh-session-telemetry-otel`
1946
2740
 
1947
- Requires: `sessions`
2741
+ - `inject`: `sessions` · `otel`
2742
+ - `refs`: `BatchLogRecordProcessorOptions` (`@opentelemetry/sdk-logs`) · `OTLPExporterNodeConfigBase` (`@opentelemetry/otlp-exporter-base`)
2743
+ - `source`: [`packages/session/session-telemetry-otel/src/index.ts:87`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-telemetry-otel/src/index.ts)
1948
2744
 
1949
2745
  ```ts config-catalog
1950
2746
  /**
1951
- * Plugin configuration: one sharing policy, two verbatim SDK option objects,
1952
- * and one DSH-owned shutdown bound. Uploading modes validate their endpoint
2747
+ * Plugin configuration: sharing policy, SDK transport options, byte/count queue
2748
+ * settings, and an overall shutdown bound. Uploading modes validate their endpoint
1953
2749
  * and shutdown deadline at plugin load; `DISABLED` reads neither.
1954
2750
  */
1955
2751
  export interface Config {
1956
- /** Sharing policy; defaults to local-only `DISABLED` behavior. */
2752
+ /** Defaults to `FEEDBACK_ONLY`: capture session history only when feedback is explicitly submitted. */
1957
2753
  mode?: SessionTelemetryMode
1958
2754
  /**
1959
- * Passed verbatim to the SDK's OTLP/HTTP log exporter — the complete
1960
- * `OTLPExporterNodeConfigBase` shape (`headers`, `timeoutMillis`,
1961
- * `compression`, `keepAlive`, …), owned and documented by the SDK. `url`
1962
- * is the one field this package requires and validates itself.
2755
+ * Explicit SDK HTTP transport settings, including optional routing headers.
2756
+ * Ambient credentials are not inherited. URL is required while uploading.
1963
2757
  */
1964
2758
  exporter?: OTLPExporterNodeConfigBase & {
1965
2759
  /** Full logs endpoint (e.g. `https://collector.example.com/v1/logs`). Required outside `DISABLED`; validated at load. */
1966
2760
  url?: string
1967
2761
  }
1968
2762
  /**
1969
- * Passed verbatim to `BatchLogRecordProcessor` (minus the exporter slot,
1970
- * which this plugin fills); the SDK owns and documents these knobs.
2763
+ * Count, queue, cadence, and per-request watchdog settings for the byte-bounded
2764
+ * processor. A watchdog warning never releases an unsettled transport slot.
1971
2765
  */
1972
2766
  processor?: Omit<BatchLogRecordProcessorOptions, 'exporter'>
1973
2767
  /** Maximum time spent awaiting the SDK provider's complete shutdown path. */
1974
2768
  shutdownTimeoutMillis?: number
2769
+ /** Uncompressed OTLP request byte limit, at most 4,000,000. */
2770
+ maxRequestBytes?: number
1975
2771
  }
1976
2772
 
1977
2773
  /** Session-sharing policy selected by {@link Config.mode}. */
1978
2774
  export enum SessionTelemetryMode {
1979
- FULL = 'FULL',
1980
2775
  FEEDBACK_ONLY = 'FEEDBACK_ONLY',
1981
2776
  DISABLED = 'DISABLED',
1982
2777
  }
1983
2778
  ```
2779
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-session-telemetry-otel -->
1984
2780
 
1985
- Depends on: `BatchLogRecordProcessorOptions` (`@opentelemetry/sdk-logs`) · `OTLPExporterNodeConfigBase` (`@opentelemetry/otlp-exporter-base`)
1986
-
1987
- Source: [`packages/session/session-telemetry-otel/src/index.ts:91`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-telemetry-otel/src/index.ts)
1988
-
2781
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-session-title -->
1989
2782
  <a id="deepseek-aidsh-session-title"></a>
1990
2783
 
1991
2784
  ## `@deepseek-ai/dsh-session-title`
1992
2785
 
1993
- Requires: `sessions` · `sessionProjections`
2786
+ - `inject`: `sessions` · `sessionProjections`
2787
+ - `source`: [`packages/session/session-title/src/index.ts:56`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title/src/index.ts)
1994
2788
 
1995
2789
  ```ts config-catalog
1996
2790
  /** Required deterministic fallback and accepted-title limits. */
@@ -2003,63 +2797,45 @@ export interface Config {
2003
2797
  readonly maxTitleBytes: number
2004
2798
  }
2005
2799
  ```
2800
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-session-title -->
2006
2801
 
2007
- Source: [`packages/session/session-title/src/index.ts:56`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title/src/index.ts)
2008
-
2802
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-session-title-all-prompts-llm -->
2009
2803
  <a id="deepseek-aidsh-session-title-all-prompts-llm"></a>
2010
2804
 
2011
2805
  ## `@deepseek-ai/dsh-session-title-all-prompts-llm`
2012
2806
 
2013
- Requires: `sessionTitle` · `llm` · `sessions`
2807
+ - `inject`: `sessionTitle` · `llm` · `sessions`
2808
+ - `refs`: [`SessionTitleLlmConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-llm/src/index.ts)
2809
+ - `source`: [`packages/session/session-title-all-prompts-llm/src/index.ts:15`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-all-prompts-llm/src/index.ts)
2014
2810
 
2015
2811
  ```ts config-catalog
2016
2812
  /** Required LLM policy; this plugin adds no defaults. */
2017
2813
  export type Config = SessionTitleLlmConfig
2018
2814
  ```
2815
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-session-title-all-prompts-llm -->
2019
2816
 
2020
- Depends on: [`SessionTitleLlmConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-llm/src/index.ts)
2021
-
2022
- Source: [`packages/session/session-title-all-prompts-llm/src/index.ts:15`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-all-prompts-llm/src/index.ts)
2023
-
2817
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-session-title-first-prompt-llm -->
2024
2818
  <a id="deepseek-aidsh-session-title-first-prompt-llm"></a>
2025
2819
 
2026
2820
  ## `@deepseek-ai/dsh-session-title-first-prompt-llm`
2027
2821
 
2028
- Requires: `sessionTitle` · `llm` · `sessions`
2822
+ - `inject`: `sessionTitle` · `llm` · `sessions`
2823
+ - `refs`: [`SessionTitleLlmConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-llm/src/index.ts)
2824
+ - `source`: [`packages/session/session-title-first-prompt-llm/src/index.ts:15`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-first-prompt-llm/src/index.ts)
2029
2825
 
2030
2826
  ```ts config-catalog
2031
2827
  /** Required LLM policy; this plugin adds no defaults. */
2032
2828
  export type Config = SessionTitleLlmConfig
2033
2829
  ```
2830
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-session-title-first-prompt-llm -->
2034
2831
 
2035
- Depends on: [`SessionTitleLlmConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-llm/src/index.ts)
2036
-
2037
- Source: [`packages/session/session-title-first-prompt-llm/src/index.ts:15`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-first-prompt-llm/src/index.ts)
2038
-
2039
- <a id="deepseek-aidsh-settings-file"></a>
2040
-
2041
- ## `@deepseek-ai/dsh-settings-file`
2042
-
2043
- ```ts config-catalog
2044
- /** Plugin config: file location and hot-reload behavior. */
2045
- export interface Config {
2046
- /** Settings document path; defaults to `settings.yaml` under the harness home. */
2047
- path?: string
2048
- /** Harness home used when `path` is omitted; defaults to `$DSH_HOME` or `~/.dsh`. */
2049
- dshHome?: string
2050
- /** Watch the document and hot-publish external edits; defaults to true. */
2051
- watch?: boolean
2052
- /** Watcher write-settle window in milliseconds; defaults to 100. */
2053
- debounceMs?: number
2054
- }
2055
- ```
2056
-
2057
- Source: [`packages/settings/settings-file/src/index.ts:22`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/settings/settings-file/src/index.ts)
2058
-
2832
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-shell-env -->
2059
2833
  <a id="deepseek-aidsh-shell-env"></a>
2060
2834
 
2061
2835
  ## `@deepseek-ai/dsh-shell-env`
2062
2836
 
2837
+ - `source`: [`packages/shell/shell-env/src/index.ts:30`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/shell-env/src/index.ts)
2838
+
2063
2839
  ```ts config-catalog
2064
2840
  /** Plugin config (all optional — the built-in facts resolve without defaults). */
2065
2841
  export interface Config {
@@ -2067,13 +2843,15 @@ export interface Config {
2067
2843
  dshHome?: string
2068
2844
  }
2069
2845
  ```
2846
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-shell-env -->
2070
2847
 
2071
- Source: [`packages/shell/shell-env/src/index.ts:28`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/shell-env/src/index.ts)
2072
-
2848
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-skill -->
2073
2849
  <a id="deepseek-aidsh-skill"></a>
2074
2850
 
2075
2851
  ## `@deepseek-ai/dsh-skill`
2076
2852
 
2853
+ - `source`: [`packages/skill/skill/src/index.ts:278`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill/src/index.ts)
2854
+
2077
2855
  ```ts config-catalog
2078
2856
  /** Skill registry configuration. */
2079
2857
  export interface Config {
@@ -2081,14 +2859,15 @@ export interface Config {
2081
2859
  readonly collectCacheMaxEntries?: number
2082
2860
  }
2083
2861
  ```
2862
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-skill -->
2084
2863
 
2085
- Source: [`packages/skill/skill/src/index.ts:280`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill/src/index.ts)
2086
-
2864
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-skill-filesystem -->
2087
2865
  <a id="deepseek-aidsh-skill-filesystem"></a>
2088
2866
 
2089
2867
  ## `@deepseek-ai/dsh-skill-filesystem`
2090
2868
 
2091
- Requires: `skills`
2869
+ - `inject`: `skills`
2870
+ - `source`: [`packages/skill/skill-filesystem/src/index.ts:49`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill-filesystem/src/index.ts)
2092
2871
 
2093
2872
  ```ts config-catalog
2094
2873
  /** Local filesystem skill provider configuration. */
@@ -2119,13 +2898,36 @@ export interface Config {
2119
2898
  bundledSkillDir?: string
2120
2899
  }
2121
2900
  ```
2901
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-skill-filesystem -->
2902
+
2903
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-skill-office -->
2904
+ <a id="deepseek-aidsh-skill-office"></a>
2905
+
2906
+ ## `@deepseek-ai/dsh-skill-office`
2122
2907
 
2123
- Source: [`packages/skill/skill-filesystem/src/index.ts:49`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill-filesystem/src/index.ts)
2908
+ - `inject`: `skills`
2909
+ - `source`: [`packages/skill/skill-office/src/index.ts:16`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill-office/src/index.ts)
2910
+
2911
+ ```ts config-catalog
2912
+ /** Office skill resource location. */
2913
+ export interface Config {
2914
+ /** Absolute assets directory containing the three skill folders and shared scripts; defaults to packaged assets. */
2915
+ assetRoot?: string
2916
+ /** Standalone Node executable; defaults to the current executable outside Electron and SEA. */
2917
+ node?: string
2918
+ /** Absolute LibreOffice Kit CLI entry; false explicitly disables CLI access. */
2919
+ cli?: string | false
2920
+ }
2921
+ ```
2922
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-skill-office -->
2124
2923
 
2924
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-spill-local -->
2125
2925
  <a id="deepseek-aidsh-spill-local"></a>
2126
2926
 
2127
2927
  ## `@deepseek-ai/dsh-spill-local`
2128
2928
 
2929
+ - `source`: [`packages/spill/spill-local/src/index.ts:31`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/spill/spill-local/src/index.ts)
2930
+
2129
2931
  ```ts config-catalog
2130
2932
  /** Plugin config (all optional — `static Config` supplies the defaults). */
2131
2933
  export interface Config {
@@ -2148,34 +2950,68 @@ export interface Config {
2148
2950
  cleanupPeriodDays?: number
2149
2951
  }
2150
2952
  ```
2953
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-spill-local -->
2151
2954
 
2152
- Source: [`packages/spill/spill-local/src/index.ts:31`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/spill/spill-local/src/index.ts)
2153
-
2955
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-spill-policy -->
2154
2956
  <a id="deepseek-aidsh-spill-policy"></a>
2155
2957
 
2156
2958
  ## `@deepseek-ai/dsh-spill-policy`
2157
2959
 
2158
- Requires: `tools`
2960
+ - `inject`: `tools`
2961
+ - `source`: [`packages/spill/spill-policy/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/spill/spill-policy/src/index.ts)
2159
2962
 
2160
2963
  ```ts config-catalog
2161
- /** Plugin config. */
2964
+ /** Optional result-retention budget. */
2162
2965
  export interface Config {
2163
- /**
2164
- * The model-facing context cap for a plain-text tool result, in UTF-8 bytes.
2165
- * Omitted disables the policy entirely (no-op). When set, a result larger than
2166
- * this is spilled and replaced with a preview derived from this same budget.
2167
- */
2168
- maxInlineBytes?: number
2966
+ /** Maximum estimated tokens in a retained result, including image descriptors and omission notices. Omitted disables retention. */
2967
+ maxInlineTokens?: number
2169
2968
  }
2170
2969
  ```
2970
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-spill-policy -->
2971
+
2972
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-ssh -->
2973
+ <a id="deepseek-aidsh-ssh"></a>
2974
+
2975
+ ## `@deepseek-ai/dsh-ssh`
2171
2976
 
2172
- Source: [`packages/spill/spill-policy/src/index.ts:60`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/spill/spill-policy/src/index.ts)
2977
+ - `source`: [`packages/ssh/ssh/src/index.ts:17`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/ssh/ssh/src/index.ts)
2173
2978
 
2979
+ ```ts config-catalog
2980
+ /** Deployment-owned SSH identity and installed helper; no model argument selects these values. */
2981
+ export interface Config {
2982
+ /** OpenSSH host alias, including its existing user, key and known-host configuration. */
2983
+ host: string
2984
+ /** Absolute remote Node executable. */
2985
+ node: string
2986
+ /** Absolute path to the installed, bundled helper entry. */
2987
+ helper: string
2988
+ /** SHA-256 of that bundled helper; mismatches refuse the connection. */
2989
+ helperHash: string
2990
+ /** Absolute remote default workspace. */
2991
+ workspace: string
2992
+ /** Optional preinstalled built PTC entry, paired with its expected digest. */
2993
+ bootstrapPath?: string
2994
+ /** SHA-256 of bootstrapPath; both fields must be supplied together. */
2995
+ bootstrapHash?: string
2996
+ /** Connection and administrative-request deadline, at most 2,147,483,647 milliseconds. */
2997
+ requestTimeoutMs?: number
2998
+ /** Maximum JSON payload bytes per helper request or response. */
2999
+ maxFrameBytes?: number
3000
+ /** Maximum ordinary requests; heartbeat and bounded resource cleanup have reserved capacity. */
3001
+ maxPending?: number
3002
+ /** Remote helper lease; loss of heartbeats starts remote managed cleanup. */
3003
+ leaseMs?: number
3004
+ }
3005
+ ```
3006
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-ssh -->
3007
+
3008
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-storage-domain -->
2174
3009
  <a id="deepseek-aidsh-storage-domain"></a>
2175
3010
 
2176
3011
  ## `@deepseek-ai/dsh-storage-domain`
2177
3012
 
2178
- Requires: `storage`
3013
+ - `inject`: `storage`
3014
+ - `source`: [`packages/storage/storage-domain/src/index.ts:52`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage-domain/src/index.ts)
2179
3015
 
2180
3016
  ```ts config-catalog
2181
3017
  /**
@@ -2191,14 +3027,15 @@ export interface Config {
2191
3027
  routes?: Record<string, string>
2192
3028
  }
2193
3029
  ```
3030
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-storage-domain -->
2194
3031
 
2195
- Source: [`packages/storage/storage-domain/src/index.ts:52`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage-domain/src/index.ts)
2196
-
3032
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-storage-json -->
2197
3033
  <a id="deepseek-aidsh-storage-json"></a>
2198
3034
 
2199
3035
  ## `@deepseek-ai/dsh-storage-json`
2200
3036
 
2201
- Requires: `storage`
3037
+ - `inject`: `storage`
3038
+ - `source`: [`packages/storage/storage-json/src/index.ts:28`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage-json/src/index.ts)
2202
3039
 
2203
3040
  ```ts config-catalog
2204
3041
  /**
@@ -2212,14 +3049,15 @@ export interface Config {
2212
3049
  root: string
2213
3050
  }
2214
3051
  ```
3052
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-storage-json -->
2215
3053
 
2216
- Source: [`packages/storage/storage-json/src/index.ts:28`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage-json/src/index.ts)
2217
-
3054
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-storage-sqlite -->
2218
3055
  <a id="deepseek-aidsh-storage-sqlite"></a>
2219
3056
 
2220
3057
  ## `@deepseek-ai/dsh-storage-sqlite`
2221
3058
 
2222
- Requires: `storage`
3059
+ - `inject`: `storage`
3060
+ - `source`: [`packages/storage/storage-sqlite/src/index.ts:24`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage-sqlite/src/index.ts)
2223
3061
 
2224
3062
  ```ts config-catalog
2225
3063
  /** Plugin configuration. */
@@ -2252,14 +3090,34 @@ export interface Config {
2252
3090
  */
2253
3091
  export type JournalMode = 'wal' | 'delete' | 'truncate' | 'persist'
2254
3092
  ```
3093
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-storage-sqlite -->
3094
+
3095
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-subagent -->
3096
+ <a id="deepseek-aidsh-subagent"></a>
2255
3097
 
2256
- Source: [`packages/storage/storage-sqlite/src/index.ts:24`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage-sqlite/src/index.ts)
3098
+ ## `@deepseek-ai/dsh-subagent`
2257
3099
 
3100
+ - `refs`: `Volatile` (`@deepseek-ai/cordis`)
3101
+ - `source`: [`packages/subagent/subagent/src/index.ts:190`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent/src/index.ts)
3102
+
3103
+ ```ts config-catalog
3104
+ /** Host configuration for continuable subagent capacity. */
3105
+ export interface Config {
3106
+ /** Maximum live children sharing uninterrupted continuable parent links; defaults to 8. */
3107
+ maxActiveSubagents: Volatile<number>
3108
+ /** Default delegation depth for tools without an explicit limit; defaults to 1. */
3109
+ maxDepth: Volatile<number>
3110
+ }
3111
+ ```
3112
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-subagent -->
3113
+
3114
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-subagent-acp -->
2258
3115
  <a id="deepseek-aidsh-subagent-acp"></a>
2259
3116
 
2260
3117
  ## `@deepseek-ai/dsh-subagent-acp`
2261
3118
 
2262
- Requires: `subagents` · `subprocess`
3119
+ - `inject`: `subagents` · `subprocess`
3120
+ - `source`: [`packages/subagent/subagent-acp/src/index.ts:27`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-acp/src/index.ts)
2263
3121
 
2264
3122
  ```ts config-catalog
2265
3123
  /** Config: how to spawn and drive the child ACP agent process. */
@@ -2305,14 +3163,15 @@ export interface Config {
2305
3163
  /** Fixed response to child permission requests: reject by default, or select the first allow option. */
2306
3164
  export type PermissionPolicy = 'allow' | 'reject'
2307
3165
  ```
3166
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-subagent-acp -->
2308
3167
 
2309
- Source: [`packages/subagent/subagent-acp/src/index.ts:27`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-acp/src/index.ts)
2310
-
3168
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-subagent-claude-code -->
2311
3169
  <a id="deepseek-aidsh-subagent-claude-code"></a>
2312
3170
 
2313
3171
  ## `@deepseek-ai/dsh-subagent-claude-code`
2314
3172
 
2315
- Requires: `subagents` · `subprocess`
3173
+ - `inject`: `subagents` · `subprocess`
3174
+ - `source`: [`packages/subagent/subagent-claude-code/src/index.ts:38`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-claude-code/src/index.ts)
2316
3175
 
2317
3176
  ```ts config-catalog
2318
3177
  /** Deployment-owned model, permission, environment, and process-release settings. */
@@ -2333,21 +3192,22 @@ export interface Config {
2333
3192
  * `bypassPermissions` explicitly skips permission checks.
2334
3193
  */
2335
3194
  permissionMode?: ClaudeCodePermissionMode
2336
- /** Grace in milliseconds for Claude Code process-tree termination. */
3195
+ /** Grace in milliseconds between Claude Code managed-range termination tiers. */
2337
3196
  disposeGraceMs?: number
2338
3197
  }
2339
3198
 
2340
3199
  /** Profile-selectable non-interactive Claude Code permission mode. */
2341
3200
  export type ClaudeCodePermissionMode = typeof CLAUDE_CODE_PERMISSION_MODES[number]
2342
3201
  ```
3202
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-subagent-claude-code -->
2343
3203
 
2344
- Source: [`packages/subagent/subagent-claude-code/src/index.ts:38`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-claude-code/src/index.ts)
2345
-
3204
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-subagent-codex -->
2346
3205
  <a id="deepseek-aidsh-subagent-codex"></a>
2347
3206
 
2348
3207
  ## `@deepseek-ai/dsh-subagent-codex`
2349
3208
 
2350
- Requires: `subagents` · `subprocess`
3209
+ - `inject`: `subagents` · `subprocess`
3210
+ - `source`: [`packages/subagent/subagent-codex/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-codex/src/index.ts)
2351
3211
 
2352
3212
  ```ts config-catalog
2353
3213
  /** Deployment-owned model, permission, environment, and process-release settings. */
@@ -2363,7 +3223,7 @@ export interface Config {
2363
3223
  env?: Record<string, string>
2364
3224
  /** Native non-interactive permission mode fixed for this Provider instance. */
2365
3225
  permissionMode?: CodexPermissionMode
2366
- /** Grace in milliseconds for app-server process-tree termination. */
3226
+ /** Grace in milliseconds between app-server managed-range termination tiers. */
2367
3227
  disposeGraceMs?: number
2368
3228
  }
2369
3229
 
@@ -2373,14 +3233,15 @@ export type CodexPermissionMode =
2373
3233
  | 'approve-for-me'
2374
3234
  | 'dangerously-bypass-approvals-and-sandbox'
2375
3235
  ```
3236
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-subagent-codex -->
2376
3237
 
2377
- Source: [`packages/subagent/subagent-codex/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-codex/src/index.ts)
2378
-
3238
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-subagent-dsh-sdk -->
2379
3239
  <a id="deepseek-aidsh-subagent-dsh-sdk"></a>
2380
3240
 
2381
3241
  ## `@deepseek-ai/dsh-subagent-dsh-sdk`
2382
3242
 
2383
- Requires: `subagents`
3243
+ - `inject`: `subagents`
3244
+ - `source`: [`packages/subagent/subagent-dsh-sdk/src/index.ts:34`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-dsh-sdk/src/index.ts)
2384
3245
 
2385
3246
  ```ts config-catalog
2386
3247
  /** Config: how to spawn and drive the child SDK runtime process. */
@@ -2429,14 +3290,15 @@ export interface Config {
2429
3290
  disposeGraceMs?: number
2430
3291
  }
2431
3292
  ```
3293
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-subagent-dsh-sdk -->
2432
3294
 
2433
- Source: [`packages/subagent/subagent-dsh-sdk/src/index.ts:34`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-dsh-sdk/src/index.ts)
2434
-
3295
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-subagent-fork-in-process -->
2435
3296
  <a id="deepseek-aidsh-subagent-fork-in-process"></a>
2436
3297
 
2437
3298
  ## `@deepseek-ai/dsh-subagent-fork-in-process`
2438
3299
 
2439
- Requires: `subagents`
3300
+ - `inject`: `subagents`
3301
+ - `source`: [`packages/subagent/subagent-fork-in-process/src/index.ts:31`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-fork-in-process/src/index.ts)
2440
3302
 
2441
3303
  ```ts config-catalog
2442
3304
  /** Config: the registry name to register the provider under. */
@@ -2445,14 +3307,15 @@ export interface Config {
2445
3307
  providerName: string
2446
3308
  }
2447
3309
  ```
3310
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-subagent-fork-in-process -->
2448
3311
 
2449
- Source: [`packages/subagent/subagent-fork-in-process/src/index.ts:31`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-fork-in-process/src/index.ts)
2450
-
3312
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-subagent-spawn-in-process -->
2451
3313
  <a id="deepseek-aidsh-subagent-spawn-in-process"></a>
2452
3314
 
2453
3315
  ## `@deepseek-ai/dsh-subagent-spawn-in-process`
2454
3316
 
2455
- Requires: `subagents`
3317
+ - `inject`: `subagents`
3318
+ - `source`: [`packages/subagent/subagent-spawn-in-process/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-spawn-in-process/src/index.ts)
2456
3319
 
2457
3320
  ```ts config-catalog
2458
3321
  /** Config: the registry name to register the provider under. */
@@ -2461,41 +3324,32 @@ export interface Config {
2461
3324
  providerName: string
2462
3325
  }
2463
3326
  ```
3327
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-subagent-spawn-in-process -->
2464
3328
 
2465
- Source: [`packages/subagent/subagent-spawn-in-process/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-spawn-in-process/src/index.ts)
2466
-
2467
- <a id="deepseek-aidsh-subprocess-e2b"></a>
2468
-
2469
- ## `@deepseek-ai/dsh-subprocess-e2b`
2470
-
2471
- Requires: `e2b`
2472
-
2473
- ```ts config-catalog
2474
- /** Configuration for the E2B subprocess adapter. */
2475
- export interface Config {
2476
- /** Remote status/liveness poll cadence in milliseconds; each tick is one control-plane request. */
2477
- pollMs?: number
2478
- }
2479
- ```
2480
-
2481
- Source: [`packages/e2b/subprocess-e2b/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/e2b/subprocess-e2b/src/index.ts)
2482
-
3329
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-system-prompt -->
2483
3330
  <a id="deepseek-aidsh-system-prompt"></a>
2484
3331
 
2485
3332
  ## `@deepseek-ai/dsh-system-prompt`
2486
3333
 
3334
+ - `source`: [`packages/core/system-prompt/src/index.ts:247`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/system-prompt/src/index.ts)
3335
+
2487
3336
  ```ts config-catalog
2488
- /** Plugin config: the deployment-authored fragment of the system prompt (see {@link Config.persona} for its contract). */
3337
+ /** Plugin config: the deployment-authored fragment of the system prompt (see {@link Config.personaPrefix} for its contract). */
2489
3338
  export interface Config {
2490
3339
  /** Include the fixed DeepSeek Harness identity before the deployment persona (default true). */
2491
3340
  includeHarnessIdentity?: boolean
2492
3341
  /** Include dynamic runtime-context snapshots in model history (default true). */
2493
3342
  includeRuntimeContext?: boolean
2494
3343
  /**
2495
- * Deployment-wide order-0 persona template. A scoped section named
2496
- * `deployment:persona` shadows it; `{{variable}}` references are strict.
3344
+ * Deployment-wide persona prefix template before first-party guidance. A scoped section named
3345
+ * `deployment:persona-prefix` shadows it; `{{variable}}` references are strict.
2497
3346
  */
2498
- persona?: string
3347
+ personaPrefix?: string
3348
+ /**
3349
+ * Persona suffix template after first-party guidance. A scoped `deployment:persona-suffix`
3350
+ * section shadows it; `{{variable}}` references are strict. Defaults to empty.
3351
+ */
3352
+ personaSuffix?: string
2499
3353
  /**
2500
3354
  * Model-facing tool names in order, with {@link TOOL_ORDER_REST} exactly once.
2501
3355
  * Invalid fields fail at load and unknown names fail at assembly; known names
@@ -2504,14 +3358,15 @@ export interface Config {
2504
3358
  toolOrder?: string[]
2505
3359
  }
2506
3360
  ```
3361
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-system-prompt -->
2507
3362
 
2508
- Source: [`packages/core/system-prompt/src/index.ts:237`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/system-prompt/src/index.ts)
2509
-
3363
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-terminal-bash -->
2510
3364
  <a id="deepseek-aidsh-terminal-bash"></a>
2511
3365
 
2512
3366
  ## `@deepseek-ai/dsh-terminal-bash`
2513
3367
 
2514
- Requires: `terminals` · `sandboxPolicy` · `sessionProjections` · `subprocess`
3368
+ - `inject`: `terminals` · `sandboxPolicy` · `sessionProjections` · `subprocess`
3369
+ - `source`: [`packages/terminal/terminal-bash/src/config.ts:10`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/terminal/terminal-bash/src/config.ts)
2515
3370
 
2516
3371
  ```ts config-catalog
2517
3372
  /** Public plugin configuration. */
@@ -2545,6 +3400,15 @@ export interface Config {
2545
3400
  * regain the foreground before `inferred_idle` settles; at least one `pollIntervalMs`.
2546
3401
  */
2547
3402
  handoffGraceMs?: number
3403
+ /**
3404
+ * Extra wait beyond `idleSilenceMs` and `handoffGraceMs`, once a prompt marker was seen but
3405
+ * its printable tail has not arrived, before `inferred_idle` settles. The marker is written
3406
+ * by the shell's own prompt function and the tail by the same render, so a missing tail is a
3407
+ * delivery delay on a contended host rather than an absent prompt. Zero keeps the bound at
3408
+ * `idleSilenceMs + handoffGraceMs`; any other value covers at least one `pollIntervalMs`, so a
3409
+ * nonzero tolerance always contains a readiness poll.
3410
+ */
3411
+ promptTailGraceMs?: number
2548
3412
  /** Absolute bound for one send and the complete pwsh startup sequence. */
2549
3413
  timeoutMs?: number
2550
3414
  /** Grace before teardown escalates to `SIGKILL`. */
@@ -2554,32 +3418,34 @@ export interface Config {
2554
3418
  /** One supported interactive shell dialect. */
2555
3419
  export type ShellDialect = 'bash' | 'pwsh'
2556
3420
  ```
3421
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-terminal-bash -->
2557
3422
 
2558
- Source: [`packages/terminal/terminal-bash/src/config.ts:10`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/terminal/terminal-bash/src/config.ts)
2559
-
3423
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-time-context -->
2560
3424
  <a id="deepseek-aidsh-time-context"></a>
2561
3425
 
2562
3426
  ## `@deepseek-ai/dsh-time-context`
2563
3427
 
2564
- Requires: `agents` · `sessionProjections`
3428
+ - `inject`: `agents` · `sessionProjections`
3429
+ - `source`: [`packages/context/time-context/src/index.ts:56`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/time-context/src/index.ts)
2565
3430
 
2566
3431
  ```ts config-catalog
2567
3432
  /** Request-preparation clock formatting and append scheduling. Invalid values fail plugin load. */
2568
3433
  export interface Config {
2569
3434
  /** Fallback display zone when the open turn has no unique browser zone. Omit to use the process zone. */
2570
3435
  timeZone?: string
2571
- /** Minimum milliseconds between durable injections in one session. Omit or set to 0 to inject at every eligible step. */
3436
+ /** Minimum milliseconds between durable injections in one session. Defaults to 600000 (10 minutes); 0 injects at every eligible step. */
2572
3437
  refreshIntervalMs?: number
2573
3438
  }
2574
3439
  ```
3440
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-time-context -->
2575
3441
 
2576
- Source: [`packages/context/time-context/src/index.ts:49`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/time-context/src/index.ts)
2577
-
3442
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tmux-context -->
2578
3443
  <a id="deepseek-aidsh-tmux-context"></a>
2579
3444
 
2580
3445
  ## `@deepseek-ai/dsh-tmux-context`
2581
3446
 
2582
- Requires: `agents` · `sessionProjections`
3447
+ - `inject`: `agents` · `sessionProjections`
3448
+ - `source`: [`packages/context/tmux-context/src/index.ts:47`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/tmux-context/src/index.ts)
2583
3449
 
2584
3450
  ```ts config-catalog
2585
3451
  /** Per-turn tmux-location scheduling. Invalid values fail plugin load. */
@@ -2588,43 +3454,78 @@ export interface Config {
2588
3454
  refreshIntervalMs?: number
2589
3455
  }
2590
3456
  ```
3457
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tmux-context -->
2591
3458
 
2592
- Source: [`packages/context/tmux-context/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/tmux-context/src/index.ts)
2593
-
3459
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-token-meter -->
2594
3460
  <a id="deepseek-aidsh-token-meter"></a>
2595
3461
 
2596
3462
  ## `@deepseek-ai/dsh-token-meter`
2597
3463
 
2598
- Requires: `sessionProjections`
3464
+ - `inject`: `sessionProjections`
3465
+ - `source`: [`packages/llm/token-meter/src/types.ts:13`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/token-meter/src/types.ts)
2599
3466
 
2600
3467
  ```ts config-catalog
2601
3468
  /** Token-meter plugin configuration; the fixed estimator has no settings. */
2602
3469
  export type TokenMeterConfig = Record<string, never>
2603
3470
  ```
3471
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-token-meter -->
3472
+
3473
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-ask-user -->
3474
+ <a id="deepseek-aidsh-tool-ask-user"></a>
2604
3475
 
2605
- Source: [`packages/llm/token-meter/src/types.ts:13`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/token-meter/src/types.ts)
3476
+ ## `@deepseek-ai/dsh-tool-ask-user`
2606
3477
 
3478
+ - `inject`: `tools` · `userQuestions`
3479
+ - `source`: [`packages/interaction/tool-ask-user/src/index.ts:16`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/tool-ask-user/src/index.ts)
3480
+
3481
+ ```ts config-catalog
3482
+ /** Cordis row selecting the tool schema and its default foreground wait. */
3483
+ export interface Config {
3484
+ /** Tool definition selected by this Cordis row. Defaults to the blocking legacy tool. */
3485
+ mode?: 'legacy' | 'timed'
3486
+ /** Foreground wait before automatic continuation. Defaults to 120 seconds. */
3487
+ timeout?: number
3488
+ }
3489
+ ```
3490
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-ask-user -->
3491
+
3492
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-bash -->
2607
3493
  <a id="deepseek-aidsh-tool-bash"></a>
2608
3494
 
2609
3495
  ## `@deepseek-ai/dsh-tool-bash`
2610
3496
 
2611
- Requires: `tools` · `shell` · `systemPrompt` · `shellEnv`
3497
+ - `inject`: `tools` · `shell` · `systemPrompt` · `shellEnv`
3498
+ - `source`: [`packages/shell/tool-bash/src/index.ts:37`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-bash/src/index.ts)
2612
3499
 
2613
3500
  ```ts config-catalog
2614
3501
  /** Configuration for the bash tool. */
2615
3502
  export interface Config {
2616
- /** Expose `run_in_background` (default true); disabled calls are also rejected. */
3503
+ /**
3504
+ * Expose `run_in_background` while a job registry is composed (default
3505
+ * true); disabled calls are also rejected. Without a registry the tool is
3506
+ * foreground-only regardless.
3507
+ */
2617
3508
  enableRunInBackground?: boolean
3509
+ /**
3510
+ * Keep a foreground command that reaches its timeout running as a
3511
+ * background job instead of killing it (default true). Applies only while
3512
+ * background execution is available: with `enableRunInBackground` false or
3513
+ * no job registry, the executor's deadline kills the command. A foreground
3514
+ * command the registry refuses at its start (admission or a missing
3515
+ * controller) also runs under the deadline kill.
3516
+ */
3517
+ promoteOnTimeout?: boolean
2618
3518
  }
2619
3519
  ```
3520
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-bash -->
2620
3521
 
2621
- Source: [`packages/shell/tool-bash/src/index.ts:33`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-bash/src/index.ts)
2622
-
3522
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-bash-persistent -->
2623
3523
  <a id="deepseek-aidsh-tool-bash-persistent"></a>
2624
3524
 
2625
3525
  ## `@deepseek-ai/dsh-tool-bash-persistent`
2626
3526
 
2627
- Requires: `tools` · `terminals`
3527
+ - `inject`: `tools` · `terminals`
3528
+ - `source`: [`packages/shell/tool-bash-persistent/src/index.ts:444`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-bash-persistent/src/index.ts)
2628
3529
 
2629
3530
  ```ts config-catalog
2630
3531
  /** Configuration for the persistent Bash tool. */
@@ -2639,14 +3540,15 @@ export interface Config {
2639
3540
  description?: string
2640
3541
  }
2641
3542
  ```
3543
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-bash-persistent -->
2642
3544
 
2643
- Source: [`packages/shell/tool-bash-persistent/src/index.ts:432`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-bash-persistent/src/index.ts)
2644
-
3545
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-fs -->
2645
3546
  <a id="deepseek-aidsh-tool-fs"></a>
2646
3547
 
2647
3548
  ## `@deepseek-ai/dsh-tool-fs`
2648
3549
 
2649
- Requires: `tools` · `fs` · `systemPrompt`
3550
+ - `inject`: `tools` · `fs` · `systemPrompt`
3551
+ - `source`: [`packages/fs/tool-fs/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/tool-fs/src/index.ts)
2650
3552
 
2651
3553
  ```ts config-catalog
2652
3554
  /** Plugin config (all optional — `Config` supplies the defaults). */
@@ -2661,14 +3563,15 @@ export interface Config {
2661
3563
  readStreamMinSize?: number
2662
3564
  }
2663
3565
  ```
3566
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-fs -->
2664
3567
 
2665
- Source: [`packages/fs/tool-fs/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/tool-fs/src/index.ts)
2666
-
3568
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-fs-search -->
2667
3569
  <a id="deepseek-aidsh-tool-fs-search"></a>
2668
3570
 
2669
3571
  ## `@deepseek-ai/dsh-tool-fs-search`
2670
3572
 
2671
- Requires: `tools` · `systemPrompt` · `subprocess`
3573
+ - `inject`: `tools` · `systemPrompt` · `subprocess`
3574
+ - `source`: [`packages/fs/tool-fs-search/src/index.ts:73`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/tool-fs-search/src/index.ts)
2672
3575
 
2673
3576
  ```ts config-catalog
2674
3577
  /** Plugin config; over-cap glob sampling is an explicit deployment choice and the remaining fields have defaults. */
@@ -2696,14 +3599,15 @@ export interface Config {
2696
3599
  timeoutMs?: number
2697
3600
  }
2698
3601
  ```
3602
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-fs-search -->
2699
3603
 
2700
- Source: [`packages/fs/tool-fs-search/src/index.ts:73`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/tool-fs-search/src/index.ts)
2701
-
3604
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-goal -->
2702
3605
  <a id="deepseek-aidsh-tool-goal"></a>
2703
3606
 
2704
3607
  ## `@deepseek-ai/dsh-tool-goal`
2705
3608
 
2706
- Requires: `agents` · `goals` · `tools` · `systemPrompt` · `sessionProjections`
3609
+ - `inject`: `agents` · `goals` · `tools` · `systemPrompt` · `sessionProjections`
3610
+ - `source`: [`packages/goal/tool-goal/src/index.ts:32`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/tool-goal/src/index.ts)
2707
3611
 
2708
3612
  ```ts config-catalog
2709
3613
  /** Model policy and hard lower bounds for goal-state updates. */
@@ -2712,14 +3616,15 @@ export interface Config {
2712
3616
  blockedAfterConsecutiveRounds?: number
2713
3617
  }
2714
3618
  ```
3619
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-goal -->
2715
3620
 
2716
- Source: [`packages/goal/tool-goal/src/index.ts:25`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/tool-goal/src/index.ts)
2717
-
3621
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-jobs -->
2718
3622
  <a id="deepseek-aidsh-tool-jobs"></a>
2719
3623
 
2720
3624
  ## `@deepseek-ai/dsh-tool-jobs`
2721
3625
 
2722
- Requires: `tools` · `jobs` · `systemPrompt`
3626
+ - `inject`: `tools` · `jobs` · `systemPrompt`
3627
+ - `source`: [`packages/jobs/tool-jobs/src/index.ts:41`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/jobs/tool-jobs/src/index.ts)
2723
3628
 
2724
3629
  ```ts config-catalog
2725
3630
  /** Configures bounded `job_output` waits and completion-notice delivery. */
@@ -2732,28 +3637,31 @@ export interface Config {
2732
3637
  completionDelivery?: CompletionDelivery
2733
3638
  /**
2734
3639
  * Turns one owner may have opened by completion wakes before the next
2735
- * notice degrades to injection, reset by any user-authored input (default 3).
2736
- * Bounds the self-exciting chain where a woken turn starts the job whose
2737
- * completion wakes it again.
3640
+ * notice degrades to injection, reset by any user-authored input. Absent by
3641
+ * default: every idle completion wakes its owner. Set it to bound the
3642
+ * self-exciting chain where a woken turn starts the job whose completion
3643
+ * wakes it again, at the cost of notices past the cap waiting silently for
3644
+ * the next user input.
2738
3645
  */
2739
3646
  maxConsecutiveWakes?: number
2740
3647
  }
2741
3648
 
2742
3649
  /**
2743
- * How an unreported completion reaches an owner that is already idle: `wakeup`
3650
+ * How an uncollected completion reaches an owner that is already idle: `wakeup`
2744
3651
  * opens a turn for it, `quiet` leaves it pending until something else wakes the
2745
3652
  * owner. A busy owner is injected either way.
2746
3653
  */
2747
3654
  export type CompletionDelivery = 'quiet' | 'wakeup'
2748
3655
  ```
3656
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-jobs -->
2749
3657
 
2750
- Source: [`packages/jobs/tool-jobs/src/index.ts:31`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/jobs/tool-jobs/src/index.ts)
2751
-
3658
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-lsp -->
2752
3659
  <a id="deepseek-aidsh-tool-lsp"></a>
2753
3660
 
2754
3661
  ## `@deepseek-ai/dsh-tool-lsp`
2755
3662
 
2756
- Requires: `tools` · `lsp` · `systemPrompt`
3663
+ - `inject`: `tools` · `lsp` · `systemPrompt`
3664
+ - `source`: [`packages/lsp/tool-lsp/src/index.ts:57`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/lsp/tool-lsp/src/index.ts)
2757
3665
 
2758
3666
  ```ts config-catalog
2759
3667
  /** Plugin configuration: result caps and the timeout budget. */
@@ -2766,30 +3674,62 @@ export interface Config {
2766
3674
  timeoutMs?: number
2767
3675
  }
2768
3676
  ```
3677
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-lsp -->
2769
3678
 
2770
- Source: [`packages/lsp/tool-lsp/src/index.ts:57`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/lsp/tool-lsp/src/index.ts)
3679
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-present -->
3680
+ <a id="deepseek-aidsh-tool-present"></a>
2771
3681
 
3682
+ ## `@deepseek-ai/dsh-tool-present`
3683
+
3684
+ - `inject`: `tools` · `fs` · `sessionProjections`
3685
+ - `source`: [`packages/deliverables/tool-present/src/index.ts:15`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/deliverables/tool-present/src/index.ts)
3686
+
3687
+ ```ts config-catalog
3688
+ /** Per-call delivery limit. */
3689
+ export interface Config {
3690
+ /** Maximum number of files in one call. */
3691
+ maxFiles: number
3692
+ }
3693
+ ```
3694
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-present -->
3695
+
3696
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-pwsh -->
2772
3697
  <a id="deepseek-aidsh-tool-pwsh"></a>
2773
3698
 
2774
3699
  ## `@deepseek-ai/dsh-tool-pwsh`
2775
3700
 
2776
- Requires: `tools` · `shell` · `systemPrompt` · `shellEnv`
3701
+ - `inject`: `tools` · `shell` · `systemPrompt` · `shellEnv`
3702
+ - `source`: [`packages/shell/tool-pwsh/src/index.ts:54`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-pwsh/src/index.ts)
2777
3703
 
2778
3704
  ```ts config-catalog
2779
3705
  /** Configuration for the pwsh tool. */
2780
3706
  export interface Config {
2781
- /** Expose `run_in_background` (default true); disabled calls are also rejected. */
3707
+ /**
3708
+ * Expose `run_in_background` while a job registry is composed (default
3709
+ * true); disabled calls are also rejected. Without a registry the tool is
3710
+ * foreground-only regardless.
3711
+ */
2782
3712
  enableRunInBackground?: boolean
3713
+ /**
3714
+ * Keep a foreground command that reaches its timeout running as a
3715
+ * background job instead of killing it (default true). Applies only while
3716
+ * background execution is available: with `enableRunInBackground` false or
3717
+ * no job registry, the executor's deadline kills the command. A foreground
3718
+ * command the registry refuses at its start (admission or a missing
3719
+ * controller) also runs under the deadline kill.
3720
+ */
3721
+ promoteOnTimeout?: boolean
2783
3722
  }
2784
3723
  ```
3724
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-pwsh -->
2785
3725
 
2786
- Source: [`packages/shell/tool-pwsh/src/index.ts:51`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-pwsh/src/index.ts)
2787
-
3726
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-pwsh-persistent -->
2788
3727
  <a id="deepseek-aidsh-tool-pwsh-persistent"></a>
2789
3728
 
2790
3729
  ## `@deepseek-ai/dsh-tool-pwsh-persistent`
2791
3730
 
2792
- Requires: `tools` · `terminals`
3731
+ - `inject`: `tools` · `terminals`
3732
+ - `source`: [`packages/shell/tool-pwsh-persistent/src/index.ts:457`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-pwsh-persistent/src/index.ts)
2793
3733
 
2794
3734
  ```ts config-catalog
2795
3735
  /** Configuration for the persistent pwsh tool. */
@@ -2804,14 +3744,15 @@ export interface Config {
2804
3744
  description?: string
2805
3745
  }
2806
3746
  ```
3747
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-pwsh-persistent -->
2807
3748
 
2808
- Source: [`packages/shell/tool-pwsh-persistent/src/index.ts:472`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-pwsh-persistent/src/index.ts)
2809
-
3749
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-ralph -->
2810
3750
  <a id="deepseek-aidsh-tool-ralph"></a>
2811
3751
 
2812
3752
  ## `@deepseek-ai/dsh-tool-ralph`
2813
3753
 
2814
- Requires: `tools` · `workflowEngine` · `subagents` · `systemPrompt`
3754
+ - `inject`: `tools` · `workflowEngine` · `subagents` · `systemPrompt`
3755
+ - `source`: [`packages/workflow/tool-ralph/src/index.ts:21`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/tool-ralph/src/index.ts)
2815
3756
 
2816
3757
  ```ts config-catalog
2817
3758
  /** Deployment policy for the fixed Ralph workflow. */
@@ -2826,14 +3767,15 @@ export interface Config {
2826
3767
  maxResultChars?: number
2827
3768
  }
2828
3769
  ```
3770
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-ralph -->
2829
3771
 
2830
- Source: [`packages/workflow/tool-ralph/src/index.ts:21`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/tool-ralph/src/index.ts)
2831
-
3772
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-session-query -->
2832
3773
  <a id="deepseek-aidsh-tool-session-query"></a>
2833
3774
 
2834
3775
  ## `@deepseek-ai/dsh-tool-session-query`
2835
3776
 
2836
- Requires: `tools` · `systemPrompt` · `sessionQuery` · `sessionProjections`
3777
+ - `inject`: `tools` · `systemPrompt` · `sessionQuery` · `sessionProjections`
3778
+ - `source`: [`packages/session-query/tool-session-query/src/index.ts:28`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/tool-session-query/src/index.ts)
2837
3779
 
2838
3780
  ```ts config-catalog
2839
3781
  /** Deployment-owned search count and timeout bounds. */
@@ -2844,14 +3786,15 @@ export interface Config {
2844
3786
  searchTimeoutMs?: number
2845
3787
  }
2846
3788
  ```
3789
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-session-query -->
2847
3790
 
2848
- Source: [`packages/session-query/tool-session-query/src/index.ts:28`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/tool-session-query/src/index.ts)
2849
-
3791
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-skill -->
2850
3792
  <a id="deepseek-aidsh-tool-skill"></a>
2851
3793
 
2852
3794
  ## `@deepseek-ai/dsh-tool-skill`
2853
3795
 
2854
- Requires: `agents` · `tools` · `skills`
3796
+ - `inject`: `agents` · `tools` · `skills`
3797
+ - `source`: [`packages/skill/tool-skill/src/index.ts:61`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/tool-skill/src/index.ts)
2855
3798
 
2856
3799
  ```ts config-catalog
2857
3800
  /** Model-facing skill catalog configuration. */
@@ -2860,14 +3803,15 @@ export interface Config {
2860
3803
  catalogDescriptionMaxLength?: number
2861
3804
  }
2862
3805
  ```
3806
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-skill -->
2863
3807
 
2864
- Source: [`packages/skill/tool-skill/src/index.ts:61`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/tool-skill/src/index.ts)
2865
-
3808
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-str-replace-editor -->
2866
3809
  <a id="deepseek-aidsh-tool-str-replace-editor"></a>
2867
3810
 
2868
3811
  ## `@deepseek-ai/dsh-tool-str-replace-editor`
2869
3812
 
2870
- Requires: `tools` · `fs`
3813
+ - `inject`: `tools` · `fs`
3814
+ - `source`: [`packages/fs/tool-str-replace-editor/src/index.ts:506`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/tool-str-replace-editor/src/index.ts)
2871
3815
 
2872
3816
  ```ts config-catalog
2873
3817
  /** Configuration for the string-replacement editor tool. */
@@ -2878,14 +3822,16 @@ export interface Config {
2878
3822
  description?: string
2879
3823
  }
2880
3824
  ```
3825
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-str-replace-editor -->
2881
3826
 
2882
- Source: [`packages/fs/tool-str-replace-editor/src/index.ts:505`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/tool-str-replace-editor/src/index.ts)
2883
-
3827
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-subagent -->
2884
3828
  <a id="deepseek-aidsh-tool-subagent"></a>
2885
3829
 
2886
3830
  ## `@deepseek-ai/dsh-tool-subagent`
2887
3831
 
2888
- Requires: `tools` · `subagents` · `systemPrompt` · `sessionProjections`
3832
+ - `inject`: `tools` · `subagents` · `systemPrompt` · `sessionProjections`
3833
+ - `refs`: [`AgentOptions`](./subsystems/core.md)
3834
+ - `source`: [`packages/subagent/tool-subagent/src/index.ts:48`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/tool-subagent/src/index.ts)
2889
3835
 
2890
3836
  ```ts config-catalog
2891
3837
  /** Config: which registered provider this tool delegates to, plus child defaults. */
@@ -2898,8 +3844,8 @@ export interface Config {
2898
3844
  */
2899
3845
  toolName?: string
2900
3846
  /**
2901
- * Sample the Host `subagent-model-selection` user setting for each new
2902
- * top-level session and inherit that decision in its child sessions.
3847
+ * Sample the Host `subagent-model-selection` setting for each new top-level
3848
+ * Session and inherit that decision in its child Sessions.
2903
3849
  */
2904
3850
  modelSelectionSettings?: boolean
2905
3851
  /**
@@ -2919,7 +3865,7 @@ export interface Config {
2919
3865
  */
2920
3866
  agentOptions?: AgentOptions
2921
3867
  /**
2922
- * Per-child persona that shadows `deployment:persona`. Requires the
3868
+ * Per-child persona that shadows `deployment:persona-prefix`. Requires the
2923
3869
  * provider's `persona` capability; omission preserves the deployment persona.
2924
3870
  */
2925
3871
  persona?: string
@@ -2935,27 +3881,27 @@ export interface Config {
2935
3881
  deny?: string[]
2936
3882
  }
2937
3883
  /**
2938
- * Maximum child depth: a non-negative safe integer (default `3`; `0` forbids
2939
- * delegation entirely), or `'provider-managed'` to send no cap. A numeric cap
3884
+ * Maximum child depth: a non-negative safe integer (`0` forbids delegation),
3885
+ * or `'provider-managed'` to send no cap. A numeric cap
2940
3886
  * requires the provider's `depthLimit` capability (mount fails loud
2941
3887
  * otherwise). The provider checks the calling agent's current depth at every
2942
3888
  * start; the tool remains model-visible so runtime policy owns rejection.
2943
3889
  * `'provider-managed'` is for an out-of-process provider whose recursion
2944
- * budget belongs to the child runtime or its own deployment.
3890
+ * budget belongs to the child runtime or its own deployment. Omission reads
3891
+ * the current Host subagent depth setting (default `1`) at each delegation.
2945
3892
  */
2946
3893
  maxDepth?: number | 'provider-managed'
2947
3894
  }
2948
3895
  ```
3896
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-subagent -->
2949
3897
 
2950
- Depends on: [`AgentOptions`](./subsystems/core.md)
2951
-
2952
- Source: [`packages/subagent/tool-subagent/src/index.ts:47`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/tool-subagent/src/index.ts)
2953
-
3898
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-terminal -->
2954
3899
  <a id="deepseek-aidsh-tool-terminal"></a>
2955
3900
 
2956
3901
  ## `@deepseek-ai/dsh-tool-terminal`
2957
3902
 
2958
- Requires: `terminals` · `tools` · `systemPrompt`
3903
+ - `inject`: `terminals` · `tools` · `systemPrompt`
3904
+ - `source`: [`packages/terminal/tool-terminal/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/terminal/tool-terminal/src/index.ts)
2959
3905
 
2960
3906
  ```ts config-catalog
2961
3907
  /** Model-facing terminal tool configuration. */
@@ -2966,14 +3912,15 @@ export interface Config {
2966
3912
  maxResultBytes?: number
2967
3913
  }
2968
3914
  ```
3915
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-terminal -->
2969
3916
 
2970
- Source: [`packages/terminal/tool-terminal/src/index.ts:35`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/terminal/tool-terminal/src/index.ts)
2971
-
3917
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-todo -->
2972
3918
  <a id="deepseek-aidsh-tool-todo"></a>
2973
3919
 
2974
3920
  ## `@deepseek-ai/dsh-tool-todo`
2975
3921
 
2976
- Requires: `tools` · `sessionProjections`
3922
+ - `inject`: `tools` · `sessionProjections`
3923
+ - `source`: [`packages/todo/tool-todo/src/index.ts:29`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/todo/tool-todo/src/index.ts)
2977
3924
 
2978
3925
  ```ts config-catalog
2979
3926
  /** Model-facing todo tool configuration. */
@@ -2988,14 +3935,15 @@ export interface Config {
2988
3935
  allowParallelInProgress: boolean
2989
3936
  }
2990
3937
  ```
3938
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-todo -->
2991
3939
 
2992
- Source: [`packages/todo/tool-todo/src/index.ts:29`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/todo/tool-todo/src/index.ts)
2993
-
3940
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-web -->
2994
3941
  <a id="deepseek-aidsh-tool-web"></a>
2995
3942
 
2996
3943
  ## `@deepseek-ai/dsh-tool-web`
2997
3944
 
2998
- Requires: `tools` · `web` · `systemPrompt`
3945
+ - `inject`: `tools` · `web` · `systemPrompt`
3946
+ - `source`: [`packages/web/tool-web/src/index.ts:37`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/tool-web/src/index.ts)
2999
3947
 
3000
3948
  ```ts config-catalog
3001
3949
  /** Plugin config: which web tools to register, search bounds, per-tool budgets, and the fetch output cap. */
@@ -3016,14 +3964,15 @@ export interface Config {
3016
3964
  fetchMaxOutputChars?: number
3017
3965
  }
3018
3966
  ```
3967
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-web -->
3019
3968
 
3020
- Source: [`packages/web/tool-web/src/index.ts:37`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/tool-web/src/index.ts)
3021
-
3969
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-workflow -->
3022
3970
  <a id="deepseek-aidsh-tool-workflow"></a>
3023
3971
 
3024
3972
  ## `@deepseek-ai/dsh-tool-workflow`
3025
3973
 
3026
- Requires: `tools` · `workflowEngine` · `systemPrompt`
3974
+ - `inject`: `tools` · `workflowEngine` · `systemPrompt`
3975
+ - `source`: [`packages/workflow/tool-workflow/src/index.ts:44`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/tool-workflow/src/index.ts)
3027
3976
 
3028
3977
  ```ts config-catalog
3029
3978
  /** Config: the model-facing tool name plus result rendering caps. */
@@ -3032,16 +3981,48 @@ export interface Config {
3032
3981
  toolName?: string
3033
3982
  /** Rendered-result ceiling, in characters: a longer JSON value is truncated with a notice (default 50000). */
3034
3983
  maxResultChars?: number
3984
+ /**
3985
+ * Expose `run_in_background` (default true); disabled calls are also
3986
+ * rejected. A background run needs a live `ctx.jobs` registry with a
3987
+ * controller serving the caller (`dsh-jobs-local` plus `dsh-tool-jobs` in
3988
+ * the shipped composition); without one the call fails with the missing
3989
+ * piece named.
3990
+ */
3991
+ enableRunInBackground?: boolean
3035
3992
  }
3036
3993
  ```
3994
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-workflow -->
3995
+
3996
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tool-workspace-dependencies -->
3997
+ <a id="deepseek-aidsh-tool-workspace-dependencies"></a>
3998
+
3999
+ ## `@deepseek-ai/dsh-tool-workspace-dependencies`
4000
+
4001
+ - `inject`: `tools`
4002
+ - `source`: [`packages/skill/tool-workspace-dependencies/src/index.ts:15`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/tool-workspace-dependencies/src/index.ts)
3037
4003
 
3038
- Source: [`packages/workflow/tool-workflow/src/index.ts:32`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/tool-workflow/src/index.ts)
4004
+ ```ts config-catalog
4005
+ /** Payload location and optional installation directory. */
4006
+ export interface Config {
4007
+ /** Payload directory carrying `runtime.json` and `dependencies/`. */
4008
+ readonly source: string
4009
+ /**
4010
+ * Installation directory under the Harness home. When set, the payload is copied there on the
4011
+ * first call (the Desktop behavior); when omitted, the payload is used in place without copying,
4012
+ * which suits read-only carriers such as container image layers.
4013
+ */
4014
+ readonly root?: string
4015
+ }
4016
+ ```
4017
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tool-workspace-dependencies -->
3039
4018
 
4019
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-tools -->
3040
4020
  <a id="deepseek-aidsh-tools"></a>
3041
4021
 
3042
4022
  ## `@deepseek-ai/dsh-tools`
3043
4023
 
3044
- Requires: `systemPrompt`
4024
+ - `inject`: `systemPrompt`
4025
+ - `source`: [`packages/core/tools/src/index.ts:674`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/tools/src/index.ts)
3045
4026
 
3046
4027
  ```ts config-catalog
3047
4028
  /** Plugin config: how the registered tools are presented to the model. */
@@ -3051,7 +4032,7 @@ export interface Config {
3051
4032
  * sends only `run_code` plus a generated SDK prompt and collapses the
3052
4033
  * executor to the same surface (a model-direct call may only name
3053
4034
  * `run_code`; `run_code` SDK sub-dispatches keep every visible tool); `both`
3054
- * sends both forms. PTC mode requires a `ctx.codeRuntime` whose `language`
4035
+ * sends both forms. PTC mode requires a `ctx.ptcRuntime` whose `language`
3055
4036
  * has a registered SDK renderer (TypeScript or Python) and fail prompt
3056
4037
  * assembly when it is absent or has no renderer. Under `ptc`, native names
3057
4038
  * in `toolOrder` are invalid.
@@ -3070,14 +4051,15 @@ export interface Config {
3070
4051
  /** How the registry presents its tools to the model (see {@link Config.mode}). */
3071
4052
  export type ToolPresentationMode = 'native' | 'ptc' | 'both'
3072
4053
  ```
4054
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-tools -->
3073
4055
 
3074
- Source: [`packages/core/tools/src/index.ts:647`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/tools/src/index.ts)
3075
-
4056
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-typert-loader -->
3076
4057
  <a id="deepseek-aidsh-typert-loader"></a>
3077
4058
 
3078
4059
  ## `@deepseek-ai/dsh-typert-loader`
3079
4060
 
3080
- Requires: `typert` · `loader`
4061
+ - `inject`: `typert` · `loader`
4062
+ - `source`: [`packages/typert/loader/src/index.ts:48`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/typert/loader/src/index.ts)
3081
4063
 
3082
4064
  ```ts config-catalog
3083
4065
  /** Additional package artifacts whose owning plugins are nested behind another Loader entry. */
@@ -3086,13 +4068,15 @@ export interface Config {
3086
4068
  packages?: string[]
3087
4069
  }
3088
4070
  ```
4071
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-typert-loader -->
3089
4072
 
3090
- Source: [`packages/typert/loader/src/index.ts:47`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/typert/loader/src/index.ts)
3091
-
4073
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-user-approval -->
3092
4074
  <a id="deepseek-aidsh-user-approval"></a>
3093
4075
 
3094
4076
  ## `@deepseek-ai/dsh-user-approval`
3095
4077
 
4078
+ - `source`: [`packages/interaction/user-approval/src/index.ts:135`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/user-approval/src/index.ts)
4079
+
3096
4080
  ```ts config-catalog
3097
4081
  /** Plugin config. All optional — `static Config` supplies the defaults. */
3098
4082
  export interface Config {
@@ -3117,13 +4101,15 @@ export interface Config {
3117
4101
  */
3118
4102
  export type ApprovalPolicy = 'ask' | 'never'
3119
4103
  ```
4104
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-user-approval -->
3120
4105
 
3121
- Source: [`packages/interaction/user-approval/src/index.ts:127`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/user-approval/src/index.ts)
3122
-
4106
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-web -->
3123
4107
  <a id="deepseek-aidsh-web"></a>
3124
4108
 
3125
4109
  ## `@deepseek-ai/dsh-web`
3126
4110
 
4111
+ - `source`: [`packages/web/web/src/index.ts:55`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/web/src/index.ts)
4112
+
3127
4113
  ```ts config-catalog
3128
4114
  /**
3129
4115
  * Config for the web seam. `searchProvider` / `fetchProvider` pin which provider
@@ -3138,14 +4124,15 @@ export interface WebRuntimeConfig {
3138
4124
  readonly fetchProvider?: string
3139
4125
  }
3140
4126
  ```
4127
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-web -->
3141
4128
 
3142
- Source: [`packages/web/web/src/index.ts:55`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/web/src/index.ts)
3143
-
4129
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-web-app -->
3144
4130
  <a id="deepseek-aidsh-web-app"></a>
3145
4131
 
3146
4132
  ## `@deepseek-ai/dsh-web-app`
3147
4133
 
3148
- Requires: `webServer`
4134
+ - `inject`: `webServer`
4135
+ - `source`: [`packages/bundle/web-app/src/index.ts:46`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/web-app/src/index.ts)
3149
4136
 
3150
4137
  ```ts config-catalog
3151
4138
  /** Plugin config: composed deployment settings plus per-invocation command-line values. */
@@ -3161,18 +4148,27 @@ export interface Config {
3161
4148
  * orientation text would be false.
3162
4149
  */
3163
4150
  surfaceContext: boolean
4151
+ /**
4152
+ * Canonical HTTP(S) root to advertise in the printed and opened URL,
4153
+ * `DSH_WEB_URL`, and the web-surface orientation, e.g.
4154
+ * `https://app.example/ui/`, normalized to end in `/`. Advertisement only;
4155
+ * see [public deployments](../README.md#public-deployments). Absent or YAML
4156
+ * `null` advertises the loopback URL.
4157
+ */
4158
+ publicUrl?: string
3164
4159
  /** Explicit `--trusted-host` authorities from this invocation. */
3165
4160
  trustedHosts: string[]
3166
4161
  }
3167
4162
  ```
4163
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-web-app -->
3168
4164
 
3169
- Source: [`packages/bundle/web-app/src/index.ts:44`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/web-app/src/index.ts)
3170
-
4165
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-web-fetch-http -->
3171
4166
  <a id="deepseek-aidsh-web-fetch-http"></a>
3172
4167
 
3173
4168
  ## `@deepseek-ai/dsh-web-fetch-http`
3174
4169
 
3175
- Requires: `web`
4170
+ - `inject`: `web`
4171
+ - `source`: [`packages/web/web-fetch-http/src/index.ts:32`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/web-fetch-http/src/index.ts)
3176
4172
 
3177
4173
  ```ts config-catalog
3178
4174
  /** Plugin config: the provider's transport and size limits plus its `User-Agent` (all defaulted). */
@@ -3189,42 +4185,45 @@ export interface Config {
3189
4185
  userAgent?: string
3190
4186
  }
3191
4187
  ```
4188
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-web-fetch-http -->
3192
4189
 
3193
- Source: [`packages/web/web-fetch-http/src/index.ts:32`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/web-fetch-http/src/index.ts)
3194
-
4190
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-web-search-deepseek -->
3195
4191
  <a id="deepseek-aidsh-web-search-deepseek"></a>
3196
4192
 
3197
4193
  ## `@deepseek-ai/dsh-web-search-deepseek`
3198
4194
 
3199
- Requires: `web`
4195
+ - `inject`: `web`
4196
+ - `refs`: `Volatile` (`@deepseek-ai/cordis`)
4197
+ - `source`: [`packages/web/web-search-deepseek/src/index.ts:49`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/web-search-deepseek/src/index.ts)
3200
4198
 
3201
4199
  ```ts config-catalog
3202
4200
  /** Plugin config (all optional — `apply` fills env-var and constant defaults). */
3203
4201
  export interface Config {
3204
4202
  /** Literal DeepSeek API key; prefer {@link apiKeyEnv} so no secret enters configuration files. */
3205
- apiKey?: string
4203
+ apiKey: Volatile<string | undefined>
3206
4204
  /** Credential reference resolved for each search; defaults to `DEEPSEEK_API_KEY`. */
3207
- apiKeyEnv?: string
4205
+ apiKeyEnv: Volatile<string>
3208
4206
  /** Anthropic-compatible endpoint base; `/messages` is appended. */
3209
- baseURL?: string
4207
+ baseURL: Volatile<string | undefined>
3210
4208
  /** Anthropic-format model name. Defaults to `deepseek-v4-flash`. */
3211
- model?: string
4209
+ model: Volatile<string>
3212
4210
  /** `anthropic-version` header value. Defaults to `2023-06-01`. */
3213
- apiVersion?: string
4211
+ apiVersion: Volatile<string>
3214
4212
  /** Upper bound on generated tokens for the Messages request. Defaults to 4096. */
3215
- maxTokens?: number
4213
+ maxTokens: Volatile<number>
3216
4214
  /** Maximum `web_search` server-tool uses per request. Defaults to 5. */
3217
- maxUses?: number
4215
+ maxUses: Volatile<number>
3218
4216
  }
3219
4217
  ```
4218
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-web-search-deepseek -->
3220
4219
 
3221
- Source: [`packages/web/web-search-deepseek/src/index.ts:46`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/web-search-deepseek/src/index.ts)
3222
-
4220
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-web-search-exa -->
3223
4221
  <a id="deepseek-aidsh-web-search-exa"></a>
3224
4222
 
3225
4223
  ## `@deepseek-ai/dsh-web-search-exa`
3226
4224
 
3227
- Requires: `web`
4225
+ - `inject`: `web`
4226
+ - `source`: [`packages/web/web-search-exa/src/index.ts:35`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/web-search-exa/src/index.ts)
3228
4227
 
3229
4228
  ```ts config-catalog
3230
4229
  /** Plugin config (all optional — `apply` fills env-var and constant defaults). */
@@ -3241,14 +4240,15 @@ export interface Config {
3241
4240
  highlightsPerResult?: number
3242
4241
  }
3243
4242
  ```
4243
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-web-search-exa -->
3244
4244
 
3245
- Source: [`packages/web/web-search-exa/src/index.ts:35`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/web-search-exa/src/index.ts)
3246
-
4245
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-web-search-perplexity -->
3247
4246
  <a id="deepseek-aidsh-web-search-perplexity"></a>
3248
4247
 
3249
4248
  ## `@deepseek-ai/dsh-web-search-perplexity`
3250
4249
 
3251
- Requires: `web`
4250
+ - `inject`: `web`
4251
+ - `source`: [`packages/web/web-search-perplexity/src/index.ts:30`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/web-search-perplexity/src/index.ts)
3252
4252
 
3253
4253
  ```ts config-catalog
3254
4254
  /** Plugin config (all optional — `apply` fills env-var and constant defaults). */
@@ -3265,14 +4265,15 @@ export interface Config {
3265
4265
  searchRecency?: 'day' | 'week' | 'month' | 'year'
3266
4266
  }
3267
4267
  ```
4268
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-web-search-perplexity -->
3268
4269
 
3269
- Source: [`packages/web/web-search-perplexity/src/index.ts:30`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/web/web-search-perplexity/src/index.ts)
3270
-
4270
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-webhook-github -->
3271
4271
  <a id="deepseek-aidsh-webhook-github"></a>
3272
4272
 
3273
4273
  ## `@deepseek-ai/dsh-webhook-github`
3274
4274
 
3275
- Requires: `webServer` · `webhookRuntime` · `credentials`
4275
+ - `inject`: `webServer` · `webhookRuntime` · `credentials`
4276
+ - `source`: [`packages/webhook/webhook-github/src/index.ts:17`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/webhook/webhook-github/src/index.ts)
3276
4277
 
3277
4278
  ```ts config-catalog
3278
4279
  /** Required GitHub ingress configuration. */
@@ -3287,14 +4288,15 @@ export interface Config {
3287
4288
  readonly maxBodyBytes: number
3288
4289
  }
3289
4290
  ```
4291
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-webhook-github -->
3290
4292
 
3291
- Source: [`packages/webhook/webhook-github/src/index.ts:17`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/webhook/webhook-github/src/index.ts)
3292
-
3293
- <a id="deepseek-aidsh-workflow-worker-thread"></a>
4293
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-workflow-ptc -->
4294
+ <a id="deepseek-aidsh-workflow-ptc"></a>
3294
4295
 
3295
- ## `@deepseek-ai/dsh-workflow-worker-thread`
4296
+ ## `@deepseek-ai/dsh-workflow-ptc`
3296
4297
 
3297
- Requires: `subagents`
4298
+ - `inject`: `subagents` · `ptcRuntime` · `sandboxPolicy`
4299
+ - `source`: [`packages/workflow/workflow-ptc/src/index.ts:32`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/workflow-ptc/src/index.ts)
3298
4300
 
3299
4301
  ```ts config-catalog
3300
4302
  /** Plugin config (all optional — `static Config` supplies the defaults). */
@@ -3307,171 +4309,237 @@ export interface Config {
3307
4309
  maxTotalAgents?: number
3308
4310
  /** Items accepted by a single `parallel()`/`pipeline()` call (default 4096). */
3309
4311
  maxItemsPerCall?: number
3310
- /** vm timeout for the script's initial synchronous slice, inside the worker (default 5000 ms). */
4312
+ /** VM timeout for the script's initial synchronous slice (default 5000 ms). */
3311
4313
  syncTimeoutMs?: number
4314
+ }
4315
+ ```
4316
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-workflow-ptc -->
4317
+
4318
+ <!-- BEGIN GENERATED config-catalog:@deepseek-ai/dsh-workspace-changes -->
4319
+ <a id="deepseek-aidsh-workspace-changes"></a>
4320
+
4321
+ ## `@deepseek-ai/dsh-workspace-changes`
4322
+
4323
+ - `inject`: `subprocess`
4324
+ - `source`: [`packages/deliverables/workspace-changes/src/index.ts:33`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/deliverables/workspace-changes/src/index.ts)
4325
+
4326
+ ```ts config-catalog
4327
+ /** Snapshot, capture, and comparison bounds. Invalid values fail plugin load. */
4328
+ export interface Config {
4329
+ /** Milliseconds one git command may run before the turn's record is abandoned. */
4330
+ timeoutMs: number
4331
+ /** Bytes of git output retained per command; a larger diff listing abandons the record. */
4332
+ outputMaxBytes: number
4333
+ /** Maximum files carried by one summary; `total` still reports the complete count. */
4334
+ maxFiles: number
3312
4335
  /**
3313
- * How long after a cancellation an unsettled script may keep running before
3314
- * the run force-settles `cancelled` and its worker is TERMINATED (default
3315
- * 5000 ms); also bounds `dispose()`.
4336
+ * Bytes a file may hold to be captured around a file-tool edit or read from a snapshot for its comparison.
4337
+ * A larger file gets no comparison; one captured around a file-tool edit is also listed without counts.
3316
4338
  */
3317
- disposeGraceMs?: number
4339
+ maxFileBytes: number
4340
+ /** Milliseconds a line comparison may run before it degrades to whole-file replacement. */
4341
+ diffTimeoutMs: number
3318
4342
  }
3319
4343
  ```
3320
-
3321
- Source: [`packages/workflow/workflow-worker-thread/src/index.ts:32`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/workflow-worker-thread/src/index.ts)
4344
+ <!-- END GENERATED config-catalog:@deepseek-ai/dsh-workspace-changes -->
3322
4345
 
3323
4346
  ## Loadable plugins with no config
3324
4347
 
3325
4348
  These load from a `cordis.yml` entry with no `config:` block; they declare no configuration API.
3326
4349
 
3327
- - `@deepseek-ai/dsh-acp-app` — requires `cmdlineArgs` ([`packages/bundle/acp-app/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/acp-app/src/index.ts))
3328
- - `@deepseek-ai/dsh-agent` ([`packages/core/agent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent/src/index.ts))
3329
- - `@deepseek-ai/dsh-api-remotes` — requires `typertGateway` ([`packages/api/remotes/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/remotes/src/index.ts))
3330
- - `@deepseek-ai/dsh-api-workspace-controller` — requires `typert` · `workspaceRegistry` ([`packages/api/workspace-controller/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/workspace-controller/src/index.ts))
3331
- - `@deepseek-ai/dsh-authorization` — requires `credentials` ([`packages/credentials/authorization/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/authorization/src/index.ts))
3332
- - `@deepseek-ai/dsh-client-file-upload` — requires `agents` · `attachments` · `commands` · `connection` ([`packages/client/file-upload/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/file-upload/src/index.ts))
3333
- - `@deepseek-ai/dsh-client-locale` ([`packages/client/locale/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/locale/src/index.ts))
3334
- - `@deepseek-ai/dsh-client-modules` — requires `webServer` · `loader` ([`packages/client/modules/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/modules/src/index.ts))
3335
- - `@deepseek-ai/dsh-client-ui-agent-preset` ([`packages/client/ui-agent-preset/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-agent-preset/src/index.ts))
3336
- - `@deepseek-ai/dsh-client-ui-approval` ([`packages/client/ui-approval/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-approval/src/index.ts))
3337
- - `@deepseek-ai/dsh-client-ui-attachment` ([`packages/client/ui-attachment/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-attachment/src/index.ts))
3338
- - `@deepseek-ai/dsh-client-ui-brand-official` ([`packages/client/ui-brand-official/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-brand-official/src/index.ts))
3339
- - `@deepseek-ai/dsh-client-ui-chat` ([`packages/client/ui-chat/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-chat/src/index.ts))
3340
- - `@deepseek-ai/dsh-client-ui-commands` ([`packages/client/ui-commands/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-commands/src/index.ts))
3341
- - `@deepseek-ai/dsh-client-ui-conversation` ([`packages/client/ui-conversation/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-conversation/src/index.ts))
3342
- - `@deepseek-ai/dsh-client-ui-cordis` ([`packages/extensions/ui-cordis/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/ui-cordis/src/index.ts))
3343
- - `@deepseek-ai/dsh-client-ui-deliverables` — requires `systemPrompt` ([`packages/client/ui-deliverables/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-deliverables/src/index.ts))
3344
- - `@deepseek-ai/dsh-client-ui-directory-picker-browse` ([`packages/client/ui-directory-picker-browse/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-directory-picker-browse/src/index.ts))
3345
- - `@deepseek-ai/dsh-client-ui-directory-picker-native` ([`packages/client/ui-directory-picker-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-directory-picker-native/src/index.ts))
3346
- - `@deepseek-ai/dsh-client-ui-goal` ([`packages/client/ui-goal/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-goal/src/index.ts))
3347
- - `@deepseek-ai/dsh-client-ui-input-trigger` ([`packages/client/ui-input-trigger/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-input-trigger/src/index.ts))
3348
- - `@deepseek-ai/dsh-client-ui-jobs` ([`packages/client/ui-jobs/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-jobs/src/index.ts))
3349
- - `@deepseek-ai/dsh-client-ui-layout` ([`packages/client/ui-layout/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-layout/src/index.ts))
3350
- - `@deepseek-ai/dsh-client-ui-message-feedback` ([`packages/client/ui-message-feedback/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-message-feedback/src/index.ts))
3351
- - `@deepseek-ai/dsh-client-ui-model-selection` ([`packages/client/ui-model-selection/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-model-selection/src/index.ts))
3352
- - `@deepseek-ai/dsh-client-ui-permission-presets` ([`packages/client/ui-permission-presets/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-permission-presets/src/index.ts))
3353
- - `@deepseek-ai/dsh-client-ui-plan` ([`packages/client/ui-plan/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-plan/src/index.ts))
3354
- - `@deepseek-ai/dsh-client-ui-reference` ([`packages/client/ui-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-reference/src/index.ts))
3355
- - `@deepseek-ai/dsh-client-ui-renderer` ([`packages/client/ui-renderer/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-renderer/src/index.ts))
3356
- - `@deepseek-ai/dsh-client-ui-schedule` ([`packages/client/ui-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-schedule/src/index.ts))
3357
- - `@deepseek-ai/dsh-client-ui-session` ([`packages/client/ui-session/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-session/src/index.ts))
3358
- - `@deepseek-ai/dsh-client-ui-settings` ([`packages/client/ui-settings/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings/src/index.ts))
3359
- - `@deepseek-ai/dsh-client-ui-settings-general` ([`packages/client/ui-settings-general/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-general/src/index.ts))
3360
- - `@deepseek-ai/dsh-client-ui-settings-models` ([`packages/client/ui-settings-models/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-models/src/index.ts))
3361
- - `@deepseek-ai/dsh-client-ui-settings-plugin-inventory` ([`packages/client/ui-settings-plugin-inventory/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-plugin-inventory/src/index.ts))
3362
- - `@deepseek-ai/dsh-client-ui-settings-plugins` ([`packages/client/ui-settings-plugins/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-plugins/src/index.ts))
3363
- - `@deepseek-ai/dsh-client-ui-sidebar` ([`packages/client/ui-sidebar/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar/src/index.ts))
3364
- - `@deepseek-ai/dsh-client-ui-skill` ([`packages/client/ui-skill/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-skill/src/index.ts))
3365
- - `@deepseek-ai/dsh-client-ui-subagent` ([`packages/client/ui-subagent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-subagent/src/index.ts))
3366
- - `@deepseek-ai/dsh-client-ui-theme` ([`packages/client/ui-theme/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-theme/src/index.ts))
3367
- - `@deepseek-ai/dsh-client-ui-tool` ([`packages/client/ui-tool/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-tool/src/index.ts))
3368
- - `@deepseek-ai/dsh-client-ui-trajectory` ([`packages/client/ui-trajectory/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-trajectory/src/index.ts))
3369
- - `@deepseek-ai/dsh-client-ui-user-questions` ([`packages/client/ui-user-questions/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-user-questions/src/index.ts))
3370
- - `@deepseek-ai/dsh-client-ui-workflow-run` ([`packages/client/ui-workflow-run/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-workflow-run/src/index.ts))
3371
- - `@deepseek-ai/dsh-client-ui-workspace` ([`packages/client/ui-workspace/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-workspace/src/index.ts))
3372
- - `@deepseek-ai/dsh-command-compact` — requires `commands` · `compaction` ([`packages/compaction/command-compact/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/command-compact/src/index.ts))
3373
- - `@deepseek-ai/dsh-command-feedback` — requires `commands` ([`packages/feedback/command-feedback/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/feedback/command-feedback/src/index.ts))
3374
- - `@deepseek-ai/dsh-command-goal` — requires `commands` · `goals` ([`packages/goal/command-goal/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/command-goal/src/index.ts))
3375
- - `@deepseek-ai/dsh-commands` ([`packages/interaction/commands/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/commands/src/index.ts))
3376
- - `@deepseek-ai/dsh-cordis-client-runner` ([`packages/extensions/cordis-client-runner/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/cordis-client-runner/src/index.ts))
3377
- - `@deepseek-ai/dsh-deepseek-llm-api-extensions` ([`packages/llm/deepseek-llm-api-extensions/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/deepseek-llm-api-extensions/src/index.ts))
3378
- - `@deepseek-ai/dsh-experimental-client-ui-agent-team` ([`packages/experimental/client-ui-agent-team/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/client-ui-agent-team/src/index.ts))
3379
- - `@deepseek-ai/dsh-fs-e2b` — requires `e2b` ([`packages/e2b/fs-e2b/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/e2b/fs-e2b/src/index.ts))
3380
- - `@deepseek-ai/dsh-fs-observation-policy` ([`packages/fs/fs-observation-policy/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/fs-observation-policy/src/index.ts))
3381
- - `@deepseek-ai/dsh-goal-round-driver` — requires `agents` · `goals` · `sessions` ([`packages/goal/goal-round-driver/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/goal-round-driver/src/index.ts))
3382
- - `@deepseek-ai/dsh-host-directory-picker-auto` — requires `webServer` · `loader` ([`packages/host/directory-picker-auto/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/directory-picker-auto/src/index.ts))
3383
- - `@deepseek-ai/dsh-host-directory-picker-native` ([`packages/host/directory-picker-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/directory-picker-native/src/index.ts))
3384
- - `@deepseek-ai/dsh-host-plugin-inventory` — requires `loader` ([`packages/host/plugin-inventory/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/plugin-inventory/src/index.ts))
3385
- - `@deepseek-ai/dsh-llm` ([`packages/llm/llm/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts))
3386
- - `@deepseek-ai/dsh-lsp` ([`packages/lsp/lsp/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/lsp/lsp/src/index.ts))
3387
- - `@deepseek-ai/dsh-schedule` — requires `agents` · `sessions` · `tools` · `sessionPersistence` ([`packages/schedule/schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/schedule/schedule/src/index.ts))
3388
- - `@deepseek-ai/dsh-session` ([`packages/core/session/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/session/src/index.ts))
3389
- - `@deepseek-ai/dsh-session-checkpoint-policy` — requires `llm` · `sessionPersistence` · `sessions` · `tools` ([`packages/session/session-checkpoint-policy/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-checkpoint-policy/src/index.ts))
3390
- - `@deepseek-ai/dsh-session-projection` ([`packages/session/session-projection/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-projection/src/index.ts))
3391
- - `@deepseek-ai/dsh-session-stats` — requires `sessionProjections` ([`packages/session/session-stats/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-stats/src/index.ts))
3392
- - `@deepseek-ai/dsh-session-turn-outline` — requires `sessionProjections` ([`packages/session/session-turn-outline/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-turn-outline/src/index.ts))
3393
- - `@deepseek-ai/dsh-skill-badge` — requires `skills` ([`packages/skill/skill-badge/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill-badge/src/index.ts))
3394
- - `@deepseek-ai/dsh-storage` ([`packages/storage/storage/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage/src/index.ts))
3395
- - `@deepseek-ai/dsh-subagent` ([`packages/subagent/subagent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent/src/index.ts))
3396
- - `@deepseek-ai/dsh-subprocess-local` ([`packages/subprocess/subprocess-local/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subprocess/subprocess-local/src/index.ts))
3397
- - `@deepseek-ai/dsh-terminal` ([`packages/terminal/terminal/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/terminal/terminal/src/index.ts))
3398
- - `@deepseek-ai/dsh-tool-ask-user` — requires `tools` · `userQuestions` ([`packages/interaction/tool-ask-user/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/tool-ask-user/src/index.ts))
3399
- - `@deepseek-ai/dsh-tool-call-timeout-policy` — requires `tools` ([`packages/guard/timeout-policy/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/guard/timeout-policy/src/index.ts))
3400
- - `@deepseek-ai/dsh-tool-cordis` — requires `tools` · `systemPrompt` · `dynamicCordisRunner` · `cordisInspect` ([`packages/extensions/tool-cordis/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/tool-cordis/src/index.ts))
3401
- - `@deepseek-ai/dsh-tool-subagent-control` — requires `tools` · `subagents` ([`packages/subagent/tool-subagent-control/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/tool-subagent-control/src/index.ts))
3402
- - `@deepseek-ai/dsh-user-questions` ([`packages/interaction/user-questions/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/user-questions/src/index.ts))
3403
- - `@deepseek-ai/dsh-webhook` — requires `agents` · `agentDefaultModel` · `agentPresets` · `permissionPresets` · `sessionTitle` · `workspaceRegistry` ([`packages/webhook/webhook/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/webhook/webhook/src/index.ts))
3404
- - `@deepseek-ai/dsh-workspace` — requires `storageDomain` · `sessionPersistence` ([`packages/workspace/workspace/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workspace/workspace/src/index.ts))
4350
+ <!-- BEGIN GENERATED config-catalog:no-config -->
4351
+ | `package` | `inject` | `source` |
4352
+ | --- | --- | --- |
4353
+ | `@deepseek-ai/dsh-acp-app` | `cmdlineArgs` | [`packages/bundle/acp-app/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/acp-app/src/index.ts) |
4354
+ | `@deepseek-ai/dsh-agent` | — | [`packages/core/agent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/agent/src/index.ts) |
4355
+ | `@deepseek-ai/dsh-api-account-controller` | `deepseekAccount` · `agents` | [`packages/api/account-controller/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/account-controller/src/index.ts) |
4356
+ | `@deepseek-ai/dsh-api-remotes` | `typertGateway` | [`packages/api/remotes/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/remotes/src/index.ts) |
4357
+ | `@deepseek-ai/dsh-authorization` | `credentials` | [`packages/credentials/authorization/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/authorization/src/index.ts) |
4358
+ | `@deepseek-ai/dsh-browser-use` | — | [`packages/browser-use/browser-use/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/browser-use/browser-use/src/index.ts) |
4359
+ | `@deepseek-ai/dsh-client-file-upload` | `agents` · `attachments` · `commands` · `connection` | [`packages/client/file-upload/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/file-upload/src/index.ts) |
4360
+ | `@deepseek-ai/dsh-client-locale` | — | [`packages/client/locale/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/locale/src/index.ts) |
4361
+ | `@deepseek-ai/dsh-client-modules` | `loader` | [`packages/client/modules/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/modules/src/index.ts) |
4362
+ | `@deepseek-ai/dsh-client-resources` | — | [`packages/client/resources/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/resources/src/index.ts) |
4363
+ | `@deepseek-ai/dsh-client-ui-agent-preset` | — | [`packages/client/ui-agent-preset/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-agent-preset/src/index.ts) |
4364
+ | `@deepseek-ai/dsh-client-ui-approval` | — | [`packages/client/ui-approval/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-approval/src/index.ts) |
4365
+ | `@deepseek-ai/dsh-client-ui-attachment` | — | [`packages/client/ui-attachment/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-attachment/src/index.ts) |
4366
+ | `@deepseek-ai/dsh-client-ui-brand-official` | — | [`packages/client/ui-brand-official/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-brand-official/src/index.ts) |
4367
+ | `@deepseek-ai/dsh-client-ui-chat` | — | [`packages/client/ui-chat/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-chat/src/index.ts) |
4368
+ | `@deepseek-ai/dsh-client-ui-commands` | — | [`packages/client/ui-commands/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-commands/src/index.ts) |
4369
+ | `@deepseek-ai/dsh-client-ui-conversation` | — | [`packages/client/ui-conversation/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-conversation/src/index.ts) |
4370
+ | `@deepseek-ai/dsh-client-ui-cordis` | — | [`packages/extensions/ui-cordis/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/ui-cordis/src/index.ts) |
4371
+ | `@deepseek-ai/dsh-client-ui-deliverables` | `systemPrompt` · `connection` · `sessionQuery` · `sessionController` · `workspaceFiles` · `fs` · `sandboxPolicy` · `workspaceChanges` | [`packages/client/ui-deliverables/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-deliverables/src/index.ts) |
4372
+ | `@deepseek-ai/dsh-client-ui-directory-picker-browse` | — | [`packages/client/ui-directory-picker-browse/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-directory-picker-browse/src/index.ts) |
4373
+ | `@deepseek-ai/dsh-client-ui-directory-picker-native` | — | [`packages/client/ui-directory-picker-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-directory-picker-native/src/index.ts) |
4374
+ | `@deepseek-ai/dsh-client-ui-goal` | — | [`packages/client/ui-goal/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-goal/src/index.ts) |
4375
+ | `@deepseek-ai/dsh-client-ui-input-trigger` | — | [`packages/client/ui-input-trigger/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-input-trigger/src/index.ts) |
4376
+ | `@deepseek-ai/dsh-client-ui-jobs` | — | [`packages/client/ui-jobs/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-jobs/src/index.ts) |
4377
+ | `@deepseek-ai/dsh-client-ui-layout` | — | [`packages/client/ui-layout/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-layout/src/index.ts) |
4378
+ | `@deepseek-ai/dsh-client-ui-message-feedback` | — | [`packages/client/ui-message-feedback/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-message-feedback/src/index.ts) |
4379
+ | `@deepseek-ai/dsh-client-ui-model-selection` | — | [`packages/client/ui-model-selection/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-model-selection/src/index.ts) |
4380
+ | `@deepseek-ai/dsh-client-ui-open-in-app` | — | [`packages/client/ui-open-in-app/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-open-in-app/src/index.ts) |
4381
+ | `@deepseek-ai/dsh-client-ui-permission-presets` | — | [`packages/client/ui-permission-presets/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-permission-presets/src/index.ts) |
4382
+ | `@deepseek-ai/dsh-client-ui-plan` | — | [`packages/client/ui-plan/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-plan/src/index.ts) |
4383
+ | `@deepseek-ai/dsh-client-ui-reference` | — | [`packages/client/ui-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-reference/src/index.ts) |
4384
+ | `@deepseek-ai/dsh-client-ui-renderer` | — | [`packages/client/ui-renderer/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-renderer/src/index.ts) |
4385
+ | `@deepseek-ai/dsh-client-ui-schedule` | — | [`packages/client/ui-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-schedule/src/index.ts) |
4386
+ | `@deepseek-ai/dsh-client-ui-session` | — | [`packages/client/ui-session/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-session/src/index.ts) |
4387
+ | `@deepseek-ai/dsh-client-ui-settings` | — | [`packages/client/ui-settings/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings/src/index.ts) |
4388
+ | `@deepseek-ai/dsh-client-ui-settings-agent-loop` | — | [`packages/client/ui-settings-agent-loop/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-agent-loop/src/index.ts) |
4389
+ | `@deepseek-ai/dsh-client-ui-settings-general` | — | [`packages/client/ui-settings-general/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-general/src/index.ts) |
4390
+ | `@deepseek-ai/dsh-client-ui-settings-plugin-inventory` | — | [`packages/client/ui-settings-plugin-inventory/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-plugin-inventory/src/index.ts) |
4391
+ | `@deepseek-ai/dsh-client-ui-settings-plugins` | — | [`packages/client/ui-settings-plugins/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-plugins/src/index.ts) |
4392
+ | `@deepseek-ai/dsh-client-ui-settings-session-log` | — | [`packages/client/ui-settings-session-log/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-session-log/src/index.ts) |
4393
+ | `@deepseek-ai/dsh-client-ui-settings-shell` | — | [`packages/client/ui-settings-shell/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-shell/src/index.ts) |
4394
+ | `@deepseek-ai/dsh-client-ui-settings-subagent` | — | [`packages/client/ui-settings-subagent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-subagent/src/index.ts) |
4395
+ | `@deepseek-ai/dsh-client-ui-settings-web-search` | — | [`packages/client/ui-settings-web-search/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-web-search/src/index.ts) |
4396
+ | `@deepseek-ai/dsh-client-ui-shortcuts` | — | [`packages/client/ui-shortcuts/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-shortcuts/src/index.ts) |
4397
+ | `@deepseek-ai/dsh-client-ui-sidebar` | — | [`packages/client/ui-sidebar/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar/src/index.ts) |
4398
+ | `@deepseek-ai/dsh-client-ui-sidebar-browser` | — | [`packages/client/ui-sidebar-browser/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar-browser/src/index.ts) |
4399
+ | `@deepseek-ai/dsh-client-ui-sidebar-files` | — | [`packages/client/ui-sidebar-files/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar-files/src/index.ts) |
4400
+ | `@deepseek-ai/dsh-client-ui-sidebar-right` | — | [`packages/client/ui-sidebar-right/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar-right/src/index.ts) |
4401
+ | `@deepseek-ai/dsh-client-ui-sidebar-terminal` | — | [`packages/client/ui-sidebar-terminal/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar-terminal/src/index.ts) |
4402
+ | `@deepseek-ai/dsh-client-ui-skill` | — | [`packages/client/ui-skill/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-skill/src/index.ts) |
4403
+ | `@deepseek-ai/dsh-client-ui-subagent` | — | [`packages/client/ui-subagent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-subagent/src/index.ts) |
4404
+ | `@deepseek-ai/dsh-client-ui-tool` | — | [`packages/client/ui-tool/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-tool/src/index.ts) |
4405
+ | `@deepseek-ai/dsh-client-ui-trajectory` | — | [`packages/client/ui-trajectory/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-trajectory/src/index.ts) |
4406
+ | `@deepseek-ai/dsh-client-ui-user-questions` | — | [`packages/client/ui-user-questions/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-user-questions/src/index.ts) |
4407
+ | `@deepseek-ai/dsh-client-ui-workflow-run` | — | [`packages/client/ui-workflow-run/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-workflow-run/src/index.ts) |
4408
+ | `@deepseek-ai/dsh-client-ui-workspace` | — | [`packages/client/ui-workspace/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-workspace/src/index.ts) |
4409
+ | `@deepseek-ai/dsh-command-compact` | `commands` · `compaction` | [`packages/compaction/command-compact/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/command-compact/src/index.ts) |
4410
+ | `@deepseek-ai/dsh-command-feedback` | `commands` | [`packages/feedback/command-feedback/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/feedback/command-feedback/src/index.ts) |
4411
+ | `@deepseek-ai/dsh-command-goal` | `commands` · `goals` | [`packages/goal/command-goal/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/command-goal/src/index.ts) |
4412
+ | `@deepseek-ai/dsh-commands` | — | [`packages/interaction/commands/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/commands/src/index.ts) |
4413
+ | `@deepseek-ai/dsh-compaction-image-offload` | `agents` · `sessions` | [`packages/compaction/compaction-image-offload/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/compaction-image-offload/src/index.ts) |
4414
+ | `@deepseek-ai/dsh-computer-use` | — | [`packages/computer-use/computer-use/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/computer-use/computer-use/src/index.ts) |
4415
+ | `@deepseek-ai/dsh-config-editor` | `loader` · `profileContext` | [`packages/boot/config-editor/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/config-editor/src/index.ts) |
4416
+ | `@deepseek-ai/dsh-cordis-client-runner` | — | [`packages/extensions/cordis-client-runner/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/cordis-client-runner/src/index.ts) |
4417
+ | `@deepseek-ai/dsh-deepseek-llm-api-extensions` | — | [`packages/llm/deepseek-llm-api-extensions/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/deepseek-llm-api-extensions/src/index.ts) |
4418
+ | `@deepseek-ai/dsh-experimental-auto-review` | `approval` · `llm` · `permissionPresets` · `sessions` · `tools` | [`packages/experimental/auto-review/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/auto-review/src/index.ts) |
4419
+ | `@deepseek-ai/dsh-experimental-client-ui-agent-team` | — | [`packages/experimental/client-ui-agent-team/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/client-ui-agent-team/src/index.ts) |
4420
+ | `@deepseek-ai/dsh-experimental-client-ui-claude-code-mods` | — | [`packages/experimental/client-ui-claude-code-mods/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/client-ui-claude-code-mods/src/index.ts) |
4421
+ | `@deepseek-ai/dsh-experimental-client-ui-voice-input` | — | [`packages/experimental/client-ui-voice-input/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/client-ui-voice-input/src/index.ts) |
4422
+ | `@deepseek-ai/dsh-experimental-computer-use-cua-driver-native` | `computerUse` · `tools` · `systemPrompt` | [`packages/experimental/computer-use-cua-driver-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/computer-use-cua-driver-native/src/index.ts) |
4423
+ | `@deepseek-ai/dsh-experimental-session-inspector` | — | [`packages/experimental/session-inspector/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/session-inspector/src/index.ts) |
4424
+ | `@deepseek-ai/dsh-fs-observation-policy` | — | [`packages/fs/fs-observation-policy/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/fs-observation-policy/src/index.ts) |
4425
+ | `@deepseek-ai/dsh-fs-ssh` | `ssh` · `sandboxPolicy` | [`packages/ssh/fs-ssh/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/ssh/fs-ssh/src/index.ts) |
4426
+ | `@deepseek-ai/dsh-goal-round-driver` | `agents` · `goals` · `sessions` | [`packages/goal/goal-round-driver/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/goal/goal-round-driver/src/index.ts) |
4427
+ | `@deepseek-ai/dsh-host-directory-picker-auto` | `webServer` · `loader` | [`packages/host/directory-picker-auto/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/directory-picker-auto/src/index.ts) |
4428
+ | `@deepseek-ai/dsh-host-directory-picker-native` | — | [`packages/host/directory-picker-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/directory-picker-native/src/index.ts) |
4429
+ | `@deepseek-ai/dsh-host-plugin-inventory` | `loader` | [`packages/host/plugin-inventory/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/plugin-inventory/src/index.ts) |
4430
+ | `@deepseek-ai/dsh-llm` | — | [`packages/llm/llm/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) |
4431
+ | `@deepseek-ai/dsh-lsp` | — | [`packages/lsp/lsp/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/lsp/lsp/src/index.ts) |
4432
+ | `@deepseek-ai/dsh-mcp-resources` | `tools` | [`packages/mcp/mcp-resources/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/mcp/mcp-resources/src/index.ts) |
4433
+ | `@deepseek-ai/dsh-otel` | — | [`packages/telemetry/otel/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/telemetry/otel/src/index.ts) |
4434
+ | `@deepseek-ai/dsh-sandbox-ssh` | `ssh` | [`packages/ssh/sandbox-ssh/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/ssh/sandbox-ssh/src/index.ts) |
4435
+ | `@deepseek-ai/dsh-session` | — | [`packages/core/session/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/session/src/index.ts) |
4436
+ | `@deepseek-ai/dsh-session-checkpoint-policy` | `llm` · `sessionPersistence` · `sessions` · `tools` | [`packages/session/session-checkpoint-policy/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-checkpoint-policy/src/index.ts) |
4437
+ | `@deepseek-ai/dsh-session-projection` | — | [`packages/session/session-projection/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-projection/src/index.ts) |
4438
+ | `@deepseek-ai/dsh-session-stats` | `sessionProjections` | [`packages/session/session-stats/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-stats/src/index.ts) |
4439
+ | `@deepseek-ai/dsh-session-turn-outline` | `sessionProjections` | [`packages/session/session-turn-outline/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-turn-outline/src/index.ts) |
4440
+ | `@deepseek-ai/dsh-settings` | `configEditor` · `profileContext` | [`packages/settings/settings/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/settings/settings/src/index.ts) |
4441
+ | `@deepseek-ai/dsh-skill-badge` | `skills` | [`packages/skill/skill-badge/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/skill/skill-badge/src/index.ts) |
4442
+ | `@deepseek-ai/dsh-storage` | — | [`packages/storage/storage/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/storage/storage/src/index.ts) |
4443
+ | `@deepseek-ai/dsh-subprocess-local` | — | [`packages/subprocess/subprocess-local/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subprocess/subprocess-local/src/index.ts) |
4444
+ | `@deepseek-ai/dsh-subprocess-ssh` | `ssh` | [`packages/ssh/subprocess-ssh/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/ssh/subprocess-ssh/src/index.ts) |
4445
+ | `@deepseek-ai/dsh-terminal` | — | [`packages/terminal/terminal/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/terminal/terminal/src/index.ts) |
4446
+ | `@deepseek-ai/dsh-tool-call-timeout-policy` | `tools` | [`packages/guard/timeout-policy/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/guard/timeout-policy/src/index.ts) |
4447
+ | `@deepseek-ai/dsh-tool-cordis` | `tools` · `cordisInspect` | [`packages/extensions/tool-cordis/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/tool-cordis/src/index.ts) |
4448
+ | `@deepseek-ai/dsh-tool-schedule` | `tools` | [`packages/schedule/tool-schedule/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/schedule/tool-schedule/src/index.ts) |
4449
+ | `@deepseek-ai/dsh-tool-subagent-control` | `tools` · `subagents` | [`packages/subagent/tool-subagent-control/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/tool-subagent-control/src/index.ts) |
4450
+ | `@deepseek-ai/dsh-user-questions` | — | [`packages/interaction/user-questions/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/interaction/user-questions/src/index.ts) |
4451
+ | `@deepseek-ai/dsh-webhook` | `agents` · `agentDefaultModel` · `agentPresets` · `permissionPresets` · `sessionTitle` · `workspaceRegistry` | [`packages/webhook/webhook/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/webhook/webhook/src/index.ts) |
4452
+ | `@deepseek-ai/dsh-workspace` | `storageDomain` · `sessionPersistence` | [`packages/workspace/workspace/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workspace/workspace/src/index.ts) |
4453
+ <!-- END GENERATED config-catalog:no-config -->
3405
4454
 
3406
4455
  ## Seam packages (not directly loadable)
3407
4456
 
3408
4457
  Abstract service classes — a deployment loads a concrete implementation package instead ([capability seams](https://github.com/deepseek-ai/deepseek-harness/blob/master/.agents/notes/implemented/architecture/2026-06-13-capability-seams.md)).
3409
4458
 
3410
- - `@deepseek-ai/dsh-attachment` — abstract `AttachmentStore` ([`packages/attachment/attachment/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/attachment/attachment/src/index.ts))
3411
- - `@deepseek-ai/dsh-code-runtime` — abstract `CodeRuntime` ([`packages/code-runtime/code-runtime/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/code-runtime/code-runtime/src/index.ts))
3412
- - `@deepseek-ai/dsh-compaction` — abstract `CompactionEngine` ([`packages/compaction/compaction/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/compaction/src/index.ts))
3413
- - `@deepseek-ai/dsh-credentials` — abstract `CredentialProvider` ([`packages/credentials/credentials/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/credentials/src/index.ts))
3414
- - `@deepseek-ai/dsh-file-reference` — abstract `FileReferenceService` ([`packages/context/file-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/file-reference/src/index.ts))
3415
- - `@deepseek-ai/dsh-fs` — abstract `FileSystem` ([`packages/fs/fs/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/fs/src/index.ts))
3416
- - `@deepseek-ai/dsh-host-directory-picker` — abstract `DirectoryPicker` ([`packages/host/directory-picker/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/directory-picker/src/index.ts))
3417
- - `@deepseek-ai/dsh-jobs` — abstract `JobRegistry` ([`packages/jobs/jobs/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/jobs/jobs/src/index.ts))
3418
- - `@deepseek-ai/dsh-sandbox` — abstract `SandboxProvider` ([`packages/sandbox/sandbox/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox/src/index.ts))
3419
- - `@deepseek-ai/dsh-session-persistence` — abstract `SessionPersistence` ([`packages/session/session-persistence/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-persistence/src/index.ts))
3420
- - `@deepseek-ai/dsh-session-query` — abstract `SessionQueryEngine` ([`packages/session-query/session-query/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-query/src/index.ts))
3421
- - `@deepseek-ai/dsh-settings` — abstract `SettingsProvider` ([`packages/settings/settings/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/settings/settings/src/index.ts))
3422
- - `@deepseek-ai/dsh-shell` — abstract `ShellExecutor` ([`packages/shell/shell/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/shell/src/index.ts))
3423
- - `@deepseek-ai/dsh-spill` — abstract `SpillStore` ([`packages/spill/spill/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/spill/spill/src/index.ts))
3424
- - `@deepseek-ai/dsh-subprocess` — abstract `SubprocessRuntime` ([`packages/subprocess/subprocess/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subprocess/subprocess/src/index.ts))
3425
- - `@deepseek-ai/dsh-workflow` — abstract `WorkflowEngine` ([`packages/workflow/workflow/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/workflow/src/index.ts))
4459
+ <!-- BEGIN GENERATED config-catalog:seam -->
4460
+ | `package` | `class` | `inject` | `source` |
4461
+ | --- | --- | --- | --- |
4462
+ | `@deepseek-ai/dsh-attachment` | `AttachmentStore` | — | [`packages/attachment/attachment/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/attachment/attachment/src/index.ts) |
4463
+ | `@deepseek-ai/dsh-compaction` | `CompactionEngine` | — | [`packages/compaction/compaction/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/compaction/compaction/src/index.ts) |
4464
+ | `@deepseek-ai/dsh-credentials` | `CredentialProvider` | — | [`packages/credentials/credentials/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/credentials/src/index.ts) |
4465
+ | `@deepseek-ai/dsh-deepseek-account` | `DeepSeekAccount` | — | [`packages/credentials/deepseek-account/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/deepseek-account/src/index.ts) |
4466
+ | `@deepseek-ai/dsh-file-reference` | `FileReferenceService` | — | [`packages/context/file-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/context/file-reference/src/index.ts) |
4467
+ | `@deepseek-ai/dsh-fs` | `FileSystem` | — | [`packages/fs/fs/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/fs/src/index.ts) |
4468
+ | `@deepseek-ai/dsh-host-directory-picker` | `DirectoryPicker` | — | [`packages/host/directory-picker/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/directory-picker/src/index.ts) |
4469
+ | `@deepseek-ai/dsh-jobs` | `JobRegistry` | — | [`packages/jobs/jobs/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/jobs/jobs/src/index.ts) |
4470
+ | `@deepseek-ai/dsh-ptc-runtime` | `PtcRuntime` | — | [`packages/ptc-runtime/ptc-runtime/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/ptc-runtime/ptc-runtime/src/index.ts) |
4471
+ | `@deepseek-ai/dsh-sandbox` | `SandboxProvider` | — | [`packages/sandbox/sandbox/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox/src/index.ts) |
4472
+ | `@deepseek-ai/dsh-session-persistence` | `SessionPersistence` | — | [`packages/session/session-persistence/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-persistence/src/index.ts) |
4473
+ | `@deepseek-ai/dsh-session-query` | `SessionQueryEngine` | — | [`packages/session-query/session-query/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session-query/session-query/src/index.ts) |
4474
+ | `@deepseek-ai/dsh-shell` | `ShellExecutor` | — | [`packages/shell/shell/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/shell/src/index.ts) |
4475
+ | `@deepseek-ai/dsh-spill` | `SpillStore` | — | [`packages/spill/spill/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/spill/spill/src/index.ts) |
4476
+ | `@deepseek-ai/dsh-subprocess` | `SubprocessRuntime` | — | [`packages/subprocess/subprocess/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subprocess/subprocess/src/index.ts) |
4477
+ | `@deepseek-ai/dsh-workflow` | `WorkflowEngine` | — | [`packages/workflow/workflow/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/workflow/workflow/src/index.ts) |
4478
+ <!-- END GENERATED config-catalog:seam -->
3426
4479
 
3427
4480
  ## Library packages (no plugin entry)
3428
4481
 
3429
4482
  Imported as libraries by other packages; a `cordis.yml` cannot load them.
3430
4483
 
3431
- - `@deepseek-ai/dsh-agent-loop-testkit` ([`packages/test-support/agent-loop-testkit/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/agent-loop-testkit/src/index.ts))
3432
- - `@deepseek-ai/dsh-anonymous-user-id` ([`packages/identity/anonymous-user-id/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/identity/anonymous-user-id/src/index.ts))
3433
- - `@deepseek-ai/dsh-app-boot` ([`packages/boot/app-boot/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/app-boot/src/index.ts))
3434
- - `@deepseek-ai/dsh-atomic-write` ([`packages/util/atomic-write/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/atomic-write/src/index.ts))
3435
- - `@deepseek-ai/dsh-base` ([`packages/bundle/base/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/base/src/index.ts))
3436
- - `@deepseek-ai/dsh-brand` ([`packages/util/brand/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/brand/src/index.ts))
3437
- - `@deepseek-ai/dsh-client-store` ([`packages/client/store/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/store/src/index.ts))
3438
- - `@deepseek-ai/dsh-client-test-runtime` ([`packages/test-support/client-runtime/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/client-runtime/src/index.ts))
3439
- - `@deepseek-ai/dsh-client-ui-primitives` ([`packages/client/ui-primitives/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-primitives/src/index.ts))
3440
- - `@deepseek-ai/dsh-client-ui-slots` ([`packages/client/ui-slots/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-slots/src/index.ts))
3441
- - `@deepseek-ai/dsh-client-web` ([`packages/client/web/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/web/src/index.ts))
3442
- - `@deepseek-ai/dsh-cmdline` ([`packages/boot/cmdline/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/cmdline/src/index.ts))
3443
- - `@deepseek-ai/dsh-deque` ([`packages/util/deque/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/deque/src/index.ts))
3444
- - `@deepseek-ai/dsh-experimental-agent-team-profile` ([`packages/experimental/agent-team-profile/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/agent-team-profile/src/index.ts))
3445
- - `@deepseek-ai/dsh-experimental-agent-team-web-profile` ([`packages/experimental/agent-team-web-profile/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/agent-team-web-profile/src/index.ts))
3446
- - `@deepseek-ai/dsh-experimental-webworker-packer` ([`packages/experimental/webworker-packer/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/webworker-packer/src/index.ts))
3447
- - `@deepseek-ai/dsh-experimental-webworker-runtime` ([`packages/experimental/webworker-runtime/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/webworker-runtime/src/index.ts))
3448
- - `@deepseek-ai/dsh-home-paths` ([`packages/util/home-paths/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/home-paths/src/index.ts))
3449
- - `@deepseek-ai/dsh-hook-protocol` ([`packages/hooks/hook-protocol/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/hooks/hook-protocol/src/index.ts))
3450
- - `@deepseek-ai/dsh-http-proxy` ([`packages/util/http-proxy/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/http-proxy/src/index.ts))
3451
- - `@deepseek-ai/dsh-launch-environment` ([`packages/util/launch-environment/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/launch-environment/src/index.ts))
3452
- - `@deepseek-ai/dsh-llm-mock-server` ([`packages/test-support/llm-mock-server/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/llm-mock-server/src/index.ts))
3453
- - `@deepseek-ai/dsh-loader-smoke` ([`packages/test-support/loader-smoke/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/loader-smoke/src/index.ts))
3454
- - `@deepseek-ai/dsh-native-command` ([`packages/util/native-command/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/native-command/src/index.ts))
3455
- - `@deepseek-ai/dsh-output-retention` ([`packages/util/output-retention/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/output-retention/src/index.ts))
3456
- - `@deepseek-ai/dsh-sandbox-windows-acl` ([`packages/sandbox/sandbox-windows-acl/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox-windows-acl/src/index.ts))
3457
- - `@deepseek-ai/dsh-scope` ([`packages/core/scope/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/scope/src/index.ts))
3458
- - `@deepseek-ai/dsh-sdk-client` ([`packages/sdk/client/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sdk/client/src/index.ts))
3459
- - `@deepseek-ai/dsh-sdk-minimal` ([`packages/bundle/sdk-minimal/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/sdk-minimal/src/index.ts))
3460
- - `@deepseek-ai/dsh-sdk-protocol` ([`packages/sdk/protocol/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sdk/protocol/src/index.ts))
3461
- - `@deepseek-ai/dsh-session-format` ([`packages/session/session-format/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format/src/index.ts))
3462
- - `@deepseek-ai/dsh-session-format-catalog` ([`packages/session/session-format-catalog/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-catalog/src/index.ts))
3463
- - `@deepseek-ai/dsh-session-format-v0-to-v1` ([`packages/session/session-format-v0-to-v1/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-v0-to-v1/src/index.ts))
3464
- - `@deepseek-ai/dsh-session-format-v1-to-v2` ([`packages/session/session-format-v1-to-v2/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-v1-to-v2/src/index.ts))
3465
- - `@deepseek-ai/dsh-session-snapshot` ([`packages/test-support/session-snapshot/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/session-snapshot/src/index.ts))
3466
- - `@deepseek-ai/dsh-session-telemetry` ([`packages/session/session-telemetry/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-telemetry/src/index.ts))
3467
- - `@deepseek-ai/dsh-session-title-llm` ([`packages/session/session-title-llm/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-llm/src/index.ts))
3468
- - `@deepseek-ai/dsh-subagent-in-process-driver` ([`packages/subagent/subagent-in-process-driver/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-in-process-driver/src/index.ts))
3469
- - `@deepseek-ai/dsh-timeout` ([`packages/util/timeout/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/timeout/src/index.ts))
3470
- - `@deepseek-ai/dsh-typert-generator` ([`packages/typert/generator/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/typert/generator/src/index.ts))
3471
- - `@deepseek-ai/dsh-typert-protocol` ([`packages/typert/protocol/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/typert/protocol/src/index.ts))
3472
- - `@deepseek-ai/dsh-typert-registry` ([`packages/typert/registry/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/typert/registry/src/index.ts))
3473
- - `@deepseek-ai/dsh-util-crypto` ([`packages/util/crypto/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/crypto/src/index.ts))
3474
- - `@deepseek-ai/dsh-util-time` ([`packages/util/time/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/time/src/index.ts))
3475
- - `@deepseek-ai/dsh-util-values` ([`packages/util/values/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/values/src/index.ts))
3476
- - `@deepseek-ai/dsh-util-workspace-path` ([`packages/util/workspace-path/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/workspace-path/src/index.ts))
3477
- - `@deepseek-ai/dsh-win32-process` ([`packages/subprocess/win32-process/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subprocess/win32-process/src/index.ts))
4484
+ <!-- BEGIN GENERATED config-catalog:library -->
4485
+ | `package` | `inject` | `source` |
4486
+ | --- | --- | --- |
4487
+ | `@deepseek-ai/dsh-agent-loop-testkit` | — | [`packages/test-support/agent-loop-testkit/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/agent-loop-testkit/src/index.ts) |
4488
+ | `@deepseek-ai/dsh-anonymous-user-id` | — | [`packages/identity/anonymous-user-id/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/identity/anonymous-user-id/src/index.ts) |
4489
+ | `@deepseek-ai/dsh-app-boot` | — | [`packages/boot/app-boot/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/app-boot/src/index.ts) |
4490
+ | `@deepseek-ai/dsh-atomic-write` | — | [`packages/util/atomic-write/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/atomic-write/src/index.ts) |
4491
+ | `@deepseek-ai/dsh-base` | — | [`packages/bundle/base/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/base/src/index.ts) |
4492
+ | `@deepseek-ai/dsh-brand` | — | [`packages/util/brand/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/brand/src/index.ts) |
4493
+ | `@deepseek-ai/dsh-chunked-list` | — | [`packages/util/chunked-list/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/chunked-list/src/index.ts) |
4494
+ | `@deepseek-ai/dsh-client-store` | — | [`packages/client/store/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/store/src/index.ts) |
4495
+ | `@deepseek-ai/dsh-client-test-runtime` | — | [`packages/test-support/client-runtime/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/client-runtime/src/index.ts) |
4496
+ | `@deepseek-ai/dsh-client-ui-dockkit` | — | [`packages/client/ui-dockkit/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-dockkit/src/index.ts) |
4497
+ | `@deepseek-ai/dsh-client-ui-primitives` | — | [`packages/client/ui-primitives/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-primitives/src/index.ts) |
4498
+ | `@deepseek-ai/dsh-client-ui-slots` | — | [`packages/client/ui-slots/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-slots/src/index.ts) |
4499
+ | `@deepseek-ai/dsh-client-web` | — | [`packages/client/web/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/web/src/index.ts) |
4500
+ | `@deepseek-ai/dsh-cmdline` | — | [`packages/boot/cmdline/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/cmdline/src/index.ts) |
4501
+ | `@deepseek-ai/dsh-deque` | — | [`packages/util/deque/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/deque/src/index.ts) |
4502
+ | `@deepseek-ai/dsh-experimental-agent-team-profile` | — | [`packages/experimental/agent-team-profile/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/agent-team-profile/src/index.ts) |
4503
+ | `@deepseek-ai/dsh-experimental-browser-use-runtime` | — | [`packages/experimental/browser-use-runtime/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/browser-use-runtime/src/index.ts) |
4504
+ | `@deepseek-ai/dsh-experimental-inspector-profile` | — | [`packages/experimental/inspector-profile/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/inspector-profile/src/index.ts) |
4505
+ | `@deepseek-ai/dsh-experimental-voice-input-bundle` | — | [`packages/experimental/voice-input-bundle/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/voice-input-bundle/src/index.ts) |
4506
+ | `@deepseek-ai/dsh-experimental-webworker-packer` | — | [`packages/experimental/webworker-packer/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/webworker-packer/src/index.ts) |
4507
+ | `@deepseek-ai/dsh-experimental-webworker-runtime` | — | [`packages/experimental/webworker-runtime/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/webworker-runtime/src/index.ts) |
4508
+ | `@deepseek-ai/dsh-home-paths` | — | [`packages/util/home-paths/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/home-paths/src/index.ts) |
4509
+ | `@deepseek-ai/dsh-hook-protocol` | — | [`packages/hooks/hook-protocol/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/hooks/hook-protocol/src/index.ts) |
4510
+ | `@deepseek-ai/dsh-http-proxy` | — | [`packages/util/http-proxy/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/http-proxy/src/index.ts) |
4511
+ | `@deepseek-ai/dsh-launch-environment` | — | [`packages/util/launch-environment/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/launch-environment/src/index.ts) |
4512
+ | `@deepseek-ai/dsh-lazy-require` | — | [`packages/util/lazy-require/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/lazy-require/src/index.ts) |
4513
+ | `@deepseek-ai/dsh-llm-deepseek` | — | [`packages/llm/llm-deepseek/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-deepseek/src/index.ts) |
4514
+ | `@deepseek-ai/dsh-llm-mock-server` | — | [`packages/test-support/llm-mock-server/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/llm-mock-server/src/index.ts) |
4515
+ | `@deepseek-ai/dsh-loader-smoke` | — | [`packages/test-support/loader-smoke/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/loader-smoke/src/index.ts) |
4516
+ | `@deepseek-ai/dsh-native-command` | — | [`packages/util/native-command/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/native-command/src/index.ts) |
4517
+ | `@deepseek-ai/dsh-output-retention` | — | [`packages/util/output-retention/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/output-retention/src/index.ts) |
4518
+ | `@deepseek-ai/dsh-package-manifest` | — | [`packages/util/package-manifest/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/package-manifest/src/index.ts) |
4519
+ | `@deepseek-ai/dsh-remote-mock` | — | [`packages/test-support/remote-mock/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/remote-mock/src/index.ts) |
4520
+ | `@deepseek-ai/dsh-sandbox-windows-acl` | — | [`packages/sandbox/sandbox-windows-acl/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox-windows-acl/src/index.ts) |
4521
+ | `@deepseek-ai/dsh-scope` | — | [`packages/core/scope/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/scope/src/index.ts) |
4522
+ | `@deepseek-ai/dsh-sdk-client` | — | [`packages/sdk/client/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sdk/client/src/index.ts) |
4523
+ | `@deepseek-ai/dsh-sdk-minimal` | — | [`packages/bundle/sdk-minimal/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/sdk-minimal/src/index.ts) |
4524
+ | `@deepseek-ai/dsh-sdk-protocol` | — | [`packages/sdk/protocol/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sdk/protocol/src/index.ts) |
4525
+ | `@deepseek-ai/dsh-session-format` | — | [`packages/session/session-format/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format/src/index.ts) |
4526
+ | `@deepseek-ai/dsh-session-format-catalog` | — | [`packages/session/session-format-catalog/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-catalog/src/index.ts) |
4527
+ | `@deepseek-ai/dsh-session-format-v0-to-v1` | — | [`packages/session/session-format-v0-to-v1/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-v0-to-v1/src/index.ts) |
4528
+ | `@deepseek-ai/dsh-session-format-v1-to-v2` | — | [`packages/session/session-format-v1-to-v2/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-v1-to-v2/src/index.ts) |
4529
+ | `@deepseek-ai/dsh-session-format-v2-to-v3` | — | [`packages/session/session-format-v2-to-v3/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-v2-to-v3/src/index.ts) |
4530
+ | `@deepseek-ai/dsh-session-format-v3-to-v4` | — | [`packages/session/session-format-v3-to-v4/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-v3-to-v4/src/index.ts) |
4531
+ | `@deepseek-ai/dsh-session-snapshot` | — | [`packages/test-support/session-snapshot/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/session-snapshot/src/index.ts) |
4532
+ | `@deepseek-ai/dsh-session-telemetry` | — | [`packages/session/session-telemetry/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-telemetry/src/index.ts) |
4533
+ | `@deepseek-ai/dsh-session-title-llm` | — | [`packages/session/session-title-llm/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-llm/src/index.ts) |
4534
+ | `@deepseek-ai/dsh-subagent-in-process-driver` | — | [`packages/subagent/subagent-in-process-driver/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subagent/subagent-in-process-driver/src/index.ts) |
4535
+ | `@deepseek-ai/dsh-timeout` | — | [`packages/util/timeout/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/timeout/src/index.ts) |
4536
+ | `@deepseek-ai/dsh-typert-generator` | — | [`packages/typert/generator/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/typert/generator/src/index.ts) |
4537
+ | `@deepseek-ai/dsh-typert-protocol` | — | [`packages/typert/protocol/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/typert/protocol/src/index.ts) |
4538
+ | `@deepseek-ai/dsh-typert-registry` | — | [`packages/typert/registry/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/typert/registry/src/index.ts) |
4539
+ | `@deepseek-ai/dsh-util-code-language` | — | [`packages/util/code-language/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/code-language/src/index.ts) |
4540
+ | `@deepseek-ai/dsh-util-crypto` | — | [`packages/util/crypto/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/crypto/src/index.ts) |
4541
+ | `@deepseek-ai/dsh-util-time` | — | [`packages/util/time/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/time/src/index.ts) |
4542
+ | `@deepseek-ai/dsh-util-values` | — | [`packages/util/values/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/values/src/index.ts) |
4543
+ | `@deepseek-ai/dsh-util-workspace-path` | — | [`packages/util/workspace-path/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/workspace-path/src/index.ts) |
4544
+ | `@deepseek-ai/dsh-win32-process` | — | [`packages/subprocess/win32-process/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/subprocess/win32-process/src/index.ts) |
4545
+ <!-- END GENERATED config-catalog:library -->