dsh-plugin-guide 0.3.1 → 0.3.2

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/README.es.md +1 -1
  2. package/README.hi.md +1 -1
  3. package/README.md +1 -1
  4. package/README.pt.md +1 -1
  5. package/README.zh.md +1 -1
  6. package/SKILL.md +1 -1
  7. package/dist/dsh-plugin-dev.js +5 -5
  8. package/guide/links.md +1 -1
  9. package/guide/plugin-dev-guide.md +1 -1
  10. package/guide/quick-reference.es.md +2 -2
  11. package/guide/quick-reference.hi.md +1 -1
  12. package/guide/quick-reference.md +2 -2
  13. package/guide/quick-reference.pt.md +2 -2
  14. package/guide/quick-reference.zh-CN.md +2 -2
  15. package/package.json +3 -3
  16. package/references/cordis-paper-and-community.md +1 -1
  17. package/references/official-docs/AGENTS.md +27 -22
  18. package/references/official-docs/README.i18n.yaml +2 -2
  19. package/references/official-docs/README.md +1 -1
  20. package/references/official-docs/README.zh.md +19 -9
  21. package/references/official-docs/SNAPSHOT.md +5 -5
  22. package/references/official-docs/THIRD_PARTY_NOTICES.md +36 -13
  23. package/references/official-docs/docs/AGENTS.md +4 -4
  24. package/references/official-docs/docs/agent-lifecycle.i18n.yaml +2 -2
  25. package/references/official-docs/docs/agent-lifecycle.md +1 -1
  26. package/references/official-docs/docs/agent-lifecycle.zh.md +2 -2
  27. package/references/official-docs/docs/api-gateway.i18n.yaml +2 -2
  28. package/references/official-docs/docs/api-gateway.md +8 -8
  29. package/references/official-docs/docs/api-gateway.zh.md +8 -8
  30. package/references/official-docs/docs/architecture.i18n.yaml +2 -2
  31. package/references/official-docs/docs/architecture.md +23 -7
  32. package/references/official-docs/docs/architecture.zh.md +36 -20
  33. package/references/official-docs/docs/capability-seams.i18n.yaml +2 -2
  34. package/references/official-docs/docs/capability-seams.md +132 -67
  35. package/references/official-docs/docs/capability-seams.zh.md +132 -67
  36. package/references/official-docs/docs/config-catalog.i18n.yaml +2 -2
  37. package/references/official-docs/docs/config-catalog.md +659 -373
  38. package/references/official-docs/docs/config-catalog.zh.md +677 -391
  39. package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +2 -2
  40. package/references/official-docs/docs/cookbook/adding-a-package.md +2 -3
  41. package/references/official-docs/docs/cookbook/adding-a-package.zh.md +8 -7
  42. package/references/official-docs/docs/cookbook/{adding-a-conversation-node.i18n.yaml → adding-a-remote-api.i18n.yaml} +3 -3
  43. package/references/official-docs/docs/cookbook/adding-a-remote-api.md +197 -0
  44. package/references/official-docs/docs/cookbook/adding-a-remote-api.zh.md +197 -0
  45. package/references/official-docs/docs/cookbook/adding-a-settings-card.i18n.yaml +6 -0
  46. package/references/official-docs/docs/cookbook/adding-a-settings-card.md +102 -0
  47. package/references/official-docs/docs/cookbook/adding-a-settings-card.zh.md +102 -0
  48. package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +2 -2
  49. package/references/official-docs/docs/cookbook/adding-a-tool.md +11 -4
  50. package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +16 -9
  51. package/references/official-docs/docs/cookbook/adding-a-vendored-package.i18n.yaml +2 -2
  52. package/references/official-docs/docs/cookbook/adding-a-vendored-package.md +2 -2
  53. package/references/official-docs/docs/cookbook/adding-a-vendored-package.zh.md +4 -4
  54. package/references/official-docs/docs/cookbook/adding-an-llm-adapter.i18n.yaml +2 -2
  55. package/references/official-docs/docs/cookbook/adding-an-llm-adapter.md +1 -1
  56. package/references/official-docs/docs/cookbook/adding-an-llm-adapter.zh.md +3 -3
  57. package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +2 -2
  58. package/references/official-docs/docs/cookbook/extension-cookbook.md +9 -8
  59. package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +17 -14
  60. package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.i18n.yaml +1 -1
  61. package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.zh.md +1 -1
  62. package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.i18n.yaml +1 -1
  63. package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +1 -1
  64. package/references/official-docs/docs/cordis-api/context.i18n.yaml +1 -1
  65. package/references/official-docs/docs/cordis-api/context.zh.md +1 -1
  66. package/references/official-docs/docs/cordis-api/events.i18n.yaml +1 -1
  67. package/references/official-docs/docs/cordis-api/events.zh.md +1 -1
  68. package/references/official-docs/docs/cordis-api/inherited.md +1 -1
  69. package/references/official-docs/docs/cordis-primer.i18n.yaml +2 -2
  70. package/references/official-docs/docs/cordis-primer.md +2 -1
  71. package/references/official-docs/docs/cordis-primer.zh.md +3 -2
  72. package/references/official-docs/docs/cordis-tutorial/01-first-plugin.i18n.yaml +1 -1
  73. package/references/official-docs/docs/cordis-tutorial/01-first-plugin.zh.md +4 -4
  74. package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.i18n.yaml +1 -1
  75. package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +4 -4
  76. package/references/official-docs/docs/cordis-tutorial/03-services.i18n.yaml +1 -1
  77. package/references/official-docs/docs/cordis-tutorial/03-services.zh.md +4 -4
  78. package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +1 -1
  79. package/references/official-docs/docs/cordis-tutorial/04-events.zh.md +4 -4
  80. package/references/official-docs/docs/cordis-tutorial/05-config.i18n.yaml +1 -1
  81. package/references/official-docs/docs/cordis-tutorial/05-config.zh.md +2 -2
  82. package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.i18n.yaml +1 -1
  83. package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.zh.md +3 -3
  84. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.i18n.yaml +2 -2
  85. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.md +5 -4
  86. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.zh.md +11 -10
  87. package/references/official-docs/docs/cordis-tutorial/index.i18n.yaml +1 -1
  88. package/references/official-docs/docs/cordis-tutorial/index.zh.md +10 -10
  89. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +6 -0
  90. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +159 -0
  91. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +159 -0
  92. package/references/official-docs/docs/defensive-patterns.i18n.yaml +1 -1
  93. package/references/official-docs/docs/defensive-patterns.zh.md +3 -1
  94. package/references/official-docs/docs/development.i18n.yaml +2 -2
  95. package/references/official-docs/docs/development.md +9 -13
  96. package/references/official-docs/docs/development.zh.md +23 -21
  97. package/references/official-docs/docs/event-producer-consumer.i18n.yaml +2 -2
  98. package/references/official-docs/docs/event-producer-consumer.md +55 -46
  99. package/references/official-docs/docs/event-producer-consumer.zh.md +55 -46
  100. package/references/official-docs/docs/glossary.i18n.yaml +2 -2
  101. package/references/official-docs/docs/glossary.md +1 -1
  102. package/references/official-docs/docs/glossary.zh.md +1 -1
  103. package/references/official-docs/docs/graph-atlas.i18n.yaml +2 -2
  104. package/references/official-docs/docs/graph-atlas.md +0 -2
  105. package/references/official-docs/docs/graph-atlas.zh.md +7 -9
  106. package/references/official-docs/docs/i18n/README.i18n.yaml +2 -2
  107. package/references/official-docs/docs/i18n/README.md +7 -7
  108. package/references/official-docs/docs/i18n/README.zh.md +11 -9
  109. package/references/official-docs/docs/i18n/style-samples.md +3 -3
  110. package/references/official-docs/docs/i18n/translation-prompt.md +3 -3
  111. package/references/official-docs/docs/i18n/translation-rules.i18n.yaml +2 -2
  112. package/references/official-docs/docs/i18n/translation-rules.md +2 -2
  113. package/references/official-docs/docs/i18n/translation-rules.zh.md +3 -3
  114. package/references/official-docs/docs/module-graph.i18n.yaml +2 -2
  115. package/references/official-docs/docs/module-graph.md +666 -747
  116. package/references/official-docs/docs/module-graph.zh.md +668 -749
  117. package/references/official-docs/docs/persistence-catalog.i18n.yaml +2 -2
  118. package/references/official-docs/docs/persistence-catalog.md +172 -40
  119. package/references/official-docs/docs/persistence-catalog.zh.md +180 -48
  120. package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.i18n.yaml +2 -2
  121. package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.md +2 -2
  122. package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +3 -3
  123. package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.i18n.yaml +2 -2
  124. package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +2 -2
  125. package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +2 -2
  126. package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.i18n.yaml +2 -2
  127. package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.md +2 -2
  128. package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +2 -2
  129. package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.i18n.yaml +2 -2
  130. package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +1 -1
  131. package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +2 -2
  132. package/references/official-docs/docs/postmortem/README.i18n.yaml +1 -1
  133. package/references/official-docs/docs/postmortem/README.zh.md +5 -5
  134. package/references/official-docs/docs/rescope.i18n.yaml +2 -2
  135. package/references/official-docs/docs/rescope.md +2 -2
  136. package/references/official-docs/docs/rescope.zh.md +3 -3
  137. package/references/official-docs/docs/subsystems/README.i18n.yaml +2 -2
  138. package/references/official-docs/docs/subsystems/README.md +8 -2
  139. package/references/official-docs/docs/subsystems/README.zh.md +53 -47
  140. package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +6 -0
  141. package/references/official-docs/docs/subsystems/agent-team.md +206 -0
  142. package/references/official-docs/docs/subsystems/agent-team.zh.md +206 -0
  143. package/references/official-docs/docs/subsystems/approval.i18n.yaml +2 -2
  144. package/references/official-docs/docs/subsystems/approval.md +12 -12
  145. package/references/official-docs/docs/subsystems/approval.zh.md +13 -13
  146. package/references/official-docs/docs/subsystems/attachment.i18n.yaml +2 -2
  147. package/references/official-docs/docs/subsystems/attachment.md +90 -7
  148. package/references/official-docs/docs/subsystems/attachment.zh.md +90 -7
  149. package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +2 -2
  150. package/references/official-docs/docs/subsystems/client-modules.md +69 -19
  151. package/references/official-docs/docs/subsystems/client-modules.zh.md +69 -19
  152. package/references/official-docs/docs/subsystems/code-runtime.i18n.yaml +2 -2
  153. package/references/official-docs/docs/subsystems/code-runtime.md +5 -5
  154. package/references/official-docs/docs/subsystems/code-runtime.zh.md +6 -6
  155. package/references/official-docs/docs/subsystems/commands.i18n.yaml +2 -2
  156. package/references/official-docs/docs/subsystems/commands.md +29 -6
  157. package/references/official-docs/docs/subsystems/commands.zh.md +30 -7
  158. package/references/official-docs/docs/subsystems/compaction.i18n.yaml +2 -2
  159. package/references/official-docs/docs/subsystems/compaction.md +5 -5
  160. package/references/official-docs/docs/subsystems/compaction.zh.md +11 -11
  161. package/references/official-docs/docs/subsystems/conversation.i18n.yaml +6 -0
  162. package/references/official-docs/docs/{cookbook/adding-a-conversation-node.md → subsystems/conversation.md} +49 -24
  163. package/references/official-docs/docs/{cookbook/adding-a-conversation-node.zh.md → subsystems/conversation.zh.md} +49 -24
  164. package/references/official-docs/docs/subsystems/core.i18n.yaml +2 -2
  165. package/references/official-docs/docs/subsystems/core.md +110 -33
  166. package/references/official-docs/docs/subsystems/core.zh.md +141 -62
  167. package/references/official-docs/docs/subsystems/credentials.i18n.yaml +2 -2
  168. package/references/official-docs/docs/subsystems/credentials.md +207 -11
  169. package/references/official-docs/docs/subsystems/credentials.zh.md +207 -11
  170. package/references/official-docs/docs/subsystems/extensions.i18n.yaml +2 -2
  171. package/references/official-docs/docs/subsystems/extensions.md +27 -9
  172. package/references/official-docs/docs/subsystems/extensions.zh.md +30 -12
  173. package/references/official-docs/docs/subsystems/feedback.i18n.yaml +2 -2
  174. package/references/official-docs/docs/subsystems/feedback.md +4 -4
  175. package/references/official-docs/docs/subsystems/feedback.zh.md +4 -4
  176. package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +2 -2
  177. package/references/official-docs/docs/subsystems/filesystem.md +17 -7
  178. package/references/official-docs/docs/subsystems/filesystem.zh.md +19 -9
  179. package/references/official-docs/docs/subsystems/goal.i18n.yaml +2 -2
  180. package/references/official-docs/docs/subsystems/goal.md +4 -4
  181. package/references/official-docs/docs/subsystems/goal.zh.md +8 -8
  182. package/references/official-docs/docs/subsystems/invariants.i18n.yaml +2 -2
  183. package/references/official-docs/docs/subsystems/invariants.md +2 -2
  184. package/references/official-docs/docs/subsystems/invariants.zh.md +5 -5
  185. package/references/official-docs/docs/subsystems/jobs.i18n.yaml +2 -2
  186. package/references/official-docs/docs/subsystems/jobs.md +3 -3
  187. package/references/official-docs/docs/subsystems/jobs.zh.md +6 -6
  188. package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +2 -2
  189. package/references/official-docs/docs/subsystems/llm-streaming.md +193 -22
  190. package/references/official-docs/docs/subsystems/llm-streaming.zh.md +199 -28
  191. package/references/official-docs/docs/subsystems/lsp.i18n.yaml +2 -2
  192. package/references/official-docs/docs/subsystems/lsp.md +2 -2
  193. package/references/official-docs/docs/subsystems/lsp.zh.md +3 -3
  194. package/references/official-docs/docs/subsystems/permission-presets.i18n.yaml +2 -2
  195. package/references/official-docs/docs/subsystems/permission-presets.md +8 -8
  196. package/references/official-docs/docs/subsystems/permission-presets.zh.md +8 -8
  197. package/references/official-docs/docs/subsystems/persistence.i18n.yaml +2 -2
  198. package/references/official-docs/docs/subsystems/persistence.md +35 -17
  199. package/references/official-docs/docs/subsystems/persistence.zh.md +38 -20
  200. package/references/official-docs/docs/subsystems/plan.i18n.yaml +2 -2
  201. package/references/official-docs/docs/subsystems/plan.md +4 -4
  202. package/references/official-docs/docs/subsystems/plan.zh.md +10 -10
  203. package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +2 -2
  204. package/references/official-docs/docs/subsystems/sandbox.md +5 -3
  205. package/references/official-docs/docs/subsystems/sandbox.zh.md +8 -6
  206. package/references/official-docs/docs/subsystems/schedule.i18n.yaml +2 -2
  207. package/references/official-docs/docs/subsystems/schedule.md +9 -3
  208. package/references/official-docs/docs/subsystems/schedule.zh.md +11 -5
  209. package/references/official-docs/docs/subsystems/scope.i18n.yaml +1 -1
  210. package/references/official-docs/docs/subsystems/scope.zh.md +1 -1
  211. package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +2 -2
  212. package/references/official-docs/docs/subsystems/session-projection.md +136 -67
  213. package/references/official-docs/docs/subsystems/session-projection.zh.md +136 -67
  214. package/references/official-docs/docs/subsystems/session-query.i18n.yaml +2 -2
  215. package/references/official-docs/docs/subsystems/session-query.md +11 -3
  216. package/references/official-docs/docs/subsystems/session-query.zh.md +12 -4
  217. package/references/official-docs/docs/subsystems/session-reference.i18n.yaml +2 -2
  218. package/references/official-docs/docs/subsystems/session-reference.md +94 -7
  219. package/references/official-docs/docs/subsystems/session-reference.zh.md +95 -8
  220. package/references/official-docs/docs/subsystems/session-telemetry.i18n.yaml +2 -2
  221. package/references/official-docs/docs/subsystems/session-telemetry.md +5 -6
  222. package/references/official-docs/docs/subsystems/session-telemetry.zh.md +9 -10
  223. package/references/official-docs/docs/subsystems/session-title.i18n.yaml +2 -2
  224. package/references/official-docs/docs/subsystems/session-title.md +3 -3
  225. package/references/official-docs/docs/subsystems/session-title.zh.md +5 -5
  226. package/references/official-docs/docs/subsystems/session.i18n.yaml +2 -2
  227. package/references/official-docs/docs/subsystems/session.md +284 -39
  228. package/references/official-docs/docs/subsystems/session.zh.md +301 -54
  229. package/references/official-docs/docs/subsystems/settings.i18n.yaml +2 -2
  230. package/references/official-docs/docs/subsystems/settings.md +105 -10
  231. package/references/official-docs/docs/subsystems/settings.zh.md +105 -10
  232. package/references/official-docs/docs/subsystems/shell.i18n.yaml +2 -2
  233. package/references/official-docs/docs/subsystems/shell.md +3 -3
  234. package/references/official-docs/docs/subsystems/shell.zh.md +11 -11
  235. package/references/official-docs/docs/subsystems/skills.i18n.yaml +2 -2
  236. package/references/official-docs/docs/subsystems/skills.md +26 -3
  237. package/references/official-docs/docs/subsystems/skills.zh.md +29 -6
  238. package/references/official-docs/docs/subsystems/slots.i18n.yaml +6 -0
  239. package/references/official-docs/docs/subsystems/slots.md +174 -0
  240. package/references/official-docs/docs/subsystems/slots.zh.md +174 -0
  241. package/references/official-docs/docs/subsystems/spill.i18n.yaml +2 -2
  242. package/references/official-docs/docs/subsystems/spill.md +4 -4
  243. package/references/official-docs/docs/subsystems/spill.zh.md +6 -6
  244. package/references/official-docs/docs/subsystems/storage.i18n.yaml +2 -2
  245. package/references/official-docs/docs/subsystems/storage.md +13 -5
  246. package/references/official-docs/docs/subsystems/storage.zh.md +16 -8
  247. package/references/official-docs/docs/subsystems/subagent.i18n.yaml +2 -2
  248. package/references/official-docs/docs/subsystems/subagent.md +120 -32
  249. package/references/official-docs/docs/subsystems/subagent.zh.md +131 -41
  250. package/references/official-docs/docs/subsystems/subprocess.i18n.yaml +2 -2
  251. package/references/official-docs/docs/subsystems/subprocess.md +3 -3
  252. package/references/official-docs/docs/subsystems/subprocess.zh.md +5 -5
  253. package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +2 -2
  254. package/references/official-docs/docs/subsystems/system-prompt.md +21 -8
  255. package/references/official-docs/docs/subsystems/system-prompt.zh.md +23 -10
  256. package/references/official-docs/docs/subsystems/terminal.i18n.yaml +2 -2
  257. package/references/official-docs/docs/subsystems/terminal.md +2 -2
  258. package/references/official-docs/docs/subsystems/terminal.zh.md +4 -4
  259. package/references/official-docs/docs/subsystems/todo.i18n.yaml +6 -0
  260. package/references/official-docs/docs/subsystems/todo.md +32 -0
  261. package/references/official-docs/docs/subsystems/todo.zh.md +32 -0
  262. package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +2 -2
  263. package/references/official-docs/docs/subsystems/token-meter.md +27 -12
  264. package/references/official-docs/docs/subsystems/token-meter.zh.md +28 -13
  265. package/references/official-docs/docs/subsystems/tools.i18n.yaml +2 -2
  266. package/references/official-docs/docs/subsystems/tools.md +46 -46
  267. package/references/official-docs/docs/subsystems/tools.zh.md +54 -54
  268. package/references/official-docs/docs/subsystems/typert.i18n.yaml +2 -2
  269. package/references/official-docs/docs/subsystems/typert.md +65 -58
  270. package/references/official-docs/docs/subsystems/typert.zh.md +67 -60
  271. package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +2 -2
  272. package/references/official-docs/docs/subsystems/user-questions.md +35 -35
  273. package/references/official-docs/docs/subsystems/user-questions.zh.md +35 -35
  274. package/references/official-docs/docs/subsystems/web-client.i18n.yaml +6 -0
  275. package/references/official-docs/docs/subsystems/web-client.md +95 -0
  276. package/references/official-docs/docs/subsystems/web-client.zh.md +95 -0
  277. package/references/official-docs/docs/subsystems/web-server.i18n.yaml +2 -2
  278. package/references/official-docs/docs/subsystems/web-server.md +55 -9
  279. package/references/official-docs/docs/subsystems/web-server.zh.md +56 -10
  280. package/references/official-docs/docs/subsystems/web.i18n.yaml +2 -2
  281. package/references/official-docs/docs/subsystems/web.md +14 -7
  282. package/references/official-docs/docs/subsystems/web.zh.md +16 -9
  283. package/references/official-docs/docs/subsystems/webhook.i18n.yaml +6 -0
  284. package/references/official-docs/docs/subsystems/webhook.md +70 -0
  285. package/references/official-docs/docs/subsystems/webhook.zh.md +70 -0
  286. package/references/official-docs/docs/subsystems/workflow.i18n.yaml +2 -2
  287. package/references/official-docs/docs/subsystems/workflow.md +8 -8
  288. package/references/official-docs/docs/subsystems/workflow.zh.md +13 -13
  289. package/references/official-docs/docs/subsystems/workspace.i18n.yaml +2 -2
  290. package/references/official-docs/docs/subsystems/workspace.md +98 -5
  291. package/references/official-docs/docs/subsystems/workspace.zh.md +102 -9
  292. package/references/official-docs/docs/testing.i18n.yaml +2 -2
  293. package/references/official-docs/docs/testing.md +15 -10
  294. package/references/official-docs/docs/testing.zh.md +15 -10
  295. package/references/official-docs/docs/tool-catalog.i18n.yaml +2 -2
  296. package/references/official-docs/docs/tool-catalog.md +433 -27
  297. package/references/official-docs/docs/tool-catalog.zh.md +438 -29
  298. package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +2 -2
  299. package/references/official-docs/docs/tool-execution-pipeline.md +1 -1
  300. package/references/official-docs/docs/tool-execution-pipeline.zh.md +1 -1
  301. package/references/official-docs/docs/user/develop/basic/config.i18n.yaml +2 -2
  302. package/references/official-docs/docs/user/develop/basic/config.md +1 -1
  303. package/references/official-docs/docs/user/develop/basic/config.zh.md +4 -4
  304. package/references/official-docs/docs/user/develop/basic/index.i18n.yaml +1 -1
  305. package/references/official-docs/docs/user/develop/basic/index.zh.md +5 -5
  306. package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +2 -2
  307. package/references/official-docs/docs/user/develop/basic/publish.md +3 -3
  308. package/references/official-docs/docs/user/develop/basic/publish.zh.md +7 -7
  309. package/references/official-docs/docs/user/develop/basic/tool.i18n.yaml +2 -2
  310. package/references/official-docs/docs/user/develop/basic/tool.md +3 -3
  311. package/references/official-docs/docs/user/develop/basic/tool.zh.md +4 -4
  312. package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +2 -2
  313. package/references/official-docs/docs/user/develop/framework/events.md +2 -2
  314. package/references/official-docs/docs/user/develop/framework/events.zh.md +3 -3
  315. package/references/official-docs/docs/user/develop/framework/index.i18n.yaml +1 -1
  316. package/references/official-docs/docs/user/develop/framework/index.zh.md +3 -3
  317. package/references/official-docs/docs/user/develop/framework/service.i18n.yaml +2 -2
  318. package/references/official-docs/docs/user/develop/framework/service.md +1 -1
  319. package/references/official-docs/docs/user/develop/framework/service.zh.md +3 -3
  320. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +6 -0
  321. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.md +15 -0
  322. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.zh.md +15 -0
  323. package/references/official-docs/docs/user/develop/practice/index.i18n.yaml +2 -2
  324. package/references/official-docs/docs/user/develop/practice/index.md +1 -1
  325. package/references/official-docs/docs/user/develop/practice/index.zh.md +3 -3
  326. package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +2 -2
  327. package/references/official-docs/docs/user/develop/practice/llm-adapter.md +4 -3
  328. package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +4 -3
  329. package/references/official-docs/docs/user/guide/github-review.i18n.yaml +6 -0
  330. package/references/official-docs/docs/user/guide/github-review.md +102 -0
  331. package/references/official-docs/docs/user/guide/github-review.zh.md +102 -0
  332. package/references/official-docs/docs/user/guide/index.i18n.yaml +2 -2
  333. package/references/official-docs/docs/user/guide/index.md +2 -2
  334. package/references/official-docs/docs/user/guide/index.zh.md +8 -8
  335. package/references/official-docs/docs/user/guide/mcp-memory.i18n.yaml +6 -0
  336. package/references/official-docs/docs/user/guide/mcp-memory.md +101 -0
  337. package/references/official-docs/docs/user/guide/mcp-memory.zh.md +101 -0
  338. package/references/official-docs/docs/user/guide/providers.i18n.yaml +2 -2
  339. package/references/official-docs/docs/user/guide/providers.md +40 -1
  340. package/references/official-docs/docs/user/guide/providers.zh.md +41 -2
  341. package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +2 -2
  342. package/references/official-docs/docs/user/guide/python-sdk.md +80 -34
  343. package/references/official-docs/docs/user/guide/python-sdk.zh.md +87 -41
  344. package/references/official-docs/docs/user/guide/schedule.i18n.yaml +6 -0
  345. package/references/official-docs/docs/user/guide/schedule.md +21 -0
  346. package/references/official-docs/docs/user/guide/schedule.zh.md +21 -0
  347. package/references/official-docs/docs/web-styling.i18n.yaml +1 -1
  348. package/references/official-docs/docs/web-styling.zh.md +2 -2
  349. package/references/official-docs/packages/AGENTS.md +3 -2
  350. package/references/official-docs/packages/README.md +104 -59
  351. package/references/official-docs/vendor/README.md +1 -0
  352. package/references/official-docs/website-docs.ts +52 -11
  353. package/references/sources.md +2 -2
  354. package/references/website-pages.md +3 -3
  355. package/scripts/download-sources.ps1 +1 -1
  356. package/scripts/sync-official-docs.ps1 +19 -11
  357. package/scripts/verify-kit.ps1 +0 -4
  358. package/templates/js/README.es.md +1 -1
  359. package/templates/js/README.hi.md +1 -1
  360. package/templates/js/README.md +1 -1
  361. package/templates/js/README.pt.md +1 -1
  362. package/templates/js/README.zh.md +1 -1
  363. package/templates/js/package.json +4 -4
  364. package/templates/ts/README.es.md +1 -1
  365. package/templates/ts/README.hi.md +1 -1
  366. package/templates/ts/README.md +1 -1
  367. package/templates/ts/README.pt.md +1 -1
  368. package/templates/ts/README.zh.md +1 -1
  369. package/templates/ts/package.json +4 -4
  370. package/references/official-docs/examples/AGENTS.md +0 -20
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](tools.md) | 中文
4
4
 
5
- [dsh-tools](../../packages/core/tools) 的工具流水线。[core.md](core.md) 介绍了核心包共用、用于编写流水线的类型 `ToolDefinition`;面向模型的 [`ToolSchema`](llm-streaming.md#the-model-request-and-result) 协议类型与模型请求一起声明。本页记录 `ToolDefinition` 的每个字段、用于构建它的类型化 schema DSL、带守卫的执行类型和 UI 展示类型。
5
+ [dsh-tools](../../packages/core/tools) 的工具流水线。[core.md](core.zh.md) 介绍了核心包共用、用于编写流水线的类型 `ToolDefinition`;面向模型的 [`ToolSchema`](llm-streaming.zh.md#the-model-request-and-result) 协议类型与模型请求一起声明。本页记录 `ToolDefinition` 的每个字段、用于构建它的类型化 schema DSL、带守卫的执行类型和 UI 展示类型。
6
6
 
7
7
  源码:[`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts) · [`packages/core/tools/src/schema.ts`](../../packages/core/tools/src/schema.ts) · [`packages/core/tools/src/presentation.ts`](../../packages/core/tools/src/presentation.ts)
8
8
 
@@ -157,7 +157,7 @@ type InferArgs<S> = InferProperties<S, []>
157
157
  ```ts type-equiv
158
158
  /**
159
159
  * Per-scope filter over global tools. Restrictions intersect and do not affect
160
- * scoped registrations or the reserved Code Mode transport.
160
+ * scoped registrations or the reserved PTC mode transport.
161
161
  */
162
162
  interface ToolRestriction {
163
163
  /** Global tool names that stay visible; everything else is removed. */
@@ -183,23 +183,23 @@ type ToolExecutionToken = symbol & { readonly [toolExecutionTokenBrand]: true }
183
183
  * callers do not choose that token.
184
184
  */
185
185
  interface ToolExecutionInput {
186
- readonly callId: CallId
186
+ readonly callId: ToolCallId
187
187
  /**
188
188
  * Root model-requested call owning this execution tree. Callers omit it for
189
189
  * a root execution; nested dispatchers propagate the enclosing value.
190
190
  */
191
- readonly rootCallId?: CallId
191
+ readonly rootCallId?: ToolCallId
192
192
  readonly name: string
193
193
  /** Losslessly JSON-serializable parsed arguments (tools validate their own schema). */
194
194
  readonly arguments: unknown
195
195
  /** The agent on whose behalf the call runs (set by the agent loop). */
196
196
  readonly agent?: Agent
197
197
  /**
198
- * Opaque token of the enclosing transport execution, when one exists. Code
199
- * Mode sets this on SDK sub-dispatches so commit-style observers can wait for
198
+ * Opaque token of the enclosing transport execution, when one exists. PTC
199
+ * mode sets this on SDK sub-dispatches so commit-style observers can wait for
200
200
  * the outer `run_code` outcome without receiving its live mutable execution.
201
201
  * The token also marks the call as a transport sub-dispatch rather than a
202
- * model-direct call: under `mode: 'code'`, only calls WITH a parent may
202
+ * model-direct call: under `mode: 'ptc'`, only calls WITH a parent may
203
203
  * execute a native tool name — a model-direct call (no parent) is denied as
204
204
  * `UNKNOWN_TOOL` before the policy pipeline. See {@link ToolRuntime.execute}.
205
205
  */
@@ -252,25 +252,25 @@ type ToolExecutionMode =
252
252
  | { kind: 'exclusive' }
253
253
  ```
254
254
 
255
- Code Mode 的桥接层还会把每个已结算的子分派暴露给 `tools/code-dispatch-log` waterfall,该 waterfall 可以更改持久事件所存的内容副本(程序取得的值和模型可见结果均不受影响):
255
+ PTC mode 的桥接层还会把每个已结算的子分派暴露给 `tools/ptc-dispatch-log` waterfall,该 waterfall 可以更改持久事件所存的内容副本(程序取得的值和模型可见结果均不受影响):
256
256
 
257
257
  ```ts type-equiv
258
258
  /**
259
259
  * One settled `run_code` sub-dispatch about to be logged, as seen by the
260
- * `tools/code-dispatch-log` waterfall: the parent execution (session owner,
260
+ * `tools/ptc-dispatch-log` waterfall: the parent execution (session owner,
261
261
  * outer call identity), the sub-call identity, and the outcome whose durable
262
262
  * copy a listener may reshape. `content` is the RENDERED result projection
263
263
  * (what a native `tool/result` would carry) — the program itself received
264
264
  * the structured `value` (or just the error message on failure); only the
265
265
  * `tool/code-dispatch` event's copy changes.
266
266
  */
267
- interface CodeDispatchLog {
267
+ interface PtcDispatchLog {
268
268
  /** The outer `run_code` execution. */
269
269
  readonly exec: ToolExecution
270
270
  /** The calling agent (the scope routing key and the spill owner), when the outer call has one. */
271
271
  readonly agent?: Agent
272
272
  /** Deterministic sub-call id (`<parent>:code:<n>`). */
273
- readonly subCallId: CallId
273
+ readonly subCallId: ToolCallId
274
274
  /** The dispatched sub-tool name. */
275
275
  readonly name: string
276
276
  /** Whether the sub-call settled as an error. */
@@ -290,7 +290,7 @@ interface CodeDispatchLog {
290
290
  */
291
291
  interface ToolExecution extends ToolExecutionInput {
292
292
  /** Root model-requested call, resolved for every root and nested execution. */
293
- readonly rootCallId: CallId
293
+ readonly rootCallId: ToolCallId
294
294
  /** Registry-assigned identity shared with nested calls only as their opaque `parent` token. */
295
295
  readonly token: ToolExecutionToken
296
296
  }
@@ -463,9 +463,9 @@ type ObjectJsonSchema = JsonSchemaNode & { type: 'object' }
463
463
  - `ToolCallView`(待执行):`{ card: 'generic', title, kind?, rawInput?, content?, locations? }`(默认卡片;`locations` 是 `{ path, line? }[]`,表示调用读取/修改的文件,供编辑器跟随)、`{ card: 'terminal', title, description?, cwd? }`(shell 命令→终端卡片)、或 `{ card: 'diff', title, diffs, locations? }`(文件创建/修改→行内 diff 卡片;`diffs` 是 `{ path, oldText, newText }[]`,新文件时 `oldText: null`)。
464
464
  - `ToolResultView`(已完成):`{ card: 'generic', title?, content? }`、`{ card: 'terminal', title?, output?, exitCode?, signal? }`(捕获的运行输出 + 退出状态;有能力的 UI 显示退出状态标签,其他 UI 可以派生围栏 ` ```console ` 回退)、`{ card: 'diff', title?, diffs }`(已完成的文件变更→要展示的变更,通常是从变更前后内容计算出带上下文行的已应用 hunk,或在没有前像时的整文件 diff)、`{ card: 'search', shape, title?, truncated, total, … }`(已完成的发现型搜索→`shape: 'matches'`(grep)为按文件分组的匹配,`shape: 'paths'`(glob)为扁平路径列表;`truncated`/`total` 报告内联结果是否被截断,使 UI 永不把部分结果当作完整结果呈现;该视图不携带结果文本——无 search 卡片的 UI 回退到原始结果内容)、`{ card: 'read', title?, path, offset, lines, totalLines, lang?, content? }`(已完成的文件读取→带行号、可选语法高亮的代码视图;`offset` 是窗口请求的 1-based 起始行,即使 `lines` 为空也保留;`lang` 是从扩展名推得的语言提示,`content` 是无读取能力的 UI 回退时使用的去信封文本)、或 `{ card: 'web', kind: 'search' | 'fetch', title?, … }`(已完成的 web 检索;`kind: 'search'` 携带结构化的 `sources`/`answer?`/`truncated`,`kind: 'fetch'` 携带 `url`/`statusCode`/`truncated`,不具备 `web` 能力的 UI 回退到原始结果内容——正文不会重复进视图)。已完成视图会替换待执行视图,因此变更工具即使与调用时的片段重复也要返回 diff 结果;搜索和 web 检索都没有 `card` 的调用时对应视图(其 pending 状态保持为 generic 卡片,因为结构化结果只在 `execute` 之后才存在)。
465
465
 
466
- `ToolCallKind`(`'read' | 'edit' | 'delete' | 'move' | 'search' | 'execute' | 'fetch' | 'other'`)用于为通用卡片选择图标。`FileLocation`(`{ path, line? }`)、`FileDiff`(`{ path, oldText, newText }`)与 `ReadFileLine`(`{ number, text }`,读取窗口中一行带 1-based 行号的内容)是共享的文件卡片词汇。该设计由[渲染意图联合类型 Agent Note](../../.agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.md)固定;host/client 运行时将这套中性词汇投影为各自的视图。
466
+ `ToolCallKind`(`'read' | 'edit' | 'delete' | 'move' | 'search' | 'execute' | 'fetch' | 'other'`)用于为通用卡片选择图标。`FileLocation`(`{ path, line? }`)、`FileDiff`(`{ path, oldText, newText }`)与 `ReadFileLine`(`{ number, text }`,读取窗口中一行带 1-based 行号的内容)是共享的文件卡片词汇。该设计由[渲染意图联合类型 Agent Note](../../.agents/notes/implemented/architecture/2026-07-02-tool-render-intent-union.zh.md)固定;host/client 运行时将这套中性词汇投影为各自的视图。
467
467
 
468
- 完整的展示字段文档见 [`packages/core/tools/src/presentation.ts`](../../packages/core/tools/src/presentation.ts)。`bash` schema 与执行器见 [shell.md](shell.md);通用后台控制见 [jobs.md](jobs.md)。
468
+ 完整的展示字段文档见 [`packages/core/tools/src/presentation.ts`](../../packages/core/tools/src/presentation.ts)。`bash` schema 与执行器见 [shell.md](shell.zh.md);通用后台控制见 [jobs.md](jobs.zh.md)。
469
469
 
470
470
  <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
471
471
 
@@ -473,7 +473,7 @@ type ObjectJsonSchema = JsonSchemaNode & { type: 'object' }
473
473
 
474
474
  ## Cordis API
475
475
 
476
- Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — this section is byte-identical in both language sides of the page. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
476
+ Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.zh.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
477
477
 
478
478
  <a id="ctxtools--toolruntime"></a>
479
479
 
@@ -488,7 +488,7 @@ Tool registry and execution pipeline. Scoped registrations shadow globals; one v
488
488
  * declaration covers every agent joined under it.
489
489
  *
490
490
  * Scoped only, and one declaration per scope: this is how an agent preset
491
- * composes Code Mode agents beside native ones in the same process, and a
491
+ * composes PTC mode agents beside native ones in the same process, and a
492
492
  * process-global override would be the `mode` config field instead.
493
493
  * @param mode - the presentation the covered agents' models see.
494
494
  * @returns the exact disposer that restores the deployment default.
@@ -569,9 +569,9 @@ executionMode(exec: ToolExecutionInput): ToolExecutionMode
569
569
  async execute(exec: ToolExecutionInput): Promise<ToolExecutionResult>
570
570
  ```
571
571
 
572
- Types: [ScopeKey](scope.md)
572
+ Types: [ScopeKey](scope.zh.md)
573
573
 
574
- Source: [`packages/core/tools/src/index.ts:787`](../../packages/core/tools/src/index.ts)
574
+ Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
575
575
 
576
576
  <a id="tools-events"></a>
577
577
 
@@ -596,34 +596,7 @@ A tool was registered or unregistered, or a scoped restriction changed (the avai
596
596
  'tools/change'(): void
597
597
  ```
598
598
 
599
- Source: [`packages/core/tools/src/index.ts:207`](../../packages/core/tools/src/index.ts)
600
-
601
- <a id="toolscode-dispatch-log--waterfall"></a>
602
-
603
- #### `tools/code-dispatch-log` — waterfall
604
-
605
- Allow a listener to replace content in the DURABLE LOG COPY of one `run_code` sub-dispatch outcome before the bridge appends its `tool/code-dispatch` event. `next()` keeps the content unchanged; a listener may return replacement blocks (e.g. the spill policy's preview + locator for an oversized text result). Only the logged copy is affected — the program already received the complete value, and the model sees neither. A throwing listener is contained: the bridge falls back to logging the original settled content. Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent's dispatches.
606
-
607
- ```ts cordis-catalog
608
- /**
609
- * Allow a listener to replace content in the DURABLE LOG COPY of one
610
- * `run_code` sub-dispatch outcome before the bridge appends its
611
- * `tool/code-dispatch` event. `next()` keeps the
612
- * content unchanged; a listener may return replacement blocks (e.g. the
613
- * spill policy's preview + locator for an oversized text result). Only the
614
- * logged copy is affected — the program already received the complete
615
- * value, and the model sees neither. A throwing listener is contained:
616
- * the bridge falls back to logging the original settled content.
617
- * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent's dispatches.
618
- * @param dispatch - the parent execution, sub-call identity, and the settled content to log.
619
- * @mode waterfall
620
- */
621
- 'tools/code-dispatch-log'(this: Scoped<ToolRuntime>, dispatch: CodeDispatchLog, next: () => Promise<ContentBlock[]>): Promise<ContentBlock[]>
622
- ```
623
-
624
- Types: [ContentBlock](llm-streaming.md) · [Scoped](scope.md)
625
-
626
- Source: [`packages/core/tools/src/index.ts:189`](../../packages/core/tools/src/index.ts)
599
+ Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
627
600
 
628
601
  <a id="toolsexecute--waterfall"></a>
629
602
 
@@ -645,9 +618,9 @@ Around-dispatch waterfall for timeout, retry, or metrics. `next()` returns a nor
645
618
  'tools/execute'(this: Scoped<ToolRuntime>, exec: ToolDispatchExecution, next: () => Promise<ToolExecutionResult>): Promise<ToolExecutionResult>
646
619
  ```
647
620
 
648
- Types: [Scoped](scope.md)
621
+ Types: [Scoped](scope.zh.md)
649
622
 
650
- Source: [`packages/core/tools/src/index.ts:163`](../../packages/core/tools/src/index.ts)
623
+ Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
651
624
 
652
625
  <a id="toolspost-execute--waterfall"></a>
653
626
 
@@ -670,9 +643,9 @@ Accept, replace, enrich, or block a normalized dispatch result. `next()` accepts
670
643
  'tools/post-execute'(this: Scoped<ToolRuntime>, exec: ToolExecution, result: Readonly<ToolExecutionResult>, next: () => Promise<PostToolDecision>): Promise<PostToolDecision>
671
644
  ```
672
645
 
673
- Types: [Scoped](scope.md)
646
+ Types: [Scoped](scope.zh.md)
674
647
 
675
- Source: [`packages/core/tools/src/index.ts:175`](../../packages/core/tools/src/index.ts)
648
+ Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
676
649
 
677
650
  <a id="toolspre-execute--waterfall"></a>
678
651
 
@@ -693,9 +666,36 @@ Allow, deny, or ask before dispatch. `next()` delegates to allow; missing approv
693
666
  'tools/pre-execute'(this: Scoped<ToolRuntime>, exec: ToolExecution, next: () => Promise<PreToolDecision>): Promise<PreToolDecision>
694
667
  ```
695
668
 
696
- Types: [Scoped](scope.md)
669
+ Types: [Scoped](scope.zh.md)
670
+
671
+ Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
672
+
673
+ <a id="toolsptc-dispatch-log--waterfall"></a>
674
+
675
+ #### `tools/ptc-dispatch-log` — waterfall
676
+
677
+ Allow a listener to replace content in the DURABLE LOG COPY of one `run_code` sub-dispatch outcome before the bridge appends its `tool/code-dispatch` event. `next()` keeps the content unchanged; a listener may return replacement blocks (e.g. the spill policy's preview + locator for an oversized text result). Only the logged copy is affected — the program already received the complete value, and the model sees neither. A throwing listener is contained: the bridge falls back to logging the original settled content. Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent's dispatches.
678
+
679
+ ```ts cordis-catalog
680
+ /**
681
+ * Allow a listener to replace content in the DURABLE LOG COPY of one
682
+ * `run_code` sub-dispatch outcome before the bridge appends its
683
+ * `tool/code-dispatch` event. `next()` keeps the
684
+ * content unchanged; a listener may return replacement blocks (e.g. the
685
+ * spill policy's preview + locator for an oversized text result). Only the
686
+ * logged copy is affected — the program already received the complete
687
+ * value, and the model sees neither. A throwing listener is contained:
688
+ * the bridge falls back to logging the original settled content.
689
+ * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only that agent's dispatches.
690
+ * @param dispatch - the parent execution, sub-call identity, and the settled content to log.
691
+ * @mode waterfall
692
+ */
693
+ 'tools/ptc-dispatch-log'(this: Scoped<ToolRuntime>, dispatch: PtcDispatchLog, next: () => Promise<ContentBlock[]>): Promise<ContentBlock[]>
694
+ ```
695
+
696
+ Types: [ContentBlock](llm-streaming.zh.md) · [Scoped](scope.zh.md)
697
697
 
698
- Source: [`packages/core/tools/src/index.ts:152`](../../packages/core/tools/src/index.ts)
698
+ Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
699
699
 
700
700
  <a id="toolsresult--emit"></a>
701
701
 
@@ -714,7 +714,7 @@ Observe the frozen, lossless-JSON final outcome. Listener failures are contained
714
714
  'tools/result'(this: Scoped<ToolRuntime>, exec: Readonly<ToolExecution>, result: Readonly<ToolExecutionResult>): undefined
715
715
  ```
716
716
 
717
- Types: [Scoped](scope.md)
717
+ Types: [Scoped](scope.zh.md)
718
718
 
719
- Source: [`packages/core/tools/src/index.ts:197`](../../packages/core/tools/src/index.ts)
719
+ Source: [`packages/core/tools/src/index.ts`](../../packages/core/tools/src/index.ts)
720
720
  <!-- END GENERATED cordis-surface -->
@@ -2,5 +2,5 @@
2
2
  # side as of the last confirmed-consistent state. Both languages carry equal authority;
3
3
  # after editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write docs/subsystems/typert.md
5
- typert.md: 863ab9821bbf3681ae43df817cc04018e275390c
6
- typert.zh.md: 4883b4be51a09d8e63001284e42bd7e60497bf1d
5
+ typert.md: 0f3d2b1afdc1b7713402abc5885dc9551e16ac14
6
+ typert.zh.md: a3c06489707e18433ed9018363c57ec76732e606
@@ -84,6 +84,8 @@ interface InvocationDescriptor {
84
84
  readonly method: string
85
85
  /** Service member invoked when the exported method name is an alias. */
86
86
  readonly implementation?: string
87
+ /** Absent for unary calls; stream calls validate and deliver every yielded item. */
88
+ readonly mode?: 'stream'
87
89
  /** Receiver selection mode. */
88
90
  readonly invocation:
89
91
  | { readonly kind: 'direct' }
@@ -95,7 +97,7 @@ interface InvocationDescriptor {
95
97
  }
96
98
  /** Optional consuming-Context projection for one direct lookup parameter. */
97
99
  readonly scope?: {
98
- /** Context kind whose Client binder supplies the identity. */
100
+ /** Context kind whose Client adapter supplies the identity. */
99
101
  readonly context: string
100
102
  /** Lookup parameter wire field replaced by the Context identity. */
101
103
  readonly wire: string
@@ -107,7 +109,7 @@ interface InvocationDescriptor {
107
109
  /** Reserved final Host method parameter. */
108
110
  readonly parameter: 'signal'
109
111
  }
110
- /** Codec for the resolved method result. */
112
+ /** Codec for the unary result or each yielded stream item. */
111
113
  readonly result: TypertCodec
112
114
  /** Source declaration used only for diagnostics. */
113
115
  readonly sourceLocation?: InvocationSourceLocation
@@ -137,7 +139,7 @@ interface TypertRemoteNamespaceMap {}
137
139
 
138
140
  ## Host Gateway
139
141
 
140
- Connection decodes its carrier envelope before calling `ctx.typertGateway`. The request carries exact named wire fields and the carrier's cancellation signal separately; infrastructure and boundary failures use the Gateway's in-process error taxonomy, ordinary exceptions are folded by the RPC adapter into the transport's `internal` error code, and existing RPC errors carried by lookup policy through `TypertLookupFailure` are returned unchanged.
142
+ Connection decodes its carrier envelope before calling `ctx.typertGateway`. The request carries exact named wire fields and the carrier's cancellation signal separately; infrastructure and boundary failures ride `TypertGatewayError`, whose `gateway/*` codes are ordinary `RemoteError` codes, so the RPC adapter passes every structurally identified `RemoteError` through with its code and details intact and folds only unrecognized exceptions into `gateway/internal`.
141
143
 
142
144
  ```ts type-equiv
143
145
  /** One Remote method request after a carrier has decoded its envelope. */
@@ -156,35 +158,53 @@ interface InvokeRemoteRequest {
156
158
  ```ts type-equiv
157
159
  /** Stable infrastructure and boundary failures emitted before or after business execution. */
158
160
  type TypertGatewayErrorCode =
159
- | 'ambiguous-endpoint'
160
- | 'arguments-invalid'
161
- | 'binding-invalid'
162
- | 'context-failed'
163
- | 'context-not-found'
164
- | 'context-unavailable'
165
- | 'definition-unavailable'
166
- | 'input-invalid'
167
- | 'invocation-unavailable'
168
- | 'lookup-failed'
169
- | 'lookup-not-found'
170
- | 'lookup-unavailable'
171
- | 'method-unavailable'
172
- | 'provider-mismatch'
173
- | 'result-invalid'
174
- | 'service-unavailable'
175
- | 'signature-invalid'
161
+ | 'gateway/ambiguous-endpoint'
162
+ | 'gateway/arguments-invalid'
163
+ | 'gateway/binding-invalid'
164
+ | 'gateway/context-failed'
165
+ | 'gateway/context-not-found'
166
+ | 'gateway/context-unavailable'
167
+ | 'gateway/definition-unavailable'
168
+ | 'gateway/input-invalid'
169
+ | 'gateway/invocation-unavailable'
170
+ | 'gateway/lookup-failed'
171
+ | 'gateway/lookup-not-found'
172
+ | 'gateway/lookup-unavailable'
173
+ | 'gateway/method-unavailable'
174
+ | 'gateway/provider-mismatch'
175
+ | 'gateway/result-invalid'
176
+ | 'gateway/service-unavailable'
177
+ | 'gateway/signature-invalid'
176
178
  ```
177
179
 
178
180
  ```ts type-equiv
179
181
  /** Host dispatcher consumed by Connection adapters. */
180
182
  interface TypertGateway {
183
+ /** Carrier adapter shared by WebSocket and in-process transports. */
184
+ readonly wireStream: TypertGatewayWireStream
185
+ /**
186
+ * Register the application-selected forwarded-event source.
187
+ * @param source - stream factory installed by the Remote assembly.
188
+ * @param host - stable Host facts included in each Client generation's opening frame.
189
+ * @returns disposer removing this exact source and cancelling its active streams.
190
+ */
191
+ registerRemoteEvents(
192
+ source: TypertRemoteEventSource,
193
+ host: RemoteEventHostInfo,
194
+ ): () => Promise<void>
181
195
  /**
182
196
  * Invoke one live Remote method without assuming a carrier or response envelope.
183
197
  * @param request - decoded endpoint and named wire arguments.
184
- * @returns the validated business result.
198
+ * @returns the business result without output decoding.
185
199
  * @throws {@link TypertGatewayError} for dispatch, provider, or boundary failures; lookup-policy and business errors retain identity.
186
200
  */
187
201
  invoke(request: InvokeRemoteRequest): Promise<unknown>
202
+ /**
203
+ * Open one live stream Remote method without assuming a physical carrier.
204
+ * @param request - decoded endpoint and named wire arguments.
205
+ * @returns a cancellation-aware iterable over the business results.
206
+ */
207
+ stream(request: InvokeRemoteRequest): Promise<AsyncIterable<unknown>>
188
208
  }
189
209
  ```
190
210
 
@@ -202,26 +222,15 @@ interface TypertClientRemote extends TypertRemoteNamespaceMap {
202
222
  */
203
223
  $mount(contribution: TypertRemoteContribution): Promise<TypertDisposer>
204
224
  /**
205
- * Subscribe to one forwarded Host event; delivery is one-way, in registration
206
- * order, and isolates a throwing listener from the rest.
225
+ * Subscribe to one forwarded Host event. Notifications run in registration
226
+ * order and isolate failures; scoped waterfalls return, delegate through
227
+ * `next()`, or reject the Host dispatch.
207
228
  * @template Event - forwarded event name selected by the Host assembly.
208
229
  * @param event - forwarded Host event name, unchanged on the wire.
209
- * @param listener - receives the Host's argument list as declared by Cordis `Events`.
230
+ * @param listener - receives the Client projection of the Cordis `Events` declaration.
210
231
  * @returns disposer owned by the calling fiber.
211
232
  */
212
- $on<Event extends TypertRemoteEvent>(event: Event, listener: Events[Event]): () => void
213
- /**
214
- * Hand one decoded forwarded frame to the subscription table. The carrier
215
- * owning the Host frame sink calls this; a consumer subscribes with
216
- * {@link TypertClientRemote.$on} and never calls it.
217
- *
218
- * `event` is a plain string because this is the wire boundary: the name is
219
- * whatever the Host assembly's allowlist selected, and one nobody subscribed
220
- * to is dropped silently.
221
- * @param event - forwarded Host event name, exactly as the Host emitted it.
222
- * @param args - the Host argument list, already JSON-decoded.
223
- */
224
- $dispatch(event: string, args: readonly unknown[]): void
233
+ $on<Event extends TypertRemoteEvent>(event: Event, listener: TypertClientEventListener<Event>): () => void
225
234
  }
226
235
  ```
227
236
 
@@ -231,24 +240,7 @@ interface TypertClientRemote extends TypertRemoteNamespaceMap {
231
240
 
232
241
  ## Cordis API
233
242
 
234
- Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — this section is byte-identical in both language sides of the page. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
235
-
236
- <a id="ctxapiproxy--apiproxy"></a>
237
-
238
- ### `ctx.apiProxy` — `ApiProxy`
239
-
240
- Root interface of the unified API. New client-request domain = one new file pair + one field here + one map row.
241
-
242
- ```ts cordis-catalog
243
- /**
244
- * Response entry for server requests; not a domain method.
245
- * @param message - Client response carrying the server request's rpcId.
246
- * @returns Transport receipt for the response delivery.
247
- */
248
- respond(message: ClientResponse): Promise<RpcReceipt>
249
- ```
250
-
251
- Source: [`packages/host/apiproxy/src/api/index.ts:22`](../../packages/host/apiproxy/src/api/index.ts)
243
+ Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
252
244
 
253
245
  <a id="ctxtypert--typertregistry"></a>
254
246
 
@@ -314,7 +306,7 @@ toJSONSchema(key: string, params?: z.core.ToJSONSchemaParams): z.core.JSONSchema
314
306
 
315
307
  Types: [TypertContribution](invariants.md) · [TypertFace](invariants.md) · [TypertPackageFilter](invariants.md) · [TypertPackageRecord](invariants.md) · [TypertSchemaFilter](invariants.md) · [TypertSchemaRecord](invariants.md)
316
308
 
317
- Source: [`packages/typert/registry/src/service.ts:446`](../../packages/typert/registry/src/service.ts)
309
+ Source: [`packages/typert/registry/src/service.ts`](../../packages/typert/registry/src/service.ts)
318
310
 
319
311
  <a id="ctxtypertgateway--typertgatewayservice"></a>
320
312
 
@@ -323,14 +315,29 @@ Source: [`packages/typert/registry/src/service.ts:446`](../../packages/typert/re
323
315
  Resolve strict generated definitions or conservative SRC markers against current Cordis Services and Typert providers.
324
316
 
325
317
  ```ts cordis-catalog
318
+ /**
319
+ * Register the sole application-selected forwarded-event source.
320
+ * @param source - stream factory installed by the Remote assembly.
321
+ * @param host - stable Host facts included in each Client generation's opening frame.
322
+ * @returns disposer removing this source and cancelling its active streams.
323
+ */
324
+ registerRemoteEvents( source: TypertRemoteEventSource, host: RemoteEventHostInfo, ): () => Promise<void>
325
+
326
326
  /**
327
327
  * Invoke one live Remote method through strict generated reflection or SRC markers.
328
328
  * @param request - decoded endpoint and exact named wire arguments.
329
- * @returns the validated business result.
329
+ * @returns the business result without output decoding.
330
330
  * @throws {@link TypertGatewayError} for dispatch, provider, or boundary failures; lookup-policy and business errors retain identity.
331
331
  */
332
332
  async invoke(request: InvokeRemoteRequest): Promise<unknown>
333
+
334
+ /**
335
+ * Open one live stream Remote method without assuming a physical carrier.
336
+ * @param request - decoded endpoint and named wire arguments.
337
+ * @returns a cancellation-aware iterable over the business results.
338
+ */
339
+ async stream(request: InvokeRemoteRequest): Promise<AsyncIterable<unknown>>
333
340
  ```
334
341
 
335
- Source: [`packages/api/gateway/src/index.ts:90`](../../packages/api/gateway/src/index.ts)
342
+ Source: [`packages/api/gateway/src/index.ts`](../../packages/api/gateway/src/index.ts)
336
343
  <!-- END GENERATED cordis-surface -->