dsh-primer 0.4.3 → 0.4.5

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 (795) hide show
  1. package/README.en.md +493 -0
  2. package/README.es.md +493 -0
  3. package/README.hi.md +493 -0
  4. package/README.md +281 -262
  5. package/README.pt.md +493 -0
  6. package/SKILL.md +1 -1
  7. package/data/facts.json +8 -7
  8. package/dist/dsh-plugin-dev.js +3 -2
  9. package/guide/family-toolchain.md +1 -1
  10. package/guide/migration-0.2.md +1 -1
  11. package/guide/quick-reference.es.md +1 -1
  12. package/guide/quick-reference.hi.md +1 -1
  13. package/guide/quick-reference.md +1 -1
  14. package/guide/quick-reference.pt.md +1 -1
  15. package/guide/quick-reference.zh-CN.md +1 -1
  16. package/guide/standards.md +1 -1
  17. package/guide/unfixed-issues.md +3 -3
  18. package/package.json +1 -1
  19. package/references/official-docs/AGENTS.md +9 -5
  20. package/references/official-docs/CLAUDE.md +0 -0
  21. package/references/official-docs/README.md +1 -1
  22. package/references/official-docs/SNAPSHOT.md +9 -7
  23. package/references/official-docs/THIRD_PARTY_NOTICES.md +22 -3
  24. package/references/official-docs/docs/AGENTS.md +3 -3
  25. package/references/official-docs/docs/agent-lifecycle.md +3 -1
  26. package/references/official-docs/docs/agent-lifecycle.zh.md +3 -1
  27. package/references/official-docs/docs/api-gateway.i18n.yaml +6 -6
  28. package/references/official-docs/docs/api-gateway.md +4 -4
  29. package/references/official-docs/docs/api-gateway.zh.md +4 -4
  30. package/references/official-docs/docs/architecture.i18n.yaml +10 -10
  31. package/references/official-docs/docs/architecture.md +14 -8
  32. package/references/official-docs/docs/architecture.zh.md +14 -8
  33. package/references/official-docs/docs/assets/ui-design-review/inline-metrics-comparison.png +0 -0
  34. package/references/official-docs/docs/assets/ui-design-review/modal-grouping-comparison.png +0 -0
  35. package/references/official-docs/docs/assets/ui-design-review/peer-content-comparison.png +0 -0
  36. package/references/official-docs/docs/assets/ui-design-review/principles-alignment.svg +15 -0
  37. package/references/official-docs/docs/assets/ui-design-review/principles-grouping.svg +1 -0
  38. package/references/official-docs/docs/capability-seams.i18n.yaml +2 -2
  39. package/references/official-docs/docs/capability-seams.md +80 -30
  40. package/references/official-docs/docs/capability-seams.zh.md +80 -30
  41. package/references/official-docs/docs/cli-help.md +15 -7
  42. package/references/official-docs/docs/cli-help.zh.md +15 -7
  43. package/references/official-docs/docs/config-catalog.md +790 -283
  44. package/references/official-docs/docs/config-catalog.zh.md +790 -283
  45. package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +6 -6
  46. package/references/official-docs/docs/cookbook/adding-a-package.md +6 -4
  47. package/references/official-docs/docs/cookbook/adding-a-package.zh.md +6 -4
  48. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.i18n.yaml +18 -18
  49. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.md +18 -25
  50. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.zh.md +18 -25
  51. package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +2 -2
  52. package/references/official-docs/docs/cookbook/adding-a-tool.md +4 -3
  53. package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +4 -3
  54. package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +2 -2
  55. package/references/official-docs/docs/cookbook/extension-cookbook.md +1 -1
  56. package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +1 -1
  57. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.i18n.yaml +2 -2
  58. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.md +1 -1
  59. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.zh.md +1 -1
  60. package/references/official-docs/docs/cookbook/reviewing-ui-design.i18n.yaml +55 -0
  61. package/references/official-docs/docs/cookbook/reviewing-ui-design.md +166 -0
  62. package/references/official-docs/docs/cookbook/reviewing-ui-design.zh.md +166 -0
  63. package/references/official-docs/docs/cordis-api/context.md +1 -1
  64. package/references/official-docs/docs/cordis-api/context.zh.md +1 -1
  65. package/references/official-docs/docs/cordis-api/events.i18n.yaml +18 -18
  66. package/references/official-docs/docs/cordis-api/events.md +9 -9
  67. package/references/official-docs/docs/cordis-api/events.zh.md +9 -9
  68. package/references/official-docs/docs/cordis-api/fiber.i18n.yaml +39 -27
  69. package/references/official-docs/docs/cordis-api/fiber.md +85 -32
  70. package/references/official-docs/docs/cordis-api/fiber.zh.md +87 -32
  71. package/references/official-docs/docs/cordis-api/inherited.md +10 -9
  72. package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +2 -2
  73. package/references/official-docs/docs/cordis-tutorial/04-events.md +1 -1
  74. package/references/official-docs/docs/cordis-tutorial/04-events.zh.md +1 -1
  75. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.md +5 -4
  76. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.zh.md +5 -4
  77. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +4 -4
  78. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +3 -3
  79. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +3 -3
  80. package/references/official-docs/docs/defensive-patterns/README.i18n.yaml +0 -0
  81. package/references/official-docs/docs/defensive-patterns/README.md +0 -0
  82. package/references/official-docs/docs/defensive-patterns/README.zh.md +0 -0
  83. package/references/official-docs/docs/defensive-patterns/client-components.i18n.yaml +0 -0
  84. package/references/official-docs/docs/defensive-patterns/client-components.md +0 -0
  85. package/references/official-docs/docs/defensive-patterns/client-components.zh.md +0 -0
  86. package/references/official-docs/docs/defensive-patterns/conversation-and-session.i18n.yaml +2 -2
  87. package/references/official-docs/docs/defensive-patterns/conversation-and-session.md +2 -2
  88. package/references/official-docs/docs/defensive-patterns/conversation-and-session.zh.md +2 -2
  89. package/references/official-docs/docs/defensive-patterns/general.i18n.yaml +2 -2
  90. package/references/official-docs/docs/defensive-patterns/general.md +2 -0
  91. package/references/official-docs/docs/defensive-patterns/general.zh.md +2 -0
  92. package/references/official-docs/docs/defensive-patterns/package-surface.i18n.yaml +4 -4
  93. package/references/official-docs/docs/defensive-patterns/package-surface.md +4 -2
  94. package/references/official-docs/docs/defensive-patterns/package-surface.zh.md +4 -2
  95. package/references/official-docs/docs/defensive-patterns/remote-and-api.i18n.yaml +2 -2
  96. package/references/official-docs/docs/defensive-patterns/remote-and-api.md +6 -4
  97. package/references/official-docs/docs/defensive-patterns/remote-and-api.zh.md +6 -4
  98. package/references/official-docs/docs/development.i18n.yaml +12 -12
  99. package/references/official-docs/docs/development.md +17 -10
  100. package/references/official-docs/docs/development.zh.md +17 -10
  101. package/references/official-docs/docs/event-producer-consumer.i18n.yaml +2 -2
  102. package/references/official-docs/docs/event-producer-consumer.md +73 -56
  103. package/references/official-docs/docs/event-producer-consumer.zh.md +73 -56
  104. package/references/official-docs/docs/experimental-persistence-catalog.i18n.yaml +2 -2
  105. package/references/official-docs/docs/experimental-persistence-catalog.md +4 -0
  106. package/references/official-docs/docs/experimental-persistence-catalog.zh.md +4 -0
  107. package/references/official-docs/docs/glossary.i18n.yaml +0 -0
  108. package/references/official-docs/docs/glossary.md +0 -0
  109. package/references/official-docs/docs/glossary.zh.md +0 -0
  110. package/references/official-docs/docs/i18n/README.i18n.yaml +2 -2
  111. package/references/official-docs/docs/i18n/README.md +2 -0
  112. package/references/official-docs/docs/i18n/README.zh.md +2 -0
  113. package/references/official-docs/docs/i18n/style-samples.md +0 -0
  114. package/references/official-docs/docs/i18n/terminology.md +0 -0
  115. package/references/official-docs/docs/module-graph.md +316 -157
  116. package/references/official-docs/docs/module-graph.zh.md +316 -157
  117. package/references/official-docs/docs/persistence-catalog.i18n.yaml +427 -358
  118. package/references/official-docs/docs/persistence-catalog.md +536 -250
  119. package/references/official-docs/docs/persistence-catalog.zh.md +536 -250
  120. package/references/official-docs/docs/persistence-changes/2026-09-11-initial.schema.json +524 -13552
  121. package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.schema.json +53 -905
  122. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.schema.json +10 -71
  123. package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.schema.json +232 -8473
  124. package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.schema.json +9 -67
  125. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.schema.json +351 -16207
  126. package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.schema.json +25 -297
  127. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.schema.json +23 -285
  128. package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.schema.json +20 -245
  129. package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.schema.json +232 -11400
  130. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.i18n.yaml +0 -0
  131. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.md +0 -0
  132. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.schema.json +24 -292
  133. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.zh.md +0 -0
  134. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.schema.json +42 -452
  135. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.schema.json +234 -11469
  136. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.schema.json +215 -2985
  137. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.i18n.yaml +0 -0
  138. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.md +0 -0
  139. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.schema.json +23 -226
  140. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.zh.md +0 -0
  141. package/references/official-docs/docs/persistence-changes/2026-10-13-liveshare-share-viewer-principal.i18n.yaml +28 -0
  142. package/references/official-docs/docs/persistence-changes/2026-10-13-liveshare-share-viewer-principal.md +60 -0
  143. package/references/official-docs/docs/persistence-changes/2026-10-13-liveshare-share-viewer-principal.schema.json +253 -0
  144. package/references/official-docs/docs/persistence-changes/2026-10-13-liveshare-share-viewer-principal.zh.md +60 -0
  145. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.i18n.yaml +0 -0
  146. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.md +0 -0
  147. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.schema.json +236 -11554
  148. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.zh.md +0 -0
  149. package/references/official-docs/docs/persistence-changes/2026-10-19-session-team-mode.i18n.yaml +28 -0
  150. package/references/official-docs/docs/persistence-changes/2026-10-19-session-team-mode.md +48 -0
  151. package/references/official-docs/docs/persistence-changes/2026-10-19-session-team-mode.schema.json +15 -0
  152. package/references/official-docs/docs/persistence-changes/2026-10-19-session-team-mode.zh.md +48 -0
  153. package/references/official-docs/docs/persistence-changes/2026-10-22-action-card-status.i18n.yaml +28 -0
  154. package/references/official-docs/docs/persistence-changes/2026-10-22-action-card-status.md +60 -0
  155. package/references/official-docs/docs/persistence-changes/2026-10-22-action-card-status.schema.json +249 -0
  156. package/references/official-docs/docs/persistence-changes/2026-10-22-action-card-status.zh.md +60 -0
  157. package/references/official-docs/docs/persistence-changes/2026-10-25-skill-catalog-incomplete.i18n.yaml +28 -0
  158. package/references/official-docs/docs/persistence-changes/2026-10-25-skill-catalog-incomplete.md +60 -0
  159. package/references/official-docs/docs/persistence-changes/2026-10-25-skill-catalog-incomplete.schema.json +249 -0
  160. package/references/official-docs/docs/persistence-changes/2026-10-25-skill-catalog-incomplete.zh.md +60 -0
  161. package/references/official-docs/docs/persistence-changes/2026-10-27-retry-control-input.i18n.yaml +28 -0
  162. package/references/official-docs/docs/persistence-changes/2026-10-27-retry-control-input.md +60 -0
  163. package/references/official-docs/docs/persistence-changes/2026-10-27-retry-control-input.schema.json +261 -0
  164. package/references/official-docs/docs/persistence-changes/2026-10-27-retry-control-input.zh.md +60 -0
  165. package/references/official-docs/docs/persistence-changes/2026-10-27-subagent-settlement-attribution.i18n.yaml +28 -0
  166. package/references/official-docs/docs/persistence-changes/2026-10-27-subagent-settlement-attribution.md +60 -0
  167. package/references/official-docs/docs/persistence-changes/2026-10-27-subagent-settlement-attribution.schema.json +259 -0
  168. package/references/official-docs/docs/persistence-changes/2026-10-27-subagent-settlement-attribution.zh.md +60 -0
  169. package/references/official-docs/docs/persistence-changes/2026-11-02-subagent-catalog-names.i18n.yaml +28 -0
  170. package/references/official-docs/docs/persistence-changes/2026-11-02-subagent-catalog-names.md +48 -0
  171. package/references/official-docs/docs/persistence-changes/2026-11-02-subagent-catalog-names.schema.json +31 -0
  172. package/references/official-docs/docs/persistence-changes/2026-11-02-subagent-catalog-names.zh.md +48 -0
  173. package/references/official-docs/docs/persistence-changes/2026-11-02-team-task-owner-names.i18n.yaml +28 -0
  174. package/references/official-docs/docs/persistence-changes/2026-11-02-team-task-owner-names.md +48 -0
  175. package/references/official-docs/docs/persistence-changes/2026-11-02-team-task-owner-names.schema.json +23 -0
  176. package/references/official-docs/docs/persistence-changes/2026-11-02-team-task-owner-names.zh.md +48 -0
  177. package/references/official-docs/docs/persistence-changes/README.i18n.yaml +2 -2
  178. package/references/official-docs/docs/persistence-changes/README.md +3 -1
  179. package/references/official-docs/docs/persistence-changes/README.zh.md +3 -1
  180. package/references/official-docs/docs/persistence-changes/historical-formats/README.i18n.yaml +6 -6
  181. package/references/official-docs/docs/persistence-changes/historical-formats/README.md +3 -3
  182. package/references/official-docs/docs/persistence-changes/historical-formats/README.zh.md +3 -3
  183. package/references/official-docs/docs/persistence-changes/historical-formats/v0.schema.json +887 -49302
  184. package/references/official-docs/docs/persistence-changes/historical-formats/v1.schema.json +887 -49405
  185. package/references/official-docs/docs/persistence-changes/historical-formats/v2.schema.json +929 -56460
  186. package/references/official-docs/docs/persistence-changes/historical-formats/v3.schema.json +997 -61301
  187. package/references/official-docs/docs/persistence-changes/releases/README.i18n.yaml +2 -2
  188. package/references/official-docs/docs/persistence-changes/releases/README.md +1 -1
  189. package/references/official-docs/docs/persistence-changes/releases/README.zh.md +1 -1
  190. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.schema.json +727 -39862
  191. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.schema.json +788 -43336
  192. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.schema.json +255 -19446
  193. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.schema.json +2 -1
  194. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.schema.json +2 -1
  195. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.schema.json +2 -1
  196. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.schema.json +2 -1
  197. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.schema.json +2 -1
  198. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.schema.json +2 -1
  199. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.schema.json +2 -1
  200. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.schema.json +118 -5314
  201. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.schema.json +287 -21252
  202. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.schema.json +24 -411
  203. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.schema.json +351 -29666
  204. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.schema.json +881 -48423
  205. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.schema.json +881 -49341
  206. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.schema.json +2 -1
  207. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.schema.json +217 -17636
  208. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.schema.json +2 -1
  209. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.schema.json +2 -1
  210. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.schema.json +441 -38672
  211. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.schema.json +31 -777
  212. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.schema.json +377 -24591
  213. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.schema.json +75 -2126
  214. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.schema.json +2 -1
  215. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.schema.json +2 -1
  216. package/references/official-docs/docs/persistence-schema.json +1341 -26171
  217. package/references/official-docs/docs/rescope.i18n.yaml +4 -4
  218. package/references/official-docs/docs/rescope.md +7 -5
  219. package/references/official-docs/docs/rescope.zh.md +7 -5
  220. package/references/official-docs/docs/subsystems/README.i18n.yaml +2 -2
  221. package/references/official-docs/docs/subsystems/README.md +4 -2
  222. package/references/official-docs/docs/subsystems/README.zh.md +4 -2
  223. package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +13 -13
  224. package/references/official-docs/docs/subsystems/agent-team.md +38 -75
  225. package/references/official-docs/docs/subsystems/agent-team.zh.md +38 -75
  226. package/references/official-docs/docs/subsystems/attachment.i18n.yaml +4 -4
  227. package/references/official-docs/docs/subsystems/attachment.md +36 -13
  228. package/references/official-docs/docs/subsystems/attachment.zh.md +36 -13
  229. package/references/official-docs/docs/subsystems/boot.i18n.yaml +4 -4
  230. package/references/official-docs/docs/subsystems/boot.md +187 -7
  231. package/references/official-docs/docs/subsystems/boot.zh.md +187 -7
  232. package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +6 -6
  233. package/references/official-docs/docs/subsystems/client-modules.md +19 -11
  234. package/references/official-docs/docs/subsystems/client-modules.zh.md +19 -11
  235. package/references/official-docs/docs/subsystems/compaction.i18n.yaml +2 -2
  236. package/references/official-docs/docs/subsystems/compaction.md +1 -1
  237. package/references/official-docs/docs/subsystems/compaction.zh.md +1 -1
  238. package/references/official-docs/docs/subsystems/computer-use.i18n.yaml +2 -2
  239. package/references/official-docs/docs/subsystems/computer-use.md +80 -0
  240. package/references/official-docs/docs/subsystems/computer-use.zh.md +80 -0
  241. package/references/official-docs/docs/subsystems/conversation.i18n.yaml +5 -5
  242. package/references/official-docs/docs/subsystems/conversation.md +2 -0
  243. package/references/official-docs/docs/subsystems/conversation.zh.md +4 -0
  244. package/references/official-docs/docs/subsystems/core.i18n.yaml +9 -6
  245. package/references/official-docs/docs/subsystems/core.md +120 -65
  246. package/references/official-docs/docs/subsystems/core.zh.md +120 -65
  247. package/references/official-docs/docs/subsystems/credentials.i18n.yaml +6 -6
  248. package/references/official-docs/docs/subsystems/credentials.md +79 -50
  249. package/references/official-docs/docs/subsystems/credentials.zh.md +79 -50
  250. package/references/official-docs/docs/subsystems/deliverables.i18n.yaml +2 -2
  251. package/references/official-docs/docs/subsystems/deliverables.md +2 -0
  252. package/references/official-docs/docs/subsystems/deliverables.zh.md +2 -0
  253. package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +20 -14
  254. package/references/official-docs/docs/subsystems/filesystem.md +202 -28
  255. package/references/official-docs/docs/subsystems/filesystem.zh.md +202 -28
  256. package/references/official-docs/docs/subsystems/forge.i18n.yaml +28 -0
  257. package/references/official-docs/docs/subsystems/forge.md +1975 -0
  258. package/references/official-docs/docs/subsystems/forge.zh.md +1977 -0
  259. package/references/official-docs/docs/subsystems/jobs.i18n.yaml +0 -0
  260. package/references/official-docs/docs/subsystems/jobs.md +0 -0
  261. package/references/official-docs/docs/subsystems/jobs.zh.md +0 -0
  262. package/references/official-docs/docs/subsystems/liveshare.i18n.yaml +25 -0
  263. package/references/official-docs/docs/subsystems/liveshare.md +167 -0
  264. package/references/official-docs/docs/subsystems/liveshare.zh.md +167 -0
  265. package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +9 -6
  266. package/references/official-docs/docs/subsystems/llm-streaming.md +95 -5
  267. package/references/official-docs/docs/subsystems/llm-streaming.zh.md +95 -5
  268. package/references/official-docs/docs/subsystems/lsp.i18n.yaml +5 -2
  269. package/references/official-docs/docs/subsystems/lsp.md +25 -1
  270. package/references/official-docs/docs/subsystems/lsp.zh.md +25 -1
  271. package/references/official-docs/docs/subsystems/mcp.i18n.yaml +6 -6
  272. package/references/official-docs/docs/subsystems/mcp.md +99 -2
  273. package/references/official-docs/docs/subsystems/mcp.zh.md +99 -2
  274. package/references/official-docs/docs/subsystems/office-kit.i18n.yaml +19 -0
  275. package/references/official-docs/docs/subsystems/office-kit.md +122 -0
  276. package/references/official-docs/docs/subsystems/office-kit.zh.md +122 -0
  277. package/references/official-docs/docs/subsystems/persistence.i18n.yaml +3 -3
  278. package/references/official-docs/docs/subsystems/persistence.md +17 -7
  279. package/references/official-docs/docs/subsystems/persistence.zh.md +17 -7
  280. package/references/official-docs/docs/subsystems/plan.i18n.yaml +6 -6
  281. package/references/official-docs/docs/subsystems/plan.md +4 -4
  282. package/references/official-docs/docs/subsystems/plan.zh.md +4 -4
  283. package/references/official-docs/docs/subsystems/product-telemetry.i18n.yaml +0 -0
  284. package/references/official-docs/docs/subsystems/product-telemetry.md +0 -0
  285. package/references/official-docs/docs/subsystems/product-telemetry.zh.md +0 -0
  286. package/references/official-docs/docs/subsystems/ptc-runtime.i18n.yaml +4 -4
  287. package/references/official-docs/docs/subsystems/ptc-runtime.md +57 -10
  288. package/references/official-docs/docs/subsystems/ptc-runtime.zh.md +57 -10
  289. package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +6 -6
  290. package/references/official-docs/docs/subsystems/sandbox.md +32 -7
  291. package/references/official-docs/docs/subsystems/sandbox.zh.md +32 -7
  292. package/references/official-docs/docs/subsystems/schedule.i18n.yaml +39 -30
  293. package/references/official-docs/docs/subsystems/schedule.md +194 -430
  294. package/references/official-docs/docs/subsystems/schedule.zh.md +197 -433
  295. package/references/official-docs/docs/subsystems/scope.i18n.yaml +0 -0
  296. package/references/official-docs/docs/subsystems/scope.zh.md +0 -0
  297. package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +14 -8
  298. package/references/official-docs/docs/subsystems/session-projection.md +186 -44
  299. package/references/official-docs/docs/subsystems/session-projection.zh.md +186 -44
  300. package/references/official-docs/docs/subsystems/session-query.md +11 -1
  301. package/references/official-docs/docs/subsystems/session-query.zh.md +11 -1
  302. package/references/official-docs/docs/subsystems/session-reference.md +4 -3
  303. package/references/official-docs/docs/subsystems/session-reference.zh.md +4 -3
  304. package/references/official-docs/docs/subsystems/session.i18n.yaml +10 -4
  305. package/references/official-docs/docs/subsystems/session.md +146 -32
  306. package/references/official-docs/docs/subsystems/session.zh.md +146 -32
  307. package/references/official-docs/docs/subsystems/sidebar-right.i18n.yaml +12 -12
  308. package/references/official-docs/docs/subsystems/sidebar-right.md +13 -12
  309. package/references/official-docs/docs/subsystems/sidebar-right.zh.md +13 -12
  310. package/references/official-docs/docs/subsystems/skills.i18n.yaml +6 -6
  311. package/references/official-docs/docs/subsystems/skills.md +4 -4
  312. package/references/official-docs/docs/subsystems/skills.zh.md +4 -4
  313. package/references/official-docs/docs/subsystems/slots.i18n.yaml +11 -8
  314. package/references/official-docs/docs/subsystems/slots.md +33 -3
  315. package/references/official-docs/docs/subsystems/slots.zh.md +33 -3
  316. package/references/official-docs/docs/subsystems/storage.i18n.yaml +9 -6
  317. package/references/official-docs/docs/subsystems/storage.md +26 -9
  318. package/references/official-docs/docs/subsystems/storage.zh.md +26 -9
  319. package/references/official-docs/docs/subsystems/subagent.i18n.yaml +14 -11
  320. package/references/official-docs/docs/subsystems/subagent.md +119 -102
  321. package/references/official-docs/docs/subsystems/subagent.zh.md +119 -102
  322. package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +2 -2
  323. package/references/official-docs/docs/subsystems/system-prompt.md +13 -11
  324. package/references/official-docs/docs/subsystems/system-prompt.zh.md +13 -11
  325. package/references/official-docs/docs/subsystems/terminal.md +1 -1
  326. package/references/official-docs/docs/subsystems/terminal.zh.md +1 -1
  327. package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +3 -0
  328. package/references/official-docs/docs/subsystems/token-meter.md +45 -0
  329. package/references/official-docs/docs/subsystems/token-meter.zh.md +45 -0
  330. package/references/official-docs/docs/subsystems/tools.i18n.yaml +8 -2
  331. package/references/official-docs/docs/subsystems/tools.md +240 -89
  332. package/references/official-docs/docs/subsystems/tools.zh.md +240 -89
  333. package/references/official-docs/docs/subsystems/translation.i18n.yaml +0 -0
  334. package/references/official-docs/docs/subsystems/translation.md +0 -0
  335. package/references/official-docs/docs/subsystems/translation.zh.md +0 -0
  336. package/references/official-docs/docs/subsystems/typert.i18n.yaml +4 -4
  337. package/references/official-docs/docs/subsystems/typert.md +21 -11
  338. package/references/official-docs/docs/subsystems/typert.zh.md +21 -11
  339. package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +2 -2
  340. package/references/official-docs/docs/subsystems/user-questions.md +22 -6
  341. package/references/official-docs/docs/subsystems/user-questions.zh.md +22 -6
  342. package/references/official-docs/docs/subsystems/web-client.i18n.yaml +2 -2
  343. package/references/official-docs/docs/subsystems/web-client.md +1 -1
  344. package/references/official-docs/docs/subsystems/web-client.zh.md +1 -1
  345. package/references/official-docs/docs/subsystems/web-server.i18n.yaml +6 -6
  346. package/references/official-docs/docs/subsystems/web-server.md +68 -23
  347. package/references/official-docs/docs/subsystems/web-server.zh.md +68 -23
  348. package/references/official-docs/docs/subsystems/web.i18n.yaml +10 -10
  349. package/references/official-docs/docs/subsystems/web.md +79 -21
  350. package/references/official-docs/docs/subsystems/web.zh.md +79 -21
  351. package/references/official-docs/docs/subsystems/working-directory.md +33 -2
  352. package/references/official-docs/docs/subsystems/working-directory.zh.md +33 -2
  353. package/references/official-docs/docs/subsystems/workspace.i18n.yaml +0 -0
  354. package/references/official-docs/docs/subsystems/workspace.md +93 -1
  355. package/references/official-docs/docs/subsystems/workspace.zh.md +93 -1
  356. package/references/official-docs/docs/subsystems/worktrees.i18n.yaml +4 -4
  357. package/references/official-docs/docs/subsystems/worktrees.md +112 -5
  358. package/references/official-docs/docs/subsystems/worktrees.zh.md +112 -5
  359. package/references/official-docs/docs/testing.i18n.yaml +2 -2
  360. package/references/official-docs/docs/testing.md +1 -1
  361. package/references/official-docs/docs/testing.zh.md +1 -1
  362. package/references/official-docs/docs/tool-catalog.i18n.yaml +100 -76
  363. package/references/official-docs/docs/tool-catalog.md +433 -395
  364. package/references/official-docs/docs/tool-catalog.zh.md +436 -399
  365. package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +2 -2
  366. package/references/official-docs/docs/tool-execution-pipeline.md +5 -4
  367. package/references/official-docs/docs/tool-execution-pipeline.zh.md +4 -3
  368. package/references/official-docs/docs/ui-design-review-cases.i18n.yaml +148 -0
  369. package/references/official-docs/docs/ui-design-review-cases.md +445 -0
  370. package/references/official-docs/docs/ui-design-review-cases.zh.md +445 -0
  371. package/references/official-docs/docs/ui-radius.i18n.yaml +4 -4
  372. package/references/official-docs/docs/ui-radius.md +3 -1
  373. package/references/official-docs/docs/ui-radius.zh.md +3 -1
  374. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.i18n.yaml +0 -0
  375. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.md +0 -0
  376. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.zh.md +0 -0
  377. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.i18n.yaml +0 -0
  378. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.md +0 -0
  379. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.zh.md +0 -0
  380. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.i18n.yaml +0 -0
  381. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.md +0 -0
  382. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.zh.md +0 -0
  383. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.i18n.yaml +0 -0
  384. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.md +0 -0
  385. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.zh.md +0 -0
  386. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.i18n.yaml +2 -2
  387. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.md +1 -1
  388. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.zh.md +1 -1
  389. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/cordis-timer-wrappers/guide.i18n.yaml +16 -0
  390. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/cordis-timer-wrappers/guide.md +24 -0
  391. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/cordis-timer-wrappers/guide.zh.md +24 -0
  392. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.i18n.yaml +0 -0
  393. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.md +0 -0
  394. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.zh.md +0 -0
  395. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.i18n.yaml +0 -0
  396. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.md +0 -0
  397. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.zh.md +0 -0
  398. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.i18n.yaml +0 -0
  399. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.md +0 -0
  400. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.zh.md +0 -0
  401. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.i18n.yaml +0 -0
  402. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.md +0 -0
  403. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.zh.md +0 -0
  404. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.i18n.yaml +0 -0
  405. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.md +0 -0
  406. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.zh.md +0 -0
  407. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.i18n.yaml +0 -0
  408. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.md +0 -0
  409. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.zh.md +0 -0
  410. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.i18n.yaml +0 -0
  411. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.md +0 -0
  412. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.zh.md +0 -0
  413. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.i18n.yaml +0 -0
  414. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.md +0 -0
  415. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.zh.md +0 -0
  416. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-manager-view-fields/guide.i18n.yaml +16 -0
  417. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-manager-view-fields/guide.md +25 -0
  418. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-manager-view-fields/guide.zh.md +25 -0
  419. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.i18n.yaml +0 -0
  420. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.md +0 -0
  421. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.zh.md +0 -0
  422. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.i18n.yaml +0 -0
  423. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.md +0 -0
  424. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.zh.md +0 -0
  425. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.i18n.yaml +0 -0
  426. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.md +0 -0
  427. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.zh.md +0 -0
  428. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.i18n.yaml +0 -0
  429. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.md +0 -0
  430. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.zh.md +0 -0
  431. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/model-switch-compaction/guide.i18n.yaml +16 -0
  432. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/model-switch-compaction/guide.md +30 -0
  433. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/model-switch-compaction/guide.zh.md +30 -0
  434. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/session-model-selection/guide.i18n.yaml +16 -0
  435. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/session-model-selection/guide.md +28 -0
  436. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/session-model-selection/guide.zh.md +28 -0
  437. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/agent-instructions-chain-budgets/guide.i18n.yaml +16 -0
  438. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/agent-instructions-chain-budgets/guide.md +24 -0
  439. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/agent-instructions-chain-budgets/guide.zh.md +24 -0
  440. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/subagent-control-tools/guide.i18n.yaml +16 -0
  441. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/subagent-control-tools/guide.md +23 -0
  442. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/subagent-control-tools/guide.zh.md +23 -0
  443. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-runtime-owner/guide.i18n.yaml +16 -0
  444. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-runtime-owner/guide.md +20 -0
  445. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-runtime-owner/guide.zh.md +20 -0
  446. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-team-subagents/guide.i18n.yaml +16 -0
  447. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-team-subagents/guide.md +31 -0
  448. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-team-subagents/guide.zh.md +31 -0
  449. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/approval-projection-dependency/guide.i18n.yaml +16 -0
  450. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/approval-projection-dependency/guide.md +34 -0
  451. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/approval-projection-dependency/guide.zh.md +34 -0
  452. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-shutdown/guide.i18n.yaml +16 -0
  453. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-shutdown/guide.md +20 -0
  454. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-shutdown/guide.zh.md +20 -0
  455. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-user-sources/guide.i18n.yaml +16 -0
  456. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-user-sources/guide.md +18 -0
  457. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-user-sources/guide.zh.md +18 -0
  458. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/built-in-japanese/guide.i18n.yaml +16 -0
  459. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/built-in-japanese/guide.md +18 -0
  460. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/built-in-japanese/guide.zh.md +18 -0
  461. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/conditional-tools/guide.i18n.yaml +16 -0
  462. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/conditional-tools/guide.md +25 -0
  463. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/conditional-tools/guide.zh.md +25 -0
  464. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/context-menu-services/guide.i18n.yaml +16 -0
  465. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/context-menu-services/guide.md +23 -0
  466. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/context-menu-services/guide.zh.md +23 -0
  467. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-consent-storage/guide.i18n.yaml +16 -0
  468. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-consent-storage/guide.md +22 -0
  469. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-consent-storage/guide.zh.md +22 -0
  470. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-preset-scope/guide.i18n.yaml +16 -0
  471. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-preset-scope/guide.md +18 -0
  472. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-preset-scope/guide.zh.md +18 -0
  473. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-relative-coordinates/guide.i18n.yaml +16 -0
  474. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-relative-coordinates/guide.md +17 -0
  475. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-relative-coordinates/guide.zh.md +17 -0
  476. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/file-drag-callbacks/guide.i18n.yaml +16 -0
  477. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/file-drag-callbacks/guide.md +19 -0
  478. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/file-drag-callbacks/guide.zh.md +19 -0
  479. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/headless-policy-composition/guide.i18n.yaml +16 -0
  480. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/headless-policy-composition/guide.md +27 -0
  481. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/headless-policy-composition/guide.zh.md +27 -0
  482. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/model-badge-package-removal/guide.i18n.yaml +16 -0
  483. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/model-badge-package-removal/guide.md +18 -0
  484. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/model-badge-package-removal/guide.zh.md +18 -0
  485. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/new-session-blank-reuse/guide.i18n.yaml +16 -0
  486. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/new-session-blank-reuse/guide.md +22 -0
  487. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/new-session-blank-reuse/guide.zh.md +22 -0
  488. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/node-24/guide.i18n.yaml +16 -0
  489. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/node-24/guide.md +17 -0
  490. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/node-24/guide.zh.md +17 -0
  491. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/official-bundle-lists/guide.i18n.yaml +16 -0
  492. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/official-bundle-lists/guide.md +18 -0
  493. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/official-bundle-lists/guide.zh.md +18 -0
  494. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/persistent-terminal-controls/guide.i18n.yaml +16 -0
  495. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/persistent-terminal-controls/guide.md +18 -0
  496. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/persistent-terminal-controls/guide.zh.md +18 -0
  497. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-default-capacities/guide.i18n.yaml +16 -0
  498. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-default-capacities/guide.md +18 -0
  499. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-default-capacities/guide.zh.md +18 -0
  500. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-model-catalog/guide.i18n.yaml +16 -0
  501. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-model-catalog/guide.md +53 -0
  502. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-model-catalog/guide.zh.md +53 -0
  503. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-protocol-replay/guide.i18n.yaml +16 -0
  504. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-protocol-replay/guide.md +30 -0
  505. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-protocol-replay/guide.zh.md +30 -0
  506. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/ptc-script-format/guide.i18n.yaml +16 -0
  507. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/ptc-script-format/guide.md +20 -0
  508. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/ptc-script-format/guide.zh.md +20 -0
  509. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-desktop-context/guide.i18n.yaml +16 -0
  510. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-desktop-context/guide.md +18 -0
  511. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-desktop-context/guide.zh.md +18 -0
  512. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-minimal-checkpoints/guide.i18n.yaml +16 -0
  513. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-minimal-checkpoints/guide.md +18 -0
  514. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-minimal-checkpoints/guide.zh.md +18 -0
  515. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-projection-handles/guide.i18n.yaml +16 -0
  516. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-projection-handles/guide.md +24 -0
  517. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-projection-handles/guide.zh.md +24 -0
  518. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-store-writes/guide.i18n.yaml +16 -0
  519. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-store-writes/guide.md +25 -0
  520. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-store-writes/guide.zh.md +25 -0
  521. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-team-mode/guide.i18n.yaml +16 -0
  522. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-team-mode/guide.md +22 -0
  523. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-team-mode/guide.zh.md +22 -0
  524. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-activation-options/guide.i18n.yaml +16 -0
  525. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-activation-options/guide.md +18 -0
  526. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-activation-options/guide.zh.md +18 -0
  527. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-service-methods/guide.i18n.yaml +16 -0
  528. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-service-methods/guide.md +19 -0
  529. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-service-methods/guide.zh.md +19 -0
  530. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-user-controls/guide.i18n.yaml +16 -0
  531. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-user-controls/guide.md +26 -0
  532. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-user-controls/guide.zh.md +26 -0
  533. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/tool-executor-plugins/guide.i18n.yaml +16 -0
  534. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/tool-executor-plugins/guide.md +35 -0
  535. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/tool-executor-plugins/guide.zh.md +35 -0
  536. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/web-fetch-private-destinations/guide.i18n.yaml +16 -0
  537. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/web-fetch-private-destinations/guide.md +21 -0
  538. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/web-fetch-private-destinations/guide.zh.md +21 -0
  539. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/webserver-index-peer/guide.i18n.yaml +16 -0
  540. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/webserver-index-peer/guide.md +17 -0
  541. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/webserver-index-peer/guide.zh.md +17 -0
  542. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/attachment-read-access/guide.i18n.yaml +16 -0
  543. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/attachment-read-access/guide.md +23 -0
  544. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/attachment-read-access/guide.zh.md +23 -0
  545. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/computer-use-helper-permissions/guide.i18n.yaml +16 -0
  546. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/computer-use-helper-permissions/guide.md +21 -0
  547. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/computer-use-helper-permissions/guide.zh.md +21 -0
  548. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/cua-bundle-id-consent/guide.i18n.yaml +16 -0
  549. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/cua-bundle-id-consent/guide.md +20 -0
  550. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/cua-bundle-id-consent/guide.zh.md +20 -0
  551. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/generated-worktree-names/guide.i18n.yaml +16 -0
  552. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/generated-worktree-names/guide.md +20 -0
  553. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/generated-worktree-names/guide.zh.md +20 -0
  554. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/inbox-only-agent-wait/guide.i18n.yaml +16 -0
  555. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/inbox-only-agent-wait/guide.md +19 -0
  556. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/inbox-only-agent-wait/guide.zh.md +19 -0
  557. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/independent-session-forks/guide.i18n.yaml +16 -0
  558. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/independent-session-forks/guide.md +23 -0
  559. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/independent-session-forks/guide.zh.md +23 -0
  560. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/ptc-caller-cancellation/guide.i18n.yaml +16 -0
  561. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/ptc-caller-cancellation/guide.md +20 -0
  562. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/ptc-caller-cancellation/guide.zh.md +20 -0
  563. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/session-follow-activation/guide.i18n.yaml +16 -0
  564. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/session-follow-activation/guide.md +21 -0
  565. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/session-follow-activation/guide.zh.md +21 -0
  566. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/subagent-runtime-ownership/guide.i18n.yaml +16 -0
  567. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/subagent-runtime-ownership/guide.md +21 -0
  568. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/subagent-runtime-ownership/guide.zh.md +21 -0
  569. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-mode-menu/guide.i18n.yaml +16 -0
  570. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-mode-menu/guide.md +18 -0
  571. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-mode-menu/guide.zh.md +18 -0
  572. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-projection/guide.i18n.yaml +16 -0
  573. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-projection/guide.md +20 -0
  574. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-projection/guide.zh.md +20 -0
  575. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-file-downloads/guide.i18n.yaml +16 -0
  576. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-file-downloads/guide.md +19 -0
  577. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-file-downloads/guide.zh.md +19 -0
  578. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-search-defaults/guide.i18n.yaml +16 -0
  579. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-search-defaults/guide.md +18 -0
  580. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-search-defaults/guide.zh.md +18 -0
  581. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/model-listing-refresh/guide.i18n.yaml +16 -0
  582. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/model-listing-refresh/guide.md +22 -0
  583. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/model-listing-refresh/guide.zh.md +22 -0
  584. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/reasoning-body-props/guide.i18n.yaml +16 -0
  585. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/reasoning-body-props/guide.md +20 -0
  586. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/reasoning-body-props/guide.zh.md +20 -0
  587. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.i18n.yaml +16 -0
  588. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.md +18 -0
  589. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.zh.md +18 -0
  590. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/context-menu-target/guide.i18n.yaml +16 -0
  591. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/context-menu-target/guide.md +19 -0
  592. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/context-menu-target/guide.zh.md +19 -0
  593. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cordis-loader-entry-trees/guide.i18n.yaml +16 -0
  594. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cordis-loader-entry-trees/guide.md +24 -0
  595. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cordis-loader-entry-trees/guide.zh.md +24 -0
  596. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/css-anchored-menus/guide.i18n.yaml +16 -0
  597. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/css-anchored-menus/guide.md +21 -0
  598. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/css-anchored-menus/guide.zh.md +21 -0
  599. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cua-source-dev-helper/guide.i18n.yaml +16 -0
  600. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cua-source-dev-helper/guide.md +19 -0
  601. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cua-source-dev-helper/guide.zh.md +19 -0
  602. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/desktop-stable-channel/guide.i18n.yaml +16 -0
  603. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/desktop-stable-channel/guide.md +18 -0
  604. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/desktop-stable-channel/guide.zh.md +18 -0
  605. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-git-permissions/guide.i18n.yaml +16 -0
  606. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-git-permissions/guide.md +21 -0
  607. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-git-permissions/guide.zh.md +21 -0
  608. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-worktree-entry/guide.i18n.yaml +16 -0
  609. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-worktree-entry/guide.md +29 -0
  610. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-worktree-entry/guide.zh.md +29 -0
  611. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/fs-observation-policy-default-off/guide.i18n.yaml +16 -0
  612. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/fs-observation-policy-default-off/guide.md +29 -0
  613. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/fs-observation-policy-default-off/guide.zh.md +29 -0
  614. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.i18n.yaml +16 -0
  615. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.md +18 -0
  616. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.zh.md +18 -0
  617. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-request-purpose-declarations/guide.i18n.yaml +16 -0
  618. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-request-purpose-declarations/guide.md +29 -0
  619. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-request-purpose-declarations/guide.zh.md +29 -0
  620. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/pi-ai-request-image-count/guide.i18n.yaml +16 -0
  621. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/pi-ai-request-image-count/guide.md +18 -0
  622. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/pi-ai-request-image-count/guide.zh.md +18 -0
  623. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-event-frames/guide.i18n.yaml +16 -0
  624. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-event-frames/guide.md +32 -0
  625. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-event-frames/guide.zh.md +32 -0
  626. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-released-checkpoint/guide.i18n.yaml +16 -0
  627. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-released-checkpoint/guide.md +30 -0
  628. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-released-checkpoint/guide.zh.md +30 -0
  629. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-snapshot-scope/guide.i18n.yaml +16 -0
  630. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-snapshot-scope/guide.md +19 -0
  631. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-snapshot-scope/guide.zh.md +19 -0
  632. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/retained-ptc-timeout/guide.i18n.yaml +16 -0
  633. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/retained-ptc-timeout/guide.md +21 -0
  634. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/retained-ptc-timeout/guide.zh.md +21 -0
  635. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-agent-tools/guide.i18n.yaml +16 -0
  636. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-agent-tools/guide.md +37 -0
  637. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-agent-tools/guide.zh.md +37 -0
  638. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-remote-host-tasks/guide.i18n.yaml +16 -0
  639. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-remote-host-tasks/guide.md +22 -0
  640. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-remote-host-tasks/guide.zh.md +22 -0
  641. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/sdk-run-commands/guide.i18n.yaml +16 -0
  642. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/sdk-run-commands/guide.md +24 -0
  643. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/sdk-run-commands/guide.zh.md +24 -0
  644. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/session-header-menu/guide.i18n.yaml +16 -0
  645. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/session-header-menu/guide.md +20 -0
  646. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/session-header-menu/guide.zh.md +20 -0
  647. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/subagent-explicit-reasoning/guide.i18n.yaml +16 -0
  648. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/subagent-explicit-reasoning/guide.md +20 -0
  649. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/subagent-explicit-reasoning/guide.zh.md +20 -0
  650. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-credential-modes/guide.i18n.yaml +16 -0
  651. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-credential-modes/guide.md +17 -0
  652. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-credential-modes/guide.zh.md +17 -0
  653. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-default-provider/guide.i18n.yaml +16 -0
  654. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-default-provider/guide.md +19 -0
  655. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-default-provider/guide.zh.md +19 -0
  656. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/chat-process-activity-context/guide.i18n.yaml +16 -0
  657. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/chat-process-activity-context/guide.md +18 -0
  658. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/chat-process-activity-context/guide.zh.md +18 -0
  659. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.i18n.yaml +16 -0
  660. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.md +34 -0
  661. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.zh.md +34 -0
  662. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.i18n.yaml +16 -0
  663. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.md +49 -0
  664. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.zh.md +49 -0
  665. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.i18n.yaml +16 -0
  666. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.md +36 -0
  667. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.zh.md +36 -0
  668. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/subagent-names/guide.i18n.yaml +16 -0
  669. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/subagent-names/guide.md +29 -0
  670. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/subagent-names/guide.zh.md +29 -0
  671. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.i18n.yaml +16 -0
  672. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.md +26 -0
  673. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.zh.md +26 -0
  674. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.i18n.yaml +16 -0
  675. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.md +22 -0
  676. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.zh.md +22 -0
  677. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.i18n.yaml +16 -0
  678. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.md +21 -0
  679. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.zh.md +21 -0
  680. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.i18n.yaml +16 -0
  681. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.md +23 -0
  682. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.zh.md +23 -0
  683. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.i18n.yaml +16 -0
  684. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.md +20 -0
  685. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.zh.md +20 -0
  686. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.i18n.yaml +16 -0
  687. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.md +18 -0
  688. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.zh.md +18 -0
  689. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.i18n.yaml +16 -0
  690. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.md +23 -0
  691. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.zh.md +23 -0
  692. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.i18n.yaml +16 -0
  693. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.md +35 -0
  694. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.zh.md +35 -0
  695. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.i18n.yaml +16 -0
  696. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.md +26 -0
  697. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.zh.md +26 -0
  698. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.i18n.yaml +16 -0
  699. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.md +26 -0
  700. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.zh.md +26 -0
  701. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.i18n.yaml +16 -0
  702. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.md +19 -0
  703. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.zh.md +19 -0
  704. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.i18n.yaml +16 -0
  705. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.md +26 -0
  706. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.zh.md +26 -0
  707. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.i18n.yaml +16 -0
  708. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.md +22 -0
  709. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.zh.md +22 -0
  710. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.i18n.yaml +16 -0
  711. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.md +25 -0
  712. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.zh.md +25 -0
  713. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.i18n.yaml +16 -0
  714. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.md +48 -0
  715. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.zh.md +48 -0
  716. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.i18n.yaml +16 -0
  717. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.md +45 -0
  718. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.zh.md +45 -0
  719. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.i18n.yaml +16 -0
  720. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.md +19 -0
  721. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.zh.md +19 -0
  722. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.i18n.yaml +16 -0
  723. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.md +17 -0
  724. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.zh.md +17 -0
  725. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.i18n.yaml +16 -0
  726. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.md +27 -0
  727. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.zh.md +27 -0
  728. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.i18n.yaml +16 -0
  729. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.md +20 -0
  730. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.zh.md +20 -0
  731. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.i18n.yaml +16 -0
  732. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.md +19 -0
  733. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.zh.md +19 -0
  734. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.i18n.yaml +16 -0
  735. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.md +41 -0
  736. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.zh.md +41 -0
  737. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.i18n.yaml +16 -0
  738. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.md +21 -0
  739. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.zh.md +21 -0
  740. package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +0 -0
  741. package/references/official-docs/docs/user/develop/basic/publish.md +0 -0
  742. package/references/official-docs/docs/user/develop/basic/publish.zh.md +0 -0
  743. package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +2 -2
  744. package/references/official-docs/docs/user/develop/framework/events.md +1 -1
  745. package/references/official-docs/docs/user/develop/framework/events.zh.md +1 -1
  746. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +2 -2
  747. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.md +1 -1
  748. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.zh.md +1 -1
  749. package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +2 -2
  750. package/references/official-docs/docs/user/develop/practice/llm-adapter.md +2 -2
  751. package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +2 -2
  752. package/references/official-docs/docs/user/guide/desktop-uninstall-cleanup.i18n.yaml +16 -0
  753. package/references/official-docs/docs/user/guide/desktop-uninstall-cleanup.md +60 -0
  754. package/references/official-docs/docs/user/guide/desktop-uninstall-cleanup.zh.md +60 -0
  755. package/references/official-docs/docs/user/guide/index.i18n.yaml +2 -2
  756. package/references/official-docs/docs/user/guide/index.md +1 -0
  757. package/references/official-docs/docs/user/guide/index.zh.md +1 -0
  758. package/references/official-docs/docs/user/guide/network-proxy.i18n.yaml +2 -2
  759. package/references/official-docs/docs/user/guide/network-proxy.md +1 -1
  760. package/references/official-docs/docs/user/guide/network-proxy.zh.md +1 -1
  761. package/references/official-docs/docs/user/guide/plugin-market.i18n.yaml +24 -24
  762. package/references/official-docs/docs/user/guide/plugin-market.md +15 -13
  763. package/references/official-docs/docs/user/guide/plugin-market.zh.md +15 -13
  764. package/references/official-docs/docs/user/guide/providers.i18n.yaml +10 -10
  765. package/references/official-docs/docs/user/guide/providers.md +8 -4
  766. package/references/official-docs/docs/user/guide/providers.zh.md +8 -4
  767. package/references/official-docs/docs/user/guide/public-deployments.i18n.yaml +0 -0
  768. package/references/official-docs/docs/user/guide/public-deployments.md +0 -0
  769. package/references/official-docs/docs/user/guide/public-deployments.zh.md +0 -0
  770. package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +9 -6
  771. package/references/official-docs/docs/user/guide/python-sdk.md +17 -2
  772. package/references/official-docs/docs/user/guide/python-sdk.zh.md +17 -2
  773. package/references/official-docs/docs/user/guide/schedule.i18n.yaml +16 -16
  774. package/references/official-docs/docs/user/guide/schedule.md +45 -26
  775. package/references/official-docs/docs/user/guide/schedule.zh.md +45 -26
  776. package/references/official-docs/docs/web-styling.i18n.yaml +8 -2
  777. package/references/official-docs/docs/web-styling.md +20 -2
  778. package/references/official-docs/docs/web-styling.zh.md +20 -2
  779. package/references/official-docs/packages/AGENTS.md +0 -0
  780. package/references/official-docs/packages/README.md +3 -2
  781. package/references/official-docs/vendor/README.md +39 -45
  782. package/references/official-docs/website-docs.ts +9 -1
  783. package/references/sources.md +1 -1
  784. package/scripts/check-facts.mjs +32 -25
  785. package/scripts/check-readme-parity.mjs +2 -2
  786. package/scripts/check-readme-sync.mjs +23 -16
  787. package/scripts/gen-readme-assets.py +528 -0
  788. package/scripts/verify-kit.ps1 +2 -2
  789. package/README-es.md +0 -456
  790. package/README-hi.md +0 -456
  791. package/README-pt.md +0 -456
  792. package/README-zh.md +0 -458
  793. package/references/official-docs/docs/subsystems/office-to-pdf.i18n.yaml +0 -19
  794. package/references/official-docs/docs/subsystems/office-to-pdf.md +0 -87
  795. package/references/official-docs/docs/subsystems/office-to-pdf.zh.md +0 -87
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](web-server.md) | 中文
4
4
 
5
- [dsh-host-webserver](../../packages/host/webserver) 是 GUI Host 的浏览器 HTTP 载体:一个 `node:http` 服务器——配置 `tls` 时改用 `node:https`——提供 `ctx.webServer`、具名路由注册表、可选的 gzip 响应压缩、index.html 转换回调,以及一个可由插件认领的回退处理器。它不属于 agent loop(智能体循环),也不是能力 seam;它不了解任何 harness 概念。其他插件负责注册所有功能路由,包括 `/api` 桥接、插件 bundle 和 HMR(热模块替换)事件流([分层说明](../../packages/boot/app-boot/README.zh.md))。该服务器只服务浏览器:Electron 通过 `file://` 加载已构建文件,并经 IPC 桥接发送 fetch 请求,不使用本服务器。
5
+ [dsh-host-webserver](../../packages/host/webserver) 是 GUI Host 的浏览器 HTTP 载体:一个 `node:http` 服务器——配置 `tls` 时改用 `node:https`——提供 `ctx.webServer`、具名路由注册表、可选的 gzip 响应压缩、index.html 转换回调,以及一个可由插件认领的回退(handler 或 resource)。它不属于 agent loop(智能体循环),也不是能力 seam;它唯一涉及的 harness 概念是 index 渲染所代表的 Peer。其他插件负责注册所有功能路由,包括 `/api` 桥接、插件 bundle 和 HMR(热模块替换)事件流([分层说明](../../packages/boot/app-boot/README.zh.md))。该服务器只服务浏览器:Electron 通过 `file://` 加载已构建文件,并经 IPC 桥接发送 fetch 请求,不使用本服务器。
6
6
 
7
7
  源码:[`packages/host/webserver/src/index.ts`](../../packages/host/webserver/src/index.ts)
8
8
 
@@ -24,8 +24,30 @@ interface WebRoute {
24
24
  }
25
25
  ```
26
26
 
27
+ ```ts type-equiv
28
+ /**
29
+ * Answers one GET or HEAD request with a Fetch response. An HTTP request
30
+ * arrives without a Peer and carries the client's headers; an in-process
31
+ * {@link WebServer.readResource} read passes the Peer its caller admitted.
32
+ */
33
+ type WebResource = (request: Request, peer?: PeerScope) => Promise<Response>
34
+ ```
35
+
36
+ ```ts type-equiv
37
+ /** One named route answered by a resource instead of a handler. */
38
+ interface WebResourceRoute {
39
+ kind: WebRouteKind
40
+ /** Absolute pathname, no trailing slash. */
41
+ path: string
42
+ /** Answers HTTP GET and HEAD requests and in-process reads. */
43
+ resource: WebResource
44
+ }
45
+ ```
46
+
27
47
  匹配顺序固定:先查 exact 表,再取最长匹配前缀,最后落到已注册的回退。注册顺序不携带任何面向请求的语义:具名路由在组合上互不相交,任何未被具名路由认领的请求都由回退席位应答;席位只有一个所有者,第二次注册会抛出异常。发布的 Web 组合用 [`dsh-host-frontend-static`](../../packages/host/frontend-static/src/index.ts) 认领席位,即遵循固定语义的 SPA dist 服务器:Connection 在读取 dist 根目录和配置 index 的 HTML 前完成认证;非 index 资产保持公开;非 GET/HEAD 返回 405,越出 dist 根目录的遍历返回 403,现有文件直接提供,缺失或不是文件的目标返回空的 404,未知扩展名按 octet-stream 发送。
28
48
 
49
+ 路由或回退可以用 resource——一个把 Fetch `Request` 映射为 `Response` 的函数——代替 handler。HTTP 的 `GET`、`HEAD` 请求不带 Peer 到达它,`readResource(request, peer)` 则在进程内按调用方准入的 Peer 读取它;读取遵循同样的匹配顺序但只到达 resource,因此返回 owner 私有数据或会执行操作的路由即使应答 `GET` 也保持为 handler。
50
+
29
51
  <a id="config"></a>
30
52
 
31
53
  ## 配置
@@ -81,7 +103,7 @@ interface TlsConfig {
81
103
 
82
104
  ## 服务
83
105
 
84
- `WebServer`(`ctx.webServer`)在激活时立即监听;监听失败(EADDRINUSE 等)会使初始化被拒绝,启动进程会报告失败的 fiber。`tls` 证书对在监听器绑定前读取一次;文件不可读、为空或二者不匹配时同样会使初始化被拒绝,而不是回退到 HTTP。`register(route)` 添加一条具名路由并返回其 disposer;重复的 `(kind, path)` 抛出异常,因为路由模式是组合层约定,冲突即配置错误。Gzip 在服务器内部包装符合条件且基于 socket 的响应,因此 route handler 继续直接持有 `ServerResponse`,服务也不新增响应写出 API。已有内容编码、`Cache-Control: no-transform`、范围响应、SSE、ZIP 与打包后的 `.gz` Worker 镜像均保持 identity 响应。`collectIndexInjections()` 经一次 `webserver/index-inject` emit 收集结构化 `IndexInjection` 行,`renderIndex(html)` 把它们渲染进成功的根路径和配置 index 响应,随后再按注册顺序应用原始的 `tapIndex(transform)` 逃生口转换;[dsh-client-modules](../../packages/client/modules) 以启动 manifest(元数据清单)行回应该事件。`port` 读取监听端口,包括 `config.port` 为 0 时操作系统分配的端口,`protocol` 则报告监听器提供的协议(`http:` 或 `https:`)。
106
+ `WebServer`(`ctx.webServer`)在激活时立即监听;监听失败(EADDRINUSE 等)会使初始化被拒绝,启动进程会报告失败的 fiber。`tls` 证书对在监听器绑定前读取一次;文件不可读、为空或二者不匹配时同样会使初始化被拒绝,而不是回退到 HTTP。`register(route)` 添加一条具名路由并返回其 disposer;重复的 `(kind, path)` 抛出异常,因为路由模式是组合层约定,冲突即配置错误。Gzip 在服务器内部包装符合条件且基于 socket 的响应,因此 handler 继续直接持有 `ServerResponse`,resource 则把 `Response` 交给服务写回。已有内容编码、`Cache-Control: no-transform`、范围响应、SSE、ZIP 与打包后的 `.gz` Worker 镜像均保持 identity 响应。`collectIndexInjections(peer)` 经一次传入页面所代表 Peer 的 `webserver/index-inject` emit 收集结构化 `IndexInjection` 行,`renderIndex(html, peer)` 把它们渲染进成功的根路径和配置 index 响应,随后再按注册顺序应用原始的 `tapIndex(transform)` 逃生口转换;[dsh-client-modules](../../packages/client/modules) 以启动 manifest(元数据清单)行回应该事件。`port` 读取监听端口,包括 `config.port` 为 0 时操作系统分配的端口,`protocol` 则报告监听器提供的协议(`http:` 或 `https:`)。
85
107
 
86
108
  处理过程中抛出异常的请求(畸形的 % 转义撞上 `decodeURIComponent`、客户端在请求体中途断开)会记录为警告并应答 400(响应头已发出时则销毁 socket),绝不导致进程退出。dispose(资源释放)把 `close()` 与 `closeAllConnections()` 配对使用,因为处理器可能像 SSE(Server-Sent Events)那样保持响应打开,而这类连接永远不会自行结束;没有强制关闭,拆卸就会挂起。TLS socket 只有完成握手后才计入连接,因此服务器会把原始 TLS socket 与升级后的 socket 一并跟踪,并在 dispose 时销毁两者。该包从不打印输出:URL 行归 shell 所有。逐包运维细节(含开发模式的 bundle 监视流水线)留在 [README](../../packages/host/webserver/README.zh.md) 中。
87
109
 
@@ -180,7 +202,7 @@ Source: [`packages/bundle/web-app/src/index.ts`](../../packages/bundle/web-app/s
180
202
 
181
203
  ### `ctx.webServer` — `WebServer`
182
204
 
183
- The browser HTTP carrier service. Activation loads any configured TLS material, then listens immediately; a material or listen failure rejects initialization, and the boot process reports the failed fiber. Route registration order does not affect requests because configured named routes must be distinct, and the fallback handler answers anything not yet claimed during startup with 404 until its owner registers.
205
+ The browser HTTP carrier service. Activation loads any configured TLS material, then listens immediately; a material or listen failure rejects initialization, and the boot process reports the failed fiber. Route registration order does not affect requests because configured named routes must be distinct, and a request no named route matches is answered 404 until the fallback owner registers.
184
206
 
185
207
  ```ts cordis-catalog
186
208
  /**
@@ -194,10 +216,10 @@ getOrigin(): string
194
216
  /**
195
217
  * Register a named route. Duplicate (kind, path) throws — route patterns are
196
218
  * a composition-level contract, so a collision is a misconfiguration.
197
- * @param route - kind, path, and the owning handler.
219
+ * @param route - kind, path, and the owning handler or resource.
198
220
  * @returns the disposer removing the route.
199
221
  */
200
- register(route: WebRoute): () => void
222
+ register(route: WebRoute | WebResourceRoute): () => void
201
223
 
202
224
  /**
203
225
  * Register an exact-path HTTP upgrade route. Duplicate paths throw because
@@ -208,14 +230,32 @@ register(route: WebRoute): () => void
208
230
  registerUpgrade(route: WebUpgradeRoute): () => void
209
231
 
210
232
  /**
211
- * Claim the fallback seat: the handler answering every request no named
212
- * route matches (the SPA dist server in the shipped Web composition). One
213
- * owner only — a second registration throws, because two fallbacks cannot
214
- * compose.
215
- * @param handler - owns the full response lifecycle of unmatched requests.
233
+ * Claim the fallback seat: the handler or resource answering every request
234
+ * no named route matches (the SPA dist server in the shipped Web
235
+ * composition). One owner only — a second registration throws, because two
236
+ * fallbacks cannot compose.
237
+ * @param fallback - a handler owning the full response lifecycle of
238
+ * unmatched requests, or `{ resource }` answering them.
216
239
  * @returns the disposer releasing the seat.
217
240
  */
218
- registerFallback(handler: WebRoute['handler']): () => void
241
+ registerFallback(fallback: WebRoute['handler'] | Pick<WebResourceRoute, 'resource'>): () => void
242
+
243
+ /**
244
+ * Read the response an HTTP request for the same URL would receive, as the
245
+ * resource computes it for `peer`, without an HTTP exchange. The request
246
+ * path picks the responder by the HTTP match order — exact, longest prefix,
247
+ * then the fallback — and only a resource answers. This method checks no
248
+ * cookie, Host, or Origin: the caller admits the reader before reading.
249
+ * @param request - the read; its URL path selects the responder.
250
+ * @param peer - the Peer the read speaks for, passed to the resource.
251
+ * @returns the resource's response, without a body for HEAD as over HTTP;
252
+ * 405 with `Allow: GET, HEAD` for any other method, checked before matching,
253
+ * where over HTTP a handler route or an unmatched path answers such a
254
+ * method itself; 404 when the path matches a handler route, or reaches the
255
+ * fallback seat while it is unclaimed or holds a handler. A resource that
256
+ * throws rejects the read, where an HTTP request would receive 400.
257
+ */
258
+ async readResource(request: Request, peer: PeerScope): Promise<Response>
219
259
 
220
260
  /**
221
261
  * Register a raw-HTML index transform, the escape hatch for markup no
@@ -235,20 +275,23 @@ tapIndex(transform: (html: string) => string): () => void
235
275
  applyIndexTaps(html: string): string
236
276
 
237
277
  /**
238
- * Gather the structured injection table: one `webserver/index-inject` emit,
239
- * every subscriber pushes its current rows. Fresh per call, so subscribers
240
- * read live state (module graph, theme preference) at emit time.
278
+ * Gather the structured injection table for one Peer: one
279
+ * `webserver/index-inject` emit, every subscriber pushes its current rows.
280
+ * Fresh per call, so subscribers read live state (module graph, theme
281
+ * preference, the Peer's access) at emit time.
282
+ * @param peer - the Peer the page speaks for.
241
283
  * @returns rows in subscriber activation order.
242
284
  */
243
- collectIndexInjections(): IndexInjection[]
285
+ collectIndexInjections(peer: PeerScope): IndexInjection[]
244
286
 
245
287
  /**
246
- * Render one index.html body: the structured injection table first, then
247
- * the raw `tapIndex` transforms over the result.
288
+ * Render one index.html body for one Peer: the structured injection table
289
+ * first, then the raw `tapIndex` transforms over the result.
248
290
  * @param html - the raw index.html body.
291
+ * @param peer - the Peer the page speaks for.
249
292
  * @returns the transformed body.
250
293
  */
251
- renderIndex(html: string): string
294
+ renderIndex(html: string, peer: PeerScope): string
252
295
  ```
253
296
 
254
297
  Source: [`packages/host/webserver/src/index.ts`](../../packages/host/webserver/src/index.ts)
@@ -285,17 +328,19 @@ Source: [`packages/client/connection/src/index.ts`](../../packages/client/connec
285
328
 
286
329
  #### `webserver/index-inject` — emit
287
330
 
288
- Collect the structured index injection table. Emitted on every index render and every worker boot-payload request; listeners push their current rows, so a row's data is read fresh at emit time.
331
+ Collect the structured index injection table for the page `peer` speaks for. Emitted on every index render and every worker boot-payload request; listeners push their current rows, so a row's data is read fresh at emit time.
289
332
 
290
333
  ```ts cordis-catalog
291
334
  /**
292
- * Collect the structured index injection table. Emitted on every index
293
- * render and every worker boot-payload request; listeners push their
294
- * current rows, so a row's data is read fresh at emit time.
335
+ * Collect the structured index injection table for the page `peer` speaks
336
+ * for. Emitted on every index render and every worker boot-payload
337
+ * request; listeners push their current rows, so a row's data is read
338
+ * fresh at emit time.
295
339
  * @param table - Mutable row table; listeners append in activation order.
340
+ * @param peer - The Peer the rendered page speaks for.
296
341
  * @mode emit
297
342
  */
298
- 'webserver/index-inject'(table: IndexInjection[]): void
343
+ 'webserver/index-inject'(table: IndexInjection[], peer: PeerScope): void
299
344
  ```
300
345
 
301
346
  Source: [`packages/host/webserver/src/index.ts`](../../packages/host/webserver/src/index.ts)
@@ -3,26 +3,26 @@
3
3
  # After editing either side, bring the other along and re-record with:
4
4
  # pnpm run verify-translation-pairing --write docs/subsystems/web.md
5
5
  /web-access:
6
- en: 86d12e6e81fb63b8
7
- zh: 52ed66dcacaf6d85
6
+ en: 3186d79f26bd8c45
7
+ zh: de31c570ea8be79c
8
8
  /web-access/why-one-capability-has-two-operations:
9
9
  en: 380da3cd0aabd52b
10
10
  zh: 1317c26089c3ab07
11
11
  /web-access/search-request-and-result:
12
- en: 1ad94deb713024e2
13
- zh: 9d3df730fa99ad89
12
+ en: c6eee490ae914ae0
13
+ zh: d576eaeb48480c81
14
14
  /web-access/fetch-request-and-result:
15
15
  en: b96bcdf42ced9eab
16
16
  zh: aa927e2450238557
17
17
  /web-access/provider-availability:
18
- en: da78eb96d684ad47
19
- zh: 4b726cc04c92ef13
18
+ en: ba99c3876cb05fd9
19
+ zh: cd366d7c3279bd87
20
20
  /web-access/fetch-network-policy:
21
- en: 261fce9249be8b2b
22
- zh: bf6abf77679aca6d
21
+ en: 6851874be5841d90
22
+ zh: dc085bf3b82d77df
23
23
  /web-access/errors:
24
24
  en: b07c04f462b4a0d9
25
25
  zh: de5f09cd2fb0324c
26
26
  /web-access/the-service:
27
- en: c81fdcdfd6e22861
28
- zh: ac906c9148942041
27
+ en: c9e7dc85c08e64e1
28
+ zh: 277c52aac58f42dc
@@ -2,7 +2,7 @@
2
2
 
3
3
  English | [中文](web.zh.md)
4
4
 
5
- The web access seam — a [capability seam](../../.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.md) that spans **two operations** (search and fetch) on one `ctx.web` service, split across packages: Service Definition ([dsh-web](../../packages/web/web), `ctx.web` + the provider registries), Service Providers ([dsh-web-search-exa](../../packages/web/web-search-exa), [dsh-web-search-perplexity](../../packages/web/web-search-perplexity), [dsh-web-search-deepseek](../../packages/web/web-search-deepseek), [dsh-web-deepseek-api](../../packages/web/web-deepseek-api), [dsh-web-fetch-http](../../packages/web/web-fetch-http)), and Consumer ([dsh-tool-web](../../packages/web/tool-web), the `web_search`/`web_fetch` tool schemas). Web is **one optional capability**, not part of the agent-loop spine — so its vocabulary lives here, not in [core.md](core.md). A search-provider swap does not change how the model asks for a query, and a fetch-provider swap does not change how the model asks for a URL.
5
+ The web access seam — a [capability seam](../../.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.md) that spans **two operations** (search and fetch) on one `ctx.web` service, split across packages: Service Definition ([dsh-web](../../packages/web/web), `ctx.web` + the provider registries), Service Providers ([dsh-web-search-deepseek](../../packages/web/web-search-deepseek), [dsh-web-deepseek-api](../../packages/web/web-deepseek-api), [dsh-web-fetch-http](../../packages/web/web-fetch-http)), and Consumer ([dsh-tool-web](../../packages/web/tool-web), the `web_search`/`web_fetch` tool schemas). Web is **one optional capability**, not part of the agent-loop spine — so its vocabulary lives here, not in [core.md](core.md). A search-provider swap does not change how the model asks for a query, and a fetch-provider swap does not change how the model asks for a URL.
6
6
 
7
7
  Source: [`packages/web/web/src/types.ts`](../../packages/web/web/src/types.ts)
8
8
 
@@ -12,7 +12,7 @@ Search and fetch share no request schema and no business logic, but they are del
12
12
 
13
13
  ## Search request and result
14
14
 
15
- Each seam request carries exactly one `query`. The `dsh-tool-web` consumer accepts a required `queries` array and fans it out into separate seam requests; a one-item array performs one search. `maxResults` is a consumer-owned bound (`dsh-tool-web`'s `searchMaxResults` config, default `8`) passed through the seam and enforced on the way back — if a provider over-returns, the seam truncates `sources[]` and sets `truncated`.
15
+ Each seam request carries exactly one `query`. The `dsh-tool-web` consumer accepts a required `queries` array and fans it out into separate seam requests; a one-item array performs one search. `maxResults` is a consumer-owned bound (`dsh-tool-web`'s `searchMaxResults` config, default `10`) passed through the seam and enforced on the way back — if a provider over-returns, the seam truncates `sources[]` and sets `truncated`.
16
16
 
17
17
  ```ts type-equiv
18
18
  /**
@@ -26,9 +26,9 @@ interface WebSearchRequest {
26
26
  /**
27
27
  * Upper bound on returned sources; the seam truncates to it. Omitted = no
28
28
  * bound. `dsh-tool-web` always sets it. A provider whose API supports a
29
- * result-count control (Exa's `numResults`) should apply it at the request
30
- * layer as a cost/latency optimization; the seam enforces the bound
31
- * regardless.
29
+ * result-count control (the DeepSeek Search API's `count`) should apply it
30
+ * at the request layer as a cost/latency optimization; the seam enforces the
31
+ * bound regardless.
32
32
  */
33
33
  readonly maxResults?: number
34
34
  }
@@ -37,8 +37,8 @@ interface WebSearchRequest {
37
37
  ```ts type-equiv
38
38
  /**
39
39
  * Normalized search outcome. `content` is optional provider-generated answer
40
- * text or summary (Exa and DeepSeek return none; Perplexity returns a
41
- * generated answer).
40
+ * text or summary (DeepSeek returns none; a provider whose API generates an
41
+ * answer returns it here).
42
42
  * `sources[]` is the portable citation shape. `truncated` is set by the seam
43
43
  * when it cut `sources[]` down to `maxResults`.
44
44
  */
@@ -54,15 +54,18 @@ interface WebSearchResult {
54
54
 
55
55
  ```ts type-equiv
56
56
  /**
57
- * One citeable source. A source always has a URL; `title`, `snippet`, and
58
- * `publishedAt` are optional because not every provider returns them — forcing
59
- * adapters to invent them would make the seam lie (Perplexity citations may be
60
- * URL-only). `dsh-tool-web` renders `title ?? hostname(url)` for display.
57
+ * One citeable source. A source always has a URL; `title`, `snippet`, `summary`,
58
+ * and `publishedAt` are optional because not every provider returns them — forcing
59
+ * adapters to invent them would make the seam lie (some providers return
60
+ * URL-only citations). `dsh-tool-web` renders `title ?? hostname(url)` for display.
61
61
  */
62
62
  interface WebSearchSource {
63
63
  readonly url: string
64
64
  readonly title?: string
65
+ /** Short excerpt suited to display. */
65
66
  readonly snippet?: string
67
+ /** Longer excerpt suited to model reading; consumers bound its length. */
68
+ readonly summary?: string
66
69
  /** Publication/crawl timestamp as a provider-supplied ISO-8601 string. */
67
70
  readonly publishedAt?: string
68
71
  }
@@ -120,7 +123,9 @@ type WebFetchBody =
120
123
 
121
124
  ## Provider availability
122
125
 
123
- A provider's `available(): boolean` is a cheap LOCAL check (credential presence, parseable config) and **must not make network calls**. It is an input to execution-time selection, not a health system: `search()`/`fetch()` read it to pick a usable provider, and a selection failure surfaces as the structured `WebError` the caller routes on — which carries the branchable detail (the missing id or ambiguous candidate set) in its code and message.
126
+ A provider's `available(): boolean` is a cheap LOCAL check (credential presence, parseable config) and **must not make network calls**. It is an input to execution-time selection, not a health system: `search()`/`fetch()` read it to pick a usable provider, and a selection failure surfaces as the structured `WebError` the caller routes on — which carries the branchable detail (the missing id or ambiguous candidate set) in its code and message. Registration, unlike availability, is observable before an operation runs: `listProviders()` returns every registered search and fetch provider by `id`, optional `title`, and optional localized `description`, and the payload-free `web/providers-changed` event fires after each registration or disposal; availability still shows only when an operation runs.
127
+
128
+ A search or fetch provider may also implement `ready(llmProvider): Promise<boolean>`, a configuration-only check that must not make network calls: it answers whether an operation made for a model request on that chat route has a credential to send. `searchReady(llmProvider?)` and `fetchReady(llmProvider?)` ask only the provider that `search()` or `fetch()` would select, treat a provider without `ready()` as ready, and answer true when selection fails, because the operation reports that failure as a `WebError`. Readiness is not a selection input; `dsh-tool-web` makes it the activation condition of `web_search` and `web_fetch`, so a model step whose route answers false neither declares nor dispatches the tool. The DeepSeek Search and Fetch API providers use the route to choose between the account token and the API key, as the [web-deepseek-api authentication](../../packages/web/web-deepseek-api/README.md#authentication) section describes.
124
129
 
125
130
  Selection never depends on registration, config, or HMR order: a capability has an explicit provider id (config `searchProvider`/`fetchProvider`, or the matching env var feeding the same field), or auto-selects when exactly one usable provider is registered; multiple usable providers with no configured id is `WEB_PROVIDER_AMBIGUOUS`, not first-wins. Each operation reads the configured id when it runs, so a saved settings change applies to the next search or fetch without remounting `ctx.web`.
126
131
 
@@ -128,7 +133,7 @@ Selection never depends on registration, config, or HMR order: a capability has
128
133
 
129
134
  The shipped Cordis, Code, and Standard presets expose `web_fetch` in every sandbox and approval mode without per-call confirmation. File sandbox presets do not govern Web network access. A deployment that needs confirmation must add a `tools/pre-execute` policy or disable fetch.
130
135
 
131
- The HTTP provider resolves each actual request, rejects non-public answers including private IPv4 reached through the active DNS64 prefix, pins the validated address set, and repeats enforcement for each same-origin redirect. A cross-origin redirect requires a new tool call and fresh public-address validation. These checks prevent SSRF access to non-public destinations but do not stop a model from sending data to a public URL.
136
+ The HTTP provider does not restrict destination addresses: `web_fetch` reaches loopback, private-network, and cloud metadata hosts like any other host, and a model can send data to any URL it can reach. A cross-origin redirect requires a new tool call. A deployment that must keep the model away from private destinations needs network confinement, a `tools/pre-execute` policy, or no fetch tool.
132
137
 
133
138
  ## Errors
134
139
 
@@ -136,7 +141,7 @@ The HTTP provider resolves each actual request, rejects non-public answers inclu
136
141
 
137
142
  ## The service
138
143
 
139
- `WebRuntime` registers search and fetch providers, rejects duplicate ids with `WEB_DUPLICATE_PROVIDER`, and resolves providers at execution time with structured selection errors. The local fetch backend accepts only HTTP(S), rejects credentials, resolves each hostname once, rejects any answer set containing a non-public IPv4 or IPv6 destination or an active-prefix NAT64 translation to non-public IPv4, pins the request connection to the validated addresses, repeats those checks for every same-origin redirect hop, caps redirects, bytes, characters, and time, and decodes the body; the tool owns presentation.
144
+ `WebRuntime` registers search and fetch providers, rejects duplicate ids with `WEB_DUPLICATE_PROVIDER`, and resolves providers at execution time with structured selection errors. The local fetch backend accepts only HTTP(S), rejects credentials, sends each request through the installed proxy policy, repeats URL validation for every same-origin redirect hop, caps redirects, bytes, characters, and time, and decodes the body; the tool owns presentation.
140
145
 
141
146
  <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
142
147
 
@@ -150,7 +155,7 @@ Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnp
150
155
 
151
156
  ### `ctx.web` — `WebRuntime`
152
157
 
153
- The web access service. Registered as `ctx.web` (one instance per context).
158
+ The web access service. Registered as `ctx.web` (one instance per context) and exposed to Clients as the `web` Remote namespace (`listProviders`).
154
159
 
155
160
  Selection semantics (resolved at execution time, never order-dependent):
156
161
 
@@ -163,23 +168,32 @@ Selection semantics (resolved at execution time, never order-dependent):
163
168
 
164
169
  ```ts cordis-catalog
165
170
  /**
166
- * Register a search provider. Throws {@link WebError} `WEB_DUPLICATE_PROVIDER`
167
- * if its id is already registered for search. Returns a disposer; disposed
168
- * with the calling fiber.
171
+ * Register a search provider. `listProviders()` lists it until the
172
+ * registration is disposed, which happens with the calling fiber or through
173
+ * the returned disposer; registration and disposal each emit
174
+ * `web/providers-changed`. Throws {@link WebError} `WEB_DUPLICATE_PROVIDER`
175
+ * if its id is already registered for search.
169
176
  * @param provider - the provider; its `id` is the registry key.
170
177
  * @returns the disposer that unregisters the provider.
171
178
  */
172
179
  registerSearchProvider(provider: WebSearchProvider): () => void
173
180
 
174
181
  /**
175
- * Register a fetch provider. Throws {@link WebError} `WEB_DUPLICATE_PROVIDER`
176
- * if its id is already registered for fetch. Returns a disposer; disposed
177
- * with the calling fiber.
182
+ * Register a fetch provider, with the listing, disposal, and event behavior
183
+ * of {@link WebRuntime.registerSearchProvider}. Throws {@link WebError}
184
+ * `WEB_DUPLICATE_PROVIDER` if its id is already registered for fetch.
178
185
  * @param provider - the provider; its `id` is the registry key.
179
186
  * @returns the disposer that unregisters the provider.
180
187
  */
181
188
  registerFetchProvider(provider: WebFetchProvider): () => void
182
189
 
190
+ /**
191
+ * List every registered search and fetch provider for provider pickers.
192
+ * Availability does not filter the lists.
193
+ * @returns detached `{ id, title, description }` entries per capability, in registration order.
194
+ */
195
+ @Remote listProviders(): WebProviderList
196
+
183
197
  /**
184
198
  * Run one search through the selected provider. Resolves the provider at call
185
199
  * time with the selection rules above; throws {@link WebError} when the
@@ -191,6 +205,16 @@ registerFetchProvider(provider: WebFetchProvider): () => void
191
205
  */
192
206
  async search(request: WebSearchRequest, signal?: AbortSignal): Promise<WebSearchResult>
193
207
 
208
+ /**
209
+ * Whether the provider `search()` would select can authenticate a search made for a
210
+ * model request on the `llmProvider` chat route. Asks only that provider's `ready()`;
211
+ * one without `ready()` counts as ready. Makes no network calls. A selection failure
212
+ * answers true, because `search()` reports that failure as a structured `WebError`.
213
+ * @param llmProvider - the provider route id of the model request, when known.
214
+ * @returns false only when the selected provider reports that it cannot authenticate.
215
+ */
216
+ async searchReady(llmProvider?: string): Promise<boolean>
217
+
194
218
  /**
195
219
  * Retrieve one URL through the selected provider. Resolves the provider at
196
220
  * call time with the selection rules above; throws {@link WebError} when the
@@ -200,7 +224,41 @@ async search(request: WebSearchRequest, signal?: AbortSignal): Promise<WebSearch
200
224
  * @returns the retrieval outcome; non-2xx responses resolve descriptively.
201
225
  */
202
226
  async fetch(request: WebFetchRequest, signal?: AbortSignal): Promise<WebFetchResult>
227
+
228
+ /**
229
+ * Whether the provider `fetch()` would select can authenticate a fetch made for a
230
+ * model request on the `llmProvider` chat route. Asks only that provider's `ready()`;
231
+ * one without `ready()` counts as ready. Makes no network calls. A selection failure
232
+ * answers true, because `fetch()` reports that failure as a structured `WebError`.
233
+ * @param llmProvider - the provider route id of the model request, when known.
234
+ * @returns false only when the selected provider reports that it cannot authenticate.
235
+ */
236
+ async fetchReady(llmProvider?: string): Promise<boolean>
203
237
  ```
204
238
 
205
239
  Source: [`packages/web/web/src/index.ts`](../../packages/web/web/src/index.ts)
240
+
241
+ <a id="web-events"></a>
242
+
243
+ ### `web/*` events
244
+
245
+ <a id="webproviders-changed--emit"></a>
246
+
247
+ #### `web/providers-changed` — emit
248
+
249
+ The set of registered search or fetch providers changed: one provider registered, or its registration was disposed. Payload-free; consumers re-read `ctx.web.listProviders()` (Remote `web/listProviders`) for the new list. Fires after each committed registry mutation. Observer failures are contained and cannot veto the mutation.
250
+
251
+ ```ts cordis-catalog
252
+ /**
253
+ * The set of registered search or fetch providers changed: one provider
254
+ * registered, or its registration was disposed. Payload-free; consumers
255
+ * re-read `ctx.web.listProviders()` (Remote `web/listProviders`) for the
256
+ * new list. Fires after each committed registry mutation. Observer failures
257
+ * are contained and cannot veto the mutation.
258
+ * @mode emit
259
+ */
260
+ 'web/providers-changed'(): void
261
+ ```
262
+
263
+ Source: [`packages/web/web/src/types.ts`](../../packages/web/web/src/types.ts)
206
264
  <!-- END GENERATED cordis-surface -->
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](web.md) | 中文
4
4
 
5
- Web 访问 seam 是一个[能力 seam](../../.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.zh.md),在同一个 `ctx.web` 服务上横跨**两项操作**(search 与 fetch),并拆分到多个包:Service Definition([dsh-web](../../packages/web/web),`ctx.web` + 提供方注册表)、Service Provider([dsh-web-search-exa](../../packages/web/web-search-exa)、[dsh-web-search-perplexity](../../packages/web/web-search-perplexity)、[dsh-web-search-deepseek](../../packages/web/web-search-deepseek)、[dsh-web-deepseek-api](../../packages/web/web-deepseek-api)、[dsh-web-fetch-http](../../packages/web/web-fetch-http))与 Consumer([dsh-tool-web](../../packages/web/tool-web),即 `web_search`/`web_fetch` 工具 schema)。Web 是**一项可选能力**,不属于 agent loop(智能体循环)主干,因此其词汇定义在此而非 [core.md](core.zh.md) 中。更换 search 提供方不会改变模型提交查询的方式,更换 fetch 提供方也不会改变模型请求 URL 的方式。
5
+ Web 访问 seam 是一个[能力 seam](../../.agents/notes/implemented/architecture/2026-06-24-web-capability-seam.zh.md),在同一个 `ctx.web` 服务上横跨**两项操作**(search 与 fetch),并拆分到多个包:Service Definition([dsh-web](../../packages/web/web),`ctx.web` + 提供方注册表)、Service Provider([dsh-web-search-deepseek](../../packages/web/web-search-deepseek)、[dsh-web-deepseek-api](../../packages/web/web-deepseek-api)、[dsh-web-fetch-http](../../packages/web/web-fetch-http))与 Consumer([dsh-tool-web](../../packages/web/tool-web),即 `web_search`/`web_fetch` 工具 schema)。Web 是**一项可选能力**,不属于 agent loop(智能体循环)主干,因此其词汇定义在此而非 [core.md](core.zh.md) 中。更换 search 提供方不会改变模型提交查询的方式,更换 fetch 提供方也不会改变模型请求 URL 的方式。
6
6
 
7
7
  源码:[`packages/web/web/src/types.ts`](../../packages/web/web/src/types.ts)
8
8
 
@@ -12,7 +12,7 @@ Web 访问 seam 是一个[能力 seam](../../.agents/notes/implemented/architect
12
12
 
13
13
  ## 搜索请求与结果
14
14
 
15
- 每个 seam 请求只携带一个 `query`。消费方 `dsh-tool-web` 接受必填的 `queries` 数组,并把它扇出为多个独立 seam 请求;单元素数组执行一次搜索。`maxResults` 是消费方自有的上限(`dsh-tool-web` 的 `searchMaxResults` 配置,默认 `8`),通过 seam 传递并在返回时强制执行——如果提供方返回超量,seam 截断 `sources[]` 并设置 `truncated`。
15
+ 每个 seam 请求只携带一个 `query`。消费方 `dsh-tool-web` 接受必填的 `queries` 数组,并把它扇出为多个独立 seam 请求;单元素数组执行一次搜索。`maxResults` 是消费方自有的上限(`dsh-tool-web` 的 `searchMaxResults` 配置,默认 `10`),通过 seam 传递并在返回时强制执行——如果提供方返回超量,seam 截断 `sources[]` 并设置 `truncated`。
16
16
 
17
17
  ```ts type-equiv
18
18
  /**
@@ -26,9 +26,9 @@ interface WebSearchRequest {
26
26
  /**
27
27
  * Upper bound on returned sources; the seam truncates to it. Omitted = no
28
28
  * bound. `dsh-tool-web` always sets it. A provider whose API supports a
29
- * result-count control (Exa's `numResults`) should apply it at the request
30
- * layer as a cost/latency optimization; the seam enforces the bound
31
- * regardless.
29
+ * result-count control (the DeepSeek Search API's `count`) should apply it
30
+ * at the request layer as a cost/latency optimization; the seam enforces the
31
+ * bound regardless.
32
32
  */
33
33
  readonly maxResults?: number
34
34
  }
@@ -37,8 +37,8 @@ interface WebSearchRequest {
37
37
  ```ts type-equiv
38
38
  /**
39
39
  * Normalized search outcome. `content` is optional provider-generated answer
40
- * text or summary (Exa and DeepSeek return none; Perplexity returns a
41
- * generated answer).
40
+ * text or summary (DeepSeek returns none; a provider whose API generates an
41
+ * answer returns it here).
42
42
  * `sources[]` is the portable citation shape. `truncated` is set by the seam
43
43
  * when it cut `sources[]` down to `maxResults`.
44
44
  */
@@ -54,15 +54,18 @@ interface WebSearchResult {
54
54
 
55
55
  ```ts type-equiv
56
56
  /**
57
- * One citeable source. A source always has a URL; `title`, `snippet`, and
58
- * `publishedAt` are optional because not every provider returns them — forcing
59
- * adapters to invent them would make the seam lie (Perplexity citations may be
60
- * URL-only). `dsh-tool-web` renders `title ?? hostname(url)` for display.
57
+ * One citeable source. A source always has a URL; `title`, `snippet`, `summary`,
58
+ * and `publishedAt` are optional because not every provider returns them — forcing
59
+ * adapters to invent them would make the seam lie (some providers return
60
+ * URL-only citations). `dsh-tool-web` renders `title ?? hostname(url)` for display.
61
61
  */
62
62
  interface WebSearchSource {
63
63
  readonly url: string
64
64
  readonly title?: string
65
+ /** Short excerpt suited to display. */
65
66
  readonly snippet?: string
67
+ /** Longer excerpt suited to model reading; consumers bound its length. */
68
+ readonly summary?: string
66
69
  /** Publication/crawl timestamp as a provider-supplied ISO-8601 string. */
67
70
  readonly publishedAt?: string
68
71
  }
@@ -120,7 +123,9 @@ type WebFetchBody =
120
123
 
121
124
  ## 提供方可用性
122
125
 
123
- 提供方的 `available(): boolean` 是一个廉价的本地检查(凭证是否存在、配置是否可解析),**禁止发起网络调用**。它是执行时选择提供方的输入,而不是健康检查系统:`search()`/`fetch()` 会读取它来选择可用的提供方。选择失败时,调用方会收到可据以分支处理的结构化 `WebError`;其错误代码和消息会说明缺失的 id 或存在歧义的候选集。
126
+ 提供方的 `available(): boolean` 是一个廉价的本地检查(凭证是否存在、配置是否可解析),**禁止发起网络调用**。它是执行时选择提供方的输入,而不是健康检查系统:`search()`/`fetch()` 会读取它来选择可用的提供方。选择失败时,调用方会收到可据以分支处理的结构化 `WebError`;其错误代码和消息会说明缺失的 id 或存在歧义的候选集。与可用性不同,注册情况在操作运行前即可观测:`listProviders()` 按 `id`、可选的 `title` 和可选的多语言 `description` 返回每个已注册的搜索与抓取提供方,每次注册或注销后都会触发不带载荷的 `web/providers-changed` 事件;可用性仍只在操作运行时体现。
127
+
128
+ 搜索或抓取提供方还可以实现 `ready(llmProvider): Promise<boolean>`,这是只检查配置、禁止发起网络调用的判断:它回答为该对话路由上的模型请求发起的操作是否有可发送的凭据。`searchReady(llmProvider?)` 与 `fetchReady(llmProvider?)` 只询问 `search()` 或 `fetch()` 会选中的提供方,把没有 `ready()` 的提供方视为就绪,并在选择失败时回答 true,因为对应操作会把该失败报告为 `WebError`。就绪判断不是选择输入;`dsh-tool-web` 把它作为 `web_search` 与 `web_fetch` 的激活条件,因此路由回答 false 的模型步骤既不声明也不派发该工具。DeepSeek Search 与 Fetch API 提供方依据该路由在账号令牌与 API 密钥之间选择,见 [web-deepseek-api 鉴权](../../packages/web/web-deepseek-api/README.zh.md#authentication)一节。
124
129
 
125
130
  选择从不依赖注册顺序、配置顺序或 HMR(热模块替换)顺序:一项能力要么有显式的提供方 id(配置 `searchProvider`/`fetchProvider`,或填充同一字段的对应环境变量),要么在恰好只有一个可用提供方注册时自动选择;如果存在多个可用提供方却未配置 id,则抛出 `WEB_PROVIDER_AMBIGUOUS`,而不会选用最先注册的提供方。每次操作在执行时读取配置的 id,因此保存的设置变更无需重新挂载 `ctx.web` 即对下一次搜索或抓取生效。
126
131
 
@@ -128,7 +133,7 @@ type WebFetchBody =
128
133
 
129
134
  已交付的 Cordis、Code 与 Standard preset 会在所有 sandbox 和审批模式下暴露 `web_fetch`,无需逐次确认。文件 sandbox preset 不管辖 Web 网络访问。需要确认步骤的部署必须添加 `tools/pre-execute` 策略或禁用抓取。
130
135
 
131
- HTTP 提供方会解析每个实际请求,拒绝包括通过当前 DNS64 前缀抵达私有 IPv4 在内的非公开结果,固定已验证的地址集合,并在每次同源重定向时重复强制执行。跨源重定向需要新的工具调用和新的公开地址校验。这些检查会阻止通过 SSRF 访问非公开目的地址,但不会阻止模型把数据发送到公开 URL。
136
+ HTTP 提供方不限制目的地址:`web_fetch` 会像访问其他主机一样访问 loopback、内网与云元数据主机,模型也可以把数据发送到它能访问的任何 URL。跨源重定向需要新的工具调用。需要阻止模型访问私有目的地址的部署必须使用网络隔离、`tools/pre-execute` 策略,或不挂载抓取工具。
132
137
 
133
138
  ## 错误
134
139
 
@@ -136,7 +141,7 @@ HTTP 提供方会解析每个实际请求,拒绝包括通过当前 DNS64 前
136
141
 
137
142
  ## 服务
138
143
 
139
- `WebRuntime` 注册搜索与抓取提供方,以 `WEB_DUPLICATE_PROVIDER` 拒绝重复 id,并在执行时以结构化的选择错误解析提供方。本地抓取后端仅接受 HTTP(S)、拒绝凭证、对每个 hostname 只解析一次、拒绝包含任一非公开 IPv4/IPv6 目的地址或经当前前缀转换到非公开 IPv4 的 NAT64 地址的解析结果、把请求连接固定到已验证地址、对每一次同源重定向跳转重复这些校验、限制重定向次数、字节数、字符数和时间,并解码正文;展示由工具负责。
144
+ `WebRuntime` 注册搜索与抓取提供方,以 `WEB_DUPLICATE_PROVIDER` 拒绝重复 id,并在执行时以结构化的选择错误解析提供方。本地抓取后端仅接受 HTTP(S)、拒绝凭证、经已安装的代理策略发送每个请求、对每一次同源重定向跳转重复 URL 校验、限制重定向次数、字节数、字符数和时间,并解码正文;展示由工具负责。
140
145
 
141
146
  <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
142
147
 
@@ -150,7 +155,7 @@ Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnp
150
155
 
151
156
  ### `ctx.web` — `WebRuntime`
152
157
 
153
- The web access service. Registered as `ctx.web` (one instance per context).
158
+ The web access service. Registered as `ctx.web` (one instance per context) and exposed to Clients as the `web` Remote namespace (`listProviders`).
154
159
 
155
160
  Selection semantics (resolved at execution time, never order-dependent):
156
161
 
@@ -163,23 +168,32 @@ Selection semantics (resolved at execution time, never order-dependent):
163
168
 
164
169
  ```ts cordis-catalog
165
170
  /**
166
- * Register a search provider. Throws {@link WebError} `WEB_DUPLICATE_PROVIDER`
167
- * if its id is already registered for search. Returns a disposer; disposed
168
- * with the calling fiber.
171
+ * Register a search provider. `listProviders()` lists it until the
172
+ * registration is disposed, which happens with the calling fiber or through
173
+ * the returned disposer; registration and disposal each emit
174
+ * `web/providers-changed`. Throws {@link WebError} `WEB_DUPLICATE_PROVIDER`
175
+ * if its id is already registered for search.
169
176
  * @param provider - the provider; its `id` is the registry key.
170
177
  * @returns the disposer that unregisters the provider.
171
178
  */
172
179
  registerSearchProvider(provider: WebSearchProvider): () => void
173
180
 
174
181
  /**
175
- * Register a fetch provider. Throws {@link WebError} `WEB_DUPLICATE_PROVIDER`
176
- * if its id is already registered for fetch. Returns a disposer; disposed
177
- * with the calling fiber.
182
+ * Register a fetch provider, with the listing, disposal, and event behavior
183
+ * of {@link WebRuntime.registerSearchProvider}. Throws {@link WebError}
184
+ * `WEB_DUPLICATE_PROVIDER` if its id is already registered for fetch.
178
185
  * @param provider - the provider; its `id` is the registry key.
179
186
  * @returns the disposer that unregisters the provider.
180
187
  */
181
188
  registerFetchProvider(provider: WebFetchProvider): () => void
182
189
 
190
+ /**
191
+ * List every registered search and fetch provider for provider pickers.
192
+ * Availability does not filter the lists.
193
+ * @returns detached `{ id, title, description }` entries per capability, in registration order.
194
+ */
195
+ @Remote listProviders(): WebProviderList
196
+
183
197
  /**
184
198
  * Run one search through the selected provider. Resolves the provider at call
185
199
  * time with the selection rules above; throws {@link WebError} when the
@@ -191,6 +205,16 @@ registerFetchProvider(provider: WebFetchProvider): () => void
191
205
  */
192
206
  async search(request: WebSearchRequest, signal?: AbortSignal): Promise<WebSearchResult>
193
207
 
208
+ /**
209
+ * Whether the provider `search()` would select can authenticate a search made for a
210
+ * model request on the `llmProvider` chat route. Asks only that provider's `ready()`;
211
+ * one without `ready()` counts as ready. Makes no network calls. A selection failure
212
+ * answers true, because `search()` reports that failure as a structured `WebError`.
213
+ * @param llmProvider - the provider route id of the model request, when known.
214
+ * @returns false only when the selected provider reports that it cannot authenticate.
215
+ */
216
+ async searchReady(llmProvider?: string): Promise<boolean>
217
+
194
218
  /**
195
219
  * Retrieve one URL through the selected provider. Resolves the provider at
196
220
  * call time with the selection rules above; throws {@link WebError} when the
@@ -200,7 +224,41 @@ async search(request: WebSearchRequest, signal?: AbortSignal): Promise<WebSearch
200
224
  * @returns the retrieval outcome; non-2xx responses resolve descriptively.
201
225
  */
202
226
  async fetch(request: WebFetchRequest, signal?: AbortSignal): Promise<WebFetchResult>
227
+
228
+ /**
229
+ * Whether the provider `fetch()` would select can authenticate a fetch made for a
230
+ * model request on the `llmProvider` chat route. Asks only that provider's `ready()`;
231
+ * one without `ready()` counts as ready. Makes no network calls. A selection failure
232
+ * answers true, because `fetch()` reports that failure as a structured `WebError`.
233
+ * @param llmProvider - the provider route id of the model request, when known.
234
+ * @returns false only when the selected provider reports that it cannot authenticate.
235
+ */
236
+ async fetchReady(llmProvider?: string): Promise<boolean>
203
237
  ```
204
238
 
205
239
  Source: [`packages/web/web/src/index.ts`](../../packages/web/web/src/index.ts)
240
+
241
+ <a id="web-events"></a>
242
+
243
+ ### `web/*` events
244
+
245
+ <a id="webproviders-changed--emit"></a>
246
+
247
+ #### `web/providers-changed` — emit
248
+
249
+ The set of registered search or fetch providers changed: one provider registered, or its registration was disposed. Payload-free; consumers re-read `ctx.web.listProviders()` (Remote `web/listProviders`) for the new list. Fires after each committed registry mutation. Observer failures are contained and cannot veto the mutation.
250
+
251
+ ```ts cordis-catalog
252
+ /**
253
+ * The set of registered search or fetch providers changed: one provider
254
+ * registered, or its registration was disposed. Payload-free; consumers
255
+ * re-read `ctx.web.listProviders()` (Remote `web/listProviders`) for the
256
+ * new list. Fires after each committed registry mutation. Observer failures
257
+ * are contained and cannot veto the mutation.
258
+ * @mode emit
259
+ */
260
+ 'web/providers-changed'(): void
261
+ ```
262
+
263
+ Source: [`packages/web/web/src/types.ts`](../../packages/web/web/src/types.ts)
206
264
  <!-- END GENERATED cordis-surface -->