dsh-primer 0.4.4 → 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 (791) 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/guide/quick-reference.es.md +1 -1
  9. package/guide/quick-reference.hi.md +1 -1
  10. package/guide/quick-reference.md +1 -1
  11. package/guide/quick-reference.pt.md +1 -1
  12. package/guide/quick-reference.zh-CN.md +1 -1
  13. package/guide/unfixed-issues.md +3 -3
  14. package/package.json +1 -1
  15. package/references/official-docs/AGENTS.md +9 -5
  16. package/references/official-docs/CLAUDE.md +0 -0
  17. package/references/official-docs/README.md +1 -1
  18. package/references/official-docs/SNAPSHOT.md +9 -7
  19. package/references/official-docs/THIRD_PARTY_NOTICES.md +22 -3
  20. package/references/official-docs/docs/AGENTS.md +3 -3
  21. package/references/official-docs/docs/agent-lifecycle.md +3 -1
  22. package/references/official-docs/docs/agent-lifecycle.zh.md +3 -1
  23. package/references/official-docs/docs/api-gateway.i18n.yaml +6 -6
  24. package/references/official-docs/docs/api-gateway.md +4 -4
  25. package/references/official-docs/docs/api-gateway.zh.md +4 -4
  26. package/references/official-docs/docs/architecture.i18n.yaml +10 -10
  27. package/references/official-docs/docs/architecture.md +14 -8
  28. package/references/official-docs/docs/architecture.zh.md +14 -8
  29. package/references/official-docs/docs/assets/ui-design-review/inline-metrics-comparison.png +0 -0
  30. package/references/official-docs/docs/assets/ui-design-review/modal-grouping-comparison.png +0 -0
  31. package/references/official-docs/docs/assets/ui-design-review/peer-content-comparison.png +0 -0
  32. package/references/official-docs/docs/assets/ui-design-review/principles-alignment.svg +15 -0
  33. package/references/official-docs/docs/assets/ui-design-review/principles-grouping.svg +1 -0
  34. package/references/official-docs/docs/capability-seams.i18n.yaml +2 -2
  35. package/references/official-docs/docs/capability-seams.md +80 -30
  36. package/references/official-docs/docs/capability-seams.zh.md +80 -30
  37. package/references/official-docs/docs/cli-help.md +15 -7
  38. package/references/official-docs/docs/cli-help.zh.md +15 -7
  39. package/references/official-docs/docs/config-catalog.md +790 -283
  40. package/references/official-docs/docs/config-catalog.zh.md +790 -283
  41. package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +6 -6
  42. package/references/official-docs/docs/cookbook/adding-a-package.md +6 -4
  43. package/references/official-docs/docs/cookbook/adding-a-package.zh.md +6 -4
  44. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.i18n.yaml +18 -18
  45. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.md +18 -25
  46. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.zh.md +18 -25
  47. package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +2 -2
  48. package/references/official-docs/docs/cookbook/adding-a-tool.md +4 -3
  49. package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +4 -3
  50. package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +2 -2
  51. package/references/official-docs/docs/cookbook/extension-cookbook.md +1 -1
  52. package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +1 -1
  53. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.i18n.yaml +2 -2
  54. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.md +1 -1
  55. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.zh.md +1 -1
  56. package/references/official-docs/docs/cookbook/reviewing-ui-design.i18n.yaml +55 -0
  57. package/references/official-docs/docs/cookbook/reviewing-ui-design.md +166 -0
  58. package/references/official-docs/docs/cookbook/reviewing-ui-design.zh.md +166 -0
  59. package/references/official-docs/docs/cordis-api/context.md +1 -1
  60. package/references/official-docs/docs/cordis-api/context.zh.md +1 -1
  61. package/references/official-docs/docs/cordis-api/events.i18n.yaml +18 -18
  62. package/references/official-docs/docs/cordis-api/events.md +9 -9
  63. package/references/official-docs/docs/cordis-api/events.zh.md +9 -9
  64. package/references/official-docs/docs/cordis-api/fiber.i18n.yaml +39 -27
  65. package/references/official-docs/docs/cordis-api/fiber.md +85 -32
  66. package/references/official-docs/docs/cordis-api/fiber.zh.md +87 -32
  67. package/references/official-docs/docs/cordis-api/inherited.md +10 -9
  68. package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +2 -2
  69. package/references/official-docs/docs/cordis-tutorial/04-events.md +1 -1
  70. package/references/official-docs/docs/cordis-tutorial/04-events.zh.md +1 -1
  71. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.md +5 -4
  72. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.zh.md +5 -4
  73. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +4 -4
  74. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +3 -3
  75. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +3 -3
  76. package/references/official-docs/docs/defensive-patterns/README.i18n.yaml +0 -0
  77. package/references/official-docs/docs/defensive-patterns/README.md +0 -0
  78. package/references/official-docs/docs/defensive-patterns/README.zh.md +0 -0
  79. package/references/official-docs/docs/defensive-patterns/client-components.i18n.yaml +0 -0
  80. package/references/official-docs/docs/defensive-patterns/client-components.md +0 -0
  81. package/references/official-docs/docs/defensive-patterns/client-components.zh.md +0 -0
  82. package/references/official-docs/docs/defensive-patterns/conversation-and-session.i18n.yaml +2 -2
  83. package/references/official-docs/docs/defensive-patterns/conversation-and-session.md +2 -2
  84. package/references/official-docs/docs/defensive-patterns/conversation-and-session.zh.md +2 -2
  85. package/references/official-docs/docs/defensive-patterns/general.i18n.yaml +2 -2
  86. package/references/official-docs/docs/defensive-patterns/general.md +2 -0
  87. package/references/official-docs/docs/defensive-patterns/general.zh.md +2 -0
  88. package/references/official-docs/docs/defensive-patterns/package-surface.i18n.yaml +4 -4
  89. package/references/official-docs/docs/defensive-patterns/package-surface.md +4 -2
  90. package/references/official-docs/docs/defensive-patterns/package-surface.zh.md +4 -2
  91. package/references/official-docs/docs/defensive-patterns/remote-and-api.i18n.yaml +2 -2
  92. package/references/official-docs/docs/defensive-patterns/remote-and-api.md +6 -4
  93. package/references/official-docs/docs/defensive-patterns/remote-and-api.zh.md +6 -4
  94. package/references/official-docs/docs/development.i18n.yaml +12 -12
  95. package/references/official-docs/docs/development.md +17 -10
  96. package/references/official-docs/docs/development.zh.md +17 -10
  97. package/references/official-docs/docs/event-producer-consumer.i18n.yaml +2 -2
  98. package/references/official-docs/docs/event-producer-consumer.md +73 -56
  99. package/references/official-docs/docs/event-producer-consumer.zh.md +73 -56
  100. package/references/official-docs/docs/experimental-persistence-catalog.i18n.yaml +2 -2
  101. package/references/official-docs/docs/experimental-persistence-catalog.md +4 -0
  102. package/references/official-docs/docs/experimental-persistence-catalog.zh.md +4 -0
  103. package/references/official-docs/docs/glossary.i18n.yaml +0 -0
  104. package/references/official-docs/docs/glossary.md +0 -0
  105. package/references/official-docs/docs/glossary.zh.md +0 -0
  106. package/references/official-docs/docs/i18n/README.i18n.yaml +2 -2
  107. package/references/official-docs/docs/i18n/README.md +2 -0
  108. package/references/official-docs/docs/i18n/README.zh.md +2 -0
  109. package/references/official-docs/docs/i18n/style-samples.md +0 -0
  110. package/references/official-docs/docs/i18n/terminology.md +0 -0
  111. package/references/official-docs/docs/module-graph.md +316 -157
  112. package/references/official-docs/docs/module-graph.zh.md +316 -157
  113. package/references/official-docs/docs/persistence-catalog.i18n.yaml +427 -358
  114. package/references/official-docs/docs/persistence-catalog.md +536 -250
  115. package/references/official-docs/docs/persistence-catalog.zh.md +536 -250
  116. package/references/official-docs/docs/persistence-changes/2026-09-11-initial.schema.json +524 -13552
  117. package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.schema.json +53 -905
  118. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.schema.json +10 -71
  119. package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.schema.json +232 -8473
  120. package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.schema.json +9 -67
  121. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.schema.json +351 -16207
  122. package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.schema.json +25 -297
  123. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.schema.json +23 -285
  124. package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.schema.json +20 -245
  125. package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.schema.json +232 -11400
  126. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.i18n.yaml +0 -0
  127. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.md +0 -0
  128. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.schema.json +24 -292
  129. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.zh.md +0 -0
  130. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.schema.json +42 -452
  131. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.schema.json +234 -11469
  132. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.schema.json +215 -2985
  133. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.i18n.yaml +0 -0
  134. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.md +0 -0
  135. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.schema.json +23 -226
  136. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.zh.md +0 -0
  137. package/references/official-docs/docs/persistence-changes/2026-10-13-liveshare-share-viewer-principal.i18n.yaml +28 -0
  138. package/references/official-docs/docs/persistence-changes/2026-10-13-liveshare-share-viewer-principal.md +60 -0
  139. package/references/official-docs/docs/persistence-changes/2026-10-13-liveshare-share-viewer-principal.schema.json +253 -0
  140. package/references/official-docs/docs/persistence-changes/2026-10-13-liveshare-share-viewer-principal.zh.md +60 -0
  141. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.i18n.yaml +0 -0
  142. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.md +0 -0
  143. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.schema.json +236 -11554
  144. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.zh.md +0 -0
  145. package/references/official-docs/docs/persistence-changes/2026-10-19-session-team-mode.i18n.yaml +28 -0
  146. package/references/official-docs/docs/persistence-changes/2026-10-19-session-team-mode.md +48 -0
  147. package/references/official-docs/docs/persistence-changes/2026-10-19-session-team-mode.schema.json +15 -0
  148. package/references/official-docs/docs/persistence-changes/2026-10-19-session-team-mode.zh.md +48 -0
  149. package/references/official-docs/docs/persistence-changes/2026-10-22-action-card-status.i18n.yaml +28 -0
  150. package/references/official-docs/docs/persistence-changes/2026-10-22-action-card-status.md +60 -0
  151. package/references/official-docs/docs/persistence-changes/2026-10-22-action-card-status.schema.json +249 -0
  152. package/references/official-docs/docs/persistence-changes/2026-10-22-action-card-status.zh.md +60 -0
  153. package/references/official-docs/docs/persistence-changes/2026-10-25-skill-catalog-incomplete.i18n.yaml +28 -0
  154. package/references/official-docs/docs/persistence-changes/2026-10-25-skill-catalog-incomplete.md +60 -0
  155. package/references/official-docs/docs/persistence-changes/2026-10-25-skill-catalog-incomplete.schema.json +249 -0
  156. package/references/official-docs/docs/persistence-changes/2026-10-25-skill-catalog-incomplete.zh.md +60 -0
  157. package/references/official-docs/docs/persistence-changes/2026-10-27-retry-control-input.i18n.yaml +28 -0
  158. package/references/official-docs/docs/persistence-changes/2026-10-27-retry-control-input.md +60 -0
  159. package/references/official-docs/docs/persistence-changes/2026-10-27-retry-control-input.schema.json +261 -0
  160. package/references/official-docs/docs/persistence-changes/2026-10-27-retry-control-input.zh.md +60 -0
  161. package/references/official-docs/docs/persistence-changes/2026-10-27-subagent-settlement-attribution.i18n.yaml +28 -0
  162. package/references/official-docs/docs/persistence-changes/2026-10-27-subagent-settlement-attribution.md +60 -0
  163. package/references/official-docs/docs/persistence-changes/2026-10-27-subagent-settlement-attribution.schema.json +259 -0
  164. package/references/official-docs/docs/persistence-changes/2026-10-27-subagent-settlement-attribution.zh.md +60 -0
  165. package/references/official-docs/docs/persistence-changes/2026-11-02-subagent-catalog-names.i18n.yaml +28 -0
  166. package/references/official-docs/docs/persistence-changes/2026-11-02-subagent-catalog-names.md +48 -0
  167. package/references/official-docs/docs/persistence-changes/2026-11-02-subagent-catalog-names.schema.json +31 -0
  168. package/references/official-docs/docs/persistence-changes/2026-11-02-subagent-catalog-names.zh.md +48 -0
  169. package/references/official-docs/docs/persistence-changes/2026-11-02-team-task-owner-names.i18n.yaml +28 -0
  170. package/references/official-docs/docs/persistence-changes/2026-11-02-team-task-owner-names.md +48 -0
  171. package/references/official-docs/docs/persistence-changes/2026-11-02-team-task-owner-names.schema.json +23 -0
  172. package/references/official-docs/docs/persistence-changes/2026-11-02-team-task-owner-names.zh.md +48 -0
  173. package/references/official-docs/docs/persistence-changes/README.i18n.yaml +2 -2
  174. package/references/official-docs/docs/persistence-changes/README.md +3 -1
  175. package/references/official-docs/docs/persistence-changes/README.zh.md +3 -1
  176. package/references/official-docs/docs/persistence-changes/historical-formats/README.i18n.yaml +6 -6
  177. package/references/official-docs/docs/persistence-changes/historical-formats/README.md +3 -3
  178. package/references/official-docs/docs/persistence-changes/historical-formats/README.zh.md +3 -3
  179. package/references/official-docs/docs/persistence-changes/historical-formats/v0.schema.json +887 -49302
  180. package/references/official-docs/docs/persistence-changes/historical-formats/v1.schema.json +887 -49405
  181. package/references/official-docs/docs/persistence-changes/historical-formats/v2.schema.json +929 -56460
  182. package/references/official-docs/docs/persistence-changes/historical-formats/v3.schema.json +997 -61301
  183. package/references/official-docs/docs/persistence-changes/releases/README.i18n.yaml +2 -2
  184. package/references/official-docs/docs/persistence-changes/releases/README.md +1 -1
  185. package/references/official-docs/docs/persistence-changes/releases/README.zh.md +1 -1
  186. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.schema.json +727 -39862
  187. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.schema.json +788 -43336
  188. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.schema.json +255 -19446
  189. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.schema.json +2 -1
  190. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.schema.json +2 -1
  191. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.schema.json +2 -1
  192. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.schema.json +2 -1
  193. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.schema.json +2 -1
  194. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.schema.json +2 -1
  195. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.schema.json +2 -1
  196. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.schema.json +118 -5314
  197. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.schema.json +287 -21252
  198. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.schema.json +24 -411
  199. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.schema.json +351 -29666
  200. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.schema.json +881 -48423
  201. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.schema.json +881 -49341
  202. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.schema.json +2 -1
  203. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.schema.json +217 -17636
  204. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.schema.json +2 -1
  205. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.schema.json +2 -1
  206. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.schema.json +441 -38672
  207. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.schema.json +31 -777
  208. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.schema.json +377 -24591
  209. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.schema.json +75 -2126
  210. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.schema.json +2 -1
  211. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.schema.json +2 -1
  212. package/references/official-docs/docs/persistence-schema.json +1341 -26171
  213. package/references/official-docs/docs/rescope.i18n.yaml +4 -4
  214. package/references/official-docs/docs/rescope.md +7 -5
  215. package/references/official-docs/docs/rescope.zh.md +7 -5
  216. package/references/official-docs/docs/subsystems/README.i18n.yaml +2 -2
  217. package/references/official-docs/docs/subsystems/README.md +4 -2
  218. package/references/official-docs/docs/subsystems/README.zh.md +4 -2
  219. package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +13 -13
  220. package/references/official-docs/docs/subsystems/agent-team.md +38 -75
  221. package/references/official-docs/docs/subsystems/agent-team.zh.md +38 -75
  222. package/references/official-docs/docs/subsystems/attachment.i18n.yaml +4 -4
  223. package/references/official-docs/docs/subsystems/attachment.md +36 -13
  224. package/references/official-docs/docs/subsystems/attachment.zh.md +36 -13
  225. package/references/official-docs/docs/subsystems/boot.i18n.yaml +4 -4
  226. package/references/official-docs/docs/subsystems/boot.md +187 -7
  227. package/references/official-docs/docs/subsystems/boot.zh.md +187 -7
  228. package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +6 -6
  229. package/references/official-docs/docs/subsystems/client-modules.md +19 -11
  230. package/references/official-docs/docs/subsystems/client-modules.zh.md +19 -11
  231. package/references/official-docs/docs/subsystems/compaction.i18n.yaml +2 -2
  232. package/references/official-docs/docs/subsystems/compaction.md +1 -1
  233. package/references/official-docs/docs/subsystems/compaction.zh.md +1 -1
  234. package/references/official-docs/docs/subsystems/computer-use.i18n.yaml +2 -2
  235. package/references/official-docs/docs/subsystems/computer-use.md +80 -0
  236. package/references/official-docs/docs/subsystems/computer-use.zh.md +80 -0
  237. package/references/official-docs/docs/subsystems/conversation.i18n.yaml +5 -5
  238. package/references/official-docs/docs/subsystems/conversation.md +2 -0
  239. package/references/official-docs/docs/subsystems/conversation.zh.md +4 -0
  240. package/references/official-docs/docs/subsystems/core.i18n.yaml +9 -6
  241. package/references/official-docs/docs/subsystems/core.md +120 -65
  242. package/references/official-docs/docs/subsystems/core.zh.md +120 -65
  243. package/references/official-docs/docs/subsystems/credentials.i18n.yaml +6 -6
  244. package/references/official-docs/docs/subsystems/credentials.md +79 -50
  245. package/references/official-docs/docs/subsystems/credentials.zh.md +79 -50
  246. package/references/official-docs/docs/subsystems/deliverables.i18n.yaml +2 -2
  247. package/references/official-docs/docs/subsystems/deliverables.md +2 -0
  248. package/references/official-docs/docs/subsystems/deliverables.zh.md +2 -0
  249. package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +20 -14
  250. package/references/official-docs/docs/subsystems/filesystem.md +202 -28
  251. package/references/official-docs/docs/subsystems/filesystem.zh.md +202 -28
  252. package/references/official-docs/docs/subsystems/forge.i18n.yaml +28 -0
  253. package/references/official-docs/docs/subsystems/forge.md +1975 -0
  254. package/references/official-docs/docs/subsystems/forge.zh.md +1977 -0
  255. package/references/official-docs/docs/subsystems/jobs.i18n.yaml +0 -0
  256. package/references/official-docs/docs/subsystems/jobs.md +0 -0
  257. package/references/official-docs/docs/subsystems/jobs.zh.md +0 -0
  258. package/references/official-docs/docs/subsystems/liveshare.i18n.yaml +25 -0
  259. package/references/official-docs/docs/subsystems/liveshare.md +167 -0
  260. package/references/official-docs/docs/subsystems/liveshare.zh.md +167 -0
  261. package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +9 -6
  262. package/references/official-docs/docs/subsystems/llm-streaming.md +95 -5
  263. package/references/official-docs/docs/subsystems/llm-streaming.zh.md +95 -5
  264. package/references/official-docs/docs/subsystems/lsp.i18n.yaml +5 -2
  265. package/references/official-docs/docs/subsystems/lsp.md +25 -1
  266. package/references/official-docs/docs/subsystems/lsp.zh.md +25 -1
  267. package/references/official-docs/docs/subsystems/mcp.i18n.yaml +6 -6
  268. package/references/official-docs/docs/subsystems/mcp.md +99 -2
  269. package/references/official-docs/docs/subsystems/mcp.zh.md +99 -2
  270. package/references/official-docs/docs/subsystems/office-kit.i18n.yaml +19 -0
  271. package/references/official-docs/docs/subsystems/office-kit.md +122 -0
  272. package/references/official-docs/docs/subsystems/office-kit.zh.md +122 -0
  273. package/references/official-docs/docs/subsystems/persistence.i18n.yaml +3 -3
  274. package/references/official-docs/docs/subsystems/persistence.md +17 -7
  275. package/references/official-docs/docs/subsystems/persistence.zh.md +17 -7
  276. package/references/official-docs/docs/subsystems/plan.i18n.yaml +6 -6
  277. package/references/official-docs/docs/subsystems/plan.md +4 -4
  278. package/references/official-docs/docs/subsystems/plan.zh.md +4 -4
  279. package/references/official-docs/docs/subsystems/product-telemetry.i18n.yaml +0 -0
  280. package/references/official-docs/docs/subsystems/product-telemetry.md +0 -0
  281. package/references/official-docs/docs/subsystems/product-telemetry.zh.md +0 -0
  282. package/references/official-docs/docs/subsystems/ptc-runtime.i18n.yaml +4 -4
  283. package/references/official-docs/docs/subsystems/ptc-runtime.md +57 -10
  284. package/references/official-docs/docs/subsystems/ptc-runtime.zh.md +57 -10
  285. package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +6 -6
  286. package/references/official-docs/docs/subsystems/sandbox.md +32 -7
  287. package/references/official-docs/docs/subsystems/sandbox.zh.md +32 -7
  288. package/references/official-docs/docs/subsystems/schedule.i18n.yaml +39 -30
  289. package/references/official-docs/docs/subsystems/schedule.md +194 -430
  290. package/references/official-docs/docs/subsystems/schedule.zh.md +197 -433
  291. package/references/official-docs/docs/subsystems/scope.i18n.yaml +0 -0
  292. package/references/official-docs/docs/subsystems/scope.zh.md +0 -0
  293. package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +14 -8
  294. package/references/official-docs/docs/subsystems/session-projection.md +186 -44
  295. package/references/official-docs/docs/subsystems/session-projection.zh.md +186 -44
  296. package/references/official-docs/docs/subsystems/session-query.md +11 -1
  297. package/references/official-docs/docs/subsystems/session-query.zh.md +11 -1
  298. package/references/official-docs/docs/subsystems/session-reference.md +4 -3
  299. package/references/official-docs/docs/subsystems/session-reference.zh.md +4 -3
  300. package/references/official-docs/docs/subsystems/session.i18n.yaml +10 -4
  301. package/references/official-docs/docs/subsystems/session.md +146 -32
  302. package/references/official-docs/docs/subsystems/session.zh.md +146 -32
  303. package/references/official-docs/docs/subsystems/sidebar-right.i18n.yaml +12 -12
  304. package/references/official-docs/docs/subsystems/sidebar-right.md +13 -12
  305. package/references/official-docs/docs/subsystems/sidebar-right.zh.md +13 -12
  306. package/references/official-docs/docs/subsystems/skills.i18n.yaml +6 -6
  307. package/references/official-docs/docs/subsystems/skills.md +4 -4
  308. package/references/official-docs/docs/subsystems/skills.zh.md +4 -4
  309. package/references/official-docs/docs/subsystems/slots.i18n.yaml +11 -8
  310. package/references/official-docs/docs/subsystems/slots.md +33 -3
  311. package/references/official-docs/docs/subsystems/slots.zh.md +33 -3
  312. package/references/official-docs/docs/subsystems/storage.i18n.yaml +9 -6
  313. package/references/official-docs/docs/subsystems/storage.md +26 -9
  314. package/references/official-docs/docs/subsystems/storage.zh.md +26 -9
  315. package/references/official-docs/docs/subsystems/subagent.i18n.yaml +14 -11
  316. package/references/official-docs/docs/subsystems/subagent.md +119 -102
  317. package/references/official-docs/docs/subsystems/subagent.zh.md +119 -102
  318. package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +2 -2
  319. package/references/official-docs/docs/subsystems/system-prompt.md +13 -11
  320. package/references/official-docs/docs/subsystems/system-prompt.zh.md +13 -11
  321. package/references/official-docs/docs/subsystems/terminal.md +1 -1
  322. package/references/official-docs/docs/subsystems/terminal.zh.md +1 -1
  323. package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +3 -0
  324. package/references/official-docs/docs/subsystems/token-meter.md +45 -0
  325. package/references/official-docs/docs/subsystems/token-meter.zh.md +45 -0
  326. package/references/official-docs/docs/subsystems/tools.i18n.yaml +8 -2
  327. package/references/official-docs/docs/subsystems/tools.md +240 -89
  328. package/references/official-docs/docs/subsystems/tools.zh.md +240 -89
  329. package/references/official-docs/docs/subsystems/translation.i18n.yaml +0 -0
  330. package/references/official-docs/docs/subsystems/translation.md +0 -0
  331. package/references/official-docs/docs/subsystems/translation.zh.md +0 -0
  332. package/references/official-docs/docs/subsystems/typert.i18n.yaml +4 -4
  333. package/references/official-docs/docs/subsystems/typert.md +21 -11
  334. package/references/official-docs/docs/subsystems/typert.zh.md +21 -11
  335. package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +2 -2
  336. package/references/official-docs/docs/subsystems/user-questions.md +22 -6
  337. package/references/official-docs/docs/subsystems/user-questions.zh.md +22 -6
  338. package/references/official-docs/docs/subsystems/web-client.i18n.yaml +2 -2
  339. package/references/official-docs/docs/subsystems/web-client.md +1 -1
  340. package/references/official-docs/docs/subsystems/web-client.zh.md +1 -1
  341. package/references/official-docs/docs/subsystems/web-server.i18n.yaml +6 -6
  342. package/references/official-docs/docs/subsystems/web-server.md +68 -23
  343. package/references/official-docs/docs/subsystems/web-server.zh.md +68 -23
  344. package/references/official-docs/docs/subsystems/web.i18n.yaml +10 -10
  345. package/references/official-docs/docs/subsystems/web.md +79 -21
  346. package/references/official-docs/docs/subsystems/web.zh.md +79 -21
  347. package/references/official-docs/docs/subsystems/working-directory.md +33 -2
  348. package/references/official-docs/docs/subsystems/working-directory.zh.md +33 -2
  349. package/references/official-docs/docs/subsystems/workspace.i18n.yaml +0 -0
  350. package/references/official-docs/docs/subsystems/workspace.md +93 -1
  351. package/references/official-docs/docs/subsystems/workspace.zh.md +93 -1
  352. package/references/official-docs/docs/subsystems/worktrees.i18n.yaml +4 -4
  353. package/references/official-docs/docs/subsystems/worktrees.md +112 -5
  354. package/references/official-docs/docs/subsystems/worktrees.zh.md +112 -5
  355. package/references/official-docs/docs/testing.i18n.yaml +2 -2
  356. package/references/official-docs/docs/testing.md +1 -1
  357. package/references/official-docs/docs/testing.zh.md +1 -1
  358. package/references/official-docs/docs/tool-catalog.i18n.yaml +100 -76
  359. package/references/official-docs/docs/tool-catalog.md +433 -395
  360. package/references/official-docs/docs/tool-catalog.zh.md +436 -399
  361. package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +2 -2
  362. package/references/official-docs/docs/tool-execution-pipeline.md +5 -4
  363. package/references/official-docs/docs/tool-execution-pipeline.zh.md +4 -3
  364. package/references/official-docs/docs/ui-design-review-cases.i18n.yaml +148 -0
  365. package/references/official-docs/docs/ui-design-review-cases.md +445 -0
  366. package/references/official-docs/docs/ui-design-review-cases.zh.md +445 -0
  367. package/references/official-docs/docs/ui-radius.i18n.yaml +4 -4
  368. package/references/official-docs/docs/ui-radius.md +3 -1
  369. package/references/official-docs/docs/ui-radius.zh.md +3 -1
  370. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.i18n.yaml +0 -0
  371. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.md +0 -0
  372. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.zh.md +0 -0
  373. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.i18n.yaml +0 -0
  374. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.md +0 -0
  375. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.zh.md +0 -0
  376. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.i18n.yaml +0 -0
  377. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.md +0 -0
  378. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.zh.md +0 -0
  379. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.i18n.yaml +0 -0
  380. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.md +0 -0
  381. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.zh.md +0 -0
  382. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.i18n.yaml +2 -2
  383. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.md +1 -1
  384. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.zh.md +1 -1
  385. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/cordis-timer-wrappers/guide.i18n.yaml +16 -0
  386. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/cordis-timer-wrappers/guide.md +24 -0
  387. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/cordis-timer-wrappers/guide.zh.md +24 -0
  388. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.i18n.yaml +0 -0
  389. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.md +0 -0
  390. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.zh.md +0 -0
  391. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.i18n.yaml +0 -0
  392. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.md +0 -0
  393. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.zh.md +0 -0
  394. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.i18n.yaml +0 -0
  395. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.md +0 -0
  396. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.zh.md +0 -0
  397. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.i18n.yaml +0 -0
  398. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.md +0 -0
  399. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.zh.md +0 -0
  400. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.i18n.yaml +0 -0
  401. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.md +0 -0
  402. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.zh.md +0 -0
  403. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.i18n.yaml +0 -0
  404. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.md +0 -0
  405. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.zh.md +0 -0
  406. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.i18n.yaml +0 -0
  407. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.md +0 -0
  408. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.zh.md +0 -0
  409. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.i18n.yaml +0 -0
  410. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.md +0 -0
  411. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.zh.md +0 -0
  412. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-manager-view-fields/guide.i18n.yaml +16 -0
  413. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-manager-view-fields/guide.md +25 -0
  414. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-manager-view-fields/guide.zh.md +25 -0
  415. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.i18n.yaml +0 -0
  416. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.md +0 -0
  417. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.zh.md +0 -0
  418. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.i18n.yaml +0 -0
  419. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.md +0 -0
  420. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.zh.md +0 -0
  421. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.i18n.yaml +0 -0
  422. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.md +0 -0
  423. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.zh.md +0 -0
  424. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.i18n.yaml +0 -0
  425. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.md +0 -0
  426. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.zh.md +0 -0
  427. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/model-switch-compaction/guide.i18n.yaml +16 -0
  428. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/model-switch-compaction/guide.md +30 -0
  429. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/model-switch-compaction/guide.zh.md +30 -0
  430. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/session-model-selection/guide.i18n.yaml +16 -0
  431. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/session-model-selection/guide.md +28 -0
  432. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/session-model-selection/guide.zh.md +28 -0
  433. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/agent-instructions-chain-budgets/guide.i18n.yaml +16 -0
  434. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/agent-instructions-chain-budgets/guide.md +24 -0
  435. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/agent-instructions-chain-budgets/guide.zh.md +24 -0
  436. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/subagent-control-tools/guide.i18n.yaml +16 -0
  437. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/subagent-control-tools/guide.md +23 -0
  438. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.1/subagent-control-tools/guide.zh.md +23 -0
  439. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-runtime-owner/guide.i18n.yaml +16 -0
  440. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-runtime-owner/guide.md +20 -0
  441. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-runtime-owner/guide.zh.md +20 -0
  442. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-team-subagents/guide.i18n.yaml +16 -0
  443. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-team-subagents/guide.md +31 -0
  444. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/agent-team-subagents/guide.zh.md +31 -0
  445. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/approval-projection-dependency/guide.i18n.yaml +16 -0
  446. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/approval-projection-dependency/guide.md +34 -0
  447. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/approval-projection-dependency/guide.zh.md +34 -0
  448. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-shutdown/guide.i18n.yaml +16 -0
  449. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-shutdown/guide.md +20 -0
  450. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-shutdown/guide.zh.md +20 -0
  451. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-user-sources/guide.i18n.yaml +16 -0
  452. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-user-sources/guide.md +18 -0
  453. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/auto-review-user-sources/guide.zh.md +18 -0
  454. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/built-in-japanese/guide.i18n.yaml +16 -0
  455. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/built-in-japanese/guide.md +18 -0
  456. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/built-in-japanese/guide.zh.md +18 -0
  457. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/conditional-tools/guide.i18n.yaml +16 -0
  458. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/conditional-tools/guide.md +25 -0
  459. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/conditional-tools/guide.zh.md +25 -0
  460. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/context-menu-services/guide.i18n.yaml +16 -0
  461. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/context-menu-services/guide.md +23 -0
  462. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/context-menu-services/guide.zh.md +23 -0
  463. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-consent-storage/guide.i18n.yaml +16 -0
  464. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-consent-storage/guide.md +22 -0
  465. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-consent-storage/guide.zh.md +22 -0
  466. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-preset-scope/guide.i18n.yaml +16 -0
  467. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-preset-scope/guide.md +18 -0
  468. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-preset-scope/guide.zh.md +18 -0
  469. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-relative-coordinates/guide.i18n.yaml +16 -0
  470. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-relative-coordinates/guide.md +17 -0
  471. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/cua-relative-coordinates/guide.zh.md +17 -0
  472. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/file-drag-callbacks/guide.i18n.yaml +16 -0
  473. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/file-drag-callbacks/guide.md +19 -0
  474. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/file-drag-callbacks/guide.zh.md +19 -0
  475. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/headless-policy-composition/guide.i18n.yaml +16 -0
  476. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/headless-policy-composition/guide.md +27 -0
  477. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/headless-policy-composition/guide.zh.md +27 -0
  478. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/model-badge-package-removal/guide.i18n.yaml +16 -0
  479. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/model-badge-package-removal/guide.md +18 -0
  480. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/model-badge-package-removal/guide.zh.md +18 -0
  481. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/new-session-blank-reuse/guide.i18n.yaml +16 -0
  482. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/new-session-blank-reuse/guide.md +22 -0
  483. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/new-session-blank-reuse/guide.zh.md +22 -0
  484. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/node-24/guide.i18n.yaml +16 -0
  485. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/node-24/guide.md +17 -0
  486. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/node-24/guide.zh.md +17 -0
  487. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/official-bundle-lists/guide.i18n.yaml +16 -0
  488. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/official-bundle-lists/guide.md +18 -0
  489. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/official-bundle-lists/guide.zh.md +18 -0
  490. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/persistent-terminal-controls/guide.i18n.yaml +16 -0
  491. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/persistent-terminal-controls/guide.md +18 -0
  492. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/persistent-terminal-controls/guide.zh.md +18 -0
  493. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-default-capacities/guide.i18n.yaml +16 -0
  494. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-default-capacities/guide.md +18 -0
  495. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-default-capacities/guide.zh.md +18 -0
  496. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-model-catalog/guide.i18n.yaml +16 -0
  497. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-model-catalog/guide.md +53 -0
  498. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-model-catalog/guide.zh.md +53 -0
  499. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-protocol-replay/guide.i18n.yaml +16 -0
  500. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-protocol-replay/guide.md +30 -0
  501. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/pi-ai-protocol-replay/guide.zh.md +30 -0
  502. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/ptc-script-format/guide.i18n.yaml +16 -0
  503. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/ptc-script-format/guide.md +20 -0
  504. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/ptc-script-format/guide.zh.md +20 -0
  505. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-desktop-context/guide.i18n.yaml +16 -0
  506. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-desktop-context/guide.md +18 -0
  507. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-desktop-context/guide.zh.md +18 -0
  508. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-minimal-checkpoints/guide.i18n.yaml +16 -0
  509. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-minimal-checkpoints/guide.md +18 -0
  510. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/sdk-minimal-checkpoints/guide.zh.md +18 -0
  511. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-projection-handles/guide.i18n.yaml +16 -0
  512. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-projection-handles/guide.md +24 -0
  513. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-projection-handles/guide.zh.md +24 -0
  514. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-store-writes/guide.i18n.yaml +16 -0
  515. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-store-writes/guide.md +25 -0
  516. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-store-writes/guide.zh.md +25 -0
  517. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-team-mode/guide.i18n.yaml +16 -0
  518. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-team-mode/guide.md +22 -0
  519. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/session-team-mode/guide.zh.md +22 -0
  520. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-activation-options/guide.i18n.yaml +16 -0
  521. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-activation-options/guide.md +18 -0
  522. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-activation-options/guide.zh.md +18 -0
  523. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-service-methods/guide.i18n.yaml +16 -0
  524. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-service-methods/guide.md +19 -0
  525. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-service-methods/guide.zh.md +19 -0
  526. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-user-controls/guide.i18n.yaml +16 -0
  527. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-user-controls/guide.md +26 -0
  528. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/subagent-user-controls/guide.zh.md +26 -0
  529. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/tool-executor-plugins/guide.i18n.yaml +16 -0
  530. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/tool-executor-plugins/guide.md +35 -0
  531. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/tool-executor-plugins/guide.zh.md +35 -0
  532. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/web-fetch-private-destinations/guide.i18n.yaml +16 -0
  533. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/web-fetch-private-destinations/guide.md +21 -0
  534. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/web-fetch-private-destinations/guide.zh.md +21 -0
  535. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/webserver-index-peer/guide.i18n.yaml +16 -0
  536. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/webserver-index-peer/guide.md +17 -0
  537. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.2/webserver-index-peer/guide.zh.md +17 -0
  538. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/attachment-read-access/guide.i18n.yaml +16 -0
  539. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/attachment-read-access/guide.md +23 -0
  540. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/attachment-read-access/guide.zh.md +23 -0
  541. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/computer-use-helper-permissions/guide.i18n.yaml +16 -0
  542. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/computer-use-helper-permissions/guide.md +21 -0
  543. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/computer-use-helper-permissions/guide.zh.md +21 -0
  544. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/cua-bundle-id-consent/guide.i18n.yaml +16 -0
  545. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/cua-bundle-id-consent/guide.md +20 -0
  546. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/cua-bundle-id-consent/guide.zh.md +20 -0
  547. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/generated-worktree-names/guide.i18n.yaml +16 -0
  548. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/generated-worktree-names/guide.md +20 -0
  549. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/generated-worktree-names/guide.zh.md +20 -0
  550. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/inbox-only-agent-wait/guide.i18n.yaml +16 -0
  551. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/inbox-only-agent-wait/guide.md +19 -0
  552. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/inbox-only-agent-wait/guide.zh.md +19 -0
  553. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/independent-session-forks/guide.i18n.yaml +16 -0
  554. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/independent-session-forks/guide.md +23 -0
  555. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/independent-session-forks/guide.zh.md +23 -0
  556. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/ptc-caller-cancellation/guide.i18n.yaml +16 -0
  557. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/ptc-caller-cancellation/guide.md +20 -0
  558. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/ptc-caller-cancellation/guide.zh.md +20 -0
  559. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/session-follow-activation/guide.i18n.yaml +16 -0
  560. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/session-follow-activation/guide.md +21 -0
  561. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/session-follow-activation/guide.zh.md +21 -0
  562. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/subagent-runtime-ownership/guide.i18n.yaml +16 -0
  563. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/subagent-runtime-ownership/guide.md +21 -0
  564. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/subagent-runtime-ownership/guide.zh.md +21 -0
  565. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-mode-menu/guide.i18n.yaml +16 -0
  566. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-mode-menu/guide.md +18 -0
  567. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-mode-menu/guide.zh.md +18 -0
  568. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-projection/guide.i18n.yaml +16 -0
  569. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-projection/guide.md +20 -0
  570. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/team-projection/guide.zh.md +20 -0
  571. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-file-downloads/guide.i18n.yaml +16 -0
  572. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-file-downloads/guide.md +19 -0
  573. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-file-downloads/guide.zh.md +19 -0
  574. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-search-defaults/guide.i18n.yaml +16 -0
  575. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-search-defaults/guide.md +18 -0
  576. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.3/web-search-defaults/guide.zh.md +18 -0
  577. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/model-listing-refresh/guide.i18n.yaml +16 -0
  578. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/model-listing-refresh/guide.md +22 -0
  579. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/model-listing-refresh/guide.zh.md +22 -0
  580. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/reasoning-body-props/guide.i18n.yaml +16 -0
  581. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/reasoning-body-props/guide.md +20 -0
  582. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/reasoning-body-props/guide.zh.md +20 -0
  583. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.i18n.yaml +16 -0
  584. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.md +18 -0
  585. package/references/official-docs/docs/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.zh.md +18 -0
  586. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/context-menu-target/guide.i18n.yaml +16 -0
  587. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/context-menu-target/guide.md +19 -0
  588. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/context-menu-target/guide.zh.md +19 -0
  589. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cordis-loader-entry-trees/guide.i18n.yaml +16 -0
  590. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cordis-loader-entry-trees/guide.md +24 -0
  591. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cordis-loader-entry-trees/guide.zh.md +24 -0
  592. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/css-anchored-menus/guide.i18n.yaml +16 -0
  593. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/css-anchored-menus/guide.md +21 -0
  594. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/css-anchored-menus/guide.zh.md +21 -0
  595. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cua-source-dev-helper/guide.i18n.yaml +16 -0
  596. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cua-source-dev-helper/guide.md +19 -0
  597. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/cua-source-dev-helper/guide.zh.md +19 -0
  598. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/desktop-stable-channel/guide.i18n.yaml +16 -0
  599. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/desktop-stable-channel/guide.md +18 -0
  600. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/desktop-stable-channel/guide.zh.md +18 -0
  601. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-git-permissions/guide.i18n.yaml +16 -0
  602. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-git-permissions/guide.md +21 -0
  603. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-git-permissions/guide.zh.md +21 -0
  604. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-worktree-entry/guide.i18n.yaml +16 -0
  605. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-worktree-entry/guide.md +29 -0
  606. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/forge-worktree-entry/guide.zh.md +29 -0
  607. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/fs-observation-policy-default-off/guide.i18n.yaml +16 -0
  608. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/fs-observation-policy-default-off/guide.md +29 -0
  609. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/fs-observation-policy-default-off/guide.zh.md +29 -0
  610. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.i18n.yaml +16 -0
  611. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.md +18 -0
  612. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.zh.md +18 -0
  613. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-request-purpose-declarations/guide.i18n.yaml +16 -0
  614. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-request-purpose-declarations/guide.md +29 -0
  615. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/llm-request-purpose-declarations/guide.zh.md +29 -0
  616. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/pi-ai-request-image-count/guide.i18n.yaml +16 -0
  617. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/pi-ai-request-image-count/guide.md +18 -0
  618. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/pi-ai-request-image-count/guide.zh.md +18 -0
  619. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-event-frames/guide.i18n.yaml +16 -0
  620. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-event-frames/guide.md +32 -0
  621. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-event-frames/guide.zh.md +32 -0
  622. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-released-checkpoint/guide.i18n.yaml +16 -0
  623. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-released-checkpoint/guide.md +30 -0
  624. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-released-checkpoint/guide.zh.md +30 -0
  625. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-snapshot-scope/guide.i18n.yaml +16 -0
  626. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-snapshot-scope/guide.md +19 -0
  627. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/projection-snapshot-scope/guide.zh.md +19 -0
  628. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/retained-ptc-timeout/guide.i18n.yaml +16 -0
  629. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/retained-ptc-timeout/guide.md +21 -0
  630. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/retained-ptc-timeout/guide.zh.md +21 -0
  631. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-agent-tools/guide.i18n.yaml +16 -0
  632. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-agent-tools/guide.md +37 -0
  633. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-agent-tools/guide.zh.md +37 -0
  634. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-remote-host-tasks/guide.i18n.yaml +16 -0
  635. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-remote-host-tasks/guide.md +22 -0
  636. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/schedule-remote-host-tasks/guide.zh.md +22 -0
  637. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/sdk-run-commands/guide.i18n.yaml +16 -0
  638. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/sdk-run-commands/guide.md +24 -0
  639. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/sdk-run-commands/guide.zh.md +24 -0
  640. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/session-header-menu/guide.i18n.yaml +16 -0
  641. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/session-header-menu/guide.md +20 -0
  642. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/session-header-menu/guide.zh.md +20 -0
  643. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/subagent-explicit-reasoning/guide.i18n.yaml +16 -0
  644. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/subagent-explicit-reasoning/guide.md +20 -0
  645. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/subagent-explicit-reasoning/guide.zh.md +20 -0
  646. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-credential-modes/guide.i18n.yaml +16 -0
  647. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-credential-modes/guide.md +17 -0
  648. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-credential-modes/guide.zh.md +17 -0
  649. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-default-provider/guide.i18n.yaml +16 -0
  650. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-default-provider/guide.md +19 -0
  651. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.2/web-search-default-provider/guide.zh.md +19 -0
  652. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/chat-process-activity-context/guide.i18n.yaml +16 -0
  653. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/chat-process-activity-context/guide.md +18 -0
  654. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/chat-process-activity-context/guide.zh.md +18 -0
  655. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.i18n.yaml +16 -0
  656. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.md +34 -0
  657. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.zh.md +34 -0
  658. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.i18n.yaml +16 -0
  659. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.md +49 -0
  660. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.zh.md +49 -0
  661. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.i18n.yaml +16 -0
  662. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.md +36 -0
  663. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.zh.md +36 -0
  664. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/subagent-names/guide.i18n.yaml +16 -0
  665. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/subagent-names/guide.md +29 -0
  666. package/references/official-docs/docs/upgrade-guide/v0.2.2-alpha.3/subagent-names/guide.zh.md +29 -0
  667. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.i18n.yaml +16 -0
  668. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.md +26 -0
  669. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.zh.md +26 -0
  670. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.i18n.yaml +16 -0
  671. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.md +22 -0
  672. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.zh.md +22 -0
  673. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.i18n.yaml +16 -0
  674. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.md +21 -0
  675. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.zh.md +21 -0
  676. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.i18n.yaml +16 -0
  677. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.md +23 -0
  678. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.zh.md +23 -0
  679. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.i18n.yaml +16 -0
  680. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.md +20 -0
  681. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.zh.md +20 -0
  682. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.i18n.yaml +16 -0
  683. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.md +18 -0
  684. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.zh.md +18 -0
  685. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.i18n.yaml +16 -0
  686. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.md +23 -0
  687. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.zh.md +23 -0
  688. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.i18n.yaml +16 -0
  689. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.md +35 -0
  690. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.zh.md +35 -0
  691. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.i18n.yaml +16 -0
  692. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.md +26 -0
  693. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.zh.md +26 -0
  694. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.i18n.yaml +16 -0
  695. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.md +26 -0
  696. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.zh.md +26 -0
  697. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.i18n.yaml +16 -0
  698. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.md +19 -0
  699. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.zh.md +19 -0
  700. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.i18n.yaml +16 -0
  701. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.md +26 -0
  702. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.zh.md +26 -0
  703. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.i18n.yaml +16 -0
  704. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.md +22 -0
  705. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.zh.md +22 -0
  706. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.i18n.yaml +16 -0
  707. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.md +25 -0
  708. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.zh.md +25 -0
  709. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.i18n.yaml +16 -0
  710. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.md +48 -0
  711. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.zh.md +48 -0
  712. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.i18n.yaml +16 -0
  713. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.md +45 -0
  714. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.zh.md +45 -0
  715. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.i18n.yaml +16 -0
  716. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.md +19 -0
  717. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.zh.md +19 -0
  718. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.i18n.yaml +16 -0
  719. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.md +17 -0
  720. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.zh.md +17 -0
  721. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.i18n.yaml +16 -0
  722. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.md +27 -0
  723. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.zh.md +27 -0
  724. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.i18n.yaml +16 -0
  725. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.md +20 -0
  726. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.zh.md +20 -0
  727. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.i18n.yaml +16 -0
  728. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.md +19 -0
  729. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.zh.md +19 -0
  730. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.i18n.yaml +16 -0
  731. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.md +41 -0
  732. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.zh.md +41 -0
  733. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.i18n.yaml +16 -0
  734. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.md +21 -0
  735. package/references/official-docs/docs/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.zh.md +21 -0
  736. package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +0 -0
  737. package/references/official-docs/docs/user/develop/basic/publish.md +0 -0
  738. package/references/official-docs/docs/user/develop/basic/publish.zh.md +0 -0
  739. package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +2 -2
  740. package/references/official-docs/docs/user/develop/framework/events.md +1 -1
  741. package/references/official-docs/docs/user/develop/framework/events.zh.md +1 -1
  742. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +2 -2
  743. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.md +1 -1
  744. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.zh.md +1 -1
  745. package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +2 -2
  746. package/references/official-docs/docs/user/develop/practice/llm-adapter.md +2 -2
  747. package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +2 -2
  748. package/references/official-docs/docs/user/guide/desktop-uninstall-cleanup.i18n.yaml +16 -0
  749. package/references/official-docs/docs/user/guide/desktop-uninstall-cleanup.md +60 -0
  750. package/references/official-docs/docs/user/guide/desktop-uninstall-cleanup.zh.md +60 -0
  751. package/references/official-docs/docs/user/guide/index.i18n.yaml +2 -2
  752. package/references/official-docs/docs/user/guide/index.md +1 -0
  753. package/references/official-docs/docs/user/guide/index.zh.md +1 -0
  754. package/references/official-docs/docs/user/guide/network-proxy.i18n.yaml +2 -2
  755. package/references/official-docs/docs/user/guide/network-proxy.md +1 -1
  756. package/references/official-docs/docs/user/guide/network-proxy.zh.md +1 -1
  757. package/references/official-docs/docs/user/guide/plugin-market.i18n.yaml +24 -24
  758. package/references/official-docs/docs/user/guide/plugin-market.md +15 -13
  759. package/references/official-docs/docs/user/guide/plugin-market.zh.md +15 -13
  760. package/references/official-docs/docs/user/guide/providers.i18n.yaml +10 -10
  761. package/references/official-docs/docs/user/guide/providers.md +8 -4
  762. package/references/official-docs/docs/user/guide/providers.zh.md +8 -4
  763. package/references/official-docs/docs/user/guide/public-deployments.i18n.yaml +0 -0
  764. package/references/official-docs/docs/user/guide/public-deployments.md +0 -0
  765. package/references/official-docs/docs/user/guide/public-deployments.zh.md +0 -0
  766. package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +9 -6
  767. package/references/official-docs/docs/user/guide/python-sdk.md +17 -2
  768. package/references/official-docs/docs/user/guide/python-sdk.zh.md +17 -2
  769. package/references/official-docs/docs/user/guide/schedule.i18n.yaml +16 -16
  770. package/references/official-docs/docs/user/guide/schedule.md +45 -26
  771. package/references/official-docs/docs/user/guide/schedule.zh.md +45 -26
  772. package/references/official-docs/docs/web-styling.i18n.yaml +8 -2
  773. package/references/official-docs/docs/web-styling.md +20 -2
  774. package/references/official-docs/docs/web-styling.zh.md +20 -2
  775. package/references/official-docs/packages/AGENTS.md +0 -0
  776. package/references/official-docs/packages/README.md +3 -2
  777. package/references/official-docs/vendor/README.md +39 -45
  778. package/references/official-docs/website-docs.ts +9 -1
  779. package/references/sources.md +1 -1
  780. package/scripts/check-facts.mjs +32 -25
  781. package/scripts/check-readme-parity.mjs +2 -2
  782. package/scripts/check-readme-sync.mjs +23 -16
  783. package/scripts/gen-readme-assets.py +528 -0
  784. package/scripts/verify-kit.ps1 +2 -2
  785. package/README-es.md +0 -456
  786. package/README-hi.md +0 -456
  787. package/README-pt.md +0 -456
  788. package/README-zh.md +0 -458
  789. package/references/official-docs/docs/subsystems/office-to-pdf.i18n.yaml +0 -19
  790. package/references/official-docs/docs/subsystems/office-to-pdf.md +0 -87
  791. package/references/official-docs/docs/subsystems/office-to-pdf.zh.md +0 -87
@@ -65,8 +65,10 @@ interface SessionEventMap {
65
65
  * The rendered system prompt on the model-visible surface. The loop appends
66
66
  * the first one as surface node 0 before the step's first `user/message`.
67
67
  * A prepared in-history route can append nonempty changes in a continuing
68
- * series. An incapable route or new series normalizes text to the first system
69
- * node. Normalization empties nonempty later nodes, then rewrites the head if
68
+ * series. An incapable route, or a new series whose effective text differs,
69
+ * normalizes text to the first system node; a series start whose latest
70
+ * surviving node already holds the rendering leaves it in place.
71
+ * Normalization empties nonempty later nodes, then rewrites the head if
70
72
  * needed, through logged per-node replacements. An empty rendering always
71
73
  * clears all active system nodes, leaving no older instructions model-visible.
72
74
  * Empty later nodes are dormant and project to no message; an empty head with
@@ -447,6 +449,17 @@ interface SurfaceFoldResult {
447
449
 
448
450
  ## `Session` 公共 API
449
451
 
452
+ ### `SessionEventInput`:一个候选事件
453
+
454
+ ```ts type-equiv
455
+ /** One positional event call proposed for append, without assigned sequence or time. */
456
+ type SessionEventInput = {
457
+ [K in SessionEventType]: readonly [type: K, data: SessionEventMap[K], ...opts: K extends SurfaceEventType ? [opts: SurfaceIntent<K>] : []]
458
+ }[SessionEventType]
459
+ ```
460
+
461
+ 数组中的每个成员将事件类型与对应载荷配对,且仅对产生消息的事件要求surface意图。
462
+
450
463
  去除方法体的声明与源码中的普通类保持同步,覆盖其脱离态工厂、状态访问器、append 方法和历史投影。存储操作仍由生成的 [`ctx.sessions` 小节](#ctxsessions--sessionstore)记录。
451
464
 
452
465
  ```ts public-api
@@ -573,6 +586,18 @@ declare class Session {
573
586
  isOwnSeq(seq: SessionSeq): boolean;
574
587
  /** The next event's sequence number — always the log length (the `seq = log.length` contiguity contract). */
575
588
  get seq(): SessionLogOffset;
589
+ /** Current event while synchronously notifying a batch's observers. */
590
+ get currentBatchPublication(): SessionEvent | undefined;
591
+ /**
592
+ * Append consecutive events together after validating every candidate and dispatch.
593
+ * Observers read the complete committed log and final message surface.
594
+ * Listener registration changes during publication take effect on the next append.
595
+ * Persistence listeners retain their own durability rules.
596
+ * @param inputs - event payloads and surface intents in commit order. An empty array records no events.
597
+ * @returns immutable committed events in the same order.
598
+ * @throws if the Session cannot accept writes, including an empty append, or any candidate or synchronous dispatch validation fails.
599
+ */
600
+ append(inputs: readonly SessionEventInput[]): readonly SessionEvent[];
576
601
  /**
577
602
  * Append one typed event to the log and synchronously notify observers via
578
603
  * the store-owned, module-private publication hooks. The hot path never blocks
@@ -580,6 +605,9 @@ declare class Session {
580
605
  * the log, the append is committed: observer failures are logged and
581
606
  * contained per listener, so they do not change the return value or prevent
582
607
  * later listeners from observing the same accepted event.
608
+ * Independent Sessions append without notifying store observers. Once a store
609
+ * prepares or enters the instance, writes require a completed creation
610
+ * announcement and remain disabled after removal.
583
611
  *
584
612
  * @param type - The event type (key of {@link SessionEventMap}).
585
613
  * @param data - The event payload; must be JSON-serializable.
@@ -595,7 +623,9 @@ declare class Session {
595
623
  * @returns the logged event — its assigned `seq`/`time` plus the SNAPSHOT of
596
624
  * `data` that entered the log, so reading `event.data` back sees the logged
597
625
  * value, never the caller's still-mutable input.
598
- * @throws if `data` or surface metadata is not losslessly JSON-serializable
626
+ * @throws if a store-owned Session is unentered or its creation announcement
627
+ * has not completed, or if `data` or surface
628
+ * metadata is not losslessly JSON-serializable
599
629
  * (BigInt, function, symbol, undefined, negative zero, non-finite number,
600
630
  * circular reference, sparse array, or an exotic object such as
601
631
  * Map/Set/Date/class instance), or when the candidate violates the
@@ -680,7 +710,7 @@ declare class Session {
680
710
 
681
711
  `ctx.sessions.create(id, { seed, meta })` 是底层的回放/fork 原语。对于普通的活跃会话 fork,`SessionStore` 暴露一个策略 API:
682
712
 
683
- - `fork(source, boundary?, childSessionId?)` 接受一个活跃的 `Session` 对象或活跃的 `SessionId`,选取到 `SessionSeq` boundary(含)为止的源事件(默认为当前最后一个事件),要求所选前缀结束时没有开放轮次,然后创建一个活跃的子会话,包含深克隆的 seed event、`parentSession`、`isSeeded: true`、精确 `inheritedEventCount` 及继承的 `cwd`。
713
+ - `fork(source, boundary?, childSessionId?)` 接受一个活跃的 `Session` 对象或活跃的 `SessionId`,选取到 `SessionSeq` boundary(含)为止的源事件(默认为当前最后一个事件),闭合任何开放尾部,然后创建一个独立的活跃会话,包含深克隆的 seed event、`isSeeded: true`、精确 `inheritedEventCount` 及继承的 `cwd`,不含 `parentSession`。
684
714
 
685
715
  显式 `boundary` 允许调用者从任意稳定的轮次间位置 fork,包括之前的 `turn/end` 或更晚的独立纯日志事件,即使源会话有更新的事件或正在进行的轮次。API 拒绝结束于开放轮次内的前缀,而不是静默截断。`dsh-subagent-fork-in-process` 保留其已完成前缀截断逻辑,因为工具调用时的委托通常在父轮次仍然打开时启动;普通的会话分支应显式指定请求的 boundary。
686
716
 
@@ -707,8 +737,9 @@ interface TurnEndReasonMap {
707
737
  blocked: { kind: 'blocked' }
708
738
  /**
709
739
  * The turn failed. `error` is always a structured failure: the `LlmError`
710
- * facts verbatim, or `{ message: errorChain(error), code: 'UNKNOWN' }`
711
- * flattened from any other error.
740
+ * facts verbatim, or `{ message: errorChain(error), code }` flattened from
741
+ * any other error, where `code` is `TOOL_ACTIVATION_FAILED` for a failed
742
+ * tool condition and `UNKNOWN` otherwise.
712
743
  */
713
744
  error: { kind: 'error'; error: LlmFailure }
714
745
  /** At least one step reached its output-token ceiling, even if a plugin continued the turn. */
@@ -813,6 +844,29 @@ interface PluginRecord {
813
844
 
814
845
  可选的 `application` 指定文件关联应用,不修改系统默认值;`workspacePathApplications({ path })` 在校验 Host 路径后返回当前关联应用、名称、图标和默认项。
815
846
 
847
+ ## Session 日志上传排除条件
848
+
849
+ `ctx.sessionLogDeepSeek.registerExclusion()` 注册归调用方所有的判断函数,输入为 `SessionLogUploadRequest`。任意条件匹配时,在读取 Session 事件前省略日志贡献与接受回调。没有条件匹配时保留普通上传资格判断。[包 README](../../packages/session/session-log-deepseek/README.zh.md#upload-exclusions) 定义失败与释放行为。
850
+
851
+ ```ts type-equiv
852
+ /** Request identity inspected before preparing a Session-log contribution. */
853
+ interface SessionLogUploadRequest {
854
+ /** Live Session whose canonical log would be contributed. */
855
+ readonly sessionId: SessionId
856
+ /** Auxiliary request classification; absent for ordinary conversation requests. */
857
+ readonly purpose?: string
858
+ }
859
+ ```
860
+
861
+ ```ts type-equiv
862
+ /**
863
+ * Synchronous, side-effect-free upload exclusion owned by its registering plugin.
864
+ * @param request - request identity; the predicate must not mutate it.
865
+ * @returns `true` to omit the log field and acceptance callback, or `false` to keep checking eligibility.
866
+ */
867
+ type SessionLogUploadExclusion = (request: SessionLogUploadRequest) => boolean
868
+ ```
869
+
816
870
  <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
817
871
 
818
872
  <a id="cordis-surface"></a>
@@ -835,14 +889,6 @@ Host service backing the generated `ctx.remote.session` namespace.
835
889
  */
836
890
  resolveAgent(sessionId: SessionId): Promise<ApiSessionAgentResult>
837
891
 
838
- /**
839
- * Inspect one attached or persisted Session without activating its Agent.
840
- * @param sessionId - durable Session identity.
841
- * @param signal - optional caller cancellation for persistence reads.
842
- * @returns the current attached state or persisted header and event prefix.
843
- */
844
- inspect( sessionId: SessionId, signal?: AbortSignal, ): Promise<SessionInspection>
845
-
846
892
  /**
847
893
  * Read all visible Session rows without resuming an Agent.
848
894
  * @param _request - reserved empty list request.
@@ -942,8 +988,8 @@ workspaceDesktop(): { name: string; available: boolean; fileManager: 'finder' |
942
988
  @Remote('prompt') async prompt(request: SessionPromptRequest, signal: AbortSignal): Promise<SessionPromptValue>
943
989
 
944
990
  /**
945
- * Read one image proven reachable from the addressed Session log.
946
- * @param request - Session and attachment identities used for authorization.
991
+ * Read one image from the attachment store after gateway authorization.
992
+ * @param request - image reference and gateway permission scope; Session existence is not checked.
947
993
  * @returns the durable attachment reference and base64-encoded bytes.
948
994
  */
949
995
  @Remote('attachment') attachment(request: SessionAttachmentRequest): Promise<SessionAttachmentValue>
@@ -964,11 +1010,51 @@ workspaceDesktop(): { name: string; available: boolean; fileManager: 'finder' |
964
1010
 
965
1011
  /**
966
1012
  * Read one cold-safe, message-aligned Session history page.
967
- * @param request - durable address, backward cursor, and page budget.
1013
+ * @param request - durable address, optional fixed cut, backward cursor, and page budget.
968
1014
  * @param signal - cancellation for persistence reads.
969
- * @returns one chronological page.
1015
+ * @returns one chronological page with its inclusive cursor.
970
1016
  */
971
- @Remote({ name: 'page', resources: { session: addressedSession } }) page(request: SessionPageRequest, signal: AbortSignal): Promise<SessionPage>
1017
+ @Remote events(request: SessionPageRequest, signal: AbortSignal): Promise<SessionEventsPage>
1018
+
1019
+ /**
1020
+ * Subscribe to Session events without reading a snapshot.
1021
+ * @param request - Session address.
1022
+ * @param signal - subscription cancellation.
1023
+ * @returns readiness and subsequent events, without a snapshot.
1024
+ */
1025
+ @Remote({ mode: 'stream' }) observeEvent(request: SessionObserveEventRequest, signal: AbortSignal): AsyncIterable<SessionEventFrame>
1026
+
1027
+ /**
1028
+ * Subscribe to Session projection changes.
1029
+ * @param request - target Session.
1030
+ * @param signal - subscription cancellation.
1031
+ * @returns readiness followed by one projection change frame per committed event.
1032
+ */
1033
+ @Remote({ mode: 'stream' }) observeProjections(request: SessionProjectionsRequest, signal: AbortSignal): AsyncIterable<SessionProjectionFrame>
1034
+
1035
+ /**
1036
+ * Read passive Session state.
1037
+ * @param request - target Session.
1038
+ * @param signal - read cancellation.
1039
+ * @returns current passive state.
1040
+ */
1041
+ @Remote state(request: SessionStateRequest, signal: AbortSignal): Promise<SessionState>
1042
+
1043
+ /**
1044
+ * Subscribe to complete Session state replacements.
1045
+ * @param request - target Session.
1046
+ * @param signal - subscription cancellation.
1047
+ * @returns complete passive state replacements.
1048
+ */
1049
+ @Remote({ mode: 'stream' }) observeState(request: SessionStateRequest, signal: AbortSignal): AsyncIterable<SessionState>
1050
+
1051
+ /**
1052
+ * Wait for Session quiescence or pending input with bounded assistant output.
1053
+ * @param request - Session, wait bounds and output window.
1054
+ * @param signal - caller cancellation.
1055
+ * @returns stopping state and bounded assistant output.
1056
+ */
1057
+ @Remote wait(request: SessionWaitRequest, signal: AbortSignal): Promise<SessionWaitValue>
972
1058
 
973
1059
  /**
974
1060
  * Follow one Session log from its opening or resume cursor.
@@ -977,7 +1063,7 @@ workspaceDesktop(): { name: string; available: boolean; fileManager: 'finder' |
977
1063
  * @returns a complete opening snapshot followed by gap-free durable event
978
1064
  * frames and optional cursorless assistant-stream frames.
979
1065
  */
980
- @Remote({ mode: 'stream', resources: { session: addressedSession } }) follow(request: SessionFollowRequest, signal: AbortSignal): AsyncIterable<SessionFollowFrame>
1066
+ @Remote({ mode: 'stream' }) follow(request: SessionFollowRequest, signal: AbortSignal): AsyncIterable<SessionFollowFrame>
981
1067
 
982
1068
  /**
983
1069
  * Read exact projections, returning cached hints only when migration is required.
@@ -985,7 +1071,7 @@ workspaceDesktop(): { name: string; available: boolean; fileManager: 'finder' |
985
1071
  * @param signal - cancellation for the Session read.
986
1072
  * @returns a sequenced baseline, cached hints when migration is deferred, or null when absent.
987
1073
  */
988
- @Remote('projections') async projections(request: SessionProjectionsRequest, signal: AbortSignal): Promise<SessionProjectionsValue>
1074
+ @Remote('projections') projections(request: SessionProjectionsRequest, signal: AbortSignal): Promise<SessionProjectionsValue>
989
1075
 
990
1076
  /**
991
1077
  * Stream a complete live-control baseline followed by replacement frames.
@@ -995,10 +1081,30 @@ workspaceDesktop(): { name: string; available: boolean; fileManager: 'finder' |
995
1081
  @Remote({ mode: 'stream' }) async *control(signal: AbortSignal): AsyncIterable<SessionControlFrame>
996
1082
  ```
997
1083
 
998
- Types: [SessionId](core.zh.md) · [SessionInspection](persistence.zh.md) · [SessionSearchRequest](session-query.zh.md)
1084
+ Types: [SessionId](core.zh.md) · [SessionSearchRequest](session-query.zh.md)
999
1085
 
1000
1086
  Source: [`packages/api/session-controller/src/index.ts`](../../packages/api/session-controller/src/index.ts)
1001
1087
 
1088
+ <a id="ctxsessionlogdeepseek--sessionlogdeepseekservice"></a>
1089
+
1090
+ ### `ctx.sessionLogDeepSeek` — `SessionLogDeepSeekService`
1091
+
1092
+ Incremental Session-log contributor with caller-owned upload exclusions.
1093
+
1094
+ ```ts cordis-catalog
1095
+ /**
1096
+ * Exclude matching requests before reading or preparing their log contribution.
1097
+ * Any matching rule suppresses both the field and its acceptance callback. With
1098
+ * no matching rules, normal upload eligibility applies. A throwing rule fails
1099
+ * this contribution; the request-extension registry omits it and reports the error.
1100
+ * @param exclude - synchronous, side-effect-free predicate; `true` skips this upload.
1101
+ * @returns effect disposer that removes this registration when called or when the caller unloads.
1102
+ */
1103
+ registerExclusion(exclude: SessionLogUploadExclusion): () => Promise<void>
1104
+ ```
1105
+
1106
+ Source: [`packages/session/session-log-deepseek/src/index.ts`](../../packages/session/session-log-deepseek/src/index.ts)
1107
+
1002
1108
  <a id="ctxsessions--sessionstore"></a>
1003
1109
 
1004
1110
  ### `ctx.sessions` — `SessionStore`
@@ -1054,7 +1160,7 @@ create(id?: SessionId, options?: CreateSessionOptions): Session
1054
1160
  * `eventState`, every seed event is either independently owned or any
1055
1161
  * shared value is deeply frozen; {@link Session.fromRestore} validates and
1056
1162
  * adopts those values without copying or freezing them.
1057
- * @returns the constructed session, NOT yet in the store.
1163
+ * @returns the store-owned session, not yet entered and read-only until announced.
1058
1164
  * @throws if a session with `id` already exists, metadata is not a plain
1059
1165
  * lossless-JSON record with valid scalar fields, or `meta.cwd` is a
1060
1166
  * non-absolute path.
@@ -1062,8 +1168,9 @@ create(id?: SessionId, options?: CreateSessionOptions): Session
1062
1168
  prepare(id?: SessionId, options?: PrepareSessionOptions): Session
1063
1169
 
1064
1170
  /**
1065
- * Enter a {@link prepare}d session into the store: install the module-private
1066
- * append publication hooks and add it to the store. Returns the DETACH
1171
+ * Enter a session into the store: install the module-private
1172
+ * append publication hooks and add it to the store. Writes remain disabled
1173
+ * until {@link announce} completes successfully. Returns the DETACH
1067
1174
  * disposer (hooks + store removal). Does NOT emit `session/created` —
1068
1175
  * the caller yields this disposer inside its effect and THEN calls
1069
1176
  * {@link announce}, so a throwing `session/created` listener rolls the attach
@@ -1077,7 +1184,7 @@ prepare(id?: SessionId, options?: PrepareSessionOptions): Session
1077
1184
  * the two back-to-back so they never trip this, but the public API cannot
1078
1185
  * assume that.
1079
1186
  *
1080
- * @param session - a {@link prepare}d session not yet in the store.
1187
+ * @param session - an unentered session; independent instances become store-owned.
1081
1188
  * @returns the detach disposer (publication hooks + store removal). When called from
1082
1189
  * a synchronous `session/created` listener, removal and disposal wait until
1083
1190
  * that creation dispatch unwinds.
@@ -1088,7 +1195,9 @@ enter(session: Session): () => void
1088
1195
  /** Emit `session/created` exactly once for an {@link enter}ed session (with
1089
1196
  * the carrier {@link enter} captured). Separate from {@link enter} so the
1090
1197
  * caller can yield the detach disposer first (rollback safety — see
1091
- * {@link enter}).
1198
+ * {@link enter}). The Session remains read-only throughout synchronous
1199
+ * dispatch; successful completion enables appends. A failed announcement
1200
+ * leaves it read-only and cannot be retried.
1092
1201
  * @param session - the entered session to announce to listeners.
1093
1202
  * @throws if the session is not live or its announcement already began,
1094
1203
  * including a reentrant call from a creation listener. */
@@ -1123,7 +1232,7 @@ get(id: SessionId): Session | undefined
1123
1232
  list(): Session[]
1124
1233
 
1125
1234
  /**
1126
- * Create a live child session from an exact prefix of a live source.
1235
+ * Create an independent live session from an exact prefix of a live source.
1127
1236
  * `boundary` is an inclusive source event seq; omitted means the source's
1128
1237
  * current last event. An open tail receives synthetic tool results and
1129
1238
  * step/turn closers with the forked cause. Closed steps and turns remain
@@ -1254,12 +1363,14 @@ Source: [`packages/api/session-controller/src/types.ts`](../../packages/api/sess
1254
1363
 
1255
1364
  #### `session/created` — emit
1256
1365
 
1257
- Creation announcement during session publication. A synchronous throw vetoes and rolls back with a paired disposal; detach requested during dispatch is deferred. A returned-promise rejection is logged but cannot retroactively veto this synchronous boundary. Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only sessions entered through that agent's context.
1366
+ Read-only creation announcement after store entry. New events reject until every synchronous listener has returned successfully. A synchronous throw vetoes creation and rolls back with a paired disposal; detach requested during dispatch is deferred. A returned-promise rejection is logged but cannot retroactively veto this synchronous boundary. Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only sessions entered through that agent's context.
1258
1367
 
1259
1368
  ```ts cordis-catalog
1260
1369
  /**
1261
- * Creation announcement during session publication. A synchronous throw vetoes and rolls
1262
- * back with a paired disposal; detach requested during dispatch is deferred.
1370
+ * Read-only creation announcement after store entry.
1371
+ * New events reject until every synchronous listener has returned successfully.
1372
+ * A synchronous throw vetoes creation and rolls back with a paired disposal;
1373
+ * detach requested during dispatch is deferred.
1263
1374
  * A returned-promise rejection is logged but cannot retroactively veto this
1264
1375
  * synchronous boundary.
1265
1376
  * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners
@@ -1300,13 +1411,16 @@ Source: [`packages/core/session/src/index.ts`](../../packages/core/session/src/i
1300
1411
 
1301
1412
  #### `session/event` — emit
1302
1413
 
1303
- Post-commit, fire-and-forget append feed. The listener snapshot resolves before the log push, but callbacks run after it; observer failures are logged and contained without making the committed append fail. Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only events from sessions entered through that agent's context.
1414
+ Post-commit, fire-and-forget append feed. The listener snapshot resolves before the log push, but callbacks run after it; observer failures are logged and contained without making the committed append fail. Array append commits every member before publishing them in order; `session.seq` and `session.surface` already include the complete batch. `session.currentBatchPublication` identifies the member being delivered. Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners receive only events from sessions entered through that agent's context.
1304
1415
 
1305
1416
  ```ts cordis-catalog
1306
1417
  /**
1307
1418
  * Post-commit, fire-and-forget append feed. The listener snapshot resolves
1308
1419
  * before the log push, but callbacks run after it; observer failures are
1309
1420
  * logged and contained without making the committed append fail.
1421
+ * Array append commits every member before publishing them in order;
1422
+ * `session.seq` and `session.surface` already include the complete batch.
1423
+ * `session.currentBatchPublication` identifies the member being delivered.
1310
1424
  * Scope-filtered dispatch (`@deepseek-ai/dsh-scope`): agent-scoped listeners
1311
1425
  * receive only events from sessions entered through that agent's context.
1312
1426
  * @param session - the session whose log grew.
@@ -15,23 +15,23 @@
15
15
  en: b7b8a7b411aee94d
16
16
  zh: 7298c20000945d97
17
17
  /right-sidebar/navigation-ctx-sidebarright:
18
- en: 0f80b5364cbad804
19
- zh: db81652a5374fad1
18
+ en: 2a2b3a33df9e0749
19
+ zh: 629c791cd2ae50ba
20
20
  /right-sidebar/slots-and-owner-props:
21
- en: f58dc6ff6b0027a7
22
- zh: 707722fcbd096efc
21
+ en: 6b5faaed58ab5fb1
22
+ zh: 2118439d3403a735
23
23
  /right-sidebar/document-renderers:
24
- en: 2bf47a890fce175e
25
- zh: 45f81c579b8939a8
24
+ en: 5e7e08977a598765
25
+ zh: 73181ef0cbf8e62b
26
26
  /right-sidebar/resource-model:
27
27
  en: 2916306e6cb9282c
28
28
  zh: cdec047989860202
29
29
  /right-sidebar/workspace-files:
30
- en: 2b1b49dbba9cc9ee
31
- zh: 13d2a45224743b37
30
+ en: 264e28c7cdf4ae5d
31
+ zh: a516ea0d8db9437c
32
32
  /right-sidebar/shipped-types:
33
- en: 81cc0928abeff74b
34
- zh: 370fcfd5bb350ed9
33
+ en: f8f0e368701f6669
34
+ zh: de364aaf3345d70c
35
35
  /right-sidebar/not-built:
36
- en: 65e86c293eb99242
37
- zh: 852dfe7713848453
36
+ en: 5cf5ab52c8007897
37
+ zh: 346490f01e318d95
@@ -75,22 +75,23 @@ export function apply(ctx: Context): void {
75
75
 
76
76
  ## Navigation: `ctx.sidebarRight`
77
77
 
78
- Two opens are the navigation controller, and every way into the column calls one of them: `openResource(address, options?)` for a `dsh-resource://` address — the conversation's file links, a tool row's line reference, a file tree's rows — and `openTab(kind, options?)` for a page — the strip's add control, a guide entry box, or an HTTP(S) link in Assistant Markdown. Both run four steps as one history entry — claim (the registry ranks the resource's types, or the named `kind`'s implementation in force answers); focus a tab already showing the same `(kind, address)`; otherwise seat a new tab; expand the column — and then record the navigation in the Tab domain ([service](../../packages/client/ui-sidebar-right/README.md#ctxsidebarright)). Content the user cannot see is not opened, so a collapsed column expands in the same step. `openResource` throws for an address outside `dsh-resource://` or one no type claims; `openTab` throws for a kind nothing registered: both are wiring mistakes, not user errors.
78
+ Two opens are the navigation controller, and every way into the column calls one of them: `openResource(address, options?)` for a `dsh-resource://` address — the conversation's file links, a tool row's line reference, a file tree's rows — and `openTab(kind, options?)` for a page — the strip's add control, a guide entry box, or an HTTP(S) link in Assistant Markdown. Both run four steps as one history entry — claim (the registry ranks the resource's types, or the named `kind`'s implementation in force answers); focus a tab already showing the same `(kind, address)`; otherwise seat a new tab; expand the column — and then record the navigation in the Tab domain ([service](../../packages/client/ui-sidebar-right/README.md#ctxsidebarright)). Content the user cannot see is not opened, so a collapsed column expands in the same step, unless the open replaces a floating tab or reveals a tab in a floating panel. A reveal of a tab already on screen makes the pane holding it glow once, for every tab type, and only while its Session is on screen; a reveal that switches tabs or expands the column does not glow. `openResource` throws for an address outside `dsh-resource://` or one no type claims; `openTab` throws for a kind nothing registered: both are wiring mistakes, not user errors.
79
79
 
80
80
  | Option | Meaning |
81
81
  |---|---|
82
82
  | `paneId` | Land a new tab in this pane; default is the active docked pane (the first docked pane while a floating pane is active). |
83
- | `replaceTab` | Take this tab's pane and strip slot, closing it in the same step; a floating tab lends no place, so the new tab lands as if unplaced. |
83
+ | `replaceTab` | New content takes this tab's place and the tab closes in the same step: a docked tab's pane and strip slot, or a floating tab's panel, keeping its pane id and rectangle. A reveal keeps the tab open ([semantics](../../packages/client/ui-sidebar-right/README.md#ctxsidebarright)). |
84
84
  | `revealIfOpened` | Default `true`: a tab already showing the same `(kind, address)` is focused and handed `params`. `false` opens another tab regardless. |
85
85
  | `preferNewPane` | Prefer a new docked pane under the normal pane budget and room rule; fall back to the target pane when it cannot split. Ignored with `replaceTab`. |
86
+ | `destination` (`openResource` only) | `'sidebar'` or `'float'`: settle in the active docked pane (the first docked pane while a floating pane is active) or a new floating panel, ignoring the four options above. A copy already there is revealed; else a copy in the other host moves there with its tab id and body state; else a new tab opens. `'float'` leaves the column's expansion unchanged, for a new tab as for a move ([semantics](../../packages/client/ui-sidebar-right/README.md#ctxsidebarright)). |
86
87
  | `kind` (`openResource` only) | Name the opening type instead of ranking claims; its implementation in force opens the address, and its `canOpen` still applies. |
87
88
  | `params` | Navigation parameters for the body, delivered as `navigation.params`. `openResource` types them by resource type through the merge-extensible `SidebarRightResourceParamsMap` (the text preview declares `{ line?: number }`); `openTab<K>` types them by kind through `SidebarRightTabParamsMap`, `undefined` for a kind that declares none; a body reads `SidebarRightNavigationParams`, the union of both. Values are JSON-shaped by convention and not validated at run time. |
88
89
 
89
- Placement is the caller's option, never a type's property. The conversation calls `openResource(fileAddressFor(sessionId, cwd, path))` and, from a `read` tool row, adds `{ params: { line } }` from the call's 1-based `offset`; a guide entry box calls `tab.actions.openTab(entry.kind, { replaceTab: true })`; a file-tree row calls `tab.actions.openResource(address)`; the strip's add control calls `openTab('guide', { paneId, revealIfOpened: false })`.
90
+ Placement belongs to the caller, not the tab type. The [files navigator reference](../../packages/client/ui-sidebar-files/README.md#the-navigator) defines its host-owned opening callbacks; the [guide reference](../../packages/client/ui-sidebar-right/README.md#the-guide) defines guide replacement and explicit close.
90
91
 
91
- `close(tabId)` closes a tab; `active()` returns the active pane's active tab; `isExpanded()` and `toggleExpanded()` read and flip the column, the flip recorded in the sequence. Reads answer for the no-Session case with `undefined` or `false`; writes need a mounted Session surface and throw without one rather than write into a surface nobody draws.
92
+ `close(tabId)` closes a tab; `hide(tabId)` closes a floating tab or collapses its docked column; `active()` returns the active pane's active tab; `isExpanded()` and `toggleExpanded()` read and flip the column, the flip recorded in the sequence. Reads answer for the no-Session case with `undefined` or `false`; writes need a mounted Session surface and throw without one rather than write into a surface nobody draws.
92
93
 
93
- `focus(tabId)` makes a tab its pane's active tab; `split(paneId?)` splits the active docked pane, or the named one, and returns the new pane's id — or `undefined`, recording nothing, when the pane budget or the column's width forbids a split; `float(tabId, rect?)` lifts a tab into a floating pane; `dock(paneId)` returns a floating pane to the docked area. All four run the store's existing actions and record one history entry each; a target that does not exist or is already in the requested state is a no-op, and like `open` they throw without a mounted Session surface. `TabId`, `PaneId`, `TabRecord`, and `FloatRect` are re-exported from the package's `/client` entry so a caller needs no dockkit import.
94
+ `focus(tabId)` makes a tab its pane's active tab; `split(paneId?)` splits the active docked pane, or the named one, and returns the new pane's id — or `undefined`, recording nothing, when the pane budget or the column's width forbids a split; `float(tabId, rect?)` lifts a tab into a floating pane; `dock(paneId)` returns a floating pane to the docked area and expands the column. All four run the store's existing actions and record one history entry each; a target that does not exist or is already in the requested state is a no-op, and like `open` they throw without a mounted Session surface. `TabId`, `PaneId`, `TabRecord`, and `FloatRect` are re-exported from the package's `/client` entry so a caller needs no dockkit import.
94
95
 
95
96
  `focusedTarget(element?)` captures the visible page under live DOM focus, including an embedding iframe; outside or stale sidebar markup yields no target. `commandTarget(element?)` also permits the mounted Session's active dock pane for an open initiated outside the sidebar. A `SidebarRightTarget` captures Session, pane, host, tab occurrence, and navigation revision. `isTargetCurrent(target)` checks that identity before execution, so reopening a record or navigating it invalidates a captured action; it never retargets to another page. See the [controller methods](../../packages/client/ui-sidebar-right/src/client/service.ts) for close and placement outcomes.
96
97
 
@@ -106,9 +107,9 @@ The Sidebar declares four extension slots; its document tab declares the additio
106
107
  | `sidebar.right.tab.menu.item` | list, Session scope | Content-level actions appended after the kit's own layout actions. An item that acts must call the owner's `dismiss()`. |
107
108
  | `sidebar.right.tab.document` | keyed by the document implementation's `id`, Session scope | The selected file renderer inside the document tab; the parent owns shared loading and toolbar controls. |
108
109
 
109
- A body, title and guide replacement receive the framework-injected `useTabInfo()`. It returns `{ sidebar, panel, tab }`: `sidebar` holds `expanded` and `fullscreen`, `panel.id` names the containing pane, and `tab` contains its record fields plus `visible`, `navigation`, `signal`, and `actions`. All tabs require a foreground Session. Docked bodies also require expansion and selection; docked titles require expansion; foreground floats survive collapse. `signal` aborts when the record disappears or the plugin unloads, not on hiding or Session switching. `tab.actions` provides `openResource`, `openTab`, and `close`, bound to the tab's own Session. Open placement defaults to its current pane; `revealIfOpened` defaults to `true`, and `replaceTab: true` replaces this record in the same history entry. Menu entries retain plain `tab` and `dismiss` owner parameters.
110
+ A body, title and guide replacement receive the framework-injected `useTabInfo()`. It returns `{ sidebar, panel, tab }`: `sidebar` holds `expanded` and `fullscreen`, `panel.id` names the containing pane and the required `panel.isFloating: boolean` distinguishes a floating panel from a docked pane. Both update through the hook when a tab moves, while `tab.id` stays unchanged. `tab` also contains its other record fields plus `visible`, `navigation`, `signal`, and `actions`. All tabs require a foreground Session. Docked bodies also require expansion and selection; docked titles require expansion; foreground floats survive collapse. `signal` aborts when the record disappears or the plugin unloads, not on hiding or Session switching. `tab.actions` provides `openResource`, `openTab`, and `close`, bound to the tab's own Session. Opens return `void` and default to its current docked pane, or the active docked pane when this tab floats; `revealIfOpened` defaults to `true`, and `replaceTab: true` lets new content replace this record in the same history entry; an `openResource` with `destination` passes neither this tab's pane nor this record. Menu entries retain plain `tab` and `dismiss` owner parameters.
110
111
 
111
- `navigation.revision` increments on every navigation to the tab whether or not `params` changed, so a body can act on "navigated again" alone; it is `1` for a tab opened by address and `0` for a record nobody opened by address — a seeded guide, or a tab restored by undo. The Tab domain holds one occurrence per open record: a record that appears is pinned in the resource model, so switching tabs unmounts a body without dropping its content; a record that vanishes is aborted and dropped; a record restored by undo is a new occurrence ([Tab domain](../../packages/client/ui-sidebar-right/README.md#the-tab-domain)).
112
+ `navigation.revision` increments on every navigation to the tab whether or not `params` changed, so a body can act on "navigated again" alone; it is `1` for a tab opened by address and `0` for a record nobody opened by address — a seeded guide, or a tab restored by reload or undo. The Tab domain holds one occurrence per open record: a record that appears is pinned in the resource model, so switching tabs unmounts a body without dropping its content; a record that vanishes is aborted and dropped; a record restored by undo is a new occurrence ([Tab domain](../../packages/client/ui-sidebar-right/README.md#the-tab-domain)).
112
113
 
113
114
  `tab.actions.bindCommands(commands)` contributes `SidebarRightTabCommands`, currently an optional `refresh` callback, for the mounted body. Omitted operations are unavailable; the returned disposer releases that registration without removing a newer body's commands. The tab lifetime also releases them. `tab.refreshShortcut` supplies the effective refresh catalog entry for page controls; it is optional when no entry is available. These fields are declared in the [slot owner types](../../packages/client/ui-sidebar-right/src/client/contract/slots.ts).
114
115
 
@@ -122,7 +123,7 @@ The [registry](../../packages/client/ui-sidebar-documentpreview/src/client/docum
122
123
 
123
124
  Preview records its loaded version and the version observed when a read starts. Automatic refresh defaults to enabled; initial member metadata establishes a baseline, and later changes reload the tab. Refresh rereads only that tab, without changing shared metadata or another tab's content. Reads are non-transactional; versions are opaque equality tokens, not ordered timestamps ([resource observation and Preview RPC](../../.agents/notes/implemented/architecture/2026-09-08-document-preview-operations.md)).
124
125
 
125
- A renderer that owns loading receives `{ kind: 'renderer', revision, loaded, failed, reload }` instead of file bytes. The body invokes its injected face, cancels on revision changes and unmount, and reports its displayed source version through `loaded(version)`. A failed load calls `failed()` so a later file change can retry. The parent ignores stale reports and retains the shared reload and source-change controls. Office uses this mode to request [Host-rendered PDFs](office-to-pdf.md); its face writes converted bytes, font metadata, and failures to its own store, while its body renders a nested PDF view. `OfficeFontAction` renders the missing-font warning before reload through `sidebar.right.tab.document.action`. The [package README](../../packages/client/ui-sidebar-documentpreview/README.md#what-it-registers) defines the loading lifecycle.
126
+ A renderer that owns loading receives `{ kind: 'renderer', revision, loaded, failed, reload }` instead of file bytes. The body invokes its injected face, cancels on revision changes and unmount, and reports its displayed source version through `loaded(version)`. A failed load calls `failed()` so a later file change can retry. The parent ignores stale reports and retains the shared reload and source-change controls. Office uses this mode to request [Host-rendered PDFs](office-kit.md); its face writes converted bytes, font metadata, and failures to its own store, while its body renders a nested PDF view. `OfficeFontAction` renders the missing-font warning before reload through `sidebar.right.tab.document.action`. The [package README](../../packages/client/ui-sidebar-documentpreview/README.md#what-it-registers) defines the loading lifecycle.
126
127
 
127
128
  ## Resource model
128
129
 
@@ -134,22 +135,22 @@ A resource stays open while it has a holder — a subscribed `useResource` or a
134
135
 
135
136
  ## Workspace Files
136
137
 
137
- The Host `ctx.workspaceFiles` service and generated `workspaceFiles` Remote namespace read files allowed by the Session filesystem backend: `stat(path)` returns `{ absolutePath, version, bytes? }`; `read(path, { offset?, limit? })` returns one page of lines (`offset` 1-based, `limit` capped by the configured page size) as `{ …stat, offset, text, eof }`; `readBytes(path, { range?, baseFile? })` returns a complete file under `maxFileBytes` or a byte window under `maxBytes` as `{ …stat, offset, data, eof }` with native `Uint8Array` data. Its optional `range` uses 0-based `offset` and a byte `length`; `baseFile` resolves the relative target from another file’s directory. `list(path)` remains inside the workspace root and returns a directory's direct children (`name`, `type: 'file' | 'directory' | 'other'`, `size?`) cut to the configured cap with `truncated` set. `changes(path)` watches one target; the Host determines its type and confines directories to the workspace. It yields `{ kind: 'ready' }` once subscribed, then `{ kind: 'change', change }` frames whose payload is `{ absolutePath, version }` or `{ absolutePath, absent: true }` ([README](../../packages/api/workspace-files/README.md#use-this-package)). File reads reject final symlinks and enforce transfer caps; `read` additionally requires UTF-8 text. Failures use `workspace-file/*` codes ([failures](../../packages/api/workspace-files/README.md)).
138
+ The Host `ctx.workspaceFiles` service and generated `workspaceFiles` Remote namespace read files allowed by the Session filesystem backend: `stat(path)` returns `{ absolutePath, version, bytes? }`; `read(path, { offset?, limit? })` returns one page of lines (`offset` 1-based, `limit` capped by the configured page size) as `{ …stat, offset, text, eof }`; `readBytes(path, { range?, baseFile? })` returns a complete file under `maxFileBytes` or a byte window under `maxBytes` as `{ …stat, offset, data, eof }` with native `Uint8Array` data. Its optional `range` uses 0-based `offset` and a byte `length`; `baseFile` resolves the relative target from another file’s directory. `list(path)` remains inside the workspace root and returns a directory's direct children (`name`, `type: 'file' | 'directory' | 'other'`, `size?`) cut to the configured cap with `truncated` set. `search({ query, excludedPaths, includeHidden, respectGitignore })` uses packaged rg to find files and inferred ancestor directories, returning flat `{ path, type }` workspace-relative matches; [search semantics](../../packages/api/workspace-files/README.md#search) define native ignore handling, caps and failures. `changes(path)` watches one target; the Host determines its type and confines directories to the workspace. It yields `{ kind: 'ready' }` once subscribed, then `{ kind: 'change', change }` frames whose payload is `{ absolutePath, version }` or `{ absolutePath, absent: true }` ([README](../../packages/api/workspace-files/README.md#use-this-package)). File reads reject final symlinks and enforce transfer caps; `read` additionally requires UTF-8 text. Failures use `workspace-file/*` codes ([failures](../../packages/api/workspace-files/README.md)).
138
139
 
139
140
  [`dsh-api-workspace-files`](../../packages/api/workspace-files/README.md) registers the `file` provider, with `ResourceProtocolMap.file` directly naming `WorkspaceFileStat`. A Session address carries the authorizing Session and a relative or absolute path, passed unchanged to the Host for resolution. The provider waits for Host `ready` before stat and filters changes by `stat.absolutePath`. Bare `absolute` addresses have no authorizing Session and fail with `workspace-file/unknown-workspace`, without borrowing current or Tab Session. Any UI, including Global components, shares the observation for the same complete address. Preview's Remote callbacks use the Session in that address; `remote.workspaceFiles.readBytes` returns native bytes through Connection's binary RPC transport.
140
141
 
141
142
  ## Shipped types
142
143
 
143
144
  - **`guide`** — `builtin`, opened as `openTab('guide')`. A muted compass sits above one capsule per contributed `guide` entry, in `order`; short lists show registered descriptions, and every missing icon uses the shipped placeholder. Picking a capsule opens the contributing type as a page in the guide tab's place. A pane holds at most one guide tab, and the strip's add control appears only while its pane has none. A new pane receives the registered default page: the sole guide entry directly, or the guide when the entry count is not one ([guide](../../packages/client/ui-sidebar-right/README.md#the-guide)).
144
- - **`text`** — `fallback`, `dsh-resource://file/**`, claiming Session addresses only. Document Preview observes metadata through `useResource<'file'>`, loads content through Remote callbacks, and owns renderer selection, the toolbar, per-tab refresh, scroll, and source navigation; unknown extensions render as plain text ([README](../../packages/client/ui-sidebar-documentpreview/README.md)).
145
- - **`files`** — `builtin`, opened as `openTab('files')`. The workspace directory tree, listed lazily through `list` and watched by expanded directory, opening a file with `tab.actions.openResource(fileAddressFor(sessionId, root, path))` into its own pane ([README](../../packages/client/ui-sidebar-files/README.md)).
145
+ - **`text`** — `fallback`, `dsh-resource://file/**`, claiming Session addresses only. Document Preview observes metadata through `useResource<'file'>`, loads content through Remote callbacks, and owns renderer selection, the toolbar, per-tab refresh, scroll, and source navigation; unknown extensions render as plain text. It directly renders the files plugin's `sidebar.files.navigator` and `sidebar.files.navigator.toggle` Factories in docked and floating panes; unregistered Factories render nothing ([README](../../packages/client/ui-sidebar-documentpreview/README.md)).
146
+ - **`files`** — `builtin`, opened as `openTab('files')`. The files page and navigator share one workspace tree per pane. [The package reference](../../packages/client/ui-sidebar-files/README.md) owns lazy listings, watches, opening callbacks, and navigation-driven visibility.
146
147
  - **`browser`** — multi-instance `builtin`, opened as `openTab('browser', { params: { url? } })`. Chat's [link preference](../../packages/client/ui-chat/README.md) controls whether Assistant Markdown opens HTTP(S) links here. It accepts public and loopback HTTP(S) targets under the default sandbox, rejects local files in favor of Document Preview, and uses application-known iframe history ([README](../../packages/client/ui-sidebar-browser/README.md)).
147
148
  - **`subagentchat`** — `builtin`, `dsh-resource://subagentchat/session/<child>?parent=<parent>&mode=<mode>`. An explicitly addressed subagent Conversation retained by the resource provider and rendered through the shared Conversation Factory ([README](../../packages/client/ui-subagent/README.md)).
148
149
 
149
150
  <a id="not-built"></a>
150
151
  ## Not built
151
152
 
152
- - Persistence: layout state is memory-only; a reload starts every session collapsed, and no session's tabs are visible from another.
153
+ - Cross-device layout synchronization: layouts are browser-local, with separate saved state per Session ([state](../../packages/client/ui-sidebar-right/README.md#state)).
153
154
  - A read-only layout snapshot or subscription on `ctx.sidebarRight`: the service exposes operations only, and dockkit's `LayoutState`/`LayoutOp` are internal.
154
155
  - A capability-discovery array (`features`) on the service.
155
156
  - An `option` priority band for tab types: nothing lists a tab type without letting it claim.
@@ -75,22 +75,23 @@ export function apply(ctx: Context): void {
75
75
 
76
76
  ## 导航:`ctx.sidebarRight`
77
77
 
78
- 两种打开构成导航控制器,进入这一列的每条路都调用其一:`openResource(address, options?)` 打开 `dsh-resource://` 地址——会话区的文件链接、工具行的行号引用、文件树的行;`openTab(kind, options?)` 打开页面——tab 条的新增控件、引导页入口框或 Assistant Markdown 中的 HTTP(S) 链接。两者都以一条历史记录走完四步——认领(注册表为资源排候选,或点名 `kind` 的生效实现应答);聚焦已显示同一 `(kind, address)` 的 tab;否则落一个新 tab;展开这一列——然后把导航记入 Tab 域([服务](../../packages/client/ui-sidebar-right/README.zh.md#ctxsidebarright))。用户看不见的内容不算打开,所以折叠的列会在同一步展开。`openResource` 对 `dsh-resource://` 之外的地址或无人认领的地址抛错;`openTab` 对无人注册的 kind 抛错:二者都是接线错误,不是用户错误。
78
+ 两种打开构成导航控制器,进入这一列的每条路都调用其一:`openResource(address, options?)` 打开 `dsh-resource://` 地址——会话区的文件链接、工具行的行号引用、文件树的行;`openTab(kind, options?)` 打开页面——tab 条的新增控件、引导页入口框或 Assistant Markdown 中的 HTTP(S) 链接。两者都以一条历史记录走完四步——认领(注册表为资源排候选,或点名 `kind` 的生效实现应答);聚焦已显示同一 `(kind, address)` 的 tab;否则落一个新 tab;展开这一列——然后把导航记入 Tab 域([服务](../../packages/client/ui-sidebar-right/README.zh.md#ctxsidebarright))。用户看不见的内容不算打开,所以折叠的列会在同一步展开;替换浮动 tab、或揭示浮窗中的 tab 时除外。揭示一个已在屏幕上显示的 tab 时,存放它的格发光提示一次,对所有 tab 类型都一样,且只在其会话位于屏幕上时播放;需要切换 tab 或展开该列的揭示不发光。`openResource` 对 `dsh-resource://` 之外的地址或无人认领的地址抛错;`openTab` 对无人注册的 kind 抛错:二者都是接线错误,不是用户错误。
79
79
 
80
80
  | 选项 | 含义 |
81
81
  |---|---|
82
82
  | `paneId` | 新 tab 落到这个 pane;缺省为活动的停靠 pane(活动的是浮窗时取第一个停靠 pane)。 |
83
- | `replaceTab` | 占用这个 tab 的 pane 与条上位置,并在同一步关闭它;浮窗里的 tab 让不出位置,新 tab 按未指定位置落位。 |
83
+ | `replaceTab` | 新内容取代这个 tab 的位置,并在同一步关闭它:停靠 tab 让出 pane 与条上位置,浮动 tab 让出浮窗,新 tab 沿用其 pane id 与矩形。揭示时该 tab 保持打开([语义](../../packages/client/ui-sidebar-right/README.zh.md#ctxsidebarright))。 |
84
84
  | `revealIfOpened` | 缺省 `true`:已显示同一 `(kind, address)` 的 tab 被聚焦并收到 `params`。`false` 则无论如何再开一个。 |
85
85
  | `preferNewPane` | 在普通格数预算与空间规则下优先新建停靠格;不能分栏时回退到目标格。与 `replaceTab` 一起使用时忽略。 |
86
+ | `destination`(仅 `openResource`) | `'sidebar'` 或 `'float'`:落在活跃停靠格(活动格是浮窗时为第一个停靠格)或新浮窗,忽略上面四个选项。该处已有副本时揭示它;否则把另一宿主中的副本连同 tab id 与正文状态移过去;否则新开 tab。`'float'` 新开和移动都不改变该列的展开状态([语义](../../packages/client/ui-sidebar-right/README.zh.md#ctxsidebarright))。 |
86
87
  | `kind`(仅 `openResource`) | 点名打开类型而不排候选;该 kind 的生效实现打开地址,它的 `canOpen` 仍生效。 |
87
88
  | `params` | 给正文的导航参数,作为 `navigation.params` 送达。`openResource` 按资源类型经声明合并表 `SidebarRightResourceParamsMap` 定型(文本预览声明 `{ line?: number }`);`openTab<K>` 按 kind 经 `SidebarRightTabParamsMap` 定型,未声明的 kind 为 `undefined`;正文读到的是二者联合 `SidebarRightNavigationParams`。值按约定为 JSON 形状,运行时不校验。 |
88
89
 
89
- 落位是调用方的选项,从不是类型的属性。会话区调 `openResource(fileAddressFor(sessionId, cwd, path))`,`read` 工具行另加 `{ params: { line } }`(来自调用的 1 起 `offset`);引导页入口框调 `tab.actions.openTab(entry.kind, { replaceTab: true })`;文件树的行调 `tab.actions.openResource(address)`;tab 条的新增控件调 `openTab('guide', { paneId, revealIfOpened: false })`。
90
+ 落位属于调用方,不是 tab 类型的属性。[文件导航栏参考](../../packages/client/ui-sidebar-files/README.zh.md#the-navigator)定义其宿主提供的打开回调;[引导页参考](../../packages/client/ui-sidebar-right/README.zh.md#the-guide)定义引导页替换与显式关闭。
90
91
 
91
- `close(tabId)` 关闭一个 tab;`active()` 返回活动 pane 的活动 tab;`isExpanded()` 与 `toggleExpanded()` 读取与翻转这一列,翻转记入序列。无会话时读操作返回 `undefined` 或 `false`;写操作需要已挂载的会话面,没有时抛错而不是写进没人绘制的面。
92
+ `close(tabId)` 关闭一个 tab;`hide(tabId)` 关闭浮动 tab 或收起其停靠列;`active()` 返回活动 pane 的活动 tab;`isExpanded()` 与 `toggleExpanded()` 读取与翻转这一列,翻转记入序列。无会话时读操作返回 `undefined` 或 `false`;写操作需要已挂载的会话面,没有时抛错而不是写进没人绘制的面。
92
93
 
93
- `focus(tabId)` 让一个 tab 成为其 pane 的活动 tab;`split(paneId?)` 分割活动的停靠 pane 或点名的 pane,返回新 pane 的 id——pane 数预算或列宽不允许时返回 `undefined` 且不记账;`float(tabId, rect?)` 把一个 tab 浮出为浮窗 pane;`dock(paneId)` 把浮窗 pane 收回停靠区。四者都走 store 既有动作、各记一条历史;目标不存在或已处于目标状态时是空操作,与 `open` 一样在没有已挂载会话面时抛错。`TabId`、`PaneId`、`TabRecord`、`FloatRect` 自本包 `/client` 入口再导出,调用方无需引 dockkit。
94
+ `focus(tabId)` 让一个 tab 成为其 pane 的活动 tab;`split(paneId?)` 分割活动的停靠 pane 或点名的 pane,返回新 pane 的 id——pane 数预算或列宽不允许时返回 `undefined` 且不记账;`float(tabId, rect?)` 把一个 tab 浮出为浮窗 pane;`dock(paneId)` 把浮窗 pane 收回停靠区并展开该列。四者都走 store 既有动作、各记一条历史;目标不存在或已处于目标状态时是空操作,与 `open` 一样在没有已挂载会话面时抛错。`TabId`、`PaneId`、`TabRecord`、`FloatRect` 自本包 `/client` 入口再导出,调用方无需引 dockkit。
94
95
 
95
96
  `focusedTarget(element?)` 从实时 DOM 焦点(包括内嵌 iframe)捕获可见页面;侧栏外部或过期的侧栏标记不产生目标。`commandTarget(element?)` 还允许侧栏外部发起的打开操作使用已挂载 Session 的活动停靠窗格。`SidebarRightTarget` 捕获 Session、窗格、host、tab occurrence 和导航 revision。`isTargetCurrent(target)` 在执行前检查这些身份,因此重新打开记录或再次导航都会使已捕获的动作失效;它不会改为操作其他页面。关闭与落位结果见[控制器方法](../../packages/client/ui-sidebar-right/src/client/service.ts)。
96
97
 
@@ -106,9 +107,9 @@ Sidebar 声明四个扩展 slot;其文档 tab 另行声明下表中的 keyed
106
107
  | `sidebar.right.tab.menu.item` | list,会话作用域 | 追加在 kit 自身布局动作之后的内容级动作。执行了动作的条目必须调用 owner 的 `dismiss()`。 |
107
108
  | `sidebar.right.tab.document` | 按文档实现的 `id` keyed,会话作用域 | 文档 tab 内选中的文件渲染器;父组件拥有共享加载与工具栏控件。 |
108
109
 
109
- 正文、标题与引导页替换项接收框架注入的 `useTabInfo()`。它返回 `{ sidebar, panel, tab }`:`sidebar` 包含 `expanded` 与 `fullscreen`,`panel.id` 标识所属窗格,`tab` 包含记录字段以及 `visible`、`navigation`、`signal` 和 `actions`。所有 tab 都要求 Session 位于前台。停靠正文还要求展开且选中;停靠标题要求展开;前台浮窗不随整栏收起。`signal` 在记录消失或插件卸载时中止,不因隐藏或切换 Session 而中止。`tab.actions` 提供绑定到标签所属 Session 的 `openResource`、`openTab` 与 `close`。打开位置缺省为当前所属窗格;`revealIfOpened` 缺省为 `true`,`replaceTab: true` 在同一历史项中替换本记录。菜单项保留普通的 `tab` 与 `dismiss` owner 参数。
110
+ 正文、标题与引导页替换项接收框架注入的 `useTabInfo()`。它返回 `{ sidebar, panel, tab }`:`sidebar` 包含 `expanded` 与 `fullscreen`,`panel.id` 标识所属窗格,必填的 `panel.isFloating: boolean` 区分浮窗与停靠窗格。tab 移动时,两者通过 hook 更新,`tab.id` 保持不变。`tab` 还包含其他记录字段以及 `visible`、`navigation`、`signal` 和 `actions`。所有 tab 都要求 Session 位于前台。停靠正文还要求展开且选中;停靠标题要求展开;前台浮窗不随整栏收起。`signal` 在记录消失或插件卸载时中止,不因隐藏或切换 Session 而中止。`tab.actions` 提供绑定到标签所属 Session 的 `openResource`、`openTab` 与 `close`。打开操作返回 `void`,缺省落在当前所属停靠窗格,当前 tab 浮动时落在活动停靠窗格;`revealIfOpened` 缺省为 `true`,`replaceTab: true` 让新内容在同一历史项中替换本记录;带 `destination` 的 `openResource` 既不传本 tab 所在窗格,也不传本记录。菜单项保留普通的 `tab` 与 `dismiss` owner 参数。
110
111
 
111
- `navigation.revision` 在每次导航到该 tab 时递增,`params` 不变也递增,正文可仅凭「又被导航了」行动;按地址打开的 tab 为 `1`,没有人按地址打开的记录——种入的引导、撤销恢复的 tab——为 `0`。Tab 域为每条打开的记录保有一个 occurrence:记录出现即在资源模型里钉住,因此切换 tab 卸载正文也不丢内容;记录消失即中止并丢弃;撤销恢复的记录是新的 occurrence([Tab 域](../../packages/client/ui-sidebar-right/README.zh.md#the-tab-domain))。
112
+ `navigation.revision` 在每次导航到该 tab 时递增,`params` 不变也递增,正文可仅凭「又被导航了」行动;按地址打开的 tab 为 `1`,没有人按地址打开的记录——种入的引导、刷新或撤销恢复的 tab——为 `0`。Tab 域为每条打开的记录保有一个 occurrence:记录出现即在资源模型里钉住,因此切换 tab 卸载正文也不丢内容;记录消失即中止并丢弃;撤销恢复的记录是新的 occurrence([Tab 域](../../packages/client/ui-sidebar-right/README.zh.md#the-tab-domain))。
112
113
 
113
114
  `tab.actions.bindCommands(commands)` 为已挂载正文提供 `SidebarRightTabCommands`,目前包含可选的 `refresh` 回调。省略的操作不可用;返回的 disposer 释放本次注册,不会移除较新正文的命令。标签生命周期结束时也会释放这些命令。`tab.refreshShortcut` 为页面控件提供生效的刷新目录项;没有可用条目时该字段可省略。这些字段声明在 [slot owner 类型](../../packages/client/ui-sidebar-right/src/client/contract/slots.ts)中。
114
115
 
@@ -122,7 +123,7 @@ Sidebar 声明四个扩展 slot;其文档 tab 另行声明下表中的 keyed
122
123
 
123
124
  Preview 记录已载入版本和读取开始时的观察版本。自动刷新默认开启;成员首次元数据只建立基线,后续变化才重新加载 tab。刷新只重读当前 tab,不改变共享元数据或其他 tab 的内容。读取不具备事务性;版本是不透明的相等性令牌,不是可排序的时间戳([资源观察与 Preview RPC](../../.agents/notes/implemented/architecture/2026-09-08-document-preview-operations.zh.md))。
124
125
 
125
- 自行加载的渲染器接收 `{ kind: 'renderer', revision, loaded, failed, reload }`,而不是文件字节。正文调用自己的注入 face,在 revision 变化和卸载时取消请求,并通过 `loaded(version)` 报告已展示的源版本。加载失败时调用 `failed()`,使后续文件变化能够触发重试。父组件忽略过期报告,保留共享的重新加载与源文件变更控件。Office 使用此模式请求 [Host 渲染的 PDF](office-to-pdf.zh.md);其 face 将转换字节、字体元数据和失败写入自己的 store,正文渲染嵌套 PDF 视图。`OfficeFontAction` 通过 `sidebar.right.tab.document.action` 在刷新按钮前显示缺失字体警告。[包 README](../../packages/client/ui-sidebar-documentpreview/README.zh.md#what-it-registers)定义加载生命周期。
126
+ 自行加载的渲染器接收 `{ kind: 'renderer', revision, loaded, failed, reload }`,而不是文件字节。正文调用自己的注入 face,在 revision 变化和卸载时取消请求,并通过 `loaded(version)` 报告已展示的源版本。加载失败时调用 `failed()`,使后续文件变化能够触发重试。父组件忽略过期报告,保留共享的重新加载与源文件变更控件。Office 使用此模式请求 [Host 渲染的 PDF](office-kit.zh.md);其 face 将转换字节、字体元数据和失败写入自己的 store,正文渲染嵌套 PDF 视图。`OfficeFontAction` 通过 `sidebar.right.tab.document.action` 在刷新按钮前显示缺失字体警告。[包 README](../../packages/client/ui-sidebar-documentpreview/README.zh.md#what-it-registers)定义加载生命周期。
126
127
 
127
128
  ## 资源模型
128
129
 
@@ -134,22 +135,22 @@ Preview 记录已载入版本和读取开始时的观察版本。自动刷新默
134
135
 
135
136
  ## Workspace Files
136
137
 
137
- Host 的 `ctx.workspaceFiles` 服务与生成的 `workspaceFiles` Remote 命名空间读取 Session 文件系统后端允许的文件:`stat(path)` 返回 `{ absolutePath, version, bytes? }`;`read(path, { offset?, limit? })` 返回一页行(`offset` 1 起,`limit` 受配置页长限制),形如 `{ …stat, offset, text, eof }`;`readBytes(path, { range?, baseFile? })` 在 `maxFileBytes` 上限内返回完整文件,或在 `maxBytes` 上限内返回字节窗口,形如 `{ …stat, offset, data, eof }`,其中 `data` 为原生 `Uint8Array`。可选 `range` 使用 0 起算的 `offset` 与字节数 `length`;`baseFile` 从另一文件所在目录解析相对目标。`list(path)` 仍限定在工作区根内,返回目录的直接子项(`name`、`type: 'file' | 'directory' | 'other'`、`size?`),按配置上限截断并置 `truncated`。`changes(path)` 监听一个目标,由 Host 判断目标类型并将目录限制在工作区。订阅就绪后产出 `{ kind: 'ready' }`,随后产出 `{ kind: 'change', change }` 帧,其载荷为 `{ absolutePath, version }` 或 `{ absolutePath, absent: true }`([README](../../packages/api/workspace-files/README.zh.md#use-this-package))。文件读取拒绝末端符号链接并执行传输上限;`read` 还要求 UTF-8 文本。失败使用 `workspace-file/*` 错误码([失败](../../packages/api/workspace-files/README.zh.md))。
138
+ Host 的 `ctx.workspaceFiles` 服务与生成的 `workspaceFiles` Remote 命名空间读取 Session 文件系统后端允许的文件:`stat(path)` 返回 `{ absolutePath, version, bytes? }`;`read(path, { offset?, limit? })` 返回一页行(`offset` 1 起,`limit` 受配置页长限制),形如 `{ …stat, offset, text, eof }`;`readBytes(path, { range?, baseFile? })` 在 `maxFileBytes` 上限内返回完整文件,或在 `maxBytes` 上限内返回字节窗口,形如 `{ …stat, offset, data, eof }`,其中 `data` 为原生 `Uint8Array`。可选 `range` 使用 0 起算的 `offset` 与字节数 `length`;`baseFile` 从另一文件所在目录解析相对目标。`list(path)` 仍限定在工作区根内,返回目录的直接子项(`name`、`type: 'file' | 'directory' | 'other'`、`size?`),按配置上限截断并置 `truncated`。`search({ query, excludedPaths, includeHidden, respectGitignore })` 通过打包的 rg 搜索文件与推导的祖先目录,返回平铺的 `{ path, type }` 工作区相对路径匹配;原生忽略规则、上限与错误语义见[搜索说明](../../packages/api/workspace-files/README.zh.md#search)。`changes(path)` 监听一个目标,由 Host 判断目标类型并将目录限制在工作区。订阅就绪后产出 `{ kind: 'ready' }`,随后产出 `{ kind: 'change', change }` 帧,其载荷为 `{ absolutePath, version }` 或 `{ absolutePath, absent: true }`([README](../../packages/api/workspace-files/README.zh.md#use-this-package))。文件读取拒绝末端符号链接并执行传输上限;`read` 还要求 UTF-8 文本。失败使用 `workspace-file/*` 错误码([失败](../../packages/api/workspace-files/README.zh.md))。
138
139
 
139
140
  [`dsh-api-workspace-files`](../../packages/api/workspace-files/README.zh.md) 注册 `file` 提供方,`ResourceProtocolMap.file` 直接是 `WorkspaceFileStat`。Session 地址携带授权 Session 与相对或绝对路径,Host 原样接收并解析。提供方在 stat 前等待 Host 的 `ready` 帧,并按 `stat.absolutePath` 过滤变更。裸 `absolute` 地址没有授权 Session,以 `workspace-file/unknown-workspace` 失败,不借用当前或 Tab Session。任何 UI(包括 Global)访问同一完整地址都共享观察。Preview 的 Remote 回调使用地址中的 Session;`remote.workspaceFiles.readBytes` 通过 Connection 的二进制 RPC 传输返回原生字节。
140
141
 
141
142
  ## 内置类型
142
143
 
143
144
  - **`guide`**——`builtin`,以 `openTab('guide')` 打开。一枚弱化的罗盘位于各类型按 `order` 贡献的入口胶囊上方;入口较少时显示已注册的描述,未提供图标的入口统一使用内置占位符。点选胶囊即在引导 tab 的位置把贡献它的类型作为页面打开。每个 pane 最多一个引导 tab,tab 条的新增控件只在本 pane 没有引导时出现。新 pane 使用已注册的默认页:只有一个引导入口时直接使用该入口,否则使用引导页([引导](../../packages/client/ui-sidebar-right/README.zh.md#the-guide))。
144
- - **`text`**——`fallback`,`dsh-resource://file/**`,只认领 Session 地址。Document Preview 通过 `useResource<'file'>` 观察元数据,经 Remote 回调加载内容,并拥有渲染器选择、工具栏、逐 tab 刷新、滚动与源码定位;未知扩展名按纯文本渲染([README](../../packages/client/ui-sidebar-documentpreview/README.zh.md))。
145
- - **`files`**——`builtin`,以 `openTab('files')` 打开。工作区目录树,经 `list` 懒加载,按展开目录建立监听,用 `tab.actions.openResource(fileAddressFor(sessionId, root, path))` 在自己所在 pane 打开文件([README](../../packages/client/ui-sidebar-files/README.zh.md))。
145
+ - **`text`**——`fallback`,`dsh-resource://file/**`,只认领 Session 地址。Document Preview 通过 `useResource<'file'>` 观察元数据,经 Remote 回调加载内容,并拥有渲染器选择、工具栏、逐 tab 刷新、滚动与源码定位;未知扩展名按纯文本渲染。它在停靠与浮动窗格中直接渲染 files 插件的 `sidebar.files.navigator` 与 `sidebar.files.navigator.toggle` 两个 Factory;未注册时不绘制内容([README](../../packages/client/ui-sidebar-documentpreview/README.zh.md))。
146
+ - **`files`**——`builtin`,以 `openTab('files')` 打开。文件页与导航栏共享每个分栏的一棵工作区目录树。[包参考](../../packages/client/ui-sidebar-files/README.zh.md)定义懒加载目录列表、监听、打开回调及导航驱动的可见性。
146
147
  - **`browser`**——可多开的 `builtin`,以 `openTab('browser', { params: { url? } })` 打开。Chat 的[链接偏好](../../packages/client/ui-chat/README.zh.md)决定 Assistant Markdown 是否在此打开 HTTP(S) 链接。它在默认 sandbox 下接受公共与 loopback HTTP(S) 目标,本地文件改用 Document Preview,并使用应用已知的 iframe history([README](../../packages/client/ui-sidebar-browser/README.zh.md))。
147
148
  - **`subagentchat`**——`builtin`,`dsh-resource://subagentchat/session/<child>?parent=<parent>&mode=<mode>`。资源提供方保留一个显式寻址的 subagent Conversation,并通过共享 Conversation Factory 渲染([README](../../packages/client/ui-subagent/README.zh.md))。
148
149
 
149
150
  <a id="not-built"></a>
150
151
  ## 不做
151
152
 
152
- - 持久化:布局状态只在内存里;刷新后每个会话从折叠开始,任何会话的 tab 都不会出现在另一个会话里。
153
+ - 跨设备布局同步:布局保存在浏览器本地,各 Session 独立保存状态([状态](../../packages/client/ui-sidebar-right/README.zh.md#state))。
153
154
  - `ctx.sidebarRight` 上的只读布局快照或订阅:服务只暴露操作,dockkit 的 `LayoutState`/`LayoutOp` 是内部的。
154
155
  - 服务上的能力探测数组(`features`)。
155
156
  - tab 类型的 `option` 优先级档:没有「只列出、不许认领」的 tab 类型。
@@ -9,20 +9,20 @@
9
9
  en: abe338b6c6d1ebd1
10
10
  zh: c604db2de10a23c4
11
11
  /skills/local-discovery-priority:
12
- en: accf8ad4c73c41ad
13
- zh: 141294fe8dab8ecf
12
+ en: 390fc00bbccfb777
13
+ zh: 96ff7abfbd4b911b
14
14
  /skills/skill-identity:
15
15
  en: 61295a9cf1c51588
16
16
  zh: 1c4c1582688d2310
17
17
  /skills/summaries-candidates-and-complete-definitions:
18
- en: 8819c25fac497a1f
19
- zh: 5795f0d16f09750e
18
+ en: fdc9f7c9c7f1ba0f
19
+ zh: 0ce311eb495233e6
20
20
  /skills/lookup-and-configuration:
21
21
  en: e60215d73b0abe75
22
22
  zh: a086985044324141
23
23
  /skills/session-catalog-and-tool-contract:
24
- en: 5d5c36b1843a9d7d
25
- zh: cd92ab1545e65722
24
+ en: 6624024d8fc01937
25
+ zh: 79533abe482565d8
26
26
  /skills/browser-session-catalog:
27
27
  en: 1209dc6ee65fd476
28
28
  zh: af3b7ef836564d05