dsh-plugin-guide 0.3.41 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (892) hide show
  1. package/LICENSE +0 -0
  2. package/NOTICE.md +8 -23
  3. package/PRIVACY.md +11 -0
  4. package/README-zh.md +45 -418
  5. package/README.md +50 -435
  6. package/SKILL.md +41 -99
  7. package/STANDARDS.md +14 -5
  8. package/cordis.patch.yml +0 -0
  9. package/docs/boost.md +75 -0
  10. package/docs/entry.md +60 -0
  11. package/docs/flow.md +57 -0
  12. package/docs/levels.md +76 -0
  13. package/icon.svg +0 -0
  14. package/index.js +7 -24
  15. package/locale/en.json +2 -2
  16. package/locale/zh.json +2 -2
  17. package/package.json +29 -78
  18. package/README-es.md +0 -453
  19. package/README-hi.md +0 -453
  20. package/README-pt.md +0 -453
  21. package/bin/dsh-plugin-dev.js +0 -6
  22. package/data/facts.json +0 -66
  23. package/data/seams/index.json +0 -397
  24. package/data/standards.json +0 -300
  25. package/dist/dsh-plugin-dev.js +0 -2261
  26. package/guide/choosing-a-plugin.md +0 -412
  27. package/guide/choosing-a-plugin.zh-CN.md +0 -414
  28. package/guide/family-toolchain.md +0 -260
  29. package/guide/links.md +0 -112
  30. package/guide/migration-0.2.md +0 -275
  31. package/guide/plugin-dev-guide.md +0 -629
  32. package/guide/quick-reference.es.md +0 -185
  33. package/guide/quick-reference.hi.md +0 -185
  34. package/guide/quick-reference.md +0 -185
  35. package/guide/quick-reference.pt.md +0 -185
  36. package/guide/quick-reference.zh-CN.md +0 -184
  37. package/guide/release-engineering.md +0 -198
  38. package/guide/release-engineering.zh-CN.md +0 -198
  39. package/guide/standards.md +0 -141
  40. package/guide/standards.zh-CN.md +0 -141
  41. package/guide/unfixed-issues.md +0 -155
  42. package/guide/version-matrix.md +0 -309
  43. package/guide/when-to-retire-a-plugin.md +0 -127
  44. package/guide/when-to-retire-a-plugin.zh-CN.md +0 -127
  45. package/index.d.ts +0 -32
  46. package/references/cli-positioning-decision.md +0 -78
  47. package/references/community-ecosystem.md +0 -202
  48. package/references/community-repo-deep-dive.md +0 -660
  49. package/references/cordis-paper-and-community.md +0 -326
  50. package/references/dev-resource-landscape.md +0 -294
  51. package/references/harness-repo.md +0 -673
  52. package/references/mirror-scope-decision.md +0 -79
  53. package/references/official-docs/AGENTS.md +0 -185
  54. package/references/official-docs/BENCHMARK.md +0 -3
  55. package/references/official-docs/CLAUDE.md +0 -1
  56. package/references/official-docs/CONTRIBUTING.i18n.yaml +0 -7
  57. package/references/official-docs/CONTRIBUTING.md +0 -23
  58. package/references/official-docs/CONTRIBUTING.zh.md +0 -23
  59. package/references/official-docs/LICENSE +0 -21
  60. package/references/official-docs/README.i18n.yaml +0 -34
  61. package/references/official-docs/README.md +0 -35
  62. package/references/official-docs/README.zh.md +0 -96
  63. package/references/official-docs/SNAPSHOT.md +0 -14
  64. package/references/official-docs/THIRD_PARTY_NOTICES.md +0 -304
  65. package/references/official-docs/docs/AGENTS.md +0 -77
  66. package/references/official-docs/docs/agent-lifecycle.i18n.yaml +0 -10
  67. package/references/official-docs/docs/agent-lifecycle.md +0 -91
  68. package/references/official-docs/docs/agent-lifecycle.zh.md +0 -93
  69. package/references/official-docs/docs/api-gateway.i18n.yaml +0 -31
  70. package/references/official-docs/docs/api-gateway.md +0 -172
  71. package/references/official-docs/docs/api-gateway.zh.md +0 -178
  72. package/references/official-docs/docs/architecture.i18n.yaml +0 -37
  73. package/references/official-docs/docs/architecture.md +0 -165
  74. package/references/official-docs/docs/architecture.zh.md +0 -169
  75. package/references/official-docs/docs/capability-seams.i18n.yaml +0 -10
  76. package/references/official-docs/docs/capability-seams.md +0 -714
  77. package/references/official-docs/docs/capability-seams.zh.md +0 -716
  78. package/references/official-docs/docs/cli-help.i18n.yaml +0 -34
  79. package/references/official-docs/docs/cli-help.md +0 -203
  80. package/references/official-docs/docs/cli-help.zh.md +0 -205
  81. package/references/official-docs/docs/config-catalog.i18n.yaml +0 -19
  82. package/references/official-docs/docs/config-catalog.md +0 -4801
  83. package/references/official-docs/docs/config-catalog.zh.md +0 -4803
  84. package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +0 -28
  85. package/references/official-docs/docs/cookbook/adding-a-package.md +0 -170
  86. package/references/official-docs/docs/cookbook/adding-a-package.zh.md +0 -170
  87. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.i18n.yaml +0 -22
  88. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.md +0 -52
  89. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.zh.md +0 -52
  90. package/references/official-docs/docs/cookbook/adding-a-remote-api.i18n.yaml +0 -25
  91. package/references/official-docs/docs/cookbook/adding-a-remote-api.md +0 -197
  92. package/references/official-docs/docs/cookbook/adding-a-remote-api.zh.md +0 -197
  93. package/references/official-docs/docs/cookbook/adding-a-session-format-version.i18n.yaml +0 -40
  94. package/references/official-docs/docs/cookbook/adding-a-session-format-version.md +0 -153
  95. package/references/official-docs/docs/cookbook/adding-a-session-format-version.zh.md +0 -153
  96. package/references/official-docs/docs/cookbook/adding-a-settings-card.i18n.yaml +0 -22
  97. package/references/official-docs/docs/cookbook/adding-a-settings-card.md +0 -72
  98. package/references/official-docs/docs/cookbook/adding-a-settings-card.zh.md +0 -72
  99. package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +0 -31
  100. package/references/official-docs/docs/cookbook/adding-a-tool.md +0 -101
  101. package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +0 -103
  102. package/references/official-docs/docs/cookbook/adding-a-vendored-package.i18n.yaml +0 -19
  103. package/references/official-docs/docs/cookbook/adding-a-vendored-package.md +0 -59
  104. package/references/official-docs/docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  105. package/references/official-docs/docs/cookbook/adding-an-llm-adapter.i18n.yaml +0 -19
  106. package/references/official-docs/docs/cookbook/adding-an-llm-adapter.md +0 -43
  107. package/references/official-docs/docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  108. package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +0 -25
  109. package/references/official-docs/docs/cookbook/extension-cookbook.md +0 -132
  110. package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +0 -136
  111. package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.i18n.yaml +0 -22
  112. package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.md +0 -64
  113. package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  114. package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.i18n.yaml +0 -16
  115. package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  116. package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  117. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.i18n.yaml +0 -31
  118. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.md +0 -122
  119. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.zh.md +0 -122
  120. package/references/official-docs/docs/cordis-api/context.i18n.yaml +0 -73
  121. package/references/official-docs/docs/cordis-api/context.md +0 -364
  122. package/references/official-docs/docs/cordis-api/context.zh.md +0 -366
  123. package/references/official-docs/docs/cordis-api/events.i18n.yaml +0 -37
  124. package/references/official-docs/docs/cordis-api/events.md +0 -207
  125. package/references/official-docs/docs/cordis-api/events.zh.md +0 -209
  126. package/references/official-docs/docs/cordis-api/fiber.i18n.yaml +0 -76
  127. package/references/official-docs/docs/cordis-api/fiber.md +0 -375
  128. package/references/official-docs/docs/cordis-api/fiber.zh.md +0 -377
  129. package/references/official-docs/docs/cordis-api/inherited.md +0 -38
  130. package/references/official-docs/docs/cordis-api/registry.i18n.yaml +0 -22
  131. package/references/official-docs/docs/cordis-api/registry.md +0 -152
  132. package/references/official-docs/docs/cordis-api/registry.zh.md +0 -154
  133. package/references/official-docs/docs/cordis-api/service.i18n.yaml +0 -37
  134. package/references/official-docs/docs/cordis-api/service.md +0 -102
  135. package/references/official-docs/docs/cordis-api/service.zh.md +0 -104
  136. package/references/official-docs/docs/cordis-primer.i18n.yaml +0 -22
  137. package/references/official-docs/docs/cordis-primer.md +0 -45
  138. package/references/official-docs/docs/cordis-primer.zh.md +0 -51
  139. package/references/official-docs/docs/cordis-tutorial/01-first-plugin.i18n.yaml +0 -22
  140. package/references/official-docs/docs/cordis-tutorial/01-first-plugin.md +0 -95
  141. package/references/official-docs/docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  142. package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.i18n.yaml +0 -16
  143. package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  144. package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  145. package/references/official-docs/docs/cordis-tutorial/03-services.i18n.yaml +0 -22
  146. package/references/official-docs/docs/cordis-tutorial/03-services.md +0 -98
  147. package/references/official-docs/docs/cordis-tutorial/03-services.zh.md +0 -98
  148. package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +0 -16
  149. package/references/official-docs/docs/cordis-tutorial/04-events.md +0 -144
  150. package/references/official-docs/docs/cordis-tutorial/04-events.zh.md +0 -144
  151. package/references/official-docs/docs/cordis-tutorial/05-config.i18n.yaml +0 -19
  152. package/references/official-docs/docs/cordis-tutorial/05-config.md +0 -111
  153. package/references/official-docs/docs/cordis-tutorial/05-config.zh.md +0 -111
  154. package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.i18n.yaml +0 -16
  155. package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  156. package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  157. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.i18n.yaml +0 -19
  158. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.md +0 -108
  159. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  160. package/references/official-docs/docs/cordis-tutorial/index.i18n.yaml +0 -16
  161. package/references/official-docs/docs/cordis-tutorial/index.md +0 -60
  162. package/references/official-docs/docs/cordis-tutorial/index.zh.md +0 -62
  163. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +0 -34
  164. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +0 -162
  165. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +0 -162
  166. package/references/official-docs/docs/defensive-patterns/README.i18n.yaml +0 -10
  167. package/references/official-docs/docs/defensive-patterns/README.md +0 -25
  168. package/references/official-docs/docs/defensive-patterns/README.zh.md +0 -27
  169. package/references/official-docs/docs/defensive-patterns/client-components.i18n.yaml +0 -46
  170. package/references/official-docs/docs/defensive-patterns/client-components.md +0 -493
  171. package/references/official-docs/docs/defensive-patterns/client-components.zh.md +0 -495
  172. package/references/official-docs/docs/defensive-patterns/conversation-and-session.i18n.yaml +0 -31
  173. package/references/official-docs/docs/defensive-patterns/conversation-and-session.md +0 -316
  174. package/references/official-docs/docs/defensive-patterns/conversation-and-session.zh.md +0 -316
  175. package/references/official-docs/docs/defensive-patterns/general.i18n.yaml +0 -52
  176. package/references/official-docs/docs/defensive-patterns/general.md +0 -222
  177. package/references/official-docs/docs/defensive-patterns/general.zh.md +0 -252
  178. package/references/official-docs/docs/defensive-patterns/package-surface.i18n.yaml +0 -28
  179. package/references/official-docs/docs/defensive-patterns/package-surface.md +0 -231
  180. package/references/official-docs/docs/defensive-patterns/package-surface.zh.md +0 -231
  181. package/references/official-docs/docs/defensive-patterns/remote-and-api.i18n.yaml +0 -16
  182. package/references/official-docs/docs/defensive-patterns/remote-and-api.md +0 -115
  183. package/references/official-docs/docs/defensive-patterns/remote-and-api.zh.md +0 -115
  184. package/references/official-docs/docs/dependency-catalog.json +0 -7312
  185. package/references/official-docs/docs/development.i18n.yaml +0 -49
  186. package/references/official-docs/docs/development.md +0 -214
  187. package/references/official-docs/docs/development.zh.md +0 -221
  188. package/references/official-docs/docs/event-producer-consumer.i18n.yaml +0 -13
  189. package/references/official-docs/docs/event-producer-consumer.md +0 -110
  190. package/references/official-docs/docs/event-producer-consumer.zh.md +0 -112
  191. package/references/official-docs/docs/experimental-persistence-catalog.i18n.yaml +0 -10
  192. package/references/official-docs/docs/experimental-persistence-catalog.md +0 -17
  193. package/references/official-docs/docs/experimental-persistence-catalog.zh.md +0 -17
  194. package/references/official-docs/docs/glossary.i18n.yaml +0 -25
  195. package/references/official-docs/docs/glossary.md +0 -46
  196. package/references/official-docs/docs/glossary.zh.md +0 -46
  197. package/references/official-docs/docs/graph-atlas.i18n.yaml +0 -10
  198. package/references/official-docs/docs/graph-atlas.md +0 -22
  199. package/references/official-docs/docs/graph-atlas.zh.md +0 -24
  200. package/references/official-docs/docs/i18n/README.i18n.yaml +0 -19
  201. package/references/official-docs/docs/i18n/README.md +0 -69
  202. package/references/official-docs/docs/i18n/README.zh.md +0 -71
  203. package/references/official-docs/docs/i18n/style-samples.md +0 -87
  204. package/references/official-docs/docs/i18n/terminology.md +0 -215
  205. package/references/official-docs/docs/i18n/translation-prompt.md +0 -263
  206. package/references/official-docs/docs/i18n/translation-rules.i18n.yaml +0 -28
  207. package/references/official-docs/docs/i18n/translation-rules.md +0 -69
  208. package/references/official-docs/docs/i18n/translation-rules.zh.md +0 -69
  209. package/references/official-docs/docs/module-graph.i18n.yaml +0 -10
  210. package/references/official-docs/docs/module-graph.md +0 -1776
  211. package/references/official-docs/docs/module-graph.zh.md +0 -1778
  212. package/references/official-docs/docs/persistence-catalog.i18n.yaml +0 -2152
  213. package/references/official-docs/docs/persistence-catalog.md +0 -9140
  214. package/references/official-docs/docs/persistence-catalog.zh.md +0 -9142
  215. package/references/official-docs/docs/persistence-changes/2026-09-11-initial.i18n.yaml +0 -28
  216. package/references/official-docs/docs/persistence-changes/2026-09-11-initial.md +0 -280
  217. package/references/official-docs/docs/persistence-changes/2026-09-11-initial.schema.json +0 -13557
  218. package/references/official-docs/docs/persistence-changes/2026-09-11-initial.zh.md +0 -280
  219. package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.i18n.yaml +0 -28
  220. package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.md +0 -52
  221. package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.schema.json +0 -910
  222. package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.zh.md +0 -52
  223. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.i18n.yaml +0 -28
  224. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.md +0 -48
  225. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.schema.json +0 -76
  226. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.zh.md +0 -48
  227. package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.i18n.yaml +0 -28
  228. package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.md +0 -96
  229. package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.schema.json +0 -8478
  230. package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.zh.md +0 -96
  231. package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.i18n.yaml +0 -28
  232. package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.md +0 -48
  233. package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.schema.json +0 -72
  234. package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.zh.md +0 -48
  235. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.i18n.yaml +0 -28
  236. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.md +0 -120
  237. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.schema.json +0 -16212
  238. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.zh.md +0 -120
  239. package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.i18n.yaml +0 -28
  240. package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.md +0 -48
  241. package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.schema.json +0 -302
  242. package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.zh.md +0 -48
  243. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.i18n.yaml +0 -28
  244. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.md +0 -48
  245. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.schema.json +0 -290
  246. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.zh.md +0 -48
  247. package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.i18n.yaml +0 -28
  248. package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.md +0 -48
  249. package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.schema.json +0 -250
  250. package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +0 -48
  251. package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.i18n.yaml +0 -28
  252. package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.md +0 -60
  253. package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.schema.json +0 -11405
  254. package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.zh.md +0 -60
  255. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.i18n.yaml +0 -28
  256. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.md +0 -52
  257. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.schema.json +0 -297
  258. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.zh.md +0 -52
  259. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.i18n.yaml +0 -28
  260. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.md +0 -48
  261. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.schema.json +0 -457
  262. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.zh.md +0 -48
  263. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.i18n.yaml +0 -28
  264. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.md +0 -60
  265. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.schema.json +0 -11474
  266. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.zh.md +0 -60
  267. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.i18n.yaml +0 -28
  268. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.md +0 -48
  269. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.schema.json +0 -2990
  270. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.zh.md +0 -48
  271. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.i18n.yaml +0 -28
  272. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.md +0 -48
  273. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.schema.json +0 -231
  274. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.zh.md +0 -48
  275. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.i18n.yaml +0 -28
  276. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.md +0 -60
  277. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.schema.json +0 -11559
  278. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.zh.md +0 -60
  279. package/references/official-docs/docs/persistence-changes/README.i18n.yaml +0 -28
  280. package/references/official-docs/docs/persistence-changes/README.md +0 -90
  281. package/references/official-docs/docs/persistence-changes/README.zh.md +0 -90
  282. package/references/official-docs/docs/persistence-changes/finalized/v4.json +0 -379
  283. package/references/official-docs/docs/persistence-changes/historical-formats/README.i18n.yaml +0 -28
  284. package/references/official-docs/docs/persistence-changes/historical-formats/README.md +0 -75
  285. package/references/official-docs/docs/persistence-changes/historical-formats/README.zh.md +0 -75
  286. package/references/official-docs/docs/persistence-changes/historical-formats/v0.i18n.yaml +0 -1285
  287. package/references/official-docs/docs/persistence-changes/historical-formats/v0.md +0 -5105
  288. package/references/official-docs/docs/persistence-changes/historical-formats/v0.schema.json +0 -49308
  289. package/references/official-docs/docs/persistence-changes/historical-formats/v0.zh.md +0 -5105
  290. package/references/official-docs/docs/persistence-changes/historical-formats/v1.i18n.yaml +0 -1285
  291. package/references/official-docs/docs/persistence-changes/historical-formats/v1.md +0 -5107
  292. package/references/official-docs/docs/persistence-changes/historical-formats/v1.schema.json +0 -49411
  293. package/references/official-docs/docs/persistence-changes/historical-formats/v1.zh.md +0 -5107
  294. package/references/official-docs/docs/persistence-changes/historical-formats/v2.i18n.yaml +0 -1345
  295. package/references/official-docs/docs/persistence-changes/historical-formats/v2.md +0 -5362
  296. package/references/official-docs/docs/persistence-changes/historical-formats/v2.schema.json +0 -56466
  297. package/references/official-docs/docs/persistence-changes/historical-formats/v2.zh.md +0 -5362
  298. package/references/official-docs/docs/persistence-changes/historical-formats/v3.i18n.yaml +0 -1441
  299. package/references/official-docs/docs/persistence-changes/historical-formats/v3.md +0 -5634
  300. package/references/official-docs/docs/persistence-changes/historical-formats/v3.schema.json +0 -61307
  301. package/references/official-docs/docs/persistence-changes/historical-formats/v3.zh.md +0 -5634
  302. package/references/official-docs/docs/persistence-changes/releases/README.i18n.yaml +0 -31
  303. package/references/official-docs/docs/persistence-changes/releases/README.md +0 -103
  304. package/references/official-docs/docs/persistence-changes/releases/README.zh.md +0 -103
  305. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.i18n.yaml +0 -31
  306. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.md +0 -201
  307. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.schema.json +0 -39868
  308. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.zh.md +0 -201
  309. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.i18n.yaml +0 -31
  310. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.md +0 -261
  311. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.schema.json +0 -43342
  312. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.zh.md +0 -261
  313. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.i18n.yaml +0 -31
  314. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.md +0 -126
  315. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.schema.json +0 -19452
  316. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.zh.md +0 -126
  317. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.i18n.yaml +0 -31
  318. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.md +0 -75
  319. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.schema.json +0 -5
  320. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.zh.md +0 -75
  321. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.i18n.yaml +0 -31
  322. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.md +0 -75
  323. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.schema.json +0 -5
  324. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.zh.md +0 -75
  325. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.i18n.yaml +0 -31
  326. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.md +0 -75
  327. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.schema.json +0 -5
  328. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.zh.md +0 -75
  329. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.i18n.yaml +0 -31
  330. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.md +0 -75
  331. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.schema.json +0 -5
  332. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.zh.md +0 -75
  333. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.i18n.yaml +0 -31
  334. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.md +0 -75
  335. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.schema.json +0 -5
  336. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.zh.md +0 -75
  337. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.i18n.yaml +0 -31
  338. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.md +0 -75
  339. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.schema.json +0 -5
  340. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.zh.md +0 -75
  341. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.i18n.yaml +0 -31
  342. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.md +0 -75
  343. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.schema.json +0 -5
  344. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.zh.md +0 -75
  345. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.i18n.yaml +0 -31
  346. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.md +0 -82
  347. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.schema.json +0 -5320
  348. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.zh.md +0 -82
  349. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.i18n.yaml +0 -31
  350. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.md +0 -110
  351. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.schema.json +0 -21258
  352. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.zh.md +0 -110
  353. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.i18n.yaml +0 -31
  354. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.md +0 -82
  355. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.schema.json +0 -417
  356. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.zh.md +0 -82
  357. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.i18n.yaml +0 -31
  358. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.md +0 -119
  359. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.schema.json +0 -29672
  360. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.zh.md +0 -119
  361. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.i18n.yaml +0 -31
  362. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.md +0 -295
  363. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.schema.json +0 -48429
  364. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.zh.md +0 -295
  365. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.i18n.yaml +0 -31
  366. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.md +0 -286
  367. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.schema.json +0 -49347
  368. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.zh.md +0 -286
  369. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.i18n.yaml +0 -31
  370. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.md +0 -75
  371. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.schema.json +0 -5
  372. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.zh.md +0 -75
  373. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.i18n.yaml +0 -31
  374. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.md +0 -95
  375. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.schema.json +0 -17642
  376. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.zh.md +0 -95
  377. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.i18n.yaml +0 -31
  378. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.md +0 -75
  379. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.schema.json +0 -5
  380. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.zh.md +0 -75
  381. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.i18n.yaml +0 -31
  382. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.md +0 -75
  383. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.schema.json +0 -5
  384. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.zh.md +0 -75
  385. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.i18n.yaml +0 -31
  386. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.md +0 -154
  387. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.schema.json +0 -38678
  388. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.zh.md +0 -154
  389. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.i18n.yaml +0 -31
  390. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.md +0 -86
  391. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.schema.json +0 -783
  392. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.zh.md +0 -86
  393. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.i18n.yaml +0 -31
  394. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.md +0 -139
  395. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.schema.json +0 -24597
  396. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.zh.md +0 -139
  397. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.i18n.yaml +0 -31
  398. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.md +0 -95
  399. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.schema.json +0 -2132
  400. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.zh.md +0 -95
  401. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.i18n.yaml +0 -31
  402. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.md +0 -75
  403. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.schema.json +0 -5
  404. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.zh.md +0 -75
  405. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.i18n.yaml +0 -31
  406. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.md +0 -75
  407. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.schema.json +0 -5
  408. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.zh.md +0 -75
  409. package/references/official-docs/docs/persistence-changes/releases/manifest.json +0 -162
  410. package/references/official-docs/docs/persistence-schema.json +0 -26177
  411. package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.i18n.yaml +0 -34
  412. package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  413. package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  414. package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.i18n.yaml +0 -28
  415. package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  416. package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  417. package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.i18n.yaml +0 -28
  418. package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  419. package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  420. package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.i18n.yaml +0 -28
  421. package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  422. package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  423. package/references/official-docs/docs/postmortem/README.i18n.yaml +0 -7
  424. package/references/official-docs/docs/postmortem/README.md +0 -18
  425. package/references/official-docs/docs/postmortem/README.zh.md +0 -18
  426. package/references/official-docs/docs/rescope.i18n.yaml +0 -19
  427. package/references/official-docs/docs/rescope.md +0 -53
  428. package/references/official-docs/docs/rescope.zh.md +0 -53
  429. package/references/official-docs/docs/session-format-status.i18n.yaml +0 -28
  430. package/references/official-docs/docs/session-format-status.md +0 -63
  431. package/references/official-docs/docs/session-format-status.zh.md +0 -63
  432. package/references/official-docs/docs/subsystems/README.i18n.yaml +0 -7
  433. package/references/official-docs/docs/subsystems/README.md +0 -76
  434. package/references/official-docs/docs/subsystems/README.zh.md +0 -76
  435. package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +0 -22
  436. package/references/official-docs/docs/subsystems/agent-team.md +0 -231
  437. package/references/official-docs/docs/subsystems/agent-team.zh.md +0 -231
  438. package/references/official-docs/docs/subsystems/approval.i18n.yaml +0 -19
  439. package/references/official-docs/docs/subsystems/approval.md +0 -170
  440. package/references/official-docs/docs/subsystems/approval.zh.md +0 -170
  441. package/references/official-docs/docs/subsystems/attachment.i18n.yaml +0 -13
  442. package/references/official-docs/docs/subsystems/attachment.md +0 -361
  443. package/references/official-docs/docs/subsystems/attachment.zh.md +0 -361
  444. package/references/official-docs/docs/subsystems/boot.i18n.yaml +0 -16
  445. package/references/official-docs/docs/subsystems/boot.md +0 -447
  446. package/references/official-docs/docs/subsystems/boot.zh.md +0 -447
  447. package/references/official-docs/docs/subsystems/browser-use.i18n.yaml +0 -19
  448. package/references/official-docs/docs/subsystems/browser-use.md +0 -67
  449. package/references/official-docs/docs/subsystems/browser-use.zh.md +0 -67
  450. package/references/official-docs/docs/subsystems/claude-code-mods.i18n.yaml +0 -28
  451. package/references/official-docs/docs/subsystems/claude-code-mods.md +0 -146
  452. package/references/official-docs/docs/subsystems/claude-code-mods.zh.md +0 -146
  453. package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +0 -19
  454. package/references/official-docs/docs/subsystems/client-modules.md +0 -198
  455. package/references/official-docs/docs/subsystems/client-modules.zh.md +0 -198
  456. package/references/official-docs/docs/subsystems/client-resources.i18n.yaml +0 -22
  457. package/references/official-docs/docs/subsystems/client-resources.md +0 -92
  458. package/references/official-docs/docs/subsystems/client-resources.zh.md +0 -92
  459. package/references/official-docs/docs/subsystems/commands.i18n.yaml +0 -19
  460. package/references/official-docs/docs/subsystems/commands.md +0 -223
  461. package/references/official-docs/docs/subsystems/commands.zh.md +0 -223
  462. package/references/official-docs/docs/subsystems/compaction.i18n.yaml +0 -22
  463. package/references/official-docs/docs/subsystems/compaction.md +0 -284
  464. package/references/official-docs/docs/subsystems/compaction.zh.md +0 -284
  465. package/references/official-docs/docs/subsystems/computer-use.i18n.yaml +0 -16
  466. package/references/official-docs/docs/subsystems/computer-use.md +0 -59
  467. package/references/official-docs/docs/subsystems/computer-use.zh.md +0 -59
  468. package/references/official-docs/docs/subsystems/conversation.i18n.yaml +0 -31
  469. package/references/official-docs/docs/subsystems/conversation.md +0 -301
  470. package/references/official-docs/docs/subsystems/conversation.zh.md +0 -303
  471. package/references/official-docs/docs/subsystems/core.i18n.yaml +0 -37
  472. package/references/official-docs/docs/subsystems/core.md +0 -1113
  473. package/references/official-docs/docs/subsystems/core.zh.md +0 -1125
  474. package/references/official-docs/docs/subsystems/credentials.i18n.yaml +0 -25
  475. package/references/official-docs/docs/subsystems/credentials.md +0 -493
  476. package/references/official-docs/docs/subsystems/credentials.zh.md +0 -493
  477. package/references/official-docs/docs/subsystems/deliverables.i18n.yaml +0 -28
  478. package/references/official-docs/docs/subsystems/deliverables.md +0 -178
  479. package/references/official-docs/docs/subsystems/deliverables.zh.md +0 -178
  480. package/references/official-docs/docs/subsystems/extensions.i18n.yaml +0 -7
  481. package/references/official-docs/docs/subsystems/extensions.md +0 -384
  482. package/references/official-docs/docs/subsystems/extensions.zh.md +0 -384
  483. package/references/official-docs/docs/subsystems/feedback.i18n.yaml +0 -28
  484. package/references/official-docs/docs/subsystems/feedback.md +0 -400
  485. package/references/official-docs/docs/subsystems/feedback.zh.md +0 -400
  486. package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +0 -34
  487. package/references/official-docs/docs/subsystems/filesystem.md +0 -530
  488. package/references/official-docs/docs/subsystems/filesystem.zh.md +0 -530
  489. package/references/official-docs/docs/subsystems/goal.i18n.yaml +0 -19
  490. package/references/official-docs/docs/subsystems/goal.md +0 -313
  491. package/references/official-docs/docs/subsystems/goal.zh.md +0 -313
  492. package/references/official-docs/docs/subsystems/jobs.i18n.yaml +0 -28
  493. package/references/official-docs/docs/subsystems/jobs.md +0 -554
  494. package/references/official-docs/docs/subsystems/jobs.zh.md +0 -554
  495. package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +0 -49
  496. package/references/official-docs/docs/subsystems/llm-streaming.md +0 -1196
  497. package/references/official-docs/docs/subsystems/llm-streaming.zh.md +0 -1202
  498. package/references/official-docs/docs/subsystems/lsp.i18n.yaml +0 -19
  499. package/references/official-docs/docs/subsystems/lsp.md +0 -202
  500. package/references/official-docs/docs/subsystems/lsp.zh.md +0 -202
  501. package/references/official-docs/docs/subsystems/mcp.i18n.yaml +0 -34
  502. package/references/official-docs/docs/subsystems/mcp.md +0 -139
  503. package/references/official-docs/docs/subsystems/mcp.zh.md +0 -139
  504. package/references/official-docs/docs/subsystems/office-to-pdf.i18n.yaml +0 -19
  505. package/references/official-docs/docs/subsystems/office-to-pdf.md +0 -87
  506. package/references/official-docs/docs/subsystems/office-to-pdf.zh.md +0 -87
  507. package/references/official-docs/docs/subsystems/otel.i18n.yaml +0 -7
  508. package/references/official-docs/docs/subsystems/otel.md +0 -44
  509. package/references/official-docs/docs/subsystems/otel.zh.md +0 -44
  510. package/references/official-docs/docs/subsystems/permission-presets.i18n.yaml +0 -19
  511. package/references/official-docs/docs/subsystems/permission-presets.md +0 -167
  512. package/references/official-docs/docs/subsystems/permission-presets.zh.md +0 -167
  513. package/references/official-docs/docs/subsystems/persistence.i18n.yaml +0 -37
  514. package/references/official-docs/docs/subsystems/persistence.md +0 -418
  515. package/references/official-docs/docs/subsystems/persistence.zh.md +0 -418
  516. package/references/official-docs/docs/subsystems/plan.i18n.yaml +0 -22
  517. package/references/official-docs/docs/subsystems/plan.md +0 -87
  518. package/references/official-docs/docs/subsystems/plan.zh.md +0 -87
  519. package/references/official-docs/docs/subsystems/product-telemetry.i18n.yaml +0 -10
  520. package/references/official-docs/docs/subsystems/product-telemetry.md +0 -81
  521. package/references/official-docs/docs/subsystems/product-telemetry.zh.md +0 -81
  522. package/references/official-docs/docs/subsystems/ptc-runtime.i18n.yaml +0 -19
  523. package/references/official-docs/docs/subsystems/ptc-runtime.md +0 -250
  524. package/references/official-docs/docs/subsystems/ptc-runtime.zh.md +0 -250
  525. package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +0 -19
  526. package/references/official-docs/docs/subsystems/sandbox.md +0 -221
  527. package/references/official-docs/docs/subsystems/sandbox.zh.md +0 -221
  528. package/references/official-docs/docs/subsystems/schedule.i18n.yaml +0 -40
  529. package/references/official-docs/docs/subsystems/schedule.md +0 -550
  530. package/references/official-docs/docs/subsystems/schedule.zh.md +0 -550
  531. package/references/official-docs/docs/subsystems/scope.i18n.yaml +0 -16
  532. package/references/official-docs/docs/subsystems/scope.md +0 -59
  533. package/references/official-docs/docs/subsystems/scope.zh.md +0 -61
  534. package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +0 -16
  535. package/references/official-docs/docs/subsystems/session-projection.md +0 -356
  536. package/references/official-docs/docs/subsystems/session-projection.zh.md +0 -356
  537. package/references/official-docs/docs/subsystems/session-query.i18n.yaml +0 -28
  538. package/references/official-docs/docs/subsystems/session-query.md +0 -511
  539. package/references/official-docs/docs/subsystems/session-query.zh.md +0 -511
  540. package/references/official-docs/docs/subsystems/session-reference.i18n.yaml +0 -19
  541. package/references/official-docs/docs/subsystems/session-reference.md +0 -224
  542. package/references/official-docs/docs/subsystems/session-reference.zh.md +0 -224
  543. package/references/official-docs/docs/subsystems/session-telemetry.i18n.yaml +0 -22
  544. package/references/official-docs/docs/subsystems/session-telemetry.md +0 -212
  545. package/references/official-docs/docs/subsystems/session-telemetry.zh.md +0 -212
  546. package/references/official-docs/docs/subsystems/session-title.i18n.yaml +0 -16
  547. package/references/official-docs/docs/subsystems/session-title.md +0 -213
  548. package/references/official-docs/docs/subsystems/session-title.zh.md +0 -213
  549. package/references/official-docs/docs/subsystems/session.i18n.yaml +0 -70
  550. package/references/official-docs/docs/subsystems/session.md +0 -1339
  551. package/references/official-docs/docs/subsystems/session.zh.md +0 -1343
  552. package/references/official-docs/docs/subsystems/settings.i18n.yaml +0 -13
  553. package/references/official-docs/docs/subsystems/settings.md +0 -155
  554. package/references/official-docs/docs/subsystems/settings.zh.md +0 -155
  555. package/references/official-docs/docs/subsystems/shell.i18n.yaml +0 -25
  556. package/references/official-docs/docs/subsystems/shell.md +0 -314
  557. package/references/official-docs/docs/subsystems/shell.zh.md +0 -314
  558. package/references/official-docs/docs/subsystems/sidebar-right.i18n.yaml +0 -37
  559. package/references/official-docs/docs/subsystems/sidebar-right.md +0 -160
  560. package/references/official-docs/docs/subsystems/sidebar-right.zh.md +0 -160
  561. package/references/official-docs/docs/subsystems/skills.i18n.yaml +0 -28
  562. package/references/official-docs/docs/subsystems/skills.md +0 -352
  563. package/references/official-docs/docs/subsystems/skills.zh.md +0 -352
  564. package/references/official-docs/docs/subsystems/slots.i18n.yaml +0 -28
  565. package/references/official-docs/docs/subsystems/slots.md +0 -200
  566. package/references/official-docs/docs/subsystems/slots.zh.md +0 -204
  567. package/references/official-docs/docs/subsystems/spill.i18n.yaml +0 -16
  568. package/references/official-docs/docs/subsystems/spill.md +0 -124
  569. package/references/official-docs/docs/subsystems/spill.zh.md +0 -124
  570. package/references/official-docs/docs/subsystems/ssh.i18n.yaml +0 -22
  571. package/references/official-docs/docs/subsystems/ssh.md +0 -146
  572. package/references/official-docs/docs/subsystems/ssh.zh.md +0 -146
  573. package/references/official-docs/docs/subsystems/storage.i18n.yaml +0 -25
  574. package/references/official-docs/docs/subsystems/storage.md +0 -259
  575. package/references/official-docs/docs/subsystems/storage.zh.md +0 -259
  576. package/references/official-docs/docs/subsystems/subagent.i18n.yaml +0 -28
  577. package/references/official-docs/docs/subsystems/subagent.md +0 -686
  578. package/references/official-docs/docs/subsystems/subagent.zh.md +0 -688
  579. package/references/official-docs/docs/subsystems/subprocess.i18n.yaml +0 -31
  580. package/references/official-docs/docs/subsystems/subprocess.md +0 -321
  581. package/references/official-docs/docs/subsystems/subprocess.zh.md +0 -321
  582. package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +0 -19
  583. package/references/official-docs/docs/subsystems/system-prompt.md +0 -254
  584. package/references/official-docs/docs/subsystems/system-prompt.zh.md +0 -254
  585. package/references/official-docs/docs/subsystems/terminal.i18n.yaml +0 -19
  586. package/references/official-docs/docs/subsystems/terminal.md +0 -184
  587. package/references/official-docs/docs/subsystems/terminal.zh.md +0 -184
  588. package/references/official-docs/docs/subsystems/todo.i18n.yaml +0 -13
  589. package/references/official-docs/docs/subsystems/todo.md +0 -32
  590. package/references/official-docs/docs/subsystems/todo.zh.md +0 -32
  591. package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +0 -13
  592. package/references/official-docs/docs/subsystems/token-meter.md +0 -106
  593. package/references/official-docs/docs/subsystems/token-meter.zh.md +0 -106
  594. package/references/official-docs/docs/subsystems/tools.i18n.yaml +0 -25
  595. package/references/official-docs/docs/subsystems/tools.md +0 -747
  596. package/references/official-docs/docs/subsystems/tools.zh.md +0 -747
  597. package/references/official-docs/docs/subsystems/translation.i18n.yaml +0 -19
  598. package/references/official-docs/docs/subsystems/translation.md +0 -103
  599. package/references/official-docs/docs/subsystems/translation.zh.md +0 -103
  600. package/references/official-docs/docs/subsystems/typert.i18n.yaml +0 -25
  601. package/references/official-docs/docs/subsystems/typert.md +0 -690
  602. package/references/official-docs/docs/subsystems/typert.zh.md +0 -690
  603. package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +0 -28
  604. package/references/official-docs/docs/subsystems/user-questions.md +0 -307
  605. package/references/official-docs/docs/subsystems/user-questions.zh.md +0 -307
  606. package/references/official-docs/docs/subsystems/voice-input.i18n.yaml +0 -19
  607. package/references/official-docs/docs/subsystems/voice-input.md +0 -164
  608. package/references/official-docs/docs/subsystems/voice-input.zh.md +0 -164
  609. package/references/official-docs/docs/subsystems/web-client.i18n.yaml +0 -37
  610. package/references/official-docs/docs/subsystems/web-client.md +0 -100
  611. package/references/official-docs/docs/subsystems/web-client.zh.md +0 -100
  612. package/references/official-docs/docs/subsystems/web-server.i18n.yaml +0 -16
  613. package/references/official-docs/docs/subsystems/web-server.md +0 -302
  614. package/references/official-docs/docs/subsystems/web-server.zh.md +0 -302
  615. package/references/official-docs/docs/subsystems/web.i18n.yaml +0 -28
  616. package/references/official-docs/docs/subsystems/web.md +0 -206
  617. package/references/official-docs/docs/subsystems/web.zh.md +0 -206
  618. package/references/official-docs/docs/subsystems/webhook.i18n.yaml +0 -19
  619. package/references/official-docs/docs/subsystems/webhook.md +0 -70
  620. package/references/official-docs/docs/subsystems/webhook.zh.md +0 -70
  621. package/references/official-docs/docs/subsystems/workflow.i18n.yaml +0 -28
  622. package/references/official-docs/docs/subsystems/workflow.md +0 -278
  623. package/references/official-docs/docs/subsystems/workflow.zh.md +0 -278
  624. package/references/official-docs/docs/subsystems/working-directory.i18n.yaml +0 -13
  625. package/references/official-docs/docs/subsystems/working-directory.md +0 -64
  626. package/references/official-docs/docs/subsystems/working-directory.zh.md +0 -64
  627. package/references/official-docs/docs/subsystems/workspace.i18n.yaml +0 -28
  628. package/references/official-docs/docs/subsystems/workspace.md +0 -647
  629. package/references/official-docs/docs/subsystems/workspace.zh.md +0 -647
  630. package/references/official-docs/docs/subsystems/worktrees.i18n.yaml +0 -13
  631. package/references/official-docs/docs/subsystems/worktrees.md +0 -76
  632. package/references/official-docs/docs/subsystems/worktrees.zh.md +0 -76
  633. package/references/official-docs/docs/testing.i18n.yaml +0 -34
  634. package/references/official-docs/docs/testing.md +0 -55
  635. package/references/official-docs/docs/testing.zh.md +0 -55
  636. package/references/official-docs/docs/tool-catalog.i18n.yaml +0 -331
  637. package/references/official-docs/docs/tool-catalog.md +0 -2824
  638. package/references/official-docs/docs/tool-catalog.zh.md +0 -2832
  639. package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +0 -10
  640. package/references/official-docs/docs/tool-execution-pipeline.md +0 -65
  641. package/references/official-docs/docs/tool-execution-pipeline.zh.md +0 -67
  642. package/references/official-docs/docs/ui-radius.i18n.yaml +0 -31
  643. package/references/official-docs/docs/ui-radius.md +0 -117
  644. package/references/official-docs/docs/ui-radius.zh.md +0 -117
  645. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.i18n.yaml +0 -16
  646. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +0 -22
  647. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +0 -22
  648. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.i18n.yaml +0 -16
  649. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +0 -25
  650. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +0 -25
  651. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.i18n.yaml +0 -16
  652. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +0 -18
  653. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +0 -18
  654. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.i18n.yaml +0 -16
  655. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.md +0 -18
  656. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.zh.md +0 -18
  657. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.i18n.yaml +0 -16
  658. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.md +0 -18
  659. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.zh.md +0 -18
  660. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.i18n.yaml +0 -16
  661. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +0 -23
  662. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +0 -23
  663. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.i18n.yaml +0 -16
  664. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +0 -22
  665. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +0 -22
  666. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.i18n.yaml +0 -16
  667. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +0 -27
  668. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +0 -27
  669. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.i18n.yaml +0 -16
  670. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.md +0 -17
  671. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.zh.md +0 -17
  672. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.i18n.yaml +0 -16
  673. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.md +0 -18
  674. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.zh.md +0 -18
  675. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.i18n.yaml +0 -16
  676. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.md +0 -28
  677. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.zh.md +0 -28
  678. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.i18n.yaml +0 -16
  679. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.md +0 -20
  680. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.zh.md +0 -20
  681. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.i18n.yaml +0 -16
  682. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.md +0 -18
  683. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.zh.md +0 -18
  684. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.i18n.yaml +0 -16
  685. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.md +0 -18
  686. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.zh.md +0 -18
  687. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.i18n.yaml +0 -16
  688. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.md +0 -17
  689. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.zh.md +0 -17
  690. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.i18n.yaml +0 -16
  691. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.md +0 -31
  692. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.zh.md +0 -31
  693. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.i18n.yaml +0 -16
  694. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.md +0 -20
  695. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.zh.md +0 -20
  696. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.i18n.yaml +0 -16
  697. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.md +0 -20
  698. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.zh.md +0 -20
  699. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.i18n.yaml +0 -16
  700. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.md +0 -18
  701. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.zh.md +0 -18
  702. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.i18n.yaml +0 -16
  703. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +0 -21
  704. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +0 -21
  705. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.i18n.yaml +0 -16
  706. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.md +0 -18
  707. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.zh.md +0 -18
  708. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.i18n.yaml +0 -16
  709. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.md +0 -20
  710. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.zh.md +0 -20
  711. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.i18n.yaml +0 -16
  712. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.md +0 -19
  713. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.zh.md +0 -19
  714. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.i18n.yaml +0 -16
  715. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.md +0 -59
  716. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.zh.md +0 -59
  717. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.i18n.yaml +0 -16
  718. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.md +0 -21
  719. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.zh.md +0 -21
  720. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.i18n.yaml +0 -16
  721. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.md +0 -21
  722. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.zh.md +0 -21
  723. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.i18n.yaml +0 -16
  724. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.md +0 -18
  725. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.zh.md +0 -18
  726. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.i18n.yaml +0 -16
  727. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.md +0 -21
  728. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.zh.md +0 -21
  729. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.i18n.yaml +0 -16
  730. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.md +0 -36
  731. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.zh.md +0 -36
  732. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.i18n.yaml +0 -16
  733. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.md +0 -25
  734. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.zh.md +0 -25
  735. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.i18n.yaml +0 -16
  736. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.md +0 -18
  737. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.zh.md +0 -18
  738. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.i18n.yaml +0 -16
  739. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.md +0 -27
  740. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.zh.md +0 -27
  741. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.i18n.yaml +0 -16
  742. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.md +0 -18
  743. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.zh.md +0 -18
  744. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.i18n.yaml +0 -16
  745. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.md +0 -20
  746. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.zh.md +0 -20
  747. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.i18n.yaml +0 -16
  748. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.md +0 -18
  749. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.zh.md +0 -18
  750. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.i18n.yaml +0 -16
  751. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.md +0 -19
  752. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.zh.md +0 -19
  753. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.i18n.yaml +0 -16
  754. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.md +0 -17
  755. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.zh.md +0 -17
  756. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.i18n.yaml +0 -16
  757. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.md +0 -20
  758. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.zh.md +0 -20
  759. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.i18n.yaml +0 -16
  760. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.md +0 -32
  761. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.zh.md +0 -32
  762. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.i18n.yaml +0 -16
  763. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.md +0 -25
  764. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.zh.md +0 -25
  765. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.i18n.yaml +0 -16
  766. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.md +0 -21
  767. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.zh.md +0 -21
  768. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.i18n.yaml +0 -16
  769. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.md +0 -18
  770. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.zh.md +0 -18
  771. package/references/official-docs/docs/user/develop/basic/config.i18n.yaml +0 -28
  772. package/references/official-docs/docs/user/develop/basic/config.md +0 -106
  773. package/references/official-docs/docs/user/develop/basic/config.zh.md +0 -106
  774. package/references/official-docs/docs/user/develop/basic/index.i18n.yaml +0 -37
  775. package/references/official-docs/docs/user/develop/basic/index.md +0 -144
  776. package/references/official-docs/docs/user/develop/basic/index.zh.md +0 -144
  777. package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +0 -31
  778. package/references/official-docs/docs/user/develop/basic/publish.md +0 -191
  779. package/references/official-docs/docs/user/develop/basic/publish.zh.md +0 -191
  780. package/references/official-docs/docs/user/develop/basic/tool.i18n.yaml +0 -16
  781. package/references/official-docs/docs/user/develop/basic/tool.md +0 -52
  782. package/references/official-docs/docs/user/develop/basic/tool.zh.md +0 -52
  783. package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +0 -46
  784. package/references/official-docs/docs/user/develop/framework/events.md +0 -143
  785. package/references/official-docs/docs/user/develop/framework/events.zh.md +0 -143
  786. package/references/official-docs/docs/user/develop/framework/index.i18n.yaml +0 -31
  787. package/references/official-docs/docs/user/develop/framework/index.md +0 -137
  788. package/references/official-docs/docs/user/develop/framework/index.zh.md +0 -137
  789. package/references/official-docs/docs/user/develop/framework/service.i18n.yaml +0 -40
  790. package/references/official-docs/docs/user/develop/framework/service.md +0 -148
  791. package/references/official-docs/docs/user/develop/framework/service.zh.md +0 -150
  792. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +0 -10
  793. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.md +0 -15
  794. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  795. package/references/official-docs/docs/user/develop/practice/index.i18n.yaml +0 -46
  796. package/references/official-docs/docs/user/develop/practice/index.md +0 -155
  797. package/references/official-docs/docs/user/develop/practice/index.zh.md +0 -155
  798. package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +0 -34
  799. package/references/official-docs/docs/user/develop/practice/llm-adapter.md +0 -189
  800. package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +0 -189
  801. package/references/official-docs/docs/user/guide/github-review.i18n.yaml +0 -25
  802. package/references/official-docs/docs/user/guide/github-review.md +0 -99
  803. package/references/official-docs/docs/user/guide/github-review.zh.md +0 -99
  804. package/references/official-docs/docs/user/guide/index.i18n.yaml +0 -19
  805. package/references/official-docs/docs/user/guide/index.md +0 -31
  806. package/references/official-docs/docs/user/guide/index.zh.md +0 -31
  807. package/references/official-docs/docs/user/guide/mcp-memory.i18n.yaml +0 -37
  808. package/references/official-docs/docs/user/guide/mcp-memory.md +0 -101
  809. package/references/official-docs/docs/user/guide/mcp-memory.zh.md +0 -101
  810. package/references/official-docs/docs/user/guide/network-proxy.i18n.yaml +0 -25
  811. package/references/official-docs/docs/user/guide/network-proxy.md +0 -85
  812. package/references/official-docs/docs/user/guide/network-proxy.zh.md +0 -85
  813. package/references/official-docs/docs/user/guide/plugin-market.i18n.yaml +0 -34
  814. package/references/official-docs/docs/user/guide/plugin-market.md +0 -148
  815. package/references/official-docs/docs/user/guide/plugin-market.zh.md +0 -148
  816. package/references/official-docs/docs/user/guide/providers-custom-form.png +0 -0
  817. package/references/official-docs/docs/user/guide/providers-custom-form.zh.png +0 -0
  818. package/references/official-docs/docs/user/guide/providers-models-page.png +0 -0
  819. package/references/official-docs/docs/user/guide/providers-models-page.zh.png +0 -0
  820. package/references/official-docs/docs/user/guide/providers.i18n.yaml +0 -40
  821. package/references/official-docs/docs/user/guide/providers.md +0 -227
  822. package/references/official-docs/docs/user/guide/providers.zh.md +0 -227
  823. package/references/official-docs/docs/user/guide/public-deployments.i18n.yaml +0 -19
  824. package/references/official-docs/docs/user/guide/public-deployments.md +0 -37
  825. package/references/official-docs/docs/user/guide/public-deployments.zh.md +0 -37
  826. package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +0 -28
  827. package/references/official-docs/docs/user/guide/python-sdk.md +0 -185
  828. package/references/official-docs/docs/user/guide/python-sdk.zh.md +0 -185
  829. package/references/official-docs/docs/user/guide/schedule.i18n.yaml +0 -31
  830. package/references/official-docs/docs/user/guide/schedule.md +0 -79
  831. package/references/official-docs/docs/user/guide/schedule.zh.md +0 -79
  832. package/references/official-docs/docs/user/index.i18n.yaml +0 -10
  833. package/references/official-docs/docs/user/index.md +0 -11
  834. package/references/official-docs/docs/user/index.zh.md +0 -11
  835. package/references/official-docs/docs/web-styling.i18n.yaml +0 -19
  836. package/references/official-docs/docs/web-styling.md +0 -39
  837. package/references/official-docs/docs/web-styling.zh.md +0 -39
  838. package/references/official-docs/packages/AGENTS.md +0 -29
  839. package/references/official-docs/packages/README.md +0 -117
  840. package/references/official-docs/vendor/README.md +0 -73
  841. package/references/official-docs/website-docs.ts +0 -591
  842. package/references/official-plugin-dev-skill.md +0 -124
  843. package/references/sources.md +0 -143
  844. package/references/upstream-cordis.md +0 -594
  845. package/references/website-pages.md +0 -673
  846. package/scripts/archive-discussions.ps1 +0 -162
  847. package/scripts/build-llms-full.mjs +0 -73
  848. package/scripts/check-docs-drift-detail.mjs +0 -145
  849. package/scripts/check-docs-drift.ps1 +0 -55
  850. package/scripts/check-facts.mjs +0 -162
  851. package/scripts/check-ps1-bom.mjs +0 -68
  852. package/scripts/check-readme-parity.mjs +0 -149
  853. package/scripts/check-readme-sync.mjs +0 -96
  854. package/scripts/download-community-articles.ps1 +0 -188
  855. package/scripts/download-community-repos.ps1 +0 -232
  856. package/scripts/download-sources.ps1 +0 -195
  857. package/scripts/gen-topic-snapshot.ps1 +0 -91
  858. package/scripts/install-skill.ps1 +0 -63
  859. package/scripts/measure-mirror-references.mjs +0 -117
  860. package/scripts/sync-official-docs.ps1 +0 -138
  861. package/scripts/verify-artifacts.mjs +0 -145
  862. package/scripts/verify-kit.ps1 +0 -197
  863. package/templates/js/LICENSE +0 -15
  864. package/templates/js/README-es.md +0 -46
  865. package/templates/js/README-hi.md +0 -46
  866. package/templates/js/README-pt.md +0 -46
  867. package/templates/js/README-zh.md +0 -46
  868. package/templates/js/README.md +0 -46
  869. package/templates/js/cordis.patch.yml +0 -10
  870. package/templates/js/icon.svg +0 -4
  871. package/templates/js/index.js +0 -38
  872. package/templates/js/locale/en.json +0 -6
  873. package/templates/js/locale/zh.json +0 -6
  874. package/templates/js/package.json +0 -49
  875. package/templates/js/tests/index.test.js +0 -12
  876. package/templates/ts/LICENSE +0 -15
  877. package/templates/ts/README-es.md +0 -48
  878. package/templates/ts/README-hi.md +0 -48
  879. package/templates/ts/README-pt.md +0 -48
  880. package/templates/ts/README-zh.md +0 -48
  881. package/templates/ts/README.md +0 -48
  882. package/templates/ts/cordis.patch.yml +0 -10
  883. package/templates/ts/icon.svg +0 -4
  884. package/templates/ts/locale/en.json +0 -6
  885. package/templates/ts/locale/zh.json +0 -6
  886. package/templates/ts/package.json +0 -58
  887. package/templates/ts/src/config.ts +0 -12
  888. package/templates/ts/src/index.ts +0 -36
  889. package/templates/ts/tests/index.test.ts +0 -12
  890. package/templates/ts/tsconfig.json +0 -17
  891. package/templates/ts/tsdown.config.mjs +0 -21
  892. package/templates/ts/vitest.config.ts +0 -8
@@ -1,1196 +0,0 @@
1
- # LLM Streaming
2
-
3
- English | [中文](llm-streaming.zh.md)
4
-
5
- The conversation and streaming types from [`packages/llm`](../../packages/llm/README.md): durable `Message` values, request-only user inputs, shared `ContentBlock` variants, the fully assembled model request, the raw `StreamChunk` protocol, the adapter contract every adapter must implement, and the shared assembler. The [core packages](core.md) hold and log these values on every turn; this page declares them.
6
-
7
- Source: [`packages/llm/llm/src/types.ts`](../../packages/llm/llm/src/types.ts)
8
-
9
- <a id="content-blocks-and-messages"></a>
10
-
11
- ## Content blocks and messages
12
-
13
- A conversation is `Message`s; a message is an array of typed **content blocks**. The block union derives from `ContentBlockMap`.
14
-
15
- Source: [`packages/llm/llm/src/types.ts`](../../packages/llm/llm/src/types.ts)
16
-
17
- ```ts type-equiv
18
- /**
19
- * Merge-extensible content blocks keyed by `type`. New core blocks must land
20
- * with adapter, UI, and compaction support. Tool-change blocks belong to
21
- * developer messages; `projectToolUpdates` selects what each route receives.
22
- */
23
- interface ContentBlockMap {
24
- 'text': TextBlock
25
- 'reasoning': ReasoningBlock
26
- 'image': ImageBlock
27
- 'file': FileBlock
28
- 'tool-call': ToolCallBlock
29
- 'tool-addition': ToolAdditionBlock
30
- 'tool-removal': ToolRemovalBlock
31
- }
32
- ```
33
-
34
- The block interfaces (full fields in source): `TextBlock` (`text`), `ReasoningBlock` (thinking, distinct from visible text), `ImageBlock` (a durable [image attachment](attachment.md)), `FileBlock` (a durable verbatim [file attachment](attachment.md) that request assembly projects to handle text for every route), and `ToolCallBlock` (`id: ToolCallId`, `name`, raw-JSON `arguments`). Tool results are first-class `ToolResultMessage` values with `toolCallId`, result `content`, and optional `isError`; they are not content blocks. `ContentBlock = ContentBlockMap[ContentBlockType]`. A new modality belongs in the merge-extensible map only when its adapter, UI, compaction, and durable replay paths honor it. Developer tool-change blocks are projected according to the resolved route capability.
35
-
36
- Image access belongs to request serialization rather than the durable attachment or deterministic request-image version. `resolveImageAttachmentAccess()` combines the attachment provider's optional host object path with a mapping supplied by the consumer for the current tool execution filesystem. The result is available only for that request and does not participate in `variantId`.
37
-
38
- Source: [`packages/llm/llm/src/content.ts`](../../packages/llm/llm/src/content.ts)
39
-
40
- ```ts type-equiv
41
- /** Execution-world path that model tools can use to read one normalized attachment. */
42
- interface ImageAttachmentAccess {
43
- /** Absolute path to immutable normalized bytes; callers must treat it as read-only. */
44
- readonlyPath: string
45
- }
46
- ```
47
-
48
- Source: [`packages/llm/llm/src/message.ts`](../../packages/llm/llm/src/message.ts)
49
-
50
- A `Message` is one identified, immutable role/source/content value. Model-produced assistant messages name the provider and model that produced them and carry optional adapter-private replay data in their source:
51
-
52
- ```ts type-equiv
53
- /** Provider/model identity and adapter-private replay data for an assistant message. */
54
- interface AssistantProviderMetadata {
55
- /** Provider route that produced the message. */
56
- provider: string
57
- /** Provider model id that produced the message. */
58
- model: string
59
- /**
60
- * Lossless-JSON adapter state needed to replay the provider response.
61
- * `LlmRuntime` exposes it to a target adapter only when that adapter instance
62
- * currently owns both this historical provider and the target provider.
63
- */
64
- replayState?: unknown
65
- }
66
- ```
67
-
68
- ```ts type-equiv
69
- /** Any persisted conversation message, discriminated by its `role`. */
70
- type Message = MessageRoleMap[keyof MessageRoleMap]
71
- ```
72
-
73
- `DeveloperMessage` records incremental agent session changes in conversation order with the `developer` role. `ToolAdditionBlock.toolName` activates the definition selected by the containing Session event's historical header reference; `ToolRemovalBlock.toolName` removes the active definition. Both blocks are rejected in other message roles. `deferLoading` independently requests deferred definition loading without requiring an addition record. See [Session](../../packages/core/session/README.md) for header binding and the [LLM package](../../packages/llm/llm/README.md#known-limitations-and-deferred-work) for provider support limits. `ToolUpdate` is `in-history` or `addition-only` on resolved and prepared model metadata. `GenerateOptions.toolHistory` carries `ToolHistory`: initial `tools` and ordered `updates`, each binding a developer `messageId` to its historically resolved `additions`. The runtime projects this state into provider declarations; it does not change the active tool list in logged headers.
74
-
75
- Where a message came from is itself a merge-extensible sum type:
76
-
77
- ```ts type-equiv
78
- /**
79
- * Where a message (or injected content) came from, in the harness's own
80
- * vocabulary. Merge-extensible sum type — each producer declares its own
81
- * `kind` in its own module; there is no shared catch-all `plugin` kind.
82
- * Model and tool sources answer their role messages; user messages carry any
83
- * producer's kind, and consumers fall through unknown kinds.
84
- */
85
- interface MessageSourceMap {
86
- user: { kind: 'user' }
87
- model: ModelMessageSource
88
- tool: ToolMessageSource
89
- 'system-prompt': SystemPromptMessageSource
90
- }
91
- ```
92
-
93
- Producer identity and presentation form are independent. `kind` answers *who produced this*; the optional `form` answers *what kind of information this is*, and consumers decide how to present it. Several producers may share one form, and one producer may emit more than one form over a session. The values are semantic and grow one at a time; an absent or unrecognized value uses the documented default and is presented as opaque content:
94
-
95
- ```ts type-equiv
96
- /**
97
- * The kind of information in producer-supplied context, declared by the
98
- * producer in the same `MessageSource`.
99
- *
100
- * `MessageSource.kind` answers *who produced this*; `form` answers *what kind
101
- * of thing it is*, and the two axes are deliberately independent — several
102
- * producers share one form, and one producer may emit more than one form over
103
- * a session.
104
- *
105
- * The vocabulary is SEMANTIC, never visual: a value states that the content is
106
- * a file's instructions or a catalog of available items, and a consumer decides
107
- * what that looks like. Colors, icons, ordering, and collapse defaults are the
108
- * consumer's business and must not enter this union. It grows one value at a
109
- * time as producers gain the structured fields their form needs; an absent or
110
- * unknown value is the documented default, presented as opaque content.
111
- */
112
- type ContextForm =
113
- /** Instructions read out of workspace files the model is expected to follow. */
114
- | 'instructions'
115
- /** A catalog of items available in this session, republished as it changes. */
116
- | 'catalog'
117
- /** Current state, where a later snapshot from the same producer supersedes an earlier one. */
118
- | 'snapshot'
119
- /** A one-off account of something that just happened; it supersedes nothing. */
120
- | 'notice'
121
- /** A message another agent addressed to this one. */
122
- | 'relay'
123
- /** Material lifted out of another session's log, possibly reduced on the way in. */
124
- | 'recall'
125
- ```
126
-
127
- ```ts type-equiv
128
- /** One named contribution to a `snapshot`-form context, in assembly order. */
129
- interface ContextSnapshotSection {
130
- /** The contributing subsystem's name. */
131
- readonly name: string
132
- /** That contribution's model-facing text, exactly as assembled. */
133
- readonly text: string
134
- }
135
- ```
136
-
137
- ```ts type-equiv
138
- /**
139
- * Producer-declared {@link ContextForm} and the fields that form requires,
140
- * mixed into the source types that carry one.
141
- *
142
- * Discriminated by `form` so a producer cannot select a form without the
143
- * fields needed to present it: a `notice` must record its one-line
144
- * account, a `snapshot` its sections. Omitting `form` stays valid — an
145
- * undeclared context is the documented default.
146
- */
147
- type ContextFormed =
148
- | { readonly form?: never }
149
- | { readonly form: 'instructions' }
150
- | { readonly form: 'catalog' }
151
- | {
152
- readonly form: 'snapshot'
153
- /** The named contributions this snapshot assembled, in order. */
154
- readonly sections: readonly ContextSnapshotSection[]
155
- }
156
- | {
157
- readonly form: 'notice'
158
- /** One-line account of what happened, shown without expanding the row. */
159
- readonly summary: string
160
- }
161
- | { readonly form: 'relay' }
162
- | { readonly form: 'recall' }
163
- ```
164
-
165
- <a id="streamchunk--the-raw-protocol"></a>
166
-
167
- ## `StreamChunk` — the raw protocol
168
-
169
- A streaming response interleaves several typed blocks (text, reasoning, multiple tool calls). `index` ties each delta to its block; `block-end` carries the fully-assembled `ContentBlock` so consumers don't have to re-assemble deltas themselves. It is a **closed** discriminated union — a `switch` over `type` ends with `assertNever`, so adding a variant breaks compilation at every consumer that must handle it.
170
-
171
- ```ts type-equiv
172
- /**
173
- * Adapter-private lossless-JSON state for replaying a successful response,
174
- * carried by a terminal `finish` chunk and stored on the assembled assistant
175
- * message's model source. Both halves stay opaque to the harness; only the
176
- * split is shared vocabulary, so assembly can keep stored metadata aligned
177
- * with stored content without reading either half.
178
- */
179
- interface ReplayEnvelope {
180
- /** Response-level adapter-private metadata (ids, native stop reason). */
181
- response: unknown
182
- /**
183
- * Per-block adapter-private metadata, one entry per emitted block in
184
- * first-seen stream order. When assembly drops a block it drops the entry at
185
- * the same position; entries whose length does not match the emitted block
186
- * count discard the whole envelope. An adapter whose metadata is independent
187
- * of block structure omits this field and the envelope passes through
188
- * assembly unchanged.
189
- */
190
- blocks?: readonly unknown[]
191
- }
192
- ```
193
-
194
- ```ts type-equiv
195
- /**
196
- * Raw streaming protocol emitted by adapters.
197
- * Block indexes correlate interleaved deltas, and `block-end` carries the
198
- * assembled block. Adapters emit usage before the terminal finish and nothing
199
- * afterward; tool arguments remain raw JSON strings. An adapter implementation
200
- * may throw, but `LlmRuntime.stream()` normalizes that failure to a terminal
201
- * `error` or `aborted` finish before exposing it to consumers.
202
- */
203
- type StreamChunk =
204
- | { type: 'block-start'; index: number; blockType: ContentBlockType }
205
- | { type: 'text-delta'; index: number; text: string }
206
- | { type: 'reasoning-delta'; index: number; text: string }
207
- | { type: 'tool-call-delta'; index: number; id: ToolCallId; name?: string; argumentsDelta: string }
208
- | { type: 'block-end'; index: number; block: ContentBlock }
209
- | { type: 'usage'; usage: TokenUsage }
210
- | {
211
- type: 'finish'
212
- reason: FinishReason
213
- /** Replay metadata for a successful response; see {@link ReplayEnvelope}. */
214
- replayState?: ReplayEnvelope
215
- }
216
- ```
217
-
218
- <a id="compact-assistant-streams"></a>
219
-
220
- ## Compact Assistant streams
221
-
222
- `AssistantStreamAccumulator` pairs each `StreamChunk` with its original safe-integer timestamp and produces `AssistantStreamRecord[]`. Consecutive text, reasoning, or tool-argument deltas for the same block become one record with `time0`, exact timestamp gaps, and one array entry per original delta; every other chunk stays a timestamped raw record. This representation removes repeated event envelopes without joining token boundaries or dropping terminal, usage, block, failure, or replay facts.
223
-
224
- `snapshot()` returns a detached immutable stream. `expandAssistantStream()` strictly checks record keys, member counts, indexes, timestamps, tool-call identity, and lossless JSON before recreating the exact timed chunk sequence. The Session log embeds this stream in `assistant/message` for a surface result or `assistant/attempt` for an attempt with no surface message.
225
-
226
- Process-local `agent/assistant-stream` frames carry live presentation. Durable replay and restore validation still expand the embedded settlement; telemetry, token accounting, and Host folds read the compact records directly. Record-level readers (`assistantStreamFirstTokenTime`, `assistantStreamHasVisibleContent`, `assistantStreamHasVisibleText`, `lastAssistantStreamChunk`, `assistantStreamChunks`, `joinAssistantStreamText`, `assembleAssistantStream`, and the per-run `runFirstTokenTime` and `runFirstVisibleTime`) answer consumer questions in one pass over the records with early exit, so a large history costs O(records) per settlement instead of O(members) expansion ([fold reference](../../packages/llm/llm/README.md)). `expandAssistantStream()` remains the validating path for records read at a durable boundary and for consumers that need every member.
227
-
228
- ## `LlmFailure`
229
-
230
- Every thrown or in-band final-adapter failure normalizes to one serializable provider-neutral payload. `providerRetryAfterMs` is a validated positive delay requested by the provider, not a retry decision; `ProviderRequestId` is an opaque branded string for diagnostics.
231
-
232
- ```ts type-equiv
233
- /** Serializable provider or transport failure facts; policy decides whether they are retryable. */
234
- interface LlmFailure {
235
- /** Human-readable provider or transport failure. */
236
- readonly message: string
237
- /** Stable provider-neutral machine-routing code. */
238
- readonly code: string
239
- /** HTTP status returned by the provider, when available. */
240
- readonly status?: number
241
- /** Provider-requested delay in milliseconds, when valid and available. */
242
- readonly providerRetryAfterMs?: number
243
- /** Opaque provider-issued request identifier for diagnostics. */
244
- readonly requestId?: ProviderRequestId
245
- /**
246
- * With code `IMAGE_OFFLOAD_REQUIRED`: how many more of the oldest retained
247
- * image occurrences the route needs offloaded before the same request fits
248
- * its exact byte accounting. `dsh-compaction-image-offload` records the
249
- * selected occurrences in an `image/offload` event and retries the step.
250
- */
251
- readonly offloadImages?: number
252
- }
253
- ```
254
-
255
- ## Request-image pricing
256
-
257
- An adapter whose provider charges visual tokens for request images declares per-route pricing by overriding `LlmAdapter.imageRequestPricing`, and `ctx.llm.imageRequestPricing(provider, model)` resolves it synchronously for consumers. The token meter resolves the routed model's pricing on every measurement so compaction pressure, retention, and range selection price image history as the routed request actually sends it; the DeepSeek adapter prices each retained occurrence at its per-model request target with the published vision accounting and each occurrence selected by a logged image-offload decision as its placeholder text, while provider usage remains the authoritative anchor for completed requests.
258
-
259
- ```ts type-equiv
260
- /**
261
- * Request price of one ordered image occurrence under one exact model route's
262
- * request projection. Every occurrence resolves to the pair the wire actually
263
- * carries: provider visual tokens for a retained image, plus the model-visible
264
- * text sent with or instead of it (request-preview handle, offload placeholder,
265
- * or text-only substitution). The caller prices `text` with its own text
266
- * estimator so provider pricing never fixes a text tokenization.
267
- */
268
- interface LlmImageRequestPrice {
269
- /** Provider visual tokens for the retained request image; 0 when only text represents this occurrence. */
270
- visualTokens: number
271
- /** Model-visible text sent for this occurrence, to be priced by the caller's text estimator. */
272
- text: string
273
- }
274
- ```
275
-
276
- ```ts type-equiv
277
- /**
278
- * Provider-side request-image pricing for one exact model route. Implemented
279
- * by adapters whose provider charges visual tokens; consumers (the token
280
- * meter) resolve it synchronously per measurement, so implementations must not
281
- * perform I/O.
282
- */
283
- interface LlmImageRequestPricing {
284
- /**
285
- * Price every image occurrence of one request projection.
286
- * @param images - surface image blocks in request order, one entry per occurrence; an `offloaded` block
287
- * is priced as its placeholder text.
288
- * @returns one price per occurrence, aligned by index with `images`.
289
- */
290
- priceImages(images: readonly ImageBlock[]): readonly LlmImageRequestPrice[]
291
- }
292
- ```
293
-
294
- ## The adapter contract
295
-
296
- Every adapter MUST obey these, and every consumer may rely on them:
297
-
298
- - **`usage` before `finish`, nothing after `finish`.** Defer both to the provider's end-of-stream marker so a trailing usage-only chunk can't violate the ordering.
299
- - **Tool-call `arguments` stay raw JSON strings end-to-end.** Partial fragments stream via `argumentsDelta`; a provider that hands back parsed objects re-stringifies at `block-end`.
300
- - **Two sanctioned error paths, one `LlmFailure` type.** A failure may either THROW from `stream()` (transport/protocol errors) **or** end the stream with `finish {kind:'error'|'aborted', failure}` (provider in-band errors, for adapters that can't throw mid-stream). `LlmError.failure` carries the same `LlmFailure`. After the call selects its adapter, the stream preserves the exact thrown `Error` object and associates immutable facts plus the serving registration's immutable retry policy with that call; the agent loop commits the attempt stream as `assistant/attempt`, closes the failed step, and offers the error, facts, immutable prior-retried facts, serving policy, and turn signal to `agent/request-error`. A handling listener returns `{ kind: 'retry' }` after its awaited repair; absent recovery the structured failure becomes the turn error, and no surface Assistant message or tool side effect is committed for that attempt.
301
- - **One adapter call is one provider attempt.** Adapters disable library retries. Agent-level recovery opens another durable numbered turn; direct `ctx.llm.stream()` callers remain single-attempt.
302
- - **Provider stalls are bounded at the transport.** Both shipping remote adapters expose positive finite `streamIdleTimeoutMs` with a five-minute default. The watchdog arms only while iterator `next()` is outstanding, uses one stable signal for the whole request, maps its own expiry to `TIMEOUT`, and keeps an earlier caller abort as `ABORTED`.
303
- - **Context overflow has one canonical code.** Both DeepSeek adapters classify explicit provider detail through `isContextWindowExceededError()` and surface `CONTEXT_WINDOW_EXCEEDED`, whether the failure arrives as a thrown HTTP `LlmError` or an in-band finish error. Consumers route on the code, never provider text.
304
- - **An empty completion is a retryable error, not a silent success.** Both adapters map a terminal `stop` finish that carried no content blocks to `finish {kind:'error'}` with the canonical `EMPTY_RESPONSE` code, and `dsh-llm-retry` retries it by default.
305
- - **Every provider HTTP request carries the app-attribution header.** Adapters send `attributionHeaders()` (below) - the `User-Agent` baseline - and prove it with a wire-level test.
306
- - **Replay state is adapter-owned; its split is shared.** A successful `finish` may carry a `ReplayEnvelope`: opaque response-level metadata plus optional per-block entries aligned with the emitted block sequence. The alignment is the harness's vocabulary — when assembly drops a block it drops the entry at the same position, so stored metadata always describes stored content. The loop stores the pruned envelope with the assembled assistant message. On a later request, `LlmRuntime` passes the state only when the historical provider and target provider are currently registered to the exact same adapter instance. That adapter validates the state and owns any cross-model or cross-provider conversion; other adapters receive the provider-neutral content plus provider/model fields without the private state. Durable content stays authoritative: a stored state the reading adapter cannot use degrades that one message to provider-neutral conversion with a diagnostic instead of failing the request.
307
-
308
- ## `ResolvedRetryPolicy`
309
-
310
- Retry configuration resolves before route registration into an immutable discriminated union. Normal mode carries `mode: 'normal'`, finite `maxRetries`, `retryableCodes`, and required `initialDelayMs`, `maxDelayMs`, and `jitterRatio`; always mode carries `mode: 'always'` and the same required backoff fields without a finite maximum. Omitting a provider policy uses the normal default of five retries. Layered settings may retain normal-only `maxRetries` or `retryableCodes` after switching to always mode; the resolver ignores those inactive fields and captures the pure always policy. `LlmRuntime.providerRetryPolicy(provider)` returns the registered value, and `llmRetryPolicyOf(stream)` returns the value captured from the serving registration after the call selects it, so later route disposal or replacement cannot change an in-flight failure's recovery policy. The [generated config catalog](../config-catalog.md) lists the optional input fields.
311
-
312
- ## `AppIdentity` — app attribution
313
-
314
- The static public application identity every adapter sends to providers ([`packages/llm/llm/src/attribution.ts`](../../packages/llm/llm/src/attribution.ts)). `attributionHeaders(identity?)` maps it to the standard `User-Agent` header only; OpenRouter-specific app attribution headers are intentionally not supported by this contract. The default `APP_IDENTITY` sources its version from the package manifest; every field is a public product fact - no secrets, paths, session ids, or per-user identifiers, and nothing per-request may influence the values.
315
-
316
- ```ts type-equiv
317
- /**
318
- * Static public application identity sent to LLM providers.
319
- *
320
- * Every field is a public product fact, safe on every request: no secrets,
321
- * local paths, session ids, prompt text, or per-user identifiers belong here,
322
- * and nothing per-request may influence the values.
323
- */
324
- interface AppIdentity {
325
- /** `User-Agent` product token (lowercase, hyphenated). */
326
- product: string
327
- /** Product version; sourced from package metadata, never hand-copied. */
328
- version: string
329
- /** Repository home URL of the app, used as the `User-Agent` comment. */
330
- url: string
331
- }
332
- ```
333
-
334
- ## `TokenUsage`
335
-
336
- Per-call token accounting. Counts are **disjoint**: `inputTokens` is uncached input only; cached input is reported separately, and billed input is the sum of the three. Adapters whose providers fold cache hits into a single prompt total (DeepSeek's `prompt_tokens`) subtract them back out. Optional `totalTokens` is an exact aggregate prompt-plus-output count preserved from the provider or reconstructed from authoritative aggregate counters; adapters omit it when unavailable or inconsistent. `reasoningTokens`, when present, is informational detail already included in `outputTokens`; totals must not add it again.
337
-
338
- ```ts type-equiv
339
- /**
340
- * Token accounting for one model call (cache fields are optional).
341
- *
342
- * Counts are DISJOINT: `inputTokens` is uncached input only; cached input is
343
- * reported separately as `cacheReadTokens`/`cacheWriteTokens` (billed input =
344
- * sum of the three). Adapters whose providers fold cache hits into a total
345
- * prompt count (DeepSeek's `prompt_tokens`) subtract them out.
346
- */
347
- interface TokenUsage {
348
- inputTokens: number
349
- outputTokens: number
350
- /**
351
- * Exact full-call total including aggregate prompt and output tokens.
352
- *
353
- * Adapters preserve a provider total or derive it from authoritative
354
- * aggregate prompt/output counters; they omit it when unavailable or
355
- * inconsistent.
356
- */
357
- totalTokens?: number
358
- cacheReadTokens?: number
359
- cacheWriteTokens?: number
360
- reasoningTokens?: number
361
- }
362
- ```
363
-
364
- ## `BlockAssembler`
365
-
366
- `BlockAssembler` ([`packages/llm/llm/src/assembler.ts`](../../packages/llm/llm/src/assembler.ts)) is the single shared implementation that folds a `StreamChunk` stream back into `ContentBlock`s, usage, finish reason, and replay state. The loop logs the raw chunks while feeding the same chunks through an assembler, then stores the assembled assistant content with the provider and model that produced it. A consumer that needs the assembled result without re-implementing the fold uses this.
367
-
368
- One keep/drop decision covers content and metadata together: a `max-tokens` finish drops every tool call because a truncated call is unsafe to execute, and the same decision prunes the replay envelope's per-block entry at each dropped position. `blocks()` and `replayState` therefore cannot disagree, whatever assembly removes.
369
-
370
- ```ts public-api
371
- /**
372
- * Incrementally assembles raw {@link StreamChunk}s into complete
373
- * {@link ContentBlock}s and a final assistant {@link Message}.
374
- *
375
- * The agent loop feeds it while logging raw chunks for replay fidelity, then
376
- * reads `blocks()` / `message()` / `usage` / `finish` once the stream ends,
377
- * or `interruptedBlocks()` when cancellation cut the stream short.
378
- *
379
- * Tolerant of delta-only protocols (no block-start/end); deltas arriving for
380
- * an index already closed by `block-end` are ignored (malformed stream) so a
381
- * misbehaving adapter cannot grow memory or corrupt a completed block.
382
- */
383
- declare class BlockAssembler {
384
- /**
385
- * Feed one chunk into the assembly state.
386
- * @param chunk - the next raw chunk, in stream order.
387
- */
388
- push(chunk: StreamChunk): void;
389
- /**
390
- * Assemble all blocks seen so far, in stream order.
391
- * @returns one block per seen index, except that max-token truncation drops
392
- * tool calls that cannot be executed safely; an open block assembles from
393
- * its accumulated deltas (an unknown block type never closed by `block-end` throws).
394
- */
395
- blocks(): ContentBlock[];
396
- /**
397
- * Assemble the prefix an interrupted stream can safely finalize: closed and
398
- * open text/reasoning blocks with non-whitespace content, in stream order.
399
- * Tool calls are omitted because interruption precedes dispatch; retaining
400
- * one would require a fabricated result. Open unknown blocks are also omitted.
401
- * @returns the kept blocks; empty when nothing streamed before the interruption.
402
- */
403
- interruptedBlocks(): ContentBlock[];
404
- /** Usage from the `usage` chunk; undefined until one arrives. */
405
- get usage(): TokenUsage | undefined;
406
- /** Finish reason from the `finish` chunk; `{kind: 'stop'}` when the stream ended without one. */
407
- get finish(): FinishReason;
408
- /**
409
- * Replay metadata from the terminal finish chunk, if any, with per-block
410
- * entries pruned in step with {@link blocks}. Undefined when the envelope's
411
- * entries do not align with the emitted blocks.
412
- */
413
- get replayState(): ReplayEnvelope | undefined;
414
- /**
415
- * The assembled assistant message.
416
- * @param source - provider/model attribution (without the `kind` tag) for the assembled message.
417
- * @returns a frozen assistant-role message over `blocks()` (same open-block assembly rules).
418
- */
419
- message(source: Omit<ModelMessageSource, 'kind'>): AssistantMessage;
420
- }
421
- ```
422
-
423
- <a id="the-model-request-and-result"></a>
424
-
425
- ## The model request
426
-
427
- One model call is a fully-assembled `GenerateOptions`. The adapter answers with a raw [`StreamChunk`](#streamchunk--the-raw-protocol) stream; the consumer assembles it with [`BlockAssembler`](#blockassembler).
428
-
429
- Source: [`packages/llm/llm/src/types.ts`](../../packages/llm/llm/src/types.ts)
430
-
431
- Provider and model discovery uses small provider-neutral descriptors. A model catalog is advisory: routing still keys on a registered provider.
432
-
433
- Registering an adapter returns a handle: the disposer, plus the atomic route replacement a plugin whose route set is user-configurable needs.
434
-
435
- ```ts type-equiv
436
- /**
437
- * What {@link LlmRuntime.registerAdapter} returns: the disposer, plus an
438
- * atomic route replacement for the same adapter instance.
439
- */
440
- interface AdapterRegistrationHandle {
441
- /** Release every route this registration currently holds. */
442
- (): void
443
- /**
444
- * Replace this registration's routes with `providers`, keeping the same
445
- * adapter instance. The candidate set is validated in full first — a
446
- * conflict with another adapter, an invalid name, or bad provider metadata
447
- * throws and leaves the current routes untouched — and the swap itself is
448
- * one synchronous section, so no request can observe a gap. An empty array
449
- * is legal here (a settings section that emptied holds zero routes while
450
- * staying registered), unlike an empty initial registration.
451
- *
452
- * Throws `LlmError` with code `REGISTRATION_DISPOSED` once the registration
453
- * has been released: its routes are gone and its disposer has already run,
454
- * so anything registered afterwards would have no owner left to release it.
455
- * @param providers - the complete next route set for this registration.
456
- */
457
- replace(providers: string[]): void
458
- }
459
- ```
460
-
461
- ```ts type-equiv
462
- /** Display metadata for one registered provider route. */
463
- interface LlmProviderInfo {
464
- /** Provider route key used by {@link GenerateOptions.provider}. */
465
- id: string
466
- /** Human-readable provider name for selectors and diagnostics. */
467
- name: string
468
- }
469
- ```
470
-
471
- Adapter plugins additionally declare which routes *could* run through `registerConfigurableProviders()`, addressing each one's user-settings section, so configuration surfaces can offer dormant providers before any route registers.
472
-
473
- ```ts type-equiv
474
- /**
475
- * One provider route an adapter plugin can activate through configuration,
476
- * whether or not the route is currently registered. Configuration surfaces
477
- * merge this directory with `listProviders()` to offer every configurable
478
- * provider alongside its live/dormant state.
479
- */
480
- interface LlmConfigurableProvider {
481
- /** Provider route key this entry activates when configured. */
482
- provider: string
483
- /** Human-readable provider name for configuration surfaces. */
484
- displayName: string
485
- /** User-settings namespace whose section configures this provider. */
486
- settingsNs: string
487
- /**
488
- * Path from that namespace's section root to this provider's profile
489
- * object; empty when the whole section is the profile.
490
- */
491
- settingsPath: readonly string[]
492
- /**
493
- * Whether the owning adapter knows this route only because configuration
494
- * declared it — a gateway or self-hosted server it ships nothing about.
495
- * Absent means the adapter draws no such distinction; false means it does
496
- * and this route is one of its own. Only the adapter can answer: a stored
497
- * profile is how a user-added route AND a corrected shipped one both look
498
- * from outside.
499
- */
500
- declared?: boolean
501
- /**
502
- * Route endpoint the adapter uses when the profile sets no `baseURL`; the
503
- * adapter may still send an individual model to that model's own endpoint.
504
- * Absent when the route has no fixed endpoint.
505
- */
506
- defaultBaseURL?: string
507
- /** Environment variables used to construct a provider endpoint; absent when none are reported. */
508
- baseURLEnv?: readonly string[]
509
- /** Authentication the adapter performs when the profile names no credential reference; absent when it reports none. */
510
- nativeAuth?: LlmNativeAuth
511
- /** Configuration diagnostic for repair; unaffected models may remain serviceable. */
512
- error?: string
513
- }
514
- ```
515
-
516
- A settings editor shows `defaultBaseURL`, endpoint configuration variables from `baseURLEnv`, and `nativeAuth` for a profile that leaves the endpoint or the credential reference unset. Both variable lists contain names, never values.
517
-
518
- ```ts type-equiv
519
- /** Authentication a provider route performs without a credential reference in its profile. */
520
- interface LlmNativeAuth {
521
- /** Environment variables the route's authentication reads, in lookup order; empty when it reads none. */
522
- env: readonly string[]
523
- /** Whether a stored OAuth sign-in can authenticate the route. */
524
- oauth: boolean
525
- }
526
- ```
527
-
528
- ```ts type-equiv
529
- /** One adapter-discovered model; catalog membership is advisory, not request validation. */
530
- interface LlmModelInfo {
531
- /** Provider route that owns this model entry. */
532
- provider: string
533
- /** Model id passed to {@link GenerateOptions.model}. */
534
- id: string
535
- /** Human-readable model name for selectors. */
536
- name: string
537
- /** Optional user-facing distinction from otherwise similar models. */
538
- description?: string
539
- /** Accepted request modalities; absent means unknown, while an explicit omission is negative capability. */
540
- inputModalities?: readonly ModelModality[]
541
- }
542
- ```
543
-
544
- Correctness-sensitive metadata is resolved separately from the advisory catalog and is owned by the adapter serving the exact route. Context capacity, adapter call defaults, reasoning choices, and the system prompt update mode share one exact-model result so consumers do not repeat authoritative model resolution. `SystemPromptUpdate` has the single value `'in-history'`: the model reads the latest `system` message at any position of `messages` as the complete effective system prompt, so the agent loop can append a changed prompt after the cached history instead of rewriting message 0 ([decision rule](../../packages/core/agent-loop/README.md#understand-the-implementation)); an absent mode means only a leading system message is read, and `normalizeModelInfo` rejects any other value with `INVALID_MODEL_INFO`.
545
-
546
- ```ts type-equiv
547
- /** Provider-owned context capacity for one exact provider/model route. */
548
- interface LlmModelContext {
549
- /** Maximum combined request and response context in tokens. */
550
- contextWindow: number
551
- }
552
- ```
553
-
554
- Reasoning effort is another exact-route capability. The core brands identifiers but does not enumerate their values; each adapter owns the choices in increasing effort order, display names, and optional deployment default. Ordering compares selectable controls, not predicted token use, cost, or latency.
555
-
556
- ```ts type-equiv
557
- /** Adapter-owned identifier for one model's selectable reasoning effort. */
558
- type ReasoningEffortId = Branded<'ReasoningEffortId'>
559
- ```
560
-
561
- ```ts type-equiv
562
- /** Display metadata for one adapter-owned reasoning effort. */
563
- interface LlmReasoningEffortInfo {
564
- /** Opaque stable value accepted by {@link GenerateOptions.reasoningEffort}. */
565
- id: ReasoningEffortId
566
- /** Human-readable effort name for selectors and diagnostics. */
567
- name: string
568
- /** Optional user-facing distinction from otherwise similar efforts. */
569
- description?: string
570
- }
571
- ```
572
-
573
- ```ts type-equiv
574
- /** Selectable reasoning efforts for one exact provider/model route. */
575
- interface LlmModelReasoningInfo {
576
- /** Supported efforts from least to greatest selectable reasoning effort, not predicted token use or latency. */
577
- efforts: readonly LlmReasoningEffortInfo[]
578
- /**
579
- * Adapter-configured default materialized into requests when callers omit
580
- * an effort. Absence preserves the provider's own default.
581
- */
582
- defaultEffort?: ReasoningEffortId
583
- }
584
- ```
585
-
586
- ```ts type-equiv
587
- /** Exact-route model metadata resolved by its owning adapter. */
588
- interface LlmResolvedModelInfo extends LlmModelInfo {
589
- /** Provider-owned context capacity when known. */
590
- context?: LlmModelContext
591
- /** Adapter-configured per-request output cap materialized when callers omit one. */
592
- defaultMaxTokens?: number
593
- /** Adapter-owned selectable reasoning levels when exposed. */
594
- reasoning?: LlmModelReasoningInfo
595
- /** Declared mid-conversation system prompt handling; absent means only a leading system message is read. */
596
- systemPromptUpdate?: SystemPromptUpdate
597
- /** Declared mid-conversation tool declaration handling; absent means every request declares the complete tool list. */
598
- toolUpdate?: ToolUpdate
599
- }
600
- ```
601
-
602
- Auxiliary callers can provide user content without a durable identity or source. Existing `Message[]` histories remain valid request inputs. Session writes, Agent delivery, and recorded title requests continue to require durable messages.
603
-
604
- ```ts type-equiv
605
- /** User input for one LLM request; it has no durable Session identity or source. */
606
- interface RequestUserInput {
607
- readonly role: 'user'
608
- readonly content: UserMessage['content']
609
- readonly id?: never
610
- readonly source?: never
611
- }
612
- ```
613
-
614
- ```ts type-equiv
615
- /** A durable conversation message or a user input used only for one request. */
616
- type RequestMessage = Message | RequestUserInput
617
- ```
618
-
619
- ```ts type-equiv
620
- /** A single model request, fully assembled. */
621
- interface GenerateOptions {
622
- /** Registered provider route selecting the adapter instance. */
623
- provider: string
624
- model: string
625
- /** Adapter-owned reasoning effort selected for this exact model. */
626
- reasoningEffort?: ReasoningEffortId
627
- /**
628
- * Ordered conversation messages, exactly as the provider sees them. A
629
- * loop-built request passes the derived history (dsh-agent-loop), whose
630
- * leading system-role message carries the system prompt; a hand-built
631
- * one-shot may include identity-free user inputs.
632
- */
633
- messages: RequestMessage[]
634
- /**
635
- * System prompt text for one-shot callers; adapters map it to the provider's
636
- * system slot ahead of `messages`. Loop-built requests leave it undefined.
637
- */
638
- system?: string
639
- /** Tool schemas (adapters map to the provider's `tools` field). */
640
- tools?: ToolSchema[]
641
- /** Session-folded tool history used for route projection; omission sends complete declarations without tool updates. */
642
- toolHistory?: ToolHistory
643
- temperature?: number
644
- maxTokens?: number
645
- /**
646
- * Stop sequences: generation halts as soon as the model produces any one of
647
- * these strings (adapters map to the provider's stop field, e.g. OpenAI
648
- * `stop`). The stop string itself is not included in the output.
649
- */
650
- stop?: string[]
651
- signal?: AbortSignal
652
- /**
653
- * Session identity stamped by the loop for request routing. Replay uses it
654
- * to separate cursors; adapters may map it to model-hidden transport metadata.
655
- */
656
- sessionId?: Branded<'SessionId'>
657
- /**
658
- * Provider-neutral classification for an auxiliary model call. Adapters may
659
- * map the purpose to model-hidden transport metadata. Ordinary conversation
660
- * requests leave it unset.
661
- */
662
- purpose?: 'compaction' | 'session-title'
663
- }
664
- ```
665
-
666
- Why a model response stopped is a merge-extensible reason. Terminal provider failures carry the streaming contract's [`LlmFailure`](#llmfailure):
667
-
668
- ```ts type-equiv
669
- /**
670
- * Why a model response stopped.
671
- * Merge-extensible so adapters can surface provider-specific reasons.
672
- */
673
- interface FinishReasonMap {
674
- 'stop': { kind: 'stop' }
675
- 'tool-calls': { kind: 'tool-calls' }
676
- 'max-tokens': { kind: 'max-tokens' }
677
- 'aborted': { kind: 'aborted'; failure: LlmFailure }
678
- 'error': { kind: 'error'; failure: LlmFailure }
679
- }
680
- ```
681
-
682
- `FinishReason = FinishReasonMap[keyof FinishReasonMap]`. `TokenUsage` (per-call accounting with disjoint cache fields) is detailed [below](#tokenusage).
683
-
684
- `GenerateOptions.tools` carries `ToolSchema` — the JSON-schema description of a tool, as sent to the model. It is declared in dsh-llm (not dsh-tools) precisely because it is part of the request the loop assembles every step:
685
-
686
- ```ts type-equiv
687
- /**
688
- * JSON-schema description of a tool, as sent to the model.
689
- *
690
- * Declared here (not in dsh-tools) because it is part of {@link GenerateOptions};
691
- * dsh-tools' ToolDefinition and dsh-system-prompt's PromptAssembly both import
692
- * it from this package.
693
- */
694
- interface ToolSchema {
695
- /**
696
- * Requests deferred loading of the tool definition into model context,
697
- * independently of whether a tool-addition block records the tool.
698
- * Uses Anthropic's defer_loading terminology.
699
- */
700
- deferLoading?: true
701
- name: string
702
- description: string
703
- /** JSON Schema object for the arguments. */
704
- parameters: Record<string, unknown>
705
- }
706
- ```
707
-
708
- The model-facing `ToolSchema` is the wire type; the registered `ToolDefinition` that produces it (schema + `execute`) is on [tools.md](tools.md).
709
-
710
- A provider a surface is still drafting has no route and no catalog, so interrogation is described separately: the request carries the draft the user is editing, and the reply is candidates a surface may adopt rather than a catalog it must serve.
711
-
712
- ```ts type-equiv
713
- /**
714
- * One interrogation of a provider endpoint that configuration has not stored
715
- * yet. Configuration surfaces send the draft a user is still editing, so the
716
- * request carries the endpoint and credential directly instead of naming a
717
- * route: a provider being added has no route to name.
718
- */
719
- interface LlmModelDiscoveryRequest {
720
- /**
721
- * Route the draft is editing, when it edits an existing one. A route whose
722
- * adapter already knows its models answers from that knowledge instead of
723
- * asking the endpoint — the adapter's own registry is the better answer, and
724
- * it costs no network call.
725
- */
726
- provider?: string
727
- /**
728
- * Endpoint to interrogate. Optional because a route the adapter already
729
- * describes needs none; a route it does not must supply one.
730
- */
731
- baseURL?: string
732
- /** Wire protocol the endpoint speaks, when the draft names one. */
733
- api?: string
734
- /** Credential for this interrogation alone; the harness never stores it. */
735
- apiKey?: string
736
- }
737
- ```
738
-
739
- ```ts type-equiv
740
- /**
741
- * One model an endpoint reports about itself. Every field but the id is
742
- * optional because most provider listings disclose an id and nothing else;
743
- * a surface adopting one of these still owes the capacities its adapter needs.
744
- */
745
- interface LlmDiscoveredModel {
746
- /** Model id the endpoint accepts. */
747
- id: string
748
- /** Human-readable name when the endpoint supplies one. */
749
- name?: string
750
- /** Maximum combined request and response context, when disclosed. */
751
- contextWindow?: number
752
- /** Maximum output tokens, when disclosed. */
753
- maxTokens?: number
754
- /** Accepted input types when disclosed by the catalog or endpoint; absent means unknown. */
755
- inputModalities?: readonly ModelModality[]
756
- }
757
- ```
758
-
759
- ### The request envelope: `LlmCallConfig` and the logged header
760
-
761
- The loop builds each request from logged state. `EpochHeader` records call config, marks the fields supplied by adapter defaults, and records the authoritative returned tool order (configured by `toolOrder`, or lexicographic when unset) through full `request/header` snapshots. The rendered prompt is derived history — the `system/message` at surface node 0, plus any later system node an `in-history` route appended — so the header and the derived history together make the request reconstructable from the session log. See [session.md](session.md#the-request-header-event-requestheader) and the [reconstructability Agent Note](../../.agents/notes/implemented/architecture/2026-07-05-reconstructable-requests.md).
762
-
763
- `agent/request` receives a frozen call-config seed and may return a replacement to switch provider, model, reasoning effort, or sampling. Before the waterfall, the loop removes values marked as adapter defaults so exact-model preparation materializes the selected route's current values; unmarked explicit settings remain in the proposal. After the waterfall, preparation rejects unsupported explicit effort ids without clamping and logs the effective config plus the fields supplied by adapter defaults under the turn signal. On step admission, this waterfall and preparation run after assembly and `step/start` but before the system prompt and accepted user batch are committed; cancellation during either commits neither. The prepared capability governs prompt reconciliation, and the call keeps one adapter registration through dispatch. Requests reaching `llm/stream` are deep-frozen, so mutation throws, and carry a process-local loop identity so observers do not confuse separately logged frozen auxiliary calls with conversation requests.
764
-
765
- On the wire, a loop-built request is the derived history alone: the rendered prompt travels as the leading `system`-role message (surface node 0, a `system/message` event) and, when the prepared call declares `systemPromptUpdate: 'in-history'`, a non-empty changed prompt may follow the cached history as a later `system`-role message that the model reads as the effective prompt; the request's `system` field is unset — `GenerateOptions.system` serves direct one-shot callers such as title providers. An empty rendering leaves no system messages in derived history, even when earlier requests retained several prompt versions. The logged request ends with the newest `user/message` on a turn's first step and the previous step's tool results on later steps.
766
-
767
- FIXME(call-config-shape): revisit which remaining fields are genuinely epoch-level for cache purposes (`model` and the model-owned reasoning effort are explicit; the sampling scalars sit here out of caution).
768
-
769
- ```ts type-equiv
770
- /** Concrete generation settings; omitted controls use the selected route's defaults. */
771
- interface LlmCallControls {
772
- reasoningEffort?: ReasoningEffortId
773
- temperature?: number
774
- maxTokens?: number
775
- stop?: string[]
776
- }
777
- ```
778
-
779
- ```ts type-equiv
780
- /**
781
- * Provider, model, reasoning effort, and sampling scalars of one conversation's
782
- * requests. Every field maps 1:1 onto the same-named `GenerateOptions` field;
783
- * the loop builds requests from the logged header rather than accepting these
784
- * per call.
785
- */
786
- interface LlmCallConfig extends LlmCallControls {
787
- provider: string
788
- model: string
789
- }
790
- ```
791
-
792
- ```ts type-equiv
793
- /**
794
- * Synchronous, pure configuration of one call before defaults and validation.
795
- * Compose functions in the desired order; later writes replace earlier ones.
796
- * The returned controls cannot change the captured route. Errors reject
797
- * preparation before dispatch; only the resolved configuration is recordable.
798
- * @param controls - detached, deeply frozen proposed controls, without defaults.
799
- * @param model - detached, deeply frozen metadata from the captured adapter generation.
800
- * @returns concrete controls; omitted fields receive the route's defaults.
801
- */
802
- type ConfigureCall = (
803
- controls: Readonly<LlmCallControls>,
804
- model: Readonly<LlmResolvedModelInfo>,
805
- ) => LlmCallControls
806
- ```
807
-
808
- ```ts type-equiv
809
- /**
810
- * Effective config fields supplied by exact-model adapter resolution rather
811
- * than by the caller's request proposal.
812
- */
813
- interface LlmCallConfigAdapterDefaults {
814
- reasoningEffort?: true
815
- maxTokens?: true
816
- }
817
- ```
818
-
819
- ## Official DeepSeek request extensions
820
-
821
- `ctx.deepseekLlmApiExtensions` is the provider-specific registry for additive top-level fields on `deepseek-official` requests. Contributor plugins use `register(field, provider)` to claim one field; the adapter calls `prepare(request)` after serializing its base body and merges the returned fields before HTTP. The prepared `accept()` transaction runs after 2xx, so a contributor can commit delivery state without treating a transport or provider rejection as acceptance. A contributor whose preparation throws is logged and omitted from that request, and an acceptance failure is logged without failing the request; a base-field collision uses `REQUEST_EXTENSION` and fails the model request. A merged body that fails to serialize is sent without extension fields; acceptance is skipped and the provider plugin logs the omitted field names.
822
-
823
- The [wire reference](../deepseek-llm-api-wire-extensions.md) defines the exact request headers, extension transaction, field versions, and receiver obligations. The shipped composition registers [`dsh_session_log`](../../packages/session/session-log-deepseek/README.md) as a lossless incremental canonical-log suffix and [`dsh_plugin_packages`](../../packages/llm/plugin-package-inventory-deepseek/README.md) as the complete active Loader-backed package set. These fields remain outside model messages and are absent from the pi-ai adapter path.
824
-
825
- ## Service and provider contracts
826
-
827
- `LlmAdapter` is the provider contract: subclass, implement `stream()`, and register one adapter instance with `ctx.llm.registerAdapter(providers, adapter)`. `GenerateOptions.provider` selects the registered adapter; `GenerateOptions.model` is passed to that adapter and need not be registered at lifecycle start. Duplicate provider routes fail atomically. Optional `providerRetryPolicy()` is captured per route with normal defaults, while `providerInfo()` and asynchronous `listModels()` feed `LlmRuntime.listProviders()` / `listModels()` with detached selector metadata. That catalog is advisory rather than a request whitelist: the adapter remains authoritative and may accept unlisted model ids. One asynchronous `resolveModel()` query returns exact model identity plus optional correctness-sensitive context capacity, an adapter-configured `defaultMaxTokens`, and ordered model-owned reasoning ids with an optional deployment default; absent fields mean unavailable metadata or provider-owned behavior, not invalid catalog membership. The resolver receives optional cancellation and must settle promptly after abort. `LlmRuntime.resolveModelInfo()` validates and detaches the aggregate. At the final adapter boundary, `resolveCallConfig()` materializes the output default only when `maxTokens` is absent and validates and materializes reasoning, so direct calls cannot bypass either configured behavior; direct dispatch captures one registration before awaiting that resolution. The agent loop instead uses `prepareCall()` to keep the same registration across model resolution, durable header logging, and dispatch, retain detached context metadata from that exact lookup, and report which config fields the adapter defaulted. Adapter lookup happens at the terminal continuation of the `llm/stream` waterfall, so a listener may short-circuit the call or route a mutable one-shot request before lookup. AgentLoop observes a request attempt once the outer waterfall returns a stream handle; that limited boundary does not prove a lazy terminal adapter was constructed or began provider I/O. The `block-start` / `block-end` `index` correlation and the assembler together mean an adapter only has to emit well-formed chunks — block reassembly is not each adapter's problem. [architecture.md](../architecture.md#turn-flow) shows where `ctx.llm.stream()` and the `llm/stream` waterfall sit in one turn.
828
-
829
- ```ts type-equiv
830
- /** One model call whose config and adapter registration were resolved together. */
831
- interface PreparedLlmCall {
832
- /** Detached, deep-frozen config with any adapter-owned default materialized. */
833
- readonly config: LlmCallConfig
834
- /** Immutable retry policy captured with the adapter registration. */
835
- readonly retryPolicy: ResolvedRetryPolicy
836
- /** Detached context metadata resolved with the registration-bound call. */
837
- readonly context?: LlmModelContext
838
- /** Exact model modalities captured with the adapter dispatch generation. */
839
- readonly inputModalities?: readonly ModelModality[]
840
- /** Exact model system prompt update mode captured with the adapter dispatch generation. */
841
- readonly systemPromptUpdate?: SystemPromptUpdate
842
- /** Exact model tool update mode captured with the adapter dispatch generation. */
843
- readonly toolUpdate?: ToolUpdate
844
- /** Config fields materialized by the captured adapter rather than proposed by the caller. */
845
- readonly adapterDefaults: LlmCallConfigAdapterDefaults
846
- /**
847
- * Dispatch this call once through the registration captured during
848
- * preparation. The request's call-config fields must match {@link config};
849
- * reuse or mismatch fails with `INVALID_PREPARED_CALL`.
850
- * @param options - fully assembled request carrying the prepared config.
851
- * @returns the chunk stream, including the `llm/stream` waterfall.
852
- */
853
- stream(options: GenerateOptions): AsyncIterable<StreamChunk>
854
- }
855
- ```
856
-
857
- ```ts public-api
858
- /**
859
- * Provider-wire adapter for the harness message and stream vocabulary. Register implementations
860
- * with `ctx.llm.registerAdapter(providers, adapter)`. Every provider HTTP request must include
861
- * `attributionHeaders()`; prove the headers are added in the wire request or library header hook. The direct-fetch
862
- * DeepSeek and library-backed pi-ai adapters meet this contract through different internals.
863
- */
864
- declare abstract class LlmAdapter {
865
- /**
866
- * Describe one provider route owned by this adapter.
867
- * @param provider - a route passed to `registerAdapter()` for this instance.
868
- * @returns detached display metadata whose id must equal `provider`.
869
- */
870
- providerInfo(provider: string): LlmProviderInfo;
871
- /**
872
- * Return the provider-owned retry policy captured with this route.
873
- * @param _provider - a route passed to `registerAdapter()` for this instance.
874
- * @returns a resolved policy, or `undefined` to use the normal defaults.
875
- */
876
- providerRetryPolicy(_provider: string): ResolvedRetryPolicy | undefined;
877
- /**
878
- * Resolve provider-side request-image pricing for one exact model route.
879
- * The default declares none, so consumers fall back to their own neutral
880
- * estimate. Implementations must answer synchronously without I/O; the
881
- * token meter resolves this per measurement.
882
- * @param _provider - a route passed to `registerAdapter()` for this instance.
883
- * @param _model - exact model id passed to {@link GenerateOptions.model}.
884
- * @returns route-owned image pricing, or `undefined` when the route declares none.
885
- */
886
- imageRequestPricing(_provider: string, _model: string): LlmImageRequestPricing | undefined;
887
- /**
888
- * Resolve the image dimensions and byte target this adapter sends to the model.
889
- * The default preserves normalized images; adapters that resize must override it.
890
- * @param _provider - registered provider route.
891
- * @param _model - exact model id.
892
- * @param image - normalized image whose request projection is being resolved.
893
- * @returns the same target used by request serialization, before provider-internal processing.
894
- */
895
- imageRequestTarget(_provider: string, _model: string, image: ImageAttachmentRef): ImageRequestTarget;
896
- /**
897
- * List models this adapter can currently advertise for one owned provider.
898
- * Core routing accepts unlisted model ids; catalog-driven entry points such
899
- * as the GUI may require membership. Adapters used there must advertise
900
- * their available models; the base empty catalog offers no GUI selection.
901
- * @param _provider - one provider route owned by this adapter.
902
- * @returns discoverable models in adapter-preferred order.
903
- */
904
- listModels(_provider: string): Promise<readonly LlmModelInfo[]>;
905
- /**
906
- * Resolve all metadata available for one exact model. This query is
907
- * independent of the advisory catalog and does not validate request routing.
908
- * @param provider - one provider route owned by this adapter.
909
- * @param model - exact model id passed to {@link GenerateOptions.model}.
910
- * @param _signal - cancellation for this exact-model lookup; asynchronous
911
- * implementations must settle promptly after it aborts.
912
- * @returns provider/model identity plus any context, call-default, and reasoning metadata.
913
- */
914
- resolveModel(
915
- provider: string,
916
- model: string,
917
- _signal?: AbortSignal,
918
- ): Promise<LlmResolvedModelInfo>;
919
- /**
920
- * Bind exact model metadata and the eventual request dispatch to one adapter generation.
921
- * Dynamic adapters override this so settings changes between preparation and
922
- * dispatch cannot combine one generation's capabilities with another's endpoint.
923
- * @param provider - registered provider route.
924
- * @param model - exact model id.
925
- * @param signal - cancellation for model resolution.
926
- * @returns model metadata and a one-generation stream entry point.
927
- */
928
- async prepareCall(provider: string, model: string, signal?: AbortSignal): Promise<PreparedAdapterCall>;
929
- /**
930
- * Stream one model call as raw chunks. The only required method.
931
- * @param options - the fully-assembled request; implementations must honor `options.signal`.
932
- * @returns the chunk stream, obeying the adapter contract documented on `StreamChunk`.
933
- */
934
- abstract stream(options: GenerateOptions): AsyncIterable<StreamChunk>;
935
- }
936
- ```
937
-
938
- `ContentBlockType` (the key set the `index`-correlated blocks carry) derives from [`ContentBlockMap`](#content-blocks-and-messages) above.
939
-
940
- <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
941
-
942
- <a id="cordis-surface"></a>
943
-
944
- ## Cordis API
945
-
946
- Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
947
-
948
- <a id="ctxdeepseekllmapiextensions--deepseekllmapiextensionregistry"></a>
949
-
950
- ### `ctx.deepseekLlmApiExtensions` — `DeepSeekLlmApiExtensionRegistry`
951
-
952
- Registry of independently owned top-level fields for official DeepSeek requests.
953
-
954
- ```ts cordis-catalog
955
- /**
956
- * Register the sole provider of one top-level request field. Registration is effect-scoped.
957
- * @param field - declaration-merged field owned by the provider.
958
- * @param provider - request-time field preparation and optional acceptance behavior.
959
- * @returns disposer that releases the field.
960
- */
961
- register<K extends keyof DeepSeekLlmApiExtensionMap>( field: K, provider: DeepSeekLlmApiExtensionProvider<DeepSeekLlmApiExtensionMap[K]>, ): () => Promise<void>
962
-
963
- /**
964
- * Prepare every currently registered field from one immutable base request.
965
- * A provider whose preparation throws, or whose value cannot be cloned, is omitted
966
- * from this request; the first such failure per field is logged. Only cancellation rejects. Field values are cloned
967
- * and frozen; providers retain no mutable alias to the outgoing request.
968
- * @param request - exact serialized request facts before extension fields.
969
- * @returns detached fields and their idempotent joint acceptance transaction.
970
- */
971
- async prepare(request: DeepSeekLlmApiExtensionRequest): Promise<PreparedDeepSeekLlmApiExtensions>
972
- ```
973
-
974
- Source: [`packages/llm/deepseek-llm-api-extensions/src/index.ts`](../../packages/llm/deepseek-llm-api-extensions/src/index.ts)
975
-
976
- <a id="ctxllm--llmruntime"></a>
977
-
978
- ### `ctx.llm` — `LlmRuntime`
979
-
980
- The abstract `llm` service: an adapter registry plus a streaming model-call API, interceptable via the `llm/stream` waterfall.
981
-
982
- ```ts cordis-catalog
983
- /**
984
- * Register an adapter for the given provider routes. Throws `LlmError` with code
985
- * `DUPLICATE_ADAPTER` if any provider already has an adapter (all-or-nothing).
986
- * Disposed with the fiber.
987
- * @param providers - every provider route this adapter should serve.
988
- * @param adapter - the adapter that streams calls for those providers.
989
- * @returns the disposer, carrying {@link AdapterRegistrationHandle.replace}.
990
- */
991
- registerAdapter(providers: string[], adapter: LlmAdapter): AdapterRegistrationHandle
992
-
993
- /**
994
- * Describe provider routes with a registered adapter.
995
- * @returns detached provider metadata in registration order.
996
- */
997
- @Remote listProviders(): LlmProviderInfo[]
998
-
999
- /**
1000
- * Declare provider routes an adapter plugin can activate through
1001
- * configuration. Registration is all-or-nothing: an empty list, invalid
1002
- * entry, or a provider already declared by any registration throws
1003
- * `LlmError` without registering the rest. Disposed with the fiber.
1004
- * @param entries - every configurable provider this plugin owns.
1005
- * @returns a handle that withdraws all of them, and can atomically replace them.
1006
- */
1007
- registerConfigurableProviders(entries: readonly LlmConfigurableProvider[]): DirectoryRegistrationHandle
1008
-
1009
- /**
1010
- * List every declared configurable provider, registered or dormant.
1011
- * @returns detached directory entries in declaration order.
1012
- */
1013
- @Remote listConfigurableProviders(): LlmConfigurableProvider[]
1014
-
1015
- /**
1016
- * Offer to interrogate provider endpoints on behalf of the settings
1017
- * namespace this plugin owns. The namespace is the key because that is what
1018
- * a configuration surface already holds from the configurable-provider
1019
- * directory, and because a provider being *added* has no route to name yet.
1020
- * Disposed with the fiber.
1021
- * @param settingsNs - the namespace whose profiles this discovery serves.
1022
- * @param discover - interrogates one endpoint and must honor the supplied signal.
1023
- * @returns the disposer that withdraws the offer.
1024
- */
1025
- registerModelDiscovery( settingsNs: string, discover: ( request: LlmModelDiscoveryRequest, signal?: AbortSignal, ) => Promise<readonly LlmDiscoveredModel[]>, ): () => void
1026
-
1027
- /**
1028
- * Interrogate one provider endpoint for the models it advertises. The
1029
- * request describes a draft, not a stored route, so nothing here reads or
1030
- * writes settings or credentials — the caller owns both, and the reply is
1031
- * candidate metadata a surface may offer for adoption.
1032
- * @param settingsNs - namespace whose registered discovery serves this draft.
1033
- * @param request - the endpoint, protocol, and one-shot credential to use.
1034
- * @param signal - caller cancellation.
1035
- * @returns the advertised models, deduplicated in endpoint order.
1036
- */
1037
- async discoverModels( settingsNs: string, request: LlmModelDiscoveryRequest, signal?: AbortSignal, ): Promise<LlmDiscoveredModel[]>
1038
-
1039
- /**
1040
- * Remote adapter for one draft provider interrogation.
1041
- * @param settingsNs - namespace whose registered discovery serves this draft.
1042
- * @param request - endpoint, protocol, and one-shot credential to use.
1043
- * @param signal - caller cancellation supplied by the Remote carrier.
1044
- * @returns advertised models in endpoint order.
1045
- * @throws RemoteError with `llm/model-discovery-rejected` when discovery refuses or fails.
1046
- */
1047
- @Remote('discoverModels') async remoteDiscoverModels( settingsNs: string, request: LlmModelDiscoveryRequest, signal: AbortSignal, ): Promise<LlmDiscoveredModel[]>
1048
-
1049
- /**
1050
- * Resolve the retry policy captured when one provider route was registered.
1051
- * @param provider - registered provider route to inspect.
1052
- * @returns the provider-owned policy, with normal defaults already resolved.
1053
- */
1054
- providerRetryPolicy(provider: string): ResolvedRetryPolicy
1055
-
1056
- /**
1057
- * Resolve provider-side request-image pricing for one exact route, or
1058
- * `undefined` when the provider is unregistered or declares none. Unknown
1059
- * providers degrade to `undefined` rather than throwing because callers
1060
- * price durable history whose route may no longer be mounted.
1061
- * @param provider - provider route named by a request header.
1062
- * @param model - exact model id named by the same header.
1063
- * @returns the owning adapter's image pricing for the route, when declared.
1064
- */
1065
- imageRequestPricing(provider: string, model: string): LlmImageRequestPricing | undefined
1066
-
1067
- /**
1068
- * Resolve the image projection for an exact registered model route.
1069
- * @param provider - registered provider route.
1070
- * @param model - exact model id.
1071
- * @param image - normalized image reference.
1072
- * @returns dimensions and byte target used by the adapter's request serializer.
1073
- */
1074
- imageRequestTarget(provider: string, model: string, image: ImageAttachmentRef): ImageRequestTarget
1075
-
1076
- /**
1077
- * Resolve the exact text one durable file occurrence contributes to every
1078
- * provider request in the current execution environment.
1079
- * @param ref - durable verbatim file reference from model history.
1080
- * @returns the same deterministic handle text used at adapter dispatch.
1081
- */
1082
- fileRequestText(ref: FileAttachmentRef): string
1083
-
1084
- /**
1085
- * Discover models advertised by one registered provider. Catalog membership
1086
- * does not constrain core routing. Catalog-driven entry points may restrict
1087
- * selection and submission to the advertised models.
1088
- * @param provider - registered provider route to inspect.
1089
- * @returns detached model metadata in adapter-preferred order.
1090
- */
1091
- async listModels(provider: string): Promise<LlmModelInfo[]>
1092
-
1093
- /**
1094
- * Resolve and validate all metadata from the adapter that owns one exact
1095
- * route. The result is detached from adapter-owned objects; catalog
1096
- * membership remains advisory and does not control request routing.
1097
- * @param provider - registered provider route to inspect.
1098
- * @param model - exact model id passed to the adapter.
1099
- * @param signal - optional cancellation for adapter-owned asynchronous lookup.
1100
- * @returns exact model identity plus available context and reasoning metadata.
1101
- */
1102
- async resolveModelInfo( provider: string, model: string, signal?: AbortSignal, ): Promise<LlmResolvedModelInfo>
1103
-
1104
- /**
1105
- * Validate a conversation call config against its exact model capability and
1106
- * materialize adapter-configured defaults. Unsupported explicit efforts
1107
- * reject before provider I/O; no clamping or aliasing is performed. This
1108
- * standalone query does not bind a later dispatch; use {@link prepareCall}
1109
- * when logging and streaming must share one adapter registration.
1110
- * @param config - provider/model route and optional request controls.
1111
- * @param signal - optional cancellation for adapter-owned capability lookup.
1112
- * @returns a detached config only when a default must be materialized.
1113
- */
1114
- async resolveCallConfig(config: LlmCallConfig, signal?: AbortSignal): Promise<LlmCallConfig>
1115
-
1116
- /**
1117
- * Resolve one call under its current adapter registration. The returned
1118
- * one-shot handle keeps that registration across header logging and dispatch,
1119
- * so HMR cannot combine one adapter's capability result with another adapter.
1120
- * An optional synchronous callback selects concrete controls using captured
1121
- * model metadata. Defaults and validation apply to its result. Callback
1122
- * failures and cancellation reject preparation before dispatch.
1123
- * @param config - provider/model route and optional concrete request controls.
1124
- * @param signal - optional cancellation for adapter-owned capability lookup.
1125
- * @param configure - pure control selection, called once before defaults and validation.
1126
- * @returns a prepared config and its registration-bound stream entry point.
1127
- */
1128
- async prepareCall( config: LlmCallConfig, signal?: AbortSignal, configure?: ConfigureCall, ): Promise<PreparedLlmCall>
1129
-
1130
- /**
1131
- * Stream one model call as raw chunks (token-level deltas). Replay state is
1132
- * retained only when the same adapter instance owns its historical provider
1133
- * and the target provider. Final adapter selection remains fixed through
1134
- * asynchronous exact-model resolution and dispatch. Adapter selection,
1135
- * dispatch, and iteration failures become terminal `error` or `aborted`
1136
- * finish chunks; middleware, nested-call, cleanup, and consumer failures
1137
- * remain thrown.
1138
- * @param options - the full request; `options.provider` selects the adapter.
1139
- * @returns the chunk stream, possibly wrapped by `llm/stream` listeners.
1140
- */
1141
- stream(options: GenerateOptions): AsyncIterable<StreamChunk>
1142
- ```
1143
-
1144
- Types: [FileAttachmentRef](attachment.md) · [ImageAttachmentRef](attachment.md) · [ImageRequestTarget](attachment.md)
1145
-
1146
- Source: [`packages/llm/llm/src/index.ts`](../../packages/llm/llm/src/index.ts)
1147
-
1148
- <a id="llm-events"></a>
1149
-
1150
- ### `llm/*` events
1151
-
1152
- <a id="llmadapters-updated--emit"></a>
1153
-
1154
- #### `llm/adapters-updated` — emit
1155
-
1156
- The provider topology changed: an adapter registered or unregistered routes, or the configurable-provider directory gained or lost entries. This payload-free registry notification fires at each commit point (including registration disposal); consumers re-read `listProviders()`, `listModels()`, or `listConfigurableProviders()` for the new state. Observer failures are contained and cannot veto the registry mutation.
1157
-
1158
- ```ts cordis-catalog
1159
- /**
1160
- * The provider topology changed: an adapter registered or unregistered
1161
- * routes, or the configurable-provider directory gained or lost entries.
1162
- * This payload-free registry notification fires at each commit point
1163
- * (including registration disposal); consumers re-read `listProviders()`,
1164
- * `listModels()`, or `listConfigurableProviders()` for the new state.
1165
- * Observer failures are contained and cannot veto the registry mutation.
1166
- * @mode emit
1167
- */
1168
- 'llm/adapters-updated'(): void
1169
- ```
1170
-
1171
- Source: [`packages/llm/llm/src/types.ts`](../../packages/llm/llm/src/types.ts)
1172
-
1173
- <a id="llmstream--waterfall"></a>
1174
-
1175
- #### `llm/stream` — waterfall
1176
-
1177
- Waterfall around every streaming model call (retry, replay, routing). Bound to the LlmRuntime; call `next()` to reach the resolved adapter's stream, or yield your own chunks to short-circuit.
1178
-
1179
- ```ts cordis-catalog
1180
- /**
1181
- * Waterfall around every streaming model call (retry, replay, routing).
1182
- * Bound to the {@link LlmRuntime}; call `next()` to reach the resolved
1183
- * adapter's stream, or yield your own chunks to short-circuit.
1184
- * @param options - the full request. A LOOP-built request carries the
1185
- * process-local {@link markAgentLoopRequest} identity and arrives deep-frozen
1186
- * (mutation throws): its content is a pure function of the session log (the
1187
- * reconstructability Agent Note), so listeners read it, never rewrite it.
1188
- * Hand-built calls do not carry that marker; callers own their request
1189
- * inputs and must keep them unchanged until the stream settles.
1190
- * @mode waterfall
1191
- */
1192
- 'llm/stream'(this: LlmRuntime, options: GenerateOptions, next: () => AsyncIterable<StreamChunk>): AsyncIterable<StreamChunk>
1193
- ```
1194
-
1195
- Source: [`packages/llm/llm/src/index.ts`](../../packages/llm/llm/src/index.ts)
1196
- <!-- END GENERATED cordis-surface -->