dsh-plugin-guide 0.3.27 → 0.3.29

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 (292) hide show
  1. package/README-es.md +3 -3
  2. package/README-hi.md +3 -3
  3. package/README-pt.md +3 -3
  4. package/README-zh.md +5 -3
  5. package/README.md +5 -3
  6. package/SKILL.md +4 -3
  7. package/dist/dsh-plugin-dev.js +17 -8
  8. package/guide/family-toolchain.md +260 -0
  9. package/guide/links.md +3 -2
  10. package/guide/migration-0.2.md +64 -8
  11. package/guide/plugin-dev-guide.md +8 -6
  12. package/guide/quick-reference.es.md +3 -2
  13. package/guide/quick-reference.hi.md +4 -3
  14. package/guide/quick-reference.md +6 -5
  15. package/guide/quick-reference.pt.md +4 -3
  16. package/guide/quick-reference.zh-CN.md +6 -5
  17. package/guide/release-engineering.md +4 -2
  18. package/guide/release-engineering.zh-CN.md +4 -2
  19. package/guide/unfixed-issues.md +7 -0
  20. package/guide/version-matrix.md +309 -0
  21. package/guide/when-to-retire-a-plugin.md +5 -5
  22. package/guide/when-to-retire-a-plugin.zh-CN.md +5 -5
  23. package/package.json +4 -3
  24. package/references/community-ecosystem.md +2 -1
  25. package/references/dev-resource-landscape.md +294 -0
  26. package/references/official-docs/AGENTS.md +4 -5
  27. package/references/official-docs/SNAPSHOT.md +3 -3
  28. package/references/official-docs/THIRD_PARTY_NOTICES.md +2 -1
  29. package/references/official-docs/docs/AGENTS.md +1 -1
  30. package/references/official-docs/docs/architecture.i18n.yaml +14 -14
  31. package/references/official-docs/docs/architecture.md +11 -12
  32. package/references/official-docs/docs/architecture.zh.md +11 -12
  33. package/references/official-docs/docs/capability-seams.i18n.yaml +2 -2
  34. package/references/official-docs/docs/capability-seams.md +48 -23
  35. package/references/official-docs/docs/capability-seams.zh.md +48 -23
  36. package/references/official-docs/docs/cli-help.i18n.yaml +34 -0
  37. package/references/official-docs/docs/cli-help.md +203 -0
  38. package/references/official-docs/docs/cli-help.zh.md +205 -0
  39. package/references/official-docs/docs/config-catalog.md +305 -145
  40. package/references/official-docs/docs/config-catalog.zh.md +305 -145
  41. package/references/official-docs/docs/cookbook/adding-a-session-format-version.i18n.yaml +6 -6
  42. package/references/official-docs/docs/cookbook/adding-a-session-format-version.md +7 -5
  43. package/references/official-docs/docs/cookbook/adding-a-session-format-version.zh.md +7 -5
  44. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.i18n.yaml +6 -6
  45. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.md +11 -9
  46. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.zh.md +11 -9
  47. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +4 -4
  48. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +5 -5
  49. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +5 -5
  50. package/references/official-docs/docs/defensive-patterns.i18n.yaml +2 -2
  51. package/references/official-docs/docs/defensive-patterns.md +1 -1
  52. package/references/official-docs/docs/defensive-patterns.zh.md +1 -1
  53. package/references/official-docs/docs/development.i18n.yaml +6 -6
  54. package/references/official-docs/docs/development.md +4 -2
  55. package/references/official-docs/docs/development.zh.md +4 -2
  56. package/references/official-docs/docs/event-producer-consumer.md +33 -33
  57. package/references/official-docs/docs/event-producer-consumer.zh.md +33 -33
  58. package/references/official-docs/docs/experimental-persistence-catalog.i18n.yaml +10 -0
  59. package/references/official-docs/docs/experimental-persistence-catalog.md +17 -0
  60. package/references/official-docs/docs/experimental-persistence-catalog.zh.md +17 -0
  61. package/references/official-docs/docs/module-graph.md +202 -131
  62. package/references/official-docs/docs/module-graph.zh.md +202 -131
  63. package/references/official-docs/docs/persistence-catalog.i18n.yaml +185 -158
  64. package/references/official-docs/docs/persistence-catalog.md +213 -112
  65. package/references/official-docs/docs/persistence-catalog.zh.md +213 -112
  66. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.i18n.yaml +28 -0
  67. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.md +48 -0
  68. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.schema.json +76 -0
  69. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.zh.md +48 -0
  70. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.i18n.yaml +4 -4
  71. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.md +2 -2
  72. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.zh.md +2 -2
  73. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.i18n.yaml +28 -0
  74. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.md +48 -0
  75. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.schema.json +290 -0
  76. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.zh.md +48 -0
  77. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.i18n.yaml +28 -0
  78. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.md +48 -0
  79. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.schema.json +457 -0
  80. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.zh.md +48 -0
  81. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.i18n.yaml +28 -0
  82. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.md +60 -0
  83. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.schema.json +11474 -0
  84. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.zh.md +60 -0
  85. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.i18n.yaml +28 -0
  86. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.md +48 -0
  87. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.schema.json +2990 -0
  88. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.zh.md +48 -0
  89. package/references/official-docs/docs/persistence-changes/README.i18n.yaml +4 -4
  90. package/references/official-docs/docs/persistence-changes/README.md +12 -10
  91. package/references/official-docs/docs/persistence-changes/README.zh.md +12 -10
  92. package/references/official-docs/docs/persistence-changes/historical-formats/README.i18n.yaml +2 -2
  93. package/references/official-docs/docs/persistence-changes/historical-formats/README.md +1 -1
  94. package/references/official-docs/docs/persistence-changes/historical-formats/README.zh.md +1 -1
  95. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.i18n.yaml +2 -2
  96. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.md +50 -50
  97. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.zh.md +50 -50
  98. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.i18n.yaml +2 -2
  99. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.md +14 -14
  100. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.zh.md +14 -14
  101. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.i18n.yaml +2 -2
  102. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.md +3 -3
  103. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.zh.md +3 -3
  104. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.i18n.yaml +2 -2
  105. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.md +10 -10
  106. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.zh.md +10 -10
  107. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.i18n.yaml +2 -2
  108. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.md +3 -3
  109. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.zh.md +3 -3
  110. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.i18n.yaml +2 -2
  111. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.md +13 -13
  112. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.zh.md +13 -13
  113. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.i18n.yaml +2 -2
  114. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.md +63 -63
  115. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.zh.md +63 -63
  116. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.i18n.yaml +2 -2
  117. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.md +54 -54
  118. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.zh.md +54 -54
  119. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.i18n.yaml +2 -2
  120. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.md +7 -7
  121. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.zh.md +7 -7
  122. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.i18n.yaml +2 -2
  123. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.md +27 -27
  124. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.zh.md +27 -27
  125. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.i18n.yaml +2 -2
  126. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.md +4 -4
  127. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.zh.md +4 -4
  128. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.i18n.yaml +2 -2
  129. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.md +27 -27
  130. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.zh.md +27 -27
  131. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.i18n.yaml +2 -2
  132. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.md +7 -7
  133. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.zh.md +7 -7
  134. package/references/official-docs/docs/persistence-schema.json +2084 -1827
  135. package/references/official-docs/docs/session-format-status.i18n.yaml +6 -6
  136. package/references/official-docs/docs/session-format-status.md +6 -6
  137. package/references/official-docs/docs/session-format-status.zh.md +6 -6
  138. package/references/official-docs/docs/subsystems/README.i18n.yaml +2 -2
  139. package/references/official-docs/docs/subsystems/README.md +4 -1
  140. package/references/official-docs/docs/subsystems/README.zh.md +4 -1
  141. package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +7 -7
  142. package/references/official-docs/docs/subsystems/agent-team.md +10 -10
  143. package/references/official-docs/docs/subsystems/agent-team.zh.md +10 -10
  144. package/references/official-docs/docs/subsystems/boot.i18n.yaml +2 -2
  145. package/references/official-docs/docs/subsystems/boot.md +4 -4
  146. package/references/official-docs/docs/subsystems/boot.zh.md +4 -4
  147. package/references/official-docs/docs/subsystems/claude-code-mods.i18n.yaml +2 -2
  148. package/references/official-docs/docs/subsystems/claude-code-mods.md +1 -1
  149. package/references/official-docs/docs/subsystems/claude-code-mods.zh.md +1 -1
  150. package/references/official-docs/docs/subsystems/jobs.i18n.yaml +2 -2
  151. package/references/official-docs/docs/subsystems/jobs.md +2 -3
  152. package/references/official-docs/docs/subsystems/jobs.zh.md +2 -3
  153. package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +4 -4
  154. package/references/official-docs/docs/subsystems/llm-streaming.md +41 -14
  155. package/references/official-docs/docs/subsystems/llm-streaming.zh.md +41 -14
  156. package/references/official-docs/docs/subsystems/persistence.md +2 -0
  157. package/references/official-docs/docs/subsystems/persistence.zh.md +2 -0
  158. package/references/official-docs/docs/subsystems/plan.i18n.yaml +2 -2
  159. package/references/official-docs/docs/subsystems/plan.md +1 -1
  160. package/references/official-docs/docs/subsystems/plan.zh.md +1 -1
  161. package/references/official-docs/docs/subsystems/session-query.md +2 -0
  162. package/references/official-docs/docs/subsystems/session-query.zh.md +2 -0
  163. package/references/official-docs/docs/subsystems/session-title.i18n.yaml +6 -6
  164. package/references/official-docs/docs/subsystems/session-title.md +14 -5
  165. package/references/official-docs/docs/subsystems/session-title.zh.md +14 -5
  166. package/references/official-docs/docs/subsystems/session.i18n.yaml +3 -0
  167. package/references/official-docs/docs/subsystems/session.md +48 -5
  168. package/references/official-docs/docs/subsystems/session.zh.md +48 -5
  169. package/references/official-docs/docs/subsystems/skills.i18n.yaml +2 -2
  170. package/references/official-docs/docs/subsystems/skills.md +2 -2
  171. package/references/official-docs/docs/subsystems/skills.zh.md +2 -2
  172. package/references/official-docs/docs/subsystems/slots.md +10 -8
  173. package/references/official-docs/docs/subsystems/slots.zh.md +10 -8
  174. package/references/official-docs/docs/subsystems/ssh.i18n.yaml +2 -2
  175. package/references/official-docs/docs/subsystems/ssh.md +22 -11
  176. package/references/official-docs/docs/subsystems/ssh.zh.md +22 -11
  177. package/references/official-docs/docs/subsystems/subagent.i18n.yaml +24 -27
  178. package/references/official-docs/docs/subsystems/subagent.md +165 -229
  179. package/references/official-docs/docs/subsystems/subagent.zh.md +167 -233
  180. package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +2 -2
  181. package/references/official-docs/docs/subsystems/system-prompt.md +32 -2
  182. package/references/official-docs/docs/subsystems/system-prompt.zh.md +32 -2
  183. package/references/official-docs/docs/subsystems/tools.i18n.yaml +2 -2
  184. package/references/official-docs/docs/subsystems/tools.md +3 -3
  185. package/references/official-docs/docs/subsystems/tools.zh.md +3 -3
  186. package/references/official-docs/docs/subsystems/translation.i18n.yaml +19 -0
  187. package/references/official-docs/docs/subsystems/translation.md +103 -0
  188. package/references/official-docs/docs/subsystems/translation.zh.md +103 -0
  189. package/references/official-docs/docs/subsystems/web-server.i18n.yaml +8 -8
  190. package/references/official-docs/docs/subsystems/web-server.md +43 -8
  191. package/references/official-docs/docs/subsystems/web-server.zh.md +43 -8
  192. package/references/official-docs/docs/subsystems/webhook.md +1 -1
  193. package/references/official-docs/docs/subsystems/webhook.zh.md +1 -1
  194. package/references/official-docs/docs/subsystems/workflow.i18n.yaml +2 -2
  195. package/references/official-docs/docs/subsystems/workflow.md +1 -1
  196. package/references/official-docs/docs/subsystems/workflow.zh.md +1 -1
  197. package/references/official-docs/docs/subsystems/working-directory.i18n.yaml +13 -0
  198. package/references/official-docs/docs/subsystems/working-directory.md +64 -0
  199. package/references/official-docs/docs/subsystems/working-directory.zh.md +64 -0
  200. package/references/official-docs/docs/subsystems/workspace.md +2 -2
  201. package/references/official-docs/docs/subsystems/workspace.zh.md +2 -2
  202. package/references/official-docs/docs/subsystems/worktrees.i18n.yaml +13 -0
  203. package/references/official-docs/docs/subsystems/worktrees.md +76 -0
  204. package/references/official-docs/docs/subsystems/worktrees.zh.md +76 -0
  205. package/references/official-docs/docs/testing.i18n.yaml +2 -2
  206. package/references/official-docs/docs/testing.md +1 -1
  207. package/references/official-docs/docs/testing.zh.md +1 -1
  208. package/references/official-docs/docs/tool-catalog.i18n.yaml +57 -45
  209. package/references/official-docs/docs/tool-catalog.md +95 -41
  210. package/references/official-docs/docs/tool-catalog.zh.md +99 -45
  211. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.i18n.yaml +16 -0
  212. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.md +18 -0
  213. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.zh.md +18 -0
  214. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.i18n.yaml +16 -0
  215. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.md +17 -0
  216. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.zh.md +17 -0
  217. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.i18n.yaml +16 -0
  218. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.md +18 -0
  219. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.zh.md +18 -0
  220. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.i18n.yaml +16 -0
  221. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.md +28 -0
  222. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.zh.md +28 -0
  223. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.i18n.yaml +16 -0
  224. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.md +20 -0
  225. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.zh.md +20 -0
  226. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.i18n.yaml +16 -0
  227. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.md +17 -0
  228. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.zh.md +17 -0
  229. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.i18n.yaml +16 -0
  230. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.md +31 -0
  231. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.zh.md +31 -0
  232. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.i18n.yaml +16 -0
  233. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.md +20 -0
  234. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.zh.md +20 -0
  235. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.i18n.yaml +16 -0
  236. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.md +20 -0
  237. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.zh.md +20 -0
  238. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.i18n.yaml +16 -0
  239. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.md +18 -0
  240. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.zh.md +18 -0
  241. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.i18n.yaml +16 -0
  242. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +21 -0
  243. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +21 -0
  244. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.i18n.yaml +16 -0
  245. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.md +18 -0
  246. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.zh.md +18 -0
  247. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.i18n.yaml +16 -0
  248. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.md +20 -0
  249. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.zh.md +20 -0
  250. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.i18n.yaml +16 -0
  251. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.md +19 -0
  252. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.zh.md +19 -0
  253. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.i18n.yaml +16 -0
  254. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.md +59 -0
  255. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.zh.md +59 -0
  256. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.i18n.yaml +16 -0
  257. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.md +21 -0
  258. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.zh.md +21 -0
  259. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.i18n.yaml +16 -0
  260. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.md +18 -0
  261. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.zh.md +18 -0
  262. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.i18n.yaml +16 -0
  263. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.md +21 -0
  264. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.zh.md +21 -0
  265. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.i18n.yaml +16 -0
  266. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.md +36 -0
  267. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.zh.md +36 -0
  268. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.i18n.yaml +16 -0
  269. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.md +25 -0
  270. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.zh.md +25 -0
  271. package/references/official-docs/docs/user/guide/github-review.i18n.yaml +4 -4
  272. package/references/official-docs/docs/user/guide/github-review.md +7 -10
  273. package/references/official-docs/docs/user/guide/github-review.zh.md +7 -10
  274. package/references/official-docs/docs/user/guide/public-deployments.i18n.yaml +8 -8
  275. package/references/official-docs/docs/user/guide/public-deployments.md +9 -5
  276. package/references/official-docs/docs/user/guide/public-deployments.zh.md +9 -5
  277. package/references/official-docs/packages/README.md +4 -6
  278. package/references/official-docs/website-docs.ts +1 -0
  279. package/references/official-plugin-dev-skill.md +2 -2
  280. package/references/sources.md +1 -1
  281. package/scripts/build-llms-full.mjs +8 -0
  282. package/scripts/verify-kit.ps1 +8 -1
  283. package/templates/js/README-es.md +1 -1
  284. package/templates/js/README-hi.md +1 -1
  285. package/templates/js/README-pt.md +1 -1
  286. package/templates/js/README-zh.md +1 -1
  287. package/templates/js/README.md +1 -1
  288. package/templates/ts/README-es.md +1 -1
  289. package/templates/ts/README-hi.md +1 -1
  290. package/templates/ts/README-pt.md +1 -1
  291. package/templates/ts/README-zh.md +1 -1
  292. package/templates/ts/README.md +1 -1
@@ -756,6 +756,49 @@ interface TurnEndReasonMap {
756
756
 
757
757
  钩子桥接层的 `hook/invoked` / `hook/result` 对(来自 `@deepseek-ai/dsh-hook-protocol`)通过 `handlerId` 关联。`UserPromptSubmit`、`PreToolUse`、`PostToolUse` 与 `Stop` 在 loop 已打开的轮次内触发,因此其 `hook/*` 记录天然位于轮次之内。`SessionStart` 不生成 `hook/*` 记录,因为它在轮次 1 之前运行;其上下文会在 inbox 中保持待处理,直到唤醒交付打开一个轮次。
758
758
 
759
+ ### 插件记录
760
+
761
+ 实验性包在 `PluginRecordMap` 中声明插件自有的状态:`appendPluginRecord()` 根据每项声明约束名称与 payload 类型,并在 `plugin:` 命名空间中追加一条带 `ignorable: true` 标记的事件。`pluginRecordOf()` 读取已存记录,其 payload 为未知类型,不受当前声明约束。[实验性持久化目录](../experimental-persistence-catalog.zh.md)列出当前声明。调用方限制、保留方式与读取路径见[包 README](../../packages/core/session/README.zh.md#write-experimental-plugin-records)。
762
+
763
+ ```ts type-equiv
764
+ /**
765
+ * Event type of an experimental plugin record: `plugin:` followed by
766
+ * slash-separated segments of lowercase letters, digits, `.`, `_`, and `-`,
767
+ * each starting with a letter or digit. A record type is never a
768
+ * {@link SessionEventMap} member.
769
+ */
770
+ type PluginRecordType = `plugin:${string}`
771
+ ```
772
+
773
+ ```ts type-equiv
774
+ /**
775
+ * Payloads written by experimental packages, keyed by their `plugin:` record
776
+ * names. Packages augment this map to type writes and enter the current plugin
777
+ * record catalog; these declarations do not enter {@link SessionEventMap} or
778
+ * released persistence schemas. Stored records still require owner validation.
779
+ */
780
+ interface PluginRecordMap {}
781
+ ```
782
+
783
+ ```ts type-equiv
784
+ /**
785
+ * One committed experimental plugin record, read from the log by
786
+ * `pluginRecordOf`. The record's owner validates `data` before use, because a
787
+ * restored record carries whatever JSON an earlier build of its owner wrote,
788
+ * or a V3 event that a format migration renamed into the `plugin:` namespace held.
789
+ */
790
+ interface PluginRecord {
791
+ /** The record type, chosen by the owning plugin. */
792
+ readonly type: PluginRecordType
793
+ /** The record's position in the Session log. */
794
+ readonly seq: SessionSeq
795
+ /** Unix epoch milliseconds at append. */
796
+ readonly time: number
797
+ /** The JSON payload as committed. */
798
+ readonly data: unknown
799
+ }
800
+ ```
801
+
759
802
  ## 持久性约定
760
803
 
761
804
  持久化后端依赖的约定如下:持久日志无损保存每个事件,每个 Assistant attempt 都是一个 `assistant/message` 或 `assistant/attempt`,其嵌入式紧凑 stream 会保留原始带时间 chunk。`seq` 在这些 settlement 与所有交错事件之间保持连续。后端可以为事件批次选择自己的存储 framing,只要句柄的 `read()` 返回与追加时完全一致的事件即可;当前 JSONL 每个事件写一行(见 [persistence.md](persistence.zh.md))。所有 `event.data` 都必须可序列化为 JSON;`Session.append` 会从源头强制这一要求(遇到不可序列化数据时抛出),因此错误事件绝不会进入日志,`session.snapshotEvents()` 始终与后端可持久化的内容一致。新增会携带不可序列化数据、破坏核心执行嵌套或违反事件所有方声明关系的事件类型,都会构成磁盘格式的破坏性变更。
@@ -883,10 +926,10 @@ workspaceDesktop(): { name: string; available: boolean; fileManager: 'finder' |
883
926
  * Fork one cold-readable exact event prefix into a new Session. An omitted
884
927
  * boundary selects the latest completed-turn prefix; an open cut receives
885
928
  * synthetic fork closers.
886
- * @param request - source Session and optional exact inclusive event boundary.
929
+ * @param request - source Session, optional exact inclusive event boundary, and migration preflight choice.
887
930
  * @returns the new Session identity.
888
931
  */
889
- @Remote('fork') fork(request: SessionForkRequest): Promise<SessionForkValue>
932
+ @Remote('fork') async fork(request: SessionForkRequest): Promise<SessionForkValue>
890
933
 
891
934
  /**
892
935
  * Admit one prompt after explicitly resuming its Session.
@@ -935,10 +978,10 @@ workspaceDesktop(): { name: string; available: boolean; fileManager: 'finder' |
935
978
  @Remote({ mode: 'stream' }) follow(request: SessionFollowRequest, signal: AbortSignal): AsyncIterable<SessionFollowFrame>
936
979
 
937
980
  /**
938
- * Read all registered projections without activating an Agent.
981
+ * Read exact projections, returning cached hints only when migration is required.
939
982
  * @param request - Session whose current values are required.
940
- * @param signal - cancellation for the Session observation.
941
- * @returns complete baseline, or null when the Session does not exist.
983
+ * @param signal - cancellation for the Session read.
984
+ * @returns a sequenced baseline, cached hints when migration is deferred, or null when absent.
942
985
  */
943
986
  @Remote('projections') async projections(request: SessionProjectionsRequest, signal: AbortSignal): Promise<SessionProjectionsValue>
944
987
 
@@ -3,8 +3,8 @@
3
3
  # After editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write docs/subsystems/skills.md
5
5
  /skills:
6
- en: 047c73a023dcdcd1
7
- zh: 052f42fbfd202f32
6
+ en: ad77015352a17ed6
7
+ zh: 5c84933161845393
8
8
  /skills/provider-registry:
9
9
  en: abe338b6c6d1ebd1
10
10
  zh: c604db2de10a23c4
@@ -2,9 +2,9 @@
2
2
 
3
3
  English | [中文](skills.zh.md)
4
4
 
5
- The [skill capability family](../../packages/skill) includes the Service Definition ([dsh-skill](../../packages/skill/skill), `ctx.skills`), the local Service Provider ([dsh-skill-filesystem](../../packages/skill/skill-filesystem)), optional packaged providers ([dsh-skill-badge](../../packages/skill/skill-badge), [dsh-skill-office](../../packages/skill/skill-office), and the Windows ACL diagnosis provider in [dsh-sandbox-windows-acl](../../packages/sandbox/sandbox-windows-acl)), and the Consumer ([dsh-tool-skill](../../packages/skill/tool-skill)). The registry merges provider catalogs across its host and per-scope layers; providers contribute local or packaged skills; the Consumer owns the initial and replacement catalogs plus the model-facing `skill` tool. Skills are optional instructions, not session events, so their vocabulary lives here rather than in [core.md](core.md).
5
+ The [skill capability family](../../packages/skill) includes the Service Definition ([dsh-skill](../../packages/skill/skill), `ctx.skills`), the local Service Provider ([dsh-skill-filesystem](../../packages/skill/skill-filesystem)), optional packaged providers ([dsh-skill-badge](../../packages/experimental/skill-badge), [dsh-skill-office](../../packages/skill/skill-office), and the Windows ACL diagnosis provider in [dsh-sandbox-windows-acl](../../packages/sandbox/sandbox-windows-acl)), and the Consumer ([dsh-tool-skill](../../packages/skill/tool-skill)). The registry merges provider catalogs across its host and per-scope layers; providers contribute local or packaged skills; the Consumer owns the initial and replacement catalogs plus the model-facing `skill` tool. Skills are optional instructions, not session events, so their vocabulary lives here rather than in [core.md](core.md).
6
6
 
7
- Source: [`packages/skill/skill/src/index.ts`](../../packages/skill/skill/src/index.ts), [`packages/skill/skill-filesystem/src/index.ts`](../../packages/skill/skill-filesystem/src/index.ts), [`packages/skill/skill-badge/src/index.ts`](../../packages/skill/skill-badge/src/index.ts), [`packages/skill/skill-office/src/index.ts`](../../packages/skill/skill-office/src/index.ts), [`packages/sandbox/sandbox-windows-acl/src/acl-skill.ts`](../../packages/sandbox/sandbox-windows-acl/src/acl-skill.ts), and [`packages/skill/tool-skill/src/index.ts`](../../packages/skill/tool-skill/src/index.ts).
7
+ Source: [`packages/skill/skill/src/index.ts`](../../packages/skill/skill/src/index.ts), [`packages/skill/skill-filesystem/src/index.ts`](../../packages/skill/skill-filesystem/src/index.ts), [`packages/experimental/skill-badge/src/index.ts`](../../packages/experimental/skill-badge/src/index.ts), [`packages/skill/skill-office/src/index.ts`](../../packages/skill/skill-office/src/index.ts), [`packages/sandbox/sandbox-windows-acl/src/acl-skill.ts`](../../packages/sandbox/sandbox-windows-acl/src/acl-skill.ts), and [`packages/skill/tool-skill/src/index.ts`](../../packages/skill/tool-skill/src/index.ts).
8
8
 
9
9
  ## Provider registry
10
10
 
@@ -2,9 +2,9 @@
2
2
 
3
3
  [English](skills.md) | 中文
4
4
 
5
- [skill(技能)能力族](../../packages/skill) 包含 Service Definition([dsh-skill](../../packages/skill/skill),`ctx.skills`)、本地 Service Provider([dsh-skill-filesystem](../../packages/skill/skill-filesystem))、可选的随包提供方([dsh-skill-badge](../../packages/skill/skill-badge)、[dsh-skill-office](../../packages/skill/skill-office) 及 [dsh-sandbox-windows-acl](../../packages/sandbox/sandbox-windows-acl) 中的 Windows ACL 诊断提供方)和 Consumer([dsh-tool-skill](../../packages/skill/tool-skill))。注册表在其宿主层与各 scope 层之间合并各提供方的目录;提供方贡献本地或随包 skill;Consumer 拥有初始目录和替换目录,以及面向模型的 `skill` 工具。skill 是可选的指令而非会话事件,因此其词汇定义在此处而非 [core.md](core.zh.md)。
5
+ [skill(技能)能力族](../../packages/skill) 包含 Service Definition([dsh-skill](../../packages/skill/skill),`ctx.skills`)、本地 Service Provider([dsh-skill-filesystem](../../packages/skill/skill-filesystem))、可选的随包提供方([dsh-skill-badge](../../packages/experimental/skill-badge)、[dsh-skill-office](../../packages/skill/skill-office) 及 [dsh-sandbox-windows-acl](../../packages/sandbox/sandbox-windows-acl) 中的 Windows ACL 诊断提供方)和 Consumer([dsh-tool-skill](../../packages/skill/tool-skill))。注册表在其宿主层与各 scope 层之间合并各提供方的目录;提供方贡献本地或随包 skill;Consumer 拥有初始目录和替换目录,以及面向模型的 `skill` 工具。skill 是可选的指令而非会话事件,因此其词汇定义在此处而非 [core.md](core.zh.md)。
6
6
 
7
- 源码:[`packages/skill/skill/src/index.ts`](../../packages/skill/skill/src/index.ts)、[`packages/skill/skill-filesystem/src/index.ts`](../../packages/skill/skill-filesystem/src/index.ts)、[`packages/skill/skill-badge/src/index.ts`](../../packages/skill/skill-badge/src/index.ts)、[`packages/skill/skill-office/src/index.ts`](../../packages/skill/skill-office/src/index.ts)、[`packages/sandbox/sandbox-windows-acl/src/acl-skill.ts`](../../packages/sandbox/sandbox-windows-acl/src/acl-skill.ts) 与 [`packages/skill/tool-skill/src/index.ts`](../../packages/skill/tool-skill/src/index.ts)。
7
+ 源码:[`packages/skill/skill/src/index.ts`](../../packages/skill/skill/src/index.ts)、[`packages/skill/skill-filesystem/src/index.ts`](../../packages/skill/skill-filesystem/src/index.ts)、[`packages/experimental/skill-badge/src/index.ts`](../../packages/experimental/skill-badge/src/index.ts)、[`packages/skill/skill-office/src/index.ts`](../../packages/skill/skill-office/src/index.ts)、[`packages/sandbox/sandbox-windows-acl/src/acl-skill.ts`](../../packages/sandbox/sandbox-windows-acl/src/acl-skill.ts) 与 [`packages/skill/tool-skill/src/index.ts`](../../packages/skill/tool-skill/src/index.ts)。
8
8
 
9
9
  ## 提供方注册表
10
10
 
@@ -145,14 +145,16 @@ root
145
145
  │ └─ main.conversation
146
146
  │ ├─ conversation.session
147
147
  │ │ └─ conversation.view
148
- │ │ ├─ conversation.chat.node
149
- │ │ │ ├─ conversation.chat.assistant-actions
150
- │ │ │ ├─ conversation.chat.commandview
151
- │ │ │ ├─ conversation.chat.turnTail
152
- │ │ │ └─ tool.call.toolview
153
- │ │ │ ├─ tool.call.images
154
- │ │ │ └─ tool.view.cordis
155
- │ │ ├─ conversation.message.images
148
+ │ │ ├─ conversation.chat.flow
149
+ │ │ │ ├─ conversation.chat.node
150
+ │ │ │ │ ├─ conversation.chat.assistant-actions
151
+ │ │ │ │ ├─ conversation.chat.reasoning.body
152
+ │ │ │ │ ├─ conversation.chat.commandview
153
+ │ │ │ │ ├─ conversation.chat.turnTail
154
+ │ │ │ │ └─ tool.call.toolview
155
+ │ │ │ │ ├─ tool.call.images
156
+ │ │ │ │ └─ tool.view.cordis
157
+ │ │ │ └─ conversation.message.images
156
158
  │ │ └─ conversation.trajectory.images
157
159
  │ ├─ conversation.header
158
160
  │ │ ├─ conversation.header.leading
@@ -145,14 +145,16 @@ root
145
145
  │ └─ main.conversation
146
146
  │ ├─ conversation.session
147
147
  │ │ └─ conversation.view
148
- │ │ ├─ conversation.chat.node
149
- │ │ │ ├─ conversation.chat.assistant-actions
150
- │ │ │ ├─ conversation.chat.commandview
151
- │ │ │ ├─ conversation.chat.turnTail
152
- │ │ │ └─ tool.call.toolview
153
- │ │ │ ├─ tool.call.images
154
- │ │ │ └─ tool.view.cordis
155
- │ │ ├─ conversation.message.images
148
+ │ │ ├─ conversation.chat.flow
149
+ │ │ │ ├─ conversation.chat.node
150
+ │ │ │ │ ├─ conversation.chat.assistant-actions
151
+ │ │ │ │ ├─ conversation.chat.reasoning.body
152
+ │ │ │ │ ├─ conversation.chat.commandview
153
+ │ │ │ │ ├─ conversation.chat.turnTail
154
+ │ │ │ │ └─ tool.call.toolview
155
+ │ │ │ │ ├─ tool.call.images
156
+ │ │ │ │ └─ tool.view.cordis
157
+ │ │ │ └─ conversation.message.images
156
158
  │ │ └─ conversation.trajectory.images
157
159
  │ ├─ conversation.header
158
160
  │ │ ├─ conversation.header.leading
@@ -6,8 +6,8 @@
6
6
  en: 847a37e7a77c8a3f
7
7
  zh: 33f4de7837ec2faa
8
8
  /ssh/execution-coordinates:
9
- en: 77968e8be38ab9be
10
- zh: f5bf0f62b32e45c7
9
+ en: 6dca62a58ecbc1ff
10
+ zh: 1ebb7dbe79927701
11
11
  /ssh/transport-and-trust:
12
12
  en: e807ecd0222acb80
13
13
  zh: b2077393b549a7fe
@@ -8,7 +8,7 @@ The [SSH provider family](../../packages/ssh/README.md) supplies one remote file
8
8
 
9
9
  Filesystem identities, executable lookup, process cwd, sandbox workspace roots and language-server file URLs refer to the SSH host. Providers canonicalize paths where the files exist, preserving filesystem interpretation of `symlink/..`. The policy resolver carries absolute execution-world spelling without trying to resolve remote paths on the Harness host.
10
10
 
11
- `processPath()` supplies a path usable by the paired subprocess provider. `processPathFromHostPath()` remains unavailable for SSH; installing a remote artifact does not make an arbitrary host path portable. [`NodePtcRuntime`](../../packages/ptc-runtime/ptc-runtime-node/README.md) therefore takes an explicitly installed, digest-verified remote bootstrap.
11
+ `processPath()` supplies a path usable by the paired subprocess provider. `processPathFromHostPath()` remains unavailable for SSH; installing a remote artifact does not make an arbitrary host path portable. [`NodePtcRuntime`](../../packages/ptc-runtime/ptc-runtime-node/README.md) therefore takes the verified remote launch configuration: an installed script bootstrap or the [helper executable’s embedded worker](../../packages/ssh/ssh-helper-runtime/README.md).
12
12
 
13
13
  ## Transport and trust
14
14
 
@@ -30,23 +30,36 @@ See the [decision record](../../.agents/notes/implemented/architecture/2026-09-1
30
30
 
31
31
  ## Connection API
32
32
 
33
+ ```ts type-equiv
34
+ /** Installed helper invocation; script deployments may also install a PTC bootstrap. */
35
+ type HelperLaunch = {
36
+ /** Run the installed script with a separately installed Node executable. */
37
+ kind: 'node-script'
38
+ /** Absolute remote Node executable. */
39
+ node: string
40
+ /** Absolute remote PTC bootstrap; requires bootstrapHash. */
41
+ bootstrapPath?: string
42
+ /** Lowercase SHA-256 of bootstrapPath; requires that path. */
43
+ bootstrapHash?: string
44
+ } | {
45
+ /** Run the helper executable with its embedded Node and PTC worker. */
46
+ kind: 'executable'
47
+ }
48
+ ```
49
+
33
50
  ```ts type-equiv
34
51
  /** Deployment-owned SSH identity and installed helper; no model argument selects these values. */
35
52
  interface Config {
36
53
  /** OpenSSH host alias, including its existing user, key and known-host configuration. */
37
54
  host: string
38
- /** Absolute remote Node executable. */
39
- node: string
55
+ /** Explicit script or self-contained executable invocation. */
56
+ launch: HelperLaunch
40
57
  /** Absolute path to the installed, bundled helper entry. */
41
58
  helper: string
42
59
  /** SHA-256 of that bundled helper; mismatches refuse the connection. */
43
60
  helperHash: string
44
61
  /** Absolute remote default workspace. */
45
62
  workspace: string
46
- /** Optional preinstalled built PTC entry, paired with its expected digest. */
47
- bootstrapPath?: string
48
- /** SHA-256 of bootstrapPath; both fields must be supplied together. */
49
- bootstrapHash?: string
50
63
  /** Connection and administrative-request deadline, at most 2,147,483,647 milliseconds. */
51
64
  requestTimeoutMs?: number
52
65
  /** Maximum JSON payload bytes per helper request or response. */
@@ -67,10 +80,8 @@ declare class SshConnection extends Service {
67
80
  constructor(ctx: Context, config: Config);
68
81
  /** Hold plugin readiness until the remote identity and helper digest are verified. */
69
82
  async [Service.init](): Promise<void>;
70
- /** Verified remote Node executable for the paired PTC runtime. */
71
- get nodeExecutable(): string;
72
- /** Verified preinstalled PTC entry; unconfigured runtimes fail before program execution. */
73
- get bootstrapPath(): string;
83
+ /** Verified remote PTC launch configuration; script deployments require a verified bootstrap. */
84
+ get ptcLaunch(): { kind: 'embedded'; executable: string } | { kind: 'node-script'; executable: string; bootstrapPath: string };
74
85
  /**
75
86
  * Send a helper operation; cancellation never replays an ambiguous mutation.
76
87
  * @param method - the private helper operation.
@@ -8,7 +8,7 @@
8
8
 
9
9
  文件系统身份、可执行文件查找、进程 cwd、沙箱工作区根目录及语言服务器文件 URL 都指向 SSH 主机。提供方在文件实际存在的位置规范化路径,保留文件系统对 `symlink/..` 的解释。策略解析器保留执行环境中的绝对路径写法,不尝试在 Harness 主机上解析远端路径。
10
10
 
11
- `processPath()` 提供配套子进程提供方可用的路径。SSH 的 `processPathFromHostPath()` 仍不可用;安装远端产物不意味着任意主机路径可移植。因此 [`NodePtcRuntime`](../../packages/ptc-runtime/ptc-runtime-node/README.zh.md) 使用显式安装并经过摘要验证的远端引导程序。
11
+ `processPath()` 提供配套子进程提供方可用的路径。SSH 的 `processPathFromHostPath()` 仍不可用;安装远端产物不意味着任意主机路径可移植。因此 [`NodePtcRuntime`](../../packages/ptc-runtime/ptc-runtime-node/README.zh.md) 使用验证后的远端启动配置:已安装的脚本引导程序,或 [helper 可执行文件内嵌的 worker](../../packages/ssh/ssh-helper-runtime/README.zh.md)。
12
12
 
13
13
  ## 传输与信任
14
14
 
@@ -30,23 +30,36 @@ headless 通过已挂载的文件系统提供方记录和检查 Session cwd。
30
30
 
31
31
  ## 连接 API
32
32
 
33
+ ```ts type-equiv
34
+ /** Installed helper invocation; script deployments may also install a PTC bootstrap. */
35
+ type HelperLaunch = {
36
+ /** Run the installed script with a separately installed Node executable. */
37
+ kind: 'node-script'
38
+ /** Absolute remote Node executable. */
39
+ node: string
40
+ /** Absolute remote PTC bootstrap; requires bootstrapHash. */
41
+ bootstrapPath?: string
42
+ /** Lowercase SHA-256 of bootstrapPath; requires that path. */
43
+ bootstrapHash?: string
44
+ } | {
45
+ /** Run the helper executable with its embedded Node and PTC worker. */
46
+ kind: 'executable'
47
+ }
48
+ ```
49
+
33
50
  ```ts type-equiv
34
51
  /** Deployment-owned SSH identity and installed helper; no model argument selects these values. */
35
52
  interface Config {
36
53
  /** OpenSSH host alias, including its existing user, key and known-host configuration. */
37
54
  host: string
38
- /** Absolute remote Node executable. */
39
- node: string
55
+ /** Explicit script or self-contained executable invocation. */
56
+ launch: HelperLaunch
40
57
  /** Absolute path to the installed, bundled helper entry. */
41
58
  helper: string
42
59
  /** SHA-256 of that bundled helper; mismatches refuse the connection. */
43
60
  helperHash: string
44
61
  /** Absolute remote default workspace. */
45
62
  workspace: string
46
- /** Optional preinstalled built PTC entry, paired with its expected digest. */
47
- bootstrapPath?: string
48
- /** SHA-256 of bootstrapPath; both fields must be supplied together. */
49
- bootstrapHash?: string
50
63
  /** Connection and administrative-request deadline, at most 2,147,483,647 milliseconds. */
51
64
  requestTimeoutMs?: number
52
65
  /** Maximum JSON payload bytes per helper request or response. */
@@ -67,10 +80,8 @@ declare class SshConnection extends Service {
67
80
  constructor(ctx: Context, config: Config);
68
81
  /** Hold plugin readiness until the remote identity and helper digest are verified. */
69
82
  async [Service.init](): Promise<void>;
70
- /** Verified remote Node executable for the paired PTC runtime. */
71
- get nodeExecutable(): string;
72
- /** Verified preinstalled PTC entry; unconfigured runtimes fail before program execution. */
73
- get bootstrapPath(): string;
83
+ /** Verified remote PTC launch configuration; script deployments require a verified bootstrap. */
84
+ get ptcLaunch(): { kind: 'embedded'; executable: string } | { kind: 'node-script'; executable: string; bootstrapPath: string };
74
85
  /**
75
86
  * Send a helper operation; cancellation never replays an ambiguous mutation.
76
87
  * @param method - the private helper operation.
@@ -2,30 +2,27 @@
2
2
  # section, a hash of its English and Chinese blocks outside code blocks and generated regions.
3
3
  # After editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write docs/subsystems/subagent.md
5
- /subagent:
6
- en: becdb30aeb411272
7
- zh: 72724ec854ec4e84
8
- /subagent/two-kinds-of-capability-discovered-two-ways:
9
- en: 7be7cbc224948ed1
10
- zh: 6da4f61394ed900e
11
- /subagent/the-one-shot-start-request:
12
- en: 37b7876d6f186642
13
- zh: 196a9df4fca5a4fd
14
- /subagent/continuable-children-and-activations:
15
- en: e4b88406f0c541dd
16
- zh: 58fb89fa90721416
17
- /subagent/durable-enumeration-listchildren-listdescendants-and-their-entries:
18
- en: 5ff018408210d739
19
- zh: 909d4a1788d65629
20
- /subagent/the-terminal-result-subagentresult:
21
- en: 6070effb5f84f701
22
- zh: 2b8a6980ceb0b7b2
23
- /subagent/a-one-shot-run-subagentrun:
24
- en: 39df94dd1343ffde
25
- zh: 047605d7f5ba91ae
26
- /subagent/the-provider-contract-subagentprovider:
27
- en: cb05cffdb837b7bc
28
- zh: a53133845d673f0a
29
- /subagent/in-process-backends-permission-depth-and-seed:
30
- en: 4f009d383e782b2d
31
- zh: 0c11e25423968f24
5
+ /subagents:
6
+ en: 9d48a27a49585a3d
7
+ zh: 89da32c8a16c290a
8
+ /subagents/capabilities-and-activation-requests:
9
+ en: 8c92b131f67997f6
10
+ zh: c2dc606a0859420c
11
+ /subagents/local-children-and-activations:
12
+ en: d926d4777ec0f11e
13
+ zh: 0ae6076e24b66401
14
+ /subagents/messages-and-interruption:
15
+ en: 623b06b3c12540bc
16
+ zh: f56c6341e1c62768
17
+ /subagents/durable-enumeration:
18
+ en: 30c3607a969696ce
19
+ zh: e6359cdf22b1e235
20
+ /subagents/results-and-backend-handles:
21
+ en: 69ea5bed7d9fb64a
22
+ zh: b187a822b813e80a
23
+ /subagents/the-provider-contract-subagentprovider:
24
+ en: 226ba8094a8cf96c
25
+ zh: 719678662905d1eb
26
+ /subagents/durable-enumeration-listchildren-listdescendants-and-their-entries:
27
+ en: d8ce7969b65ad86e
28
+ zh: d39dac6592681bf2