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/capability-seams.md"
3
+ rawMarkdownPath: "en/reference/capability-seams.md"
3
4
  ---
4
5
 
5
6
  <!-- Generated by scripts/gen-doc-graphs.ts - do not edit by hand.
@@ -7,10 +8,38 @@ editSource: "docs/capability-seams.md"
7
8
 
8
9
  # Capability Seams And Core Services
9
10
 
10
- A service can be a core spine service, a swappable capability seam, or a bundle/composition point. The graph shows the package that owns the service declaration, known implementation packages, and packages that consume the service directly.
11
+ A service can be a core spine service, a swappable capability seam, a bundle/composition point, or a standalone service. The graph shows the package that owns the service declaration, known implementation packages, and packages that consume the service directly.
11
12
 
12
13
  ```mermaid
13
14
  flowchart LR
15
+ pkg_hmr["hmr"]
16
+ svc_hmr["ctx.hmr<br/>Serialized module and configuration reloads"]
17
+ pkg_app_boot["app-boot"]
18
+ pkg_client_ui_plugin_manager["client-ui-plugin-manager"]
19
+ svc_pluginRegistryProbe["ctx.pluginRegistryProbe<br/>Host registry response comparison"]
20
+ pkg_plugin_manager["plugin-manager"]
21
+ svc_pluginManager["ctx.pluginManager<br/>Current-profile plugin and bundle management"]
22
+ pkg_ui_settings_plugin_inventory["ui-settings-plugin-inventory"]
23
+ svc_profileContext["ctx.profileContext<br/>Launcher-owned profile data"]
24
+ pkg_client_connection["client-connection"]
25
+ svc_connection["ctx.connection<br/>Authenticated browser transport"]
26
+ pkg_api_gateway["api-gateway"]
27
+ pkg_host_frontend_static["host-frontend-static"]
28
+ pkg_mcp_resources["mcp-resources"]
29
+ svc_mcpResources["ctx.mcpResources<br/>Scoped MCP resource access"]
30
+ pkg_mcp_client["mcp-client"]
31
+ pkg_browser_use["browser-use"]
32
+ svc_browserUse["ctx.browserUse<br/>Browser-use provider registration"]
33
+ pkg_experimental_browser_use_playwright_mcp["experimental-browser-use-playwright-mcp"]
34
+ pkg_experimental_browser_use_chrome_devtools_mcp["experimental-browser-use-chrome-devtools-mcp"]
35
+ pkg_experimental_browser_use_stagehand_native["experimental-browser-use-stagehand-native"]
36
+ pkg_computer_use["computer-use"]
37
+ svc_computerUse["ctx.computerUse<br/>Computer-use provider registration"]
38
+ pkg_experimental_computer_use_cua_driver_mcp["experimental-computer-use-cua-driver-mcp"]
39
+ pkg_experimental_computer_use_cua_driver_native["experimental-computer-use-cua-driver-native"]
40
+ pkg_office_to_pdf["office-to-pdf"]
41
+ svc_officeToPdf["ctx.officeToPdf<br/>Office to PDF conversion"]
42
+ pkg_client_ui_sidebar_documentpreview["client-ui-sidebar-documentpreview"]
14
43
  pkg_attachment["attachment"]
15
44
  svc_attachments["ctx.attachments<br/>Durable binary attachment storage"]
16
45
  pkg_attachment_local["attachment-local"]
@@ -40,42 +69,60 @@ flowchart LR
40
69
  pkg_session_query["session-query"]
41
70
  pkg_session_query_sqlite["session-query-sqlite"]
42
71
  pkg_subagent_in_process_driver["subagent-in-process-driver"]
43
- pkg_invariants["invariants"]
44
72
  pkg_message_feedback["message-feedback"]
73
+ pkg_experimental_api_speech_to_text["experimental-api-speech-to-text"]
74
+ svc_speechController["ctx.speechController<br/>Experimental transcription Remote"]
45
75
  svc_sessionController["ctx.sessionController<br/>Host Session Remote controller"]
46
76
  svc_sessionFileReferences["ctx.sessionFileReferences<br/>Session-addressed file-reference Remote adapter"]
47
77
  svc_sessionSkillCatalog["ctx.sessionSkillCatalog<br/>Session-addressed skill Remote adapter"]
78
+ pkg_api_job_controller["api-job-controller"]
79
+ svc_jobController["ctx.jobController<br/>Host job Remote controller"]
48
80
  pkg_api_settings_controller["api-settings-controller"]
49
81
  svc_credentialsController["ctx.credentialsController<br/>Host credential-surface Remote controller"]
50
82
  svc_settingsController["ctx.settingsController<br/>Host settings-surface Remote controller"]
83
+ pkg_api_workspace_files["api-workspace-files"]
84
+ svc_workspaceFiles["ctx.workspaceFiles<br/>Host workspace file Remote service"]
85
+ pkg_workspace_changes["workspace-changes"]
86
+ svc_workspaceChanges["ctx.workspaceChanges<br/>Host per-turn changed-file summaries"]
87
+ pkg_api_terminal_controller["api-terminal-controller"]
88
+ svc_terminalController["ctx.terminalController<br/>Session interactive terminal Remote controller"]
51
89
  pkg_api_workspace_controller["api-workspace-controller"]
52
90
  svc_workspaceController["ctx.workspaceController<br/>Host Workspace Remote controller"]
53
91
  svc_directoryPickerController["ctx.directoryPickerController<br/>Host directory-picking Remote controller"]
54
- svc_invariants["ctx.invariants<br/>Package-owned invariant registry"]
55
- pkg_scope["scope"]
56
92
  pkg_typert_registry["typert-registry"]
57
93
  svc_typert["ctx.typert<br/>Runtime type registry"]
58
94
  pkg_typert_loader["typert-loader"]
59
- pkg_api_gateway["api-gateway"]
60
95
  svc_typertGateway["ctx.typertGateway<br/>Typert Host invocation gateway"]
61
96
  svc_sessionPersistence["ctx.sessionPersistence<br/>Durable session persistence seam"]
62
97
  pkg_session_persistence_jsonl["session-persistence-jsonl"]
63
98
  pkg_tool_bash["tool-bash"]
64
99
  pkg_hooks_claude_code["hooks-claude-code"]
65
100
  pkg_hooks_codex["hooks-codex"]
101
+ pkg_config_editor["config-editor"]
102
+ svc_configEditor["ctx.configEditor<br/>Profile configuration edits"]
66
103
  pkg_settings["settings"]
67
- svc_settings["ctx.settings<br/>User-settings seam"]
68
- pkg_settings_file["settings-file"]
104
+ pkg_agent_default_model["agent-default-model"]
105
+ svc_settings["ctx.settings<br/>Plugin configuration forms"]
69
106
  pkg_tool_subagent["tool-subagent"]
70
107
  svc_subagentModelSelection["ctx.subagentModelSelection<br/>Subagent model-selection preference"]
71
108
  pkg_credentials["credentials"]
72
109
  svc_credentials["ctx.credentials<br/>Credential seam"]
73
110
  pkg_credentials_local["credentials-local"]
111
+ pkg_deepseek_account["deepseek-account"]
112
+ svc_deepseekAccount["ctx.deepseekAccount<br/>DeepSeek account"]
113
+ pkg_deepseek_account_platform["deepseek-account-platform"]
114
+ pkg_api_account_controller["api-account-controller"]
74
115
  pkg_authorization["authorization"]
75
116
  svc_authorization["ctx.authorization<br/>Authorization flow registry"]
117
+ pkg_client_product_analytics["client-product-analytics"]
118
+ svc_productAnalytics["ctx.productAnalytics<br/>Desktop interaction collection"]
119
+ pkg_otel["otel"]
120
+ svc_otel["ctx.otel<br/>Shared OTel reporting channels"]
121
+ pkg_host_product_telemetry_otel["host-product-telemetry-otel"]
122
+ pkg_session_telemetry_otel["session-telemetry-otel"]
123
+ svc_productTelemetry["ctx.productTelemetry<br/>Product usage event sender"]
76
124
  pkg_session_telemetry["session-telemetry"]
77
125
  svc_sessionTelemetry["ctx.sessionTelemetry<br/>Session telemetry seam"]
78
- pkg_session_telemetry_otel["session-telemetry-otel"]
79
126
  pkg_storage["storage"]
80
127
  svc_storage["ctx.storage<br/>Non-session storage hub"]
81
128
  pkg_storage_json["storage-json"]
@@ -84,6 +131,8 @@ flowchart LR
84
131
  svc_storageDomain["ctx.storageDomain<br/>Domain data facility"]
85
132
  pkg_workspace["workspace"]
86
133
  svc_messageFeedback["ctx.messageFeedback<br/>Lifecycle-bound message feedback"]
134
+ pkg_command_feedback["command-feedback"]
135
+ svc_sessionFeedback["ctx.sessionFeedback<br/>Session-level feedback recorder"]
87
136
  svc_workspaceRegistry["ctx.workspaceRegistry<br/>Workspace entity registry"]
88
137
  svc_sessionQuery["ctx.sessionQuery<br/>Session reads, traces, filters, and search"]
89
138
  pkg_session_reference["session-reference"]
@@ -110,7 +159,7 @@ flowchart LR
110
159
  svc_userQuestions["ctx.userQuestions<br/>Human question/answer seam"]
111
160
  pkg_plan_mode["plan-mode"]
112
161
  svc_planMode["ctx.planMode<br/>Plan collaboration state"]
113
- pkg_agent_presets["agent-presets"]
162
+ pkg_agent_preset_registry["agent-preset-registry"]
114
163
  svc_agentPresets["ctx.agentPresets<br/>Per-session agent composition"]
115
164
  pkg_commands["commands"]
116
165
  svc_commands["ctx.commands<br/>Human command registry"]
@@ -118,25 +167,28 @@ flowchart LR
118
167
  svc_sessionProjections["ctx.sessionProjections<br/>Session projection units"]
119
168
  pkg_session_projection_cache["session-projection-cache"]
120
169
  svc_sessionProjectionCache["ctx.sessionProjectionCache<br/>Persisted projection cache"]
121
- pkg_subagent["subagent"]
122
170
  pkg_skill["skill"]
123
171
  svc_skills["ctx.skills<br/>Skill provider registry"]
172
+ pkg_sandbox_windows_acl["sandbox-windows-acl"]
124
173
  pkg_skill_badge["skill-badge"]
125
174
  pkg_skill_filesystem["skill-filesystem"]
175
+ pkg_skill_office["skill-office"]
126
176
  svc_agents["ctx.agents<br/>Agent service"]
127
177
  pkg_acp["acp"]
128
- pkg_agent_default_model["agent-default-model"]
129
178
  svc_agentDefaultModel["ctx.agentDefaultModel<br/>Default Agent model selection"]
130
179
  pkg_headless["headless"]
131
180
  svc_agentLoop["ctx.agentLoop<br/>Concrete loop driver"]
132
181
  pkg_base["base"]
133
182
  pkg_sdk_minimal["sdk-minimal"]
183
+ pkg_schedule["schedule"]
184
+ svc_schedule["ctx.schedule<br/>Host scheduled messages"]
134
185
  pkg_goal["goal"]
135
186
  svc_goals["ctx.goals<br/>Same-session goal domain"]
136
- pkg_e2b["e2b"]
137
- svc_e2b["ctx.e2b<br/>E2B sandbox lifecycle owner"]
138
- pkg_fs_e2b["fs-e2b"]
139
- pkg_subprocess_e2b["subprocess-e2b"]
187
+ pkg_ssh["ssh"]
188
+ svc_ssh["ctx.ssh<br/>POSIX SSH connection owner"]
189
+ pkg_fs_ssh["fs-ssh"]
190
+ pkg_subprocess_ssh["subprocess-ssh"]
191
+ pkg_sandbox_ssh["sandbox-ssh"]
140
192
  pkg_subprocess["subprocess"]
141
193
  svc_subprocess["ctx.subprocess<br/>Subprocess seam"]
142
194
  pkg_subprocess_local["subprocess-local"]
@@ -165,26 +217,32 @@ flowchart LR
165
217
  svc_approval["ctx.approval<br/>Approval seam"]
166
218
  pkg_permission_presets["permission-presets"]
167
219
  svc_permissionPresets["ctx.permissionPresets<br/>Permission presets"]
168
- pkg_code_runtime["code-runtime"]
169
- svc_codeRuntime["ctx.codeRuntime<br/>Code-execution seam"]
170
- pkg_code_runtime_worker_thread["code-runtime-worker-thread"]
171
- pkg_experimental_code_runtime_python["experimental-code-runtime-python"]
220
+ pkg_ptc_runtime["ptc-runtime"]
221
+ svc_ptcRuntime["ctx.ptcRuntime<br/>PTC execution seam"]
222
+ pkg_ptc_runtime_node["ptc-runtime-node"]
223
+ pkg_experimental_ptc_runtime_python["experimental-ptc-runtime-python"]
224
+ pkg_workflow_ptc["workflow-ptc"]
172
225
  pkg_fs["fs"]
173
226
  svc_fs["ctx.fs<br/>Filesystem provider seam"]
174
227
  pkg_fs_local["fs-local"]
175
228
  pkg_fs_observation_policy["fs-observation-policy"]
176
229
  pkg_compaction["compaction"]
177
230
  svc_compaction["ctx.compaction<br/>Compaction seam"]
231
+ pkg_subagent["subagent"]
178
232
  svc_subagents["ctx.subagents<br/>Subagent provider and continuation service"]
179
233
  pkg_subagent_spawn_in_process["subagent-spawn-in-process"]
180
234
  pkg_subagent_fork_in_process["subagent-fork-in-process"]
181
235
  pkg_subagent_dsh_sdk["subagent-dsh-sdk"]
182
236
  pkg_tool_subagent_control["tool-subagent-control"]
183
237
  pkg_tool_ralph["tool-ralph"]
238
+ pkg_experimental_speech_to_text["experimental-speech-to-text"]
239
+ svc_speechToText["ctx.speechToText<br/>Experimental speech recognition providers"]
240
+ pkg_experimental_speech_to_text_sensevoice["experimental-speech-to-text-sensevoice"]
184
241
  pkg_experimental_agent_team["experimental-agent-team"]
185
242
  svc_agentTeams["ctx.agentTeams<br/>Agent Teams coordination domain"]
186
243
  pkg_experimental_tool_agent_team["experimental-tool-agent-team"]
187
- pkg_experimental_client_ui_agent_team["experimental-client-ui-agent-team"]
244
+ pkg_experimental_claude_code_mods["experimental-claude-code-mods"]
245
+ svc_claudeCodeMods["ctx.claudeCodeMods<br/>Claude Code mods bridge"]
188
246
  pkg_inspector["inspector"]
189
247
  svc_inspector["ctx.inspector<br/>Cross-realm runtime inspection"]
190
248
  pkg_jobs["jobs"]
@@ -207,13 +265,11 @@ flowchart LR
207
265
  pkg_host_directory_picker_browse["host-directory-picker-browse"]
208
266
  pkg_host_webserver["host-webserver"]
209
267
  svc_webServer["ctx.webServer<br/>HTTP route registration"]
210
- pkg_client_connection["client-connection"]
211
268
  pkg_client_modules["client-modules"]
212
269
  pkg_client_hmr["client-hmr"]
213
270
  svc_clientModules["ctx.clientModules<br/>Client plugin graph host"]
214
271
  pkg_workflow["workflow"]
215
272
  svc_workflowEngine["ctx.workflowEngine<br/>Workflow script engine"]
216
- pkg_workflow_worker_thread["workflow-worker-thread"]
217
273
  pkg_tool_workflow["tool-workflow"]
218
274
  pkg_webhook["webhook"]
219
275
  svc_webhookRuntime["ctx.webhookRuntime<br/>Webhook rule runtime"]
@@ -227,49 +283,69 @@ flowchart LR
227
283
  pkg_agent --> svc_agents
228
284
  pkg_agent_default_model --> svc_agentDefaultModel
229
285
  pkg_agent_loop --> svc_agentLoop
230
- pkg_agent_presets --> svc_agentPresets
286
+ pkg_agent_preset_registry --> svc_agentPresets
231
287
  pkg_api_gateway --> svc_typertGateway
288
+ pkg_api_job_controller --> svc_jobController
232
289
  pkg_api_session_controller --> svc_sessionController
233
290
  pkg_api_session_controller --> svc_sessionFileReferences
234
291
  pkg_api_session_controller --> svc_sessionSkillCatalog
235
292
  pkg_api_settings_controller --> svc_credentialsController
236
293
  pkg_api_settings_controller --> svc_settingsController
294
+ pkg_api_terminal_controller --> svc_terminalController
237
295
  pkg_api_workspace_controller --> svc_directoryPickerController
238
296
  pkg_api_workspace_controller --> svc_workspaceController
297
+ pkg_api_workspace_files --> svc_workspaceFiles
298
+ pkg_app_boot --> svc_profileContext
239
299
  pkg_attachment --> svc_attachments
240
300
  pkg_attachment_local --> svc_attachments
241
301
  pkg_authorization --> svc_authorization
242
302
  pkg_bash_local --> svc_shell
243
303
  pkg_bash_sandbox --> svc_shell
304
+ pkg_browser_use --> svc_browserUse
305
+ pkg_client_connection --> svc_connection
244
306
  pkg_client_file_upload --> svc_fileUploads
245
307
  pkg_client_modules --> svc_clientModules
246
- pkg_code_runtime --> svc_codeRuntime
247
- pkg_code_runtime_worker_thread --> svc_codeRuntime
308
+ pkg_client_product_analytics --> svc_productAnalytics
309
+ pkg_client_ui_plugin_manager --> svc_pluginRegistryProbe
310
+ pkg_command_feedback --> svc_sessionFeedback
248
311
  pkg_commands --> svc_commands
249
312
  pkg_compaction --> svc_compaction
250
313
  pkg_compaction_basic --> svc_compaction
251
314
  pkg_compaction_tool_result_pruner --> svc_toolResultPruner
315
+ pkg_computer_use --> svc_computerUse
316
+ pkg_config_editor --> svc_configEditor
252
317
  pkg_cordis_host_runner --> svc_cordisInspect
253
318
  pkg_cordis_host_runner --> svc_dynamicCordisRunner
254
319
  pkg_credentials --> svc_credentials
255
320
  pkg_credentials_local --> svc_credentials
321
+ pkg_deepseek_account --> svc_deepseekAccount
322
+ pkg_deepseek_account_platform --> svc_deepseekAccount
256
323
  pkg_deepseek_llm_api_extensions --> svc_deepseekLlmApiExtensions
257
- pkg_e2b --> svc_e2b
258
324
  pkg_experimental_agent_team --> svc_agentTeams
259
- pkg_experimental_code_runtime_python --> svc_codeRuntime
325
+ pkg_experimental_api_speech_to_text --> svc_speechController
326
+ pkg_experimental_browser_use_chrome_devtools_mcp --> svc_browserUse
327
+ pkg_experimental_browser_use_playwright_mcp --> svc_browserUse
328
+ pkg_experimental_browser_use_stagehand_native --> svc_browserUse
329
+ pkg_experimental_claude_code_mods --> svc_claudeCodeMods
330
+ pkg_experimental_computer_use_cua_driver_mcp --> svc_computerUse
331
+ pkg_experimental_computer_use_cua_driver_native --> svc_computerUse
332
+ pkg_experimental_ptc_runtime_python --> svc_ptcRuntime
333
+ pkg_experimental_speech_to_text --> svc_speechToText
334
+ pkg_experimental_speech_to_text_sensevoice --> svc_speechToText
260
335
  pkg_file_reference --> svc_fileReferences
261
336
  pkg_file_reference_local --> svc_fileReferences
262
337
  pkg_fs --> svc_fs
263
- pkg_fs_e2b --> svc_fs
264
338
  pkg_fs_local --> svc_fs
265
339
  pkg_fs_sandbox --> svc_fs
340
+ pkg_fs_ssh --> svc_fs
266
341
  pkg_goal --> svc_goals
342
+ pkg_hmr --> svc_hmr
267
343
  pkg_host_directory_picker --> svc_directoryPicker
268
344
  pkg_host_directory_picker_browse --> svc_directoryPicker
269
345
  pkg_host_directory_picker_native --> svc_directoryPicker
346
+ pkg_host_product_telemetry_otel --> svc_productTelemetry
270
347
  pkg_host_webserver --> svc_webServer
271
348
  pkg_inspector --> svc_inspector
272
- pkg_invariants --> svc_invariants
273
349
  pkg_jobs --> svc_jobs
274
350
  pkg_jobs_local --> svc_jobs
275
351
  pkg_llm --> svc_llm
@@ -278,14 +354,24 @@ flowchart LR
278
354
  pkg_llm_replay --> svc_llm
279
355
  pkg_lsp --> svc_lsp
280
356
  pkg_lsp_stdio --> svc_lsp
357
+ pkg_mcp_client --> svc_mcpResources
358
+ pkg_mcp_resources --> svc_mcpResources
281
359
  pkg_message_feedback --> svc_messageFeedback
360
+ pkg_office_to_pdf --> svc_officeToPdf
361
+ pkg_otel --> svc_otel
282
362
  pkg_permission_presets --> svc_permissionPresets
283
363
  pkg_plan_mode --> svc_planMode
364
+ pkg_plugin_manager --> svc_pluginManager
284
365
  pkg_plugin_package_inventory_deepseek --> svc_deepseekLlmApiExtensions
366
+ pkg_ptc_runtime --> svc_ptcRuntime
367
+ pkg_ptc_runtime_node --> svc_ptcRuntime
285
368
  pkg_pwsh_local --> svc_shell
286
369
  pkg_sandbox --> svc_sandbox
287
370
  pkg_sandbox_local --> svc_sandbox
288
371
  pkg_sandbox_policy --> svc_sandboxPolicy
372
+ pkg_sandbox_ssh --> svc_sandbox
373
+ pkg_sandbox_windows_acl --> svc_skills
374
+ pkg_schedule --> svc_schedule
289
375
  pkg_session --> svc_sessions
290
376
  pkg_session_log_deepseek --> svc_deepseekLlmApiExtensions
291
377
  pkg_session_persistence --> svc_sessionPersistence
@@ -301,14 +387,15 @@ flowchart LR
301
387
  pkg_session_title_all_prompts_llm --> svc_sessionTitle
302
388
  pkg_session_title_first_prompt_llm --> svc_sessionTitle
303
389
  pkg_settings --> svc_settings
304
- pkg_settings_file --> svc_settings
305
390
  pkg_shell --> svc_shell
306
391
  pkg_shell_env --> svc_shellEnv
307
392
  pkg_skill --> svc_skills
308
393
  pkg_skill_badge --> svc_skills
309
394
  pkg_skill_filesystem --> svc_skills
395
+ pkg_skill_office --> svc_skills
310
396
  pkg_spill --> svc_spillStore
311
397
  pkg_spill_local --> svc_spillStore
398
+ pkg_ssh --> svc_ssh
312
399
  pkg_storage --> svc_storage
313
400
  pkg_storage_domain --> svc_storageDomain
314
401
  pkg_storage_json --> svc_storage
@@ -321,8 +408,8 @@ flowchart LR
321
408
  pkg_subagent_fork_in_process --> svc_subagents
322
409
  pkg_subagent_spawn_in_process --> svc_subagents
323
410
  pkg_subprocess --> svc_subprocess
324
- pkg_subprocess_e2b --> svc_subprocess
325
411
  pkg_subprocess_local --> svc_subprocess
412
+ pkg_subprocess_ssh --> svc_subprocess
326
413
  pkg_system_prompt --> svc_systemPrompt
327
414
  pkg_terminal --> svc_terminals
328
415
  pkg_terminal_bash --> svc_terminals
@@ -339,13 +426,13 @@ flowchart LR
339
426
  pkg_web_search_perplexity --> svc_web
340
427
  pkg_webhook --> svc_webhookRuntime
341
428
  pkg_workflow --> svc_workflowEngine
342
- pkg_workflow_worker_thread --> svc_workflowEngine
429
+ pkg_workflow_ptc --> svc_workflowEngine
343
430
  pkg_workspace --> svc_workspaceRegistry
431
+ pkg_workspace_changes --> svc_workspaceChanges
344
432
  svc_agentDefaultModel --> pkg_api_session_controller
345
433
  svc_agentDefaultModel --> pkg_headless
346
434
  svc_agentLoop --> pkg_base
347
435
  svc_agentLoop --> pkg_sdk_minimal
348
- svc_agentTeams --> pkg_experimental_client_ui_agent_team
349
436
  svc_agentTeams --> pkg_experimental_tool_agent_team
350
437
  svc_agents --> pkg_acp
351
438
  svc_agents --> pkg_agent_loop
@@ -358,32 +445,49 @@ flowchart LR
358
445
  svc_attachments --> pkg_llm_pi_ai
359
446
  svc_attachments --> pkg_tool_fs
360
447
  svc_authorization --> pkg_llm_pi_ai
448
+ svc_browserUse --> pkg_experimental_browser_use_chrome_devtools_mcp
449
+ svc_browserUse --> pkg_experimental_browser_use_playwright_mcp
450
+ svc_browserUse --> pkg_experimental_browser_use_stagehand_native
361
451
  svc_clientModules --> pkg_client_hmr
362
- svc_codeRuntime --> pkg_tools
363
452
  svc_compaction --> pkg_compaction_basic
453
+ svc_computerUse --> pkg_experimental_computer_use_cua_driver_mcp
454
+ svc_computerUse --> pkg_experimental_computer_use_cua_driver_native
455
+ svc_configEditor --> pkg_agent_default_model
456
+ svc_configEditor --> pkg_settings
457
+ svc_connection --> pkg_api_gateway
458
+ svc_connection --> pkg_host_frontend_static
364
459
  svc_cordisInspect --> pkg_tool_cordis
365
460
  svc_credentials --> pkg_api_settings_controller
366
461
  svc_credentials --> pkg_llm_deepseek
367
462
  svc_credentials --> pkg_llm_pi_ai
463
+ svc_deepseekAccount --> pkg_api_account_controller
464
+ svc_deepseekAccount --> pkg_llm_deepseek
368
465
  svc_deepseekLlmApiExtensions --> pkg_llm_deepseek
369
466
  svc_directoryPicker --> pkg_api_workspace_controller
370
467
  svc_dynamicCordisRunner --> pkg_tool_cordis
371
- svc_e2b --> pkg_fs_e2b
372
- svc_e2b --> pkg_subprocess_e2b
373
468
  svc_fileReferences --> pkg_api_session_controller
374
469
  svc_fileUploads --> pkg_api_session_controller
375
470
  svc_fs --> pkg_tool_fs
376
- svc_invariants --> pkg_agent
377
- svc_invariants --> pkg_agent_loop
378
- svc_invariants --> pkg_scope
379
- svc_invariants --> pkg_session
471
+ svc_hmr --> pkg_app_boot
472
+ svc_jobs --> pkg_api_job_controller
380
473
  svc_jobs --> pkg_tool_bash
381
474
  svc_jobs --> pkg_tool_jobs
475
+ svc_jobs --> pkg_tool_pwsh
382
476
  svc_jobs --> pkg_tool_subagent
383
477
  svc_jobs --> pkg_tool_terminal
384
478
  svc_llm --> pkg_agent_loop
385
479
  svc_llm --> pkg_compaction_basic
386
480
  svc_lsp --> pkg_tool_lsp
481
+ svc_mcpResources --> pkg_mcp_resources
482
+ svc_officeToPdf --> pkg_client_ui_sidebar_documentpreview
483
+ svc_otel --> pkg_host_product_telemetry_otel
484
+ svc_otel --> pkg_session_telemetry_otel
485
+ svc_pluginManager --> pkg_plugin_manager
486
+ svc_pluginManager --> pkg_ui_settings_plugin_inventory
487
+ svc_pluginRegistryProbe --> pkg_client_ui_plugin_manager
488
+ svc_profileContext --> pkg_plugin_manager
489
+ svc_ptcRuntime --> pkg_tools
490
+ svc_ptcRuntime --> pkg_workflow_ptc
387
491
  svc_sandbox --> pkg_bash_sandbox
388
492
  svc_sandbox --> pkg_terminal_bash
389
493
  svc_sandboxPolicy --> pkg_bash_sandbox
@@ -399,7 +503,6 @@ flowchart LR
399
503
  svc_sessionProjectionCache --> pkg_api_session_controller
400
504
  svc_sessionProjectionCache --> pkg_session_query
401
505
  svc_sessionProjectionCache --> pkg_session_reference
402
- svc_sessionProjectionCache --> pkg_subagent
403
506
  svc_sessionProjections --> pkg_api_session_controller
404
507
  svc_sessionProjections --> pkg_session_title
405
508
  svc_sessionProjections --> pkg_tool_todo
@@ -407,15 +510,12 @@ flowchart LR
407
510
  svc_sessionQuery --> pkg_tool_session_query
408
511
  svc_sessions --> pkg_agent
409
512
  svc_sessions --> pkg_agent_loop
410
- svc_sessions --> pkg_invariants
411
513
  svc_sessions --> pkg_message_feedback
412
514
  svc_sessions --> pkg_session_persistence
413
515
  svc_sessions --> pkg_session_query
414
516
  svc_sessions --> pkg_session_query_sqlite
415
517
  svc_sessions --> pkg_subagent_in_process_driver
416
518
  svc_settings --> pkg_api_settings_controller
417
- svc_settings --> pkg_llm_deepseek
418
- svc_settings --> pkg_llm_pi_ai
419
519
  svc_shell --> pkg_hooks_claude_code
420
520
  svc_shell --> pkg_hooks_codex
421
521
  svc_shell --> pkg_tool_bash
@@ -423,9 +523,12 @@ flowchart LR
423
523
  svc_shellEnv --> pkg_tool_bash
424
524
  svc_shellEnv --> pkg_tool_pwsh
425
525
  svc_skills --> pkg_tool_skill
526
+ svc_speechToText --> pkg_experimental_api_speech_to_text
426
527
  svc_spillStore --> pkg_spill_policy
528
+ svc_ssh --> pkg_fs_ssh
529
+ svc_ssh --> pkg_sandbox_ssh
530
+ svc_ssh --> pkg_subprocess_ssh
427
531
  svc_storage --> pkg_storage_domain
428
- svc_storageDomain --> pkg_message_feedback
429
532
  svc_storageDomain --> pkg_workspace
430
533
  svc_subagentModelSelection --> pkg_tool_subagent
431
534
  svc_subagents --> pkg_tool_ralph
@@ -473,32 +576,51 @@ flowchart LR
473
576
 
474
577
  | ctx key | Role | Owner | Implementations | Direct consumers | Companion plugins | Note |
475
578
  | --- | --- | --- | --- | --- | --- | --- |
579
+ | `ctx.hmr` | `core` | [`hmr`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/hmr) | - | [`app-boot`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/app-boot) | - | Owns module and exact configuration watchers; application mutations share its queue and automatic reloads await the application file lock. |
580
+ | `ctx.pluginRegistryProbe` | `core` | [`client-ui-plugin-manager`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/ui-plugin-manager) | - | [`client-ui-plugin-manager`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/ui-plugin-manager) | - | Races public registry responses on the Host; the Client owns the initial registry recommendation. |
581
+ | `ctx.pluginManager` | `core` | [`plugin-manager`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/plugin-manager) | - | [`plugin-manager`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/plugin-manager), `ui-settings-plugin-inventory` | - | Shares profile package operations with the CLI and reports persisted and running state to Web and agent callers. |
582
+ | `ctx.profileContext` | `core` | [`app-boot`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/app-boot) | - | [`plugin-manager`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/plugin-manager) | - | The dsh launcher supplies data-only profile locations and composition inputs; reload scheduling belongs to dsh-hmr. |
583
+ | `ctx.connection` | `core` | [`client-connection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/connection) | - | [`api-gateway`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/gateway), [`host-frontend-static`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/frontend-static) | - | Owns browser authentication and shared HTTP request dispatch; API adapters register endpoints and streams. |
584
+ | `ctx.mcpResources` | `seam` | [`mcp-resources`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/mcp/mcp-resources) | [`mcp-client`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/mcp/mcp-client) | [`mcp-resources`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/mcp/mcp-resources) | - | Connection-owned providers serve shared resource tools in the calling agent scope. |
585
+ | `ctx.browserUse` | `seam` | [`browser-use`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/browser-use/browser-use) | [`experimental-browser-use-playwright-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-playwright-mcp), [`experimental-browser-use-chrome-devtools-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-chrome-devtools-mcp), [`experimental-browser-use-stagehand-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-stagehand-native) | [`experimental-browser-use-playwright-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-playwright-mcp), [`experimental-browser-use-chrome-devtools-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-chrome-devtools-mcp), [`experimental-browser-use-stagehand-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-stagehand-native) | - | One provider-owned name per service instance. Providers own their tools and browser resources per live Session; the shared service has no browser operation API. |
586
+ | `ctx.computerUse` | `seam` | [`computer-use`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/computer-use/computer-use) | [`experimental-computer-use-cua-driver-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/computer-use-cua-driver-mcp), [`experimental-computer-use-cua-driver-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/computer-use-cua-driver-native) | [`experimental-computer-use-cua-driver-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/computer-use-cua-driver-mcp), [`experimental-computer-use-cua-driver-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/computer-use-cua-driver-native) | - | One provider-owned name per service instance. Each provider also owns its model tools; the service has no common action API, runtime selection, or Session workflow lock. |
587
+ | `ctx.officeToPdf` | `core` | [`office-to-pdf`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/document/office-to-pdf) | - | [`client-ui-sidebar-documentpreview`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/ui-sidebar-documentpreview) | - | Authorized Office bytes are converted on the Host using the declared native target engine, or Node WASM when no native target is declared. |
476
588
  | `ctx.attachments` | `seam` | [`attachment`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/attachment/attachment) | [`attachment-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/attachment/attachment-local) | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek) | - | The host commits accepted images before session events; provider adapters resolve authorized durable references into provider-native content. |
477
589
  | `ctx.fileUploads` | `core` | [`client-file-upload`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/file-upload) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | Owns streaming intake, durable storage, and staged receipt lifetime; the Session controller binds receipts to accepted submissions. |
478
590
  | `ctx.llm` | `seam` | [`llm`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), [`llm-replay`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/test-support/llm-replay) | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | Adapters register provider implementations; the loop and compaction call the provider-neutral stream service. |
479
591
  | `ctx.deepseekLlmApiExtensions` | `seam` | [`deepseek-llm-api-extensions`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/deepseek-llm-api-extensions) | [`session-log-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-log-deepseek), [`plugin-package-inventory-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/plugin-package-inventory-deepseek) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek) | - | Plugins prepare independent top-level fields; the official adapter merges them and commits their delivery state after HTTP acceptance. |
480
592
  | `ctx.tokenMeter` | `core` | [`token-meter`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/token-meter) | - | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | Owns isolated per-session replay folds; pressure consumers share immutable revisioned measurements. |
481
593
  | `ctx.toolResultPruner` | `core` | [`compaction-tool-result-pruner`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-tool-result-pruner) | - | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | Rewrites oversized current tool results through replayable single-node surface replacements before summary compaction. |
482
- | `ctx.sessions` | `core` | [`session`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/session) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent), [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), [`subagent-in-process-driver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-in-process-driver), [`invariants`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/runtime-diagnostics/invariants), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | Owns append-only Session instances and emits the durable session event feed. |
594
+ | `ctx.sessions` | `core` | [`session`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/session) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent), [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), [`subagent-in-process-driver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-in-process-driver), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | Owns append-only Session instances and emits the durable session event feed. |
595
+ | `ctx.speechController` | `core` | [`experimental-api-speech-to-text`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/api-speech-to-text) | - | - | - | Validates bounded browser audio before provider dispatch. |
483
596
  | `ctx.sessionController` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | Owns Session commands, cold reads, durable-event following, live control state, model catalogs, workspace opening, and Agent activation policy. |
484
597
  | `ctx.sessionFileReferences` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | Delegates file-reference discovery through the Session Controller's established Agent lookup policy. |
485
598
  | `ctx.sessionSkillCatalog` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | Lists the Session composition's user-invocable skills without activating a cold Agent. |
599
+ | `ctx.jobController` | `core` | [`api-job-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/job-controller) | - | - | - | Streams one background job's observation record over the generated Remote namespace; the roster stays on the session control stream. |
486
600
  | `ctx.credentialsController` | `core` | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller) | - | - | - | Projects the credential-reference seam onto the generated Remote namespace: batch fan-out, view projection, and refusal mapping live here, not on the seam Definition. |
487
601
  | `ctx.settingsController` | `core` | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller) | - | - | - | Projects the user-settings seam onto the generated Remote namespace: the read is always redacted and every refusal is classified here, not on the seam Definition. |
602
+ | `ctx.workspaceFiles` | `core` | [`api-workspace-files`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-files) | - | - | - | Serves stat, paged text, byte windows, directory listings, and the change feed for files inside a Session's workspace root, confined by lstat, containment, and a stat re-check. |
603
+ | `ctx.workspaceChanges` | `core` | [`workspace-changes`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/deliverables/workspace-changes) | - | - | - | Serves the summary each workspace/changes event announced and each listed file's turn-start and turn-end comparison, by Session and event sequence, until that Session is disposed; the log carries only the turn. |
604
+ | `ctx.terminalController` | `core` | [`api-terminal-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/terminal-controller) | - | - | - | Owns user terminal processes, default shell resolution and bounded screen recovery through the subprocess provider and typed Remote transport. |
488
605
  | `ctx.workspaceController` | `core` | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | - | - | Owns Workspace commands and reconnect-safe Workspace state delivery through the generated Remote namespace. |
489
606
  | `ctx.directoryPickerController` | `core` | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | - | - | Carries the picking seam onto the wire: capability gating, cancellation, and the seam-coded failures a browser directory flow discriminates on. |
490
- | `ctx.invariants` | `core` | [`invariants`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/runtime-diagnostics/invariants) | - | [`session`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/session), [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent), [`scope`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/scope), [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | Companion subpaths register owner-local checks; the service owns selection, uniqueness, child fibers, and package-attributed failures. |
491
607
  | `ctx.typert` | `core` | [`typert-registry`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/typert/registry) | - | [`typert-loader`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/typert/loader), [`api-gateway`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/gateway) | - | Plugins register live zod contributions directly or through dsh-typert-loader; the API gateway consumes invocation descriptors and providers, while other runtime consumers query schemas and reflection metadata at their own edges. |
492
608
  | `ctx.typertGateway` | `core` | [`api-gateway`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/gateway) | - | - | - | Associates generated Remote descriptors with live Cordis services, resolves registered identities, and exposes unary calls through the shared Connection RPC carrier. |
493
609
  | `ctx.sessionPersistence` | `seam` | [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence) | [`session-persistence-jsonl`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence-jsonl) | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`hooks-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-claude-code), [`hooks-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-codex), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | The JSONL backend persists the SessionEvent vocabulary as one artifact per Session. |
494
- | `ctx.settings` | `seam` | [`settings`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings) | [`settings-file`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings-file) | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | Plugins register namespace schemas and resolve layered values; providers store the raw document. The LLM adapters register their entry config as the composition base under the user section; the settings controller serves redacted layered descriptors and writes the user layer. |
610
+ | `ctx.configEditor` | `core` | [`config-editor`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/config-editor) | - | [`settings`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings), [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | Persists profile config patches under the application file lock and HMR queue, then reconciles Loader entries. |
611
+ | `ctx.settings` | `core` | [`settings`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings) | - | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller) | - | Forms project volatile Config fields from active profile entries and delegate validated edits to config-editor. Plugins consume their own Config references. |
495
612
  | `ctx.subagentModelSelection` | `core` | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent) | - | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent) | - | Owns the default-off settings namespace that Agent-scoped delegation tools sample when composing a new top-level Session. |
496
613
  | `ctx.credentials` | `seam` | [`credentials`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials) | [`credentials-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials-local) | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | Configuration carries references to secrets; providers own the values. Consumers resolve per operation, so a rotated credential reaches the very next request; the settings controller exposes value-free views and write-only storage. |
614
+ | `ctx.deepseekAccount` | `seam` | [`deepseek-account`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/deepseek-account) | [`deepseek-account-platform`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/deepseek-account-platform) | [`api-account-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/account-controller), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek) | - | The Host owns browser authorization and local credentials; UI consumers receive state without tokens. |
497
615
  | `ctx.authorization` | `seam` | [`authorization`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/authorization) | - | [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | Flows are registered by the plugin that knows how to obtain one credential and keyed by the record they write; the seam owns the conversation and the one-attempt-per-key lifecycle, never the protocol. |
616
+ | `ctx.productAnalytics` | `service` | [`client-product-analytics`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/product-analytics) | - | - | - | Accepts selected Desktop events, enriches available login identity, and observes live compaction under the live Host collection policy. |
617
+ | `ctx.otel` | `service` | [`otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/telemetry/otel) | - | [`host-product-telemetry-otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/product-telemetry-otel), [`session-telemetry-otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry-otel) | - | Product analytics and Session feedback adapters create independent reporting channels through one injected service. |
618
+ | `ctx.productTelemetry` | `service` | [`host-product-telemetry-otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/product-telemetry-otel) | - | - | - | Exports explicitly submitted analytics events through OTLP/HTTP; mounting alone collects nothing. |
498
619
  | `ctx.sessionTelemetry` | `seam` | [`session-telemetry`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry) | [`session-telemetry-otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry-otel) | - | - | The seam captures, redacts, and hands session records to one backend; nothing else consumes the service — its output leaves the process. |
499
620
  | `ctx.storage` | `seam` | [`storage`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage) | [`storage-json`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-json), [`storage-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-sqlite) | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | Backends register side by side under names; data forms (domain first) mount on the hub and translate typed operations into opaque KV-unit primitives. |
500
- | `ctx.storageDomain` | `core` | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | Waits for every configured backend, then publishes the domain form as one lifecycle-bound service for typed durable state. |
501
- | `ctx.messageFeedback` | `core` | [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | - | - | Owns local per-assistant-message feedback, lifecycle and target validation, per-item compare-and-set, and the Host unary Remote contract without entering Session history or telemetry. |
621
+ | `ctx.storageDomain` | `core` | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace) | - | Waits for every configured backend, then publishes the domain form as one lifecycle-bound service for typed durable state. |
622
+ | `ctx.messageFeedback` | `core` | [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | - | - | Owns per-assistant-message feedback in the canonical Session log, target validation, per-item compare-and-set, and the Host unary Remote contract. Feedback stays outside model history; log export follows the consumer policy. |
623
+ | `ctx.sessionFeedback` | `core` | [`command-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/command-feedback) | - | - | - | Records one Session-level remark with its category as a log-only feedback/record event on a live Session through the Host unary Remote contract; the /feedback command shares the same producer. |
502
624
  | `ctx.workspaceRegistry` | `core` | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace) | - | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller), [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | Owns WorkspaceId-branded records over the domain facility; stable sessionIds accounts drive Host RPC and GUI projections. |
503
625
  | `ctx.sessionQuery` | `seam` | [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query) | [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite) | [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference), [`tool-session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/tool-session-query) | - | The interface supplies exact reads, filters, and traces; its concrete backend adds full-text reconciliation, ranking, snippets, and cursor generations, while the model consumer owns workspace authority and cursor-free rendering. |
504
626
  | `ctx.fileReferences` | `seam` | [`file-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference) | [`file-reference-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference-local) | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | The interface returns path-only completion candidates within an Agent cwd; providers own namespace access and ranking without reading file contents. |
@@ -508,37 +630,40 @@ flowchart LR
508
630
  | `ctx.tools` | `core` | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tool-ask-user`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/tool-ask-user), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-cordis`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/tool-cordis), [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/tool-skill), [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-todo`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/todo/tool-todo), [`tool-web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/tool-web) | - | Registers capabilities, owns PTC mode transport, and routes calls through pre-policy, monotonic guards, around dispatch, post-policy, and final-result observation. |
509
631
  | `ctx.userQuestions` | `seam` | [`user-questions`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/user-questions) | - | [`tool-ask-user`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/tool-ask-user) | - | UI front ends provide the active human-answer provider; tool-ask-user pauses a tool call on the provider-neutral ask() promise. |
510
632
  | `ctx.planMode` | `core` | [`plan-mode`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/plan/plan-mode) | - | - | - | Folds logged plan/mode state, flushes user selections at turn boundaries, renders deployment-owned guidance, registers /plan, and keeps the plan-exit schema stable across transitions. |
511
- | `ctx.agentPresets` | `core` | [`agent-presets`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/preset/agent-presets) | - | - | - | Discovers preset directories over trusted and user-authored roots and mounts one preset cordis.yml under an agent scope during creation, rejecting a row that never activates or that publishes into the root service realm. |
633
+ | `ctx.agentPresets` | `core` | [`agent-preset-registry`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/preset/agent-preset-registry) | - | - | - | Eagerly mounts YAML-declared preset revisions, binds Agents and cold readers to scoped contributions, and retains retired revisions until their last user releases them. |
512
634
  | `ctx.commands` | `core` | [`commands`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/commands) | - | - | - | Plugins register direct human commands without sending invocations to the model. |
513
635
  | `ctx.sessionProjections` | `core` | [`session-projection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`tool-todo`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/todo/tool-todo), [`session-title`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-title) | - | Domains register state-driven fold units; the eager drive keeps per-session watermark states and the Session controller serves baselines and pushes changed values. |
514
- | `ctx.sessionProjectionCache` | `core` | [`session-projection-cache`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection-cache) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference), [`subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent) | - | Durably checkpoints projection unit states per session (throttled + turn/end/detach mandatory points) and serves the cold-read ladder: cache row + persistence tail replay, so listings never load full logs. |
515
- | `ctx.skills` | `seam` | [`skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill) | [`skill-badge`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-badge), [`skill-filesystem`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-filesystem) | [`tool-skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/tool-skill) | - | Merges provider skill catalogs; tool-skill renders the session-prefix catalog and loads complete skill bodies. |
636
+ | `ctx.sessionProjectionCache` | `core` | [`session-projection-cache`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection-cache) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference) | - | Durably checkpoints projection unit states per session (throttled + turn/end/detach mandatory points), serves cached projection views, and accelerates prepared-Session projection hydration. |
637
+ | `ctx.skills` | `seam` | [`skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill) | [`sandbox-windows-acl`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-windows-acl), [`skill-badge`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-badge), [`skill-filesystem`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-filesystem), [`skill-office`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-office) | [`tool-skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/tool-skill) | - | Merges provider skill catalogs; tool-skill renders the session-prefix catalog and loads complete skill bodies. |
516
638
  | `ctx.agents` | `core` | [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/acp/acp), [`subagent-in-process-driver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-in-process-driver) | - | Owns live Agent handles, the create/resume factory seam, and process-local initiator propagation. |
517
- | `ctx.agentDefaultModel` | `core` | [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`headless`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/headless) | - | Layers the default ModelSelection through settings so direct and Host-backed Agent entry points share one state owner. |
639
+ | `ctx.agentDefaultModel` | `core` | [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`headless`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/headless) | - | Reads the default ModelSelection from volatile Config and saves selections through the profile editor. |
518
640
  | `ctx.agentLoop` | `bundle` | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | [`base`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/base), [`sdk-minimal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/sdk-minimal) | - | The one concrete loop plugin; extension packages depend on dsh-agent events and services, not on this package. |
641
+ | `ctx.schedule` | `core` | [`schedule`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/schedule/schedule) | - | - | - | Stores tasks independently of Session activation and queues due messages in the original Session. |
519
642
  | `ctx.goals` | `core` | [`goal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/goal/goal) | - | - | - | Folds revisioned objective state from the session log and keeps live continuation activation process-local. |
520
- | `ctx.e2b` | `core` | [`e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/e2b) | - | [`fs-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/fs-e2b), [`subprocess-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/subprocess-e2b) | - | Owns one shared E2B SDK handle, remote working directory, and final sandbox disposition so both fundamental E2B providers inhabit the same Linux runtime. |
521
- | `ctx.subprocess` | `seam` | [`subprocess`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess) | [`subprocess-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess-local), [`subprocess-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/subprocess-e2b) | [`bash-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-local), [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash), [`lsp-stdio`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp-stdio), [`subagent-acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-acp), [`subagent-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-codex), [`subagent-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-claude-code) | - | The bash executors, the PTY shell backend, the LSP host, and the out-of-process ACP, Codex, and Claude Code subagent backends spawn through ctx.subprocess; the service owns process coordinates, tree/session lifetime, stdio dispositions, terminal mechanics, and kill escalation. |
643
+ | `ctx.ssh` | `core` | [`ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/ssh) | - | [`fs-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/fs-ssh), [`subprocess-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/subprocess-ssh), [`sandbox-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/sandbox-ssh) | - | Owns one authenticated OpenSSH connection, installed helper identity, independent program streams and disconnect cleanup for the paired remote providers. |
644
+ | `ctx.subprocess` | `seam` | [`subprocess`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess) | [`subprocess-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess-local), [`subprocess-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/subprocess-ssh) | [`bash-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-local), [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash), [`lsp-stdio`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp-stdio), [`subagent-acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-acp), [`subagent-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-codex), [`subagent-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-claude-code) | - | The bash executors, the PTY shell backend, the LSP host, and the out-of-process ACP, Codex, and Claude Code subagent backends spawn through ctx.subprocess; the service owns process coordinates, tree/session lifetime, stdio dispositions, terminal mechanics, and kill escalation. |
522
645
  | `ctx.shell` | `seam` | [`shell`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/shell) | [`bash-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-local), [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`pwsh-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/pwsh-local) | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-pwsh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-pwsh), [`hooks-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-claude-code), [`hooks-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-codex) | - | The model-facing shell tools and hook bridges consume this seam; sandboxed, remote, or PowerShell executors replace bash-local without touching them. |
523
646
  | `ctx.shellEnv` | `core` | [`shell-env`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/shell-env) | - | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-pwsh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-pwsh) | - | Plugins declare effect-scoped DSH_* facts; each shell tool collects one trusted snapshot per execution and its executor rebuilds the namespace. |
524
647
  | `ctx.terminals` | `seam` | [`terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal) | [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal) | - | The registry owns exact-Agent session identity and cleanup; backends own terminal mechanics, while tool-terminal exposes the owner-scoped model tools. |
525
- | `ctx.sandbox` | `seam` | [`sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox) | [`sandbox-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-local) | [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | - | Consumers hand over the exact argv they are about to spawn; same-world backends wrap it under a per-call policy and report enforcement. |
648
+ | `ctx.sandbox` | `seam` | [`sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox) | [`sandbox-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-local), [`sandbox-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/sandbox-ssh) | [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | - | Consumers hand over the exact argv they are about to spawn; same-world backends wrap it under a per-call policy and report enforcement. |
526
649
  | `ctx.sandboxPolicy` | `core` | [`sandbox-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-policy) | - | [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`fs-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | - | The one home for the deployment default mode + workspace root; only the sandboxed executor and provider read the service (the tool layers use the pure `sandbox/mode` fold it also exports). Both enforcing families read it so bash and fs cannot confine to different roots. |
527
650
  | `ctx.approval` | `seam` | [`user-approval`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/user-approval) | - | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/acp/acp) | - | One-shot permission decisions dispatched over the `approval/request` waterfall; answerers are listeners (the ACP bridge for its own agents), absence fails closed to `unavailable`. |
528
651
  | `ctx.permissionPresets` | `core` | [`permission-presets`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/permission-presets) | - | - | - | User-facing preset table (`workspace-write`/`danger-full-access`) bundling the sandbox-mode and approval-policy knobs; a switch writes one `permission/preset` event through to both knob events. |
529
- | `ctx.codeRuntime` | `seam` | [`code-runtime`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/code-runtime/code-runtime) | [`code-runtime-worker-thread`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/code-runtime/code-runtime-worker-thread), [`experimental-code-runtime-python`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/code-runtime-python) | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools) | - | Runs one model-written program against host-provided async bindings; backends differ by substrate and language (the tool registry consumes it for PTC mode). |
530
- | `ctx.fs` | `seam` | [`fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs) | [`fs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-local), [`fs-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-sandbox), [`fs-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/fs-e2b) | [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs) | [`fs-observation-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-observation-policy) | tool-fs executes read/write/edit through ctx.fs; fs-sandbox fences mutations by the shared sandbox mode; fs-observation-policy contributes observed-state checks through the fs/* event gate. |
652
+ | `ctx.ptcRuntime` | `seam` | [`ptc-runtime`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ptc-runtime/ptc-runtime) | [`ptc-runtime-node`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ptc-runtime/ptc-runtime-node), [`experimental-ptc-runtime-python`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/ptc-runtime-python) | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools), [`workflow-ptc`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow-ptc) | - | Runs programs against host-provided async bindings; tools owns PTC presentation and workflow-ptc owns workflow orchestration. |
653
+ | `ctx.fs` | `seam` | [`fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs) | [`fs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-local), [`fs-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-sandbox), [`fs-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/fs-ssh) | [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs) | [`fs-observation-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-observation-policy) | tool-fs executes read/write/edit through ctx.fs; fs-sandbox fences mutations by the shared sandbox mode; fs-observation-policy contributes observed-state checks through the fs/* event gate. |
531
654
  | `ctx.compaction` | `seam` | [`compaction`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction) | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | The basic backend consumes post-step pressure and request-error recovery events; there is no model-facing compact tool. |
532
655
  | `ctx.subagents` | `seam` | [`subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent) | [`subagent-spawn-in-process`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-spawn-in-process), [`subagent-fork-in-process`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-fork-in-process), [`subagent-acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-acp), [`subagent-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-codex), [`subagent-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-claude-code), [`subagent-dsh-sdk`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-dsh-sdk) | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-subagent-control`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent-control), [`tool-ralph`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-ralph) | - | Providers implement transports; the service also owns optional Activation-based continuation orchestration, tool-subagent selects one-shot or continuable delegation, tool-subagent-control delivers follow-ups, and tool-ralph requires one fresh structured-output route. |
533
- | `ctx.agentTeams` | `core` | [`experimental-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/agent-team) | - | [`experimental-tool-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/tool-agent-team), [`experimental-client-ui-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/client-ui-agent-team) | - | Owns the implicit-root roster, durable peer mailbox, shared task DAG, continuable-child lifecycle, and generated Team Remote methods; tool-agent-team contributes model controls and client-ui-agent-team mounts the browser contribution. |
656
+ | `ctx.speechToText` | `seam` | [`experimental-speech-to-text`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/speech-to-text) | [`experimental-speech-to-text-sensevoice`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/speech-to-text-sensevoice) | [`experimental-api-speech-to-text`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/api-speech-to-text) | - | Routes explicit recognizers; the browser uses the authenticated Remote and keeps transcripts in the draft until submission. |
657
+ | `ctx.agentTeams` | `core` | [`experimental-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/agent-team) | - | [`experimental-tool-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/tool-agent-team) | - | Owns the implicit-root roster, durable peer mailbox, shared task DAG, and continuable-child lifecycle; tool-agent-team contributes model controls. |
658
+ | `ctx.claudeCodeMods` | `core` | [`experimental-claude-code-mods`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/claude-code-mods) | - | - | - | Loads mods that defineMod plugins add, raises their hook chains from harness extension points, and draws the band above the prompt over its Remote. |
534
659
  | `ctx.inspector` | `core` | `inspector` | - | - | - | Owns the Worker-hosted CDP target and the transport-independent Host and Client observation and Cordis-tree query API. |
535
- | `ctx.jobs` | `seam` | [`jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs) | [`jobs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs-local) | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/tool-jobs) | - | Producers (background bash, PTY sends, and subagent delegations) register running work; tool-jobs is the model-facing controller that reads, lists, and kills it; jobs-local is the process-local registry. |
660
+ | `ctx.jobs` | `seam` | [`jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs) | [`jobs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs-local) | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-pwsh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-pwsh), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/tool-jobs), [`api-job-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/job-controller) | - | Producers (background bash/pwsh, PTY sends, and subagent delegations) register running work; record-declaring jobs additionally stream raw output for non-consuming observers; tool-jobs is the model-facing controller that reads, lists, and kills it; jobs-local is the process-local registry. |
536
661
  | `ctx.web` | `seam` | [`web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web) | [`web-search-exa`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-exa), [`web-search-perplexity`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-perplexity), [`web-search-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-deepseek), [`web-fetch-http`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-fetch-http) | [`tool-web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/tool-web) | - | Search and fetch providers register into one ctx.web seam; tool-web owns the stable model-facing names. |
537
662
  | `ctx.spillStore` | `seam` | [`spill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill) | [`spill-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill-local) | [`spill-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill-policy) | - | The backend saves oversized tool text and returns a model-facing locator plus retrieval hint; spill-policy is the tools/post-execute consumer that decides when to spill. |
538
663
  | `ctx.directoryPicker` | `seam` | [`host-directory-picker`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker) | [`host-directory-picker-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker-native), [`host-directory-picker-browse`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker-browse) | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | Discriminated interaction capability: the native backend opens one OS chooser on the host display, the browse backend serves listing/creation primitives for the in-app browser; dual-face backends fill ui-workspace directory-flow slots from their browser halves (no wire advertisement). |
539
664
  | `ctx.webServer` | `core` | [`host-webserver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/webserver) | - | [`client-connection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/connection), [`client-modules`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/modules), [`client-hmr`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/hmr) | - | Plain node:http carrier: named-route registry, index transform taps, and the static dist fallback; web-transport plugins register their own routes. |
540
665
  | `ctx.clientModules` | `core` | [`client-modules`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/modules) | - | [`client-hmr`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/hmr) | - | Composes the __DSH_BOOT__ entry graph from an incremental dsh.client scan, serves plugin bundles, and notifies rebuilt/graph-changed subscribers. |
541
- | `ctx.workflowEngine` | `seam` | [`workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow) | [`workflow-worker-thread`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow-worker-thread) | [`tool-workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-workflow), [`tool-ralph`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-ralph) | - | One engine per context, as in bash, with no named-provider registry; the general workflow and fixed Ralph consumers start runs whose agent() calls fan out through ctx.subagents. |
666
+ | `ctx.workflowEngine` | `seam` | [`workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow) | [`workflow-ptc`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow-ptc) | [`tool-workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-workflow), [`tool-ralph`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-ralph) | - | One engine per context, as in bash, with no named-provider registry; the general workflow and fixed Ralph consumers start runs whose agent() calls fan out through ctx.subagents. |
542
667
  | `ctx.webhookRuntime` | `core` | [`webhook`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/webhook/webhook) | - | [`webhook-github`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/webhook/webhook-github) | - | Provider adapters dispatch authenticated deliveries; trusted plugins register independent process-local rules, and the runtime turns non-null results into ordinary Workspace-backed Sessions without delivery or completion state. |
543
668
  | `ctx.lsp` | `seam` | [`lsp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp) | [`lsp-stdio`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp-stdio) | [`tool-lsp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/tool-lsp) | - | Provider registration and selection plus normalized query execution over exactly four operations; the seam offers no protocol escape hatch, so a backend translates into the normalized request and result. |
544
669
  | `ctx.dynamicCordisRunner` | `core` | [`cordis-host-runner`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/cordis-host-runner) | - | [`tool-cordis`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/tool-cordis) | - | Owns the in-memory definition registry, the vm sandbox for host halves, and the request-run round trip; browser pages reach the same service over the wire through its remote namespace. |