@pixelzx/genesis 2026.6.13-beta.3 → 2026.6.13

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 (1009) hide show
  1. package/dist/.buildstamp +1 -1
  2. package/dist/abort-CUEXCdsZ.js +201 -0
  3. package/dist/abort.runtime-pbOgDldP.js +2 -0
  4. package/dist/abort.runtime.js +1 -1
  5. package/dist/accounts-BtjI3Z72.js +2 -0
  6. package/dist/accounts-CgGxrOwS.js +107 -0
  7. package/dist/accounts-Ddm5_DS5.js +104 -0
  8. package/dist/acp-cli-Llxb5ymk.js +2217 -0
  9. package/dist/acp-spawn-BTb-KXxB.js +1093 -0
  10. package/dist/acp-spawn-DHriTNXb.js +2 -0
  11. package/dist/acp-stateful-target-driver-DBVhWBrt.js +89 -0
  12. package/dist/action-agents-CGlVq0bn.js +67 -0
  13. package/dist/action-focus-X9cJX3UC.js +132 -0
  14. package/dist/action-help-D1M6mIWb.js +7 -0
  15. package/dist/action-info-fCoEt-Rn.js +101 -0
  16. package/dist/action-kill-DP4EEnxt.js +33 -0
  17. package/dist/action-list-CcjpvN9N.js +21 -0
  18. package/dist/action-log-YUvfBfxP.js +30 -0
  19. package/dist/action-send-B92BNjlE.js +39 -0
  20. package/dist/action-spawn-CTVbxHB8.js +47 -0
  21. package/dist/action-unfocus-CCvrRtpz.js +29 -0
  22. package/dist/actions.runtime-CoSzf-df.js +5 -0
  23. package/dist/actions.runtime-DcqD6Le-.js +18 -0
  24. package/dist/actions.runtime.js +1 -1
  25. package/dist/agent-CQEBS9pS.js +2 -0
  26. package/dist/agent-command-KS0kk4R_.js +874 -0
  27. package/dist/agent-harness-runtime-DpgQTWHS.js +144 -0
  28. package/dist/agent-runner-utils-Bfjw1bSj.js +239 -0
  29. package/dist/agent-runner.runtime-BmWGZi8Z.js +3455 -0
  30. package/dist/agent-runner.runtime.js +1 -1
  31. package/dist/agent-runtime-Cju2h7Dd.js +18 -0
  32. package/dist/agents-6HPmn29e.js +5 -0
  33. package/dist/agents-ZkvxBcii.js +954 -0
  34. package/dist/aliases-BpgQEAi2.js +2 -0
  35. package/dist/aliases-CK0aIskI.js +96 -0
  36. package/dist/api-BxjlJBf7.js +3 -0
  37. package/dist/api-CalF94xg.js +5 -0
  38. package/dist/api-D_GKjzfN.js +139 -0
  39. package/dist/approval-gateway-resolver-Dxycea4Z.js +29 -0
  40. package/dist/approval-gateway-runtime-D3X-ZiqD.js +2 -0
  41. package/dist/approval-handler-runtime-CRqE_cXp.js +439 -0
  42. package/dist/approval-native-runtime-zR041zyJ.js +729 -0
  43. package/dist/attempt-execution.runtime-1Wa08yf1.js +509 -0
  44. package/dist/attempt-execution.runtime.js +1 -1
  45. package/dist/attempt.prompt-helpers-z-6VGwRW.js +221 -0
  46. package/dist/attempt.tool-run-context-C70C_cPM.js +933 -0
  47. package/dist/audit-DfIX2KwE.js +939 -0
  48. package/dist/audit.runtime-BNH37U5T.js +7 -0
  49. package/dist/audit.runtime.js +1 -1
  50. package/dist/auth-DkcLHjkF.js +2 -0
  51. package/dist/auth-order-B9P_KybB.js +2 -0
  52. package/dist/auth-order-ozs0zLmu.js +139 -0
  53. package/dist/auth-vKHIBjC8.js +550 -0
  54. package/dist/bash-tools-CLGCvCUP.js +2824 -0
  55. package/dist/bash-tools-CaBEBURe.js +3 -0
  56. package/dist/binding-routing-D4HA2ved.js +85 -0
  57. package/dist/binding-targets-DA9ecVsr.js +121 -0
  58. package/dist/bridge-server-gnPeACBa.js +113 -0
  59. package/dist/browser-control-auth-CM8pNt8J.js +2 -0
  60. package/dist/browser-node-runtime-C-mstNpu.js +12 -0
  61. package/dist/browser-profiles-Dg-k95aL.js +2 -0
  62. package/dist/browser-runtime-DirlsYmK.js +387 -0
  63. package/dist/browser-setup-tools-BXWUuJ6m.js +13 -0
  64. package/dist/build-CijTB8Fi.js +550 -0
  65. package/dist/build-info.json +3 -3
  66. package/dist/bundled/boot-md/handler.js +2 -2
  67. package/dist/bundled/session-memory/handler.js +1 -1
  68. package/dist/call-85RWmQAH.js +3 -0
  69. package/dist/call-CL7Keh1p.js +331 -0
  70. package/dist/call.runtime-xbzyWzEi.js +2 -0
  71. package/dist/call.runtime.js +1 -1
  72. package/dist/capability-cli-DLY0EugY.js +1401 -0
  73. package/dist/catchup-pqyBQ6UZ.js +300 -0
  74. package/dist/channel-B-_yLOuX.js +1320 -0
  75. package/dist/channel-BMRnqh3W.js +840 -0
  76. package/dist/channel-BrrfXNkf.js +297 -0
  77. package/dist/channel-C1VXF6vY.js +595 -0
  78. package/dist/channel-C6MisWnA.js +350 -0
  79. package/dist/channel-C7Y0GD7W.js +1100 -0
  80. package/dist/channel-C9Kr__RL.js +226 -0
  81. package/dist/channel-CJFK3uRJ.js +1802 -0
  82. package/dist/channel-Crm7UunT.js +453 -0
  83. package/dist/channel-M5ZFW6rv.js +491 -0
  84. package/dist/channel-VL7FJNyb.js +1174 -0
  85. package/dist/channel-core-DB2nzAkT.js +5 -0
  86. package/dist/channel-inbound-CATPKMen.js +31 -0
  87. package/dist/channel-plugin-runtime-DhEHiW41.js +771 -0
  88. package/dist/channel-runtime-CE1xTvWZ.js +425 -0
  89. package/dist/channel.runtime-3APLcE-1.js +42398 -0
  90. package/dist/channel.runtime-B8slMR61.js +89 -0
  91. package/dist/channel.runtime-BKjTINZH.js +4 -0
  92. package/dist/channel.runtime-DHfGxcjG.js +2364 -0
  93. package/dist/channel.runtime-DVnkA8AL.js +576 -0
  94. package/dist/channel.runtime-DaFfPWdI.js +430 -0
  95. package/dist/channel.setup-C3Ag76tq.js +10 -0
  96. package/dist/channel2.runtime-DUB2QEK1.js +109 -0
  97. package/dist/channel2.runtime.js +1 -1
  98. package/dist/channels-CBvXY2t_.js +733 -0
  99. package/dist/channels-cli-CkoeG5y5.js +268 -0
  100. package/dist/chat-DbvGOpf-.js +2830 -0
  101. package/dist/clawbot-cli-CLuaKcyW.js +9 -0
  102. package/dist/cli/daemon-cli.js +3 -3
  103. package/dist/cli-B5Ub8Cgn.js +2 -0
  104. package/dist/cli-BDH4ZbeI.js +2 -0
  105. package/dist/cli-CWOy2CsV.js +219 -0
  106. package/dist/cli-DyG2YLBa.js +72 -0
  107. package/dist/cli-runner-D8mL6FWu.js +286 -0
  108. package/dist/cli-runner.runtime-BCrZn2CL.js +4 -0
  109. package/dist/cli-runner.runtime-ChQ6WYTw.js +3 -0
  110. package/dist/cli-runner.runtime.js +1 -1
  111. package/dist/cli-startup-metadata.json +2 -2
  112. package/dist/cli.runtime-c5SW-DVR.js +1261 -0
  113. package/dist/cli.runtime.js +1 -1
  114. package/dist/client-BdWZGAKV.js +713 -0
  115. package/dist/client-G9bp9IBR.js +138 -0
  116. package/dist/command-auth-C6emi1Rr.js +76 -0
  117. package/dist/command-config-resolution-CY8Uap6U.js +2 -0
  118. package/dist/command-config-resolution-Dkkd_zz7.js +23 -0
  119. package/dist/command-config-resolution.runtime-B03wRV-i.js +2 -0
  120. package/dist/command-config-resolution.runtime.js +1 -1
  121. package/dist/command-registry-BdXEbnVK.js +9 -0
  122. package/dist/command-registry-BwJ8YzAH.js +4 -0
  123. package/dist/command-registry-core-X1IeFtlC.js +106 -0
  124. package/dist/command-secret-gateway-BxGIG8ny.js +528 -0
  125. package/dist/command-status.runtime-5QfAs_4U.js +87 -0
  126. package/dist/command-status.runtime.js +1 -1
  127. package/dist/commands-acp-15kfWcgC.js +77 -0
  128. package/dist/commands-compact.runtime-GdDN_EbV.js +10 -0
  129. package/dist/commands-compact.runtime.js +1 -1
  130. package/dist/commands-handlers.runtime-Cb8uy-yp.js +4599 -0
  131. package/dist/commands-handlers.runtime.js +1 -1
  132. package/dist/commands-status-BfvtgMfw.js +16 -0
  133. package/dist/commands-status.runtime-C4UOWuC1.js +3 -0
  134. package/dist/commands-status.runtime.js +1 -1
  135. package/dist/commands-subagents-control.runtime-CU9SGNdt.js +3 -0
  136. package/dist/commands-subagents-control.runtime-DnTa6bzF.js +2 -0
  137. package/dist/commands-subagents-control.runtime.js +1 -1
  138. package/dist/commands-system-prompt-B1VTjT7j.js +2 -0
  139. package/dist/commands-system-prompt-BpBKEr8Y.js +158 -0
  140. package/dist/commands.runtime-Dpj2M0X6.js +167 -0
  141. package/dist/commands.runtime.js +1 -1
  142. package/dist/compact-CW1IbeBL.js +1118 -0
  143. package/dist/compact.runtime-BML0MjKx.js +12 -0
  144. package/dist/compact.runtime.js +1 -1
  145. package/dist/completion-cli-DfjmvVEd.js +328 -0
  146. package/dist/config-Cs1RBMvI.js +252 -0
  147. package/dist/config-cli-B4sSTkyr.js +1078 -0
  148. package/dist/configure-DR8rchLE.js +1252 -0
  149. package/dist/configure-arK50J-8.js +2 -0
  150. package/dist/connect-options-eEG6omnx.js +699 -0
  151. package/dist/control-auth-D6O4ILiF.js +125 -0
  152. package/dist/control-service-DtnOpS8v.js +156 -0
  153. package/dist/conversation-id-CF4M7Rh_.js +38 -0
  154. package/dist/conversation-id-lrCRurjf.js +235 -0
  155. package/dist/conversation-runtime-CmrgJq5s.js +31 -0
  156. package/dist/core-cFPca6I1.js +275 -0
  157. package/dist/cron-cli-BZw_Pb_X.js +713 -0
  158. package/dist/daemon-cli-CBs3tlnX.js +12 -0
  159. package/dist/dashboard-DOnBYDVr.js +2 -0
  160. package/dist/dashboard-Xsq0BOfY.js +81 -0
  161. package/dist/delegate-YTxameSy.js +64 -0
  162. package/dist/detached-task-runtime-DG_5Cqxs.js +73 -0
  163. package/dist/devices-cli-DkhwpYb8.js +498 -0
  164. package/dist/diagnostics-C_w66y4V.js +154 -0
  165. package/dist/direct-dm-DIod6mar.js +64 -0
  166. package/dist/dispatch-BDQe80zG.js +1131 -0
  167. package/dist/dispatch-acp-jOkMwRPa.js +981 -0
  168. package/dist/dispatch-acp-manager.runtime-Cys6AkDd.js +3 -0
  169. package/dist/dispatch-acp-manager.runtime.js +1 -1
  170. package/dist/dispatch-acp.runtime-BCFY7UOj.js +19 -0
  171. package/dist/dispatch-acp.runtime.js +1 -1
  172. package/dist/doctor-device-pairing-CpGyVqbv.js +307 -0
  173. package/dist/doctor-gateway-daemon-flow-Dt447a03.js +250 -0
  174. package/dist/doctor-gateway-health-BOgr3ZTP.js +63 -0
  175. package/dist/doctor-health-CM9WRrKn.js +59 -0
  176. package/dist/doctor-health-contributions-Dp96BnoL.js +493 -0
  177. package/dist/doctor-prompter-DSrAf0qq.js +56 -0
  178. package/dist/doctor-workspace-status-BcV9YZTP.js +75 -0
  179. package/dist/dreaming-DzWUr8i3.js +1582 -0
  180. package/dist/dreaming-narrative-BFfAvouy.js +596 -0
  181. package/dist/embedded-gateway-stub.runtime-BwG8b1xF.js +9 -0
  182. package/dist/embedded-gateway-stub.runtime.js +1 -1
  183. package/dist/entry.js +2 -2
  184. package/dist/exec-approvals-cli-WT6PMw5I.js +498 -0
  185. package/dist/extensionAPI.js +1 -1
  186. package/dist/extensions/active-memory/index.js +1 -1
  187. package/dist/extensions/bluebubbles/api.js +3 -3
  188. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  189. package/dist/extensions/browser/browser-bridge.js +1 -1
  190. package/dist/extensions/browser/browser-config.js +4 -4
  191. package/dist/extensions/browser/browser-control-auth.js +2 -2
  192. package/dist/extensions/browser/browser-doctor.js +2 -2
  193. package/dist/extensions/browser/browser-maintenance.js +2 -2
  194. package/dist/extensions/browser/browser-profiles.js +2 -2
  195. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  196. package/dist/extensions/browser/index.js +1 -1
  197. package/dist/extensions/browser/plugin-registration.js +1 -1
  198. package/dist/extensions/browser/register.runtime.js +3 -3
  199. package/dist/extensions/browser/runtime-api.js +11 -11
  200. package/dist/extensions/browser/test-support.js +1 -1
  201. package/dist/extensions/device-pair/api.js +1 -1
  202. package/dist/extensions/device-pair/index.js +3 -3
  203. package/dist/extensions/device-pair/notify.js +1 -1
  204. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  205. package/dist/extensions/google-meet/index.js +2 -2
  206. package/dist/extensions/imessage/api.js +3 -3
  207. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  208. package/dist/extensions/imessage/runtime-api.js +3 -3
  209. package/dist/extensions/irc/api.js +2 -2
  210. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  211. package/dist/extensions/line/api.js +2 -2
  212. package/dist/extensions/line/channel-plugin-api.js +1 -1
  213. package/dist/extensions/line/contract-api.js +1 -1
  214. package/dist/extensions/line/runtime-api.js +4 -4
  215. package/dist/extensions/line/setup-api.js +1 -1
  216. package/dist/extensions/llm-task/index.js +2 -2
  217. package/dist/extensions/lobster/index.js +3 -3
  218. package/dist/extensions/lobster/runtime-api.js +1 -1
  219. package/dist/extensions/mattermost/api.js +1 -1
  220. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  221. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  222. package/dist/extensions/mattermost/policy-api.js +1 -1
  223. package/dist/extensions/mattermost/runtime-api.js +4 -4
  224. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  225. package/dist/extensions/memory-core/api.js +1 -1
  226. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  227. package/dist/extensions/memory-core/index.js +3 -3
  228. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  229. package/dist/extensions/msteams/api.js +1 -1
  230. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  231. package/dist/extensions/msteams/runtime-api.js +3 -3
  232. package/dist/extensions/msteams/test-api.js +1 -1
  233. package/dist/extensions/nextcloud-talk/api.js +1 -1
  234. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  235. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  236. package/dist/extensions/openshell/index.js +2 -2
  237. package/dist/extensions/signal/api.js +6 -6
  238. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  239. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  240. package/dist/extensions/signal/runtime-api.js +7 -7
  241. package/dist/extensions/skill-workshop/api.js +1 -1
  242. package/dist/extensions/skill-workshop/index.js +1 -1
  243. package/dist/extensions/synology-chat/api.js +1 -1
  244. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  245. package/dist/extensions/tlon/api.js +2 -2
  246. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  247. package/dist/extensions/tlon/runtime-api.js +1 -1
  248. package/dist/extensions/tlon/test-api.js +1 -1
  249. package/dist/extensions/twitch/api.js +1 -1
  250. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  251. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  252. package/dist/extensions/zalo/api.js +3 -3
  253. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  254. package/dist/extensions/zalo/runtime-api.js +2 -2
  255. package/dist/extensions/zalo/setup-api.js +2 -2
  256. package/dist/extensions/zalouser/api.js +3 -3
  257. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  258. package/dist/extensions/zalouser/runtime-api.js +6 -6
  259. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  260. package/dist/extensions/zalouser/test-api.js +1 -1
  261. package/dist/fallbacks-BVWn3y-0.js +31 -0
  262. package/dist/fallbacks-Dw_bkoWB.js +2 -0
  263. package/dist/fallbacks-shared-BEsBzsm3.js +111 -0
  264. package/dist/gateway-cli-BUxyZoGn.js +1283 -0
  265. package/dist/gateway-p2LteXL8.js +115 -0
  266. package/dist/gateway-rpc-D8q7ZQDi.js +14 -0
  267. package/dist/gateway-rpc.runtime-D_0TNej1.js +23 -0
  268. package/dist/gateway-rpc.runtime.js +1 -1
  269. package/dist/gateway-runtime-DYUdOqYz.js +15 -0
  270. package/dist/gateway-status-ZBWKhThd.js +584 -0
  271. package/dist/genesis-tools-oUxtX0O2.js +9166 -0
  272. package/dist/genesis-tools.runtime-Cx-FIdJQ.js +2 -0
  273. package/dist/genesis-tools.runtime.js +1 -1
  274. package/dist/get-reply-BPIG7KcY.js +3897 -0
  275. package/dist/get-reply-from-config.runtime-CnHudoiv.js +2 -0
  276. package/dist/get-reply-from-config.runtime.js +1 -1
  277. package/dist/graph-users-DwHoVTRw.js +1337 -0
  278. package/dist/health-B2JkLr-g.js +3 -0
  279. package/dist/health-Db30zfNX.js +469 -0
  280. package/dist/health-route--Oa3RIgW.js +2 -0
  281. package/dist/health-route-CUCmtqv5.js +41 -0
  282. package/dist/heartbeat-runner-BZp7aZ2w.js +5 -0
  283. package/dist/heartbeat-runner-C1VMkjRh.js +1292 -0
  284. package/dist/heartbeat-runner.runtime-ChAITmTa.js +4 -0
  285. package/dist/heartbeat-runner.runtime.js +1 -1
  286. package/dist/hooks-cli-NPBiUXrV.js +433 -0
  287. package/dist/image-fallbacks-CgnkUGl-.js +31 -0
  288. package/dist/image-fallbacks-CkcfrgGr.js +2 -0
  289. package/dist/inbound-reply-dispatch-DatqwKdH.js +73 -0
  290. package/dist/index.js +2 -2
  291. package/dist/infra-runtime-DF5DBM7E.js +39 -0
  292. package/dist/init-H9ZKfvws.js +59 -0
  293. package/dist/library-B7YkN7SI.js +45 -0
  294. package/dist/lifecycle-BclPLGGp.js +229 -0
  295. package/dist/lifecycle-C_3bV3nu.js +571 -0
  296. package/dist/lifecycle.runtime-WNsFm3uq.js +2 -0
  297. package/dist/lifecycle.runtime.js +1 -1
  298. package/dist/list-C4LkHj9E.js +2 -0
  299. package/dist/list-Co85YbCS.js +2 -0
  300. package/dist/list-D8pfqTNx.js +131 -0
  301. package/dist/list-oJMN_3OD.js +1212 -0
  302. package/dist/list.probe-DZjGof7G.js +419 -0
  303. package/dist/llm-slug-generator-knfnn0mT.js +79 -0
  304. package/dist/llm-slug-generator.js +1 -1
  305. package/dist/load-config-BPbDzvCY.js +35 -0
  306. package/dist/local-dispatch.runtime-BtylNF8x.js +8 -0
  307. package/dist/local-dispatch.runtime.js +1 -1
  308. package/dist/logs-cli-BWGb1in_.js +265 -0
  309. package/dist/logs-cli.runtime-DBp3UCcP.js +2 -0
  310. package/dist/logs-cli.runtime.js +1 -1
  311. package/dist/main-session-restart-recovery-BJt-saEI.js +206 -0
  312. package/dist/managed-image-attachments-BuO0SCpc.js +635 -0
  313. package/dist/managed-image-attachments-C4QYz3yC.js +2 -0
  314. package/dist/manager-C0c4DxXa.js +2 -0
  315. package/dist/manager-DmLckyN1.js +2057 -0
  316. package/dist/markdown-to-line-BVs9RDRe.js +790 -0
  317. package/dist/mcp/plugin-tools-serve.js +1 -1
  318. package/dist/mcp-cli-Cq3kJYFy.js +725 -0
  319. package/dist/mcp-http-C8sBBMH1.js +529 -0
  320. package/dist/memory-core-host-runtime-cli-DYW7bPF_.js +9 -0
  321. package/dist/message-Bec0oyM4.js +232 -0
  322. package/dist/message-action-runner-BIvqB_FI.js +2 -0
  323. package/dist/message-action-runner-D66_Fo-V.js +1407 -0
  324. package/dist/message-actions-BJs-Awr8.js +143 -0
  325. package/dist/message.gateway.runtime-BxKiFLPu.js +2 -0
  326. package/dist/message.gateway.runtime.js +1 -1
  327. package/dist/models-auth-status-BKHvtTwP.js +217 -0
  328. package/dist/models-cli-CoqcvJz5.js +271 -0
  329. package/dist/monitor-BO_gZrgs.js +1459 -0
  330. package/dist/monitor-C_4tbG4E.js +671 -0
  331. package/dist/monitor-DVTKLiFb.js +2 -0
  332. package/dist/monitor-P35vmooh.js +1237 -0
  333. package/dist/monitor-auth-DkTEAzy7.js +207 -0
  334. package/dist/monitor-gaiYvZ-I.js +788 -0
  335. package/dist/monitor-processing-BpjusT5o.js +1974 -0
  336. package/dist/monitor-uCqIYno8.js +1661 -0
  337. package/dist/monitor.runtime-CbMSQBgz.js +2 -0
  338. package/dist/monitor.runtime.js +1 -1
  339. package/dist/monitor.webhook-z4zhNHYy.js +180 -0
  340. package/dist/msteams-ChjqyPxy.js +35 -0
  341. package/dist/native-hook-relay-hOpMhOTR.js +519 -0
  342. package/dist/nextcloud-talk-BfJltkau.js +17 -0
  343. package/dist/node-cli-NXEXoWYg.js +2276 -0
  344. package/dist/nodes-cli-Dlq3ORXy.js +1046 -0
  345. package/dist/nodes-utils-o8KC_0Ci.js +84 -0
  346. package/dist/nodes.helpers-B2jPrnEd.js +34 -0
  347. package/dist/notify-VSv6I2dB.js +315 -0
  348. package/dist/onboard-I72X1v1y.js +70 -0
  349. package/dist/onboard-WRT3rbQo.js +2 -0
  350. package/dist/onboard-helpers-BnbqaUN2.js +6 -0
  351. package/dist/onboard-helpers-Kt5u4yMJ.js +204 -0
  352. package/dist/onboard-interactive-CIhTNhiD.js +24 -0
  353. package/dist/onboard-non-interactive-Hk6vLQCB.js +635 -0
  354. package/dist/onboard-remote-CQo_tQNa.js +193 -0
  355. package/dist/onboard-remote-DyRv7tdE.js +2 -0
  356. package/dist/onboard-skills-BRv5-6Ke.js +2 -0
  357. package/dist/onboard-skills-CeXPYTFg.js +134 -0
  358. package/dist/openai-http-kgzRj9Fg.js +500 -0
  359. package/dist/openresponses-http-DnJSiUa4.js +1128 -0
  360. package/dist/operator-approvals-client-B8dLxxFu.js +68 -0
  361. package/dist/outbound.runtime-CDrYtbmY.js +2 -0
  362. package/dist/outbound.runtime.js +1 -1
  363. package/dist/pair-command-approve-CFU4_I15.js +44 -0
  364. package/dist/persistent-bindings.lifecycle-5_yxfyfG.js +85 -0
  365. package/dist/persistent-bindings.lifecycle-DtFnl1yI.js +2 -0
  366. package/dist/pi-embedded-DPKqHoG9.js +2905 -0
  367. package/dist/pi-embedded-YM1PXjPH.js +4 -0
  368. package/dist/pi-embedded.runtime-FRv5dWIr.js +4 -0
  369. package/dist/pi-embedded.runtime.js +1 -1
  370. package/dist/pi-tool-definition-adapter-DAVcmPPg.js +229 -0
  371. package/dist/pi-tools-pgCF9tvm.js +1057 -0
  372. package/dist/pi-tools.before-tool-call-Blvjro7X.js +2 -0
  373. package/dist/pi-tools.before-tool-call-CMEGGnv-.js +433 -0
  374. package/dist/plugin-DoJ_IM72.js +12195 -0
  375. package/dist/plugin-enabled-C9PNEsMB.js +140 -0
  376. package/dist/plugin-registration-CPGTZRDF.js +23 -0
  377. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  378. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  379. package/dist/plugin-sdk/acp-runtime.js +2 -2
  380. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  381. package/dist/plugin-sdk/agent-harness.js +6 -6
  382. package/dist/plugin-sdk/agent-runtime.js +2 -2
  383. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  384. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  385. package/dist/plugin-sdk/approval-runtime.js +1 -1
  386. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  387. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  388. package/dist/plugin-sdk/browser-support.js +7 -7
  389. package/dist/plugin-sdk/channel-core.js +2 -2
  390. package/dist/plugin-sdk/channel-inbound.js +2 -2
  391. package/dist/plugin-sdk/command-auth.js +1 -1
  392. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  393. package/dist/plugin-sdk/compat.js +1 -1
  394. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  395. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  396. package/dist/plugin-sdk/core.js +2 -2
  397. package/dist/plugin-sdk/direct-dm.js +1 -1
  398. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  399. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  400. package/dist/plugin-sdk/index.js +1 -1
  401. package/dist/plugin-sdk/infra-runtime.js +2 -2
  402. package/dist/plugin-sdk/irc.js +2 -2
  403. package/dist/plugin-sdk/matrix.js +1 -1
  404. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  405. package/dist/plugin-sdk/memory-core.js +2 -2
  406. package/dist/plugin-sdk/msteams.js +2 -2
  407. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  408. package/dist/plugin-sdk/nostr.js +1 -1
  409. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  410. package/dist/plugin-sdk/reply-runtime.js +4 -4
  411. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  412. package/dist/plugin-sdk/runtime.js +2 -2
  413. package/dist/plugin-sdk/session-visibility.js +1 -1
  414. package/dist/plugin-sdk/testing.js +4 -4
  415. package/dist/plugin-sdk/tlon.js +1 -1
  416. package/dist/plugin-sdk/zalo.js +1 -1
  417. package/dist/plugin-sdk/zalouser.js +1 -1
  418. package/dist/plugin-service-c09KhFRA.js +2893 -0
  419. package/dist/plugins/runtime/index.js +1 -1
  420. package/dist/policy-DxSwu86T.js +328 -0
  421. package/dist/postinstall-inventory.json +414 -414
  422. package/dist/prepare.runtime-BIEQIV8L.js +815 -0
  423. package/dist/prepare.runtime.js +1 -1
  424. package/dist/probe-6HwDlk5s.js +2 -0
  425. package/dist/probe-BbvEHYyJ.js +2 -0
  426. package/dist/probe-COR7fP_v.js +2205 -0
  427. package/dist/probe-DE9JjGqN.js +241 -0
  428. package/dist/probe-DLS0a8fK.js +74 -0
  429. package/dist/probe-D_l_otos.js +45 -0
  430. package/dist/probe-ZtUbt8f-.js +1443 -0
  431. package/dist/program-DfQvGH1d.js +111 -0
  432. package/dist/prompt-select-styled-DM6haaKV.js +20 -0
  433. package/dist/protocol-CqddCqi8.js +2479 -0
  434. package/dist/provider-dispatcher-BR6UQE4t.js +22 -0
  435. package/dist/provider-dispatcher-CbwCRQ43.js +2 -0
  436. package/dist/qr-cli-D51XKVJW.js +349 -0
  437. package/dist/qr-cli-i4TjyLtW.js +2 -0
  438. package/dist/reaction-runtime-api-DDV-gubE.js +116 -0
  439. package/dist/reactions-BvXn-qBP.js +998 -0
  440. package/dist/register-service-commands-B6ZQumi9.js +71 -0
  441. package/dist/register.agent-CtzP54VE.js +248 -0
  442. package/dist/register.configure-BLcph6ME.js +15 -0
  443. package/dist/register.maintenance-CPYg-yEz.js +363 -0
  444. package/dist/register.message-CficlkIg.js +329 -0
  445. package/dist/register.onboard-1xQPe7tH.js +88 -0
  446. package/dist/register.runtime-CCeTiEB_.js +81 -0
  447. package/dist/register.runtime.js +1 -1
  448. package/dist/register.setup-DAoIkDtN.js +150 -0
  449. package/dist/register.status-health-sessions-0WKthgEo.js +1215 -0
  450. package/dist/register.subclis-DLvpHAI3.js +29 -0
  451. package/dist/register.subclis-JxfqEla5.js +3 -0
  452. package/dist/register.subclis-core-DuiCves5.js +249 -0
  453. package/dist/reply-dispatch-runtime-C9_ukgcR.js +13 -0
  454. package/dist/reply-runtime-OPe17s80.js +11 -0
  455. package/dist/reply.runtime-DDlQ67N1.js +2 -0
  456. package/dist/reply.runtime.js +1 -1
  457. package/dist/restart-health-CL-01acN.js +202 -0
  458. package/dist/restart-health-YEV65VfM.js +2 -0
  459. package/dist/root-help-BJQSVoY8.js +44 -0
  460. package/dist/routes-BmkmbLoX.js +3341 -0
  461. package/dist/routes-Bnind2jW.js +2 -0
  462. package/dist/rpc-DY2jvCMf.js +61 -0
  463. package/dist/rpc.runtime-ChyBZELh.js +21 -0
  464. package/dist/rpc.runtime.js +1 -1
  465. package/dist/run-delivery.runtime-Dz-12Zd4.js +530 -0
  466. package/dist/run-delivery.runtime.js +1 -1
  467. package/dist/run-embedded.runtime-BpU5lMNC.js +4 -0
  468. package/dist/run-embedded.runtime.js +1 -1
  469. package/dist/run-execution-cli.runtime-DAFehfXH.js +4 -0
  470. package/dist/run-execution-cli.runtime.js +1 -1
  471. package/dist/run-executor.runtime-rpu8onA8.js +277 -0
  472. package/dist/run-executor.runtime.js +1 -1
  473. package/dist/run-main-C_inhxnF.js +567 -0
  474. package/dist/run-subagent-registry.runtime-B6k7yCGg.js +2 -0
  475. package/dist/run-subagent-registry.runtime.js +1 -1
  476. package/dist/run-wait-CFzlGkj_.js +135 -0
  477. package/dist/runtime-Dhl_rNom.js +9 -0
  478. package/dist/runtime-OHV6waIC.js +973 -0
  479. package/dist/runtime-api-BWNiBA3c.js +9 -0
  480. package/dist/runtime-api-BfIyvgB_.js +14 -0
  481. package/dist/runtime-api-D424hB_J.js +4 -0
  482. package/dist/runtime-api-DtKgDipG.js +9 -0
  483. package/dist/runtime-embedded-pi.runtime-DFWGcHwZ.js +2 -0
  484. package/dist/runtime-embedded-pi.runtime.js +1 -1
  485. package/dist/runtime-internal-CaCnQ02a.js +2 -0
  486. package/dist/runtime-options-D4BvjWB8.js +275 -0
  487. package/dist/runtime-schema-pjSPEOAs.js +28588 -0
  488. package/dist/scan--Q_WB1Hw.js +2 -0
  489. package/dist/scan-B62XQB6F.js +523 -0
  490. package/dist/secrets-cli-BGEY6lbE.js +2101 -0
  491. package/dist/security-cli-Dcjib0xt.js +486 -0
  492. package/dist/selection-DnBlD3ri.js +7764 -0
  493. package/dist/selection-DtFOwoyl.js +2 -0
  494. package/dist/send-DQ2jC-kR.js +156 -0
  495. package/dist/send-DqkSZeSs.js +102 -0
  496. package/dist/send.runtime-np7_gr25.js +2 -0
  497. package/dist/send.runtime.js +1 -1
  498. package/dist/server-CDV_YyCz.js +77 -0
  499. package/dist/server-Dyzhwdln.js +13 -0
  500. package/dist/server-context-C1If0B6s.js +2 -0
  501. package/dist/server-context-DwGUOfrl.js +847 -0
  502. package/dist/server-node-events-DUpSxyRf.js +481 -0
  503. package/dist/server-plugin-bootstrap-CFpMAmvv.js +2 -0
  504. package/dist/server-plugin-bootstrap-D86uxpDr.js +13176 -0
  505. package/dist/server-restart-sentinel-CKsgDiab.js +697 -0
  506. package/dist/server.impl-BYjxobzs.js +12894 -0
  507. package/dist/session-kill-http-phKXyTTy.js +110 -0
  508. package/dist/session-reset-service-CwvaVami.js +497 -0
  509. package/dist/session-route-BTgIfE1c.js +93 -0
  510. package/dist/session-status.runtime-ChCTEeUR.js +2 -0
  511. package/dist/session-status.runtime.js +1 -1
  512. package/dist/session-subagent-reactivation.runtime-BpZtYfkl.js +2 -0
  513. package/dist/session-subagent-reactivation.runtime.js +1 -1
  514. package/dist/session-tab-registry-BqpCfcjM.js +581 -0
  515. package/dist/session-visibility-CedNChjb.js +147 -0
  516. package/dist/sessions-helpers-Drc1RiQe.js +305 -0
  517. package/dist/sessions-history-http-B3R_-kZs.js +383 -0
  518. package/dist/sessions-patch-DxL9yDsS.js +309 -0
  519. package/dist/sessions-resolve-BGCm2THO.js +174 -0
  520. package/dist/sessions.runtime-BiIsLfCP.js +2 -0
  521. package/dist/sessions.runtime.js +1 -1
  522. package/dist/setup-Cz1lcHMi.js +636 -0
  523. package/dist/setup-api-C_6auH7A.js +29 -0
  524. package/dist/setup-core-BcqeRlfc.js +171 -0
  525. package/dist/setup-core-BfpSQ1D1.js +176 -0
  526. package/dist/setup-surface-BI4jBqI52.js +403 -0
  527. package/dist/setup-surface-DIuPs4Hz.js +219 -0
  528. package/dist/setup-surface-ncxzGn0K.js +286 -0
  529. package/dist/setup.finalize-_eGrewCd.js +547 -0
  530. package/dist/setup.gateway-config-mG-DCNXx.js +250 -0
  531. package/dist/shared-BJcmJyRx.js +198 -0
  532. package/dist/shared-C2dlYHIW.js +76 -0
  533. package/dist/shared-C_hL6o63.js +121 -0
  534. package/dist/slash-state-CzVTgrEK.js +1911 -0
  535. package/dist/src-CDovn7A6.js +3974 -0
  536. package/dist/startup-context-Ck87weqi.js +312 -0
  537. package/dist/status-48dYtpoR.js +397 -0
  538. package/dist/status-CE7dpR6j.js +3 -0
  539. package/dist/status-CJoIf5CR.js +209 -0
  540. package/dist/status-D1Biv4_a.js +2 -0
  541. package/dist/status-DGJGZyGO.js +2 -0
  542. package/dist/status-all-2bHb-vgG.js +498 -0
  543. package/dist/status-dw3o_qPe.js +190 -0
  544. package/dist/status-json-Bxacm8Qn.js +14 -0
  545. package/dist/status-json-command-DF2B2_V3.js +84 -0
  546. package/dist/status-runtime-shared-BA95v5iK.js +257 -0
  547. package/dist/status-subagents.runtime-DPc9mqPe.js +18 -0
  548. package/dist/status-subagents.runtime.js +1 -1
  549. package/dist/status-text-BP3KeCtU.js +237 -0
  550. package/dist/status.gateway-connection.runtime-CrsJrehG.js +2 -0
  551. package/dist/status.gateway-connection.runtime.js +1 -1
  552. package/dist/status.gather-BCK6tC0P.js +292 -0
  553. package/dist/status.gather-DW_bdDUs.js +2 -0
  554. package/dist/status.runtime-DWTaiT7K.js +2 -0
  555. package/dist/status.runtime.js +1 -1
  556. package/dist/status.scan-CD7orpWm.js +65 -0
  557. package/dist/status.scan-overview-BnY_9pPZ.js +379 -0
  558. package/dist/status.scan.fast-json-CLKyp_FZ.js +132 -0
  559. package/dist/status.scan.fast-json-D9-5RUQW.js +2 -0
  560. package/dist/status.summary-3kMOvohJ.js +2 -0
  561. package/dist/status.summary-CBGC6YG3.js +214 -0
  562. package/dist/subagent-announce-delivery-DgJVgXOr.js +726 -0
  563. package/dist/subagent-announce-output-CP427cvY.js +364 -0
  564. package/dist/subagent-announce-zjeNVFwd.js +351 -0
  565. package/dist/subagent-control-mN0oIWjm.js +506 -0
  566. package/dist/subagent-followup.runtime-BPQyuQoe.js +68 -0
  567. package/dist/subagent-followup.runtime.js +1 -1
  568. package/dist/subagent-orphan-recovery-BBkBb0Nh.js +305 -0
  569. package/dist/subagent-registry-BZkG7d3G.js +3 -0
  570. package/dist/subagent-registry-C2eAtERw.js +1753 -0
  571. package/dist/subagent-registry.runtime.js +1 -1
  572. package/dist/subagent-spawn-BHDR5zLE.js +1005 -0
  573. package/dist/system-cli-DapxyBIC.js +59 -0
  574. package/dist/targets-gkyN5pq8.js +67 -0
  575. package/dist/task-executor-McS2BJQg.js +360 -0
  576. package/dist/task-owner-access-Cp_o7LQs.js +74 -0
  577. package/dist/task-registry-Bc22zUFJ.js +2366 -0
  578. package/dist/task-registry-delivery-runtime-FGvxeA51.js +3 -0
  579. package/dist/task-registry-delivery-runtime-kjDlxgnl.js +2 -0
  580. package/dist/task-registry.maintenance-CdawPjmw.js +416 -0
  581. package/dist/task-registry.maintenance-D_uzodyG.js +2 -0
  582. package/dist/telegram/token.js +1 -1
  583. package/dist/testing-A7m9v7qS.js +575 -0
  584. package/dist/text-report-CSDchBUA.js +587 -0
  585. package/dist/tool-resolution-CMwLa1lc.js +90 -0
  586. package/dist/tools-effective-inventory-CXM5GV6s.js +152 -0
  587. package/dist/tools-invoke-http-qItYoiC6.js +206 -0
  588. package/dist/trash-B00EIdks.js +24 -0
  589. package/dist/tui-cli-BbHQkFbp.js +4595 -0
  590. package/dist/update-cli-hHkP1wu2.js +1759 -0
  591. package/dist/upgrade-Tmp-2Squ.js +1226 -0
  592. package/dist/video-generation-task-status-BWWBuC1d.js +163 -0
  593. package/dist/wait-for-idle-before-flush-CJcOqYwe.js +5986 -0
  594. package/dist/wizard-models-CsM6dV5g.js +334 -0
  595. package/package.json +1 -1
  596. package/dist/abort-Cngo_sE6.js +0 -201
  597. package/dist/abort.runtime-l03tKy6q.js +0 -2
  598. package/dist/accounts-D5dnjCYz.js +0 -104
  599. package/dist/accounts-DJVB8Dzg.js +0 -107
  600. package/dist/accounts-I2j8KUfU.js +0 -2
  601. package/dist/acp-cli-CVXcm2Uf.js +0 -2217
  602. package/dist/acp-spawn-BF1zb7_s.js +0 -2
  603. package/dist/acp-spawn-CCcWxuoD.js +0 -1093
  604. package/dist/acp-stateful-target-driver-CLTnT3_3.js +0 -89
  605. package/dist/action-agents-hVUqBNdo.js +0 -67
  606. package/dist/action-focus-8xIhNSsO.js +0 -132
  607. package/dist/action-help-BGvrhiaU.js +0 -7
  608. package/dist/action-info-DOI0dCt_.js +0 -101
  609. package/dist/action-kill-KvzLsRue.js +0 -33
  610. package/dist/action-list-L4kdOLkV.js +0 -21
  611. package/dist/action-log-xyFooSSU.js +0 -30
  612. package/dist/action-send-za_v6IfP.js +0 -39
  613. package/dist/action-spawn-CqMlG6rs.js +0 -47
  614. package/dist/action-unfocus-4viCl85L.js +0 -29
  615. package/dist/actions.runtime-BQnRcY0z.js +0 -18
  616. package/dist/actions.runtime-DAsDM3FC.js +0 -5
  617. package/dist/agent-BAcZ_9MS.js +0 -2
  618. package/dist/agent-command-CThfmSfK.js +0 -874
  619. package/dist/agent-harness-runtime-DQWpmoRH.js +0 -144
  620. package/dist/agent-runner-utils-BgI3qeCs.js +0 -239
  621. package/dist/agent-runner.runtime-C-6mqnGR.js +0 -3455
  622. package/dist/agent-runtime-DIWgC8MC.js +0 -18
  623. package/dist/agents-BAWL0dPv.js +0 -5
  624. package/dist/agents-CtrLQf-J.js +0 -954
  625. package/dist/aliases-Cd330u5w.js +0 -2
  626. package/dist/aliases-D9gd4KZs.js +0 -96
  627. package/dist/api-6P3OWTH5.js +0 -5
  628. package/dist/api-DpXopE7P.js +0 -3
  629. package/dist/api-oOooMZhP.js +0 -139
  630. package/dist/approval-gateway-resolver-BjqCdv8k.js +0 -29
  631. package/dist/approval-gateway-runtime-vc_h56PW.js +0 -2
  632. package/dist/approval-handler-runtime-CyvEyKDy.js +0 -439
  633. package/dist/approval-native-runtime-BIKGBkwL.js +0 -729
  634. package/dist/attempt-execution.runtime-CCvoOmmC.js +0 -509
  635. package/dist/attempt.prompt-helpers-BQ-1KYxC.js +0 -221
  636. package/dist/attempt.tool-run-context-Cxbblhky.js +0 -933
  637. package/dist/audit-Bo8UTCyc.js +0 -939
  638. package/dist/audit.runtime-CPxgYz9W.js +0 -7
  639. package/dist/auth-4FzYl8sz.js +0 -550
  640. package/dist/auth-Bj3QjORN.js +0 -2
  641. package/dist/auth-order-BVHFh3Fe.js +0 -139
  642. package/dist/auth-order-CiBq-B8C.js +0 -2
  643. package/dist/bash-tools-Csgatugk.js +0 -3
  644. package/dist/bash-tools-D5Qgrlkj.js +0 -2824
  645. package/dist/binding-routing-Cr2BJdII.js +0 -85
  646. package/dist/binding-targets-Du0vm2-F.js +0 -121
  647. package/dist/bridge-server-Cpvt4nNc.js +0 -113
  648. package/dist/browser-control-auth-DsUqVw9Y.js +0 -2
  649. package/dist/browser-node-runtime-CuGRBA2N.js +0 -12
  650. package/dist/browser-profiles-FqYFsUPt.js +0 -2
  651. package/dist/browser-runtime-C_MYMBwN.js +0 -387
  652. package/dist/browser-setup-tools-75eBLdGG.js +0 -13
  653. package/dist/build--GUIQMqV.js +0 -550
  654. package/dist/call-Cwg6CEat.js +0 -331
  655. package/dist/call-hnk56UiT.js +0 -3
  656. package/dist/call.runtime-C8KSEM5A.js +0 -2
  657. package/dist/capability-cli-ly3sH38y.js +0 -1401
  658. package/dist/catchup-DNRHXY1y.js +0 -300
  659. package/dist/channel-3WhZIXYU.js +0 -1100
  660. package/dist/channel-Ad3bImu-.js +0 -226
  661. package/dist/channel-BNY1gK9J.js +0 -1320
  662. package/dist/channel-BetO9AUJ.js +0 -595
  663. package/dist/channel-C2IaZUYL.js +0 -350
  664. package/dist/channel-C8jmE7N2.js +0 -297
  665. package/dist/channel-CDElDIH4.js +0 -453
  666. package/dist/channel-DHZhJnt4.js +0 -1174
  667. package/dist/channel-DJbljYq-.js +0 -840
  668. package/dist/channel-Dd3R7L4E.js +0 -1802
  669. package/dist/channel-Dpdizjhh.js +0 -491
  670. package/dist/channel-core-ByqezGK-.js +0 -5
  671. package/dist/channel-inbound-CfC-5Hqh.js +0 -31
  672. package/dist/channel-plugin-runtime-B-FoOCHe.js +0 -771
  673. package/dist/channel-runtime-CTz-Npx2.js +0 -425
  674. package/dist/channel.runtime-BO17VYXq.js +0 -430
  675. package/dist/channel.runtime-BOIxt4yC.js +0 -4
  676. package/dist/channel.runtime-BhxyxvkT.js +0 -576
  677. package/dist/channel.runtime-DTqynpub.js +0 -42398
  678. package/dist/channel.runtime-DU698Mtp.js +0 -2364
  679. package/dist/channel.runtime-Dfq_FjtT.js +0 -89
  680. package/dist/channel.setup-Cklnh2gh.js +0 -10
  681. package/dist/channel2.runtime-ClW7cdHK.js +0 -109
  682. package/dist/channels-CP6Kp445.js +0 -733
  683. package/dist/channels-cli-DaJwTe-V.js +0 -268
  684. package/dist/chat-ov9pIV1w.js +0 -2830
  685. package/dist/clawbot-cli-BRy4Hm77.js +0 -9
  686. package/dist/cli-BPwABYWL.js +0 -2
  687. package/dist/cli-BsSw7UYX.js +0 -72
  688. package/dist/cli-DM1LzJBx.js +0 -219
  689. package/dist/cli-DPAPYa_s.js +0 -2
  690. package/dist/cli-runner-END8ND2M.js +0 -286
  691. package/dist/cli-runner.runtime-C69OSvpN.js +0 -4
  692. package/dist/cli-runner.runtime-DZi9acPF.js +0 -3
  693. package/dist/cli.runtime-CAl2BRM8.js +0 -1261
  694. package/dist/client-BtyYQE4I.js +0 -713
  695. package/dist/client-DwOhUvZq.js +0 -138
  696. package/dist/command-auth-BC4dzkDE.js +0 -76
  697. package/dist/command-config-resolution-Bu94VaHH.js +0 -2
  698. package/dist/command-config-resolution-CDIZsyXz.js +0 -23
  699. package/dist/command-config-resolution.runtime-D6U--833.js +0 -2
  700. package/dist/command-registry-CP6Flbyr.js +0 -4
  701. package/dist/command-registry-DyA5n5Y2.js +0 -9
  702. package/dist/command-registry-core-D6wfuVBH.js +0 -106
  703. package/dist/command-secret-gateway-U8oc85O3.js +0 -528
  704. package/dist/command-status.runtime-BlV8RkuN.js +0 -87
  705. package/dist/commands-acp-DogyhRxV.js +0 -77
  706. package/dist/commands-compact.runtime-C9CwEQ9d.js +0 -10
  707. package/dist/commands-handlers.runtime-BKVTB3af.js +0 -4599
  708. package/dist/commands-status-Ck7yAveR.js +0 -16
  709. package/dist/commands-status.runtime-C64rfIgv.js +0 -3
  710. package/dist/commands-subagents-control.runtime-BQ9IJ-PN.js +0 -2
  711. package/dist/commands-subagents-control.runtime-DzuYqXYM.js +0 -3
  712. package/dist/commands-system-prompt-DrO5Ktab.js +0 -158
  713. package/dist/commands-system-prompt-OZnWRUU4.js +0 -2
  714. package/dist/commands.runtime-Cz5m7UHd.js +0 -167
  715. package/dist/compact-Bm6Ue8PM.js +0 -1118
  716. package/dist/compact.runtime-DUnPpPlz.js +0 -12
  717. package/dist/completion-cli-CQV8Edld.js +0 -328
  718. package/dist/config-CvQPjE0Q.js +0 -252
  719. package/dist/config-cli-hPAERXVD.js +0 -1078
  720. package/dist/configure-CNDv9ji5.js +0 -1252
  721. package/dist/configure-Dw-YeOYz.js +0 -2
  722. package/dist/connect-options-5yQEkag7.js +0 -699
  723. package/dist/control-auth-BZ3jwW_b.js +0 -125
  724. package/dist/control-service-CVq5rWGF.js +0 -156
  725. package/dist/conversation-id-B7oXZBrx.js +0 -235
  726. package/dist/conversation-id-DEFcpkdn.js +0 -38
  727. package/dist/conversation-runtime-Di95kTti.js +0 -31
  728. package/dist/core-BbuI1nb2.js +0 -275
  729. package/dist/cron-cli-UIR4I5Eo.js +0 -713
  730. package/dist/daemon-cli-BqTT84vc.js +0 -12
  731. package/dist/dashboard-DORB5lWl.js +0 -81
  732. package/dist/dashboard-iCpchE4h.js +0 -2
  733. package/dist/delegate-DKyLT2Oh.js +0 -64
  734. package/dist/detached-task-runtime-B3Y6ddy3.js +0 -73
  735. package/dist/devices-cli-Cyiv4_7A.js +0 -498
  736. package/dist/diagnostics-BMdHyN8V.js +0 -154
  737. package/dist/direct-dm-CgMzHsLT.js +0 -64
  738. package/dist/dispatch-DIRZA2cy.js +0 -1131
  739. package/dist/dispatch-acp-1zk6S0I_.js +0 -981
  740. package/dist/dispatch-acp-manager.runtime-C7yW8oCJ.js +0 -3
  741. package/dist/dispatch-acp.runtime-CTRthZvU.js +0 -19
  742. package/dist/doctor-device-pairing-CNyJpHYP.js +0 -307
  743. package/dist/doctor-gateway-daemon-flow-BeOcm1lk.js +0 -250
  744. package/dist/doctor-gateway-health-DHGy54St.js +0 -63
  745. package/dist/doctor-health-D8Zx1Kxy.js +0 -59
  746. package/dist/doctor-health-contributions-fMT-eUkx.js +0 -493
  747. package/dist/doctor-prompter-Cr1NyTHN.js +0 -56
  748. package/dist/doctor-workspace-status-af2Bd95y.js +0 -75
  749. package/dist/dreaming-BNV8bPzi.js +0 -1582
  750. package/dist/dreaming-narrative-DrIvIgwX.js +0 -596
  751. package/dist/embedded-gateway-stub.runtime-CB0tG8-G.js +0 -9
  752. package/dist/exec-approvals-cli-1ipccPsH.js +0 -498
  753. package/dist/fallbacks-BZsnJYQ9.js +0 -2
  754. package/dist/fallbacks-DEDU9fM9.js +0 -31
  755. package/dist/fallbacks-shared-Bi9LfHSP.js +0 -111
  756. package/dist/gateway-cli-DhMqYIPl.js +0 -1283
  757. package/dist/gateway-rpc-DPTkm_sv.js +0 -14
  758. package/dist/gateway-rpc.runtime-BVlT2xPp.js +0 -23
  759. package/dist/gateway-runtime-DNBHtXEc.js +0 -15
  760. package/dist/gateway-status-C-vkewIw.js +0 -584
  761. package/dist/gateway-tRBsGvCm.js +0 -115
  762. package/dist/genesis-tools-5NSdlOTl.js +0 -9166
  763. package/dist/genesis-tools.runtime-AZkoDSZn.js +0 -2
  764. package/dist/get-reply-CyMVoBga.js +0 -3897
  765. package/dist/get-reply-from-config.runtime-DWfXY6kp.js +0 -2
  766. package/dist/graph-users-CeE20CJr.js +0 -1337
  767. package/dist/health-C-yFJe9m.js +0 -469
  768. package/dist/health-D5WYplmn.js +0 -3
  769. package/dist/health-route-C_njQhJj.js +0 -41
  770. package/dist/health-route-otTelRS8.js +0 -2
  771. package/dist/heartbeat-runner-9IsW8Xo7.js +0 -1292
  772. package/dist/heartbeat-runner-CUhmhWre.js +0 -5
  773. package/dist/heartbeat-runner.runtime-D-jqThKI.js +0 -4
  774. package/dist/hooks-cli-g0yKwqEG.js +0 -433
  775. package/dist/image-fallbacks-BZBfLjnm.js +0 -2
  776. package/dist/image-fallbacks-DauDOGEM.js +0 -31
  777. package/dist/inbound-reply-dispatch-2dA1_zqi.js +0 -73
  778. package/dist/infra-runtime-B7wP6gFI.js +0 -39
  779. package/dist/init-CbE2VqbJ.js +0 -59
  780. package/dist/library-BPRe1zEN.js +0 -45
  781. package/dist/lifecycle-29UzYVEZ.js +0 -229
  782. package/dist/lifecycle-BCpBPa5D.js +0 -571
  783. package/dist/lifecycle.runtime-3cCF_4AU.js +0 -2
  784. package/dist/list-B9lCYvDl.js +0 -1212
  785. package/dist/list-CV1Woixl.js +0 -2
  786. package/dist/list-D0yDvc4W.js +0 -2
  787. package/dist/list-DKY6QJ2V.js +0 -131
  788. package/dist/list.probe-BXvTngHv.js +0 -419
  789. package/dist/llm-slug-generator-DFEyGish.js +0 -79
  790. package/dist/load-config-Cw7kShkf.js +0 -35
  791. package/dist/local-dispatch.runtime-C8_YEk3p.js +0 -8
  792. package/dist/logs-cli-BrAFUk9w.js +0 -265
  793. package/dist/logs-cli.runtime-CUmu5b1C.js +0 -2
  794. package/dist/main-session-restart-recovery-DsRbypTW.js +0 -206
  795. package/dist/managed-image-attachments-BjaVhVEa.js +0 -2
  796. package/dist/managed-image-attachments-Cqy3EaEE.js +0 -635
  797. package/dist/manager-Cro57kFq.js +0 -2057
  798. package/dist/manager-DzFdCc4J.js +0 -2
  799. package/dist/markdown-to-line-BZuI0r-M.js +0 -790
  800. package/dist/mcp-cli-0WTvaoIg.js +0 -725
  801. package/dist/mcp-http-CeMRRWUu.js +0 -529
  802. package/dist/memory-core-host-runtime-cli-bOlGS396.js +0 -9
  803. package/dist/message-C7RIxkrZ.js +0 -232
  804. package/dist/message-action-runner-a01PfbVY.js +0 -1407
  805. package/dist/message-action-runner-bvmUIIVf.js +0 -2
  806. package/dist/message-actions-DjS0VVCy.js +0 -143
  807. package/dist/message.gateway.runtime-nt-TPAqA.js +0 -2
  808. package/dist/models-auth-status-BS_caq_x.js +0 -217
  809. package/dist/models-cli-DUrC7-c6.js +0 -271
  810. package/dist/monitor-BZNZ1ygG.js +0 -2
  811. package/dist/monitor-BlZsUodW.js +0 -788
  812. package/dist/monitor-CO_t3tSA.js +0 -1237
  813. package/dist/monitor-CexHU09e.js +0 -1661
  814. package/dist/monitor-DBFGvWm8.js +0 -671
  815. package/dist/monitor-auth-WUJo8zX5.js +0 -207
  816. package/dist/monitor-fK0HzOeR.js +0 -1459
  817. package/dist/monitor-processing-v0Oqdm83.js +0 -1974
  818. package/dist/monitor.runtime-B4COiD9M.js +0 -2
  819. package/dist/monitor.webhook-BrXwPWIb.js +0 -180
  820. package/dist/msteams-C0lsusC7.js +0 -35
  821. package/dist/native-hook-relay-DxLDo0kf.js +0 -519
  822. package/dist/nextcloud-talk-CDxdDhEa.js +0 -17
  823. package/dist/node-cli-BNQi7BfE.js +0 -2276
  824. package/dist/nodes-cli-Dfsc0scS.js +0 -1046
  825. package/dist/nodes-utils-CetwNv8w.js +0 -84
  826. package/dist/nodes.helpers-B4Yy3f8X.js +0 -34
  827. package/dist/notify-Bg4ukXOy.js +0 -315
  828. package/dist/onboard-BlzYtu39.js +0 -70
  829. package/dist/onboard-DZqeGCuM.js +0 -2
  830. package/dist/onboard-helpers-CFVEw4kg.js +0 -204
  831. package/dist/onboard-helpers-R0vTUoOE.js +0 -6
  832. package/dist/onboard-interactive-CTiy9p3b.js +0 -24
  833. package/dist/onboard-non-interactive-SC-UFDrb.js +0 -635
  834. package/dist/onboard-remote-0UXttO3s.js +0 -2
  835. package/dist/onboard-remote-BmUiJKba.js +0 -193
  836. package/dist/onboard-skills-855xT260.js +0 -2
  837. package/dist/onboard-skills-CF2ndciI.js +0 -134
  838. package/dist/openai-http-CE7y7YiI.js +0 -500
  839. package/dist/openresponses-http-DK86gsJO.js +0 -1128
  840. package/dist/operator-approvals-client-gp0A73Qi.js +0 -68
  841. package/dist/outbound.runtime-DP8BPmuN.js +0 -2
  842. package/dist/pair-command-approve-BtOQZGwa.js +0 -44
  843. package/dist/persistent-bindings.lifecycle-B0AshYYA.js +0 -2
  844. package/dist/persistent-bindings.lifecycle-DvTYe8mB.js +0 -85
  845. package/dist/pi-embedded-Be4Onpze.js +0 -4
  846. package/dist/pi-embedded-CGy7Dtnw.js +0 -2905
  847. package/dist/pi-embedded.runtime-BWPKSg0B.js +0 -4
  848. package/dist/pi-tool-definition-adapter-Jf9zETiY.js +0 -229
  849. package/dist/pi-tools-BQA19P3-.js +0 -1057
  850. package/dist/pi-tools.before-tool-call-Cz_axNf5.js +0 -2
  851. package/dist/pi-tools.before-tool-call-DCG_FnG8.js +0 -433
  852. package/dist/plugin-PXgxA053.js +0 -12195
  853. package/dist/plugin-enabled-sOFPFfw1.js +0 -140
  854. package/dist/plugin-registration-OrraXjhN.js +0 -23
  855. package/dist/plugin-service-CD-TC2TU.js +0 -2893
  856. package/dist/policy-Bu7soiqW.js +0 -328
  857. package/dist/prepare.runtime-CVPtWq-3.js +0 -815
  858. package/dist/probe--ur8kCb3.js +0 -241
  859. package/dist/probe-Afcq8e2r.js +0 -2
  860. package/dist/probe-B1Dp2K5f.js +0 -74
  861. package/dist/probe-CQxc5e0e.js +0 -1443
  862. package/dist/probe-D7acsevr.js +0 -45
  863. package/dist/probe-DC5E8AK5.js +0 -2
  864. package/dist/probe-HDLJLw4c.js +0 -2205
  865. package/dist/program-CmLQupJ3.js +0 -111
  866. package/dist/prompt-select-styled-DWw74syc.js +0 -20
  867. package/dist/protocol-D2Tvt0kQ.js +0 -2479
  868. package/dist/provider-dispatcher-CLjWHk-J.js +0 -2
  869. package/dist/provider-dispatcher-Cmgqznex.js +0 -22
  870. package/dist/qr-cli-BpSufxl3.js +0 -349
  871. package/dist/qr-cli-CNlU9tQo.js +0 -2
  872. package/dist/reaction-runtime-api-CgscWHaw.js +0 -116
  873. package/dist/reactions-CUuxlTLk.js +0 -998
  874. package/dist/register-service-commands-CVw_0FOU.js +0 -71
  875. package/dist/register.agent-D83zxSDT.js +0 -248
  876. package/dist/register.configure-CHoOiqzO.js +0 -15
  877. package/dist/register.maintenance-CV8Y0-GO.js +0 -363
  878. package/dist/register.message-B0eHsfLQ.js +0 -329
  879. package/dist/register.onboard-CbIO5sFl.js +0 -88
  880. package/dist/register.runtime-DDACHKw5.js +0 -81
  881. package/dist/register.setup-BrDiZ87w.js +0 -150
  882. package/dist/register.status-health-sessions-3PB3gA8Z.js +0 -1215
  883. package/dist/register.subclis-CaXmqTjH.js +0 -3
  884. package/dist/register.subclis-DXHaFVAj.js +0 -29
  885. package/dist/register.subclis-core-oPBkaD2j.js +0 -249
  886. package/dist/reply-dispatch-runtime-s8iIcsY4.js +0 -13
  887. package/dist/reply-runtime-CdbXuP0k.js +0 -11
  888. package/dist/reply.runtime-B8O4Za3t.js +0 -2
  889. package/dist/restart-health-C8OVhvQ6.js +0 -2
  890. package/dist/restart-health-DdG71XEk.js +0 -202
  891. package/dist/root-help-Dat5PidP.js +0 -44
  892. package/dist/routes--OomJzMJ.js +0 -2
  893. package/dist/routes-C9ddA05X.js +0 -3341
  894. package/dist/rpc-hYySaHuW.js +0 -61
  895. package/dist/rpc.runtime-xFzxQvGM.js +0 -21
  896. package/dist/run-delivery.runtime-pD6AAEFj.js +0 -530
  897. package/dist/run-embedded.runtime-BGCrB5dE.js +0 -4
  898. package/dist/run-execution-cli.runtime-Cm0qb1Jx.js +0 -4
  899. package/dist/run-executor.runtime-DmGdXgNE.js +0 -277
  900. package/dist/run-main-BhKIYDDS.js +0 -567
  901. package/dist/run-subagent-registry.runtime-BrCnLsaJ.js +0 -2
  902. package/dist/run-wait-V95b_owe.js +0 -135
  903. package/dist/runtime-BPcw5wKu.js +0 -973
  904. package/dist/runtime-CVtzoEXz.js +0 -9
  905. package/dist/runtime-api-C7SvtCrz.js +0 -4
  906. package/dist/runtime-api-D7kMb4r-.js +0 -9
  907. package/dist/runtime-api-GmwL5agC.js +0 -9
  908. package/dist/runtime-api-NZdHXq65.js +0 -14
  909. package/dist/runtime-embedded-pi.runtime-CiFf7LLh.js +0 -2
  910. package/dist/runtime-internal-9DTzq40y.js +0 -2
  911. package/dist/runtime-options-BABByM27.js +0 -275
  912. package/dist/runtime-schema-CQFcWgw7.js +0 -28588
  913. package/dist/scan-C-7SLtpq.js +0 -523
  914. package/dist/scan-DW5OMHlc.js +0 -2
  915. package/dist/secrets-cli-BWgJDRGu.js +0 -2101
  916. package/dist/security-cli-CVScUBAh.js +0 -486
  917. package/dist/selection-BJhGK0Gg.js +0 -2
  918. package/dist/selection-C8GY4Sin.js +0 -7764
  919. package/dist/send-CH0zRgEY.js +0 -102
  920. package/dist/send-gStK80j4.js +0 -156
  921. package/dist/send.runtime-D5GAmGpy.js +0 -2
  922. package/dist/server-BamjooS9.js +0 -77
  923. package/dist/server-DOlUxe29.js +0 -13
  924. package/dist/server-context-BHGn60Nv.js +0 -2
  925. package/dist/server-context-D0DCL0Yr.js +0 -847
  926. package/dist/server-node-events-CKfJMKY6.js +0 -481
  927. package/dist/server-plugin-bootstrap-CgdqnkvH.js +0 -13176
  928. package/dist/server-plugin-bootstrap-Dqa8MSb3.js +0 -2
  929. package/dist/server-restart-sentinel-D5NKTQlr.js +0 -697
  930. package/dist/server.impl-CaBpcCte.js +0 -12894
  931. package/dist/session-kill-http-Dkyu6aeK.js +0 -110
  932. package/dist/session-reset-service-bUkkZbtS.js +0 -497
  933. package/dist/session-route-osDI35ex.js +0 -93
  934. package/dist/session-status.runtime-XUwfwKYy.js +0 -2
  935. package/dist/session-subagent-reactivation.runtime-DIrxFxhQ.js +0 -2
  936. package/dist/session-tab-registry-DMcC2sO-.js +0 -581
  937. package/dist/session-visibility-BE4lf4vj.js +0 -147
  938. package/dist/sessions-helpers-qYgG99le.js +0 -305
  939. package/dist/sessions-history-http-B6Tw9U6o.js +0 -383
  940. package/dist/sessions-patch-C2VfpT6N.js +0 -309
  941. package/dist/sessions-resolve-Dgj16ung.js +0 -174
  942. package/dist/sessions.runtime-De075L9O.js +0 -2
  943. package/dist/setup-IZ8-o496.js +0 -636
  944. package/dist/setup-api-Brg9D0Et.js +0 -29
  945. package/dist/setup-core-DBNJOXUe.js +0 -176
  946. package/dist/setup-core-YMlDym-t.js +0 -171
  947. package/dist/setup-surface-B8zw_Iry.js +0 -286
  948. package/dist/setup-surface-DiER1ybG2.js +0 -403
  949. package/dist/setup-surface-ZQJE1d97.js +0 -219
  950. package/dist/setup.finalize-DV7-ttFc.js +0 -547
  951. package/dist/setup.gateway-config-CeiELioQ.js +0 -250
  952. package/dist/shared-BddlhgtM.js +0 -198
  953. package/dist/shared-C9Fg93Nk.js +0 -76
  954. package/dist/shared-rY0Q3SUO.js +0 -121
  955. package/dist/slash-state-BXsMm6Ug.js +0 -1911
  956. package/dist/src-2iJPePTa.js +0 -3974
  957. package/dist/startup-context-L7eFlMGe.js +0 -312
  958. package/dist/status-2mHKLi_8.js +0 -2
  959. package/dist/status-4QVSRSC2.js +0 -3
  960. package/dist/status-Bpg8pFBH.js +0 -2
  961. package/dist/status-CYWc74qO.js +0 -397
  962. package/dist/status-EKvbpCYq.js +0 -190
  963. package/dist/status-all-vTJtEeTs.js +0 -498
  964. package/dist/status-json-82GOaBg2.js +0 -14
  965. package/dist/status-json-command-DE1OsrKi.js +0 -84
  966. package/dist/status-okdvu7xW.js +0 -209
  967. package/dist/status-runtime-shared--i8Snuyb.js +0 -257
  968. package/dist/status-subagents.runtime-D9r3_cd8.js +0 -18
  969. package/dist/status-text-Csq9CBHh.js +0 -237
  970. package/dist/status.gateway-connection.runtime-D4Z7cUpS.js +0 -2
  971. package/dist/status.gather-DjPsPYjd.js +0 -2
  972. package/dist/status.gather-GYO4n_GF.js +0 -292
  973. package/dist/status.runtime-BnkekTYc.js +0 -2
  974. package/dist/status.scan-CGZs2gNK.js +0 -65
  975. package/dist/status.scan-overview-CvMmc4_9.js +0 -379
  976. package/dist/status.scan.fast-json-BuLGkMEu.js +0 -132
  977. package/dist/status.scan.fast-json-DbPM0LbX.js +0 -2
  978. package/dist/status.summary-DNjIEj7M.js +0 -214
  979. package/dist/status.summary-thyeq75l.js +0 -2
  980. package/dist/subagent-announce-BXNGQkca.js +0 -351
  981. package/dist/subagent-announce-delivery-CssdaIK0.js +0 -726
  982. package/dist/subagent-announce-output-DK4zF_4-.js +0 -364
  983. package/dist/subagent-control-8V6C3iHm.js +0 -506
  984. package/dist/subagent-followup.runtime-DiBrlbMB.js +0 -68
  985. package/dist/subagent-orphan-recovery-DF-RlZbs.js +0 -305
  986. package/dist/subagent-registry-B7roWOkp.js +0 -1753
  987. package/dist/subagent-registry-C0Vew-3L.js +0 -3
  988. package/dist/subagent-spawn-DO4jFMOF.js +0 -1005
  989. package/dist/system-cli-CxuvHMmE.js +0 -59
  990. package/dist/targets-BrIxxqDm.js +0 -67
  991. package/dist/task-executor-B3GpI_R_.js +0 -360
  992. package/dist/task-owner-access-oQnQP_b3.js +0 -74
  993. package/dist/task-registry-EHbmFqsi.js +0 -2366
  994. package/dist/task-registry-delivery-runtime-DkQoAcL3.js +0 -3
  995. package/dist/task-registry-delivery-runtime-XqEQlx86.js +0 -2
  996. package/dist/task-registry.maintenance-BpI-YUOA.js +0 -2
  997. package/dist/task-registry.maintenance-D6WzGM5R.js +0 -416
  998. package/dist/testing-CY7YdvFP.js +0 -575
  999. package/dist/text-report-Cu-Drg33.js +0 -587
  1000. package/dist/tool-resolution-BIa_L_eS.js +0 -90
  1001. package/dist/tools-effective-inventory-DdF_gXu6.js +0 -152
  1002. package/dist/tools-invoke-http-Dhrho-XH.js +0 -206
  1003. package/dist/trash-DDT5xMIb.js +0 -24
  1004. package/dist/tui-cli-DqAyUsXV.js +0 -4595
  1005. package/dist/update-cli-DzUvmsG8.js +0 -1759
  1006. package/dist/upgrade-CXPGf4xq.js +0 -1226
  1007. package/dist/video-generation-task-status-Ccbv5_ls.js +0 -163
  1008. package/dist/wait-for-idle-before-flush-_1jKR3ID.js +0 -5986
  1009. package/dist/wizard-models-CQwA3L3M.js +0 -334
@@ -0,0 +1,1401 @@
1
+ import { a as normalizeLowercaseStringOrEmpty, c as normalizeOptionalString, d as normalizeStringifiedOptionalString } from "./string-coerce-DPP_aYVc.js";
2
+ import { n as defaultRuntime, r as writeRuntimeJson } from "./runtime-DDkDH9fa.js";
3
+ import { t as formatDocsLink } from "./links-C1-jbHJx.js";
4
+ import { r as theme } from "./theme-DD6pQv2_.js";
5
+ import { a as isLoopbackHost } from "./net-BzaeD_3Q.js";
6
+ import { a as loadConfig } from "./io-lNN4Levs.js";
7
+ import { t as getProviderEnvVars } from "./provider-env-vars-DDxo5bUJ.js";
8
+ import { n as resolveAgentModelPrimaryValue } from "./model-input-gXkzehoL.js";
9
+ import { x as resolveDefaultAgentId, y as resolveAgentDir } from "./agent-scope-Duyu_T59.js";
10
+ import "./config-DzozJ_v4.js";
11
+ import { i as GATEWAY_CLIENT_NAMES, r as GATEWAY_CLIENT_MODES } from "./client-info-DeQMz3zN.js";
12
+ import { f as updateAuthProfileStoreWithLock, s as loadAuthProfileStoreForRuntime } from "./store-CSG8Jr-5.js";
13
+ import { a as registerMemoryEmbeddingProvider, r as listMemoryEmbeddingProviders } from "./memory-embedding-providers-BddaCoKN.js";
14
+ import { r as loadModelCatalog } from "./model-catalog-Cuh4tBFX.js";
15
+ import { l as normalizeMimeType, n as extensionForMime, t as detectMime } from "./mime-CcQ10POh.js";
16
+ import { S as setTtsProvider, b as setTtsEnabled, f as resolveExplicitTtsOverrides, h as resolveTtsPrefsPath, m as resolveTtsConfig, o as getTtsProvider, u as listSpeechVoices, w as textToSpeech } from "./tts-Dk_Qpk02.js";
17
+ import { a as getImageMetadata } from "./image-ops-7ZUr6n-L.js";
18
+ import "./auth-profiles-D0_-zCcS.js";
19
+ import { n as listProfilesForProvider } from "./profile-list-CuqGGYaA.js";
20
+ import { t as buildGatewayConnectionDetailsWithResolvers } from "./connection-details-BIhOlH1Y.js";
21
+ import { c as randomIdempotencyKey, r as callGateway } from "./call-CL7Keh1p.js";
22
+ import { n as listRuntimeImageGenerationProviders, t as generateImage } from "./runtime-BAV9aWNo.js";
23
+ import { l as saveMediaBuffer } from "./store-Cx3H9G95.js";
24
+ import { C as buildMediaUnderstandingRegistry } from "./resolve-Ds4JxjEH.js";
25
+ import { n as listRuntimeVideoGenerationProviders, t as generateVideo } from "./runtime-BRoii2Kj.js";
26
+ import { r as listWebSearchProviders, s as runWebSearch, t as isWebSearchProviderConfigured } from "./runtime-gfoDsDAc.js";
27
+ import { t as resolveMemorySearchConfig } from "./memory-search-BhOGz_Nf.js";
28
+ import { n as agentCommand } from "./agent-command-KS0kk4R_.js";
29
+ import { r as listSpeechProviders, t as canonicalizeSpeechProviderId } from "./provider-registry-BRCZYpEW.js";
30
+ import { n as runCommandWithRuntime } from "./cli-utils-C80mOHVm.js";
31
+ import { a as transcribeAudioFile, n as describeImageFileWithModel, r as describeVideoFile, t as describeImageFile } from "./runtime-DhUy1DUW.js";
32
+ import "./provider-auth-login-DoWEAjz2.js";
33
+ import { t as createDefaultDeps } from "./deps-CkoVuEVy.js";
34
+ import "./aliases-CK0aIskI.js";
35
+ import { n as modelsAuthLoginCommand } from "./auth-vKHIBjC8.js";
36
+ import "./auth-order-ozs0zLmu.js";
37
+ import "./fallbacks-BVWn3y-0.js";
38
+ import "./image-fallbacks-CgnkUGl-.js";
39
+ import { t as modelsStatusCommand } from "./list-oJMN_3OD.js";
40
+ import "./scan-B62XQB6F.js";
41
+ import "./set-yGNVrHCI.js";
42
+ import "./set-image-BtuvDBjQ.js";
43
+ import { i as registerBuiltInMemoryEmbeddingProviders, t as createEmbeddingProvider } from "./memory-core-bundled-runtime-DbPaS3ia.js";
44
+ import { i as resolveWebFetchDefinition, r as listWebFetchProviders, t as isWebFetchProviderConfigured } from "./runtime-Blj1s8g9.js";
45
+ import { t as removeCommandByName } from "./command-tree-WpETkDxw.js";
46
+ import { t as collectOption } from "./helpers-DvwwE5lo.js";
47
+ import { createWriteStream } from "node:fs";
48
+ import path from "node:path";
49
+ import fs$1 from "node:fs/promises";
50
+ import { Readable } from "node:stream";
51
+ import { pipeline } from "node:stream/promises";
52
+ //#region src/cli/capability-cli.ts
53
+ const CAPABILITY_METADATA = [
54
+ {
55
+ id: "model.run",
56
+ description: "Run a one-shot text inference turn through the agent runtime.",
57
+ transports: ["local", "gateway"],
58
+ flags: [
59
+ "--prompt",
60
+ "--model",
61
+ "--local",
62
+ "--gateway",
63
+ "--json"
64
+ ],
65
+ resultShape: "normalized payloads plus provider/model attribution"
66
+ },
67
+ {
68
+ id: "model.list",
69
+ description: "List known models from the model catalog.",
70
+ transports: ["local"],
71
+ flags: ["--json"],
72
+ resultShape: "catalog entries"
73
+ },
74
+ {
75
+ id: "model.inspect",
76
+ description: "Inspect one model catalog entry.",
77
+ transports: ["local"],
78
+ flags: ["--model", "--json"],
79
+ resultShape: "single catalog entry"
80
+ },
81
+ {
82
+ id: "model.providers",
83
+ description: "List model providers discovered from the catalog.",
84
+ transports: ["local"],
85
+ flags: ["--json"],
86
+ resultShape: "provider ids with counts and defaults"
87
+ },
88
+ {
89
+ id: "model.auth.login",
90
+ description: "Run the existing provider auth login flow.",
91
+ transports: ["local"],
92
+ flags: ["--provider"],
93
+ resultShape: "interactive auth result"
94
+ },
95
+ {
96
+ id: "model.auth.logout",
97
+ description: "Remove saved auth profiles for one provider.",
98
+ transports: ["local"],
99
+ flags: ["--provider", "--json"],
100
+ resultShape: "removed profile ids"
101
+ },
102
+ {
103
+ id: "model.auth.status",
104
+ description: "Show configured model auth state.",
105
+ transports: ["local"],
106
+ flags: ["--json"],
107
+ resultShape: "model status summary"
108
+ },
109
+ {
110
+ id: "image.generate",
111
+ description: "Generate raster images with configured image providers.",
112
+ transports: ["local"],
113
+ flags: [
114
+ "--prompt",
115
+ "--model",
116
+ "--count",
117
+ "--size",
118
+ "--aspect-ratio",
119
+ "--resolution",
120
+ "--output",
121
+ "--json"
122
+ ],
123
+ resultShape: "saved image files plus attempts"
124
+ },
125
+ {
126
+ id: "image.edit",
127
+ description: "Generate edited images from one or more input files.",
128
+ transports: ["local"],
129
+ flags: [
130
+ "--file",
131
+ "--prompt",
132
+ "--model",
133
+ "--output",
134
+ "--json"
135
+ ],
136
+ resultShape: "saved image files plus attempts"
137
+ },
138
+ {
139
+ id: "image.describe",
140
+ description: "Describe one image file through media-understanding providers.",
141
+ transports: ["local"],
142
+ flags: [
143
+ "--file",
144
+ "--prompt",
145
+ "--model",
146
+ "--json"
147
+ ],
148
+ resultShape: "normalized text output"
149
+ },
150
+ {
151
+ id: "image.describe-many",
152
+ description: "Describe multiple image files independently.",
153
+ transports: ["local"],
154
+ flags: [
155
+ "--file",
156
+ "--prompt",
157
+ "--model",
158
+ "--json"
159
+ ],
160
+ resultShape: "one text output per file"
161
+ },
162
+ {
163
+ id: "image.providers",
164
+ description: "List image generation providers.",
165
+ transports: ["local"],
166
+ flags: ["--json"],
167
+ resultShape: "provider ids and defaults"
168
+ },
169
+ {
170
+ id: "audio.transcribe",
171
+ description: "Transcribe one audio file.",
172
+ transports: ["local"],
173
+ flags: [
174
+ "--file",
175
+ "--model",
176
+ "--json"
177
+ ],
178
+ resultShape: "normalized text output"
179
+ },
180
+ {
181
+ id: "audio.providers",
182
+ description: "List audio transcription providers.",
183
+ transports: ["local"],
184
+ flags: ["--json"],
185
+ resultShape: "provider ids and capabilities"
186
+ },
187
+ {
188
+ id: "tts.convert",
189
+ description: "Convert text to speech.",
190
+ transports: ["local", "gateway"],
191
+ flags: [
192
+ "--text",
193
+ "--channel",
194
+ "--voice",
195
+ "--model",
196
+ "--output",
197
+ "--local",
198
+ "--gateway",
199
+ "--json"
200
+ ],
201
+ resultShape: "saved audio file plus attempts"
202
+ },
203
+ {
204
+ id: "tts.voices",
205
+ description: "List voices for a speech provider.",
206
+ transports: ["local"],
207
+ flags: ["--provider", "--json"],
208
+ resultShape: "voice entries"
209
+ },
210
+ {
211
+ id: "tts.providers",
212
+ description: "List speech providers.",
213
+ transports: ["local", "gateway"],
214
+ flags: [
215
+ "--local",
216
+ "--gateway",
217
+ "--json"
218
+ ],
219
+ resultShape: "provider ids, configured state, models, voices"
220
+ },
221
+ {
222
+ id: "tts.status",
223
+ description: "Show gateway-managed TTS state.",
224
+ transports: ["gateway"],
225
+ flags: ["--gateway", "--json"],
226
+ resultShape: "enabled/provider state"
227
+ },
228
+ {
229
+ id: "tts.enable",
230
+ description: "Enable TTS in prefs.",
231
+ transports: ["local", "gateway"],
232
+ flags: [
233
+ "--local",
234
+ "--gateway",
235
+ "--json"
236
+ ],
237
+ resultShape: "enabled state"
238
+ },
239
+ {
240
+ id: "tts.disable",
241
+ description: "Disable TTS in prefs.",
242
+ transports: ["local", "gateway"],
243
+ flags: [
244
+ "--local",
245
+ "--gateway",
246
+ "--json"
247
+ ],
248
+ resultShape: "enabled state"
249
+ },
250
+ {
251
+ id: "tts.set-provider",
252
+ description: "Set the active TTS provider.",
253
+ transports: ["local", "gateway"],
254
+ flags: [
255
+ "--provider",
256
+ "--local",
257
+ "--gateway",
258
+ "--json"
259
+ ],
260
+ resultShape: "selected provider"
261
+ },
262
+ {
263
+ id: "video.generate",
264
+ description: "Generate video files with configured video providers.",
265
+ transports: ["local"],
266
+ flags: [
267
+ "--prompt",
268
+ "--model",
269
+ "--output",
270
+ "--json"
271
+ ],
272
+ resultShape: "saved video files plus attempts"
273
+ },
274
+ {
275
+ id: "video.describe",
276
+ description: "Describe one video file through media-understanding providers.",
277
+ transports: ["local"],
278
+ flags: [
279
+ "--file",
280
+ "--model",
281
+ "--json"
282
+ ],
283
+ resultShape: "normalized text output"
284
+ },
285
+ {
286
+ id: "video.providers",
287
+ description: "List video generation and description providers.",
288
+ transports: ["local"],
289
+ flags: ["--json"],
290
+ resultShape: "provider ids and defaults"
291
+ },
292
+ {
293
+ id: "web.search",
294
+ description: "Run provider-backed web search.",
295
+ transports: ["local"],
296
+ flags: [
297
+ "--query",
298
+ "--provider",
299
+ "--limit",
300
+ "--json"
301
+ ],
302
+ resultShape: "search provider result"
303
+ },
304
+ {
305
+ id: "web.fetch",
306
+ description: "Fetch URL content through configured web fetch providers.",
307
+ transports: ["local"],
308
+ flags: [
309
+ "--url",
310
+ "--provider",
311
+ "--format",
312
+ "--json"
313
+ ],
314
+ resultShape: "fetch provider result"
315
+ },
316
+ {
317
+ id: "web.providers",
318
+ description: "List web search and fetch providers.",
319
+ transports: ["local"],
320
+ flags: ["--json"],
321
+ resultShape: "provider ids grouped by family"
322
+ },
323
+ {
324
+ id: "embedding.create",
325
+ description: "Create embeddings through embedding providers.",
326
+ transports: ["local"],
327
+ flags: [
328
+ "--text",
329
+ "--provider",
330
+ "--model",
331
+ "--json"
332
+ ],
333
+ resultShape: "vectors with provider/model attribution"
334
+ },
335
+ {
336
+ id: "embedding.providers",
337
+ description: "List embedding providers.",
338
+ transports: ["local"],
339
+ flags: ["--json"],
340
+ resultShape: "provider ids and default models"
341
+ }
342
+ ];
343
+ function findCapabilityMetadata(id) {
344
+ return CAPABILITY_METADATA.find((entry) => entry.id === id);
345
+ }
346
+ function resolveTransport(opts) {
347
+ if (opts.local && opts.gateway) throw new Error("Pass only one of --local or --gateway.");
348
+ if (opts.local) {
349
+ if (!opts.supported.includes("local")) throw new Error("This command does not support --local.");
350
+ return "local";
351
+ }
352
+ if (opts.gateway) {
353
+ if (!opts.supported.includes("gateway")) throw new Error("This command does not support --gateway.");
354
+ return "gateway";
355
+ }
356
+ return opts.defaultTransport;
357
+ }
358
+ function emitJsonOrText(runtime, json, value, textFormatter) {
359
+ if (json) {
360
+ writeRuntimeJson(runtime, value);
361
+ return;
362
+ }
363
+ runtime.log(textFormatter(value));
364
+ }
365
+ function formatEnvelopeForText(value) {
366
+ const envelope = value;
367
+ if (!envelope.ok) return `${envelope.capability} failed: ${envelope.error ?? "unknown error"}`;
368
+ const lines = [
369
+ `${envelope.capability} via ${envelope.transport}`,
370
+ ...envelope.provider ? [`provider: ${envelope.provider}`] : [],
371
+ ...envelope.model ? [`model: ${envelope.model}`] : [],
372
+ `outputs: ${String(envelope.outputs.length)}`
373
+ ];
374
+ for (const output of envelope.outputs) {
375
+ const pathValue = typeof output.path === "string" ? output.path : void 0;
376
+ const textValue = typeof output.text === "string" ? output.text : void 0;
377
+ if (pathValue) lines.push(pathValue);
378
+ else if (textValue) lines.push(textValue);
379
+ else lines.push(JSON.stringify(output));
380
+ }
381
+ return lines.join("\n");
382
+ }
383
+ function providerSummaryText(value) {
384
+ return value.map((entry) => JSON.stringify(entry)).join("\n");
385
+ }
386
+ function hasOwnKeys(value) {
387
+ return Boolean(value && typeof value === "object" && Object.keys(value).length > 0);
388
+ }
389
+ function resolveSelectedProviderFromModelRef(modelRef) {
390
+ return resolveModelRefOverride(modelRef).provider;
391
+ }
392
+ function getAuthProfileIdsForProvider(cfg, providerId) {
393
+ return listProfilesForProvider(loadAuthProfileStoreForRuntime(resolveAgentDir(cfg, resolveDefaultAgentId(cfg))), providerId);
394
+ }
395
+ function providerHasGenericConfig(params) {
396
+ const modelsProviders = params.cfg.models?.providers ?? {};
397
+ const pluginEntries = params.cfg.plugins?.entries ?? {};
398
+ const ttsProviders = params.cfg.messages?.tts?.providers ?? {};
399
+ const envConfigured = (params.envVars ?? []).some((envVar) => Boolean(process.env[envVar]?.trim()));
400
+ return getAuthProfileIdsForProvider(params.cfg, params.providerId).length > 0 || hasOwnKeys(modelsProviders[params.providerId]) || hasOwnKeys(pluginEntries[params.providerId]?.config) || hasOwnKeys(ttsProviders[params.providerId]) || envConfigured;
401
+ }
402
+ async function writeOutputAsset(params) {
403
+ if (!params.outputPath) {
404
+ const saved = await saveMediaBuffer(params.buffer, params.mimeType, params.subdir, Number.MAX_SAFE_INTEGER, params.originalFilename);
405
+ return {
406
+ path: saved.path,
407
+ mimeType: saved.contentType,
408
+ size: saved.size
409
+ };
410
+ }
411
+ const resolvedOutput = path.resolve(params.outputPath);
412
+ const parsed = path.parse(resolvedOutput);
413
+ const detectedMime = await detectMime({
414
+ buffer: params.buffer,
415
+ headerMime: params.mimeType
416
+ }) ?? params.mimeType;
417
+ const requestedMime = normalizeMimeType(await detectMime({ filePath: resolvedOutput }));
418
+ const detectedNormalized = normalizeMimeType(detectedMime);
419
+ const canonicalDetectedExt = extensionForMime(detectedNormalized);
420
+ const fallbackExt = parsed.ext || path.extname(params.originalFilename ?? "") || "";
421
+ const ext = parsed.ext && requestedMime === detectedNormalized ? parsed.ext : canonicalDetectedExt ?? fallbackExt;
422
+ const filePath = params.outputCount <= 1 ? path.join(parsed.dir, `${parsed.name}${ext}`) : path.join(parsed.dir, `${parsed.name}-${String(params.outputIndex + 1)}${ext}`);
423
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
424
+ await fs$1.writeFile(filePath, params.buffer);
425
+ return {
426
+ path: filePath,
427
+ mimeType: detectedNormalized ?? params.mimeType,
428
+ size: params.buffer.byteLength
429
+ };
430
+ }
431
+ async function readInputFiles(files) {
432
+ return await Promise.all(files.map(async (filePath) => ({
433
+ path: path.resolve(filePath),
434
+ buffer: await fs$1.readFile(path.resolve(filePath))
435
+ })));
436
+ }
437
+ function resolveModelRefOverride(raw) {
438
+ const trimmed = raw?.trim();
439
+ if (!trimmed) return {};
440
+ const slash = trimmed.indexOf("/");
441
+ if (slash <= 0 || slash === trimmed.length - 1) return { model: trimmed };
442
+ return {
443
+ provider: trimmed.slice(0, slash),
444
+ model: trimmed.slice(slash + 1)
445
+ };
446
+ }
447
+ function requireProviderModelOverride(raw) {
448
+ const resolved = resolveModelRefOverride(raw);
449
+ if (!raw?.trim()) return;
450
+ if (!resolved.provider || !resolved.model) throw new Error("Model overrides must use the form <provider/model>.");
451
+ return {
452
+ provider: resolved.provider,
453
+ model: resolved.model
454
+ };
455
+ }
456
+ async function runModelRun(params) {
457
+ const agentId = resolveDefaultAgentId(loadConfig());
458
+ if (params.transport === "local") {
459
+ const result = await agentCommand({
460
+ message: params.prompt,
461
+ agentId,
462
+ model: params.model,
463
+ json: false
464
+ }, {
465
+ ...defaultRuntime,
466
+ log: () => {}
467
+ }, createDefaultDeps());
468
+ return {
469
+ ok: true,
470
+ capability: "model.run",
471
+ transport: "local",
472
+ provider: result?.meta?.agentMeta?.provider,
473
+ model: result?.meta?.agentMeta?.model,
474
+ attempts: [],
475
+ outputs: (result?.payloads ?? []).map((payload) => ({
476
+ text: payload.text,
477
+ mediaUrl: payload.mediaUrl,
478
+ mediaUrls: payload.mediaUrls
479
+ }))
480
+ };
481
+ }
482
+ const { provider, model } = resolveModelRefOverride(params.model);
483
+ const response = await callGateway({
484
+ method: "agent",
485
+ params: {
486
+ agentId,
487
+ message: params.prompt,
488
+ provider,
489
+ model,
490
+ idempotencyKey: randomIdempotencyKey()
491
+ },
492
+ expectFinal: true,
493
+ timeoutMs: 12e4,
494
+ clientName: GATEWAY_CLIENT_NAMES.CLI,
495
+ mode: GATEWAY_CLIENT_MODES.CLI
496
+ });
497
+ return {
498
+ ok: true,
499
+ capability: "model.run",
500
+ transport: "gateway",
501
+ provider: response?.result?.meta?.agentMeta?.provider,
502
+ model: response?.result?.meta?.agentMeta?.model,
503
+ attempts: [],
504
+ outputs: (response?.result?.payloads ?? []).map((payload) => ({
505
+ text: payload.text,
506
+ mediaUrl: payload.mediaUrl,
507
+ mediaUrls: payload.mediaUrls
508
+ }))
509
+ };
510
+ }
511
+ async function buildModelProviders() {
512
+ const cfg = loadConfig();
513
+ const catalog = await loadModelCatalog({ config: cfg });
514
+ const selectedProvider = resolveSelectedProviderFromModelRef(resolveAgentModelPrimaryValue(cfg.agents?.defaults?.model));
515
+ const grouped = /* @__PURE__ */ new Map();
516
+ for (const entry of catalog) {
517
+ const current = grouped.get(entry.provider) ?? {
518
+ provider: entry.provider,
519
+ count: 0,
520
+ defaults: [],
521
+ available: true,
522
+ configured: providerHasGenericConfig({
523
+ cfg,
524
+ providerId: entry.provider
525
+ }),
526
+ selected: selectedProvider === entry.provider
527
+ };
528
+ current.count += 1;
529
+ if (current.defaults.length < 3) current.defaults.push(entry.id);
530
+ grouped.set(entry.provider, current);
531
+ }
532
+ return [...grouped.values()].toSorted((a, b) => a.provider.localeCompare(b.provider));
533
+ }
534
+ async function runModelAuthStatus() {
535
+ const captured = [];
536
+ await modelsStatusCommand({ json: true }, {
537
+ log: (...args) => captured.push(args.join(" ")),
538
+ error: (message) => {
539
+ throw message instanceof Error ? message : new Error(String(message));
540
+ },
541
+ exit: (code) => {
542
+ throw new Error(`exit ${code}`);
543
+ }
544
+ });
545
+ const raw = captured.find((line) => line.trim().startsWith("{"));
546
+ return raw ? JSON.parse(raw) : {};
547
+ }
548
+ async function runModelAuthLogout(provider) {
549
+ const cfg = loadConfig();
550
+ const agentDir = resolveAgentDir(cfg, resolveDefaultAgentId(cfg));
551
+ const profileIds = listProfilesForProvider(loadAuthProfileStoreForRuntime(agentDir), provider);
552
+ if (!await updateAuthProfileStoreWithLock({
553
+ agentDir,
554
+ updater: (nextStore) => {
555
+ let changed = false;
556
+ for (const profileId of profileIds) {
557
+ if (nextStore.profiles[profileId]) {
558
+ delete nextStore.profiles[profileId];
559
+ changed = true;
560
+ }
561
+ if (nextStore.usageStats?.[profileId]) {
562
+ delete nextStore.usageStats[profileId];
563
+ changed = true;
564
+ }
565
+ }
566
+ if (nextStore.order?.[provider]) {
567
+ delete nextStore.order[provider];
568
+ changed = true;
569
+ }
570
+ if (nextStore.lastGood?.[provider]) {
571
+ delete nextStore.lastGood[provider];
572
+ changed = true;
573
+ }
574
+ return changed;
575
+ }
576
+ })) throw new Error(`Failed to remove saved auth profiles for provider ${provider}.`);
577
+ return {
578
+ provider,
579
+ removedProfiles: profileIds
580
+ };
581
+ }
582
+ async function runImageGenerate(params) {
583
+ const cfg = loadConfig();
584
+ const agentDir = resolveAgentDir(cfg, resolveDefaultAgentId(cfg));
585
+ const inputImages = params.file && params.file.length > 0 ? await Promise.all((await readInputFiles(params.file)).map(async (entry) => ({
586
+ buffer: entry.buffer,
587
+ fileName: path.basename(entry.path),
588
+ mimeType: await detectMime({
589
+ buffer: entry.buffer,
590
+ filePath: entry.path
591
+ }) ?? "image/png"
592
+ }))) : void 0;
593
+ const result = await generateImage({
594
+ cfg,
595
+ agentDir,
596
+ prompt: params.prompt,
597
+ modelOverride: params.model,
598
+ count: params.count,
599
+ size: params.size,
600
+ aspectRatio: params.aspectRatio,
601
+ resolution: params.resolution,
602
+ inputImages
603
+ });
604
+ const outputs = await Promise.all(result.images.map(async (image, index) => {
605
+ const written = await writeOutputAsset({
606
+ buffer: image.buffer,
607
+ mimeType: image.mimeType,
608
+ originalFilename: image.fileName,
609
+ outputPath: params.output,
610
+ outputIndex: index,
611
+ outputCount: result.images.length,
612
+ subdir: "generated"
613
+ });
614
+ const metadata = await getImageMetadata(image.buffer).catch(() => void 0);
615
+ return {
616
+ ...written,
617
+ width: metadata?.width,
618
+ height: metadata?.height,
619
+ revisedPrompt: image.revisedPrompt
620
+ };
621
+ }));
622
+ return {
623
+ ok: true,
624
+ capability: params.capability,
625
+ transport: "local",
626
+ provider: result.provider,
627
+ model: result.model,
628
+ attempts: result.attempts,
629
+ outputs
630
+ };
631
+ }
632
+ async function runImageDescribe(params) {
633
+ const cfg = loadConfig();
634
+ const agentDir = resolveAgentDir(cfg, resolveDefaultAgentId(cfg));
635
+ const activeModel = requireProviderModelOverride(params.model);
636
+ const outputs = await Promise.all(params.files.map(async (filePath) => {
637
+ const resolvedPath = path.resolve(filePath);
638
+ const result = activeModel ? await describeImageFileWithModel({
639
+ filePath: resolvedPath,
640
+ cfg,
641
+ agentDir,
642
+ provider: activeModel.provider,
643
+ model: activeModel.model,
644
+ prompt: "Describe the image."
645
+ }) : await describeImageFile({
646
+ filePath: resolvedPath,
647
+ cfg,
648
+ agentDir
649
+ });
650
+ if (!result.text) throw new Error(`No description returned for image: ${resolvedPath}`);
651
+ return {
652
+ path: resolvedPath,
653
+ text: result.text,
654
+ provider: activeModel?.provider ?? ("provider" in result ? result.provider : void 0),
655
+ model: result.model,
656
+ kind: "image.description"
657
+ };
658
+ }));
659
+ return {
660
+ ok: true,
661
+ capability: params.capability,
662
+ transport: "local",
663
+ provider: outputs[0]?.provider,
664
+ model: outputs[0]?.model,
665
+ attempts: [],
666
+ outputs
667
+ };
668
+ }
669
+ async function runAudioTranscribe(params) {
670
+ const cfg = loadConfig();
671
+ const activeModel = requireProviderModelOverride(params.model);
672
+ const result = await transcribeAudioFile({
673
+ filePath: path.resolve(params.file),
674
+ cfg,
675
+ language: params.language,
676
+ activeModel,
677
+ prompt: params.prompt
678
+ });
679
+ if (!result.text) throw new Error(`No transcript returned for audio: ${path.resolve(params.file)}`);
680
+ return {
681
+ ok: true,
682
+ capability: "audio.transcribe",
683
+ transport: "local",
684
+ attempts: [],
685
+ outputs: [{
686
+ path: path.resolve(params.file),
687
+ text: result.text,
688
+ kind: "audio.transcription"
689
+ }]
690
+ };
691
+ }
692
+ async function runVideoGenerate(params) {
693
+ const cfg = loadConfig();
694
+ const result = await generateVideo({
695
+ cfg,
696
+ agentDir: resolveAgentDir(cfg, resolveDefaultAgentId(cfg)),
697
+ prompt: params.prompt,
698
+ modelOverride: params.model
699
+ });
700
+ const outputs = await Promise.all(result.videos.map(async (video, index) => {
701
+ if (!video.buffer && !video.url) throw new Error(`Video asset at index ${index} has neither buffer nor url`);
702
+ let videoBuffer = video.buffer;
703
+ if (!videoBuffer && video.url) {
704
+ const response = await fetch(video.url, { signal: AbortSignal.timeout(12e4) });
705
+ if (!response.ok) throw new Error(`Failed to download video from ${video.url}: ${response.status}`);
706
+ if (params.output && response.body) {
707
+ const ext = extensionForMime(normalizeMimeType(video.mimeType)) || path.extname(video.fileName ?? "") || path.extname(params.output ?? "");
708
+ const resolvedOutput = path.resolve(params.output);
709
+ const parsed = path.parse(resolvedOutput);
710
+ const filePath = result.videos.length <= 1 ? path.join(parsed.dir, `${parsed.name}${ext}`) : path.join(parsed.dir, `${parsed.name}-${String(index + 1)}${ext}`);
711
+ await fs$1.mkdir(path.dirname(filePath), { recursive: true });
712
+ await pipeline(Readable.fromWeb(response.body), createWriteStream(filePath));
713
+ const stat = await fs$1.stat(filePath);
714
+ return {
715
+ path: filePath,
716
+ mimeType: video.mimeType,
717
+ size: stat.size
718
+ };
719
+ }
720
+ videoBuffer = Buffer.from(await response.arrayBuffer());
721
+ }
722
+ return { ...await writeOutputAsset({
723
+ buffer: videoBuffer,
724
+ mimeType: video.mimeType,
725
+ originalFilename: video.fileName,
726
+ outputPath: params.output,
727
+ outputIndex: index,
728
+ outputCount: result.videos.length,
729
+ subdir: "generated"
730
+ }) };
731
+ }));
732
+ return {
733
+ ok: true,
734
+ capability: "video.generate",
735
+ transport: "local",
736
+ provider: result.provider,
737
+ model: result.model,
738
+ attempts: result.attempts,
739
+ outputs
740
+ };
741
+ }
742
+ async function runVideoDescribe(params) {
743
+ const cfg = loadConfig();
744
+ const activeModel = requireProviderModelOverride(params.model);
745
+ const result = await describeVideoFile({
746
+ filePath: path.resolve(params.file),
747
+ cfg,
748
+ activeModel
749
+ });
750
+ if (!result.text) throw new Error(`No description returned for video: ${path.resolve(params.file)}`);
751
+ return {
752
+ ok: true,
753
+ capability: "video.describe",
754
+ transport: "local",
755
+ provider: result.provider,
756
+ model: result.model,
757
+ attempts: [],
758
+ outputs: [{
759
+ path: path.resolve(params.file),
760
+ text: result.text,
761
+ kind: "video.description"
762
+ }]
763
+ };
764
+ }
765
+ async function runTtsConvert(params) {
766
+ if (params.transport === "gateway") {
767
+ const gatewayConnection = buildGatewayConnectionDetailsWithResolvers({ config: loadConfig() });
768
+ const result = await callGateway({
769
+ method: "tts.convert",
770
+ params: {
771
+ text: params.text,
772
+ channel: params.channel,
773
+ provider: normalizeOptionalString(params.provider),
774
+ modelId: params.modelId,
775
+ voiceId: params.voiceId
776
+ },
777
+ timeoutMs: 12e4
778
+ });
779
+ let outputPath = result.audioPath;
780
+ if (params.output && result.audioPath) {
781
+ const gatewayHost = new URL(gatewayConnection.url).hostname;
782
+ if (!isLoopbackHost(gatewayHost)) throw new Error(`--output is not supported for remote gateway TTS yet (gateway target: ${gatewayConnection.url}).`);
783
+ const target = path.resolve(params.output);
784
+ await fs$1.mkdir(path.dirname(target), { recursive: true });
785
+ await fs$1.copyFile(result.audioPath, target);
786
+ outputPath = target;
787
+ }
788
+ return {
789
+ ok: true,
790
+ capability: "tts.convert",
791
+ transport: "gateway",
792
+ provider: result.provider,
793
+ attempts: [],
794
+ outputs: [{
795
+ path: outputPath,
796
+ format: result.outputFormat,
797
+ voiceCompatible: result.voiceCompatible
798
+ }]
799
+ };
800
+ }
801
+ const cfg = loadConfig();
802
+ const overrides = resolveExplicitTtsOverrides({
803
+ cfg,
804
+ provider: params.provider,
805
+ modelId: params.modelId,
806
+ voiceId: params.voiceId
807
+ });
808
+ const hasExplicitSelection = Boolean(overrides.provider || normalizeOptionalString(params.modelId) || normalizeOptionalString(params.voiceId));
809
+ const result = await textToSpeech({
810
+ text: params.text,
811
+ cfg,
812
+ channel: params.channel,
813
+ overrides,
814
+ disableFallback: hasExplicitSelection
815
+ });
816
+ if (!result.success || !result.audioPath) throw new Error(result.error ?? "TTS conversion failed");
817
+ let outputPath = result.audioPath;
818
+ if (params.output) {
819
+ const target = path.resolve(params.output);
820
+ await fs$1.mkdir(path.dirname(target), { recursive: true });
821
+ await fs$1.copyFile(result.audioPath, target);
822
+ outputPath = target;
823
+ }
824
+ return {
825
+ ok: true,
826
+ capability: "tts.convert",
827
+ transport: "local",
828
+ provider: result.provider,
829
+ attempts: result.attempts ?? [],
830
+ outputs: [{
831
+ path: outputPath,
832
+ format: result.outputFormat,
833
+ voiceCompatible: result.voiceCompatible
834
+ }]
835
+ };
836
+ }
837
+ async function runTtsProviders(transport) {
838
+ const cfg = loadConfig();
839
+ if (transport === "gateway") {
840
+ const payload = await callGateway({
841
+ method: "tts.providers",
842
+ timeoutMs: 3e4
843
+ });
844
+ return {
845
+ ...payload,
846
+ providers: (payload.providers ?? []).map((provider) => {
847
+ const id = typeof provider.id === "string" ? provider.id : "";
848
+ return Object.assign({
849
+ available: true,
850
+ configured: typeof provider.configured === `boolean` ? provider.configured : providerHasGenericConfig({
851
+ cfg,
852
+ providerId: id
853
+ }),
854
+ selected: Boolean(id && payload.active === id)
855
+ }, provider);
856
+ })
857
+ };
858
+ }
859
+ const config = resolveTtsConfig(cfg);
860
+ const active = getTtsProvider(config, resolveTtsPrefsPath(config));
861
+ return {
862
+ providers: listSpeechProviders(cfg).map((provider) => ({
863
+ available: true,
864
+ configured: active === provider.id || providerHasGenericConfig({
865
+ cfg,
866
+ providerId: provider.id
867
+ }),
868
+ selected: active === provider.id,
869
+ id: provider.id,
870
+ name: provider.label,
871
+ models: [...provider.models ?? []],
872
+ voices: [...provider.voices ?? []]
873
+ })),
874
+ active
875
+ };
876
+ }
877
+ async function runTtsVoices(providerRaw) {
878
+ const cfg = loadConfig();
879
+ const config = resolveTtsConfig(cfg);
880
+ const prefsPath = resolveTtsPrefsPath(config);
881
+ return await listSpeechVoices({
882
+ provider: normalizeOptionalString(providerRaw) || getTtsProvider(config, prefsPath),
883
+ cfg,
884
+ config
885
+ });
886
+ }
887
+ async function runTtsStateMutation(params) {
888
+ if (params.transport === "gateway") return await callGateway({
889
+ method: params.capability === "tts.enable" ? "tts.enable" : params.capability === "tts.disable" ? "tts.disable" : "tts.setProvider",
890
+ params: params.provider ? { provider: params.provider } : void 0,
891
+ timeoutMs: 3e4
892
+ });
893
+ const cfg = loadConfig();
894
+ const prefsPath = resolveTtsPrefsPath(resolveTtsConfig(cfg));
895
+ if (params.capability === "tts.enable") {
896
+ setTtsEnabled(prefsPath, true);
897
+ return { enabled: true };
898
+ }
899
+ if (params.capability === "tts.disable") {
900
+ setTtsEnabled(prefsPath, false);
901
+ return { enabled: false };
902
+ }
903
+ if (!params.provider) throw new Error("--provider is required");
904
+ const provider = canonicalizeSpeechProviderId(params.provider, cfg);
905
+ if (!provider) throw new Error(`Unknown speech provider: ${params.provider}`);
906
+ setTtsProvider(prefsPath, provider);
907
+ return { provider };
908
+ }
909
+ async function runWebSearchCommand(params) {
910
+ const result = await runWebSearch({
911
+ config: loadConfig(),
912
+ providerId: params.provider,
913
+ args: {
914
+ query: params.query,
915
+ count: params.limit,
916
+ limit: params.limit
917
+ }
918
+ });
919
+ return {
920
+ ok: true,
921
+ capability: "web.search",
922
+ transport: "local",
923
+ provider: result.provider,
924
+ attempts: [],
925
+ outputs: [{ result: result.result }]
926
+ };
927
+ }
928
+ async function runWebFetchCommand(params) {
929
+ const resolved = resolveWebFetchDefinition({
930
+ config: loadConfig(),
931
+ providerId: params.provider
932
+ });
933
+ if (!resolved) throw new Error("web.fetch is disabled or no provider is available.");
934
+ const result = await resolved.definition.execute({
935
+ url: params.url,
936
+ format: params.format
937
+ });
938
+ return {
939
+ ok: true,
940
+ capability: "web.fetch",
941
+ transport: "local",
942
+ provider: resolved.provider.id,
943
+ attempts: [],
944
+ outputs: [{ result }]
945
+ };
946
+ }
947
+ async function runMemoryEmbeddingCreate(params) {
948
+ ensureMemoryEmbeddingProvidersRegistered();
949
+ const cfg = loadConfig();
950
+ const modelRef = resolveModelRefOverride(params.model);
951
+ const requestedProvider = normalizeOptionalString(params.provider) || modelRef.provider || "auto";
952
+ const result = await createEmbeddingProvider({
953
+ config: cfg,
954
+ agentDir: resolveAgentDir(cfg, resolveDefaultAgentId(cfg)),
955
+ provider: requestedProvider,
956
+ fallback: "none",
957
+ model: modelRef.model ?? ""
958
+ });
959
+ if (!result.provider) throw new Error(result.providerUnavailableReason ?? "No embedding provider available.");
960
+ const embeddings = await result.provider.embedBatch(params.texts);
961
+ return {
962
+ ok: true,
963
+ capability: "embedding.create",
964
+ transport: "local",
965
+ provider: result.provider.id,
966
+ model: result.provider.model,
967
+ attempts: result.fallbackFrom ? [{
968
+ provider: result.fallbackFrom,
969
+ outcome: "failed",
970
+ error: result.fallbackReason
971
+ }] : [],
972
+ outputs: embeddings.map((embedding, index) => ({
973
+ text: params.texts[index],
974
+ embedding,
975
+ dimensions: embedding.length
976
+ }))
977
+ };
978
+ }
979
+ function ensureMemoryEmbeddingProvidersRegistered() {
980
+ if (listMemoryEmbeddingProviders().length > 0) return;
981
+ registerBuiltInMemoryEmbeddingProviders({ registerMemoryEmbeddingProvider });
982
+ }
983
+ function registerCapabilityListAndInspect(capability) {
984
+ capability.command("list").description("List canonical capability ids and supported transports").option("--json", "Output JSON", false).action(async (opts) => {
985
+ await runCommandWithRuntime(defaultRuntime, async () => {
986
+ const result = CAPABILITY_METADATA.map((entry) => ({
987
+ id: entry.id,
988
+ transports: entry.transports,
989
+ description: entry.description
990
+ }));
991
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, providerSummaryText);
992
+ });
993
+ });
994
+ capability.command("inspect").description("Inspect one canonical capability id").requiredOption("--name <capability>", "Capability id").option("--json", "Output JSON", false).action(async (opts) => {
995
+ await runCommandWithRuntime(defaultRuntime, async () => {
996
+ const entry = findCapabilityMetadata(String(opts.name));
997
+ if (!entry) throw new Error(`Unknown capability: ${String(opts.name)}`);
998
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), entry, (value) => JSON.stringify(value, null, 2));
999
+ });
1000
+ });
1001
+ }
1002
+ function registerCapabilityCli(program) {
1003
+ removeCommandByName(program, "infer");
1004
+ removeCommandByName(program, "capability");
1005
+ 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", "genesis.pixelzx.com/docs/cli/infer")}\n`);
1006
+ registerCapabilityListAndInspect(capability);
1007
+ const model = capability.command("model").description("Text inference and model catalog commands");
1008
+ model.command("run").description("Run a one-shot model turn").requiredOption("--prompt <text>", "Prompt text").option("--model <provider/model>", "Model override").option("--local", "Force local execution", false).option("--gateway", "Force gateway execution", false).option("--json", "Output JSON", false).action(async (opts) => {
1009
+ await runCommandWithRuntime(defaultRuntime, async () => {
1010
+ const transport = resolveTransport({
1011
+ local: Boolean(opts.local),
1012
+ gateway: Boolean(opts.gateway),
1013
+ supported: ["local", "gateway"],
1014
+ defaultTransport: "local"
1015
+ });
1016
+ const result = await runModelRun({
1017
+ prompt: String(opts.prompt),
1018
+ model: opts.model,
1019
+ transport
1020
+ });
1021
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1022
+ });
1023
+ });
1024
+ model.command("list").description("List known models").option("--json", "Output JSON", false).action(async (opts) => {
1025
+ await runCommandWithRuntime(defaultRuntime, async () => {
1026
+ const result = await loadModelCatalog({ config: loadConfig() });
1027
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, providerSummaryText);
1028
+ });
1029
+ });
1030
+ model.command("inspect").description("Inspect one model catalog entry").requiredOption("--model <provider/model>", "Model id").option("--json", "Output JSON", false).action(async (opts) => {
1031
+ await runCommandWithRuntime(defaultRuntime, async () => {
1032
+ const target = normalizeStringifiedOptionalString(opts.model) ?? "";
1033
+ const catalog = await loadModelCatalog({ config: loadConfig() });
1034
+ const entry = catalog.find((candidate) => `${candidate.provider}/${candidate.id}` === target) ?? catalog.find((candidate) => candidate.id === target);
1035
+ if (!entry) throw new Error(`Model not found: ${target}`);
1036
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), entry, (value) => JSON.stringify(value, null, 2));
1037
+ });
1038
+ });
1039
+ model.command("providers").description("List model providers from the catalog").option("--json", "Output JSON", false).action(async (opts) => {
1040
+ await runCommandWithRuntime(defaultRuntime, async () => {
1041
+ const result = await buildModelProviders();
1042
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, providerSummaryText);
1043
+ });
1044
+ });
1045
+ const modelAuth = model.command("auth").description("Provider auth helpers");
1046
+ modelAuth.command("login").description("Run provider auth login").requiredOption("--provider <id>", "Provider id").action(async (opts) => {
1047
+ await runCommandWithRuntime(defaultRuntime, async () => {
1048
+ await modelsAuthLoginCommand({ provider: String(opts.provider) }, defaultRuntime);
1049
+ });
1050
+ });
1051
+ modelAuth.command("logout").description("Remove saved auth profiles for one provider").requiredOption("--provider <id>", "Provider id").option("--json", "Output JSON", false).action(async (opts) => {
1052
+ await runCommandWithRuntime(defaultRuntime, async () => {
1053
+ const result = await runModelAuthLogout(String(opts.provider));
1054
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1055
+ });
1056
+ });
1057
+ modelAuth.command("status").description("Show configured auth state").option("--json", "Output JSON", false).action(async (opts) => {
1058
+ await runCommandWithRuntime(defaultRuntime, async () => {
1059
+ const result = await runModelAuthStatus();
1060
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1061
+ });
1062
+ });
1063
+ const image = capability.command("image").description("Image generation and description");
1064
+ 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 <path>", "Output path").option("--json", "Output JSON", false).action(async (opts) => {
1065
+ await runCommandWithRuntime(defaultRuntime, async () => {
1066
+ const result = await runImageGenerate({
1067
+ capability: "image.generate",
1068
+ prompt: String(opts.prompt),
1069
+ model: opts.model,
1070
+ count: opts.count ? Number.parseInt(String(opts.count), 10) : void 0,
1071
+ size: opts.size,
1072
+ aspectRatio: opts.aspectRatio,
1073
+ resolution: opts.resolution,
1074
+ output: opts.output
1075
+ });
1076
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1077
+ });
1078
+ });
1079
+ 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("--output <path>", "Output path").option("--json", "Output JSON", false).action(async (opts) => {
1080
+ await runCommandWithRuntime(defaultRuntime, async () => {
1081
+ const files = Array.isArray(opts.file) ? opts.file : [String(opts.file)];
1082
+ const result = await runImageGenerate({
1083
+ capability: "image.edit",
1084
+ prompt: String(opts.prompt),
1085
+ model: opts.model,
1086
+ file: files,
1087
+ output: opts.output
1088
+ });
1089
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1090
+ });
1091
+ });
1092
+ image.command("describe").description("Describe one image file").requiredOption("--file <path>", "Image file").option("--model <provider/model>", "Model override").option("--json", "Output JSON", false).action(async (opts) => {
1093
+ await runCommandWithRuntime(defaultRuntime, async () => {
1094
+ const result = await runImageDescribe({
1095
+ capability: "image.describe",
1096
+ files: [String(opts.file)],
1097
+ model: opts.model
1098
+ });
1099
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1100
+ });
1101
+ });
1102
+ image.command("describe-many").description("Describe multiple image files").requiredOption("--file <path>", "Image file", collectOption, []).option("--model <provider/model>", "Model override").option("--json", "Output JSON", false).action(async (opts) => {
1103
+ await runCommandWithRuntime(defaultRuntime, async () => {
1104
+ const result = await runImageDescribe({
1105
+ capability: "image.describe-many",
1106
+ files: opts.file,
1107
+ model: opts.model
1108
+ });
1109
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1110
+ });
1111
+ });
1112
+ image.command("providers").description("List image generation providers").option("--json", "Output JSON", false).action(async (opts) => {
1113
+ await runCommandWithRuntime(defaultRuntime, async () => {
1114
+ const cfg = loadConfig();
1115
+ const selectedProvider = resolveSelectedProviderFromModelRef(resolveAgentModelPrimaryValue(cfg.agents?.defaults?.imageGenerationModel));
1116
+ const result = listRuntimeImageGenerationProviders({ config: cfg }).map((provider) => ({
1117
+ available: true,
1118
+ configured: selectedProvider === provider.id || providerHasGenericConfig({
1119
+ cfg,
1120
+ providerId: provider.id
1121
+ }),
1122
+ selected: selectedProvider === provider.id,
1123
+ id: provider.id,
1124
+ label: provider.label,
1125
+ defaultModel: provider.defaultModel,
1126
+ models: provider.models ?? [],
1127
+ capabilities: provider.capabilities
1128
+ }));
1129
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, providerSummaryText);
1130
+ });
1131
+ });
1132
+ const audio = capability.command("audio").description("Audio transcription");
1133
+ 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) => {
1134
+ await runCommandWithRuntime(defaultRuntime, async () => {
1135
+ const result = await runAudioTranscribe({
1136
+ file: String(opts.file),
1137
+ language: opts.language,
1138
+ model: opts.model,
1139
+ prompt: opts.prompt
1140
+ });
1141
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1142
+ });
1143
+ });
1144
+ audio.command("providers").description("List audio transcription providers").option("--json", "Output JSON", false).action(async (opts) => {
1145
+ await runCommandWithRuntime(defaultRuntime, async () => {
1146
+ const cfg = loadConfig();
1147
+ const providers = [...buildMediaUnderstandingRegistry(void 0, cfg).values()].filter((provider) => provider.capabilities?.includes("audio")).map((provider) => ({
1148
+ available: true,
1149
+ configured: providerHasGenericConfig({
1150
+ cfg,
1151
+ providerId: provider.id,
1152
+ envVars: getProviderEnvVars(provider.id, {
1153
+ config: cfg,
1154
+ includeUntrustedWorkspacePlugins: false
1155
+ })
1156
+ }),
1157
+ selected: false,
1158
+ id: provider.id,
1159
+ capabilities: provider.capabilities,
1160
+ defaultModels: provider.defaultModels
1161
+ }));
1162
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), providers, providerSummaryText);
1163
+ });
1164
+ });
1165
+ const tts = capability.command("tts").description("Text to speech");
1166
+ 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) => {
1167
+ await runCommandWithRuntime(defaultRuntime, async () => {
1168
+ const transport = resolveTransport({
1169
+ local: Boolean(opts.local),
1170
+ gateway: Boolean(opts.gateway),
1171
+ supported: ["local", "gateway"],
1172
+ defaultTransport: "local"
1173
+ });
1174
+ const modelRef = resolveModelRefOverride(opts.model);
1175
+ if (opts.model && !modelRef.provider) throw new Error("TTS model overrides must use the form <provider/model>.");
1176
+ const result = await runTtsConvert({
1177
+ text: String(opts.text),
1178
+ channel: opts.channel,
1179
+ provider: modelRef.provider,
1180
+ modelId: modelRef.provider ? modelRef.model : void 0,
1181
+ voiceId: opts.voice,
1182
+ output: opts.output,
1183
+ transport
1184
+ });
1185
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1186
+ });
1187
+ });
1188
+ tts.command("voices").description("List voices for a TTS provider").option("--provider <id>", "Speech provider id").option("--json", "Output JSON", false).action(async (opts) => {
1189
+ await runCommandWithRuntime(defaultRuntime, async () => {
1190
+ const voices = await runTtsVoices(opts.provider);
1191
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), voices, providerSummaryText);
1192
+ });
1193
+ });
1194
+ 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) => {
1195
+ await runCommandWithRuntime(defaultRuntime, async () => {
1196
+ const result = await runTtsProviders(resolveTransport({
1197
+ local: Boolean(opts.local),
1198
+ gateway: Boolean(opts.gateway),
1199
+ supported: ["local", "gateway"],
1200
+ defaultTransport: "local"
1201
+ }));
1202
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1203
+ });
1204
+ });
1205
+ tts.command("status").description("Show TTS status").option("--gateway", "Force gateway execution", false).option("--json", "Output JSON", false).action(async (opts) => {
1206
+ await runCommandWithRuntime(defaultRuntime, async () => {
1207
+ const transport = resolveTransport({
1208
+ gateway: Boolean(opts.gateway),
1209
+ supported: ["gateway"],
1210
+ defaultTransport: "gateway"
1211
+ });
1212
+ const result = await callGateway({
1213
+ method: "tts.status",
1214
+ timeoutMs: 3e4
1215
+ });
1216
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), {
1217
+ transport,
1218
+ ...result
1219
+ }, (value) => JSON.stringify(value, null, 2));
1220
+ });
1221
+ });
1222
+ 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) => {
1223
+ await runCommandWithRuntime(defaultRuntime, async () => {
1224
+ const result = await runTtsStateMutation({
1225
+ capability: capabilityId,
1226
+ transport: resolveTransport({
1227
+ local: Boolean(opts.local),
1228
+ gateway: Boolean(opts.gateway),
1229
+ supported: ["local", "gateway"],
1230
+ defaultTransport: "gateway"
1231
+ })
1232
+ });
1233
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1234
+ });
1235
+ });
1236
+ 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) => {
1237
+ await runCommandWithRuntime(defaultRuntime, async () => {
1238
+ const transport = resolveTransport({
1239
+ local: Boolean(opts.local),
1240
+ gateway: Boolean(opts.gateway),
1241
+ supported: ["local", "gateway"],
1242
+ defaultTransport: "gateway"
1243
+ });
1244
+ const result = await runTtsStateMutation({
1245
+ capability: "tts.set-provider",
1246
+ provider: String(opts.provider),
1247
+ transport
1248
+ });
1249
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1250
+ });
1251
+ });
1252
+ const video = capability.command("video").description("Video generation and description");
1253
+ video.command("generate").description("Generate video").requiredOption("--prompt <text>", "Prompt text").option("--model <provider/model>", "Model override").option("--output <path>", "Output path").option("--json", "Output JSON", false).action(async (opts) => {
1254
+ await runCommandWithRuntime(defaultRuntime, async () => {
1255
+ const result = await runVideoGenerate({
1256
+ prompt: String(opts.prompt),
1257
+ model: opts.model,
1258
+ output: opts.output
1259
+ });
1260
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1261
+ });
1262
+ });
1263
+ 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) => {
1264
+ await runCommandWithRuntime(defaultRuntime, async () => {
1265
+ const result = await runVideoDescribe({
1266
+ file: String(opts.file),
1267
+ model: opts.model
1268
+ });
1269
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1270
+ });
1271
+ });
1272
+ video.command("providers").description("List video generation and description providers").option("--json", "Output JSON", false).action(async (opts) => {
1273
+ await runCommandWithRuntime(defaultRuntime, async () => {
1274
+ const cfg = loadConfig();
1275
+ const selectedGenerationProvider = resolveSelectedProviderFromModelRef(resolveAgentModelPrimaryValue(cfg.agents?.defaults?.videoGenerationModel));
1276
+ const result = {
1277
+ generation: listRuntimeVideoGenerationProviders({ config: cfg }).map((provider) => ({
1278
+ available: true,
1279
+ configured: selectedGenerationProvider === provider.id || providerHasGenericConfig({
1280
+ cfg,
1281
+ providerId: provider.id
1282
+ }),
1283
+ selected: selectedGenerationProvider === provider.id,
1284
+ id: provider.id,
1285
+ label: provider.label,
1286
+ defaultModel: provider.defaultModel,
1287
+ models: provider.models ?? [],
1288
+ capabilities: provider.capabilities
1289
+ })),
1290
+ description: [...buildMediaUnderstandingRegistry(void 0, cfg).values()].filter((provider) => provider.capabilities?.includes("video")).map((provider) => ({
1291
+ available: true,
1292
+ configured: providerHasGenericConfig({
1293
+ cfg,
1294
+ providerId: provider.id
1295
+ }),
1296
+ selected: false,
1297
+ id: provider.id,
1298
+ capabilities: provider.capabilities,
1299
+ defaultModels: provider.defaultModels
1300
+ }))
1301
+ };
1302
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1303
+ });
1304
+ });
1305
+ const web = capability.command("web").description("Web capabilities");
1306
+ 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) => {
1307
+ await runCommandWithRuntime(defaultRuntime, async () => {
1308
+ const result = await runWebSearchCommand({
1309
+ query: String(opts.query),
1310
+ provider: opts.provider,
1311
+ limit: opts.limit ? Number.parseInt(String(opts.limit), 10) : void 0
1312
+ });
1313
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1314
+ });
1315
+ });
1316
+ 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) => {
1317
+ await runCommandWithRuntime(defaultRuntime, async () => {
1318
+ const result = await runWebFetchCommand({
1319
+ url: String(opts.url),
1320
+ provider: opts.provider,
1321
+ format: opts.format
1322
+ });
1323
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1324
+ });
1325
+ });
1326
+ web.command("providers").description("List web providers").option("--json", "Output JSON", false).action(async (opts) => {
1327
+ await runCommandWithRuntime(defaultRuntime, async () => {
1328
+ const cfg = loadConfig();
1329
+ const selectedSearchProvider = typeof cfg.tools?.web?.search?.provider === "string" ? normalizeLowercaseStringOrEmpty(cfg.tools.web.search.provider) : "";
1330
+ const selectedFetchProvider = typeof cfg.tools?.web?.fetch?.provider === "string" ? normalizeLowercaseStringOrEmpty(cfg.tools.web.fetch.provider) : "";
1331
+ const result = {
1332
+ search: listWebSearchProviders({ config: cfg }).map((provider) => ({
1333
+ available: true,
1334
+ configured: isWebSearchProviderConfigured({
1335
+ provider,
1336
+ config: cfg
1337
+ }),
1338
+ selected: provider.id === selectedSearchProvider,
1339
+ id: provider.id,
1340
+ envVars: provider.envVars
1341
+ })),
1342
+ fetch: listWebFetchProviders({ config: cfg }).map((provider) => ({
1343
+ available: true,
1344
+ configured: isWebFetchProviderConfigured({
1345
+ provider,
1346
+ config: cfg
1347
+ }),
1348
+ selected: provider.id === selectedFetchProvider,
1349
+ id: provider.id,
1350
+ envVars: provider.envVars
1351
+ }))
1352
+ };
1353
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, (value) => JSON.stringify(value, null, 2));
1354
+ });
1355
+ });
1356
+ const embedding = capability.command("embedding").description("Embedding providers");
1357
+ 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) => {
1358
+ await runCommandWithRuntime(defaultRuntime, async () => {
1359
+ const result = await runMemoryEmbeddingCreate({
1360
+ texts: opts.text,
1361
+ provider: opts.provider,
1362
+ model: opts.model
1363
+ });
1364
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, formatEnvelopeForText);
1365
+ });
1366
+ });
1367
+ embedding.command("providers").description("List embedding providers").option("--json", "Output JSON", false).action(async (opts) => {
1368
+ await runCommandWithRuntime(defaultRuntime, async () => {
1369
+ ensureMemoryEmbeddingProvidersRegistered();
1370
+ const cfg = loadConfig();
1371
+ const agentId = resolveDefaultAgentId(cfg);
1372
+ const resolvedMemory = resolveMemorySearchConfig(cfg, agentId);
1373
+ const selectedProvider = resolvedMemory?.provider && resolvedMemory.provider !== "auto" ? resolvedMemory.provider : void 0;
1374
+ const autoSelectedProvider = resolvedMemory?.provider === "auto" ? (await createEmbeddingProvider({
1375
+ config: cfg,
1376
+ agentDir: resolveAgentDir(cfg, agentId),
1377
+ provider: "auto",
1378
+ fallback: "none",
1379
+ model: resolvedMemory.model,
1380
+ local: resolvedMemory.local,
1381
+ remote: resolvedMemory.remote,
1382
+ outputDimensionality: resolvedMemory.outputDimensionality
1383
+ }).catch(() => ({ provider: null })))?.provider?.id : void 0;
1384
+ const result = listMemoryEmbeddingProviders().map((provider) => ({
1385
+ available: true,
1386
+ configured: provider.id === selectedProvider || provider.id === autoSelectedProvider || providerHasGenericConfig({
1387
+ cfg,
1388
+ providerId: provider.id
1389
+ }),
1390
+ selected: provider.id === selectedProvider || provider.id === autoSelectedProvider,
1391
+ id: provider.id,
1392
+ defaultModel: provider.defaultModel,
1393
+ transport: provider.transport,
1394
+ autoSelectPriority: provider.autoSelectPriority
1395
+ }));
1396
+ emitJsonOrText(defaultRuntime, Boolean(opts.json), result, providerSummaryText);
1397
+ });
1398
+ });
1399
+ }
1400
+ //#endregion
1401
+ export { registerCapabilityCli };