@ai-agent-forge/agent-forge 0.86.7 → 0.87.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 (665) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +8 -9
  3. package/dist/artifacts/artifact-store.d.ts.map +1 -1
  4. package/dist/artifacts/artifact-store.js +9 -5
  5. package/dist/artifacts/artifact-store.js.map +1 -1
  6. package/dist/bundle/.build-manifest.json +410 -371
  7. package/dist/bundle/chunks/{chunk-A7GUOX2H.js → chunk-6ZKDNZHA.js} +5 -1
  8. package/dist/bundle/chunks/chunk-BFC2BDVJ.js +13 -0
  9. package/dist/bundle/chunks/chunk-MOHOLL3F.js +1456 -0
  10. package/dist/bundle/chunks/image-resize-worker.js +12 -1
  11. package/dist/bundle/chunks/{virtual-modules-3IZ4MYSQ.js → virtual-modules-KZ5DRH7Q.js} +1 -1
  12. package/dist/bundle/cli.js +1 -1
  13. package/dist/bundle/client.js +1 -1
  14. package/dist/bundle/index.js +2 -2
  15. package/dist/bundle/rpc-entry.js +1 -1
  16. package/dist/cli/args.d.ts.map +1 -1
  17. package/dist/cli/args.js +231 -185
  18. package/dist/cli/args.js.map +1 -1
  19. package/dist/cli/auth-check.d.ts.map +1 -1
  20. package/dist/cli/auth-check.js +3 -2
  21. package/dist/cli/auth-check.js.map +1 -1
  22. package/dist/cli/auth-command.d.ts.map +1 -1
  23. package/dist/cli/auth-command.js +15 -9
  24. package/dist/cli/auth-command.js.map +1 -1
  25. package/dist/cli/credential-print.d.ts.map +1 -1
  26. package/dist/cli/credential-print.js +14 -7
  27. package/dist/cli/credential-print.js.map +1 -1
  28. package/dist/cli/experimental/command.d.ts.map +1 -1
  29. package/dist/cli/experimental/command.js +6 -5
  30. package/dist/cli/experimental/command.js.map +1 -1
  31. package/dist/cli/list-models.d.ts.map +1 -1
  32. package/dist/cli/list-models.js +9 -8
  33. package/dist/cli/list-models.js.map +1 -1
  34. package/dist/cli/plugin-manager-controller.d.ts.map +1 -1
  35. package/dist/cli/plugin-manager-controller.js +2 -1
  36. package/dist/cli/plugin-manager-controller.js.map +1 -1
  37. package/dist/cli/serve.d.ts.map +1 -1
  38. package/dist/cli/serve.js +8 -5
  39. package/dist/cli/serve.js.map +1 -1
  40. package/dist/client/remote-session.d.ts.map +1 -1
  41. package/dist/client/remote-session.js +16 -9
  42. package/dist/client/remote-session.js.map +1 -1
  43. package/dist/config.d.ts.map +1 -1
  44. package/dist/config.js +2 -1
  45. package/dist/config.js.map +1 -1
  46. package/dist/core/agent-capability-contract.d.ts +0 -7
  47. package/dist/core/agent-capability-contract.d.ts.map +1 -1
  48. package/dist/core/agent-capability-contract.js +72 -68
  49. package/dist/core/agent-capability-contract.js.map +1 -1
  50. package/dist/core/agent-session-bash.d.ts.map +1 -1
  51. package/dist/core/agent-session-bash.js +5 -4
  52. package/dist/core/agent-session-bash.js.map +1 -1
  53. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  54. package/dist/core/agent-session-compaction.js +28 -22
  55. package/dist/core/agent-session-compaction.js.map +1 -1
  56. package/dist/core/agent-session-context.d.ts.map +1 -1
  57. package/dist/core/agent-session-context.js +18 -13
  58. package/dist/core/agent-session-context.js.map +1 -1
  59. package/dist/core/agent-session-model.d.ts.map +1 -1
  60. package/dist/core/agent-session-model.js +2 -1
  61. package/dist/core/agent-session-model.js.map +1 -1
  62. package/dist/core/agent-session-retry.d.ts.map +1 -1
  63. package/dist/core/agent-session-retry.js +3 -2
  64. package/dist/core/agent-session-retry.js.map +1 -1
  65. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  66. package/dist/core/agent-session-runtime.js +7 -6
  67. package/dist/core/agent-session-runtime.js.map +1 -1
  68. package/dist/core/agent-session-services.d.ts +1 -1
  69. package/dist/core/agent-session-services.d.ts.map +1 -1
  70. package/dist/core/agent-session-services.js.map +1 -1
  71. package/dist/core/agent-session-tools.d.ts.map +1 -1
  72. package/dist/core/agent-session-tools.js +3 -2
  73. package/dist/core/agent-session-tools.js.map +1 -1
  74. package/dist/core/agent-session.d.ts +40 -2
  75. package/dist/core/agent-session.d.ts.map +1 -1
  76. package/dist/core/agent-session.js +142 -34
  77. package/dist/core/agent-session.js.map +1 -1
  78. package/dist/core/auth-guidance.d.ts.map +1 -1
  79. package/dist/core/auth-guidance.js +11 -5
  80. package/dist/core/auth-guidance.js.map +1 -1
  81. package/dist/core/auth-storage.d.ts.map +1 -1
  82. package/dist/core/auth-storage.js +9 -6
  83. package/dist/core/auth-storage.js.map +1 -1
  84. package/dist/core/compaction/compaction.d.ts.map +1 -1
  85. package/dist/core/compaction/compaction.js +2 -1
  86. package/dist/core/compaction/compaction.js.map +1 -1
  87. package/dist/core/embedded-sdk.d.ts.map +1 -1
  88. package/dist/core/embedded-sdk.js +10 -6
  89. package/dist/core/embedded-sdk.js.map +1 -1
  90. package/dist/core/export-html/index.d.ts.map +1 -1
  91. package/dist/core/export-html/index.js +9 -4
  92. package/dist/core/export-html/index.js.map +1 -1
  93. package/dist/core/extensions/agent-composition.d.ts.map +1 -1
  94. package/dist/core/extensions/agent-composition.js +26 -19
  95. package/dist/core/extensions/agent-composition.js.map +1 -1
  96. package/dist/core/extensions/bootstrap-agent-loop.d.ts.map +1 -1
  97. package/dist/core/extensions/bootstrap-agent-loop.js +3 -2
  98. package/dist/core/extensions/bootstrap-agent-loop.js.map +1 -1
  99. package/dist/core/extensions/bootstrap-lifecycle.d.ts.map +1 -1
  100. package/dist/core/extensions/bootstrap-lifecycle.js +20 -17
  101. package/dist/core/extensions/bootstrap-lifecycle.js.map +1 -1
  102. package/dist/core/extensions/bootstrap-overflow-policy.d.ts.map +1 -1
  103. package/dist/core/extensions/bootstrap-overflow-policy.js +2 -1
  104. package/dist/core/extensions/bootstrap-overflow-policy.js.map +1 -1
  105. package/dist/core/extensions/bootstrap-retry-policy.d.ts.map +1 -1
  106. package/dist/core/extensions/bootstrap-retry-policy.js +2 -1
  107. package/dist/core/extensions/bootstrap-retry-policy.js.map +1 -1
  108. package/dist/core/extensions/bootstrap-skills.d.ts.map +1 -1
  109. package/dist/core/extensions/bootstrap-skills.js +7 -6
  110. package/dist/core/extensions/bootstrap-skills.js.map +1 -1
  111. package/dist/core/extensions/bootstrap-tools.d.ts.map +1 -1
  112. package/dist/core/extensions/bootstrap-tools.js +2 -1
  113. package/dist/core/extensions/bootstrap-tools.js.map +1 -1
  114. package/dist/core/extensions/capability-plugin.d.ts.map +1 -1
  115. package/dist/core/extensions/capability-plugin.js +37 -13
  116. package/dist/core/extensions/capability-plugin.js.map +1 -1
  117. package/dist/core/extensions/capability-runtime-events.d.ts.map +1 -1
  118. package/dist/core/extensions/capability-runtime-events.js +17 -13
  119. package/dist/core/extensions/capability-runtime-events.js.map +1 -1
  120. package/dist/core/extensions/capability-runtime-guards.d.ts.map +1 -1
  121. package/dist/core/extensions/capability-runtime-guards.js +16 -15
  122. package/dist/core/extensions/capability-runtime-guards.js.map +1 -1
  123. package/dist/core/extensions/capability-runtime-manifest.d.ts.map +1 -1
  124. package/dist/core/extensions/capability-runtime-manifest.js +52 -30
  125. package/dist/core/extensions/capability-runtime-manifest.js.map +1 -1
  126. package/dist/core/extensions/capability-runtime-validation.d.ts.map +1 -1
  127. package/dist/core/extensions/capability-runtime-validation.js +66 -65
  128. package/dist/core/extensions/capability-runtime-validation.js.map +1 -1
  129. package/dist/core/extensions/capability-runtime.d.ts.map +1 -1
  130. package/dist/core/extensions/capability-runtime.js +147 -127
  131. package/dist/core/extensions/capability-runtime.js.map +1 -1
  132. package/dist/core/extensions/compaction-memory-failure-mode.d.ts.map +1 -1
  133. package/dist/core/extensions/compaction-memory-failure-mode.js +3 -2
  134. package/dist/core/extensions/compaction-memory-failure-mode.js.map +1 -1
  135. package/dist/core/extensions/context-strategy-binding.d.ts.map +1 -1
  136. package/dist/core/extensions/context-strategy-binding.js +7 -4
  137. package/dist/core/extensions/context-strategy-binding.js.map +1 -1
  138. package/dist/core/extensions/lifecycle-catalog.d.ts.map +1 -1
  139. package/dist/core/extensions/lifecycle-catalog.js +290 -279
  140. package/dist/core/extensions/lifecycle-catalog.js.map +1 -1
  141. package/dist/core/extensions/lifecycle-delivery-queue.d.ts.map +1 -1
  142. package/dist/core/extensions/lifecycle-delivery-queue.js +3 -2
  143. package/dist/core/extensions/lifecycle-delivery-queue.js.map +1 -1
  144. package/dist/core/facade/coding-agent-facade.d.ts +6 -0
  145. package/dist/core/facade/coding-agent-facade.d.ts.map +1 -1
  146. package/dist/core/facade/coding-agent-facade.js +2 -0
  147. package/dist/core/facade/coding-agent-facade.js.map +1 -1
  148. package/dist/core/http-dispatcher.d.ts.map +1 -1
  149. package/dist/core/http-dispatcher.js +2 -1
  150. package/dist/core/http-dispatcher.js.map +1 -1
  151. package/dist/core/i18n/index.d.ts +14 -0
  152. package/dist/core/i18n/index.d.ts.map +1 -0
  153. package/dist/core/i18n/index.js +67 -0
  154. package/dist/core/i18n/index.js.map +1 -0
  155. package/dist/core/i18n/locales/en/example.d.ts +7 -0
  156. package/dist/core/i18n/locales/en/example.d.ts.map +1 -0
  157. package/dist/core/i18n/locales/en/example.js +7 -0
  158. package/dist/core/i18n/locales/en/example.js.map +1 -0
  159. package/dist/core/i18n/locales/zh-cn/cli.d.ts +8 -0
  160. package/dist/core/i18n/locales/zh-cn/cli.d.ts.map +1 -0
  161. package/dist/core/i18n/locales/zh-cn/cli.js +227 -0
  162. package/dist/core/i18n/locales/zh-cn/cli.js.map +1 -0
  163. package/dist/core/i18n/locales/zh-cn/common.d.ts +6 -0
  164. package/dist/core/i18n/locales/zh-cn/common.d.ts.map +1 -0
  165. package/dist/core/i18n/locales/zh-cn/common.js +6 -0
  166. package/dist/core/i18n/locales/zh-cn/common.js.map +1 -0
  167. package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts +13 -0
  168. package/dist/core/i18n/locales/zh-cn/core-contract-core.d.ts.map +1 -0
  169. package/dist/core/i18n/locales/zh-cn/core-contract-core.js +173 -0
  170. package/dist/core/i18n/locales/zh-cn/core-contract-core.js.map +1 -0
  171. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts +12 -0
  172. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.d.ts.map +1 -0
  173. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js +582 -0
  174. package/dist/core/i18n/locales/zh-cn/core-contract-extensions.js.map +1 -0
  175. package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts +9 -0
  176. package/dist/core/i18n/locales/zh-cn/core-contract-final.d.ts.map +1 -0
  177. package/dist/core/i18n/locales/zh-cn/core-contract-final.js +55 -0
  178. package/dist/core/i18n/locales/zh-cn/core-contract-final.js.map +1 -0
  179. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts +11 -0
  180. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.d.ts.map +1 -0
  181. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js +455 -0
  182. package/dist/core/i18n/locales/zh-cn/core-contract-plugins.js.map +1 -0
  183. package/dist/core/i18n/locales/zh-cn/core-errors.d.ts +9 -0
  184. package/dist/core/i18n/locales/zh-cn/core-errors.d.ts.map +1 -0
  185. package/dist/core/i18n/locales/zh-cn/core-errors.js +191 -0
  186. package/dist/core/i18n/locales/zh-cn/core-errors.js.map +1 -0
  187. package/dist/core/i18n/locales/zh-cn/example.d.ts +7 -0
  188. package/dist/core/i18n/locales/zh-cn/example.d.ts.map +1 -0
  189. package/dist/core/i18n/locales/zh-cn/example.js +10 -0
  190. package/dist/core/i18n/locales/zh-cn/example.js.map +1 -0
  191. package/dist/core/i18n/locales/zh-cn/index.d.ts +2 -0
  192. package/dist/core/i18n/locales/zh-cn/index.d.ts.map +1 -0
  193. package/dist/core/i18n/locales/zh-cn/index.js +41 -0
  194. package/dist/core/i18n/locales/zh-cn/index.js.map +1 -0
  195. package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts +10 -0
  196. package/dist/core/i18n/locales/zh-cn/interactive-mode.d.ts.map +1 -0
  197. package/dist/core/i18n/locales/zh-cn/interactive-mode.js +265 -0
  198. package/dist/core/i18n/locales/zh-cn/interactive-mode.js.map +1 -0
  199. package/dist/core/i18n/locales/zh-cn/keybindings.d.ts +11 -0
  200. package/dist/core/i18n/locales/zh-cn/keybindings.d.ts.map +1 -0
  201. package/dist/core/i18n/locales/zh-cn/keybindings.js +67 -0
  202. package/dist/core/i18n/locales/zh-cn/keybindings.js.map +1 -0
  203. package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts +7 -0
  204. package/dist/core/i18n/locales/zh-cn/slash-commands.d.ts.map +1 -0
  205. package/dist/core/i18n/locales/zh-cn/slash-commands.js +39 -0
  206. package/dist/core/i18n/locales/zh-cn/slash-commands.js.map +1 -0
  207. package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts +10 -0
  208. package/dist/core/i18n/locales/zh-cn/tui-builtin.d.ts.map +1 -0
  209. package/dist/core/i18n/locales/zh-cn/tui-builtin.js +15 -0
  210. package/dist/core/i18n/locales/zh-cn/tui-builtin.js.map +1 -0
  211. package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts +13 -0
  212. package/dist/core/i18n/locales/zh-cn/tui-components-misc.d.ts.map +1 -0
  213. package/dist/core/i18n/locales/zh-cn/tui-components-misc.js +102 -0
  214. package/dist/core/i18n/locales/zh-cn/tui-components-misc.js.map +1 -0
  215. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts +12 -0
  216. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.d.ts.map +1 -0
  217. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js +288 -0
  218. package/dist/core/i18n/locales/zh-cn/tui-components-selectors.js.map +1 -0
  219. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts +9 -0
  220. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.d.ts.map +1 -0
  221. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js +79 -0
  222. package/dist/core/i18n/locales/zh-cn/tui-interactive-misc.js.map +1 -0
  223. package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts +8 -0
  224. package/dist/core/i18n/locales/zh-cn/tui-self-owned.d.ts.map +1 -0
  225. package/dist/core/i18n/locales/zh-cn/tui-self-owned.js +72 -0
  226. package/dist/core/i18n/locales/zh-cn/tui-self-owned.js.map +1 -0
  227. package/dist/core/keybindings.d.ts +15 -0
  228. package/dist/core/keybindings.d.ts.map +1 -1
  229. package/dist/core/keybindings.js +18 -0
  230. package/dist/core/keybindings.js.map +1 -1
  231. package/dist/core/logger.d.ts.map +1 -1
  232. package/dist/core/logger.js +5 -1
  233. package/dist/core/logger.js.map +1 -1
  234. package/dist/core/model-registry.d.ts.map +1 -1
  235. package/dist/core/model-registry.js +2 -1
  236. package/dist/core/model-registry.js.map +1 -1
  237. package/dist/core/model-runtime.d.ts.map +1 -1
  238. package/dist/core/model-runtime.js +8 -4
  239. package/dist/core/model-runtime.js.map +1 -1
  240. package/dist/core/package-install-host.d.ts.map +1 -1
  241. package/dist/core/package-install-host.js +4 -3
  242. package/dist/core/package-install-host.js.map +1 -1
  243. package/dist/core/package-manager.d.ts.map +1 -1
  244. package/dist/core/package-manager.js +15 -10
  245. package/dist/core/package-manager.js.map +1 -1
  246. package/dist/core/package-resource-collection.d.ts.map +1 -1
  247. package/dist/core/package-resource-collection.js +2 -1
  248. package/dist/core/package-resource-collection.js.map +1 -1
  249. package/dist/core/package-source.d.ts.map +1 -1
  250. package/dist/core/package-source.js +3 -2
  251. package/dist/core/package-source.js.map +1 -1
  252. package/dist/core/provider-composer.d.ts.map +1 -1
  253. package/dist/core/provider-composer.js +22 -13
  254. package/dist/core/provider-composer.js.map +1 -1
  255. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  256. package/dist/core/remote-catalog-provider.js +6 -2
  257. package/dist/core/remote-catalog-provider.js.map +1 -1
  258. package/dist/core/resolve-config-value.d.ts.map +1 -1
  259. package/dist/core/resolve-config-value.js +15 -5
  260. package/dist/core/resolve-config-value.js.map +1 -1
  261. package/dist/core/sdk.d.ts +19 -5
  262. package/dist/core/sdk.d.ts.map +1 -1
  263. package/dist/core/sdk.js +74 -54
  264. package/dist/core/sdk.js.map +1 -1
  265. package/dist/core/session-cwd.d.ts.map +1 -1
  266. package/dist/core/session-cwd.js +5 -2
  267. package/dist/core/session-cwd.js.map +1 -1
  268. package/dist/core/session-export.d.ts.map +1 -1
  269. package/dist/core/session-export.js +2 -1
  270. package/dist/core/session-export.js.map +1 -1
  271. package/dist/core/session-manager.d.ts.map +1 -1
  272. package/dist/core/session-manager.js +39 -29
  273. package/dist/core/session-manager.js.map +1 -1
  274. package/dist/core/session-storage.d.ts.map +1 -1
  275. package/dist/core/session-storage.js +3 -3
  276. package/dist/core/session-storage.js.map +1 -1
  277. package/dist/core/settings-manager.d.ts +11 -0
  278. package/dist/core/settings-manager.d.ts.map +1 -1
  279. package/dist/core/settings-manager.js +27 -5
  280. package/dist/core/settings-manager.js.map +1 -1
  281. package/dist/core/slash-commands.d.ts.map +1 -1
  282. package/dist/core/slash-commands.js +53 -32
  283. package/dist/core/slash-commands.js.map +1 -1
  284. package/dist/core/system-prompt.d.ts.map +1 -1
  285. package/dist/core/system-prompt.js +25 -2
  286. package/dist/core/system-prompt.js.map +1 -1
  287. package/dist/core/tools/bash.d.ts.map +1 -1
  288. package/dist/core/tools/bash.js +11 -7
  289. package/dist/core/tools/bash.js.map +1 -1
  290. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  291. package/dist/core/tools/edit-diff.js +9 -4
  292. package/dist/core/tools/edit-diff.js.map +1 -1
  293. package/dist/core/tools/edit.d.ts.map +1 -1
  294. package/dist/core/tools/edit.js +4 -3
  295. package/dist/core/tools/edit.js.map +1 -1
  296. package/dist/core/tools/index.d.ts.map +1 -1
  297. package/dist/core/tools/index.js +3 -2
  298. package/dist/core/tools/index.js.map +1 -1
  299. package/dist/core/tools/output-accumulator.d.ts.map +1 -1
  300. package/dist/core/tools/output-accumulator.js +2 -1
  301. package/dist/core/tools/output-accumulator.js.map +1 -1
  302. package/dist/core/tools/read.d.ts.map +1 -1
  303. package/dist/core/tools/read.js +6 -2
  304. package/dist/core/tools/read.js.map +1 -1
  305. package/dist/core/tools/write.d.ts.map +1 -1
  306. package/dist/core/tools/write.js +2 -1
  307. package/dist/core/tools/write.js.map +1 -1
  308. package/dist/durable/durable-service.d.ts.map +1 -1
  309. package/dist/durable/durable-service.js +25 -18
  310. package/dist/durable/durable-service.js.map +1 -1
  311. package/dist/host/checkpoint-commit.d.ts.map +1 -1
  312. package/dist/host/checkpoint-commit.js +2 -1
  313. package/dist/host/checkpoint-commit.js.map +1 -1
  314. package/dist/host/manual-compaction.d.ts.map +1 -1
  315. package/dist/host/manual-compaction.js +2 -1
  316. package/dist/host/manual-compaction.js.map +1 -1
  317. package/dist/host/output-projection.d.ts +0 -13
  318. package/dist/host/output-projection.d.ts.map +1 -1
  319. package/dist/host/output-projection.js +16 -2
  320. package/dist/host/output-projection.js.map +1 -1
  321. package/dist/host/summary-retry.d.ts.map +1 -1
  322. package/dist/host/summary-retry.js +3 -2
  323. package/dist/host/summary-retry.js.map +1 -1
  324. package/dist/main.d.ts.map +1 -1
  325. package/dist/main.js +94 -58
  326. package/dist/main.js.map +1 -1
  327. package/dist/modes/interactive/components/agents-view.d.ts.map +1 -1
  328. package/dist/modes/interactive/components/agents-view.js +18 -15
  329. package/dist/modes/interactive/components/agents-view.js.map +1 -1
  330. package/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  331. package/dist/modes/interactive/components/assistant-message.js +6 -5
  332. package/dist/modes/interactive/components/assistant-message.js.map +1 -1
  333. package/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  334. package/dist/modes/interactive/components/bash-execution.js +12 -7
  335. package/dist/modes/interactive/components/bash-execution.js.map +1 -1
  336. package/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  337. package/dist/modes/interactive/components/bordered-loader.js +2 -1
  338. package/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  339. package/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  340. package/dist/modes/interactive/components/branch-summary-message.js +6 -5
  341. package/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  342. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  343. package/dist/modes/interactive/components/compaction-summary-message.js +9 -5
  344. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  345. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  346. package/dist/modes/interactive/components/config-selector.js +18 -15
  347. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  348. package/dist/modes/interactive/components/custom-entry.d.ts.map +1 -1
  349. package/dist/modes/interactive/components/custom-entry.js +2 -1
  350. package/dist/modes/interactive/components/custom-entry.js.map +1 -1
  351. package/dist/modes/interactive/components/dialog-editor.d.ts.map +1 -1
  352. package/dist/modes/interactive/components/dialog-editor.js +5 -4
  353. package/dist/modes/interactive/components/dialog-editor.js.map +1 -1
  354. package/dist/modes/interactive/components/dialog-input.d.ts.map +1 -1
  355. package/dist/modes/interactive/components/dialog-input.js +2 -1
  356. package/dist/modes/interactive/components/dialog-input.js.map +1 -1
  357. package/dist/modes/interactive/components/dialog-selector.d.ts.map +1 -1
  358. package/dist/modes/interactive/components/dialog-selector.js +4 -3
  359. package/dist/modes/interactive/components/dialog-selector.js.map +1 -1
  360. package/dist/modes/interactive/components/first-time-setup.d.ts.map +1 -1
  361. package/dist/modes/interactive/components/first-time-setup.js +11 -10
  362. package/dist/modes/interactive/components/first-time-setup.js.map +1 -1
  363. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  364. package/dist/modes/interactive/components/footer.js +7 -4
  365. package/dist/modes/interactive/components/footer.js.map +1 -1
  366. package/dist/modes/interactive/components/index.d.ts +1 -0
  367. package/dist/modes/interactive/components/index.d.ts.map +1 -1
  368. package/dist/modes/interactive/components/index.js +1 -0
  369. package/dist/modes/interactive/components/index.js.map +1 -1
  370. package/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  371. package/dist/modes/interactive/components/keybinding-hints.js +3 -2
  372. package/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  373. package/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  374. package/dist/modes/interactive/components/login-dialog.js +12 -11
  375. package/dist/modes/interactive/components/login-dialog.js.map +1 -1
  376. package/dist/modes/interactive/components/mermaid.d.ts.map +1 -1
  377. package/dist/modes/interactive/components/mermaid.js +6 -2
  378. package/dist/modes/interactive/components/mermaid.js.map +1 -1
  379. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  380. package/dist/modes/interactive/components/model-selector.js +28 -16
  381. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  382. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  383. package/dist/modes/interactive/components/oauth-selector.js +10 -9
  384. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  385. package/dist/modes/interactive/components/plugin-manager-entry.d.ts.map +1 -1
  386. package/dist/modes/interactive/components/plugin-manager-entry.js +22 -13
  387. package/dist/modes/interactive/components/plugin-manager-entry.js.map +1 -1
  388. package/dist/modes/interactive/components/plugin-selection-entry.d.ts.map +1 -1
  389. package/dist/modes/interactive/components/plugin-selection-entry.js +27 -12
  390. package/dist/modes/interactive/components/plugin-selection-entry.js.map +1 -1
  391. package/dist/modes/interactive/components/queue-manager-selector.d.ts +60 -0
  392. package/dist/modes/interactive/components/queue-manager-selector.d.ts.map +1 -0
  393. package/dist/modes/interactive/components/queue-manager-selector.js +166 -0
  394. package/dist/modes/interactive/components/queue-manager-selector.js.map +1 -0
  395. package/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  396. package/dist/modes/interactive/components/scoped-models-selector.js +16 -14
  397. package/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  398. package/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  399. package/dist/modes/interactive/components/session-selector.js +43 -31
  400. package/dist/modes/interactive/components/session-selector.js.map +1 -1
  401. package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
  402. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  403. package/dist/modes/interactive/components/settings-selector.js +113 -96
  404. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  405. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -1
  406. package/dist/modes/interactive/components/settings-submenu.js +5 -4
  407. package/dist/modes/interactive/components/settings-submenu.js.map +1 -1
  408. package/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  409. package/dist/modes/interactive/components/show-images-selector.js +3 -2
  410. package/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  411. package/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  412. package/dist/modes/interactive/components/skill-invocation-message.js +4 -3
  413. package/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  414. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  415. package/dist/modes/interactive/components/status-indicator.js +14 -5
  416. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  417. package/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  418. package/dist/modes/interactive/components/theme-selector.js +2 -1
  419. package/dist/modes/interactive/components/theme-selector.js.map +1 -1
  420. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  421. package/dist/modes/interactive/components/thinking-selector.js +11 -4
  422. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  423. package/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  424. package/dist/modes/interactive/components/tool-execution.js +8 -3
  425. package/dist/modes/interactive/components/tool-execution.js.map +1 -1
  426. package/dist/modes/interactive/components/tree-list.d.ts.map +1 -1
  427. package/dist/modes/interactive/components/tree-list.js +7 -6
  428. package/dist/modes/interactive/components/tree-list.js.map +1 -1
  429. package/dist/modes/interactive/components/tree-render.d.ts.map +1 -1
  430. package/dist/modes/interactive/components/tree-render.js +28 -23
  431. package/dist/modes/interactive/components/tree-render.js.map +1 -1
  432. package/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  433. package/dist/modes/interactive/components/tree-selector.js +9 -7
  434. package/dist/modes/interactive/components/tree-selector.js.map +1 -1
  435. package/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  436. package/dist/modes/interactive/components/user-message-selector.js +5 -4
  437. package/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  438. package/dist/modes/interactive/components/workflow-view.d.ts.map +1 -1
  439. package/dist/modes/interactive/components/workflow-view.js +36 -21
  440. package/dist/modes/interactive/components/workflow-view.js.map +1 -1
  441. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  442. package/dist/modes/interactive/external-editor.js +2 -1
  443. package/dist/modes/interactive/external-editor.js.map +1 -1
  444. package/dist/modes/interactive/interactive-auth.d.ts.map +1 -1
  445. package/dist/modes/interactive/interactive-auth.js +71 -40
  446. package/dist/modes/interactive/interactive-auth.js.map +1 -1
  447. package/dist/modes/interactive/interactive-commands.d.ts +1 -0
  448. package/dist/modes/interactive/interactive-commands.d.ts.map +1 -1
  449. package/dist/modes/interactive/interactive-commands.js +3 -0
  450. package/dist/modes/interactive/interactive-commands.js.map +1 -1
  451. package/dist/modes/interactive/interactive-dialog-ui.d.ts.map +1 -1
  452. package/dist/modes/interactive/interactive-dialog-ui.js +5 -5
  453. package/dist/modes/interactive/interactive-dialog-ui.js.map +1 -1
  454. package/dist/modes/interactive/interactive-format.d.ts.map +1 -1
  455. package/dist/modes/interactive/interactive-format.js +34 -18
  456. package/dist/modes/interactive/interactive-format.js.map +1 -1
  457. package/dist/modes/interactive/interactive-helpers.d.ts.map +1 -1
  458. package/dist/modes/interactive/interactive-helpers.js +7 -2
  459. package/dist/modes/interactive/interactive-helpers.js.map +1 -1
  460. package/dist/modes/interactive/interactive-mode.d.ts +4 -1
  461. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  462. package/dist/modes/interactive/interactive-mode.js +327 -243
  463. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  464. package/dist/modes/interactive/interactive-selectors.d.ts +9 -0
  465. package/dist/modes/interactive/interactive-selectors.d.ts.map +1 -1
  466. package/dist/modes/interactive/interactive-selectors.js +79 -25
  467. package/dist/modes/interactive/interactive-selectors.js.map +1 -1
  468. package/dist/modes/interactive/theme/theme-controller.d.ts.map +1 -1
  469. package/dist/modes/interactive/theme/theme-controller.js +5 -1
  470. package/dist/modes/interactive/theme/theme-controller.js.map +1 -1
  471. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  472. package/dist/modes/interactive/theme/theme.js +26 -23
  473. package/dist/modes/interactive/theme/theme.js.map +1 -1
  474. package/dist/modes/json-event.d.ts.map +1 -1
  475. package/dist/modes/json-event.js +3 -2
  476. package/dist/modes/json-event.js.map +1 -1
  477. package/dist/modes/print-mode.d.ts.map +1 -1
  478. package/dist/modes/print-mode.js +3 -2
  479. package/dist/modes/print-mode.js.map +1 -1
  480. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  481. package/dist/modes/rpc/rpc-client.js +3 -2
  482. package/dist/modes/rpc/rpc-client.js.map +1 -1
  483. package/dist/package-manager-cli.d.ts.map +1 -1
  484. package/dist/package-manager-cli.js +28 -13
  485. package/dist/package-manager-cli.js.map +1 -1
  486. package/dist/plugins/ecosystem/catalog.d.ts.map +1 -1
  487. package/dist/plugins/ecosystem/catalog.js +3 -2
  488. package/dist/plugins/ecosystem/catalog.js.map +1 -1
  489. package/dist/plugins/ecosystem/cli.d.ts.map +1 -1
  490. package/dist/plugins/ecosystem/cli.js +2 -1
  491. package/dist/plugins/ecosystem/cli.js.map +1 -1
  492. package/dist/plugins/ecosystem/default-plugin-market.d.ts.map +1 -1
  493. package/dist/plugins/ecosystem/default-plugin-market.js +3 -2
  494. package/dist/plugins/ecosystem/default-plugin-market.js.map +1 -1
  495. package/dist/plugins/ecosystem/distribution.d.ts.map +1 -1
  496. package/dist/plugins/ecosystem/distribution.js +2 -1
  497. package/dist/plugins/ecosystem/distribution.js.map +1 -1
  498. package/dist/plugins/ecosystem/installer.d.ts.map +1 -1
  499. package/dist/plugins/ecosystem/installer.js +3 -2
  500. package/dist/plugins/ecosystem/installer.js.map +1 -1
  501. package/dist/plugins/ecosystem/node-disk-registry-source.d.ts.map +1 -1
  502. package/dist/plugins/ecosystem/node-disk-registry-source.js +20 -17
  503. package/dist/plugins/ecosystem/node-disk-registry-source.js.map +1 -1
  504. package/dist/plugins/ecosystem/node-distribution-host.d.ts.map +1 -1
  505. package/dist/plugins/ecosystem/node-distribution-host.js +35 -34
  506. package/dist/plugins/ecosystem/node-distribution-host.js.map +1 -1
  507. package/dist/plugins/ecosystem/node-npm-registry-source.d.ts.map +1 -1
  508. package/dist/plugins/ecosystem/node-npm-registry-source.js +35 -34
  509. package/dist/plugins/ecosystem/node-npm-registry-source.js.map +1 -1
  510. package/dist/plugins/ecosystem/node-package-install-host.d.ts.map +1 -1
  511. package/dist/plugins/ecosystem/node-package-install-host.js +9 -8
  512. package/dist/plugins/ecosystem/node-package-install-host.js.map +1 -1
  513. package/dist/plugins/ecosystem/node-package-install-persistence.d.ts.map +1 -1
  514. package/dist/plugins/ecosystem/node-package-install-persistence.js +4 -3
  515. package/dist/plugins/ecosystem/node-package-install-persistence.js.map +1 -1
  516. package/dist/plugins/ecosystem/node-plugin-bootstrap.d.ts.map +1 -1
  517. package/dist/plugins/ecosystem/node-plugin-bootstrap.js +21 -5
  518. package/dist/plugins/ecosystem/node-plugin-bootstrap.js.map +1 -1
  519. package/dist/plugins/ecosystem/node-plugin-trust-root.d.ts.map +1 -1
  520. package/dist/plugins/ecosystem/node-plugin-trust-root.js +10 -9
  521. package/dist/plugins/ecosystem/node-plugin-trust-root.js.map +1 -1
  522. package/dist/plugins/ecosystem/node-registry-source.d.ts.map +1 -1
  523. package/dist/plugins/ecosystem/node-registry-source.js +31 -30
  524. package/dist/plugins/ecosystem/node-registry-source.js.map +1 -1
  525. package/dist/plugins/ecosystem/node-release-package-source.d.ts.map +1 -1
  526. package/dist/plugins/ecosystem/node-release-package-source.js +30 -29
  527. package/dist/plugins/ecosystem/node-release-package-source.js.map +1 -1
  528. package/dist/plugins/ecosystem/node-tar-writer.d.ts.map +1 -1
  529. package/dist/plugins/ecosystem/node-tar-writer.js +11 -10
  530. package/dist/plugins/ecosystem/node-tar-writer.js.map +1 -1
  531. package/dist/plugins/ecosystem/node-url-package-source.d.ts.map +1 -1
  532. package/dist/plugins/ecosystem/node-url-package-source.js +21 -20
  533. package/dist/plugins/ecosystem/node-url-package-source.js.map +1 -1
  534. package/dist/plugins/ecosystem/plugin-acquisition.d.ts.map +1 -1
  535. package/dist/plugins/ecosystem/plugin-acquisition.js +3 -2
  536. package/dist/plugins/ecosystem/plugin-acquisition.js.map +1 -1
  537. package/dist/plugins/ecosystem/registry-cli-adapter.d.ts.map +1 -1
  538. package/dist/plugins/ecosystem/registry-cli-adapter.js +2 -1
  539. package/dist/plugins/ecosystem/registry-cli-adapter.js.map +1 -1
  540. package/dist/plugins/ecosystem/registry.d.ts.map +1 -1
  541. package/dist/plugins/ecosystem/registry.js +35 -32
  542. package/dist/plugins/ecosystem/registry.js.map +1 -1
  543. package/dist/plugins/ecosystem/resolver.d.ts.map +1 -1
  544. package/dist/plugins/ecosystem/resolver.js +3 -2
  545. package/dist/plugins/ecosystem/resolver.js.map +1 -1
  546. package/dist/plugins/ecosystem/selection-store.d.ts.map +1 -1
  547. package/dist/plugins/ecosystem/selection-store.js +11 -10
  548. package/dist/plugins/ecosystem/selection-store.js.map +1 -1
  549. package/dist/plugins/ecosystem/selection.d.ts.map +1 -1
  550. package/dist/plugins/ecosystem/selection.js +8 -7
  551. package/dist/plugins/ecosystem/selection.js.map +1 -1
  552. package/dist/plugins/ecosystem/state.d.ts.map +1 -1
  553. package/dist/plugins/ecosystem/state.js +24 -23
  554. package/dist/plugins/ecosystem/state.js.map +1 -1
  555. package/dist/plugins/ecosystem/updates.d.ts.map +1 -1
  556. package/dist/plugins/ecosystem/updates.js +5 -4
  557. package/dist/plugins/ecosystem/updates.js.map +1 -1
  558. package/dist/plugins/mcp-http.d.ts +0 -17
  559. package/dist/plugins/mcp-http.d.ts.map +1 -1
  560. package/dist/plugins/mcp-http.js +30 -7
  561. package/dist/plugins/mcp-http.js.map +1 -1
  562. package/dist/plugins/plugin-supervisor.d.ts.map +1 -1
  563. package/dist/plugins/plugin-supervisor.js +19 -1
  564. package/dist/plugins/plugin-supervisor.js.map +1 -1
  565. package/dist/profile/first-roles.d.ts.map +1 -1
  566. package/dist/profile/first-roles.js +10 -1
  567. package/dist/profile/first-roles.js.map +1 -1
  568. package/dist/profile/goal-plugin.d.ts.map +1 -1
  569. package/dist/profile/goal-plugin.js +24 -5
  570. package/dist/profile/goal-plugin.js.map +1 -1
  571. package/dist/profile/identity.d.ts.map +1 -1
  572. package/dist/profile/identity.js +7 -6
  573. package/dist/profile/identity.js.map +1 -1
  574. package/dist/profile/lock.d.ts.map +1 -1
  575. package/dist/profile/lock.js +15 -1
  576. package/dist/profile/lock.js.map +1 -1
  577. package/dist/profile/plan-plugin.d.ts.map +1 -1
  578. package/dist/profile/plan-plugin.js +26 -13
  579. package/dist/profile/plan-plugin.js.map +1 -1
  580. package/dist/profile/plugin-profiles.d.ts.map +1 -1
  581. package/dist/profile/plugin-profiles.js +2 -1
  582. package/dist/profile/plugin-profiles.js.map +1 -1
  583. package/dist/profile/policy-manifest.d.ts.map +1 -1
  584. package/dist/profile/policy-manifest.js +5 -4
  585. package/dist/profile/policy-manifest.js.map +1 -1
  586. package/dist/profile/profile-registry.d.ts +0 -12
  587. package/dist/profile/profile-registry.d.ts.map +1 -1
  588. package/dist/profile/profile-registry.js +14 -1
  589. package/dist/profile/profile-registry.js.map +1 -1
  590. package/dist/profile/role-catalog.d.ts +0 -1
  591. package/dist/profile/role-catalog.d.ts.map +1 -1
  592. package/dist/profile/role-catalog.js +17 -15
  593. package/dist/profile/role-catalog.js.map +1 -1
  594. package/dist/profile/role-orchestrator.d.ts.map +1 -1
  595. package/dist/profile/role-orchestrator.js +8 -7
  596. package/dist/profile/role-orchestrator.js.map +1 -1
  597. package/dist/profile/role-runner.d.ts.map +1 -1
  598. package/dist/profile/role-runner.js +3 -2
  599. package/dist/profile/role-runner.js.map +1 -1
  600. package/dist/profile/root-facade.d.ts.map +1 -1
  601. package/dist/profile/root-facade.js +2 -1
  602. package/dist/profile/root-facade.js.map +1 -1
  603. package/dist/profile/skill-discovery-wiring.d.ts.map +1 -1
  604. package/dist/profile/skill-discovery-wiring.js +7 -2
  605. package/dist/profile/skill-discovery-wiring.js.map +1 -1
  606. package/dist/profile/state-store.d.ts.map +1 -1
  607. package/dist/profile/state-store.js +13 -9
  608. package/dist/profile/state-store.js.map +1 -1
  609. package/dist/profile/todo-plugin.d.ts.map +1 -1
  610. package/dist/profile/todo-plugin.js +9 -4
  611. package/dist/profile/todo-plugin.js.map +1 -1
  612. package/dist/profiles/builtin-suites.d.ts +13 -6
  613. package/dist/profiles/builtin-suites.d.ts.map +1 -1
  614. package/dist/profiles/builtin-suites.js +15 -6
  615. package/dist/profiles/builtin-suites.js.map +1 -1
  616. package/dist/profiles/suite-loader.d.ts +25 -1
  617. package/dist/profiles/suite-loader.d.ts.map +1 -1
  618. package/dist/profiles/suite-loader.js +34 -9
  619. package/dist/profiles/suite-loader.js.map +1 -1
  620. package/dist/remote/server-entry.d.ts.map +1 -1
  621. package/dist/remote/server-entry.js +3 -2
  622. package/dist/remote/server-entry.js.map +1 -1
  623. package/dist/remote/session-source.d.ts.map +1 -1
  624. package/dist/remote/session-source.js +8 -4
  625. package/dist/remote/session-source.js.map +1 -1
  626. package/dist/share/session-share.d.ts.map +1 -1
  627. package/dist/share/session-share.js +14 -2
  628. package/dist/share/session-share.js.map +1 -1
  629. package/dist/testing/plugin-testkit.d.ts.map +1 -1
  630. package/dist/testing/plugin-testkit.js +4 -3
  631. package/dist/testing/plugin-testkit.js.map +1 -1
  632. package/dist/testing/runtime-delivery-queue.d.ts.map +1 -1
  633. package/dist/testing/runtime-delivery-queue.js +2 -1
  634. package/dist/testing/runtime-delivery-queue.js.map +1 -1
  635. package/dist/testing/session-plugin-testkit.d.ts.map +1 -1
  636. package/dist/testing/session-plugin-testkit.js +10 -7
  637. package/dist/testing/session-plugin-testkit.js.map +1 -1
  638. package/dist/utils/ansi.d.ts.map +1 -1
  639. package/dist/utils/ansi.js +2 -1
  640. package/dist/utils/ansi.js.map +1 -1
  641. package/dist/utils/clipboard.d.ts.map +1 -1
  642. package/dist/utils/clipboard.js +7 -6
  643. package/dist/utils/clipboard.js.map +1 -1
  644. package/dist/utils/image-resize-worker.d.ts.map +1 -1
  645. package/dist/utils/image-resize-worker.js +3 -2
  646. package/dist/utils/image-resize-worker.js.map +1 -1
  647. package/dist/utils/shell.d.ts.map +1 -1
  648. package/dist/utils/shell.js +9 -8
  649. package/dist/utils/shell.js.map +1 -1
  650. package/dist/utils/tools-manager.d.ts.map +1 -1
  651. package/dist/utils/tools-manager.js +23 -13
  652. package/dist/utils/tools-manager.js.map +1 -1
  653. package/dist/utils/version-check.d.ts.map +1 -1
  654. package/dist/utils/version-check.js +5 -1
  655. package/dist/utils/version-check.js.map +1 -1
  656. package/docs/keybindings.md +3 -0
  657. package/docs/quickstart.md +1 -1
  658. package/docs/settings.md +1 -0
  659. package/docs/terminal-setup.md +2 -3
  660. package/docs/usage.md +6 -5
  661. package/examples/extensions/with-deps/package-lock.json +2 -2
  662. package/examples/extensions/with-deps/package.json +1 -1
  663. package/examples/extensions/with-deps/plugin.json +1 -1
  664. package/package.json +1 -1
  665. package/dist/bundle/chunks/chunk-EALJ5DDX.js +0 -1452
@@ -1 +1 @@
1
- {"version":3,"file":"capability-runtime-validation.js","sourceRoot":"","sources":["../../../src/core/extensions/capability-runtime-validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { isPluginConfigValue } from \"./capability-runtime-manifest.ts\";\nimport type {\n\tAgentTaskCreateRequest,\n\tCapabilityCommandDefinition,\n\tCapabilityCommandResult,\n\tContributionLifecycle,\n\tContributionPointDefinition,\n\tCredentialResolveRequest,\n\tExecutionFactsV1,\n\tExecutionPhaseV1,\n\tHostCapabilities,\n\tInteractionNotifyLevel,\n\tInteractionRequestV1,\n\tLifecycleEventDefinition,\n\tLifecyclePhase,\n\tLifecycleRegistrationKind,\n\tRetryScheduleV1,\n\tSessionRevisionV1,\n} from \"./public-api.ts\";\nimport { EXPERIMENTAL_PUBLIC_API_VERSION } from \"./public-api.ts\";\n\nconst contributionLifecycles = new Set<ContributionLifecycle>([\"observe\", \"transform\", \"execute\", \"after-commit\"]);\n\nexport const lifecyclePhases = new Set<LifecyclePhase>([\"raw\", \"candidate\", \"committed\"]);\nexport const lifecycleRegistrationKinds = new Set<LifecycleRegistrationKind>([\n\t\"observe\",\n\t\"transform\",\n\t\"execute\",\n\t\"after-commit\",\n]);\n\nexport function validateContributionPointDefinition<TValue>(\n\tdefinition: ContributionPointDefinition<TValue>,\n): ContributionPointDefinition<TValue> {\n\tif (!definition || typeof definition !== \"object\") {\n\t\tthrow new Error(\"Contribution point definition is required\");\n\t}\n\tif (typeof definition.id !== \"string\" || !definition.id.trim()) {\n\t\tthrow new Error(\"Contribution point requires a non-empty id\");\n\t}\n\tif (!Number.isSafeInteger(definition.version) || definition.version < 1) {\n\t\tthrow new Error(\"Contribution point version must be a positive safe integer\");\n\t}\n\tif (typeof definition.schema !== \"string\" || !definition.schema.trim()) {\n\t\tthrow new Error(\"Contribution point requires a non-empty schema\");\n\t}\n\tif (definition.lifecycle !== undefined && !contributionLifecycles.has(definition.lifecycle)) {\n\t\tthrow new Error(`Contribution point lifecycle is invalid: ${String(definition.lifecycle)}`);\n\t}\n\tif (typeof definition.validate !== \"function\") {\n\t\tthrow new Error(\"Contribution point requires a validate function\");\n\t}\n\treturn definition;\n}\n\nexport function contributionPointKey(id: string, version: number): string {\n\treturn `${id}@${version}`;\n}\n\nexport function lifecycleEventKey(id: string, version: number): string {\n\treturn `${id}@${version}`;\n}\n\nexport function validateLifecycleEventDefinition<TData>(\n\tdefinition: LifecycleEventDefinition<TData>,\n): LifecycleEventDefinition<TData> {\n\tif (!definition || typeof definition !== \"object\") throw new Error(\"Lifecycle event definition is required\");\n\tif (typeof definition.id !== \"string\" || !definition.id.trim()) {\n\t\tthrow new Error(\"Lifecycle event requires a non-empty id\");\n\t}\n\tif (!Number.isSafeInteger(definition.version) || definition.version < 1) {\n\t\tthrow new Error(\"Lifecycle event version must be a positive safe integer\");\n\t}\n\tif (!lifecyclePhases.has(definition.phase)) {\n\t\tthrow new Error(`Lifecycle event phase is invalid: ${String(definition.phase)}`);\n\t}\n\tconst allowedPhases = definition.allowedPhases;\n\tif (\n\t\tallowedPhases !== undefined &&\n\t\t(!Array.isArray(allowedPhases) ||\n\t\t\tallowedPhases.length === 0 ||\n\t\t\tallowedPhases.some((phase) => !lifecyclePhases.has(phase)))\n\t) {\n\t\tthrow new Error(\"Lifecycle event allowedPhases must be a non-empty array of valid phases when provided\");\n\t}\n\tif (allowedPhases && new Set(allowedPhases).size !== allowedPhases.length) {\n\t\tthrow new Error(\"Lifecycle event allowedPhases must not contain duplicates\");\n\t}\n\tif (allowedPhases && !allowedPhases.includes(definition.phase)) {\n\t\tthrow new Error(\"Lifecycle event allowedPhases must include phase\");\n\t}\n\tif (typeof definition.schema !== \"string\" || !definition.schema.trim()) {\n\t\tthrow new Error(\"Lifecycle event requires a non-empty schema\");\n\t}\n\tif (typeof definition.validate !== \"function\") {\n\t\tthrow new Error(\"Lifecycle event requires a validate function\");\n\t}\n\tconst allowedRegistrationKinds = definition.allowedRegistrationKinds;\n\tif (\n\t\tallowedRegistrationKinds !== undefined &&\n\t\t(!Array.isArray(allowedRegistrationKinds) || allowedRegistrationKinds.length === 0)\n\t) {\n\t\tthrow new Error(\"Lifecycle event allowedRegistrationKinds must be a non-empty array when provided\");\n\t}\n\tif (allowedRegistrationKinds?.some((kind) => !lifecycleRegistrationKinds.has(kind))) {\n\t\tthrow new Error(\"Lifecycle event allowedRegistrationKinds contains an invalid registration kind\");\n\t}\n\tif (allowedRegistrationKinds && new Set(allowedRegistrationKinds).size !== allowedRegistrationKinds.length) {\n\t\tthrow new Error(\"Lifecycle event allowedRegistrationKinds must not contain duplicates\");\n\t}\n\treturn Object.freeze({\n\t\tid: definition.id,\n\t\tversion: definition.version,\n\t\tphase: definition.phase,\n\t\t...(allowedPhases === undefined ? {} : { allowedPhases: Object.freeze([...allowedPhases]) }),\n\t\tschema: definition.schema,\n\t\t...(allowedRegistrationKinds === undefined\n\t\t\t? {}\n\t\t\t: { allowedRegistrationKinds: Object.freeze([...allowedRegistrationKinds]) }),\n\t\tvalidate: definition.validate,\n\t});\n}\n\nexport function stableTextCompare(left: string, right: string): number {\n\treturn left < right ? -1 : left > right ? 1 : 0;\n}\n\nexport function validateCredentialRequest(request: CredentialResolveRequest): void {\n\tif (!request || typeof request.providerId !== \"string\" || !request.providerId.trim()) {\n\t\tthrow new Error(\"Credential resolution requires a non-empty providerId\");\n\t}\n\tif (request.minValidityMs !== undefined && (!Number.isFinite(request.minValidityMs) || request.minValidityMs < 0)) {\n\t\tthrow new Error(\"Credential minValidityMs must be a non-negative finite number\");\n\t}\n}\n\nconst INTERACTION_NOTIFY_LEVELS = new Set<InteractionNotifyLevel>([\"info\", \"warning\", \"error\"]);\n\nexport function validateInteractionNotifyRequest(request: { message: string; level?: InteractionNotifyLevel }): void {\n\tif (!request || typeof request !== \"object\" || typeof request.message !== \"string\" || !request.message.trim()) {\n\t\tthrow new Error(\"Interaction notify requires a non-empty message\");\n\t}\n\tif (request.level !== undefined && !INTERACTION_NOTIFY_LEVELS.has(request.level)) {\n\t\tthrow new Error(\"Interaction notify level must be info, warning, or error\");\n\t}\n}\n\nexport function validateInteractionRequest(request: InteractionRequestV1): void {\n\tif (!request || typeof request !== \"object\") {\n\t\tthrow new Error(\"Interaction request must be an object with a known kind\");\n\t}\n\tswitch (request.kind) {\n\t\tcase \"notify\":\n\t\t\tvalidateInteractionNotifyRequest(request);\n\t\t\treturn;\n\t\tcase \"confirm\":\n\t\t\tassertNonEmptyString(request.title, \"Interaction confirm title\");\n\t\t\tassertNonEmptyString(request.message, \"Interaction confirm message\");\n\t\t\treturn;\n\t\tcase \"select\":\n\t\t\tassertNonEmptyString(request.title, \"Interaction select title\");\n\t\t\tif (!Array.isArray(request.options) || request.options.length === 0) {\n\t\t\t\tthrow new Error(\"Interaction select requires a non-empty options array\");\n\t\t\t}\n\t\t\tif (request.options.some((option) => typeof option !== \"string\" || !option.trim())) {\n\t\t\t\tthrow new Error(\"Interaction select options must be non-empty strings\");\n\t\t\t}\n\t\t\treturn;\n\t\tcase \"input\":\n\t\t\tassertNonEmptyString(request.title, \"Interaction input title\");\n\t\t\tif (request.placeholder !== undefined && typeof request.placeholder !== \"string\") {\n\t\t\t\tthrow new Error(\"Interaction input placeholder must be a string\");\n\t\t\t}\n\t\t\tif (request.defaultValue !== undefined && typeof request.defaultValue !== \"string\") {\n\t\t\t\tthrow new Error(\"Interaction input defaultValue must be a string\");\n\t\t\t}\n\t\t\treturn;\n\t\tdefault:\n\t\t\tthrow new Error(\"Interaction request requires a known kind: notify, confirm, select, or input\");\n\t}\n}\n\nexport function validateInteractionTimeoutMs(timeoutMs: number | undefined): void {\n\tif (timeoutMs === undefined) return;\n\tif (!Number.isSafeInteger(timeoutMs) || timeoutMs <= 0) {\n\t\tthrow new Error(\"Interaction timeoutMs must be a positive integer\");\n\t}\n}\n\nconst EXECUTION_FACT_KEYS = [\"version\", \"operationId\", \"sessionId\", \"inputRevision\", \"phase\"] as const;\nconst RETRY_SCHEDULE_KEYS = [...EXECUTION_FACT_KEYS, \"action\", \"attempt\", \"delayMs\"] as const;\nconst executionPhases = new Set<ExecutionPhaseV1>([\n\t\"agent\",\n\t\"compaction\",\n\t\"overflow\",\n\t\"retry\",\n\t\"branch_summary\",\n\t\"reload\",\n\t\"tree\",\n]);\n\nfunction assertPlainRecord(value: unknown, label: string): Record<string, unknown> {\n\tif (\n\t\t!value ||\n\t\ttypeof value !== \"object\" ||\n\t\tArray.isArray(value) ||\n\t\tObject.getPrototypeOf(value) !== Object.prototype\n\t) {\n\t\tthrow new Error(`${label} must be a plain object`);\n\t}\n\treturn value as Record<string, unknown>;\n}\n\nfunction assertExactKeys(value: Record<string, unknown>, keys: readonly string[], label: string): void {\n\tconst allowed = new Set(keys);\n\tconst unexpected = Object.keys(value).filter((key) => !allowed.has(key));\n\tif (unexpected.length > 0) {\n\t\tthrow new Error(`${label} has unsupported fields: ${unexpected.join(\", \")}`);\n\t}\n\tconst missing = keys.filter((key) => !(key in value));\n\tif (missing.length > 0) {\n\t\tthrow new Error(`${label} is missing required fields: ${missing.join(\", \")}`);\n\t}\n}\n\nfunction assertNonEmptyString(value: unknown, label: string): asserts value is string {\n\tif (typeof value !== \"string\" || !value.trim()) throw new Error(`${label} must be a non-empty string`);\n}\n\nfunction assertNonNegativeSafeInteger(value: unknown, label: string): asserts value is number {\n\tif (typeof value !== \"number\" || !Number.isSafeInteger(value) || value < 0) {\n\t\tthrow new Error(`${label} must be a non-negative safe integer`);\n\t}\n}\n\nfunction assertNonNegativeFinite(value: unknown, label: string): asserts value is number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value) || value < 0) {\n\t\tthrow new Error(`${label} must be a non-negative finite number`);\n\t}\n}\n\nfunction validateSessionRevisionV1(value: unknown, label: string): SessionRevisionV1 {\n\tconst revision = assertPlainRecord(value, label);\n\tassertExactKeys(revision, [\"version\", \"sessionId\", \"sequence\", \"leafId\"], label);\n\tif (revision.version !== 1) throw new Error(`${label}.version must be 1`);\n\tassertNonEmptyString(revision.sessionId, `${label}.sessionId`);\n\tassertNonNegativeSafeInteger(revision.sequence, `${label}.sequence`);\n\tif (typeof revision.leafId !== \"string\" && revision.leafId !== null) {\n\t\tthrow new Error(`${label}.leafId must be a string or null`);\n\t}\n\tif (typeof revision.leafId === \"string\" && !revision.leafId.trim()) {\n\t\tthrow new Error(`${label}.leafId must be a non-empty string or null`);\n\t}\n\treturn Object.freeze({\n\t\tversion: 1,\n\t\tsessionId: revision.sessionId,\n\t\tsequence: revision.sequence,\n\t\tleafId: revision.leafId,\n\t});\n}\n\n/**\n * Strictly validates host-supplied execution facts and returns an immutable,\n * detached V1 value. It performs no state lookup and grants no commit right.\n */\nexport function validateExecutionFactsV1(value: unknown): ExecutionFactsV1 {\n\tconst facts = assertPlainRecord(value, \"Execution facts\");\n\tassertExactKeys(facts, EXECUTION_FACT_KEYS, \"Execution facts\");\n\tif (facts.version !== 1) throw new Error(\"Execution facts.version must be 1\");\n\tassertNonEmptyString(facts.operationId, \"Execution facts.operationId\");\n\tassertNonEmptyString(facts.sessionId, \"Execution facts.sessionId\");\n\tif (typeof facts.phase !== \"string\" || !executionPhases.has(facts.phase as ExecutionPhaseV1)) {\n\t\tthrow new Error(\"Execution facts.phase is invalid\");\n\t}\n\tconst inputRevision = validateSessionRevisionV1(facts.inputRevision, \"Execution facts.inputRevision\");\n\tif (inputRevision.sessionId !== facts.sessionId) {\n\t\tthrow new Error(\"Execution facts.inputRevision.sessionId must match Execution facts.sessionId\");\n\t}\n\treturn Object.freeze({\n\t\tversion: 1,\n\t\toperationId: facts.operationId,\n\t\tsessionId: facts.sessionId,\n\t\tinputRevision,\n\t\tphase: facts.phase as ExecutionPhaseV1,\n\t});\n}\n\n/**\n * Strictly validates a retry decision bound to one execution boundary. A\n * scheduled retry is one-based; a stop outcome cannot request a delay.\n */\nexport function validateRetryScheduleV1(value: unknown): RetryScheduleV1 {\n\tconst schedule = assertPlainRecord(value, \"Retry schedule\");\n\tassertExactKeys(schedule, RETRY_SCHEDULE_KEYS, \"Retry schedule\");\n\tconst facts = validateExecutionFactsV1({\n\t\tversion: schedule.version,\n\t\toperationId: schedule.operationId,\n\t\tsessionId: schedule.sessionId,\n\t\tinputRevision: schedule.inputRevision,\n\t\tphase: schedule.phase,\n\t});\n\tif (schedule.action !== \"retry\" && schedule.action !== \"stop\") {\n\t\tthrow new Error(\"Retry schedule.action must be retry or stop\");\n\t}\n\tassertNonNegativeSafeInteger(schedule.attempt, \"Retry schedule.attempt\");\n\tassertNonNegativeFinite(schedule.delayMs, \"Retry schedule.delayMs\");\n\tif (schedule.action === \"retry\" && schedule.attempt === 0) {\n\t\tthrow new Error(\"Retry schedule.retry requires a one-based attempt\");\n\t}\n\tif (schedule.action === \"stop\" && schedule.delayMs !== 0) {\n\t\tthrow new Error(\"Retry schedule.stop must have delayMs 0\");\n\t}\n\treturn Object.freeze({ ...facts, action: schedule.action, attempt: schedule.attempt, delayMs: schedule.delayMs });\n}\n\nexport function assertHost(host: unknown): asserts host is HostCapabilities {\n\tif (!host || typeof host !== \"object\" || Array.isArray(host)) {\n\t\tthrow new Error(\"Host capabilities must be an object\");\n\t}\n\tconst candidate = host as Partial<HostCapabilities>;\n\tif (candidate.apiVersion !== EXPERIMENTAL_PUBLIC_API_VERSION) {\n\t\tthrow new Error(`Unsupported host API version: ${candidate.apiVersion}`);\n\t}\n\tif (candidate.mode !== \"readonly\" && candidate.mode !== \"full-control\") {\n\t\tthrow new Error(\"Host mode must be readonly or full-control\");\n\t}\n\tif (\n\t\t!Array.isArray(candidate.features) ||\n\t\tcandidate.features.some((feature) => typeof feature !== \"string\" || !feature.trim())\n\t) {\n\t\tthrow new Error(\"Host features must be an array of non-empty strings\");\n\t}\n\tif (\n\t\t!Array.isArray(candidate.transports) ||\n\t\tcandidate.transports.some(\n\t\t\t(transport) =>\n\t\t\t\ttransport !== \"in-process\" && transport !== \"stdio\" && transport !== \"http\" && transport !== \"rpc\",\n\t\t)\n\t) {\n\t\tthrow new Error(\"Host transports must be an array of supported transports\");\n\t}\n}\n\n/** Read the owning plugin's readonly-mode declaration off a tool definition (宪法 §6). */\nexport function toolReadonlySafe(definition: unknown): boolean {\n\treturn (definition as { readonlySafe?: unknown } | undefined)?.readonlySafe === true;\n}\n\nexport function capabilityName(value: unknown, kind: string): string {\n\tif (!value || typeof value !== \"object\" || !(\"name\" in value) || typeof value.name !== \"string\" || !value.name) {\n\t\tthrow new Error(`${kind} definition requires a non-empty name`);\n\t}\n\treturn value.name;\n}\n\nexport function validateCommandDefinition(definition: CapabilityCommandDefinition): CapabilityCommandDefinition {\n\tif (!definition || typeof definition !== \"object\") {\n\t\tthrow new Error(\"Command requires a definition\");\n\t}\n\tconst { name, description, argumentHint, execute } = definition;\n\tif (typeof name !== \"string\" || !name || name.startsWith(\"/\") || /\\s/.test(name)) {\n\t\tthrow new Error(\"Command definition requires a non-empty name without slash or whitespace\");\n\t}\n\tif (typeof description !== \"string\" || !description.trim()) {\n\t\tthrow new Error(\"Command definition requires a non-empty description\");\n\t}\n\tif (argumentHint !== undefined && typeof argumentHint !== \"string\") {\n\t\tthrow new Error(\"Command definition argumentHint must be a string\");\n\t}\n\tif (typeof execute !== \"function\") {\n\t\tthrow new Error(\"Command definition requires an execute function\");\n\t}\n\treturn definition;\n}\n\nexport function validateCommandResult(value: unknown, commandName: string): CapabilityCommandResult | undefined {\n\tif (value === undefined) return undefined;\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\tthrow new Error(`Capability command returned an invalid result: ${commandName}`);\n\t}\n\tconst result = value as Partial<CapabilityCommandResult>;\n\tif (result.status !== \"success\" && result.status !== \"error\") {\n\t\tthrow new Error(`Capability command returned an invalid status: ${commandName}`);\n\t}\n\tif (typeof result.message !== \"string\") {\n\t\tthrow new Error(`Capability command returned an invalid message: ${commandName}`);\n\t}\n\tif (\n\t\tresult.links !== undefined &&\n\t\t(!Array.isArray(result.links) ||\n\t\t\tresult.links.some(\n\t\t\t\t(link) =>\n\t\t\t\t\t!link ||\n\t\t\t\t\ttypeof link !== \"object\" ||\n\t\t\t\t\ttypeof (link as { label?: unknown }).label !== \"string\" ||\n\t\t\t\t\ttypeof (link as { url?: unknown }).url !== \"string\",\n\t\t\t))\n\t) {\n\t\tthrow new Error(`Capability command returned invalid links: ${commandName}`);\n\t}\n\tif (result.data !== undefined && !isPluginConfigValue(result.data)) {\n\t\tthrow new Error(`Capability command returned non-serializable data: ${commandName}`);\n\t}\n\treturn value as CapabilityCommandResult;\n}\n\nexport function asHandler(value: unknown, kind: string): (...args: unknown[]) => unknown | Promise<unknown> {\n\tif (typeof value === \"function\") return value as (...args: unknown[]) => unknown | Promise<unknown>;\n\tif (value && typeof value === \"object\") {\n\t\tconst handlers = value as Record<string, unknown>;\n\t\tfor (const key of [\"execute\", \"run\", \"handler\"] as const) {\n\t\t\tconst candidate = handlers[key];\n\t\t\tif (typeof candidate === \"function\") return candidate as (...args: unknown[]) => unknown | Promise<unknown>;\n\t\t}\n\t}\n\tthrow new Error(`${kind} requires a callable handler`);\n}\n\nexport function assertAgentTaskRequest(request: AgentTaskCreateRequest): void {\n\tif (!request || typeof request.prompt !== \"string\" || !request.prompt.trim()) {\n\t\tthrow new Error(\"Agent task requires a non-empty prompt\");\n\t}\n\tif (request.metadata !== undefined && (typeof request.metadata !== \"object\" || Array.isArray(request.metadata))) {\n\t\tthrow new Error(\"Agent task metadata must be an object\");\n\t}\n}\n\nexport function validateProviderHeaders(headers: unknown, source: string): Record<string, string | null> {\n\tif (!headers || typeof headers !== \"object\" || Array.isArray(headers)) {\n\t\tthrow new Error(`Provider header transform returned invalid headers: ${source}`);\n\t}\n\tconst validated: Record<string, string | null> = {};\n\tfor (const [name, value] of Object.entries(headers)) {\n\t\tif (!name || (typeof value !== \"string\" && value !== null)) {\n\t\t\tthrow new Error(`Provider header transform returned invalid headers: ${source}`);\n\t\t}\n\t\tvalidated[name] = value;\n\t}\n\treturn validated;\n}\n"]}
1
+ {"version":3,"file":"capability-runtime-validation.js","sourceRoot":"","sources":["../../../src/core/extensions/capability-runtime-validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { t } from \"../i18n/index.ts\";\nimport { isPluginConfigValue } from \"./capability-runtime-manifest.ts\";\nimport type {\n\tAgentTaskCreateRequest,\n\tCapabilityCommandDefinition,\n\tCapabilityCommandResult,\n\tContributionLifecycle,\n\tContributionPointDefinition,\n\tCredentialResolveRequest,\n\tExecutionFactsV1,\n\tExecutionPhaseV1,\n\tHostCapabilities,\n\tInteractionNotifyLevel,\n\tInteractionRequestV1,\n\tLifecycleEventDefinition,\n\tLifecyclePhase,\n\tLifecycleRegistrationKind,\n\tRetryScheduleV1,\n\tSessionRevisionV1,\n} from \"./public-api.ts\";\nimport { EXPERIMENTAL_PUBLIC_API_VERSION } from \"./public-api.ts\";\n\nconst contributionLifecycles = new Set<ContributionLifecycle>([\"observe\", \"transform\", \"execute\", \"after-commit\"]);\n\nexport const lifecyclePhases = new Set<LifecyclePhase>([\"raw\", \"candidate\", \"committed\"]);\nexport const lifecycleRegistrationKinds = new Set<LifecycleRegistrationKind>([\n\t\"observe\",\n\t\"transform\",\n\t\"execute\",\n\t\"after-commit\",\n]);\n\nexport function validateContributionPointDefinition<TValue>(\n\tdefinition: ContributionPointDefinition<TValue>,\n): ContributionPointDefinition<TValue> {\n\tif (!definition || typeof definition !== \"object\") {\n\t\tthrow new Error(t(\"Contribution point definition is required\"));\n\t}\n\tif (typeof definition.id !== \"string\" || !definition.id.trim()) {\n\t\tthrow new Error(t(\"Contribution point requires a non-empty id\"));\n\t}\n\tif (!Number.isSafeInteger(definition.version) || definition.version < 1) {\n\t\tthrow new Error(t(\"Contribution point version must be a positive safe integer\"));\n\t}\n\tif (typeof definition.schema !== \"string\" || !definition.schema.trim()) {\n\t\tthrow new Error(t(\"Contribution point requires a non-empty schema\"));\n\t}\n\tif (definition.lifecycle !== undefined && !contributionLifecycles.has(definition.lifecycle)) {\n\t\tthrow new Error(t(\"Contribution point lifecycle is invalid: {value}\", { value: String(definition.lifecycle) }));\n\t}\n\tif (typeof definition.validate !== \"function\") {\n\t\tthrow new Error(t(\"Contribution point requires a validate function\"));\n\t}\n\treturn definition;\n}\n\nexport function contributionPointKey(id: string, version: number): string {\n\treturn `${id}@${version}`;\n}\n\nexport function lifecycleEventKey(id: string, version: number): string {\n\treturn `${id}@${version}`;\n}\n\nexport function validateLifecycleEventDefinition<TData>(\n\tdefinition: LifecycleEventDefinition<TData>,\n): LifecycleEventDefinition<TData> {\n\tif (!definition || typeof definition !== \"object\") throw new Error(t(\"Lifecycle event definition is required\"));\n\tif (typeof definition.id !== \"string\" || !definition.id.trim()) {\n\t\tthrow new Error(t(\"Lifecycle event requires a non-empty id\"));\n\t}\n\tif (!Number.isSafeInteger(definition.version) || definition.version < 1) {\n\t\tthrow new Error(t(\"Lifecycle event version must be a positive safe integer\"));\n\t}\n\tif (!lifecyclePhases.has(definition.phase)) {\n\t\tthrow new Error(t(\"Lifecycle event phase is invalid: {value}\", { value: String(definition.phase) }));\n\t}\n\tconst allowedPhases = definition.allowedPhases;\n\tif (\n\t\tallowedPhases !== undefined &&\n\t\t(!Array.isArray(allowedPhases) ||\n\t\t\tallowedPhases.length === 0 ||\n\t\t\tallowedPhases.some((phase) => !lifecyclePhases.has(phase)))\n\t) {\n\t\tthrow new Error(t(\"Lifecycle event allowedPhases must be a non-empty array of valid phases when provided\"));\n\t}\n\tif (allowedPhases && new Set(allowedPhases).size !== allowedPhases.length) {\n\t\tthrow new Error(t(\"Lifecycle event allowedPhases must not contain duplicates\"));\n\t}\n\tif (allowedPhases && !allowedPhases.includes(definition.phase)) {\n\t\tthrow new Error(t(\"Lifecycle event allowedPhases must include phase\"));\n\t}\n\tif (typeof definition.schema !== \"string\" || !definition.schema.trim()) {\n\t\tthrow new Error(t(\"Lifecycle event requires a non-empty schema\"));\n\t}\n\tif (typeof definition.validate !== \"function\") {\n\t\tthrow new Error(t(\"Lifecycle event requires a validate function\"));\n\t}\n\tconst allowedRegistrationKinds = definition.allowedRegistrationKinds;\n\tif (\n\t\tallowedRegistrationKinds !== undefined &&\n\t\t(!Array.isArray(allowedRegistrationKinds) || allowedRegistrationKinds.length === 0)\n\t) {\n\t\tthrow new Error(t(\"Lifecycle event allowedRegistrationKinds must be a non-empty array when provided\"));\n\t}\n\tif (allowedRegistrationKinds?.some((kind) => !lifecycleRegistrationKinds.has(kind))) {\n\t\tthrow new Error(t(\"Lifecycle event allowedRegistrationKinds contains an invalid registration kind\"));\n\t}\n\tif (allowedRegistrationKinds && new Set(allowedRegistrationKinds).size !== allowedRegistrationKinds.length) {\n\t\tthrow new Error(t(\"Lifecycle event allowedRegistrationKinds must not contain duplicates\"));\n\t}\n\treturn Object.freeze({\n\t\tid: definition.id,\n\t\tversion: definition.version,\n\t\tphase: definition.phase,\n\t\t...(allowedPhases === undefined ? {} : { allowedPhases: Object.freeze([...allowedPhases]) }),\n\t\tschema: definition.schema,\n\t\t...(allowedRegistrationKinds === undefined\n\t\t\t? {}\n\t\t\t: { allowedRegistrationKinds: Object.freeze([...allowedRegistrationKinds]) }),\n\t\tvalidate: definition.validate,\n\t});\n}\n\nexport function stableTextCompare(left: string, right: string): number {\n\treturn left < right ? -1 : left > right ? 1 : 0;\n}\n\nexport function validateCredentialRequest(request: CredentialResolveRequest): void {\n\tif (!request || typeof request.providerId !== \"string\" || !request.providerId.trim()) {\n\t\tthrow new Error(t(\"Credential resolution requires a non-empty providerId\"));\n\t}\n\tif (request.minValidityMs !== undefined && (!Number.isFinite(request.minValidityMs) || request.minValidityMs < 0)) {\n\t\tthrow new Error(t(\"Credential minValidityMs must be a non-negative finite number\"));\n\t}\n}\n\nconst INTERACTION_NOTIFY_LEVELS = new Set<InteractionNotifyLevel>([\"info\", \"warning\", \"error\"]);\n\nexport function validateInteractionNotifyRequest(request: { message: string; level?: InteractionNotifyLevel }): void {\n\tif (!request || typeof request !== \"object\" || typeof request.message !== \"string\" || !request.message.trim()) {\n\t\tthrow new Error(t(\"Interaction notify requires a non-empty message\"));\n\t}\n\tif (request.level !== undefined && !INTERACTION_NOTIFY_LEVELS.has(request.level)) {\n\t\tthrow new Error(t(\"Interaction notify level must be info, warning, or error\"));\n\t}\n}\n\nexport function validateInteractionRequest(request: InteractionRequestV1): void {\n\tif (!request || typeof request !== \"object\") {\n\t\tthrow new Error(t(\"Interaction request must be an object with a known kind\"));\n\t}\n\tswitch (request.kind) {\n\t\tcase \"notify\":\n\t\t\tvalidateInteractionNotifyRequest(request);\n\t\t\treturn;\n\t\tcase \"confirm\":\n\t\t\tassertNonEmptyString(request.title, \"Interaction confirm title\");\n\t\t\tassertNonEmptyString(request.message, \"Interaction confirm message\");\n\t\t\treturn;\n\t\tcase \"select\":\n\t\t\tassertNonEmptyString(request.title, \"Interaction select title\");\n\t\t\tif (!Array.isArray(request.options) || request.options.length === 0) {\n\t\t\t\tthrow new Error(t(\"Interaction select requires a non-empty options array\"));\n\t\t\t}\n\t\t\tif (request.options.some((option) => typeof option !== \"string\" || !option.trim())) {\n\t\t\t\tthrow new Error(t(\"Interaction select options must be non-empty strings\"));\n\t\t\t}\n\t\t\treturn;\n\t\tcase \"input\":\n\t\t\tassertNonEmptyString(request.title, \"Interaction input title\");\n\t\t\tif (request.placeholder !== undefined && typeof request.placeholder !== \"string\") {\n\t\t\t\tthrow new Error(t(\"Interaction input placeholder must be a string\"));\n\t\t\t}\n\t\t\tif (request.defaultValue !== undefined && typeof request.defaultValue !== \"string\") {\n\t\t\t\tthrow new Error(t(\"Interaction input defaultValue must be a string\"));\n\t\t\t}\n\t\t\treturn;\n\t\tdefault:\n\t\t\tthrow new Error(t(\"Interaction request requires a known kind: notify, confirm, select, or input\"));\n\t}\n}\n\nexport function validateInteractionTimeoutMs(timeoutMs: number | undefined): void {\n\tif (timeoutMs === undefined) return;\n\tif (!Number.isSafeInteger(timeoutMs) || timeoutMs <= 0) {\n\t\tthrow new Error(t(\"Interaction timeoutMs must be a positive integer\"));\n\t}\n}\n\nconst EXECUTION_FACT_KEYS = [\"version\", \"operationId\", \"sessionId\", \"inputRevision\", \"phase\"] as const;\nconst RETRY_SCHEDULE_KEYS = [...EXECUTION_FACT_KEYS, \"action\", \"attempt\", \"delayMs\"] as const;\nconst executionPhases = new Set<ExecutionPhaseV1>([\n\t\"agent\",\n\t\"compaction\",\n\t\"overflow\",\n\t\"retry\",\n\t\"branch_summary\",\n\t\"reload\",\n\t\"tree\",\n]);\n\nfunction assertPlainRecord(value: unknown, label: string): Record<string, unknown> {\n\tif (\n\t\t!value ||\n\t\ttypeof value !== \"object\" ||\n\t\tArray.isArray(value) ||\n\t\tObject.getPrototypeOf(value) !== Object.prototype\n\t) {\n\t\tthrow new Error(t(\"{label} must be a plain object\", { label }));\n\t}\n\treturn value as Record<string, unknown>;\n}\n\nfunction assertExactKeys(value: Record<string, unknown>, keys: readonly string[], label: string): void {\n\tconst allowed = new Set(keys);\n\tconst unexpected = Object.keys(value).filter((key) => !allowed.has(key));\n\tif (unexpected.length > 0) {\n\t\tthrow new Error(t(\"{label} has unsupported fields: {value}\", { label, value: unexpected.join(\", \") }));\n\t}\n\tconst missing = keys.filter((key) => !(key in value));\n\tif (missing.length > 0) {\n\t\tthrow new Error(t(\"{label} is missing required fields: {value}\", { label, value: missing.join(\", \") }));\n\t}\n}\n\nfunction assertNonEmptyString(value: unknown, label: string): asserts value is string {\n\tif (typeof value !== \"string\" || !value.trim()) throw new Error(t(\"{label} must be a non-empty string\", { label }));\n}\n\nfunction assertNonNegativeSafeInteger(value: unknown, label: string): asserts value is number {\n\tif (typeof value !== \"number\" || !Number.isSafeInteger(value) || value < 0) {\n\t\tthrow new Error(t(\"{label} must be a non-negative safe integer\", { label }));\n\t}\n}\n\nfunction assertNonNegativeFinite(value: unknown, label: string): asserts value is number {\n\tif (typeof value !== \"number\" || !Number.isFinite(value) || value < 0) {\n\t\tthrow new Error(t(\"{label} must be a non-negative finite number\", { label }));\n\t}\n}\n\nfunction validateSessionRevisionV1(value: unknown, label: string): SessionRevisionV1 {\n\tconst revision = assertPlainRecord(value, label);\n\tassertExactKeys(revision, [\"version\", \"sessionId\", \"sequence\", \"leafId\"], label);\n\tif (revision.version !== 1) throw new Error(t(\"{label}.version must be 1\", { label }));\n\tassertNonEmptyString(revision.sessionId, `${label}.sessionId`);\n\tassertNonNegativeSafeInteger(revision.sequence, `${label}.sequence`);\n\tif (typeof revision.leafId !== \"string\" && revision.leafId !== null) {\n\t\tthrow new Error(t(\"{label}.leafId must be a string or null\", { label }));\n\t}\n\tif (typeof revision.leafId === \"string\" && !revision.leafId.trim()) {\n\t\tthrow new Error(t(\"{label}.leafId must be a non-empty string or null\", { label }));\n\t}\n\treturn Object.freeze({\n\t\tversion: 1,\n\t\tsessionId: revision.sessionId,\n\t\tsequence: revision.sequence,\n\t\tleafId: revision.leafId,\n\t});\n}\n\n/**\n * Strictly validates host-supplied execution facts and returns an immutable,\n * detached V1 value. It performs no state lookup and grants no commit right.\n */\nexport function validateExecutionFactsV1(value: unknown): ExecutionFactsV1 {\n\tconst facts = assertPlainRecord(value, \"Execution facts\");\n\tassertExactKeys(facts, EXECUTION_FACT_KEYS, \"Execution facts\");\n\tif (facts.version !== 1) throw new Error(t(\"Execution facts.version must be 1\"));\n\tassertNonEmptyString(facts.operationId, \"Execution facts.operationId\");\n\tassertNonEmptyString(facts.sessionId, \"Execution facts.sessionId\");\n\tif (typeof facts.phase !== \"string\" || !executionPhases.has(facts.phase as ExecutionPhaseV1)) {\n\t\tthrow new Error(t(\"Execution facts.phase is invalid\"));\n\t}\n\tconst inputRevision = validateSessionRevisionV1(facts.inputRevision, \"Execution facts.inputRevision\");\n\tif (inputRevision.sessionId !== facts.sessionId) {\n\t\tthrow new Error(t(\"Execution facts.inputRevision.sessionId must match Execution facts.sessionId\"));\n\t}\n\treturn Object.freeze({\n\t\tversion: 1,\n\t\toperationId: facts.operationId,\n\t\tsessionId: facts.sessionId,\n\t\tinputRevision,\n\t\tphase: facts.phase as ExecutionPhaseV1,\n\t});\n}\n\n/**\n * Strictly validates a retry decision bound to one execution boundary. A\n * scheduled retry is one-based; a stop outcome cannot request a delay.\n */\nexport function validateRetryScheduleV1(value: unknown): RetryScheduleV1 {\n\tconst schedule = assertPlainRecord(value, \"Retry schedule\");\n\tassertExactKeys(schedule, RETRY_SCHEDULE_KEYS, \"Retry schedule\");\n\tconst facts = validateExecutionFactsV1({\n\t\tversion: schedule.version,\n\t\toperationId: schedule.operationId,\n\t\tsessionId: schedule.sessionId,\n\t\tinputRevision: schedule.inputRevision,\n\t\tphase: schedule.phase,\n\t});\n\tif (schedule.action !== \"retry\" && schedule.action !== \"stop\") {\n\t\tthrow new Error(t(\"Retry schedule.action must be retry or stop\"));\n\t}\n\tassertNonNegativeSafeInteger(schedule.attempt, \"Retry schedule.attempt\");\n\tassertNonNegativeFinite(schedule.delayMs, \"Retry schedule.delayMs\");\n\tif (schedule.action === \"retry\" && schedule.attempt === 0) {\n\t\tthrow new Error(t(\"Retry schedule.retry requires a one-based attempt\"));\n\t}\n\tif (schedule.action === \"stop\" && schedule.delayMs !== 0) {\n\t\tthrow new Error(t(\"Retry schedule.stop must have delayMs 0\"));\n\t}\n\treturn Object.freeze({ ...facts, action: schedule.action, attempt: schedule.attempt, delayMs: schedule.delayMs });\n}\n\nexport function assertHost(host: unknown): asserts host is HostCapabilities {\n\tif (!host || typeof host !== \"object\" || Array.isArray(host)) {\n\t\tthrow new Error(t(\"Host capabilities must be an object\"));\n\t}\n\tconst candidate = host as Partial<HostCapabilities>;\n\tif (candidate.apiVersion !== EXPERIMENTAL_PUBLIC_API_VERSION) {\n\t\tthrow new Error(\n\t\t\tt(\"Unsupported host API version: {apiVersion}\", { apiVersion: candidate.apiVersion ?? \"unknown\" }),\n\t\t);\n\t}\n\tif (candidate.mode !== \"readonly\" && candidate.mode !== \"full-control\") {\n\t\tthrow new Error(t(\"Host mode must be readonly or full-control\"));\n\t}\n\tif (\n\t\t!Array.isArray(candidate.features) ||\n\t\tcandidate.features.some((feature) => typeof feature !== \"string\" || !feature.trim())\n\t) {\n\t\tthrow new Error(t(\"Host features must be an array of non-empty strings\"));\n\t}\n\tif (\n\t\t!Array.isArray(candidate.transports) ||\n\t\tcandidate.transports.some(\n\t\t\t(transport) =>\n\t\t\t\ttransport !== \"in-process\" && transport !== \"stdio\" && transport !== \"http\" && transport !== \"rpc\",\n\t\t)\n\t) {\n\t\tthrow new Error(t(\"Host transports must be an array of supported transports\"));\n\t}\n}\n\n/** Read the owning plugin's readonly-mode declaration off a tool definition (宪法 §6). */\nexport function toolReadonlySafe(definition: unknown): boolean {\n\treturn (definition as { readonlySafe?: unknown } | undefined)?.readonlySafe === true;\n}\n\nexport function capabilityName(value: unknown, kind: string): string {\n\tif (!value || typeof value !== \"object\" || !(\"name\" in value) || typeof value.name !== \"string\" || !value.name) {\n\t\tthrow new Error(t(\"{kind} definition requires a non-empty name\", { kind }));\n\t}\n\treturn value.name;\n}\n\nexport function validateCommandDefinition(definition: CapabilityCommandDefinition): CapabilityCommandDefinition {\n\tif (!definition || typeof definition !== \"object\") {\n\t\tthrow new Error(t(\"Command requires a definition\"));\n\t}\n\tconst { name, description, argumentHint, execute } = definition;\n\tif (typeof name !== \"string\" || !name || name.startsWith(\"/\") || /\\s/.test(name)) {\n\t\tthrow new Error(t(\"Command definition requires a non-empty name without slash or whitespace\"));\n\t}\n\tif (typeof description !== \"string\" || !description.trim()) {\n\t\tthrow new Error(t(\"Command definition requires a non-empty description\"));\n\t}\n\tif (argumentHint !== undefined && typeof argumentHint !== \"string\") {\n\t\tthrow new Error(t(\"Command definition argumentHint must be a string\"));\n\t}\n\tif (typeof execute !== \"function\") {\n\t\tthrow new Error(t(\"Command definition requires an execute function\"));\n\t}\n\treturn definition;\n}\n\nexport function validateCommandResult(value: unknown, commandName: string): CapabilityCommandResult | undefined {\n\tif (value === undefined) return undefined;\n\tif (!value || typeof value !== \"object\" || Array.isArray(value)) {\n\t\tthrow new Error(t(\"Capability command returned an invalid result: {commandName}\", { commandName }));\n\t}\n\tconst result = value as Partial<CapabilityCommandResult>;\n\tif (result.status !== \"success\" && result.status !== \"error\") {\n\t\tthrow new Error(t(\"Capability command returned an invalid status: {commandName}\", { commandName }));\n\t}\n\tif (typeof result.message !== \"string\") {\n\t\tthrow new Error(t(\"Capability command returned an invalid message: {commandName}\", { commandName }));\n\t}\n\tif (\n\t\tresult.links !== undefined &&\n\t\t(!Array.isArray(result.links) ||\n\t\t\tresult.links.some(\n\t\t\t\t(link) =>\n\t\t\t\t\t!link ||\n\t\t\t\t\ttypeof link !== \"object\" ||\n\t\t\t\t\ttypeof (link as { label?: unknown }).label !== \"string\" ||\n\t\t\t\t\ttypeof (link as { url?: unknown }).url !== \"string\",\n\t\t\t))\n\t) {\n\t\tthrow new Error(t(\"Capability command returned invalid links: {commandName}\", { commandName }));\n\t}\n\tif (result.data !== undefined && !isPluginConfigValue(result.data)) {\n\t\tthrow new Error(t(\"Capability command returned non-serializable data: {commandName}\", { commandName }));\n\t}\n\treturn value as CapabilityCommandResult;\n}\n\nexport function asHandler(value: unknown, kind: string): (...args: unknown[]) => unknown | Promise<unknown> {\n\tif (typeof value === \"function\") return value as (...args: unknown[]) => unknown | Promise<unknown>;\n\tif (value && typeof value === \"object\") {\n\t\tconst handlers = value as Record<string, unknown>;\n\t\tfor (const key of [\"execute\", \"run\", \"handler\"] as const) {\n\t\t\tconst candidate = handlers[key];\n\t\t\tif (typeof candidate === \"function\") return candidate as (...args: unknown[]) => unknown | Promise<unknown>;\n\t\t}\n\t}\n\tthrow new Error(t(\"{kind} requires a callable handler\", { kind }));\n}\n\nexport function assertAgentTaskRequest(request: AgentTaskCreateRequest): void {\n\tif (!request || typeof request.prompt !== \"string\" || !request.prompt.trim()) {\n\t\tthrow new Error(t(\"Agent task requires a non-empty prompt\"));\n\t}\n\tif (request.metadata !== undefined && (typeof request.metadata !== \"object\" || Array.isArray(request.metadata))) {\n\t\tthrow new Error(t(\"Agent task metadata must be an object\"));\n\t}\n}\n\nexport function validateProviderHeaders(headers: unknown, source: string): Record<string, string | null> {\n\tif (!headers || typeof headers !== \"object\" || Array.isArray(headers)) {\n\t\tthrow new Error(t(\"Provider header transform returned invalid headers: {source}\", { source }));\n\t}\n\tconst validated: Record<string, string | null> = {};\n\tfor (const [name, value] of Object.entries(headers)) {\n\t\tif (!name || (typeof value !== \"string\" && value !== null)) {\n\t\t\tthrow new Error(t(\"Provider header transform returned invalid headers: {source}\", { source }));\n\t\t}\n\t\tvalidated[name] = value;\n\t}\n\treturn validated;\n}\n"]}