@gaodefa/daocore 2026.5.51 → 2026.5.53

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 (1135) hide show
  1. package/dist/abort-DbmSukS6.js +277 -0
  2. package/dist/abort.runtime-DfTphPUe.js +2 -0
  3. package/dist/abort.runtime.js +1 -1
  4. package/dist/account-inspect-CrOeeGkg.js +173 -0
  5. package/dist/accounts-CF5wlCaC.js +119 -0
  6. package/dist/accounts-CfFTGexZ.js +107 -0
  7. package/dist/accounts-Cr9iBKG5.js +2 -0
  8. package/dist/accounts-DdAZRSd-.js +107 -0
  9. package/dist/acp/control-plane/manager.d.ts +2 -1
  10. package/dist/acp-runtime-B1CfWEsR.js +26 -0
  11. package/dist/acp-spawn-Bq8RHmXn.js +1275 -0
  12. package/dist/acp-spawn-BxyX0qDU.js +2 -0
  13. package/dist/acp-stateful-target-driver-y9Vk9ZkZ.js +89 -0
  14. package/dist/action-kill-Xr3eQUBu.js +33 -0
  15. package/dist/action-runtime-CweBFa8U.js +469 -0
  16. package/dist/action-runtime-api-DZY1J62H.js +2 -0
  17. package/dist/action-send-HdOQtFcz.js +39 -0
  18. package/dist/action-spawn-DWrPplrX.js +47 -0
  19. package/dist/actions-zZzXK7Ic.js +161 -0
  20. package/dist/actions.runtime-CK0aV6y4.js +5 -0
  21. package/dist/agent-command-DB0sppso.js +1367 -0
  22. package/dist/agent-command-DKqx29vm.d.ts +105 -0
  23. package/dist/agent-components.runtime-Drdzm2-F.js +10 -0
  24. package/dist/agent-components.runtime.js +1 -1
  25. package/dist/agent-harness-CGtBwZh6.d.ts +146 -0
  26. package/dist/agent-harness-runtime-Btzminw9.js +180 -0
  27. package/dist/agent-harness-task-runtime-DWiDnwnT.js +140 -0
  28. package/dist/agent-nenZtwAX.js +3 -0
  29. package/dist/agent-runner-execution-Cun_PNBn.js +1713 -0
  30. package/dist/agent-runner-utils-BfF--s17.js +266 -0
  31. package/dist/agent-runner.runtime-vxDguHci.js +3455 -0
  32. package/dist/agent-runner.runtime.js +1 -1
  33. package/dist/agent-runtime-C5xeqCn8.js +229 -0
  34. package/dist/agent-svdKN_62.js +2 -0
  35. package/dist/agent-via-gateway-DQa8cmBa.js +463 -0
  36. package/dist/api-BQxP3H11.js +134 -0
  37. package/dist/api-CT5SnVgO.js +2 -0
  38. package/dist/api-CtX70NwR.js +2 -0
  39. package/dist/api-CvUdFHq7.js +6 -0
  40. package/dist/api-DG9oHhm4.js +639 -0
  41. package/dist/api-DzfMdJ46.js +3 -0
  42. package/dist/apply-D8UoOoVD.js +41 -0
  43. package/dist/apply-DrHwBR1D.js +54 -0
  44. package/dist/approval-handler.runtime-CT8PWJ9W.js +130 -0
  45. package/dist/assistant-ByynDFnI.js +291 -0
  46. package/dist/attachment-normalize-DEAS_ziY.js +225 -0
  47. package/dist/attempt-execution-CQUmv8x2.js +558 -0
  48. package/dist/attempt-execution.runtime-AZYQQuAv.js +3 -0
  49. package/dist/attempt-execution.runtime.js +1 -1
  50. package/dist/attempt-execution.shared-2ZOaCHct.js +38 -0
  51. package/dist/attempt.prompt-helpers-B7ano4Xa.js +475 -0
  52. package/dist/attempt.tool-run-context-DBta4Vhq.js +2094 -0
  53. package/dist/binding-routing-DYUUioo1.js +113 -0
  54. package/dist/binding-targets-DthC_zAF.js +121 -0
  55. package/dist/bot-CHP8Hnzo.js +7894 -0
  56. package/dist/bot-deps-CLDgPV_x.js +747 -0
  57. package/dist/bot-deps-W9zVbYpY.js +2 -0
  58. package/dist/bot-message-context.runtime-B1-gGjAv.js +7 -0
  59. package/dist/bot-message-context.runtime.js +1 -1
  60. package/dist/bot-message-context.session.runtime-DUtlPLJq.js +12 -0
  61. package/dist/bot-message-context.session.runtime.js +1 -1
  62. package/dist/bot-native-commands.delivery.runtime-B2_Sb8-0.js +4 -0
  63. package/dist/bot-native-commands.delivery.runtime.js +1 -1
  64. package/dist/bot-native-commands.runtime-pplrKHcn.js +13 -0
  65. package/dist/bot-native-commands.runtime.js +1 -1
  66. package/dist/bridge-server-Du_qnIXr.js +113 -0
  67. package/dist/browser-cli-B2-Lzvd1.js +230 -0
  68. package/dist/browser-cli-actions-input-ZF6YYuIY.js +473 -0
  69. package/dist/browser-cli-actions-observe-DWLHFME1.js +81 -0
  70. package/dist/browser-cli-bTjCd41u.js +2 -0
  71. package/dist/browser-cli-debug-lzd4l2hl.js +137 -0
  72. package/dist/browser-cli-inspect-C5OnFKqx.js +104 -0
  73. package/dist/browser-cli-manage-BofwSOgU.js +443 -0
  74. package/dist/browser-cli-resize-CLs1i6Nu.js +26 -0
  75. package/dist/browser-cli-shared-6Jygx3GN.js +50 -0
  76. package/dist/browser-cli-state-BdoHl8ny.js +337 -0
  77. package/dist/browser-control-auth-DuI4vfIv.js +2 -0
  78. package/dist/browser-profiles-DkblgTjb.js +2 -0
  79. package/dist/browser-runtime-BiJKNDAE.js +384 -0
  80. package/dist/build-CrC0bToI.js +257 -0
  81. package/dist/build-info.json +2 -2
  82. package/dist/bundled/boot-md/handler.js +2 -2
  83. package/dist/bundled/session-memory/handler.js +1 -1
  84. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  85. package/dist/capability-cli-BHlS8tBg.js +1782 -0
  86. package/dist/channel-5iqpbW6B.js +867 -0
  87. package/dist/channel-BW3tbxJQ.js +1496 -0
  88. package/dist/channel-BWo67yh1.js +2126 -0
  89. package/dist/channel-BdhbzWTg.d.ts +427 -0
  90. package/dist/channel-BsDZhXfM.js +362 -0
  91. package/dist/channel-C95y8CWt.js +1556 -0
  92. package/dist/channel-CMKGn1i6.js +376 -0
  93. package/dist/channel-CMUiDCTQ.js +740 -0
  94. package/dist/channel-CNvxy1bb.js +808 -0
  95. package/dist/channel-CQzh6Wn1.js +653 -0
  96. package/dist/channel-CchnfGMs.js +481 -0
  97. package/dist/channel-CjWH9zRX.js +1777 -0
  98. package/dist/channel-CjZoZfa2.js +238 -0
  99. package/dist/channel-DKHlpUHA.js +1134 -0
  100. package/dist/channel-DfP8Sc0t.d.ts +6 -0
  101. package/dist/channel-DhZvHOpE.js +562 -0
  102. package/dist/channel-DtL_IvqV.js +508 -0
  103. package/dist/channel-GdNHqdaw.js +1249 -0
  104. package/dist/channel-ZkqVX5SL.js +955 -0
  105. package/dist/channel-actions.runtime-DYiOBQDx.js +265 -0
  106. package/dist/channel-actions.runtime.js +1 -1
  107. package/dist/channel-core-CiUQ9zxC.js +5 -0
  108. package/dist/channel-inbound-Ctv6wSJ3.js +80 -0
  109. package/dist/channel-lifecycle-DCTZ2J_8.d.ts +126 -0
  110. package/dist/channel-pairing-pKisqGWj.d.ts +58 -0
  111. package/dist/channel-plugin-runtime-CgGpeLjf.js +998 -0
  112. package/dist/channel-runtime-CPbfvG0l.js +408 -0
  113. package/dist/channel.runtime-5ebeoN8j.js +1008 -0
  114. package/dist/channel.runtime-B2Olk7LG.js +4 -0
  115. package/dist/channel.runtime-B4CnXDGx.js +652 -0
  116. package/dist/channel.runtime-BzLoF_dR.js +21009 -0
  117. package/dist/channel.runtime-CNCIcAd6.js +109 -0
  118. package/dist/channel.runtime-C_--rR-H.js +88 -0
  119. package/dist/channel.runtime-CmK77Uxp.js +254 -0
  120. package/dist/channel.runtime-DF5K3pkO.js +2528 -0
  121. package/dist/channel.runtime-iKNOt2eM.js +733 -0
  122. package/dist/channel.setup-CxvbmJQ2.js +343 -0
  123. package/dist/channel.setup-CzdDnMh7.js +1098 -0
  124. package/dist/channel.setup-Sku9g-22.js +10 -0
  125. package/dist/chat-BV-WLur6.js +2666 -0
  126. package/dist/chrome-CBr1Nlj5.js +1503 -0
  127. package/dist/cli/run-main.js +5 -5
  128. package/dist/cli-compaction-CzfXx99c.js +347 -0
  129. package/dist/cli-lsMRD5BD.js +1341 -0
  130. package/dist/cli-metadata-Cpdwx3O7.js +22 -0
  131. package/dist/cli-runner-DFh20BoX.js +2 -0
  132. package/dist/cli-runner-DjgUGfBa.js +540 -0
  133. package/dist/cli-runner.runtime-Cjd2VdQI.js +3 -0
  134. package/dist/cli-runner.runtime-uAtVtWM7.js +4 -0
  135. package/dist/cli-runner.runtime.js +1 -1
  136. package/dist/cli-startup-metadata.json +8 -8
  137. package/dist/client-D-yT6rne.js +650 -0
  138. package/dist/client-adapter-PXk4JoQR.js +897 -0
  139. package/dist/client-factory-C9zVXY0y.js +9 -0
  140. package/dist/command-auth-PrmmYdot.js +135 -0
  141. package/dist/command-handlers-DuHt0qVp.js +1609 -0
  142. package/dist/command-registry-B_v8R74Z.js +4 -0
  143. package/dist/command-registry-QvQgQxqT.js +9 -0
  144. package/dist/command-registry-core-dLVpK66o.js +110 -0
  145. package/dist/command-status.runtime-DM3aUyTe.js +90 -0
  146. package/dist/command-status.runtime.js +1 -1
  147. package/dist/commands-acp-DzUZwawt.js +74 -0
  148. package/dist/commands-compact.runtime-B6-Vv1CH.js +10 -0
  149. package/dist/commands-compact.runtime.js +1 -1
  150. package/dist/commands-handlers.runtime-CaTYrYbd.js +6154 -0
  151. package/dist/commands-handlers.runtime.js +1 -1
  152. package/dist/commands-status-NuvnoSL-.js +16 -0
  153. package/dist/commands-status-SMWi-mj9.js +3 -0
  154. package/dist/commands-status.runtime-SMWi-mj9.js +3 -0
  155. package/dist/commands-status.runtime.js +1 -1
  156. package/dist/commands-subagents-control.runtime-Cm9cxI8S.js +2 -0
  157. package/dist/commands-subagents-control.runtime-e7gSoCXL.js +3 -0
  158. package/dist/commands-subagents-control.runtime.js +1 -1
  159. package/dist/commands-system-prompt-C9pVUDbu.js +162 -0
  160. package/dist/commands-system-prompt-JP4vOPVK.js +2 -0
  161. package/dist/commands.runtime-Dg6eg0rn.js +176 -0
  162. package/dist/commands.runtime.js +1 -1
  163. package/dist/commitments/runtime.js +1 -1
  164. package/dist/compact-B2rH1SUd.js +480 -0
  165. package/dist/compact-D80suJg8.js +1141 -0
  166. package/dist/compact.runtime-D8nzDxmY.js +12 -0
  167. package/dist/compact.runtime.js +1 -1
  168. package/dist/completion-cli-DWxWi4aD.js +315 -0
  169. package/dist/computer-use-BGvZ1YTf.js +367 -0
  170. package/dist/config-DV-fdSq3.js +373 -0
  171. package/dist/config-DkblgTjb.js +2 -0
  172. package/dist/config-mutations-DsTp_oTJ.js +159 -0
  173. package/dist/context-engine-host-compat-BwIxzf7F.js +2 -0
  174. package/dist/context-engine-host-compat-CXhSw3Ub.js +288 -0
  175. package/dist/context-engine-lifecycle-CxxoOuT8.js +1274 -0
  176. package/dist/control-auth-Bb_hAwJF.js +114 -0
  177. package/dist/control-service-Dom28xYt.js +145 -0
  178. package/dist/control-ui/assets/agents-D8cdE1Eu.js +1008 -0
  179. package/dist/control-ui/assets/channel-config-extras-DHmcFd3r.js +2 -0
  180. package/dist/control-ui/assets/channels-C6IYonLY.js +367 -0
  181. package/dist/control-ui/assets/cron-BV8QhIs0.js +1013 -0
  182. package/dist/control-ui/assets/debug-CMKISsjW.js +97 -0
  183. package/dist/control-ui/assets/index-D_0M09s2.js +7406 -0
  184. package/dist/control-ui/assets/index-R-oyCoNF.css +1 -0
  185. package/dist/control-ui/assets/instances-Bjzgcv3j.js +57 -0
  186. package/dist/control-ui/assets/logs-Ca4STw-4.js +74 -0
  187. package/dist/control-ui/assets/nodes-CIYAksjC.js +436 -0
  188. package/dist/control-ui/assets/sessions-Cvu-i-9a.js +399 -0
  189. package/dist/control-ui/assets/skills-bzc2YBGL.js +314 -0
  190. package/dist/control-ui/assets/skills-shared-Dh00XbS9.js +11 -0
  191. package/dist/control-ui/index.html +2 -2
  192. package/dist/control-ui/sw.js +1 -1
  193. package/dist/conversation-binding-runtime-BXeidhrY.js +4 -0
  194. package/dist/conversation-runtime-Das7yftQ.js +31 -0
  195. package/dist/core-AxrxO8_x.js +282 -0
  196. package/dist/core-api-BL4BNR1C.js +5 -0
  197. package/dist/core-api-Bnc3J2fe.js +2 -0
  198. package/dist/crestodian/crestodian.js +1 -1
  199. package/dist/crestodian/rescue-message.js +1 -1
  200. package/dist/crestodian-CnfWHGFm.js +55 -0
  201. package/dist/daocore-tools-C1WpZGCu.js +11727 -0
  202. package/dist/delivery--FvYHWJO.js +1002 -0
  203. package/dist/dialogue-B40qxVGM.js +37 -0
  204. package/dist/dir-fetch-tool-fbOAtLfN.js +565 -0
  205. package/dist/dir-list-tool-BQ3k3hKf.js +100 -0
  206. package/dist/direct-dm-CuNsmrdk.js +64 -0
  207. package/dist/directive-handling.fast-lane-CQYYvYi_.js +68 -0
  208. package/dist/directive-handling.impl-DoLFcRUI.js +2 -0
  209. package/dist/directive-handling.impl-RsdNckR4.js +818 -0
  210. package/dist/directive-handling.model-selection-Ad4n0BBf.js +122 -0
  211. package/dist/directive-handling.persist.runtime-Dq8SQvB4.js +263 -0
  212. package/dist/directive-handling.persist.runtime.js +1 -1
  213. package/dist/dispatch-Bmw9mO6a.js +1640 -0
  214. package/dist/dispatch-acp-transcript.runtime-B7DKK79t.js +40 -0
  215. package/dist/dispatch-acp-transcript.runtime.js +1 -1
  216. package/dist/dispatch-acp.runtime-cVH58wGq.js +18 -0
  217. package/dist/dispatch-acp.runtime.js +1 -1
  218. package/dist/doctor-HffoL5ik.js +6 -0
  219. package/dist/doctor-Qg1Gj0PC.js +2 -0
  220. package/dist/doctor-config-flow-Dudp0oO_.js +1741 -0
  221. package/dist/doctor-core-checks-BTvmehLq.js +573 -0
  222. package/dist/doctor-core-checks-CcacCMGd.js +2 -0
  223. package/dist/doctor-health-DIu25ot8.js +65 -0
  224. package/dist/doctor-health-contributions-ZQUAiwng.js +696 -0
  225. package/dist/doctor-lint-C8RjoIYq.js +94 -0
  226. package/dist/doctor-state-integrity-D5NJcM0t.js +1231 -0
  227. package/dist/doctor-update-07o96Num.js +58 -0
  228. package/dist/dynamic-tools-BSIfb0RP.js +486 -0
  229. package/dist/embedded-backend-499B1IIV.js +579 -0
  230. package/dist/embedded-gateway-stub.runtime-Bqr2Z4Co.js +12 -0
  231. package/dist/embedded-gateway-stub.runtime.js +1 -1
  232. package/dist/exec-approvals-ClTqhSd7.js +149 -0
  233. package/dist/extensionAPI.js +1 -1
  234. package/dist/extensions/active-memory/index.js +1 -1
  235. package/dist/extensions/admin-http-rpc/index.js +1 -1
  236. package/dist/extensions/anthropic/doctor-contract-api.d.ts +1 -1
  237. package/dist/extensions/browser/browser-bridge.js +1 -1
  238. package/dist/extensions/browser/browser-config.js +4 -4
  239. package/dist/extensions/browser/browser-control-auth.js +2 -2
  240. package/dist/extensions/browser/browser-doctor.js +2 -2
  241. package/dist/extensions/browser/browser-maintenance.js +1 -1
  242. package/dist/extensions/browser/browser-profiles.js +2 -2
  243. package/dist/extensions/browser/browser-runtime-api.js +11 -11
  244. package/dist/extensions/browser/cli-metadata.js +1 -1
  245. package/dist/extensions/browser/index.js +1 -1
  246. package/dist/extensions/browser/plugin-registration.js +1 -1
  247. package/dist/extensions/browser/register.runtime.js +4 -4
  248. package/dist/extensions/browser/runtime-api.js +13 -13
  249. package/dist/extensions/browser/test-support.d.ts +1 -1
  250. package/dist/extensions/canvas/index.js +1 -1
  251. package/dist/extensions/clickclack/api.js +2 -2
  252. package/dist/extensions/clickclack/channel-plugin-api.js +1 -1
  253. package/dist/extensions/clickclack/runtime-api.js +2 -2
  254. package/dist/extensions/device-pair/api.js +1 -1
  255. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  256. package/dist/extensions/file-transfer/index.js +4 -4
  257. package/dist/extensions/google/doctor-contract-api.d.ts +1 -1
  258. package/dist/extensions/image-generation-core/api.d.ts +1 -1
  259. package/dist/extensions/imessage/api.js +2 -2
  260. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  261. package/dist/extensions/imessage/message-tool-api.d.ts +1 -1
  262. package/dist/extensions/imessage/runtime-api.d.ts +1 -1
  263. package/dist/extensions/imessage/runtime-api.js +3 -3
  264. package/dist/extensions/irc/api.js +2 -2
  265. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  266. package/dist/extensions/llm-task/index.js +1 -1
  267. package/dist/extensions/mattermost/api.js +1 -1
  268. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  269. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  270. package/dist/extensions/mattermost/policy-api.js +1 -1
  271. package/dist/extensions/mattermost/runtime-api.d.ts +7 -7
  272. package/dist/extensions/mattermost/runtime-api.js +2 -2
  273. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  274. package/dist/extensions/memory-core/cli-metadata.js +1 -1
  275. package/dist/extensions/migrate-claude/apply.js +1 -1
  276. package/dist/extensions/migrate-claude/index.js +1 -1
  277. package/dist/extensions/migrate-claude/plan.js +1 -1
  278. package/dist/extensions/migrate-claude/provider.js +1 -1
  279. package/dist/extensions/migrate-claude/targets.js +1 -1
  280. package/dist/extensions/migrate-hermes/apply.js +1 -1
  281. package/dist/extensions/migrate-hermes/index.js +1 -1
  282. package/dist/extensions/migrate-hermes/model.js +1 -1
  283. package/dist/extensions/migrate-hermes/plan.js +1 -1
  284. package/dist/extensions/migrate-hermes/provider.js +1 -1
  285. package/dist/extensions/migrate-hermes/secrets.js +1 -1
  286. package/dist/extensions/migrate-hermes/targets.js +1 -1
  287. package/dist/extensions/policy/api.js +1 -1
  288. package/dist/extensions/policy/index.js +2 -2
  289. package/dist/extensions/signal/api.d.ts +1 -1
  290. package/dist/extensions/signal/api.js +6 -6
  291. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  292. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  293. package/dist/extensions/signal/runtime-api.d.ts +2 -2
  294. package/dist/extensions/signal/runtime-api.js +7 -7
  295. package/dist/extensions/skill-workshop/api.js +1 -1
  296. package/dist/extensions/skill-workshop/index.js +2 -2
  297. package/dist/extensions/telegram/account-inspect-api.js +1 -1
  298. package/dist/extensions/telegram/api.d.ts +1 -1
  299. package/dist/extensions/telegram/api.js +11 -11
  300. package/dist/extensions/telegram/channel-plugin-api.js +2 -2
  301. package/dist/extensions/telegram/contract-api.js +3 -3
  302. package/dist/extensions/telegram/runtime-api.js +7 -7
  303. package/dist/extensions/telegram/security-audit-contract-api.js +1 -1
  304. package/dist/extensions/telegram/setup-plugin-api.js +1 -1
  305. package/dist/extensions/telegram/test-api.js +2 -2
  306. package/dist/extensions/video-generation-core/api.d.ts +1 -1
  307. package/dist/extensions/webhooks/api.js +1 -1
  308. package/dist/extensions/webhooks/index.js +1 -1
  309. package/dist/extensions/webhooks/runtime-api.d.ts +2 -2
  310. package/dist/extensions/xai/index.js +4 -4
  311. package/dist/extensions/xai/realtime-transcription-provider.js +1 -1
  312. package/dist/extensions/xai/speech-provider.js +1 -1
  313. package/dist/extensions/xai/test-api.js +1 -1
  314. package/dist/extensions/xai/tts.js +1 -1
  315. package/dist/extensions/xai/web-search.js +1 -1
  316. package/dist/extensions/xai/xai-oauth.js +1 -1
  317. package/dist/file-fetch-tool-CJu8umi9.js +124 -0
  318. package/dist/file-write-tool-Dz49CI0K.js +127 -0
  319. package/dist/format-DBhooCE7.js +1145 -0
  320. package/dist/gateway-cli-D21vxek0.js +435 -0
  321. package/dist/gateway-method-runtime-qsRZHdfx.js +21 -0
  322. package/dist/get-reply-D140C4TM.js +4689 -0
  323. package/dist/get-reply-from-config.runtime-CaM7M0Zp.js +2 -0
  324. package/dist/get-reply-from-config.runtime.js +1 -1
  325. package/dist/graph-users-cBY7anTM.js +1419 -0
  326. package/dist/group-access-CZOQhsjs.js +112 -0
  327. package/dist/group-keys-B_lbVBmI.d.ts +17 -0
  328. package/dist/handle-action.guild-admin-DjuZqjM2.js +288 -0
  329. package/dist/harness-XL58LNpX.js +61 -0
  330. package/dist/health-CFPXXpFW.js +4 -0
  331. package/dist/heartbeat-runner-D_o-itnk.js +5 -0
  332. package/dist/heartbeat-runner.runtime-CPVGa3Gd.js +4 -0
  333. package/dist/heartbeat-runner.runtime.js +1 -1
  334. package/dist/hook-runtime-UU80d5qW.d.ts +108 -0
  335. package/dist/hooks-Bx3n6o-5.js +534 -0
  336. package/dist/inbound-direct-dm-runtime-6nIJyODo.js +2 -0
  337. package/dist/inbound-reply-dispatch-CoeXQvL6.js +148 -0
  338. package/dist/index.d.ts +1 -1
  339. package/dist/index.js +1 -1
  340. package/dist/init-C8Yc8LlO.js +59 -0
  341. package/dist/inline-buttons-BMPhhfsN.js +40 -0
  342. package/dist/internal-events-BS1EMi0C.js +90 -0
  343. package/dist/isolated-agent-Ct_AYfLb.js +2 -0
  344. package/dist/isolated-agent-DxVGoLjs.js +1118 -0
  345. package/dist/lifecycle-CGcqxM3V.js +571 -0
  346. package/dist/list.probe-R_AqbwD1.js +449 -0
  347. package/dist/list.status-command-DcaLppGJ.js +789 -0
  348. package/dist/llm-slug-generator-Bz1MaPt1.js +78 -0
  349. package/dist/llm-slug-generator.js +1 -1
  350. package/dist/local-dispatch.runtime-DnXAlwr7.js +9 -0
  351. package/dist/local-dispatch.runtime.js +1 -1
  352. package/dist/manager-D058VQAp.d.ts +10 -0
  353. package/dist/manager.core-DKeUsAcV.d.ts +198 -0
  354. package/dist/manager.runtime-1A0jFsbF.js +2714 -0
  355. package/dist/manager.runtime.js +1 -1
  356. package/dist/markdown-to-line-Gq4y1nH-.js +811 -0
  357. package/dist/mcp-http-BMgo3eu6.js +2 -0
  358. package/dist/mcp-http-BdgsyrHJ.js +555 -0
  359. package/dist/media-understanding-provider-CYrAwQ2G.js +339 -0
  360. package/dist/message-actions-DoFxM22K.js +145 -0
  361. package/dist/message-handler-CEvRtI9d.js +384 -0
  362. package/dist/message-handler-CJclaiC-.js +1715 -0
  363. package/dist/message-handler.preflight-DDVS50X3.js +1125 -0
  364. package/dist/message-handler.process-BuFXf8os.js +1484 -0
  365. package/dist/model-BqQrUk9a.js +74 -0
  366. package/dist/model-selection-2Lm1qMLE.js +272 -0
  367. package/dist/models-BjMdWXf2.js +104 -0
  368. package/dist/models-cli-RRK90p8k.js +256 -0
  369. package/dist/models-wWhwx_am.js +2 -0
  370. package/dist/monitor-C7VAs-uK.js +834 -0
  371. package/dist/monitor-CezSJDeG.js +60 -0
  372. package/dist/monitor-Cnzchc9n.js +2788 -0
  373. package/dist/monitor-Dcvw55ky.js +4377 -0
  374. package/dist/monitor-DuxFMl7d.js +715 -0
  375. package/dist/monitor-DxrfxRZL.js +2 -0
  376. package/dist/monitor-auth-UPQgTP9Y.js +179 -0
  377. package/dist/monitor-fYdQKsGp.js +1370 -0
  378. package/dist/monitor-polling.runtime-Db4NoLLg.js +883 -0
  379. package/dist/monitor-polling.runtime.js +1 -1
  380. package/dist/monitor-wcLtLTfx.js +1657 -0
  381. package/dist/monitor-webhook.runtime-DAr7kRbV.js +387 -0
  382. package/dist/monitor-webhook.runtime.js +1 -1
  383. package/dist/monitor.account-C1mUBkKA.js +5233 -0
  384. package/dist/monitor.runtime-Bqj8vHGY.js +2 -0
  385. package/dist/monitor.runtime.js +1 -1
  386. package/dist/monitor.webhook-Ir3T5B1s.js +180 -0
  387. package/dist/node-cli-sessions-MBQKJyrs.js +1228 -0
  388. package/dist/openai-http-9jmQ2o9Z.js +824 -0
  389. package/dist/openresponses-http-C3-s16Dp.js +1173 -0
  390. package/dist/operations-C1hhf_yC.js +805 -0
  391. package/dist/outbound-adapter-C5zBbuVO.js +543 -0
  392. package/dist/outbound-session-route-Bq_utu59.js +45 -0
  393. package/dist/outbound.runtime-QHoe8EWX.js +2 -0
  394. package/dist/outbound.runtime.js +1 -1
  395. package/dist/pairing-store-C-WQTUHq.d.ts +87 -0
  396. package/dist/pi-embedded-6xH25qP-.js +4 -0
  397. package/dist/pi-embedded-CkcV64LR.js +3796 -0
  398. package/dist/pi-embedded.runtime-CKpyReN5.js +4 -0
  399. package/dist/pi-embedded.runtime.js +1 -1
  400. package/dist/pi-tools-BbGodehg.js +2413 -0
  401. package/dist/plan-B_EcRdNP.js +112 -0
  402. package/dist/plan-DmMZJkHt.js +81 -0
  403. package/dist/plugin-CjfnnqXb.js +12396 -0
  404. package/dist/plugin-app-cache-key-Dak7S3ax.js +46 -0
  405. package/dist/plugin-enabled-B9wCs568.js +233 -0
  406. package/dist/plugin-registration-B3AVf0Xj.js +88 -0
  407. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  408. package/dist/plugin-sdk/acp-runtime-backend.js +1 -1
  409. package/dist/plugin-sdk/acp-runtime.js +2 -2
  410. package/dist/plugin-sdk/agent-harness-runtime.js +6 -6
  411. package/dist/plugin-sdk/agent-harness-task-runtime.js +1 -1
  412. package/dist/plugin-sdk/agent-harness.js +7 -7
  413. package/dist/plugin-sdk/agent-runtime.js +2 -2
  414. package/dist/plugin-sdk/channel-core.js +2 -2
  415. package/dist/plugin-sdk/channel-inbound.js +2 -2
  416. package/dist/plugin-sdk/channel-test-helpers.js +1 -1
  417. package/dist/plugin-sdk/command-auth.js +1 -1
  418. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  419. package/dist/plugin-sdk/compat.js +1 -1
  420. package/dist/plugin-sdk/conversation-binding-runtime.js +2 -2
  421. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  422. package/dist/plugin-sdk/core.js +2 -2
  423. package/dist/plugin-sdk/direct-dm.js +1 -1
  424. package/dist/plugin-sdk/gateway-method-runtime.js +1 -1
  425. package/dist/plugin-sdk/health.js +2 -2
  426. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  427. package/dist/plugin-sdk/index.js +1 -1
  428. package/dist/plugin-sdk/mattermost.js +1 -1
  429. package/dist/plugin-sdk/plugin-test-contracts.js +2 -2
  430. package/dist/plugin-sdk/provider-test-contracts.js +4 -4
  431. package/dist/plugin-sdk/reply-runtime.js +4 -4
  432. package/dist/plugin-sdk/testing.js +2 -2
  433. package/dist/plugin-sdk/zalouser.js +1 -1
  434. package/dist/plugin-service-C2toP50L.js +1229 -0
  435. package/dist/plugins/runtime/index.js +4 -4
  436. package/dist/policy-B5jHUD04.js +138 -0
  437. package/dist/policy-C7_EFtGD.js +680 -0
  438. package/dist/postinstall-inventory.json +11606 -0
  439. package/dist/prepare.runtime-C41yGgw-.js +732 -0
  440. package/dist/prepare.runtime.js +1 -1
  441. package/dist/preview-warnings-rfGY8dVy.js +392 -0
  442. package/dist/probe-B0eSVoSm.js +682 -0
  443. package/dist/probe-CqAGxL6l.js +2 -0
  444. package/dist/probe-DFyoiqiI.js +2204 -0
  445. package/dist/probe-hR0HWnET.js +47 -0
  446. package/dist/program-CD73-5Xj.js +131 -0
  447. package/dist/provider-B0ujadL5.js +32 -0
  448. package/dist/provider-BxR_JJXW.js +152 -0
  449. package/dist/provider-C9mKa8qP.js +32 -0
  450. package/dist/provider-DbGPdInL.js +8735 -0
  451. package/dist/provider-dispatcher-CGPKPaP5.js +22 -0
  452. package/dist/provider-dispatcher.runtime.js +1 -1
  453. package/dist/provider-session.runtime-DKkydJWv.js +9 -0
  454. package/dist/provider-session.runtime.js +1 -1
  455. package/dist/provider.runtime-ChrWUTdG.js +2 -0
  456. package/dist/provider.runtime.js +1 -1
  457. package/dist/public-surface-loader-CMOWVmyY.js +114 -0
  458. package/dist/pw-ai-mygsAPX7.js +3029 -0
  459. package/dist/pw-role-snapshot-7_IMuYRR.js +333 -0
  460. package/dist/reaction-level-DFUu127f.js +19 -0
  461. package/dist/reaction-runtime-api-6LQnr6q_.js +116 -0
  462. package/dist/realtime-transcription-provider-LrzigbIT.js +205 -0
  463. package/dist/register-B9TeJvXU.js +2178 -0
  464. package/dist/register.agent-o9BDHbH2.js +156 -0
  465. package/dist/register.crestodian-BOUP_Pon.js +24 -0
  466. package/dist/register.maintenance-BC83-YdR.js +83 -0
  467. package/dist/register.runtime-DSHYrjtd.js +54 -0
  468. package/dist/register.subclis-BS5Lj5wU.js +3 -0
  469. package/dist/register.subclis-QQq9COp0.js +31 -0
  470. package/dist/register.subclis-core-DnNechJo.js +273 -0
  471. package/dist/repair-sequencing-CqjW4_hd.js +640 -0
  472. package/dist/reply-delivery-KRwW1tqL.js +196 -0
  473. package/dist/reply-runtime-DuaOZ9MH.d.ts +34 -0
  474. package/dist/reply-runtime-SSrAwVeQ.js +11 -0
  475. package/dist/reply.runtime-CaM7M0Zp.js +2 -0
  476. package/dist/reply.runtime.js +1 -1
  477. package/dist/request-CatWtIoq.js +54 -0
  478. package/dist/resolve-allowlist-Dxe9wc_Y.js +220 -0
  479. package/dist/result-fallback-classifier-B3kvqc2o.js +79 -0
  480. package/dist/route-BPWKlRDB.js +469 -0
  481. package/dist/route-resolution-BhkvdIUP.js +274 -0
  482. package/dist/routes-BOmtNSeT.js +2 -0
  483. package/dist/routes-Cr9bRW8t.js +3602 -0
  484. package/dist/run-attempt-DWBeHRdc.js +7704 -0
  485. package/dist/run-command-DNNFNkbv.js +23 -0
  486. package/dist/run-command-Kp7LWkQv.js +2 -0
  487. package/dist/run-embedded.runtime-BxV8m38U.js +4 -0
  488. package/dist/run-embedded.runtime.js +1 -1
  489. package/dist/run-execution-cli.runtime-B9I1oAEO.js +4 -0
  490. package/dist/run-execution-cli.runtime.js +1 -1
  491. package/dist/run-executor.runtime.js +1 -1
  492. package/dist/run-subagent-registry.runtime-BIsbEmUD.js +2 -0
  493. package/dist/run-subagent-registry.runtime.js +1 -1
  494. package/dist/run-vAv9-st8.js +1162 -0
  495. package/dist/runtime-3PDZU_1b.d.ts +17 -0
  496. package/dist/runtime-BXJM8M8F.js +1287 -0
  497. package/dist/runtime-BodO4UZT.js +438 -0
  498. package/dist/runtime-C_5j10Cp.js +6179 -0
  499. package/dist/runtime-api-9CEihqK3.d.ts +3151 -0
  500. package/dist/runtime-api-BbNLHCZ5.js +24 -0
  501. package/dist/runtime-api-HUquGiJa.js +4 -0
  502. package/dist/runtime-api-I6ur4A1S.js +17 -0
  503. package/dist/runtime-api-MQL0v6n2.js +13 -0
  504. package/dist/runtime-api-a340pYdX.js +13 -0
  505. package/dist/runtime-api-g_pGO9f3.js +21 -0
  506. package/dist/runtime-api-hLSYbpGH.js +3 -0
  507. package/dist/runtime-api.actions-Blt2bAHw.d.ts +23 -0
  508. package/dist/runtime-api.actions-CawQ9WKM.js +3 -0
  509. package/dist/runtime-api.monitor-DN3P4USq.js +6 -0
  510. package/dist/runtime-api.send-BIA6QfVI.js +4 -0
  511. package/dist/runtime-api.send-BygcWA7R.d.ts +38 -0
  512. package/dist/runtime-api.threads-DYnc3Jvu.js +2 -0
  513. package/dist/runtime-channel-CYlRNrxR.js +150 -0
  514. package/dist/runtime-channel-Ci0dC0Tq.js +2 -0
  515. package/dist/runtime-doctor-DVYwKwIT.d.ts +47 -0
  516. package/dist/runtime-embedded-pi.runtime-Wc_lZOzO.js +2 -0
  517. package/dist/runtime-embedded-pi.runtime.js +1 -1
  518. package/dist/sanitize-outbound-BFrYI8F4.js +127 -0
  519. package/dist/sdk-setup-tools-DLjnnh3Y.js +8 -0
  520. package/dist/secrets-DibHCqDz.js +113 -0
  521. package/dist/security-audit-CyMhUYN9.js +122 -0
  522. package/dist/security-audit-DAk0I2g8.js +118 -0
  523. package/dist/security-audit.runtime-DtdxZcEG.js +2 -0
  524. package/dist/security-audit.runtime.js +1 -1
  525. package/dist/selection-BJ2yQ0yh.js +16157 -0
  526. package/dist/selection-CJ3YNIjG.js +3 -0
  527. package/dist/send-Ar9e_pA3.js +1631 -0
  528. package/dist/send-BETlETJ5.d.ts +231 -0
  529. package/dist/send-BN-3u18j.js +2 -0
  530. package/dist/send-BYlEXkEO.js +143 -0
  531. package/dist/send-BusufuyP.js +192 -0
  532. package/dist/send-CpcmWYrM.d.ts +104 -0
  533. package/dist/send.components-C3FzEyYz.js +500 -0
  534. package/dist/send.components-CMi7rcIs.js +2 -0
  535. package/dist/send.runtime-D-nw3p-S.js +2 -0
  536. package/dist/send.runtime.js +1 -1
  537. package/dist/send.types-D_3tsfSL.d.ts +159 -0
  538. package/dist/server-CJVI2gjZ.js +24 -0
  539. package/dist/server-DZl7k4VX.js +73 -0
  540. package/dist/server-close.runtime.js +1 -1
  541. package/dist/server-context-BAAz3W-8.js +2 -0
  542. package/dist/server-context-BLrLchWj.js +955 -0
  543. package/dist/server-cron-CiyrI-WY.js +2 -0
  544. package/dist/server-cron-CzhteL8F.js +2989 -0
  545. package/dist/server-methods-DQ0gaIXu.js +16494 -0
  546. package/dist/server-node-events-D1TywtBI.js +596 -0
  547. package/dist/server-plugin-bootstrap-ByEZkPkc.js +70 -0
  548. package/dist/server-plugins-BVVgDSdq.d.ts +1 -0
  549. package/dist/server-plugins-CEZ-W7dG.js +432 -0
  550. package/dist/server-reload-handlers-DDXJwZWE.js +714 -0
  551. package/dist/server-restart-sentinel-C9l1iG1h.js +747 -0
  552. package/dist/server-restart-sentinel-CyweyjEa.js +2 -0
  553. package/dist/server-runtime-services-BQ08Hyco.js +2 -0
  554. package/dist/server-runtime-services-BjKoAkjM.js +267 -0
  555. package/dist/server-startup-plugins-C_Y62xZe.js +113 -0
  556. package/dist/server-startup-post-attach-DCAmn6Ct.js +716 -0
  557. package/dist/server-ws-runtime-CvN63X_w.js +349 -0
  558. package/dist/server.impl-yHI7jtXF.js +2586 -0
  559. package/dist/service-mHxeSPC2.js +1446 -0
  560. package/dist/session-binding-DtmTypDj.js +2 -0
  561. package/dist/session-binding-xtRKSQOW.js +219 -0
  562. package/dist/session-kill-http-GnTgzcvZ.js +121 -0
  563. package/dist/session-reset-service-Bw6li9Te.js +625 -0
  564. package/dist/session-route-D-PISLLo.js +93 -0
  565. package/dist/session-status.runtime-jiGvxIDK.js +2 -0
  566. package/dist/session-status.runtime.js +1 -1
  567. package/dist/session-subagent-reactivation.runtime-B9QimjvS.js +2 -0
  568. package/dist/session-subagent-reactivation.runtime.js +1 -1
  569. package/dist/session-tab-registry-BoqXuTYc.js +521 -0
  570. package/dist/sessions-history-http-CG934aaV.js +430 -0
  571. package/dist/sessions.runtime-Cl91aZ2M.js +2 -0
  572. package/dist/sessions.runtime.js +1 -1
  573. package/dist/setup-api-DAqXqbGP.js +29 -0
  574. package/dist/setup-core-Czt7XqlN.js +174 -0
  575. package/dist/setup-surface-CHETBocT.js +405 -0
  576. package/dist/setup-surface-CVtEDUic.js +320 -0
  577. package/dist/setup-surface-YW9INYKN.js +288 -0
  578. package/dist/setup-surface-utUyMdYz.js +221 -0
  579. package/dist/shared-DwZ1ZQM4.js +121 -0
  580. package/dist/shared-client-B2kMpTHH.js +2 -0
  581. package/dist/shared-client-DHJbz0yn.js +629 -0
  582. package/dist/side-question-Dlr5pcZK.js +683 -0
  583. package/dist/skill-tool-dispatch.runtime-CbDumhVh.js +143 -0
  584. package/dist/skill-tool-dispatch.runtime.js +1 -1
  585. package/dist/slash-state-BxzZ0Rmv.js +2166 -0
  586. package/dist/speech-provider-INk_7d-9.js +184 -0
  587. package/dist/src-DAMtNlRl.js +4256 -0
  588. package/dist/startup-context-DhSjA04E.js +313 -0
  589. package/dist/status-subagents.runtime-UViaj6fy.js +18 -0
  590. package/dist/status-subagents.runtime.js +1 -1
  591. package/dist/status-text-D4yQvJnW.js +296 -0
  592. package/dist/sticker-cache-CpE2UF0o.js +206 -0
  593. package/dist/sticker-vision.runtime-C5lk740o.js +17 -0
  594. package/dist/sticker-vision.runtime.js +1 -1
  595. package/dist/subagent-announce-DDensDxS.js +354 -0
  596. package/dist/subagent-announce-delivery-16skgjOt.js +958 -0
  597. package/dist/subagent-control-C2SGCamc.js +508 -0
  598. package/dist/subagent-hooks-BqabvLsv.js +2 -0
  599. package/dist/subagent-hooks-CGeDwTHC.js +2 -0
  600. package/dist/subagent-hooks-CR0M3L4o.js +146 -0
  601. package/dist/subagent-hooks-Dw9C-nUM.js +2 -0
  602. package/dist/subagent-hooks-api-B03j55PK.js +22 -0
  603. package/dist/subagent-hooks-api-B2i15coF.js +23 -0
  604. package/dist/subagent-hooks-api-BcopR7NZ.js +23 -0
  605. package/dist/subagent-hooks-eOUaLnxx.js +116 -0
  606. package/dist/subagent-hooks-l4-8TBr2.js +230 -0
  607. package/dist/subagent-orphan-recovery-CytpmJnf.js +352 -0
  608. package/dist/subagent-registry-BVVgDSdq.d.ts +1 -0
  609. package/dist/subagent-registry-DTDYUst1.js +2351 -0
  610. package/dist/subagent-registry-kGjRY7OP.js +3 -0
  611. package/dist/subagent-registry-read-BVVgDSdq.d.ts +1 -0
  612. package/dist/subagent-registry.runtime.js +1 -1
  613. package/dist/subagent-session-cleanup-C7MqSx3u.js +525 -0
  614. package/dist/subagent-spawn-DuLVHzht.js +1164 -0
  615. package/dist/target-id-BqKER5JR.js +107 -0
  616. package/dist/targets-DYNDWy1s.js +44 -0
  617. package/dist/targets-DuRWAuVM.js +19 -0
  618. package/dist/targets-aaR2Mlk_.js +19 -0
  619. package/dist/task-registry-control.runtime.d.ts +1 -1
  620. package/dist/task-registry-control.runtime.js +1 -1
  621. package/dist/telegram/token.js +1 -1
  622. package/dist/test-fixtures-xgg7UsEw.d.ts +27 -0
  623. package/dist/test-support-BVVgDSdq.d.ts +1 -0
  624. package/dist/testing-7ayMtB6I.js +267 -0
  625. package/dist/thread-bindings-BzpAXUwZ.js +232 -0
  626. package/dist/thread-bindings-Cu4J90KY.js +8 -0
  627. package/dist/thread-bindings-D5o9c3aE.js +228 -0
  628. package/dist/thread-bindings-DMy2kJ74.js +571 -0
  629. package/dist/thread-bindings.discord-api-BDj-jkBV.js +187 -0
  630. package/dist/thread-bindings.manager-C5jC_3Mo.js +2 -0
  631. package/dist/thread-bindings.manager-CLK7FYoE.js +536 -0
  632. package/dist/thread-lifecycle-DYeO0OTi.js +1614 -0
  633. package/dist/token-Ccki3ia9.js +134 -0
  634. package/dist/tool-BqIYC7Fz.js +139 -0
  635. package/dist/tool-actions.runtime-Cjbhroli.js +534 -0
  636. package/dist/tool-actions.runtime.js +1 -1
  637. package/dist/tool-resolution-D4klFB4B.js +149 -0
  638. package/dist/tools-effective-inventory-YuOuPKR8.js +204 -0
  639. package/dist/tools-invoke-http-BmQFkxSN.js +67 -0
  640. package/dist/tools-invoke-shared-DD4l34hg.js +200 -0
  641. package/dist/tts-BAQZtO6A.js +66 -0
  642. package/dist/tui-B-CC1PjA.js +2 -0
  643. package/dist/tui-backend-DLm_nQL8.js +256 -0
  644. package/dist/tui-cli-BfCs3qwc.js +37 -0
  645. package/dist/tui-qi8Vakes.js +4709 -0
  646. package/dist/typed-cases-cPb0tZig.d.ts +68 -0
  647. package/dist/update-cli-BP32xvfl.js +3664 -0
  648. package/dist/update-runner-DnbwY3OV.js +2390 -0
  649. package/dist/vision-tools-De-gGPAw.js +1409 -0
  650. package/dist/web-search-DJMus2yt.js +62 -0
  651. package/dist/web-search-provider.runtime-6Md25pj8.js +2 -0
  652. package/dist/web-search-provider.runtime-CBUbt7xF.js +328 -0
  653. package/dist/web-search-provider.runtime.js +1 -1
  654. package/dist/webhook-targets-Bixk4LO_.d.ts +99 -0
  655. package/dist/xai-oauth-Cud_8Og7.js +479 -0
  656. package/dist/xai-user-agent-dCQuZI6k.js +32 -0
  657. package/package.json +1 -1
  658. package/dist/abort-fu5ot-XT.js +0 -277
  659. package/dist/abort.runtime-D5daoBjn.js +0 -2
  660. package/dist/account-inspect-BzG5-Rgz.js +0 -173
  661. package/dist/accounts-CPcG2JIz.js +0 -107
  662. package/dist/accounts-CiDgcaPY.js +0 -2
  663. package/dist/accounts-DcI0wEyL.js +0 -107
  664. package/dist/accounts-xBYbyTsZ.js +0 -119
  665. package/dist/acp-runtime-DpVkymzf.js +0 -26
  666. package/dist/acp-spawn-CbNHSZr-.js +0 -1275
  667. package/dist/acp-spawn-DFG0HgXi.js +0 -2
  668. package/dist/acp-stateful-target-driver-pz6XosZ9.js +0 -89
  669. package/dist/action-kill-DJuPSfgy.js +0 -33
  670. package/dist/action-runtime-DxnMH2dB.js +0 -469
  671. package/dist/action-runtime-api-Dvo3Gbll.js +0 -2
  672. package/dist/action-send-WtfSYfhf.js +0 -39
  673. package/dist/action-spawn-CA4-_H9p.js +0 -47
  674. package/dist/actions-BQ2B4Vhj.js +0 -161
  675. package/dist/actions.runtime-Bw0OZtGG.js +0 -5
  676. package/dist/agent-CsPtASj4.js +0 -2
  677. package/dist/agent-command-D5KxwCVS.d.ts +0 -141
  678. package/dist/agent-command-DeA1YV0L.js +0 -1367
  679. package/dist/agent-components.runtime-CP2KCzTj.js +0 -10
  680. package/dist/agent-harness-CEPgjZ3p.d.ts +0 -146
  681. package/dist/agent-harness-runtime-hAssTrVq.js +0 -180
  682. package/dist/agent-harness-task-runtime-VSFzRIbH.js +0 -140
  683. package/dist/agent-rg2WmmbX.js +0 -3
  684. package/dist/agent-runner-execution-lRuwJobi.js +0 -1713
  685. package/dist/agent-runner-utils-Bluglnku.js +0 -266
  686. package/dist/agent-runner.runtime-B709koec.js +0 -3455
  687. package/dist/agent-runtime-DKr0TX79.js +0 -229
  688. package/dist/agent-via-gateway-J8tTS5o6.js +0 -463
  689. package/dist/api-BVSGXSkS.js +0 -3
  690. package/dist/api-C7LbY8d2.js +0 -6
  691. package/dist/api-ClLB89eP.js +0 -2
  692. package/dist/api-D7kpdmvQ.js +0 -2
  693. package/dist/api-DJaf27mk.js +0 -639
  694. package/dist/api-XpFyLrKp.js +0 -134
  695. package/dist/apply-CHHI0r0H.js +0 -41
  696. package/dist/apply-DoQ4g3Kr.js +0 -54
  697. package/dist/approval-handler.runtime-Jbt7zH9f.js +0 -130
  698. package/dist/assistant-DQw33Vzx.js +0 -291
  699. package/dist/attachment-normalize-CrbLuYsp.js +0 -225
  700. package/dist/attempt-execution-DkgSHSVj.js +0 -558
  701. package/dist/attempt-execution.runtime-DCcD7P4g.js +0 -3
  702. package/dist/attempt-execution.shared-Cok8CE9p.js +0 -38
  703. package/dist/attempt.prompt-helpers-Kok600qT.js +0 -475
  704. package/dist/attempt.tool-run-context-C5nkRM5Y.js +0 -2094
  705. package/dist/binding-routing-BILfy0c8.js +0 -113
  706. package/dist/binding-targets-BrYDo8Jx.js +0 -121
  707. package/dist/bot-CxJsNrtp.js +0 -7894
  708. package/dist/bot-deps-BWdw7DXt.js +0 -2
  709. package/dist/bot-deps-BbL_ePix.js +0 -747
  710. package/dist/bot-message-context.runtime-qkq-RzJY.js +0 -7
  711. package/dist/bot-message-context.session.runtime-CxuxYsNb.js +0 -12
  712. package/dist/bot-native-commands.delivery.runtime-BOjc08fe.js +0 -4
  713. package/dist/bot-native-commands.runtime-LtWQYEai.js +0 -13
  714. package/dist/bridge-server-BvrlsnvW.js +0 -113
  715. package/dist/browser-cli-BmH-wDEt.js +0 -230
  716. package/dist/browser-cli-D7JUe5WT.js +0 -2
  717. package/dist/browser-cli-actions-input-BtCjZh2W.js +0 -473
  718. package/dist/browser-cli-actions-observe-CKCy--u8.js +0 -81
  719. package/dist/browser-cli-debug-D7KF3hoB.js +0 -137
  720. package/dist/browser-cli-inspect-B5_Q_bKp.js +0 -104
  721. package/dist/browser-cli-manage-BNRyXUfb.js +0 -443
  722. package/dist/browser-cli-resize-BR9dybJM.js +0 -26
  723. package/dist/browser-cli-shared-ZfP-ZP1r.js +0 -50
  724. package/dist/browser-cli-state-BJRQ87Hp.js +0 -337
  725. package/dist/browser-control-auth-C1ZlS07R.js +0 -2
  726. package/dist/browser-profiles-BLgaJJYW.js +0 -2
  727. package/dist/browser-runtime-CX-EDgFi.js +0 -384
  728. package/dist/build-DOEtxYaU.js +0 -257
  729. package/dist/capability-cli-Mj0McddT.js +0 -1782
  730. package/dist/channel-BDvizmrp.js +0 -1556
  731. package/dist/channel-C749d8mG.js +0 -376
  732. package/dist/channel-CWP6h4W5.js +0 -1134
  733. package/dist/channel-CgzMA_Q0.js +0 -2126
  734. package/dist/channel-Chx_WUyI.js +0 -867
  735. package/dist/channel-Ctnzf_tM.js +0 -238
  736. package/dist/channel-CusFbCv9.js +0 -653
  737. package/dist/channel-D5jjabnb.js +0 -1249
  738. package/dist/channel-DF-fw8lK.js +0 -1496
  739. package/dist/channel-DKAG-w5b.js +0 -481
  740. package/dist/channel-DSbpV7ax.js +0 -808
  741. package/dist/channel-DiN2VJEK.js +0 -955
  742. package/dist/channel-DvN94bvt.js +0 -740
  743. package/dist/channel-DxtVMwdk.js +0 -508
  744. package/dist/channel-GubQ1f0C.js +0 -362
  745. package/dist/channel-JqEqZ04S.d.ts +0 -6
  746. package/dist/channel-MXOd30fz.d.ts +0 -427
  747. package/dist/channel-actions.runtime-DEb9ZniG.js +0 -265
  748. package/dist/channel-core-Dr6fp5Ub.js +0 -5
  749. package/dist/channel-inbound-FG-Mc5xc.js +0 -80
  750. package/dist/channel-lifecycle-DCl2GbRW.d.ts +0 -125
  751. package/dist/channel-pairing-BRqfYy30.d.ts +0 -58
  752. package/dist/channel-plugin-runtime-hiqeg-_c.js +0 -998
  753. package/dist/channel-rej8M5lJ.js +0 -1777
  754. package/dist/channel-runtime-DJp4CruI.js +0 -408
  755. package/dist/channel-z0v-MMYk.js +0 -562
  756. package/dist/channel.runtime-1o_vRC84.js +0 -109
  757. package/dist/channel.runtime-BXrIcht7.js +0 -254
  758. package/dist/channel.runtime-C9opTci8.js +0 -2528
  759. package/dist/channel.runtime-CBvyS9OE.js +0 -1008
  760. package/dist/channel.runtime-CSwcAfTq.js +0 -88
  761. package/dist/channel.runtime-DKFrmmAg.js +0 -652
  762. package/dist/channel.runtime-DTBcVFL7.js +0 -733
  763. package/dist/channel.runtime-E2IhUtz8.js +0 -4
  764. package/dist/channel.runtime-s8LoLneR.js +0 -21009
  765. package/dist/channel.setup-BU4bp4OI.js +0 -10
  766. package/dist/channel.setup-CpygZ2ZG.js +0 -343
  767. package/dist/channel.setup-Z7jM_Q-v.js +0 -1098
  768. package/dist/chat-BQA8JGz8.js +0 -2666
  769. package/dist/chrome-YaZdp6CU.js +0 -1503
  770. package/dist/cli-DvGvBxMy.js +0 -1341
  771. package/dist/cli-compaction-0ER1653L.js +0 -347
  772. package/dist/cli-metadata-BJX-MSNl.js +0 -22
  773. package/dist/cli-runner-BGc4U7E0.js +0 -2
  774. package/dist/cli-runner-CH30meJN.js +0 -540
  775. package/dist/cli-runner.runtime-BqU9giS7.js +0 -4
  776. package/dist/cli-runner.runtime-D14IpD46.js +0 -3
  777. package/dist/client-DqnCi7vL.js +0 -650
  778. package/dist/client-adapter-BKZ5qBVY.js +0 -897
  779. package/dist/client-factory-BbBpLxaP.js +0 -9
  780. package/dist/command-auth-fZ1DLCTo.js +0 -135
  781. package/dist/command-handlers-CHbhwC1N.js +0 -1609
  782. package/dist/command-registry-_Oons836.js +0 -4
  783. package/dist/command-registry-core-Btb-M6JE.js +0 -110
  784. package/dist/command-registry-gWuCKROh.js +0 -9
  785. package/dist/command-status.runtime-DLav1SGb.js +0 -90
  786. package/dist/commands-acp-DVbINB4V.js +0 -74
  787. package/dist/commands-compact.runtime-CqQIDvM8.js +0 -10
  788. package/dist/commands-handlers.runtime-DJBGEdTB.js +0 -6154
  789. package/dist/commands-status-BaDacW0z.js +0 -3
  790. package/dist/commands-status-CTZ-HwUc.js +0 -16
  791. package/dist/commands-status.runtime-BaDacW0z.js +0 -3
  792. package/dist/commands-subagents-control.runtime-B6SOliNd.js +0 -2
  793. package/dist/commands-subagents-control.runtime-DTdEiA7w.js +0 -3
  794. package/dist/commands-system-prompt-BAdsJpn8.js +0 -162
  795. package/dist/commands-system-prompt-CX5iT-44.js +0 -2
  796. package/dist/commands.runtime-DObObKfz.js +0 -176
  797. package/dist/compact-Bs_eAw33.js +0 -480
  798. package/dist/compact-Ck7hE3ba.js +0 -1141
  799. package/dist/compact.runtime-el4EYgrW.js +0 -12
  800. package/dist/completion-cli-BbDnqYnS.js +0 -315
  801. package/dist/computer-use-GvCUpEEf.js +0 -367
  802. package/dist/config-BLgaJJYW.js +0 -2
  803. package/dist/config-FCIVG4Db.js +0 -373
  804. package/dist/config-mutations-BIPJigAd.js +0 -159
  805. package/dist/context-engine-host-compat--OOY7QEI.js +0 -2
  806. package/dist/context-engine-host-compat-DYVeYR5u.js +0 -288
  807. package/dist/context-engine-lifecycle-DAB4GWd5.js +0 -1274
  808. package/dist/control-auth-BekRscGw.js +0 -114
  809. package/dist/control-service-Hg9bqOzH.js +0 -145
  810. package/dist/control-ui/assets/agents-BRFjPVUQ.js +0 -1008
  811. package/dist/control-ui/assets/channel-config-extras-BySqgsd3.js +0 -2
  812. package/dist/control-ui/assets/channels-CC3sudX4.js +0 -367
  813. package/dist/control-ui/assets/cron-D0s06fzI.js +0 -1013
  814. package/dist/control-ui/assets/debug-9oq9PYZU.js +0 -97
  815. package/dist/control-ui/assets/index-ChE1ypG4.js +0 -7381
  816. package/dist/control-ui/assets/index-Crl1466m.css +0 -1
  817. package/dist/control-ui/assets/instances-k9LggJet.js +0 -57
  818. package/dist/control-ui/assets/logs-DKvc2q9b.js +0 -74
  819. package/dist/control-ui/assets/nodes-Bn7kmEGE.js +0 -436
  820. package/dist/control-ui/assets/sessions-0K-_jD8O.js +0 -399
  821. package/dist/control-ui/assets/skills-C9d4OZr_.js +0 -314
  822. package/dist/control-ui/assets/skills-shared-Bv7GgVjx.js +0 -11
  823. package/dist/conversation-binding-runtime-CC1fW5Mc.js +0 -4
  824. package/dist/conversation-runtime-YK1oLoen.js +0 -31
  825. package/dist/core-D9SaX41X.js +0 -282
  826. package/dist/core-api-6x_6ros_.js +0 -2
  827. package/dist/core-api-DQaZ_B6s.js +0 -5
  828. package/dist/crestodian-DLJAlHQO.js +0 -55
  829. package/dist/daocore-tools-DnGMRYJ5.js +0 -11727
  830. package/dist/delivery-dlloZivQ.js +0 -1002
  831. package/dist/dialogue-BQcF-xHi.js +0 -37
  832. package/dist/dir-fetch-tool-BmkLMRQd.js +0 -565
  833. package/dist/dir-list-tool-lJdvGnnr.js +0 -100
  834. package/dist/direct-dm-BfzS7vxm.js +0 -64
  835. package/dist/directive-handling.fast-lane-BdYkpgfF.js +0 -68
  836. package/dist/directive-handling.impl-DRIFqx-C.js +0 -818
  837. package/dist/directive-handling.impl-DoXcyCdO.js +0 -2
  838. package/dist/directive-handling.model-selection-xgiP4xbL.js +0 -122
  839. package/dist/directive-handling.persist.runtime-Dl-jD_0m.js +0 -263
  840. package/dist/dispatch-acp-transcript.runtime-B-PwrS4S.js +0 -40
  841. package/dist/dispatch-acp.runtime-CQHluA8f.js +0 -18
  842. package/dist/dispatch-kxJ95i3A.js +0 -1640
  843. package/dist/doctor-3QQaqcgK.js +0 -2
  844. package/dist/doctor-B9I7SuuU.js +0 -6
  845. package/dist/doctor-config-flow-DZQY34yK.js +0 -1741
  846. package/dist/doctor-core-checks-C_o9kgoZ.js +0 -2
  847. package/dist/doctor-core-checks-jWtsa4Nz.js +0 -573
  848. package/dist/doctor-health-BJ5wJFg5.js +0 -65
  849. package/dist/doctor-health-contributions-DxNPaNU6.js +0 -696
  850. package/dist/doctor-lint-DQrwNSTd.js +0 -94
  851. package/dist/doctor-state-integrity-Ctb6H9Pr.js +0 -1231
  852. package/dist/doctor-update-BZrZGmOg.js +0 -58
  853. package/dist/dynamic-tools-B9sHtLKs.js +0 -486
  854. package/dist/embedded-backend-CVEWr5Vd.js +0 -579
  855. package/dist/embedded-gateway-stub.runtime-BUl3fCUr.js +0 -12
  856. package/dist/exec-approvals-U0VRo553.js +0 -149
  857. package/dist/file-fetch-tool-PskYnfdX.js +0 -124
  858. package/dist/file-write-tool-BWMKcxSs.js +0 -127
  859. package/dist/format-Dk3-Jpqj.js +0 -1145
  860. package/dist/gateway-cli-BEtRyNAV.js +0 -435
  861. package/dist/gateway-method-runtime-Ba3mc5Ui.js +0 -21
  862. package/dist/get-reply-B-kNh5PS.js +0 -4689
  863. package/dist/get-reply-from-config.runtime-D-49TKR5.js +0 -2
  864. package/dist/graph-users-DIK-qpar.js +0 -1419
  865. package/dist/group-access-B6LDV7nR.js +0 -112
  866. package/dist/group-keys-DnxWQtll.d.ts +0 -17
  867. package/dist/handle-action.guild-admin-Dz9DREmk.js +0 -288
  868. package/dist/harness-CJWitSNk.js +0 -61
  869. package/dist/health-SAxsj7q2.js +0 -4
  870. package/dist/heartbeat-runner-D2IpmXX0.js +0 -5
  871. package/dist/heartbeat-runner.runtime-BKwSStf9.js +0 -4
  872. package/dist/hook-runtime-Cm73yH0T.d.ts +0 -107
  873. package/dist/hooks-C9V4TVXi.js +0 -534
  874. package/dist/inbound-direct-dm-runtime-C-KKlFVB.js +0 -2
  875. package/dist/inbound-reply-dispatch-3Kvtrdcn.js +0 -148
  876. package/dist/init-BGepd_Xi.js +0 -59
  877. package/dist/inline-buttons-Dqa993W-.js +0 -40
  878. package/dist/internal-events-hTD06P4Z.js +0 -90
  879. package/dist/isolated-agent-C30IhhQ4.js +0 -1118
  880. package/dist/isolated-agent-D9rwsYrc.js +0 -2
  881. package/dist/lifecycle-lYxX16zr.js +0 -571
  882. package/dist/list.probe-BuLNPfwh.js +0 -449
  883. package/dist/list.status-command-C9FwGWNZ.js +0 -789
  884. package/dist/llm-slug-generator-DEOtPI7b.js +0 -78
  885. package/dist/local-dispatch.runtime-D2mwqssZ.js +0 -9
  886. package/dist/manager-CSN9j9hh.d.ts +0 -205
  887. package/dist/manager.runtime-eqnbDApb.js +0 -2714
  888. package/dist/markdown-to-line-n4E_Ss2j.js +0 -811
  889. package/dist/mcp-http-DG2YDXx1.js +0 -555
  890. package/dist/mcp-http-DiGvYUK1.js +0 -2
  891. package/dist/media-understanding-provider-BAzC42im.js +0 -339
  892. package/dist/message-actions-DfM9sh0u.js +0 -145
  893. package/dist/message-handler-D3j7tiLC.js +0 -1715
  894. package/dist/message-handler-PdqXVaqc.js +0 -384
  895. package/dist/message-handler.preflight-DVTL11NJ.js +0 -1125
  896. package/dist/message-handler.process-Beo6fyUz.js +0 -1484
  897. package/dist/model-DiiSzCXH.js +0 -74
  898. package/dist/model-selection-CeDXYcsy.js +0 -272
  899. package/dist/models-BecxnLfn.js +0 -104
  900. package/dist/models-BxPknoYN.js +0 -2
  901. package/dist/models-cli-CmGPOjEx.js +0 -256
  902. package/dist/monitor-B2qfveOv.js +0 -60
  903. package/dist/monitor-BIKmDw4B.js +0 -2
  904. package/dist/monitor-CJXHxvh-.js +0 -1657
  905. package/dist/monitor-CqndMsTS.js +0 -4377
  906. package/dist/monitor-Dg9KC5G4.js +0 -834
  907. package/dist/monitor-IbL8Gw1Y.js +0 -2788
  908. package/dist/monitor-LxpNUkve.js +0 -1370
  909. package/dist/monitor-auth-EPov6Z4x.js +0 -179
  910. package/dist/monitor-i7_7ne6w.js +0 -715
  911. package/dist/monitor-polling.runtime-BRFuwAQo.js +0 -883
  912. package/dist/monitor-webhook.runtime-CGyP4NKq.js +0 -387
  913. package/dist/monitor.account-L5cJkJbV.js +0 -5233
  914. package/dist/monitor.runtime-Caq1xo2T.js +0 -2
  915. package/dist/monitor.webhook-CWo_j5xt.js +0 -180
  916. package/dist/node-cli-sessions-Dlrq3Hrt.js +0 -1228
  917. package/dist/openai-http-Cbs9WY_K.js +0 -824
  918. package/dist/openresponses-http-Djc1TNo5.js +0 -1173
  919. package/dist/operations-CePwJ_bf.js +0 -805
  920. package/dist/outbound-adapter-Cmcx_Msg.js +0 -543
  921. package/dist/outbound-session-route-DIvKTIer.js +0 -45
  922. package/dist/outbound.runtime-BCm1uM9e.js +0 -2
  923. package/dist/pairing-challenge-DD0D0sfM.d.ts +0 -87
  924. package/dist/pi-embedded-BGYOawy9.js +0 -3796
  925. package/dist/pi-embedded-s_XN5zci.js +0 -4
  926. package/dist/pi-embedded.runtime-Iv_ADnNC.js +0 -4
  927. package/dist/pi-tools-b-Wh6fBG.js +0 -2413
  928. package/dist/plan-9Cb-QHmS.js +0 -112
  929. package/dist/plan-DOX8mLZM.js +0 -81
  930. package/dist/plugin-CRqD5XqH.js +0 -12396
  931. package/dist/plugin-app-cache-key-BKpHiVS2.js +0 -46
  932. package/dist/plugin-enabled-BEi_lYEW.js +0 -233
  933. package/dist/plugin-registration-D99tHdMd.js +0 -88
  934. package/dist/plugin-sdk/scripts/lib/plugin-sdk-doc-metadata.d.ts +0 -107
  935. package/dist/plugin-service-DBTlrK7m.js +0 -1229
  936. package/dist/policy-B-G2ltps.js +0 -680
  937. package/dist/policy-DCljYbZL.js +0 -138
  938. package/dist/prepare.runtime-Ewb81gRo.js +0 -732
  939. package/dist/preview-warnings-DhWnG_r-.js +0 -392
  940. package/dist/probe-Bqu475Tv.js +0 -2204
  941. package/dist/probe-CRWUBMuB.js +0 -682
  942. package/dist/probe-Dm3lYN25.js +0 -47
  943. package/dist/probe-LLx6ayxG.js +0 -2
  944. package/dist/program-vxEyXm2e.js +0 -131
  945. package/dist/provider-B2aKgXI0.js +0 -32
  946. package/dist/provider-BUYMN3uZ.js +0 -152
  947. package/dist/provider-BlBfyHXO.js +0 -32
  948. package/dist/provider-D3O0zKex.js +0 -8735
  949. package/dist/provider-dispatcher-CYuX21il.js +0 -22
  950. package/dist/provider-session.runtime-xIOzPEA7.js +0 -9
  951. package/dist/provider.runtime-C94TKQWq.js +0 -2
  952. package/dist/public-surface-loader-CDa3nA_L.js +0 -114
  953. package/dist/pw-ai-BH_nTHa5.js +0 -3029
  954. package/dist/pw-role-snapshot-BPi5ipRX.js +0 -333
  955. package/dist/reaction-level-CSHisLIF.js +0 -19
  956. package/dist/reaction-runtime-api-D5YNDU-7.js +0 -116
  957. package/dist/realtime-transcription-provider-B6-wne03.js +0 -205
  958. package/dist/register-AeYt54B0.js +0 -2178
  959. package/dist/register.agent-DuW_Cioa.js +0 -156
  960. package/dist/register.crestodian-DfuAvHf8.js +0 -24
  961. package/dist/register.maintenance-DhSW2XSZ.js +0 -83
  962. package/dist/register.runtime-CYWai1dl.js +0 -54
  963. package/dist/register.subclis-B4c9g5v0.js +0 -31
  964. package/dist/register.subclis-Do4TSxcj.js +0 -3
  965. package/dist/register.subclis-core-Dm9-Cc4K.js +0 -273
  966. package/dist/repair-sequencing-CKX_OEBn.js +0 -640
  967. package/dist/reply-delivery-Dx31Fawb.js +0 -196
  968. package/dist/reply-runtime-DyCbxbOD.js +0 -11
  969. package/dist/reply.runtime-D-49TKR5.js +0 -2
  970. package/dist/request-CZtiBI4R.js +0 -54
  971. package/dist/resolve-allowlist-C-WRtkEq.js +0 -220
  972. package/dist/result-fallback-classifier-BkI5uV-W.js +0 -79
  973. package/dist/route-BEeC4HAl.js +0 -469
  974. package/dist/route-resolution-CHA13yYB.js +0 -274
  975. package/dist/routes-CfBm1qOU.js +0 -2
  976. package/dist/routes-DsgV54GJ.js +0 -3602
  977. package/dist/run-DL8UkH0h.js +0 -1162
  978. package/dist/run-attempt-D0qv7bs7.js +0 -7704
  979. package/dist/run-command-BWyjy--D.js +0 -23
  980. package/dist/run-command-IDml3oWg.js +0 -2
  981. package/dist/run-embedded.runtime-DeIZpKHe.js +0 -4
  982. package/dist/run-execution-cli.runtime-yf9gfWAm.js +0 -4
  983. package/dist/run-subagent-registry.runtime-oZs4xMMU.js +0 -2
  984. package/dist/runtime-BDbGwqGy.js +0 -6179
  985. package/dist/runtime-Bwn06s0u.js +0 -438
  986. package/dist/runtime-CD6WyVpL.js +0 -1287
  987. package/dist/runtime-DbTiSX85.d.ts +0 -17
  988. package/dist/runtime-api-BzvORSkx.js +0 -4
  989. package/dist/runtime-api-CAORRCZU.js +0 -17
  990. package/dist/runtime-api-CZGRk5D1.js +0 -24
  991. package/dist/runtime-api-CZm1iIlw.js +0 -13
  992. package/dist/runtime-api-D0d1LZvp.js +0 -21
  993. package/dist/runtime-api-DPIkVTDM.js +0 -3
  994. package/dist/runtime-api-DbQDZRSI.js +0 -13
  995. package/dist/runtime-api-k3v6Q0lb2.d.ts +0 -3151
  996. package/dist/runtime-api.actions-C2-n4QQ5.d.ts +0 -23
  997. package/dist/runtime-api.actions-CuYXLj2I.js +0 -3
  998. package/dist/runtime-api.monitor-BPMqlEBC.js +0 -6
  999. package/dist/runtime-api.send-cXGaIwD8.js +0 -4
  1000. package/dist/runtime-api.send-t0FX9tXf.d.ts +0 -38
  1001. package/dist/runtime-api.threads-DF6EqVSY.js +0 -2
  1002. package/dist/runtime-channel-B2dCbld0.js +0 -2
  1003. package/dist/runtime-channel-BfzwZ133.js +0 -150
  1004. package/dist/runtime-doctor-_yVIDUi3.d.ts +0 -48
  1005. package/dist/runtime-embedded-pi.runtime-Bz4-Me2g.js +0 -2
  1006. package/dist/sanitize-outbound-52UJkVc2.js +0 -127
  1007. package/dist/sdk-setup-tools-DzA0rD_t.js +0 -8
  1008. package/dist/secrets-BzY28DjS.js +0 -113
  1009. package/dist/security-audit-B_x9Bqsd.js +0 -122
  1010. package/dist/security-audit-CaX5F2YD.js +0 -118
  1011. package/dist/security-audit.runtime-BZFJXu8H.js +0 -2
  1012. package/dist/selection-B4V4O6zr.js +0 -16157
  1013. package/dist/selection-Cp7REh-j.js +0 -3
  1014. package/dist/send-B5TXXeBz.d.ts +0 -231
  1015. package/dist/send-C8NgsGx0.js +0 -2
  1016. package/dist/send-CktHKbVL.js +0 -192
  1017. package/dist/send-DEMaBWpw.d.ts +0 -105
  1018. package/dist/send-DSDSSxuo.js +0 -1631
  1019. package/dist/send-I0iE28XZ.js +0 -143
  1020. package/dist/send.components-CdYNwUR8.js +0 -500
  1021. package/dist/send.components-DDmsziVe.js +0 -2
  1022. package/dist/send.runtime-DEr6-5Rp.js +0 -2
  1023. package/dist/send.types-DywwIqYK.d.ts +0 -160
  1024. package/dist/server-Bdu2XxWz.js +0 -24
  1025. package/dist/server-BnVdhBLM.js +0 -73
  1026. package/dist/server-context-B7bIBpAz.js +0 -2
  1027. package/dist/server-context-BlPO5a-j.js +0 -955
  1028. package/dist/server-cron-3tDiqp95.js +0 -2989
  1029. package/dist/server-cron-Ckfa7HkP.js +0 -2
  1030. package/dist/server-methods-BNAICSKA.js +0 -16494
  1031. package/dist/server-node-events-BSp5sE0Q.js +0 -596
  1032. package/dist/server-plugin-bootstrap-Noai-kpp.js +0 -70
  1033. package/dist/server-plugins-DYPvxv5q.js +0 -432
  1034. package/dist/server-reload-handlers-I8gCBw7C.js +0 -714
  1035. package/dist/server-restart-sentinel-Bykg5_Sm.js +0 -747
  1036. package/dist/server-restart-sentinel-Dz8m-1uN.js +0 -2
  1037. package/dist/server-runtime-services-B2DpVh1J.js +0 -2
  1038. package/dist/server-runtime-services-DPDcSogD.js +0 -267
  1039. package/dist/server-startup-plugins-DHFkcvFX.js +0 -113
  1040. package/dist/server-startup-post-attach-BvKY1MjB.js +0 -716
  1041. package/dist/server-ws-runtime-DbsgWSNE.js +0 -349
  1042. package/dist/server.impl-DkzYcRnc.js +0 -2586
  1043. package/dist/service-oKCE97n8.js +0 -1446
  1044. package/dist/session-binding-BCYHcgKv.js +0 -219
  1045. package/dist/session-binding-Dbc5SyV1.js +0 -2
  1046. package/dist/session-kill-http-MtEei2A_.js +0 -121
  1047. package/dist/session-reset-service-BetsGXPL.js +0 -625
  1048. package/dist/session-route-BNumUO6m.js +0 -93
  1049. package/dist/session-status.runtime-8-kVkZLZ.js +0 -2
  1050. package/dist/session-subagent-reactivation.runtime-C4xmUBc4.js +0 -2
  1051. package/dist/session-tab-registry-DldD575V.js +0 -521
  1052. package/dist/sessions-history-http-Dh8uuG7K.js +0 -430
  1053. package/dist/sessions.runtime-CTD1EISY.js +0 -2
  1054. package/dist/setup-api-ClFwxmWg.js +0 -29
  1055. package/dist/setup-core-DF053J7r.js +0 -174
  1056. package/dist/setup-surface-C3vtcmut.js +0 -221
  1057. package/dist/setup-surface-hKgM61lK.js +0 -288
  1058. package/dist/setup-surface-kl5kIfCD.js +0 -405
  1059. package/dist/setup-surface-o44p_EZs.js +0 -320
  1060. package/dist/shared-DuNbDPVK.js +0 -121
  1061. package/dist/shared-client-BGdKzX6-.js +0 -2
  1062. package/dist/shared-client-DiaCaBiw.js +0 -629
  1063. package/dist/side-question-vADB_V7t.js +0 -683
  1064. package/dist/skill-tool-dispatch.runtime-DeTiaxln.js +0 -143
  1065. package/dist/slash-state-TiAtCc3B.js +0 -2166
  1066. package/dist/speech-provider-Dko5aOz2.js +0 -184
  1067. package/dist/src-Bczx7izw.js +0 -4256
  1068. package/dist/startup-context-sYE5tS1C.js +0 -313
  1069. package/dist/status-subagents.runtime-B79dVmOZ.js +0 -18
  1070. package/dist/status-text-CNV3Xo_z.js +0 -296
  1071. package/dist/sticker-cache-ClnmeK7n.js +0 -206
  1072. package/dist/sticker-vision.runtime-DKWYX_Z0.js +0 -17
  1073. package/dist/subagent-announce-BxgiPcah.js +0 -354
  1074. package/dist/subagent-announce-delivery-M73wDt9b.js +0 -958
  1075. package/dist/subagent-control-Svp4alxT.js +0 -508
  1076. package/dist/subagent-hooks-B8fQ4SB-.js +0 -2
  1077. package/dist/subagent-hooks-Bide9UGs.js +0 -2
  1078. package/dist/subagent-hooks-BroJYfmc.js +0 -116
  1079. package/dist/subagent-hooks-CeLaGy0S.js +0 -2
  1080. package/dist/subagent-hooks-D0jzCSJB.js +0 -230
  1081. package/dist/subagent-hooks-DMtU9Utn.js +0 -146
  1082. package/dist/subagent-hooks-api-6X1AhZ92.js +0 -23
  1083. package/dist/subagent-hooks-api-C3hw2s-7.js +0 -22
  1084. package/dist/subagent-hooks-api-D0utPXhG.js +0 -23
  1085. package/dist/subagent-orphan-recovery-DlyXF_8M.js +0 -352
  1086. package/dist/subagent-registry-Ct9aaUSq.js +0 -2351
  1087. package/dist/subagent-registry-_ThKY_a5.js +0 -3
  1088. package/dist/subagent-session-cleanup-D9jhUKCY.js +0 -525
  1089. package/dist/subagent-spawn-Bl5_-Qro.js +0 -1164
  1090. package/dist/target-id-DgUyIiaj.js +0 -107
  1091. package/dist/targets-CV6YGekF.js +0 -19
  1092. package/dist/targets-Ct6zFYUl.js +0 -19
  1093. package/dist/targets-DQxwAOx5.js +0 -44
  1094. package/dist/test-fixtures-HY6a4nTW.d.ts +0 -26
  1095. package/dist/testing-JsUCJjUs.js +0 -267
  1096. package/dist/thread-bindings-BJJr5qB6.js +0 -232
  1097. package/dist/thread-bindings-BVe9r2rW.js +0 -571
  1098. package/dist/thread-bindings-p78_o8d0.js +0 -228
  1099. package/dist/thread-bindings-yvtEoUyM.js +0 -8
  1100. package/dist/thread-bindings.discord-api-DpdJ31xq.js +0 -187
  1101. package/dist/thread-bindings.manager-DkA46uP3.js +0 -536
  1102. package/dist/thread-bindings.manager-MVNj26UO.js +0 -2
  1103. package/dist/thread-lifecycle-CLhulJIV.js +0 -1614
  1104. package/dist/token-VGmXler6.js +0 -134
  1105. package/dist/tool-BJkgiGjR.js +0 -139
  1106. package/dist/tool-actions.runtime-DhrT4z_Z.js +0 -534
  1107. package/dist/tool-resolution-BJLcYvry.js +0 -149
  1108. package/dist/tools-effective-inventory-D1c6J-sI.js +0 -204
  1109. package/dist/tools-invoke-http-B-k9cOYf.js +0 -67
  1110. package/dist/tools-invoke-shared-qMHGnaLY.js +0 -200
  1111. package/dist/tts-CmxOJYRq.js +0 -66
  1112. package/dist/tui-BcRfXYtK.js +0 -2
  1113. package/dist/tui-ChmyCc_c.js +0 -4709
  1114. package/dist/tui-backend-BOAgkU7O.js +0 -256
  1115. package/dist/tui-cli-C_1WxXuf.js +0 -37
  1116. package/dist/typed-cases-D8uyQEzR.d.ts +0 -68
  1117. package/dist/update-cli-CBJVr7p3.js +0 -3664
  1118. package/dist/update-runner-DHzvirfV.js +0 -2379
  1119. package/dist/vision-tools-BIOoLPOZ.js +0 -1409
  1120. package/dist/web-search-8-XCZJzj.js +0 -62
  1121. package/dist/web-search-provider.runtime-BORgiL3n.js +0 -2
  1122. package/dist/web-search-provider.runtime-CCXm-JLK.js +0 -328
  1123. package/dist/webhook-targets-CW4Nl_cq.d.ts +0 -99
  1124. package/dist/xai-oauth-CcxHOluD.js +0 -479
  1125. package/dist/xai-user-agent-BE2MgJak.js +0 -32
  1126. /package/dist/{accounts-CqgATPC-2.d.ts → accounts-CqgATPC-.d.ts} +0 -0
  1127. /package/dist/{acp-runtime-backend-DFDX5U10.js → acp-runtime-backend-BQNm-KYC.js} +0 -0
  1128. /package/dist/{channel-actions-DMH2vVzJ.js → channel-actions-CMUt5769.js} +0 -0
  1129. /package/dist/{command-status-runtime-Du_onNYh.js → command-status-runtime-DXZZv5h_.js} +0 -0
  1130. /package/dist/{delegate-CDb4qcfr.js → delegate-BTCHfZIj.js} +0 -0
  1131. /package/dist/{dispatch-acp-0Se8OniI.js → dispatch-acp-DtdYZo4i.js} +0 -0
  1132. /package/dist/{heartbeat-runner-BdsqQ3pi.js → heartbeat-runner-BqUKIwmn.js} +0 -0
  1133. /package/dist/{library-CsfrQOyp.js → library-DavrGMix.js} +0 -0
  1134. /package/dist/{run-executor.runtime-OlsZwyZw.js → run-executor.runtime-DMU7greB.js} +0 -0
  1135. /package/dist/{shared-DxV6gup5.js → shared-Kl_LS_vA.js} +0 -0
@@ -0,0 +1,1782 @@
1
+ import { a as normalizeLowercaseStringOrEmpty, c as normalizeOptionalString, d as normalizeStringifiedOptionalString } from "./string-coerce-DyL154ka.js";
2
+ import { t as formatDocsLink } from "./links-CM5vg8_V.js";
3
+ import { r as theme } from "./theme-D58JpUfy.js";
4
+ import { i as resolveAgentModelPrimaryValue } from "./model-input-ChW9XXsQ.js";
5
+ import "./agent-scope-Dx1S0aWX.js";
6
+ import { a as resolveAgentDir, c as resolveDefaultAgentId } from "./agent-scope-config-CJUQxn7u.js";
7
+ import { n as defaultRuntime, r as writeRuntimeJson } from "./runtime-E_A14BX_.js";
8
+ import { i as isLoopbackHost } from "./net-DCUMtgJy.js";
9
+ import { i as getRuntimeConfig } from "./io-Ct2JqgbR.js";
10
+ import { r as DEFAULT_PROVIDER } from "./defaults-mDjiWzE5.js";
11
+ import { p as normalizeThinkLevel } from "./thinking-DKvrUm8p.js";
12
+ import { _ as setRuntimeConfigSnapshot, s as getRuntimeConfigSourceSnapshot } from "./runtime-snapshot-DgdkBEdP.js";
13
+ import { t as getProviderEnvVars } from "./provider-env-vars-BbrhJD4E.js";
14
+ import "./config-CLrwLpl0.js";
15
+ import { i as GATEWAY_CLIENT_NAMES, r as GATEWAY_CLIENT_MODES } from "./client-info-B56HGdh-.js";
16
+ import { t as buildGatewayConnectionDetailsWithResolvers } from "./connection-details-DwZSGJDv.js";
17
+ import { t as ADMIN_SCOPE } from "./operator-scopes-DGvgHuOd.js";
18
+ import { r as callGateway, u as randomIdempotencyKey } from "./call-BFqofFc5.js";
19
+ import { i as listMemoryEmbeddingProviders, o as registerMemoryEmbeddingProvider } from "./memory-embedding-providers-B5o4DXj5.js";
20
+ import { n as detectMime, r as extensionForMime, u as normalizeMimeType } from "./mime-DppuT-pZ.js";
21
+ import { p as updateAuthProfileStoreWithLock, s as loadAuthProfileStoreForRuntime } from "./store-Bo7D4Hg4.js";
22
+ import { n as canonicalizeCaseOnlyCatalogModelRef } from "./model-selection-D1TyOrqK.js";
23
+ import { n as loadModelCatalog } from "./model-catalog-W4s3tp_Q.js";
24
+ import { c as getImageMetadata, s as convertHeicToJpeg } from "./media-services-C8kJ1LwP.js";
25
+ import "./auth-profiles-DJttKtDp.js";
26
+ import { n as listProfilesForProvider } from "./profile-list-CF9RJs7e.js";
27
+ import { n as listRuntimeImageGenerationProviders, t as generateImage } from "./runtime-D_QP_pnt.js";
28
+ import { u as saveMediaBuffer } from "./store-53qCOCD8.js";
29
+ import { t as buildExplicitSessionIdSessionKey } from "./session-CMmK5oT3.js";
30
+ import { u as buildMediaUnderstandingRegistry } from "./defaults.constants-DKWmIRMD.js";
31
+ import { a as getCapabilityWebSearchCommandSecretTargets, c as getMemoryEmbeddingCommandSecretTargetIds, l as getModelsCommandSecretTargetIds, m as getTtsCommandSecretTargetIds, r as getCapabilityWebFetchCommandSecretTargets } from "./command-secret-targets-HFIWeId5.js";
32
+ import { S as setTtsEnabled, T as setTtsProvider, _ as resolveTtsPrefsPath, a as getTtsPersona, d as listTtsPersonas, g as resolveTtsConfig, k as textToSpeech, m as resolveExplicitTtsOverrides, o as getTtsProvider, u as listSpeechVoices, w as setTtsPersona } from "./tts-runtime-xVEuik1Y.js";
33
+ import "./tts-53iqjiuM.js";
34
+ import { n as listRuntimeVideoGenerationProviders, t as generateVideo } from "./runtime-DCeoa1Hv.js";
35
+ import { i as runWebSearch, r as listWebSearchProviders, t as isWebSearchProviderConfigured } from "./runtime-BPlnOWaU.js";
36
+ import { i as listSpeechProviders, t as canonicalizeSpeechProviderId } from "./provider-registry-CrwRP6HV.js";
37
+ import { t as resolveMemorySearchConfig } from "./memory-search-CSGF3xvm.js";
38
+ import { i as resolveWebFetchDefinition, r as listWebFetchProviders, t as isWebFetchProviderConfigured } from "./runtime-BFzO948G.js";
39
+ import { r as prepareSimpleCompletionModelForAgent, t as completeWithPreparedSimpleCompletionModel } from "./simple-completion-runtime-CJFmCkYk.js";
40
+ import { n as runCommandWithRuntime } from "./cli-utils-BIL-oMVy.js";
41
+ import { t as removeCommandByName } from "./command-tree-vUuz1b4f.js";
42
+ import { t as collectOption } from "./helpers-BNXNWxTW.js";
43
+ import { n as describeImageFileWithModel, o as transcribeAudioFile, r as describeVideoFile, t as describeImageFile } from "./runtime-B9flDXGr.js";
44
+ import { a as registerBuiltInMemoryEmbeddingProviders, t as createEmbeddingProvider } from "./memory-core-bundled-runtime-DbJzonSb.js";
45
+ import { t as resolveCommandConfigWithSecrets } from "./command-config-resolution--CWFXpho.js";
46
+ import { createWriteStream } from "node:fs";
47
+ import path from "node:path";
48
+ import fs$1 from "node:fs/promises";
49
+ import { randomUUID } from "node:crypto";
50
+ import { pipeline } from "node:stream/promises";
51
+ import { Readable } from "node:stream";
52
+ //#region src/cli/capability-cli.ts
53
+ const IMAGE_OUTPUT_FORMATS = [
54
+ "png",
55
+ "jpeg",
56
+ "webp"
57
+ ];
58
+ const IMAGE_BACKGROUNDS = [
59
+ "transparent",
60
+ "opaque",
61
+ "auto"
62
+ ];
63
+ const LOCAL_MODEL_RUN_SYSTEM_PROMPT = "You are a personal assistant running inside DaoCore.";
64
+ const HEIC_MODEL_RUN_MIMES = new Set(["image/heic", "image/heif"]);
65
+ const CAPABILITY_METADATA = [
66
+ {
67
+ id: "model.run",
68
+ description: "Run a one-shot inference turn through the selected model provider.",
69
+ transports: ["local", "gateway"],
70
+ flags: [
71
+ "--prompt",
72
+ "--file",
73
+ "--model",
74
+ "--local",
75
+ "--gateway",
76
+ "--json"
77
+ ],
78
+ resultShape: "normalized payloads plus provider/model attribution"
79
+ },
80
+ {
81
+ id: "model.list",
82
+ description: "List known models from the model catalog.",
83
+ transports: ["local"],
84
+ flags: ["--json"],
85
+ resultShape: "catalog entries"
86
+ },
87
+ {
88
+ id: "model.inspect",
89
+ description: "Inspect one model catalog entry.",
90
+ transports: ["local"],
91
+ flags: ["--model", "--json"],
92
+ resultShape: "single catalog entry"
93
+ },
94
+ {
95
+ id: "model.providers",
96
+ description: "List model providers discovered from the catalog.",
97
+ transports: ["local"],
98
+ flags: ["--json"],
99
+ resultShape: "provider ids with counts and defaults"
100
+ },
101
+ {
102
+ id: "model.auth.login",
103
+ description: "Run the existing provider auth login flow.",
104
+ transports: ["local"],
105
+ flags: ["--provider"],
106
+ resultShape: "interactive auth result"
107
+ },
108
+ {
109
+ id: "model.auth.logout",
110
+ description: "Remove saved auth profiles for one provider.",
111
+ transports: ["local"],
112
+ flags: ["--provider", "--json"],
113
+ resultShape: "removed profile ids"
114
+ },
115
+ {
116
+ id: "model.auth.status",
117
+ description: "Show configured model auth state.",
118
+ transports: ["local"],
119
+ flags: ["--json"],
120
+ resultShape: "model status summary"
121
+ },
122
+ {
123
+ id: "image.generate",
124
+ description: "Generate raster images with configured image providers.",
125
+ transports: ["local"],
126
+ flags: [
127
+ "--prompt",
128
+ "--model",
129
+ "--count",
130
+ "--size",
131
+ "--aspect-ratio",
132
+ "--resolution",
133
+ "--output",
134
+ "--json"
135
+ ],
136
+ resultShape: "saved image files plus attempts"
137
+ },
138
+ {
139
+ id: "image.edit",
140
+ description: "Generate edited images from one or more input files.",
141
+ transports: ["local"],
142
+ flags: [
143
+ "--file",
144
+ "--prompt",
145
+ "--model",
146
+ "--size",
147
+ "--aspect-ratio",
148
+ "--resolution",
149
+ "--output-format",
150
+ "--background",
151
+ "--openai-background",
152
+ "--timeout-ms",
153
+ "--output",
154
+ "--json"
155
+ ],
156
+ resultShape: "saved image files plus attempts"
157
+ },
158
+ {
159
+ id: "image.describe",
160
+ description: "Describe one image file through media-understanding providers.",
161
+ transports: ["local"],
162
+ flags: [
163
+ "--file",
164
+ "--prompt",
165
+ "--model",
166
+ "--timeout-ms",
167
+ "--json"
168
+ ],
169
+ resultShape: "normalized text output"
170
+ },
171
+ {
172
+ id: "image.describe-many",
173
+ description: "Describe multiple image files independently.",
174
+ transports: ["local"],
175
+ flags: [
176
+ "--file",
177
+ "--prompt",
178
+ "--model",
179
+ "--timeout-ms",
180
+ "--json"
181
+ ],
182
+ resultShape: "one text output per file"
183
+ },
184
+ {
185
+ id: "image.providers",
186
+ description: "List image generation providers.",
187
+ transports: ["local"],
188
+ flags: ["--json"],
189
+ resultShape: "provider ids and defaults"
190
+ },
191
+ {
192
+ id: "audio.transcribe",
193
+ description: "Transcribe one audio file.",
194
+ transports: ["local"],
195
+ flags: [
196
+ "--file",
197
+ "--model",
198
+ "--json"
199
+ ],
200
+ resultShape: "normalized text output"
201
+ },
202
+ {
203
+ id: "audio.providers",
204
+ description: "List audio transcription providers.",
205
+ transports: ["local"],
206
+ flags: ["--json"],
207
+ resultShape: "provider ids and capabilities"
208
+ },
209
+ {
210
+ id: "tts.convert",
211
+ description: "Convert text to speech.",
212
+ transports: ["local", "gateway"],
213
+ flags: [
214
+ "--text",
215
+ "--channel",
216
+ "--voice",
217
+ "--model",
218
+ "--output",
219
+ "--local",
220
+ "--gateway",
221
+ "--json"
222
+ ],
223
+ resultShape: "saved audio file plus attempts"
224
+ },
225
+ {
226
+ id: "tts.voices",
227
+ description: "List voices for a speech provider.",
228
+ transports: ["local"],
229
+ flags: ["--provider", "--json"],
230
+ resultShape: "voice entries"
231
+ },
232
+ {
233
+ id: "tts.providers",
234
+ description: "List speech providers.",
235
+ transports: ["local", "gateway"],
236
+ flags: [
237
+ "--local",
238
+ "--gateway",
239
+ "--json"
240
+ ],
241
+ resultShape: "provider ids, configured state, models, voices"
242
+ },
243
+ {
244
+ id: "tts.personas",
245
+ description: "List TTS personas.",
246
+ transports: ["local", "gateway"],
247
+ flags: [
248
+ "--local",
249
+ "--gateway",
250
+ "--json"
251
+ ],
252
+ resultShape: "persona ids, labels, providers, active persona"
253
+ },
254
+ {
255
+ id: "tts.status",
256
+ description: "Show gateway-managed TTS state.",
257
+ transports: ["gateway"],
258
+ flags: ["--gateway", "--json"],
259
+ resultShape: "enabled/provider state"
260
+ },
261
+ {
262
+ id: "tts.enable",
263
+ description: "Enable TTS in prefs.",
264
+ transports: ["local", "gateway"],
265
+ flags: [
266
+ "--local",
267
+ "--gateway",
268
+ "--json"
269
+ ],
270
+ resultShape: "enabled state"
271
+ },
272
+ {
273
+ id: "tts.disable",
274
+ description: "Disable TTS in prefs.",
275
+ transports: ["local", "gateway"],
276
+ flags: [
277
+ "--local",
278
+ "--gateway",
279
+ "--json"
280
+ ],
281
+ resultShape: "enabled state"
282
+ },
283
+ {
284
+ id: "tts.set-provider",
285
+ description: "Set the active TTS provider.",
286
+ transports: ["local", "gateway"],
287
+ flags: [
288
+ "--provider",
289
+ "--local",
290
+ "--gateway",
291
+ "--json"
292
+ ],
293
+ resultShape: "selected provider"
294
+ },
295
+ {
296
+ id: "tts.set-persona",
297
+ description: "Set the active TTS persona.",
298
+ transports: ["local", "gateway"],
299
+ flags: [
300
+ "--persona",
301
+ "--off",
302
+ "--local",
303
+ "--gateway",
304
+ "--json"
305
+ ],
306
+ resultShape: "selected persona"
307
+ },
308
+ {
309
+ id: "video.generate",
310
+ description: "Generate video files with configured video providers.",
311
+ transports: ["local"],
312
+ flags: [
313
+ "--prompt",
314
+ "--model",
315
+ "--size",
316
+ "--aspect-ratio",
317
+ "--resolution",
318
+ "--duration",
319
+ "--audio",
320
+ "--watermark",
321
+ "--timeout-ms",
322
+ "--output",
323
+ "--json"
324
+ ],
325
+ resultShape: "saved video files plus attempts"
326
+ },
327
+ {
328
+ id: "video.describe",
329
+ description: "Describe one video file through media-understanding providers.",
330
+ transports: ["local"],
331
+ flags: [
332
+ "--file",
333
+ "--model",
334
+ "--json"
335
+ ],
336
+ resultShape: "normalized text output"
337
+ },
338
+ {
339
+ id: "video.providers",
340
+ description: "List video generation and description providers.",
341
+ transports: ["local"],
342
+ flags: ["--json"],
343
+ resultShape: "provider ids and defaults"
344
+ },
345
+ {
346
+ id: "web.search",
347
+ description: "Run provider-backed web search.",
348
+ transports: ["local"],
349
+ flags: [
350
+ "--query",
351
+ "--provider",
352
+ "--limit",
353
+ "--json"
354
+ ],
355
+ resultShape: "search provider result"
356
+ },
357
+ {
358
+ id: "web.fetch",
359
+ description: "Fetch URL content through configured web fetch providers.",
360
+ transports: ["local"],
361
+ flags: [
362
+ "--url",
363
+ "--provider",
364
+ "--format",
365
+ "--json"
366
+ ],
367
+ resultShape: "fetch provider result"
368
+ },
369
+ {
370
+ id: "web.providers",
371
+ description: "List web search and fetch providers.",
372
+ transports: ["local"],
373
+ flags: ["--json"],
374
+ resultShape: "provider ids grouped by family"
375
+ },
376
+ {
377
+ id: "embedding.create",
378
+ description: "Create embeddings through embedding providers.",
379
+ transports: ["local"],
380
+ flags: [
381
+ "--text",
382
+ "--provider",
383
+ "--model",
384
+ "--json"
385
+ ],
386
+ resultShape: "vectors with provider/model attribution"
387
+ },
388
+ {
389
+ id: "embedding.providers",
390
+ description: "List embedding providers.",
391
+ transports: ["local"],
392
+ flags: ["--json"],
393
+ resultShape: "provider ids and default models"
394
+ }
395
+ ];
396
+ function findCapabilityMetadata(id) {
397
+ return CAPABILITY_METADATA.find((entry) => entry.id === id);
398
+ }
399
+ function resolveTransport(opts) {
400
+ if (opts.local && opts.gateway) throw new Error("Pass only one of --local or --gateway.");
401
+ if (opts.local) {
402
+ if (!opts.supported.includes("local")) throw new Error("This command does not support --local.");
403
+ return "local";
404
+ }
405
+ if (opts.gateway) {
406
+ if (!opts.supported.includes("gateway")) throw new Error("This command does not support --gateway.");
407
+ return "gateway";
408
+ }
409
+ return opts.defaultTransport;
410
+ }
411
+ function emitJsonOrText(runtime, json, value, textFormatter) {
412
+ if (json) {
413
+ writeRuntimeJson(runtime, value);
414
+ return;
415
+ }
416
+ runtime.log(textFormatter(value));
417
+ }
418
+ function formatEnvelopeForText(value) {
419
+ const envelope = value;
420
+ if (!envelope.ok) return `${envelope.capability} failed: ${envelope.error ?? "unknown error"}`;
421
+ const lines = [
422
+ `${envelope.capability} via ${envelope.transport}`,
423
+ ...envelope.provider ? [`provider: ${envelope.provider}`] : [],
424
+ ...envelope.model ? [`model: ${envelope.model}`] : [],
425
+ ...envelope.ignoredOverrides && envelope.ignoredOverrides.length > 0 ? [`ignoredOverrides: ${JSON.stringify(envelope.ignoredOverrides)}`] : [],
426
+ `outputs: ${String(envelope.outputs.length)}`
427
+ ];
428
+ for (const output of envelope.outputs) {
429
+ const pathValue = typeof output.path === "string" ? output.path : void 0;
430
+ const textValue = typeof output.text === "string" ? output.text : void 0;
431
+ if (pathValue) lines.push(pathValue);
432
+ else if (textValue) lines.push(textValue);
433
+ else lines.push(JSON.stringify(output));
434
+ }
435
+ return lines.join("\n");
436
+ }
437
+ function providerSummaryText(value) {
438
+ return value.map((entry) => JSON.stringify(entry)).join("\n");
439
+ }
440
+ function hasOwnKeys(value) {
441
+ return Boolean(value && typeof value === "object" && Object.keys(value).length > 0);
442
+ }
443
+ function resolveSelectedProviderFromModelRef(modelRef) {
444
+ return resolveModelRefOverride(modelRef).provider;
445
+ }
446
+ function getAuthProfileIdsForProvider(cfg, providerId) {
447
+ return listProfilesForProvider(loadAuthProfileStoreForRuntime(resolveAgentDir(cfg, resolveDefaultAgentId(cfg))), providerId);
448
+ }
449
+ function providerHasGenericConfig(params) {
450
+ const modelsProviders = params.cfg.models?.providers ?? {};
451
+ const pluginEntries = params.cfg.plugins?.entries ?? {};
452
+ const ttsProviders = params.cfg.messages?.tts?.providers ?? {};
453
+ const envConfigured = (params.envVars ?? []).some((envVar) => Boolean(process.env[envVar]?.trim()));
454
+ return getAuthProfileIdsForProvider(params.cfg, params.providerId).length > 0 || hasOwnKeys(modelsProviders[params.providerId]) || hasOwnKeys(pluginEntries[params.providerId]?.config) || hasOwnKeys(ttsProviders[params.providerId]) || envConfigured;
455
+ }
456
+ async function writeOutputAsset(params) {
457
+ if (!params.outputPath) {
458
+ const saved = await saveMediaBuffer(params.buffer, params.mimeType, params.subdir, Number.MAX_SAFE_INTEGER, params.originalFilename);
459
+ return {
460
+ path: saved.path,
461
+ mimeType: saved.contentType,
462
+ size: saved.size
463
+ };
464
+ }
465
+ const resolvedOutput = path.resolve(params.outputPath);
466
+ const parsed = path.parse(resolvedOutput);
467
+ const detectedMime = await detectMime({
468
+ buffer: params.buffer,
469
+ headerMime: params.mimeType
470
+ }) ?? params.mimeType;
471
+ const requestedMime = normalizeMimeType(await detectMime({ filePath: resolvedOutput }));
472
+ const detectedNormalized = normalizeMimeType(detectedMime);
473
+ const canonicalDetectedExt = extensionForMime(detectedNormalized);
474
+ const fallbackExt = parsed.ext || path.extname(params.originalFilename ?? "") || "";
475
+ const ext = parsed.ext && requestedMime === detectedNormalized ? parsed.ext : canonicalDetectedExt ?? fallbackExt;
476
+ const filePath = params.outputCount <= 1 ? path.join(parsed.dir, `${parsed.name}${ext}`) : path.join(parsed.dir, `${parsed.name}-${String(params.outputIndex + 1)}${ext}`);
477
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
478
+ await fs$1.writeFile(filePath, params.buffer);
479
+ return {
480
+ path: filePath,
481
+ mimeType: detectedNormalized ?? params.mimeType,
482
+ size: params.buffer.byteLength
483
+ };
484
+ }
485
+ async function readInputFiles(files) {
486
+ return await Promise.all(files.map(async (filePath) => ({
487
+ path: path.resolve(filePath),
488
+ buffer: await fs$1.readFile(path.resolve(filePath))
489
+ })));
490
+ }
491
+ function resolveModelRefOverride(raw) {
492
+ const trimmed = raw?.trim();
493
+ if (!trimmed) return {};
494
+ const slash = trimmed.indexOf("/");
495
+ if (slash <= 0 || slash === trimmed.length - 1) return { model: trimmed };
496
+ return {
497
+ provider: trimmed.slice(0, slash),
498
+ model: trimmed.slice(slash + 1)
499
+ };
500
+ }
501
+ async function canonicalizeModelRunRef(params) {
502
+ return await canonicalizeCaseOnlyCatalogModelRef({
503
+ cfg: params.cfg,
504
+ raw: params.raw,
505
+ defaultProvider: DEFAULT_PROVIDER,
506
+ loadCatalog: () => loadModelCatalog({
507
+ config: params.cfg,
508
+ readOnly: true
509
+ }),
510
+ preserveAuthProfile: params.preserveAuthProfile
511
+ });
512
+ }
513
+ function requireProviderModelOverride(raw) {
514
+ const resolved = resolveModelRefOverride(raw);
515
+ if (!raw?.trim()) return;
516
+ if (!resolved.provider || !resolved.model) throw new Error("Model overrides must use the form <provider/model>.");
517
+ return {
518
+ provider: resolved.provider,
519
+ model: resolved.model
520
+ };
521
+ }
522
+ function collectModelRunText(content) {
523
+ return content.map((block) => block.type === "text" && typeof block.text === "string" ? block.text : "").join("").trim();
524
+ }
525
+ function requireModelRunPrompt(value) {
526
+ if (typeof value !== "string" || normalizeOptionalString(value) === void 0) throw new Error("--prompt cannot be empty or whitespace-only.");
527
+ return value;
528
+ }
529
+ async function readModelRunImageFiles(files) {
530
+ if (!files || files.length === 0) return [];
531
+ return await Promise.all(files.map(async (filePath) => {
532
+ const resolvedPath = path.resolve(filePath);
533
+ const buffer = await fs$1.readFile(resolvedPath);
534
+ const mimeType = normalizeMimeType(await detectMime({
535
+ buffer,
536
+ filePath: resolvedPath
537
+ }));
538
+ if (!mimeType?.startsWith("image/")) throw new Error(`Unsupported --file for model run: ${resolvedPath}. Only image files are supported; use infer audio transcribe for audio files.`);
539
+ if (HEIC_MODEL_RUN_MIMES.has(mimeType)) {
540
+ const converted = await convertHeicToJpeg(buffer);
541
+ return {
542
+ path: resolvedPath,
543
+ fileName: path.basename(resolvedPath),
544
+ mimeType: "image/jpeg",
545
+ data: converted.toString("base64")
546
+ };
547
+ }
548
+ return {
549
+ path: resolvedPath,
550
+ fileName: path.basename(resolvedPath),
551
+ mimeType,
552
+ data: buffer.toString("base64")
553
+ };
554
+ }));
555
+ }
556
+ function normalizeModelRunThinking(value) {
557
+ if (value === void 0) return;
558
+ if (typeof value !== "string") throw new Error("--thinking must be a string.");
559
+ const normalized = normalizeThinkLevel(value);
560
+ if (!normalized) throw new Error("Invalid thinking level. Use one of: off, minimal, low, medium, high, adaptive, xhigh, max.");
561
+ return normalized;
562
+ }
563
+ async function runModelRun(params) {
564
+ const cfg = params.transport === "local" ? await resolveLocalCapabilityRuntimeConfig({
565
+ commandName: "infer model run",
566
+ targetIds: getModelsCommandSecretTargetIds()
567
+ }) : getRuntimeConfig();
568
+ const agentId = resolveDefaultAgentId(cfg);
569
+ const modelRef = await canonicalizeModelRunRef({
570
+ raw: params.model,
571
+ cfg,
572
+ preserveAuthProfile: params.transport === "local"
573
+ });
574
+ const explicitModelOverride = resolveModelRefOverride(params.model);
575
+ const hasExplicitProviderModelOverride = Boolean(params.model?.trim() && explicitModelOverride.provider && explicitModelOverride.model);
576
+ const imageFiles = await readModelRunImageFiles(params.files);
577
+ const messageContent = imageFiles.length > 0 ? [{
578
+ type: "text",
579
+ text: params.prompt
580
+ }, ...imageFiles.map((image) => ({
581
+ type: "image",
582
+ data: image.data,
583
+ mimeType: image.mimeType
584
+ }))] : params.prompt;
585
+ if (params.transport === "local") {
586
+ const prepared = await prepareSimpleCompletionModelForAgent({
587
+ cfg,
588
+ agentId,
589
+ modelRef,
590
+ allowMissingApiKeyModes: ["aws-sdk"],
591
+ ...hasExplicitProviderModelOverride ? { allowBundledStaticCatalogFallback: true } : {},
592
+ skipPiDiscovery: true
593
+ });
594
+ if ("error" in prepared) throw new Error(prepared.error);
595
+ if (prepared.selection.provider === "codex") throw new Error("The codex provider is served by the Codex app-server agent runtime, not the local simple-completion transport. Use an openai/<model> ref with agents.defaults.agentRuntime.id: \"codex\", run through the gateway, or use /codex commands.");
596
+ const localModelRunSystemPrompt = prepared.selection.provider === "openai-codex" || prepared.model.api === "openai-codex-responses" ? LOCAL_MODEL_RUN_SYSTEM_PROMPT : void 0;
597
+ const result = await completeWithPreparedSimpleCompletionModel({
598
+ model: prepared.model,
599
+ auth: prepared.auth,
600
+ cfg,
601
+ context: {
602
+ ...localModelRunSystemPrompt ? { systemPrompt: localModelRunSystemPrompt } : {},
603
+ messages: [{
604
+ role: "user",
605
+ content: messageContent,
606
+ timestamp: Date.now()
607
+ }]
608
+ },
609
+ options: {
610
+ maxTokens: typeof prepared.model.maxTokens === "number" && Number.isFinite(prepared.model.maxTokens) ? prepared.model.maxTokens : void 0,
611
+ ...params.thinking ? { reasoning: params.thinking } : {}
612
+ }
613
+ });
614
+ const text = collectModelRunText(result.content);
615
+ if (!text) {
616
+ const providerErrorMessage = result.errorMessage;
617
+ const detail = typeof providerErrorMessage === "string" && providerErrorMessage.trim() ? `: ${providerErrorMessage.trim()}` : "";
618
+ throw new Error(`No text output returned for provider "${prepared.selection.provider}" model "${prepared.selection.modelId}"${detail}.`);
619
+ }
620
+ return {
621
+ ok: true,
622
+ capability: "model.run",
623
+ transport: "local",
624
+ provider: prepared.selection.provider,
625
+ model: prepared.selection.modelId,
626
+ attempts: [],
627
+ ...imageFiles.length > 0 ? { inputs: imageFiles.map((image) => ({
628
+ path: image.path,
629
+ mimeType: image.mimeType
630
+ })) } : {},
631
+ outputs: [{
632
+ text,
633
+ mediaUrl: null
634
+ }]
635
+ };
636
+ }
637
+ const { provider, model } = resolveModelRefOverride(modelRef);
638
+ const hasModelOverride = Boolean(provider || model);
639
+ const sessionId = `model-run-${randomUUID()}`;
640
+ const response = await callGateway({
641
+ method: "agent",
642
+ params: {
643
+ agentId,
644
+ sessionId,
645
+ sessionKey: buildExplicitSessionIdSessionKey({
646
+ agentId,
647
+ sessionId
648
+ }),
649
+ message: params.prompt,
650
+ attachments: imageFiles.length > 0 ? imageFiles.map((image) => ({
651
+ type: "image",
652
+ fileName: image.fileName,
653
+ mimeType: image.mimeType,
654
+ content: image.data
655
+ })) : void 0,
656
+ provider,
657
+ model,
658
+ ...params.thinking ? { thinking: params.thinking } : {},
659
+ modelRun: true,
660
+ promptMode: "none",
661
+ cleanupBundleMcpOnRunEnd: true,
662
+ idempotencyKey: randomIdempotencyKey()
663
+ },
664
+ expectFinal: true,
665
+ timeoutMs: 12e4,
666
+ clientName: hasModelOverride ? GATEWAY_CLIENT_NAMES.GATEWAY_CLIENT : GATEWAY_CLIENT_NAMES.CLI,
667
+ mode: hasModelOverride ? GATEWAY_CLIENT_MODES.BACKEND : GATEWAY_CLIENT_MODES.CLI,
668
+ ...hasModelOverride ? { scopes: [ADMIN_SCOPE] } : {}
669
+ });
670
+ return {
671
+ ok: true,
672
+ capability: "model.run",
673
+ transport: "gateway",
674
+ provider: response?.result?.meta?.agentMeta?.provider,
675
+ model: response?.result?.meta?.agentMeta?.model,
676
+ attempts: response?.result?.meta?.agentMeta?.fallbackAttempts ?? [],
677
+ outputs: (response?.result?.payloads ?? []).map((payload) => ({
678
+ text: payload.text,
679
+ mediaUrl: payload.mediaUrl,
680
+ mediaUrls: payload.mediaUrls
681
+ })),
682
+ ...imageFiles.length > 0 ? { inputs: imageFiles.map((image) => ({
683
+ path: image.path,
684
+ mimeType: image.mimeType
685
+ })) } : {}
686
+ };
687
+ }
688
+ async function buildModelProviders() {
689
+ const cfg = getRuntimeConfig();
690
+ const catalog = await loadModelCatalog({ config: cfg });
691
+ const selectedProvider = resolveSelectedProviderFromModelRef(resolveAgentModelPrimaryValue(cfg.agents?.defaults?.model));
692
+ const grouped = /* @__PURE__ */ new Map();
693
+ for (const entry of catalog) {
694
+ const current = grouped.get(entry.provider) ?? {
695
+ provider: entry.provider,
696
+ count: 0,
697
+ defaults: [],
698
+ available: true,
699
+ configured: providerHasGenericConfig({
700
+ cfg,
701
+ providerId: entry.provider
702
+ }),
703
+ selected: selectedProvider === entry.provider
704
+ };
705
+ current.count += 1;
706
+ if (current.defaults.length < 3) current.defaults.push(entry.id);
707
+ grouped.set(entry.provider, current);
708
+ }
709
+ return [...grouped.values()].toSorted((a, b) => a.provider.localeCompare(b.provider));
710
+ }
711
+ async function runModelAuthStatus() {
712
+ const captured = [];
713
+ const { modelsStatusCommand } = await import("./list.status-command-DcaLppGJ.js");
714
+ await modelsStatusCommand({ json: true }, {
715
+ log: (...args) => captured.push(args.join(" ")),
716
+ error: (message) => {
717
+ throw message instanceof Error ? message : new Error(String(message));
718
+ },
719
+ exit: (code) => {
720
+ throw new Error(`exit ${code}`);
721
+ }
722
+ });
723
+ const raw = captured.find((line) => line.trim().startsWith("{"));
724
+ return raw ? JSON.parse(raw) : {};
725
+ }
726
+ async function runModelAuthLogout(provider, agent) {
727
+ const cfg = getRuntimeConfig();
728
+ const agentDir = resolveAgentDir(cfg, agent?.trim() || resolveDefaultAgentId(cfg));
729
+ const profileIds = listProfilesForProvider(loadAuthProfileStoreForRuntime(agentDir), provider);
730
+ if (!await updateAuthProfileStoreWithLock({
731
+ agentDir,
732
+ updater: (nextStore) => {
733
+ let changed = false;
734
+ for (const profileId of profileIds) {
735
+ if (nextStore.profiles[profileId]) {
736
+ delete nextStore.profiles[profileId];
737
+ changed = true;
738
+ }
739
+ if (nextStore.usageStats?.[profileId]) {
740
+ delete nextStore.usageStats[profileId];
741
+ changed = true;
742
+ }
743
+ }
744
+ if (nextStore.order?.[provider]) {
745
+ delete nextStore.order[provider];
746
+ changed = true;
747
+ }
748
+ if (nextStore.lastGood?.[provider]) {
749
+ delete nextStore.lastGood[provider];
750
+ changed = true;
751
+ }
752
+ return changed;
753
+ }
754
+ })) throw new Error(`Failed to remove saved auth profiles for provider ${provider}.`);
755
+ return {
756
+ provider,
757
+ removedProfiles: profileIds
758
+ };
759
+ }
760
+ async function runImageGenerate(params) {
761
+ const cfg = await resolveLocalCapabilityRuntimeConfig({
762
+ commandName: `infer ${params.capability}`,
763
+ targetIds: getModelsCommandSecretTargetIds()
764
+ });
765
+ const agentDir = resolveAgentDir(cfg, resolveDefaultAgentId(cfg));
766
+ const inputImages = params.file && params.file.length > 0 ? await Promise.all((await readInputFiles(params.file)).map(async (entry) => ({
767
+ buffer: entry.buffer,
768
+ fileName: path.basename(entry.path),
769
+ mimeType: await detectMime({
770
+ buffer: entry.buffer,
771
+ filePath: entry.path
772
+ }) ?? "image/png"
773
+ }))) : void 0;
774
+ const result = await generateImage({
775
+ cfg,
776
+ agentDir,
777
+ prompt: params.prompt,
778
+ modelOverride: params.model,
779
+ count: params.count,
780
+ size: params.size,
781
+ aspectRatio: params.aspectRatio,
782
+ resolution: params.resolution,
783
+ outputFormat: params.outputFormat,
784
+ background: params.background,
785
+ providerOptions: params.openaiBackground ? { openai: { background: params.openaiBackground } } : void 0,
786
+ timeoutMs: params.timeoutMs,
787
+ inputImages
788
+ });
789
+ const outputs = await Promise.all(result.images.map(async (image, index) => {
790
+ const written = await writeOutputAsset({
791
+ buffer: image.buffer,
792
+ mimeType: image.mimeType,
793
+ originalFilename: image.fileName,
794
+ outputPath: params.output,
795
+ outputIndex: index,
796
+ outputCount: result.images.length,
797
+ subdir: "generated"
798
+ });
799
+ const metadata = await getImageMetadata(image.buffer).catch(() => void 0);
800
+ return {
801
+ ...written,
802
+ width: metadata?.width,
803
+ height: metadata?.height,
804
+ revisedPrompt: image.revisedPrompt
805
+ };
806
+ }));
807
+ return {
808
+ ok: true,
809
+ capability: params.capability,
810
+ transport: "local",
811
+ provider: result.provider,
812
+ model: result.model,
813
+ attempts: result.attempts,
814
+ outputs,
815
+ ignoredOverrides: result.ignoredOverrides
816
+ };
817
+ }
818
+ async function runImageDescribe(params) {
819
+ const cfg = await resolveLocalCapabilityRuntimeConfig({
820
+ commandName: `infer ${params.capability}`,
821
+ targetIds: getModelsCommandSecretTargetIds()
822
+ });
823
+ const agentDir = resolveAgentDir(cfg, resolveDefaultAgentId(cfg));
824
+ const activeModel = requireProviderModelOverride(params.model);
825
+ const prompt = normalizeOptionalString(params.prompt);
826
+ const outputs = await Promise.all(params.files.map(async (filePath) => {
827
+ const resolvedPath = resolveImageDescribeInput(filePath);
828
+ const isRemoteUrl = /^https?:\/\//i.test(resolvedPath);
829
+ const result = activeModel ? await describeImageFileWithModel({
830
+ filePath: resolvedPath,
831
+ ...isRemoteUrl ? { mediaUrl: resolvedPath } : {},
832
+ cfg,
833
+ agentDir,
834
+ provider: activeModel.provider,
835
+ model: activeModel.model,
836
+ prompt: prompt ?? "Describe the image.",
837
+ timeoutMs: params.timeoutMs
838
+ }) : await describeImageFile({
839
+ filePath: resolvedPath,
840
+ ...isRemoteUrl ? { mediaUrl: resolvedPath } : {},
841
+ cfg,
842
+ agentDir,
843
+ prompt,
844
+ timeoutMs: params.timeoutMs
845
+ });
846
+ if (!result.text) {
847
+ if (isMissingMediaUnderstandingProvider(result)) throw new Error("No image understanding provider is configured or ready. Configure tools.media.image.models or agents.defaults.imageModel.primary, or pass --model <provider/model> after configuring that provider's auth/API key.");
848
+ throw new Error(`No description returned for image: ${resolvedPath}`);
849
+ }
850
+ return {
851
+ path: resolvedPath,
852
+ text: result.text,
853
+ provider: activeModel?.provider ?? ("provider" in result ? result.provider : void 0),
854
+ model: result.model,
855
+ kind: "image.description"
856
+ };
857
+ }));
858
+ return {
859
+ ok: true,
860
+ capability: params.capability,
861
+ transport: "local",
862
+ provider: outputs[0]?.provider,
863
+ model: outputs[0]?.model,
864
+ attempts: [],
865
+ outputs
866
+ };
867
+ }
868
+ function isMissingMediaUnderstandingProvider(result) {
869
+ const decision = result.decision;
870
+ return decision?.outcome === "skipped" && decision.attachments.length > 0 && decision.attachments.every((attachment) => attachment.attempts.length === 0);
871
+ }
872
+ async function runAudioTranscribe(params) {
873
+ const cfg = await resolveLocalCapabilityRuntimeConfig({
874
+ commandName: "infer audio transcribe",
875
+ targetIds: getModelsCommandSecretTargetIds()
876
+ });
877
+ const activeModel = requireProviderModelOverride(params.model);
878
+ const result = await transcribeAudioFile({
879
+ filePath: path.resolve(params.file),
880
+ cfg,
881
+ language: params.language,
882
+ activeModel,
883
+ prompt: params.prompt
884
+ });
885
+ if (!result.text) {
886
+ if (isMissingMediaUnderstandingProvider(result)) throw new Error("No audio transcription provider is configured or ready. Configure tools.media.audio.models, or pass --model <provider/model> after configuring that provider's auth/API key.");
887
+ throw new Error(`No transcript returned for audio: ${path.resolve(params.file)}`);
888
+ }
889
+ return {
890
+ ok: true,
891
+ capability: "audio.transcribe",
892
+ transport: "local",
893
+ attempts: [],
894
+ outputs: [{
895
+ path: path.resolve(params.file),
896
+ text: result.text,
897
+ kind: "audio.transcription"
898
+ }]
899
+ };
900
+ }
901
+ function parseOptionalFiniteNumber(raw, label) {
902
+ if (raw === void 0 || typeof raw === "string" && raw.trim() === "") return;
903
+ const value = Number(raw);
904
+ if (!Number.isFinite(value)) throw new Error(`${label} must be a finite number`);
905
+ return value;
906
+ }
907
+ function normalizeImageOutputFormat(raw) {
908
+ const normalized = normalizeLowercaseStringOrEmpty(raw);
909
+ if (!normalized) return;
910
+ if (IMAGE_OUTPUT_FORMATS.includes(normalized)) return normalized;
911
+ throw new Error("--output-format must be one of png, jpeg, or webp");
912
+ }
913
+ function normalizeImageBackground(raw, label = "--background") {
914
+ const normalized = normalizeLowercaseStringOrEmpty(raw);
915
+ if (!normalized) return;
916
+ if (IMAGE_BACKGROUNDS.includes(normalized)) return normalized;
917
+ throw new Error(`${label} must be one of transparent, opaque, or auto`);
918
+ }
919
+ function normalizeVideoResolution(raw) {
920
+ const normalized = raw?.trim().toUpperCase();
921
+ if (!normalized) return;
922
+ if (normalized === "480P" || normalized === "720P" || normalized === "768P" || normalized === "1080P") return normalized;
923
+ throw new Error("video resolution must be one of 480P, 720P, 768P, or 1080P");
924
+ }
925
+ async function runVideoGenerate(params) {
926
+ const cfg = await resolveLocalCapabilityRuntimeConfig({
927
+ commandName: "infer video.generate",
928
+ targetIds: getModelsCommandSecretTargetIds()
929
+ });
930
+ const result = await generateVideo({
931
+ cfg,
932
+ agentDir: resolveAgentDir(cfg, resolveDefaultAgentId(cfg)),
933
+ prompt: params.prompt,
934
+ modelOverride: params.model,
935
+ size: params.size,
936
+ aspectRatio: params.aspectRatio,
937
+ resolution: params.resolution,
938
+ durationSeconds: params.durationSeconds,
939
+ audio: params.audio,
940
+ watermark: params.watermark,
941
+ timeoutMs: params.timeoutMs
942
+ });
943
+ const outputs = await Promise.all(result.videos.map(async (video, index) => {
944
+ if (!video.buffer && !video.url) throw new Error(`Video asset at index ${index} has neither buffer nor url`);
945
+ let videoBuffer = video.buffer;
946
+ if (!videoBuffer && video.url) {
947
+ const response = await fetch(video.url, { signal: AbortSignal.timeout(12e4) });
948
+ if (!response.ok) throw new Error(`Failed to download video from ${video.url}: ${response.status}`);
949
+ if (params.output && response.body) {
950
+ const ext = extensionForMime(normalizeMimeType(video.mimeType)) || path.extname(video.fileName ?? "") || path.extname(params.output ?? "");
951
+ const resolvedOutput = path.resolve(params.output);
952
+ const parsed = path.parse(resolvedOutput);
953
+ const filePath = result.videos.length <= 1 ? path.join(parsed.dir, `${parsed.name}${ext}`) : path.join(parsed.dir, `${parsed.name}-${String(index + 1)}${ext}`);
954
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
955
+ await pipeline(Readable.fromWeb(response.body), createWriteStream(filePath));
956
+ const stat = await fs$1.stat(filePath);
957
+ return {
958
+ path: filePath,
959
+ mimeType: video.mimeType,
960
+ size: stat.size
961
+ };
962
+ }
963
+ videoBuffer = Buffer.from(await response.arrayBuffer());
964
+ }
965
+ return { ...await writeOutputAsset({
966
+ buffer: videoBuffer,
967
+ mimeType: video.mimeType,
968
+ originalFilename: video.fileName,
969
+ outputPath: params.output,
970
+ outputIndex: index,
971
+ outputCount: result.videos.length,
972
+ subdir: "generated"
973
+ }) };
974
+ }));
975
+ return {
976
+ ok: true,
977
+ capability: "video.generate",
978
+ transport: "local",
979
+ provider: result.provider,
980
+ model: result.model,
981
+ attempts: result.attempts,
982
+ outputs
983
+ };
984
+ }
985
+ async function runVideoDescribe(params) {
986
+ const cfg = await resolveLocalCapabilityRuntimeConfig({
987
+ commandName: "infer video.describe",
988
+ targetIds: getModelsCommandSecretTargetIds()
989
+ });
990
+ const activeModel = requireProviderModelOverride(params.model);
991
+ const result = await describeVideoFile({
992
+ filePath: path.resolve(params.file),
993
+ cfg,
994
+ activeModel
995
+ });
996
+ if (!result.text) throw new Error(`No description returned for video: ${path.resolve(params.file)}`);
997
+ return {
998
+ ok: true,
999
+ capability: "video.describe",
1000
+ transport: "local",
1001
+ provider: result.provider,
1002
+ model: result.model,
1003
+ attempts: [],
1004
+ outputs: [{
1005
+ path: path.resolve(params.file),
1006
+ text: result.text,
1007
+ kind: "video.description"
1008
+ }]
1009
+ };
1010
+ }
1011
+ async function runTtsConvert(params) {
1012
+ if (params.transport === "gateway") {
1013
+ const gatewayConnection = buildGatewayConnectionDetailsWithResolvers({ config: getRuntimeConfig() });
1014
+ const result = await callGateway({
1015
+ method: "tts.convert",
1016
+ params: {
1017
+ text: params.text,
1018
+ channel: params.channel,
1019
+ provider: normalizeOptionalString(params.provider),
1020
+ modelId: params.modelId,
1021
+ voiceId: params.voiceId
1022
+ },
1023
+ timeoutMs: 12e4
1024
+ });
1025
+ let outputPath = result.audioPath;
1026
+ if (params.output && result.audioPath) {
1027
+ const gatewayHost = new URL(gatewayConnection.url).hostname;
1028
+ if (!isLoopbackHost(gatewayHost)) throw new Error(`--output is not supported for remote gateway TTS yet (gateway target: ${gatewayConnection.url}).`);
1029
+ const target = path.resolve(params.output);
1030
+ await fs$1.mkdir(path.dirname(target), { recursive: true });
1031
+ await fs$1.copyFile(result.audioPath, target);
1032
+ outputPath = target;
1033
+ }
1034
+ return {
1035
+ ok: true,
1036
+ capability: "tts.convert",
1037
+ transport: "gateway",
1038
+ provider: result.provider,
1039
+ attempts: [],
1040
+ outputs: [{
1041
+ path: outputPath,
1042
+ format: result.outputFormat,
1043
+ voiceCompatible: result.voiceCompatible
1044
+ }]
1045
+ };
1046
+ }
1047
+ const cfg = await resolveLocalCapabilityRuntimeConfig({
1048
+ commandName: "infer tts convert",
1049
+ targetIds: getTtsCommandSecretTargetIds()
1050
+ });
1051
+ const overrides = resolveExplicitTtsOverrides({
1052
+ cfg,
1053
+ provider: params.provider,
1054
+ modelId: params.modelId,
1055
+ voiceId: params.voiceId
1056
+ });
1057
+ const hasExplicitSelection = Boolean(overrides.provider || normalizeOptionalString(params.modelId) || normalizeOptionalString(params.voiceId));
1058
+ const result = await textToSpeech({
1059
+ text: params.text,
1060
+ cfg,
1061
+ channel: params.channel,
1062
+ overrides,
1063
+ disableFallback: hasExplicitSelection
1064
+ });
1065
+ if (!result.success || !result.audioPath) throw new Error(result.error ?? "TTS conversion failed");
1066
+ let outputPath = result.audioPath;
1067
+ if (params.output) {
1068
+ const target = path.resolve(params.output);
1069
+ await fs$1.mkdir(path.dirname(target), { recursive: true });
1070
+ await fs$1.copyFile(result.audioPath, target);
1071
+ outputPath = target;
1072
+ }
1073
+ return {
1074
+ ok: true,
1075
+ capability: "tts.convert",
1076
+ transport: "local",
1077
+ provider: result.provider,
1078
+ attempts: result.attempts ?? [],
1079
+ outputs: [{
1080
+ path: outputPath,
1081
+ format: result.outputFormat,
1082
+ voiceCompatible: result.voiceCompatible
1083
+ }]
1084
+ };
1085
+ }
1086
+ async function runTtsProviders(transport) {
1087
+ const cfg = getRuntimeConfig();
1088
+ if (transport === "gateway") {
1089
+ const payload = await callGateway({
1090
+ method: "tts.providers",
1091
+ timeoutMs: 3e4
1092
+ });
1093
+ return {
1094
+ ...payload,
1095
+ providers: (payload.providers ?? []).map((provider) => {
1096
+ const id = typeof provider.id === "string" ? provider.id : "";
1097
+ return Object.assign({
1098
+ available: true,
1099
+ configured: typeof provider.configured === `boolean` ? provider.configured : providerHasGenericConfig({
1100
+ cfg,
1101
+ providerId: id
1102
+ }),
1103
+ selected: Boolean(id && payload.active === id)
1104
+ }, provider);
1105
+ })
1106
+ };
1107
+ }
1108
+ const config = resolveTtsConfig(cfg);
1109
+ const active = getTtsProvider(config, resolveTtsPrefsPath(config));
1110
+ return {
1111
+ providers: listSpeechProviders(cfg).map((provider) => ({
1112
+ available: true,
1113
+ configured: active === provider.id || providerHasGenericConfig({
1114
+ cfg,
1115
+ providerId: provider.id
1116
+ }),
1117
+ selected: active === provider.id,
1118
+ id: provider.id,
1119
+ name: provider.label,
1120
+ models: [...provider.models ?? []],
1121
+ voices: [...provider.voices ?? []]
1122
+ })),
1123
+ active
1124
+ };
1125
+ }
1126
+ function resolveImageDescribeInput(filePath) {
1127
+ const trimmed = filePath.trim();
1128
+ return /^https?:\/\//i.test(trimmed) ? trimmed : path.resolve(filePath);
1129
+ }
1130
+ async function runTtsPersonas(transport) {
1131
+ if (transport === "gateway") return await callGateway({
1132
+ method: "tts.personas",
1133
+ timeoutMs: 3e4
1134
+ });
1135
+ const config = resolveTtsConfig(getRuntimeConfig());
1136
+ return {
1137
+ active: getTtsPersona(config, resolveTtsPrefsPath(config))?.id ?? null,
1138
+ personas: listTtsPersonas(config).map((persona) => ({
1139
+ id: persona.id,
1140
+ label: persona.label,
1141
+ description: persona.description,
1142
+ provider: persona.provider,
1143
+ fallbackPolicy: persona.fallbackPolicy,
1144
+ providers: Object.keys(persona.providers ?? {})
1145
+ }))
1146
+ };
1147
+ }
1148
+ async function runTtsVoices(providerRaw) {
1149
+ const cfg = await resolveLocalCapabilityRuntimeConfig({
1150
+ commandName: "infer tts voices",
1151
+ targetIds: getTtsCommandSecretTargetIds()
1152
+ });
1153
+ const config = resolveTtsConfig(cfg);
1154
+ const prefsPath = resolveTtsPrefsPath(config);
1155
+ return await listSpeechVoices({
1156
+ provider: normalizeOptionalString(providerRaw) || getTtsProvider(config, prefsPath),
1157
+ cfg,
1158
+ config
1159
+ });
1160
+ }
1161
+ async function runTtsStateMutation(params) {
1162
+ if (params.transport === "gateway") return await callGateway({
1163
+ method: params.capability === "tts.enable" ? "tts.enable" : params.capability === "tts.disable" ? "tts.disable" : params.capability === "tts.set-provider" ? "tts.setProvider" : "tts.setPersona",
1164
+ params: params.capability === "tts.set-provider" ? { provider: params.provider } : params.capability === "tts.set-persona" ? { persona: params.persona ?? "off" } : void 0,
1165
+ timeoutMs: 3e4
1166
+ });
1167
+ const cfg = getRuntimeConfig();
1168
+ const config = resolveTtsConfig(cfg);
1169
+ const prefsPath = resolveTtsPrefsPath(config);
1170
+ if (params.capability === "tts.enable") {
1171
+ setTtsEnabled(prefsPath, true);
1172
+ return { enabled: true };
1173
+ }
1174
+ if (params.capability === "tts.disable") {
1175
+ setTtsEnabled(prefsPath, false);
1176
+ return { enabled: false };
1177
+ }
1178
+ if (params.capability === "tts.set-persona") {
1179
+ if (!params.persona) {
1180
+ setTtsPersona(prefsPath, null);
1181
+ return { persona: null };
1182
+ }
1183
+ const persona = listTtsPersonas(config).find((entry) => entry.id === normalizeLowercaseStringOrEmpty(params.persona ?? ""));
1184
+ if (!persona) throw new Error(`Unknown TTS persona: ${params.persona}`);
1185
+ setTtsPersona(prefsPath, persona.id);
1186
+ return { persona: persona.id };
1187
+ }
1188
+ if (!params.provider) throw new Error("--provider is required");
1189
+ const provider = canonicalizeSpeechProviderId(params.provider, cfg);
1190
+ if (!provider) throw new Error(`Unknown speech provider: ${params.provider}`);
1191
+ setTtsProvider(prefsPath, provider);
1192
+ return { provider };
1193
+ }
1194
+ async function resolveLocalCapabilityRuntimeConfig(params) {
1195
+ const cfg = params.config ?? getRuntimeConfig();
1196
+ const sourceConfig = getRuntimeConfigSourceSnapshot();
1197
+ const { effectiveConfig } = await resolveCommandConfigWithSecrets({
1198
+ config: cfg,
1199
+ commandName: params.commandName,
1200
+ targetIds: params.targetIds,
1201
+ ...params.allowedPaths ? { allowedPaths: params.allowedPaths } : {},
1202
+ ...params.forcedActivePaths ? { forcedActivePaths: params.forcedActivePaths } : {},
1203
+ ...params.optionalActivePaths ? { optionalActivePaths: params.optionalActivePaths } : {},
1204
+ runtime: defaultRuntime,
1205
+ autoEnable: true
1206
+ });
1207
+ if (sourceConfig) setRuntimeConfigSnapshot(effectiveConfig, sourceConfig);
1208
+ else setRuntimeConfigSnapshot(effectiveConfig);
1209
+ return effectiveConfig;
1210
+ }
1211
+ async function runWebSearchCommand(params) {
1212
+ const rawConfig = getRuntimeConfig();
1213
+ const scopedTargets = getCapabilityWebSearchCommandSecretTargets(rawConfig, { providerId: params.provider });
1214
+ const result = await runWebSearch({
1215
+ config: await resolveLocalCapabilityRuntimeConfig({
1216
+ commandName: "infer web search",
1217
+ targetIds: scopedTargets.targetIds,
1218
+ ...scopedTargets.allowedPaths ? { allowedPaths: scopedTargets.allowedPaths } : {},
1219
+ ...scopedTargets.forcedActivePaths ? { forcedActivePaths: scopedTargets.forcedActivePaths } : {},
1220
+ ...scopedTargets.optionalActivePaths ? { optionalActivePaths: scopedTargets.optionalActivePaths } : {},
1221
+ config: rawConfig
1222
+ }),
1223
+ providerId: params.provider,
1224
+ args: {
1225
+ query: params.query,
1226
+ count: params.limit,
1227
+ limit: params.limit
1228
+ }
1229
+ });
1230
+ return {
1231
+ ok: true,
1232
+ capability: "web.search",
1233
+ transport: "local",
1234
+ provider: result.provider,
1235
+ attempts: [],
1236
+ outputs: [{ result: result.result }]
1237
+ };
1238
+ }
1239
+ async function runWebFetchCommand(params) {
1240
+ const rawConfig = getRuntimeConfig();
1241
+ const scopedTargets = getCapabilityWebFetchCommandSecretTargets(rawConfig, { providerId: params.provider });
1242
+ const resolved = resolveWebFetchDefinition({
1243
+ config: await resolveLocalCapabilityRuntimeConfig({
1244
+ commandName: "infer web fetch",
1245
+ targetIds: scopedTargets.targetIds,
1246
+ ...scopedTargets.allowedPaths ? { allowedPaths: scopedTargets.allowedPaths } : {},
1247
+ ...scopedTargets.forcedActivePaths ? { forcedActivePaths: scopedTargets.forcedActivePaths } : {},
1248
+ ...scopedTargets.optionalActivePaths ? { optionalActivePaths: scopedTargets.optionalActivePaths } : {},
1249
+ config: rawConfig
1250
+ }),
1251
+ providerId: params.provider
1252
+ });
1253
+ if (!resolved) throw new Error("web.fetch is disabled or no provider is available.");
1254
+ const result = await resolved.definition.execute({
1255
+ url: params.url,
1256
+ format: params.format
1257
+ });
1258
+ return {
1259
+ ok: true,
1260
+ capability: "web.fetch",
1261
+ transport: "local",
1262
+ provider: resolved.provider.id,
1263
+ attempts: [],
1264
+ outputs: [{ result }]
1265
+ };
1266
+ }
1267
+ async function runMemoryEmbeddingCreate(params) {
1268
+ ensureMemoryEmbeddingProvidersRegistered();
1269
+ const cfg = await resolveLocalCapabilityRuntimeConfig({
1270
+ commandName: "infer embedding create",
1271
+ targetIds: getMemoryEmbeddingCommandSecretTargetIds()
1272
+ });
1273
+ const modelRef = resolveModelRefOverride(params.model);
1274
+ const requestedProvider = normalizeOptionalString(params.provider) || modelRef.provider || "auto";
1275
+ const result = await createEmbeddingProvider({
1276
+ config: cfg,
1277
+ agentDir: resolveAgentDir(cfg, resolveDefaultAgentId(cfg)),
1278
+ provider: requestedProvider,
1279
+ fallback: "none",
1280
+ model: modelRef.model ?? ""
1281
+ });
1282
+ if (!result.provider) throw new Error(result.providerUnavailableReason ?? "No embedding provider available.");
1283
+ const embeddings = await result.provider.embedBatch(params.texts);
1284
+ return {
1285
+ ok: true,
1286
+ capability: "embedding.create",
1287
+ transport: "local",
1288
+ provider: result.provider.id,
1289
+ model: result.provider.model,
1290
+ attempts: result.fallbackFrom ? [{
1291
+ provider: result.fallbackFrom,
1292
+ outcome: "failed",
1293
+ error: result.fallbackReason
1294
+ }] : [],
1295
+ outputs: embeddings.map((embedding, index) => ({
1296
+ text: params.texts[index],
1297
+ embedding,
1298
+ dimensions: embedding.length
1299
+ }))
1300
+ };
1301
+ }
1302
+ function ensureMemoryEmbeddingProvidersRegistered() {
1303
+ if (listMemoryEmbeddingProviders().length > 0) return;
1304
+ registerBuiltInMemoryEmbeddingProviders({ registerMemoryEmbeddingProvider });
1305
+ }
1306
+ function registerCapabilityListAndInspect(capability) {
1307
+ capability.command("list").description("List canonical capability ids and supported transports").option("--json", "Output JSON", false).action(async (opts) => {
1308
+ await runCommandWithRuntime(defaultRuntime, async () => {
1309
+ const result = CAPABILITY_METADATA.map((entry) => ({
1310
+ id: entry.id,
1311
+ transports: entry.transports,
1312
+ description: entry.description
1313
+ }));
1314
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, providerSummaryText);
1315
+ });
1316
+ });
1317
+ capability.command("inspect").description("Inspect one canonical capability id").requiredOption("--name <capability>", "Capability id").option("--json", "Output JSON", false).action(async (opts) => {
1318
+ await runCommandWithRuntime(defaultRuntime, async () => {
1319
+ const entry = findCapabilityMetadata(String(opts.name));
1320
+ if (!entry) throw new Error(`Unknown capability: ${String(opts.name)}`);
1321
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), entry, (value) => JSON.stringify(value, null, 2));
1322
+ });
1323
+ });
1324
+ }
1325
+ function registerCapabilityCli(program) {
1326
+ removeCommandByName(program, "infer");
1327
+ removeCommandByName(program, "capability");
1328
+ const capability = program.command("infer").alias("capability").description("Run provider-backed inference commands through a stable CLI surface").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/infer", "docs.openclaw.ai/cli/infer")}\n`);
1329
+ registerCapabilityListAndInspect(capability);
1330
+ const model = capability.command("model").description("Text inference and model catalog commands");
1331
+ model.command("run").description("Run a one-shot model turn").requiredOption("--prompt <text>", "Prompt text").option("--file <path>", "Image file", collectOption, []).option("--model <provider/model>", "Model override").option("--thinking <level>", "Thinking level override").option("--local", "Force local execution", false).option("--gateway", "Force gateway execution", false).option("--json", "Output JSON", false).action(async (opts) => {
1332
+ await runCommandWithRuntime(defaultRuntime, async () => {
1333
+ const prompt = requireModelRunPrompt(opts.prompt);
1334
+ const thinking = normalizeModelRunThinking(opts.thinking);
1335
+ const transport = resolveTransport({
1336
+ local: Boolean(opts.local),
1337
+ gateway: Boolean(opts.gateway),
1338
+ supported: ["local", "gateway"],
1339
+ defaultTransport: "local"
1340
+ });
1341
+ const result = await runModelRun({
1342
+ prompt,
1343
+ files: opts.file,
1344
+ model: opts.model,
1345
+ thinking,
1346
+ transport
1347
+ });
1348
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1349
+ });
1350
+ });
1351
+ model.command("list").description("List known models").option("--json", "Output JSON", false).action(async (opts) => {
1352
+ await runCommandWithRuntime(defaultRuntime, async () => {
1353
+ const result = await loadModelCatalog({ config: getRuntimeConfig() });
1354
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, providerSummaryText);
1355
+ });
1356
+ });
1357
+ model.command("inspect").description("Inspect one model catalog entry").requiredOption("--model <provider/model>", "Model id").option("--json", "Output JSON", false).action(async (opts) => {
1358
+ await runCommandWithRuntime(defaultRuntime, async () => {
1359
+ const target = normalizeStringifiedOptionalString(opts.model) ?? "";
1360
+ const catalog = await loadModelCatalog({ config: getRuntimeConfig() });
1361
+ const entry = catalog.find((candidate) => `${candidate.provider}/${candidate.id}` === target) ?? catalog.find((candidate) => candidate.id === target);
1362
+ if (!entry) throw new Error(`Model not found: ${target}`);
1363
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), entry, (value) => JSON.stringify(value, null, 2));
1364
+ });
1365
+ });
1366
+ model.command("providers").description("List model providers from the catalog").option("--json", "Output JSON", false).action(async (opts) => {
1367
+ await runCommandWithRuntime(defaultRuntime, async () => {
1368
+ const result = await buildModelProviders();
1369
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, providerSummaryText);
1370
+ });
1371
+ });
1372
+ const modelAuth = model.command("auth").description("Provider auth helpers");
1373
+ modelAuth.command("login").description("Run provider auth login").requiredOption("--provider <id>", "Provider id").option("--method <id>", "Provider auth method id").action(async (opts) => {
1374
+ await runCommandWithRuntime(defaultRuntime, async () => {
1375
+ const { modelsAuthLoginCommand } = await import("./auth-DeO0v6eY.js");
1376
+ await modelsAuthLoginCommand({
1377
+ provider: String(opts.provider),
1378
+ method: opts.method ? String(opts.method) : void 0
1379
+ }, defaultRuntime);
1380
+ });
1381
+ });
1382
+ modelAuth.command("logout").description("Remove saved auth profiles for one provider").requiredOption("--provider <id>", "Provider id").option("--agent <id>", "Agent id (default: configured default agent)").option("--json", "Output JSON", false).action(async (opts) => {
1383
+ await runCommandWithRuntime(defaultRuntime, async () => {
1384
+ const result = await runModelAuthLogout(String(opts.provider), typeof opts.agent === "string" ? opts.agent : void 0);
1385
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1386
+ });
1387
+ });
1388
+ modelAuth.command("status").description("Show configured auth state").option("--json", "Output JSON", false).action(async (opts) => {
1389
+ await runCommandWithRuntime(defaultRuntime, async () => {
1390
+ const result = await runModelAuthStatus();
1391
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1392
+ });
1393
+ });
1394
+ const image = capability.command("image").description("Image generation and description");
1395
+ image.command("generate").description("Generate images").requiredOption("--prompt <text>", "Prompt text").option("--model <provider/model>", "Model override").option("--count <n>", "Number of images").option("--size <size>", "Size hint like 1024x1024").option("--aspect-ratio <ratio>", "Aspect ratio hint like 16:9").option("--resolution <value>", "Resolution hint: 1K, 2K, or 4K").option("--output-format <format>", "Output format hint: png, jpeg, or webp").option("--background <value>", "Background hint: transparent, opaque, or auto").option("--openai-background <value>", "OpenAI background hint: transparent, opaque, or auto").option("--timeout-ms <ms>", "Provider request timeout in milliseconds").option("--output <path>", "Output path").option("--json", "Output JSON", false).action(async (opts) => {
1396
+ await runCommandWithRuntime(defaultRuntime, async () => {
1397
+ const result = await runImageGenerate({
1398
+ capability: "image.generate",
1399
+ prompt: String(opts.prompt),
1400
+ model: opts.model,
1401
+ count: opts.count ? Number.parseInt(String(opts.count), 10) : void 0,
1402
+ size: opts.size,
1403
+ aspectRatio: opts.aspectRatio,
1404
+ resolution: opts.resolution,
1405
+ outputFormat: normalizeImageOutputFormat(opts.outputFormat),
1406
+ background: normalizeImageBackground(opts.background),
1407
+ openaiBackground: normalizeImageBackground(opts.openaiBackground, "--openai-background"),
1408
+ timeoutMs: parseOptionalFiniteNumber(opts.timeoutMs, "--timeout-ms"),
1409
+ output: opts.output
1410
+ });
1411
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1412
+ });
1413
+ });
1414
+ image.command("edit").description("Edit images with one or more input files").requiredOption("--file <path>", "Input file", collectOption, []).requiredOption("--prompt <text>", "Prompt text").option("--model <provider/model>", "Model override").option("--size <size>", "Size hint like 1024x1024").option("--aspect-ratio <ratio>", "Aspect ratio hint like 16:9").option("--resolution <value>", "Resolution hint: 1K, 2K, or 4K").option("--output-format <format>", "Output format hint: png, jpeg, or webp").option("--background <value>", "Background hint: transparent, opaque, or auto").option("--openai-background <value>", "OpenAI background hint: transparent, opaque, or auto").option("--timeout-ms <ms>", "Provider request timeout in milliseconds").option("--output <path>", "Output path").option("--json", "Output JSON", false).action(async (opts) => {
1415
+ await runCommandWithRuntime(defaultRuntime, async () => {
1416
+ const files = Array.isArray(opts.file) ? opts.file : [String(opts.file)];
1417
+ const result = await runImageGenerate({
1418
+ capability: "image.edit",
1419
+ prompt: String(opts.prompt),
1420
+ model: opts.model,
1421
+ size: opts.size,
1422
+ aspectRatio: opts.aspectRatio,
1423
+ resolution: opts.resolution,
1424
+ file: files,
1425
+ outputFormat: normalizeImageOutputFormat(opts.outputFormat),
1426
+ background: normalizeImageBackground(opts.background),
1427
+ openaiBackground: normalizeImageBackground(opts.openaiBackground, "--openai-background"),
1428
+ timeoutMs: parseOptionalFiniteNumber(opts.timeoutMs, "--timeout-ms"),
1429
+ output: opts.output
1430
+ });
1431
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1432
+ });
1433
+ });
1434
+ image.command("describe").description("Describe one image file").requiredOption("--file <path>", "Image file").option("--prompt <text>", "Prompt hint").option("--model <provider/model>", "Model override").option("--timeout-ms <ms>", "Provider request timeout in milliseconds").option("--json", "Output JSON", false).action(async (opts) => {
1435
+ await runCommandWithRuntime(defaultRuntime, async () => {
1436
+ const result = await runImageDescribe({
1437
+ capability: "image.describe",
1438
+ files: [String(opts.file)],
1439
+ model: opts.model,
1440
+ prompt: opts.prompt,
1441
+ timeoutMs: parseOptionalFiniteNumber(opts.timeoutMs, "--timeout-ms")
1442
+ });
1443
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1444
+ });
1445
+ });
1446
+ image.command("describe-many").description("Describe multiple image files").requiredOption("--file <path>", "Image file", collectOption, []).option("--prompt <text>", "Prompt hint").option("--model <provider/model>", "Model override").option("--timeout-ms <ms>", "Provider request timeout in milliseconds").option("--json", "Output JSON", false).action(async (opts) => {
1447
+ await runCommandWithRuntime(defaultRuntime, async () => {
1448
+ const result = await runImageDescribe({
1449
+ capability: "image.describe-many",
1450
+ files: opts.file,
1451
+ model: opts.model,
1452
+ prompt: opts.prompt,
1453
+ timeoutMs: parseOptionalFiniteNumber(opts.timeoutMs, "--timeout-ms")
1454
+ });
1455
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1456
+ });
1457
+ });
1458
+ image.command("providers").description("List image generation providers").option("--json", "Output JSON", false).action(async (opts) => {
1459
+ await runCommandWithRuntime(defaultRuntime, async () => {
1460
+ const cfg = getRuntimeConfig();
1461
+ const selectedProvider = resolveSelectedProviderFromModelRef(resolveAgentModelPrimaryValue(cfg.agents?.defaults?.imageGenerationModel));
1462
+ const result = listRuntimeImageGenerationProviders({ config: cfg }).map((provider) => ({
1463
+ available: true,
1464
+ configured: selectedProvider === provider.id || providerHasGenericConfig({
1465
+ cfg,
1466
+ providerId: provider.id
1467
+ }),
1468
+ selected: selectedProvider === provider.id,
1469
+ id: provider.id,
1470
+ label: provider.label,
1471
+ defaultModel: provider.defaultModel,
1472
+ models: provider.models ?? [],
1473
+ capabilities: provider.capabilities
1474
+ }));
1475
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, providerSummaryText);
1476
+ });
1477
+ });
1478
+ const audio = capability.command("audio").description("Audio transcription");
1479
+ audio.command("transcribe").description("Transcribe one audio file").requiredOption("--file <path>", "Audio file").option("--language <code>", "Language hint").option("--prompt <text>", "Prompt hint").option("--model <provider/model>", "Model override").option("--json", "Output JSON", false).action(async (opts) => {
1480
+ await runCommandWithRuntime(defaultRuntime, async () => {
1481
+ const result = await runAudioTranscribe({
1482
+ file: String(opts.file),
1483
+ language: opts.language,
1484
+ model: opts.model,
1485
+ prompt: opts.prompt
1486
+ });
1487
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1488
+ });
1489
+ });
1490
+ audio.command("providers").description("List audio transcription providers").option("--json", "Output JSON", false).action(async (opts) => {
1491
+ await runCommandWithRuntime(defaultRuntime, async () => {
1492
+ const cfg = getRuntimeConfig();
1493
+ const providers = [...buildMediaUnderstandingRegistry(void 0, cfg).values()].filter((provider) => provider.capabilities?.includes("audio")).map((provider) => ({
1494
+ available: true,
1495
+ configured: providerHasGenericConfig({
1496
+ cfg,
1497
+ providerId: provider.id,
1498
+ envVars: getProviderEnvVars(provider.id, {
1499
+ config: cfg,
1500
+ includeUntrustedWorkspacePlugins: false
1501
+ })
1502
+ }),
1503
+ selected: false,
1504
+ id: provider.id,
1505
+ capabilities: provider.capabilities,
1506
+ defaultModels: provider.defaultModels
1507
+ }));
1508
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), providers, providerSummaryText);
1509
+ });
1510
+ });
1511
+ const tts = capability.command("tts").description("Text to speech");
1512
+ tts.command("convert").description("Convert text to speech").requiredOption("--text <text>", "Input text").option("--channel <id>", "Channel hint").option("--voice <id>", "Voice hint").option("--model <provider/model>", "Model override").option("--output <path>", "Output path").option("--local", "Force local execution", false).option("--gateway", "Force gateway execution", false).option("--json", "Output JSON", false).action(async (opts) => {
1513
+ await runCommandWithRuntime(defaultRuntime, async () => {
1514
+ const transport = resolveTransport({
1515
+ local: Boolean(opts.local),
1516
+ gateway: Boolean(opts.gateway),
1517
+ supported: ["local", "gateway"],
1518
+ defaultTransport: "local"
1519
+ });
1520
+ const modelRef = resolveModelRefOverride(opts.model);
1521
+ if (opts.model && !modelRef.provider) throw new Error("TTS model overrides must use the form <provider/model>.");
1522
+ const result = await runTtsConvert({
1523
+ text: String(opts.text),
1524
+ channel: opts.channel,
1525
+ provider: modelRef.provider,
1526
+ modelId: modelRef.provider ? modelRef.model : void 0,
1527
+ voiceId: opts.voice,
1528
+ output: opts.output,
1529
+ transport
1530
+ });
1531
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1532
+ });
1533
+ });
1534
+ tts.command("voices").description("List voices for a TTS provider").option("--provider <id>", "Speech provider id").option("--json", "Output JSON", false).action(async (opts) => {
1535
+ await runCommandWithRuntime(defaultRuntime, async () => {
1536
+ const voices = await runTtsVoices(opts.provider);
1537
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), voices, providerSummaryText);
1538
+ });
1539
+ });
1540
+ tts.command("providers").description("List speech providers").option("--local", "Force local execution", false).option("--gateway", "Force gateway execution", false).option("--json", "Output JSON", false).action(async (opts) => {
1541
+ await runCommandWithRuntime(defaultRuntime, async () => {
1542
+ const result = await runTtsProviders(resolveTransport({
1543
+ local: Boolean(opts.local),
1544
+ gateway: Boolean(opts.gateway),
1545
+ supported: ["local", "gateway"],
1546
+ defaultTransport: "local"
1547
+ }));
1548
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1549
+ });
1550
+ });
1551
+ tts.command("personas").description("List TTS personas").option("--local", "Force local execution", false).option("--gateway", "Force gateway execution", false).option("--json", "Output JSON", false).action(async (opts) => {
1552
+ await runCommandWithRuntime(defaultRuntime, async () => {
1553
+ const result = await runTtsPersonas(resolveTransport({
1554
+ local: Boolean(opts.local),
1555
+ gateway: Boolean(opts.gateway),
1556
+ supported: ["local", "gateway"],
1557
+ defaultTransport: "local"
1558
+ }));
1559
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1560
+ });
1561
+ });
1562
+ tts.command("status").description("Show TTS status").option("--gateway", "Force gateway execution", false).option("--json", "Output JSON", false).action(async (opts) => {
1563
+ await runCommandWithRuntime(defaultRuntime, async () => {
1564
+ const transport = resolveTransport({
1565
+ gateway: Boolean(opts.gateway),
1566
+ supported: ["gateway"],
1567
+ defaultTransport: "gateway"
1568
+ });
1569
+ const result = await callGateway({
1570
+ method: "tts.status",
1571
+ timeoutMs: 3e4
1572
+ });
1573
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), {
1574
+ transport,
1575
+ ...result
1576
+ }, (value) => JSON.stringify(value, null, 2));
1577
+ });
1578
+ });
1579
+ for (const [commandName, capabilityId] of [["enable", "tts.enable"], ["disable", "tts.disable"]]) tts.command(commandName).description(`${commandName === "enable" ? "Enable" : "Disable"} TTS`).option("--local", "Force local execution", false).option("--gateway", "Force gateway execution", false).option("--json", "Output JSON", false).action(async (opts) => {
1580
+ await runCommandWithRuntime(defaultRuntime, async () => {
1581
+ const result = await runTtsStateMutation({
1582
+ capability: capabilityId,
1583
+ transport: resolveTransport({
1584
+ local: Boolean(opts.local),
1585
+ gateway: Boolean(opts.gateway),
1586
+ supported: ["local", "gateway"],
1587
+ defaultTransport: "gateway"
1588
+ })
1589
+ });
1590
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1591
+ });
1592
+ });
1593
+ tts.command("set-provider").description("Set the active TTS provider").requiredOption("--provider <id>", "Speech provider id").option("--local", "Force local execution", false).option("--gateway", "Force gateway execution", false).option("--json", "Output JSON", false).action(async (opts) => {
1594
+ await runCommandWithRuntime(defaultRuntime, async () => {
1595
+ const transport = resolveTransport({
1596
+ local: Boolean(opts.local),
1597
+ gateway: Boolean(opts.gateway),
1598
+ supported: ["local", "gateway"],
1599
+ defaultTransport: "gateway"
1600
+ });
1601
+ const result = await runTtsStateMutation({
1602
+ capability: "tts.set-provider",
1603
+ provider: String(opts.provider),
1604
+ transport
1605
+ });
1606
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1607
+ });
1608
+ });
1609
+ tts.command("set-persona").description("Set the active TTS persona").option("--persona <id>", "TTS persona id").option("--off", "Disable the active TTS persona", false).option("--local", "Force local execution", false).option("--gateway", "Force gateway execution", false).option("--json", "Output JSON", false).action(async (opts) => {
1610
+ await runCommandWithRuntime(defaultRuntime, async () => {
1611
+ const transport = resolveTransport({
1612
+ local: Boolean(opts.local),
1613
+ gateway: Boolean(opts.gateway),
1614
+ supported: ["local", "gateway"],
1615
+ defaultTransport: "gateway"
1616
+ });
1617
+ if (!opts.off && !opts.persona) throw new Error("--persona is required unless --off is set");
1618
+ const result = await runTtsStateMutation({
1619
+ capability: "tts.set-persona",
1620
+ persona: opts.off ? null : String(opts.persona),
1621
+ transport
1622
+ });
1623
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1624
+ });
1625
+ });
1626
+ const video = capability.command("video").description("Video generation and description");
1627
+ video.command("generate").description("Generate video").requiredOption("--prompt <text>", "Prompt text").option("--model <provider/model>", "Model override").option("--size <size>", "Size hint like 1280x720").option("--aspect-ratio <ratio>", "Aspect ratio hint like 16:9").option("--resolution <value>", "Resolution hint: 480P, 720P, 768P, or 1080P").option("--duration <seconds>", "Target duration in seconds").option("--audio", "Enable generated audio when supported").option("--watermark", "Request provider watermark when supported").option("--timeout-ms <ms>", "Provider request timeout in milliseconds").option("--output <path>", "Output path").option("--json", "Output JSON", false).action(async (opts) => {
1628
+ await runCommandWithRuntime(defaultRuntime, async () => {
1629
+ const result = await runVideoGenerate({
1630
+ prompt: String(opts.prompt),
1631
+ model: opts.model,
1632
+ output: opts.output,
1633
+ size: opts.size,
1634
+ aspectRatio: opts.aspectRatio,
1635
+ resolution: normalizeVideoResolution(opts.resolution),
1636
+ durationSeconds: parseOptionalFiniteNumber(opts.duration, "--duration"),
1637
+ audio: opts.audio === true ? true : void 0,
1638
+ watermark: opts.watermark === true ? true : void 0,
1639
+ timeoutMs: parseOptionalFiniteNumber(opts.timeoutMs, "--timeout-ms")
1640
+ });
1641
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1642
+ });
1643
+ });
1644
+ video.command("describe").description("Describe one video file").requiredOption("--file <path>", "Video file").option("--model <provider/model>", "Model override").option("--json", "Output JSON", false).action(async (opts) => {
1645
+ await runCommandWithRuntime(defaultRuntime, async () => {
1646
+ const result = await runVideoDescribe({
1647
+ file: String(opts.file),
1648
+ model: opts.model
1649
+ });
1650
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1651
+ });
1652
+ });
1653
+ video.command("providers").description("List video generation and description providers").option("--json", "Output JSON", false).action(async (opts) => {
1654
+ await runCommandWithRuntime(defaultRuntime, async () => {
1655
+ const cfg = getRuntimeConfig();
1656
+ const selectedGenerationProvider = resolveSelectedProviderFromModelRef(resolveAgentModelPrimaryValue(cfg.agents?.defaults?.videoGenerationModel));
1657
+ const result = {
1658
+ generation: listRuntimeVideoGenerationProviders({ config: cfg }).map((provider) => ({
1659
+ available: true,
1660
+ configured: selectedGenerationProvider === provider.id || providerHasGenericConfig({
1661
+ cfg,
1662
+ providerId: provider.id
1663
+ }),
1664
+ selected: selectedGenerationProvider === provider.id,
1665
+ id: provider.id,
1666
+ label: provider.label,
1667
+ defaultModel: provider.defaultModel,
1668
+ models: provider.models ?? [],
1669
+ capabilities: provider.capabilities
1670
+ })),
1671
+ description: [...buildMediaUnderstandingRegistry(void 0, cfg).values()].filter((provider) => provider.capabilities?.includes("video")).map((provider) => ({
1672
+ available: true,
1673
+ configured: providerHasGenericConfig({
1674
+ cfg,
1675
+ providerId: provider.id
1676
+ }),
1677
+ selected: false,
1678
+ id: provider.id,
1679
+ capabilities: provider.capabilities,
1680
+ defaultModels: provider.defaultModels
1681
+ }))
1682
+ };
1683
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1684
+ });
1685
+ });
1686
+ const web = capability.command("web").description("Web capabilities");
1687
+ web.command("search").description("Run web search").requiredOption("--query <text>", "Search query").option("--provider <id>", "Provider id").option("--limit <n>", "Result limit").option("--json", "Output JSON", false).action(async (opts) => {
1688
+ await runCommandWithRuntime(defaultRuntime, async () => {
1689
+ const result = await runWebSearchCommand({
1690
+ query: String(opts.query),
1691
+ provider: opts.provider,
1692
+ limit: opts.limit ? Number.parseInt(String(opts.limit), 10) : void 0
1693
+ });
1694
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1695
+ });
1696
+ });
1697
+ web.command("fetch").description("Fetch one URL").requiredOption("--url <url>", "URL").option("--provider <id>", "Provider id").option("--format <format>", "Format hint").option("--json", "Output JSON", false).action(async (opts) => {
1698
+ await runCommandWithRuntime(defaultRuntime, async () => {
1699
+ const result = await runWebFetchCommand({
1700
+ url: String(opts.url),
1701
+ provider: opts.provider,
1702
+ format: opts.format
1703
+ });
1704
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1705
+ });
1706
+ });
1707
+ web.command("providers").description("List web providers").option("--json", "Output JSON", false).action(async (opts) => {
1708
+ await runCommandWithRuntime(defaultRuntime, async () => {
1709
+ const cfg = getRuntimeConfig();
1710
+ const selectedSearchProvider = typeof cfg.tools?.web?.search?.provider === "string" ? normalizeLowercaseStringOrEmpty(cfg.tools.web.search.provider) : "";
1711
+ const selectedFetchProvider = typeof cfg.tools?.web?.fetch?.provider === "string" ? normalizeLowercaseStringOrEmpty(cfg.tools.web.fetch.provider) : "";
1712
+ const result = {
1713
+ search: listWebSearchProviders({ config: cfg }).map((provider) => ({
1714
+ available: true,
1715
+ configured: isWebSearchProviderConfigured({
1716
+ provider,
1717
+ config: cfg
1718
+ }),
1719
+ selected: provider.id === selectedSearchProvider,
1720
+ id: provider.id,
1721
+ envVars: provider.envVars
1722
+ })),
1723
+ fetch: listWebFetchProviders({ config: cfg }).map((provider) => ({
1724
+ available: true,
1725
+ configured: isWebFetchProviderConfigured({
1726
+ provider,
1727
+ config: cfg
1728
+ }),
1729
+ selected: provider.id === selectedFetchProvider,
1730
+ id: provider.id,
1731
+ envVars: provider.envVars
1732
+ }))
1733
+ };
1734
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1735
+ });
1736
+ });
1737
+ const embedding = capability.command("embedding").description("Embedding providers");
1738
+ embedding.command("create").description("Create embeddings").requiredOption("--text <text>", "Input text", collectOption, []).option("--provider <id>", "Provider id").option("--model <provider/model>", "Model override").option("--json", "Output JSON", false).action(async (opts) => {
1739
+ await runCommandWithRuntime(defaultRuntime, async () => {
1740
+ const result = await runMemoryEmbeddingCreate({
1741
+ texts: opts.text,
1742
+ provider: opts.provider,
1743
+ model: opts.model
1744
+ });
1745
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1746
+ });
1747
+ });
1748
+ embedding.command("providers").description("List embedding providers").option("--json", "Output JSON", false).action(async (opts) => {
1749
+ await runCommandWithRuntime(defaultRuntime, async () => {
1750
+ ensureMemoryEmbeddingProvidersRegistered();
1751
+ const cfg = getRuntimeConfig();
1752
+ const agentId = resolveDefaultAgentId(cfg);
1753
+ const resolvedMemory = resolveMemorySearchConfig(cfg, agentId);
1754
+ const selectedProvider = resolvedMemory?.provider && resolvedMemory.provider !== "auto" ? resolvedMemory.provider : void 0;
1755
+ const autoSelectedProvider = resolvedMemory?.provider === "auto" ? (await createEmbeddingProvider({
1756
+ config: cfg,
1757
+ agentDir: resolveAgentDir(cfg, agentId),
1758
+ provider: "auto",
1759
+ fallback: "none",
1760
+ model: resolvedMemory.model,
1761
+ local: resolvedMemory.local,
1762
+ remote: resolvedMemory.remote,
1763
+ outputDimensionality: resolvedMemory.outputDimensionality
1764
+ }).catch(() => ({ provider: null })))?.provider?.id : void 0;
1765
+ const result = listMemoryEmbeddingProviders().map((provider) => ({
1766
+ available: true,
1767
+ configured: provider.id === selectedProvider || provider.id === autoSelectedProvider || providerHasGenericConfig({
1768
+ cfg,
1769
+ providerId: provider.id
1770
+ }),
1771
+ selected: provider.id === selectedProvider || provider.id === autoSelectedProvider,
1772
+ id: provider.id,
1773
+ defaultModel: provider.defaultModel,
1774
+ transport: provider.transport,
1775
+ autoSelectPriority: provider.autoSelectPriority
1776
+ }));
1777
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, providerSummaryText);
1778
+ });
1779
+ });
1780
+ }
1781
+ //#endregion
1782
+ export { registerCapabilityCli };