@pixelzx/genesis 2026.7.8 → 2026.7.9

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 (1003) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-Cp36iDXn.js +201 -0
  4. package/dist/abort.runtime-BqMH4Ch0.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-Cj71Cowh.js +107 -0
  7. package/dist/accounts-QWkosmHS.js +104 -0
  8. package/dist/accounts-WfCxilPE.js +2 -0
  9. package/dist/acp-cli-DR-AhXGk.js +2217 -0
  10. package/dist/acp-spawn--QIKNFAi.js +2 -0
  11. package/dist/acp-spawn-C6RL4_5_.js +1042 -0
  12. package/dist/acp-stateful-target-driver-Dhv06vdx.js +89 -0
  13. package/dist/action-agents-CIt7iEZU.js +67 -0
  14. package/dist/action-focus-opQp57IZ.js +132 -0
  15. package/dist/action-help-_OV2kuH9.js +7 -0
  16. package/dist/action-info-aoU6FqoU.js +101 -0
  17. package/dist/action-kill-DFlW_b4o.js +33 -0
  18. package/dist/action-list-CAYQg5qC.js +21 -0
  19. package/dist/action-log-COWtMTRe.js +30 -0
  20. package/dist/action-send-CzGaLKxg.js +39 -0
  21. package/dist/action-spawn-D0HNlqJQ.js +47 -0
  22. package/dist/action-unfocus-BA2c_9o-.js +29 -0
  23. package/dist/actions.runtime-C-MtRkM5.js +18 -0
  24. package/dist/actions.runtime-_O63acg1.js +5 -0
  25. package/dist/actions.runtime.js +1 -1
  26. package/dist/agent-D7gQ7Xo9.js +2 -0
  27. package/dist/agent-command-ByKQHVY7.js +874 -0
  28. package/dist/agent-harness-runtime-BMjFYW9y.js +144 -0
  29. package/dist/agent-runner-utils-DJds4BS5.js +239 -0
  30. package/dist/agent-runner.runtime-DIZ31zSD.js +3443 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-CBfPv0EK.js +18 -0
  33. package/dist/agents-CV4vTeP8.js +5 -0
  34. package/dist/agents-imogqXBP.js +954 -0
  35. package/dist/aliases-BTJj8BqV.js +2 -0
  36. package/dist/aliases-Bx--0eZ4.js +96 -0
  37. package/dist/api-B2wEDg4s.js +139 -0
  38. package/dist/api-Bd2qlRZB.js +3 -0
  39. package/dist/api-C_BLyG0v.js +5 -0
  40. package/dist/approval-gateway-resolver-L5mCgEE8.js +29 -0
  41. package/dist/approval-gateway-runtime-CzzYNVSz.js +2 -0
  42. package/dist/approval-handler-runtime-DGphch5Y.js +439 -0
  43. package/dist/approval-native-runtime-DiA39Qd-.js +729 -0
  44. package/dist/attempt-execution.runtime-BR_1bcQh.js +509 -0
  45. package/dist/attempt-execution.runtime.js +1 -1
  46. package/dist/attempt.prompt-helpers-BcjLCIQW.js +206 -0
  47. package/dist/attempt.tool-run-context-CCbj8Rx9.js +933 -0
  48. package/dist/audit-gZVWGq5L.js +939 -0
  49. package/dist/audit.runtime-C24h5tOz.js +7 -0
  50. package/dist/audit.runtime.js +1 -1
  51. package/dist/auth-CVlSRgzI.js +2 -0
  52. package/dist/auth-MA9UN5hQ.js +550 -0
  53. package/dist/auth-order-BTnSGQgv.js +139 -0
  54. package/dist/auth-order-BdoWVq-E.js +2 -0
  55. package/dist/bash-tools-ByIhi7m1.js +3 -0
  56. package/dist/bash-tools-CyEIAadh.js +2853 -0
  57. package/dist/binding-routing-ZcY40RZ4.js +85 -0
  58. package/dist/binding-targets-CNRFfBh-.js +121 -0
  59. package/dist/bridge-server-C7dKRq-V.js +113 -0
  60. package/dist/browser-control-auth-BWH3BUNZ.js +2 -0
  61. package/dist/browser-node-runtime-QLZUFybf.js +12 -0
  62. package/dist/browser-profiles-BBpvhLrT.js +2 -0
  63. package/dist/browser-runtime-DhpIPNIt.js +387 -0
  64. package/dist/browser-setup-tools-DHwGt1YE.js +13 -0
  65. package/dist/build-BGXvMkW_.js +550 -0
  66. package/dist/build-info.json +3 -3
  67. package/dist/bundled/boot-md/handler.js +2 -2
  68. package/dist/bundled/session-memory/handler.js +1 -1
  69. package/dist/call-CoL9QpLf.js +330 -0
  70. package/dist/call-DUTlBMzC.js +3 -0
  71. package/dist/call.runtime-CwonrfG0.js +2 -0
  72. package/dist/call.runtime.js +1 -1
  73. package/dist/capability-cli-n36Okw1e.js +1401 -0
  74. package/dist/catchup-DKwaJXrj.js +300 -0
  75. package/dist/channel-BUjWV80s.js +491 -0
  76. package/dist/channel-Bqqe4ogf.js +1174 -0
  77. package/dist/channel-CUWOSF7I.js +1100 -0
  78. package/dist/channel-DO73puJq.js +840 -0
  79. package/dist/channel-DQb3yAT-.js +595 -0
  80. package/dist/channel-DonHeltj.js +1802 -0
  81. package/dist/channel-Dr3phGJH.js +350 -0
  82. package/dist/channel-OFr1VaIT.js +297 -0
  83. package/dist/channel-Q67N7Qga.js +453 -0
  84. package/dist/channel-QEIrCXvY.js +1320 -0
  85. package/dist/channel-TwbdYiU4.js +226 -0
  86. package/dist/channel-core-DpS9ac5M.js +5 -0
  87. package/dist/channel-inbound-BN7-W5Mp.js +31 -0
  88. package/dist/channel-plugin-runtime-Bpu2ATcW.js +771 -0
  89. package/dist/channel-runtime-DW0jiVp9.js +425 -0
  90. package/dist/channel.runtime-BIqZ_VoM.js +2364 -0
  91. package/dist/channel.runtime-BbeuZu_w.js +4 -0
  92. package/dist/channel.runtime-CUNubKGY.js +576 -0
  93. package/dist/channel.runtime-DVr4sNnj.js +42398 -0
  94. package/dist/channel.runtime-DuoIAiw0.js +89 -0
  95. package/dist/channel.runtime-FHKyPUs2.js +430 -0
  96. package/dist/channel.runtime.js +1 -1
  97. package/dist/channel.setup-DYQ46vWl.js +10 -0
  98. package/dist/channel2.runtime-45gwMiMC.js +109 -0
  99. package/dist/channel2.runtime.js +1 -1
  100. package/dist/channels-Cx87p2Mc.js +733 -0
  101. package/dist/channels-cli-Ch81ruvl.js +268 -0
  102. package/dist/chat-BvSWsydx.js +2830 -0
  103. package/dist/clawbot-cli-jsnS_FnN.js +9 -0
  104. package/dist/cli/daemon-cli.js +3 -3
  105. package/dist/cli-BWZ_fxIG.js +72 -0
  106. package/dist/cli-CyvueCG9.js +219 -0
  107. package/dist/cli-DRZG-g_Y.js +2 -0
  108. package/dist/cli-DqxnA2Tb.js +2 -0
  109. package/dist/cli-runner-DPw2qsP4.js +286 -0
  110. package/dist/cli-runner.runtime-B93gCaXR.js +4 -0
  111. package/dist/cli-runner.runtime-D3uL1Tqw.js +3 -0
  112. package/dist/cli-runner.runtime.js +1 -1
  113. package/dist/cli-startup-metadata.json +2 -2
  114. package/dist/cli.runtime-CJ-0cVHG.js +1261 -0
  115. package/dist/cli.runtime.js +1 -1
  116. package/dist/client-DZ9fRoos.js +723 -0
  117. package/dist/client-DaDWtov7.js +138 -0
  118. package/dist/command-auth-BNlTWl8C.js +76 -0
  119. package/dist/command-config-resolution-C5mMj3s6.js +2 -0
  120. package/dist/command-config-resolution-D_HiK2Df.js +23 -0
  121. package/dist/command-config-resolution.runtime-r_wK8SAB.js +2 -0
  122. package/dist/command-config-resolution.runtime.js +1 -1
  123. package/dist/command-registry-BwJMoAw8.js +9 -0
  124. package/dist/command-registry-CcPwbywf.js +4 -0
  125. package/dist/command-registry-core-BO-Zu0fZ.js +106 -0
  126. package/dist/command-secret-gateway-BOotrpN5.js +528 -0
  127. package/dist/command-status.runtime-Cnj5_5ga.js +87 -0
  128. package/dist/command-status.runtime.js +1 -1
  129. package/dist/commands-acp-Bp2GjOx3.js +77 -0
  130. package/dist/commands-compact.runtime-C3pOotHP.js +10 -0
  131. package/dist/commands-compact.runtime.js +1 -1
  132. package/dist/commands-handlers.runtime-vaz_uwzA.js +4599 -0
  133. package/dist/commands-handlers.runtime.js +1 -1
  134. package/dist/commands-status-Vd07pidW.js +16 -0
  135. package/dist/commands-status.runtime-BEKT_jrn.js +3 -0
  136. package/dist/commands-status.runtime.js +1 -1
  137. package/dist/commands-subagents-control.runtime-B8iWwqJX.js +3 -0
  138. package/dist/commands-subagents-control.runtime-Rsy5Lnz2.js +2 -0
  139. package/dist/commands-subagents-control.runtime.js +1 -1
  140. package/dist/commands-system-prompt-Bq6ojpCi.js +157 -0
  141. package/dist/commands-system-prompt-C7C6i6nq.js +2 -0
  142. package/dist/commands.runtime-B7f6s9df.js +167 -0
  143. package/dist/commands.runtime.js +1 -1
  144. package/dist/compact-wrJq7Lu7.js +1096 -0
  145. package/dist/compact.runtime-LNHoeWuF.js +12 -0
  146. package/dist/compact.runtime.js +1 -1
  147. package/dist/completion-cli-CD7DN6ny.js +328 -0
  148. package/dist/config-cli-Dp5K4ftz.js +1078 -0
  149. package/dist/config-y_0ApyNl.js +252 -0
  150. package/dist/configure-D3mU878p.js +1252 -0
  151. package/dist/configure-wyGVTr5h.js +2 -0
  152. package/dist/connect-options-1DmmZpSB.js +699 -0
  153. package/dist/control-auth-BpLXdP_i.js +125 -0
  154. package/dist/control-service-Bsdg53R4.js +156 -0
  155. package/dist/conversation-id-BO0qFsIe.js +38 -0
  156. package/dist/conversation-id-KB5kfzff.js +235 -0
  157. package/dist/conversation-runtime-9HKKmLHt.js +31 -0
  158. package/dist/core-OPQr8UZ9.js +275 -0
  159. package/dist/cron-cli-BvlxWG-0.js +713 -0
  160. package/dist/daemon-cli-C4rj1fY_.js +12 -0
  161. package/dist/dashboard-B_D8FKSf.js +2 -0
  162. package/dist/dashboard-DHcTfjq_.js +81 -0
  163. package/dist/delegate-D5OjBi3s.js +64 -0
  164. package/dist/detached-task-runtime-DzyjU1m1.js +73 -0
  165. package/dist/devices-cli-DvMb9Y1g.js +498 -0
  166. package/dist/diagnostics-B6OHDp0s.js +154 -0
  167. package/dist/direct-dm-D6l72pHR.js +64 -0
  168. package/dist/dispatch-MnxNMsTX.js +1131 -0
  169. package/dist/dispatch-acp-CkcF0OCD.js +981 -0
  170. package/dist/dispatch-acp-manager.runtime-C1nWu1uE.js +3 -0
  171. package/dist/dispatch-acp-manager.runtime.js +1 -1
  172. package/dist/dispatch-acp.runtime-CWcJoK7v.js +19 -0
  173. package/dist/dispatch-acp.runtime.js +1 -1
  174. package/dist/doctor-device-pairing-Ccd9bfi0.js +307 -0
  175. package/dist/doctor-gateway-daemon-flow-vXXN636C.js +250 -0
  176. package/dist/doctor-gateway-health-to-oUHeN.js +63 -0
  177. package/dist/doctor-health-C3ZtwUoH.js +59 -0
  178. package/dist/doctor-health-contributions-C6IlokOG.js +493 -0
  179. package/dist/doctor-prompter-DtNoFi2a.js +56 -0
  180. package/dist/doctor-workspace-status-CQB7xbnW.js +75 -0
  181. package/dist/dreaming-BbN5wJdM.js +1582 -0
  182. package/dist/dreaming-narrative-Dra5GiQh.js +596 -0
  183. package/dist/embedded-gateway-stub.runtime-B9NXS2Vr.js +9 -0
  184. package/dist/embedded-gateway-stub.runtime.js +1 -1
  185. package/dist/entry.js +2 -2
  186. package/dist/exec-approvals-cli-BMIvTLCd.js +498 -0
  187. package/dist/extensionAPI.js +1 -1
  188. package/dist/extensions/active-memory/index.js +1 -1
  189. package/dist/extensions/bluebubbles/api.js +3 -3
  190. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  191. package/dist/extensions/browser/browser-bridge.js +1 -1
  192. package/dist/extensions/browser/browser-config.js +4 -4
  193. package/dist/extensions/browser/browser-control-auth.js +2 -2
  194. package/dist/extensions/browser/browser-doctor.js +2 -2
  195. package/dist/extensions/browser/browser-maintenance.js +2 -2
  196. package/dist/extensions/browser/browser-profiles.js +2 -2
  197. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  198. package/dist/extensions/browser/index.js +1 -1
  199. package/dist/extensions/browser/plugin-registration.js +1 -1
  200. package/dist/extensions/browser/register.runtime.js +3 -3
  201. package/dist/extensions/browser/runtime-api.js +11 -11
  202. package/dist/extensions/browser/test-support.js +1 -1
  203. package/dist/extensions/device-pair/api.js +1 -1
  204. package/dist/extensions/device-pair/index.js +3 -3
  205. package/dist/extensions/device-pair/notify.js +1 -1
  206. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  207. package/dist/extensions/google-meet/index.js +2 -2
  208. package/dist/extensions/imessage/api.js +3 -3
  209. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  210. package/dist/extensions/imessage/runtime-api.js +3 -3
  211. package/dist/extensions/irc/api.js +2 -2
  212. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  213. package/dist/extensions/line/api.js +2 -2
  214. package/dist/extensions/line/channel-plugin-api.js +1 -1
  215. package/dist/extensions/line/contract-api.js +1 -1
  216. package/dist/extensions/line/runtime-api.js +4 -4
  217. package/dist/extensions/line/setup-api.js +1 -1
  218. package/dist/extensions/llm-task/index.js +2 -2
  219. package/dist/extensions/lobster/index.js +3 -3
  220. package/dist/extensions/lobster/runtime-api.js +1 -1
  221. package/dist/extensions/mattermost/api.js +1 -1
  222. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  223. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  224. package/dist/extensions/mattermost/policy-api.js +1 -1
  225. package/dist/extensions/mattermost/runtime-api.js +4 -4
  226. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  227. package/dist/extensions/memory-core/api.js +1 -1
  228. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  229. package/dist/extensions/memory-core/index.js +3 -3
  230. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  231. package/dist/extensions/msteams/api.js +1 -1
  232. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  233. package/dist/extensions/msteams/runtime-api.js +3 -3
  234. package/dist/extensions/msteams/test-api.js +1 -1
  235. package/dist/extensions/nextcloud-talk/api.js +1 -1
  236. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  237. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  238. package/dist/extensions/openshell/index.js +2 -2
  239. package/dist/extensions/signal/api.js +6 -6
  240. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  241. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  242. package/dist/extensions/signal/runtime-api.js +7 -7
  243. package/dist/extensions/skill-workshop/api.js +1 -1
  244. package/dist/extensions/skill-workshop/index.js +1 -1
  245. package/dist/extensions/synology-chat/api.js +1 -1
  246. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  247. package/dist/extensions/tlon/api.js +2 -2
  248. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  249. package/dist/extensions/tlon/runtime-api.js +1 -1
  250. package/dist/extensions/tlon/test-api.js +1 -1
  251. package/dist/extensions/twitch/api.js +1 -1
  252. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  253. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  254. package/dist/extensions/zalo/api.js +3 -3
  255. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  256. package/dist/extensions/zalo/runtime-api.js +2 -2
  257. package/dist/extensions/zalo/setup-api.js +2 -2
  258. package/dist/extensions/zalouser/api.js +3 -3
  259. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  260. package/dist/extensions/zalouser/runtime-api.js +6 -6
  261. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  262. package/dist/extensions/zalouser/test-api.js +1 -1
  263. package/dist/fallbacks-CNYcJGsI.js +31 -0
  264. package/dist/fallbacks-CpvN52vL.js +2 -0
  265. package/dist/fallbacks-shared-BMRmctbx.js +111 -0
  266. package/dist/gateway-_SCycjaN.js +115 -0
  267. package/dist/gateway-cli-CqpPxleQ.js +1283 -0
  268. package/dist/gateway-rpc-BsLYIv5w.js +14 -0
  269. package/dist/gateway-rpc.runtime-CyZZSmG_.js +23 -0
  270. package/dist/gateway-rpc.runtime.js +1 -1
  271. package/dist/gateway-runtime-BHDtRng9.js +15 -0
  272. package/dist/gateway-status-CZIozTnz.js +584 -0
  273. package/dist/genesis-tools-C0nPYE5t.js +9435 -0
  274. package/dist/genesis-tools.runtime-CY_LbvH7.js +2 -0
  275. package/dist/genesis-tools.runtime.js +1 -1
  276. package/dist/get-reply-from-config.runtime-BT7Vqesa.js +2 -0
  277. package/dist/get-reply-from-config.runtime.js +1 -1
  278. package/dist/get-reply-tZVDzC6p.js +3946 -0
  279. package/dist/graph-users-CeLSqImM.js +1337 -0
  280. package/dist/health-BWIRYEwF.js +3 -0
  281. package/dist/health-QMMhy2Dz.js +420 -0
  282. package/dist/health-route--sJRGxK7.js +41 -0
  283. package/dist/health-route-Nshh2-05.js +2 -0
  284. package/dist/hooks-cli-qlVfZ69O.js +433 -0
  285. package/dist/image-fallbacks-DqJubFFl.js +2 -0
  286. package/dist/image-fallbacks-Dw2qDUfx.js +31 -0
  287. package/dist/inbound-reply-dispatch-CACe9Tz8.js +73 -0
  288. package/dist/index.js +2 -2
  289. package/dist/infra-runtime-fiXnmsj0.js +38 -0
  290. package/dist/init-Biz2hP6-.js +59 -0
  291. package/dist/library-B1Qi-7is.js +45 -0
  292. package/dist/lifecycle-CwTeSNb3.js +571 -0
  293. package/dist/lifecycle-DTuqSjDi.js +229 -0
  294. package/dist/lifecycle.runtime-L87U4LxS.js +2 -0
  295. package/dist/lifecycle.runtime.js +1 -1
  296. package/dist/list-C9_Rnbic.js +131 -0
  297. package/dist/list-DhQ19wW5.js +2 -0
  298. package/dist/list-GcjeBBI7.js +2 -0
  299. package/dist/list-O4TnoMHO.js +1212 -0
  300. package/dist/list.probe-DYyzi71E.js +419 -0
  301. package/dist/llm-slug-generator-yBet6xOg.js +79 -0
  302. package/dist/llm-slug-generator.js +1 -1
  303. package/dist/load-config-Cp-DUOb2.js +35 -0
  304. package/dist/local-dispatch.runtime-RVsdeP5H.js +8 -0
  305. package/dist/local-dispatch.runtime.js +1 -1
  306. package/dist/logs-cli-D9A-A-9o.js +265 -0
  307. package/dist/logs-cli.runtime-IDuSVdCP.js +2 -0
  308. package/dist/logs-cli.runtime.js +1 -1
  309. package/dist/main-session-restart-recovery-Ck4FVNm4.js +206 -0
  310. package/dist/managed-image-attachments-C5QQL-vS.js +2 -0
  311. package/dist/managed-image-attachments-XoAQCwbd.js +635 -0
  312. package/dist/manager-CSBGjyBv.js +2057 -0
  313. package/dist/manager-wkR4Iytv.js +2 -0
  314. package/dist/markdown-to-line-BTkqph9t.js +790 -0
  315. package/dist/mcp/plugin-tools-serve.js +1 -1
  316. package/dist/mcp-cli-BYatxokX.js +725 -0
  317. package/dist/mcp-http-D5Jg_G_4.js +529 -0
  318. package/dist/memory-core-host-runtime-cli-D5FBfgB5.js +9 -0
  319. package/dist/message-DYkh5sOP.js +232 -0
  320. package/dist/message-action-runner-CJGAC14u.js +1407 -0
  321. package/dist/message-action-runner-DEc3L86w.js +2 -0
  322. package/dist/message-actions-Dh0dkVuL.js +143 -0
  323. package/dist/message.gateway.runtime-C66L1TQ8.js +2 -0
  324. package/dist/message.gateway.runtime.js +1 -1
  325. package/dist/models-auth-status-hLHyMRg4.js +217 -0
  326. package/dist/models-cli-A3K5ngLW.js +271 -0
  327. package/dist/monitor-BGPc6S-l.js +788 -0
  328. package/dist/monitor-C8edroDo.js +671 -0
  329. package/dist/monitor-CFsyjwnu.js +1661 -0
  330. package/dist/monitor-Dl0w1_43.js +1237 -0
  331. package/dist/monitor-DlxT-Knr.js +2 -0
  332. package/dist/monitor-auth-ke97RkAT.js +207 -0
  333. package/dist/monitor-c-H6NZB1.js +1459 -0
  334. package/dist/monitor-processing-B39UHhPl.js +1974 -0
  335. package/dist/monitor.runtime-bk4_-UQP.js +2 -0
  336. package/dist/monitor.runtime.js +1 -1
  337. package/dist/monitor.webhook-h5bgSJwm.js +180 -0
  338. package/dist/msteams-ISVbP_K_.js +35 -0
  339. package/dist/native-hook-relay-Bc5mlw9g.js +519 -0
  340. package/dist/nextcloud-talk-CbYNP-yd.js +17 -0
  341. package/dist/node-cli-0u8AZQyg.js +2276 -0
  342. package/dist/nodes-cli-CQMWvWMg.js +1046 -0
  343. package/dist/nodes-utils-DOQtMWOk.js +84 -0
  344. package/dist/nodes.helpers-C4kSQFC6.js +34 -0
  345. package/dist/notify-nTgfrNiE.js +315 -0
  346. package/dist/onboard-C3joem4P.js +2 -0
  347. package/dist/onboard-CLxVG_dm.js +70 -0
  348. package/dist/onboard-helpers-CzWgl6b5.js +204 -0
  349. package/dist/onboard-helpers-DN7Wm9fW.js +6 -0
  350. package/dist/onboard-interactive-BGd6aTeV.js +24 -0
  351. package/dist/onboard-non-interactive-CtThtPt1.js +635 -0
  352. package/dist/onboard-remote-C-N2VHxH.js +2 -0
  353. package/dist/onboard-remote-C8Pd_O6i.js +193 -0
  354. package/dist/onboard-skills-CVLAHKbc.js +2 -0
  355. package/dist/onboard-skills-Dfyg3uoq.js +134 -0
  356. package/dist/openai-http-BEKA7a56.js +500 -0
  357. package/dist/openresponses-http-CXR1xS4b.js +1128 -0
  358. package/dist/operator-approvals-client-Cbb5L4kC.js +68 -0
  359. package/dist/outbound.runtime-BfwyPtqz.js +2 -0
  360. package/dist/outbound.runtime.js +1 -1
  361. package/dist/pair-command-approve-DxGuoQgs.js +44 -0
  362. package/dist/persistent-bindings.lifecycle-Cm2JgJ1m.js +2 -0
  363. package/dist/persistent-bindings.lifecycle-G6-GKVJ-.js +85 -0
  364. package/dist/pi-embedded-BhegMC8S.js +4 -0
  365. package/dist/pi-embedded-DSK_Kmte.js +2905 -0
  366. package/dist/pi-embedded.runtime-De_h6P_Z.js +4 -0
  367. package/dist/pi-embedded.runtime.js +1 -1
  368. package/dist/pi-tool-definition-adapter-NXBjo73N.js +229 -0
  369. package/dist/pi-tools-DZSC_w6D.js +1118 -0
  370. package/dist/pi-tools.before-tool-call-BwU95vEl.js +433 -0
  371. package/dist/pi-tools.before-tool-call-D_7nYeEk.js +2 -0
  372. package/dist/plugin-Buwbxy6j.js +12195 -0
  373. package/dist/plugin-enabled-K5XYrDLJ.js +140 -0
  374. package/dist/plugin-registration-BCJ8Erq-.js +23 -0
  375. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  376. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  377. package/dist/plugin-sdk/acp-runtime.js +2 -2
  378. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  379. package/dist/plugin-sdk/agent-harness.js +6 -6
  380. package/dist/plugin-sdk/agent-runtime.js +2 -2
  381. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  382. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  383. package/dist/plugin-sdk/approval-runtime.js +1 -1
  384. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  385. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  386. package/dist/plugin-sdk/browser-support.js +7 -7
  387. package/dist/plugin-sdk/channel-core.js +2 -2
  388. package/dist/plugin-sdk/channel-inbound.js +2 -2
  389. package/dist/plugin-sdk/command-auth.js +1 -1
  390. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  391. package/dist/plugin-sdk/compat.js +1 -1
  392. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  393. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  394. package/dist/plugin-sdk/core.js +2 -2
  395. package/dist/plugin-sdk/direct-dm.js +1 -1
  396. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  397. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  398. package/dist/plugin-sdk/index.js +1 -1
  399. package/dist/plugin-sdk/infra-runtime.js +2 -2
  400. package/dist/plugin-sdk/irc.js +2 -2
  401. package/dist/plugin-sdk/matrix.js +1 -1
  402. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  403. package/dist/plugin-sdk/memory-core.js +2 -2
  404. package/dist/plugin-sdk/msteams.js +2 -2
  405. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  406. package/dist/plugin-sdk/nostr.js +1 -1
  407. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  408. package/dist/plugin-sdk/reply-runtime.js +4 -4
  409. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  410. package/dist/plugin-sdk/runtime.js +2 -2
  411. package/dist/plugin-sdk/session-visibility.js +1 -1
  412. package/dist/plugin-sdk/testing.js +4 -4
  413. package/dist/plugin-sdk/tlon.js +1 -1
  414. package/dist/plugin-sdk/zalo.js +1 -1
  415. package/dist/plugin-sdk/zalouser.js +1 -1
  416. package/dist/plugin-service-O0Nka2ql.js +2893 -0
  417. package/dist/plugins/runtime/index.js +1 -1
  418. package/dist/policy-BcEBQrBb.js +328 -0
  419. package/dist/postinstall-inventory.json +411 -411
  420. package/dist/prepare.runtime-4-4zFPyi.js +807 -0
  421. package/dist/prepare.runtime.js +1 -1
  422. package/dist/probe-Bj5TYODu.js +2 -0
  423. package/dist/probe-CM64ZU4h.js +2205 -0
  424. package/dist/probe-D-WslSkr.js +1443 -0
  425. package/dist/probe-DDW3LKLY.js +240 -0
  426. package/dist/probe-DIojWUct.js +45 -0
  427. package/dist/probe-DUvHddgr.js +2 -0
  428. package/dist/probe-DcVkQ45O.js +74 -0
  429. package/dist/program-C2WMGRGS.js +111 -0
  430. package/dist/prompt-select-styled-DyuhVmKx.js +20 -0
  431. package/dist/protocol-D-HTtPao.js +2586 -0
  432. package/dist/provider-dispatcher-B9Bi64PF.js +2 -0
  433. package/dist/provider-dispatcher-W0BQ6JBa.js +22 -0
  434. package/dist/qr-cli-CuHAMWri.js +349 -0
  435. package/dist/qr-cli-XFbmt6Yy.js +2 -0
  436. package/dist/reaction-runtime-api-BVLM-96j.js +116 -0
  437. package/dist/reactions-C1FEqLK1.js +998 -0
  438. package/dist/register-service-commands-BfHk7oaS.js +71 -0
  439. package/dist/register.agent-DXzxIclN.js +248 -0
  440. package/dist/register.configure-CXufs_DG.js +15 -0
  441. package/dist/register.maintenance-WJgi56ww.js +363 -0
  442. package/dist/register.message-D644NowA.js +329 -0
  443. package/dist/register.onboard-Dts_81Kq.js +88 -0
  444. package/dist/register.runtime-BGFNAs1W.js +81 -0
  445. package/dist/register.runtime.js +1 -1
  446. package/dist/register.setup-xdxtWT9Z.js +150 -0
  447. package/dist/register.status-health-sessions-cA5f30SV.js +1215 -0
  448. package/dist/register.subclis-BC8Xib58.js +29 -0
  449. package/dist/register.subclis-DMX7WW9_.js +3 -0
  450. package/dist/register.subclis-core-BQwVVxk1.js +249 -0
  451. package/dist/reply-dispatch-runtime-B8XDaURF.js +13 -0
  452. package/dist/reply-runtime-NyMLCW3E.js +10 -0
  453. package/dist/reply.runtime-edT3K6N7.js +2 -0
  454. package/dist/reply.runtime.js +1 -1
  455. package/dist/restart-health-1UMkTis9.js +202 -0
  456. package/dist/restart-health-DOVEX2Dr.js +2 -0
  457. package/dist/root-help-DOab9o7V.js +44 -0
  458. package/dist/routes-C6KcWOET.js +3341 -0
  459. package/dist/routes-YiOyu7uC.js +2 -0
  460. package/dist/rpc-D58sqWd5.js +61 -0
  461. package/dist/rpc.runtime-B7TMomww.js +21 -0
  462. package/dist/rpc.runtime.js +1 -1
  463. package/dist/run-delivery.runtime-unYfe21X.js +530 -0
  464. package/dist/run-delivery.runtime.js +1 -1
  465. package/dist/run-embedded.runtime-zHl2AfPi.js +4 -0
  466. package/dist/run-embedded.runtime.js +1 -1
  467. package/dist/run-execution-cli.runtime-Dz1dsRHM.js +4 -0
  468. package/dist/run-execution-cli.runtime.js +1 -1
  469. package/dist/run-executor.runtime-KX7eaa3W.js +277 -0
  470. package/dist/run-executor.runtime.js +1 -1
  471. package/dist/run-main-DDIezO6z.js +567 -0
  472. package/dist/run-subagent-registry.runtime-DJC3g4ZR.js +2 -0
  473. package/dist/run-subagent-registry.runtime.js +1 -1
  474. package/dist/run-wait-CpiyL2yQ.js +135 -0
  475. package/dist/runtime-DFsWYp04.js +961 -0
  476. package/dist/runtime-api-B-Rvnz8K.js +9 -0
  477. package/dist/runtime-api-BGjsjeDs.js +4 -0
  478. package/dist/runtime-api-BLmoQDr9.js +9 -0
  479. package/dist/runtime-api-C7sFkqAw.js +14 -0
  480. package/dist/runtime-cvZCV2Ia.js +9 -0
  481. package/dist/runtime-embedded-pi.runtime-DhHN3TPm.js +2 -0
  482. package/dist/runtime-embedded-pi.runtime.js +1 -1
  483. package/dist/runtime-internal-BgtZ9qQE.js +2 -0
  484. package/dist/runtime-options-DP77Ol0F.js +275 -0
  485. package/dist/runtime-schema-UykYqADC.js +28599 -0
  486. package/dist/scan-DFZp_kSW.js +523 -0
  487. package/dist/scan-DGA0ZzcA.js +2 -0
  488. package/dist/secrets-cli-ea7rK5BG.js +2101 -0
  489. package/dist/security-cli-ho4WnkD2.js +486 -0
  490. package/dist/selection-9k1d9_Da.js +7743 -0
  491. package/dist/selection-Cp3CrNux.js +2 -0
  492. package/dist/send-CBwqDOfQ.js +156 -0
  493. package/dist/send-DpYdCf3A.js +102 -0
  494. package/dist/send.runtime-DPgv2Lc5.js +2 -0
  495. package/dist/send.runtime.js +1 -1
  496. package/dist/server-D7iFLwV2.js +13 -0
  497. package/dist/server-context-B8N_gqtd.js +2 -0
  498. package/dist/server-context-LNf4RJwd.js +847 -0
  499. package/dist/server-node-events-B0Jy5ges.js +474 -0
  500. package/dist/server-plugin-bootstrap-C50m7eyR.js +2 -0
  501. package/dist/server-plugin-bootstrap-CLJHt826.js +13703 -0
  502. package/dist/server-restart-sentinel--uTnlfGF.js +684 -0
  503. package/dist/server-yVgPsLY3.js +77 -0
  504. package/dist/server.impl-BlCJe-26.js +12804 -0
  505. package/dist/session-kill-http-CGcsBC5N.js +110 -0
  506. package/dist/session-reset-service-BdvoF6l9.js +497 -0
  507. package/dist/session-route-C6YYamP7.js +93 -0
  508. package/dist/session-status.runtime-DpxWfh54.js +2 -0
  509. package/dist/session-status.runtime.js +1 -1
  510. package/dist/session-subagent-reactivation.runtime-Ddt2B8nq.js +2 -0
  511. package/dist/session-subagent-reactivation.runtime.js +1 -1
  512. package/dist/session-tab-registry-Bwj7OJds.js +581 -0
  513. package/dist/session-visibility-CMeipx_x.js +147 -0
  514. package/dist/sessions-helpers-Crbc2V-c.js +305 -0
  515. package/dist/sessions-history-http-B1jARJH5.js +371 -0
  516. package/dist/sessions-patch-C1oxNf4r.js +309 -0
  517. package/dist/sessions-resolve-D8eCbDqe.js +174 -0
  518. package/dist/sessions.runtime-Dh0ghDyO.js +2 -0
  519. package/dist/sessions.runtime.js +1 -1
  520. package/dist/setup-DoOZ7cOr.js +636 -0
  521. package/dist/setup-api-COR0Hcnk.js +29 -0
  522. package/dist/setup-core-C5-HYDHu.js +176 -0
  523. package/dist/setup-core-Q7Gtw1Ov.js +171 -0
  524. package/dist/setup-surface-CBScP5vZ.js +219 -0
  525. package/dist/setup-surface-CPW1hR9X.js +286 -0
  526. package/dist/setup-surface-w8AJYpAw.js +403 -0
  527. package/dist/setup.finalize-CFQ5dk9P.js +547 -0
  528. package/dist/setup.gateway-config-CevZkqsU.js +250 -0
  529. package/dist/shared-BJOo71CE.js +121 -0
  530. package/dist/shared-C9DEgBKO.js +76 -0
  531. package/dist/shared-DWeIx7H_.js +198 -0
  532. package/dist/slash-state-DfyIhVQa.js +1911 -0
  533. package/dist/src-D_pOANWx.js +3974 -0
  534. package/dist/startup-context-u6H-cGD5.js +312 -0
  535. package/dist/status-Bax-CYIA.js +2 -0
  536. package/dist/status-Bm_lDIZA.js +2 -0
  537. package/dist/status-C41OfbgU.js +209 -0
  538. package/dist/status-CJA5y0Ot.js +190 -0
  539. package/dist/status-JI5DGJgd.js +395 -0
  540. package/dist/status-all-CyMiAz9D.js +498 -0
  541. package/dist/status-json-command-D3gfSQpJ.js +82 -0
  542. package/dist/status-json-wAtoMvEU.js +14 -0
  543. package/dist/status-liaGeQBF.js +3 -0
  544. package/dist/status-runtime-shared-BHVKTX8F.js +241 -0
  545. package/dist/status-subagents.runtime-Dqn8rGt3.js +18 -0
  546. package/dist/status-subagents.runtime.js +1 -1
  547. package/dist/status-text-XpgxLRUx.js +237 -0
  548. package/dist/status.gateway-connection.runtime-CAujaH_M.js +2 -0
  549. package/dist/status.gateway-connection.runtime.js +1 -1
  550. package/dist/status.gather-DABnWYhg.js +2 -0
  551. package/dist/status.gather-DvP7veWJ.js +292 -0
  552. package/dist/status.runtime-BNG-ykFb.js +2 -0
  553. package/dist/status.scan-CPCLfxhs.js +65 -0
  554. package/dist/status.scan-overview-cd-sFbN_.js +379 -0
  555. package/dist/status.scan.fast-json-BlK1NH9B.js +2 -0
  556. package/dist/status.scan.fast-json-RzD6XYyb.js +132 -0
  557. package/dist/status.summary-BzdECSg9.js +200 -0
  558. package/dist/status.summary-D5HGi7Bf.js +2 -0
  559. package/dist/subagent-announce-Cs_FbejL.js +351 -0
  560. package/dist/subagent-announce-delivery-DMwYIqZg.js +726 -0
  561. package/dist/subagent-announce-output-B9tl5MCY.js +364 -0
  562. package/dist/subagent-control-CJBFHJGn.js +506 -0
  563. package/dist/subagent-followup.runtime-Bn5iFlY5.js +68 -0
  564. package/dist/subagent-followup.runtime.js +1 -1
  565. package/dist/subagent-orphan-recovery-Bd_lhKXg.js +305 -0
  566. package/dist/subagent-registry-ChyubSrS.js +3 -0
  567. package/dist/subagent-registry-gH5jdXLj.js +1753 -0
  568. package/dist/subagent-registry.runtime.js +1 -1
  569. package/dist/subagent-spawn-CGEv7PUE.js +1005 -0
  570. package/dist/system-cli-BXWEki_N.js +43 -0
  571. package/dist/targets-Df5NUAMJ.js +67 -0
  572. package/dist/task-executor-CNDdWsuX.js +360 -0
  573. package/dist/task-owner-access-DxjrTxvr.js +74 -0
  574. package/dist/task-registry-CdNs7r4r.js +2357 -0
  575. package/dist/task-registry-delivery-runtime-BDu6uG2H.js +3 -0
  576. package/dist/task-registry-delivery-runtime-DOWKFjeQ.js +2 -0
  577. package/dist/task-registry.maintenance-DASywxLv.js +416 -0
  578. package/dist/task-registry.maintenance-NbdyYsF6.js +2 -0
  579. package/dist/telegram/token.js +1 -1
  580. package/dist/testing-DSzznIMh.js +575 -0
  581. package/dist/text-report-C5TiNkIC.js +549 -0
  582. package/dist/tool-resolution-BpN_yXJT.js +90 -0
  583. package/dist/tools-effective-inventory-DzZfmONO.js +152 -0
  584. package/dist/tools-invoke-http-Cc5lWdVY.js +206 -0
  585. package/dist/trash-gujb8L0g.js +24 -0
  586. package/dist/tui-cli-5Sm6YmJ7.js +4585 -0
  587. package/dist/update-cli-BcUEQuiM.js +1759 -0
  588. package/dist/upgrade-uEpCTUNv.js +1226 -0
  589. package/dist/video-generation-task-status-Ch4hR1ge.js +163 -0
  590. package/dist/wait-for-idle-before-flush-D9yKEs2F.js +6025 -0
  591. package/dist/wizard-models-DQ9CKzTp.js +334 -0
  592. package/package.json +4 -1
  593. package/dist/abort-xF_zj8_u.js +0 -201
  594. package/dist/abort.runtime-JUukGuW3.js +0 -2
  595. package/dist/accounts-C0jW92It.js +0 -104
  596. package/dist/accounts-C2ZexWg6.js +0 -107
  597. package/dist/accounts-tEPx6Fnd.js +0 -2
  598. package/dist/acp-cli-De2oyz3e.js +0 -2217
  599. package/dist/acp-spawn-7VB8ie8I.js +0 -1042
  600. package/dist/acp-spawn-C6VfLE4o.js +0 -2
  601. package/dist/acp-stateful-target-driver-ctUymwnI.js +0 -89
  602. package/dist/action-agents-Dy45TQ9X.js +0 -67
  603. package/dist/action-focus-hzygEAz5.js +0 -132
  604. package/dist/action-help-D1h2Czko.js +0 -7
  605. package/dist/action-info-EDBi7fre.js +0 -101
  606. package/dist/action-kill-CBNgmCsz.js +0 -33
  607. package/dist/action-list-C6KC8Ulv.js +0 -21
  608. package/dist/action-log-C0R9AwnB.js +0 -30
  609. package/dist/action-send-DZw27QoS.js +0 -39
  610. package/dist/action-spawn-BXEOYBEH.js +0 -47
  611. package/dist/action-unfocus-DWFUpr-g.js +0 -29
  612. package/dist/actions.runtime-1HHNbwPa.js +0 -5
  613. package/dist/actions.runtime-GFSX3jST.js +0 -18
  614. package/dist/agent-CU42dfye.js +0 -2
  615. package/dist/agent-command-Baehh2jJ.js +0 -874
  616. package/dist/agent-harness-runtime-Bmln4mlS.js +0 -144
  617. package/dist/agent-runner-utils-xPwHxFwc.js +0 -239
  618. package/dist/agent-runner.runtime-BBx0eqAs.js +0 -3443
  619. package/dist/agent-runtime-mKUGZmYk.js +0 -18
  620. package/dist/agents-C_kp6PcN.js +0 -954
  621. package/dist/agents-D7-4l9xG.js +0 -5
  622. package/dist/aliases-BR-85AbT.js +0 -96
  623. package/dist/aliases-DH4MEghL.js +0 -2
  624. package/dist/api-8dcgPyEO.js +0 -139
  625. package/dist/api-C6Dl-nsC.js +0 -3
  626. package/dist/api-CeoOTFsR.js +0 -5
  627. package/dist/approval-gateway-resolver-B5iZVyl3.js +0 -29
  628. package/dist/approval-gateway-runtime-DJMhFL8_.js +0 -2
  629. package/dist/approval-handler-runtime-CvlNyTSd.js +0 -439
  630. package/dist/approval-native-runtime-DIP1UVwF.js +0 -729
  631. package/dist/attempt-execution.runtime-Dnj7Dunz.js +0 -509
  632. package/dist/attempt.prompt-helpers-yXlkhGj_.js +0 -206
  633. package/dist/attempt.tool-run-context-DplnP36r.js +0 -933
  634. package/dist/audit-CP153cHC.js +0 -939
  635. package/dist/audit.runtime-BPEAdYYt.js +0 -7
  636. package/dist/auth-CGB_0fnH.js +0 -550
  637. package/dist/auth-_41Zyvnc.js +0 -2
  638. package/dist/auth-order-Cnl7fD4m.js +0 -2
  639. package/dist/auth-order-DTEvHo9G.js +0 -139
  640. package/dist/bash-tools-E5RKIMX4.js +0 -2853
  641. package/dist/bash-tools-n2uf-L6x.js +0 -3
  642. package/dist/binding-routing-MxZZJi7B.js +0 -85
  643. package/dist/binding-targets-DOjf91v9.js +0 -121
  644. package/dist/bridge-server-C9sdVkxe.js +0 -113
  645. package/dist/browser-control-auth-Ds_CXo7-.js +0 -2
  646. package/dist/browser-node-runtime-CrrZhgmT.js +0 -12
  647. package/dist/browser-profiles-DSq_VuWU.js +0 -2
  648. package/dist/browser-runtime-D3bUe2ki.js +0 -387
  649. package/dist/browser-setup-tools-BzBeI9sr.js +0 -13
  650. package/dist/build-BQ7uMjfi.js +0 -550
  651. package/dist/call-C5EHc2Ve.js +0 -3
  652. package/dist/call-DgFhP0IB.js +0 -330
  653. package/dist/call.runtime-CBWpY5ek.js +0 -2
  654. package/dist/capability-cli-CF-5WxGW.js +0 -1401
  655. package/dist/catchup-DEgTzUZf.js +0 -300
  656. package/dist/channel-B9Z1yOBL.js +0 -1100
  657. package/dist/channel-BQalh8q5.js +0 -1320
  658. package/dist/channel-B_D0qB8f.js +0 -297
  659. package/dist/channel-CveiiHEq.js +0 -226
  660. package/dist/channel-DPRWC_X5.js +0 -1802
  661. package/dist/channel-DTNwXKB7.js +0 -350
  662. package/dist/channel-DsWHOdeO.js +0 -840
  663. package/dist/channel-IYn5sG7l.js +0 -453
  664. package/dist/channel-MwEUOERy.js +0 -1174
  665. package/dist/channel-core-C3RFVpjy.js +0 -5
  666. package/dist/channel-geAqqK_e.js +0 -491
  667. package/dist/channel-inbound-BRCAVWH1.js +0 -31
  668. package/dist/channel-plugin-runtime-B7guFbbq.js +0 -771
  669. package/dist/channel-runtime-B2HmUto-.js +0 -425
  670. package/dist/channel-zfFLswBu.js +0 -595
  671. package/dist/channel.runtime-60XStiek.js +0 -2364
  672. package/dist/channel.runtime-BK8atBx7.js +0 -430
  673. package/dist/channel.runtime-CjfgGDJR.js +0 -576
  674. package/dist/channel.runtime-Cuc72hD3.js +0 -89
  675. package/dist/channel.runtime-D4i6q9PJ.js +0 -4
  676. package/dist/channel.runtime-mLdKu3mE.js +0 -42398
  677. package/dist/channel.setup-BxdBjfQG.js +0 -10
  678. package/dist/channel2.runtime-DhBM75gc.js +0 -109
  679. package/dist/channels-YP0r9T7z.js +0 -733
  680. package/dist/channels-cli-BA8x-0ie.js +0 -268
  681. package/dist/chat-C-K_PnVS.js +0 -2830
  682. package/dist/clawbot-cli-CcTWZznd.js +0 -9
  683. package/dist/cli-B9pz-wec.js +0 -2
  684. package/dist/cli-BDqmMCNa.js +0 -219
  685. package/dist/cli-CFANcv9h.js +0 -2
  686. package/dist/cli-oSszUBF4.js +0 -72
  687. package/dist/cli-runner-ziqCSXFY.js +0 -286
  688. package/dist/cli-runner.runtime-B-P8SxLi.js +0 -4
  689. package/dist/cli-runner.runtime-BmqwbMTX.js +0 -3
  690. package/dist/cli.runtime-4isBQRbc.js +0 -1261
  691. package/dist/client-CcimlPth.js +0 -138
  692. package/dist/client-DQsu_IXu.js +0 -723
  693. package/dist/command-auth-BWQO7kca.js +0 -76
  694. package/dist/command-config-resolution-ClTknI2S.js +0 -2
  695. package/dist/command-config-resolution-CrkcVij4.js +0 -23
  696. package/dist/command-config-resolution.runtime-D6B4s-Uv.js +0 -2
  697. package/dist/command-registry-B_U-oRjT.js +0 -4
  698. package/dist/command-registry-CJ8y08cJ.js +0 -9
  699. package/dist/command-registry-core-CjYDA5Hb.js +0 -106
  700. package/dist/command-secret-gateway-BN5JN_4V.js +0 -528
  701. package/dist/command-status.runtime-BwGSaGwK.js +0 -87
  702. package/dist/commands-acp-Di5EZJSo.js +0 -77
  703. package/dist/commands-compact.runtime-Dm1rBnbf.js +0 -10
  704. package/dist/commands-handlers.runtime-C8uzW3Za.js +0 -4599
  705. package/dist/commands-status-D_wsDlQe.js +0 -16
  706. package/dist/commands-status.runtime-BYT0Y8Xk.js +0 -3
  707. package/dist/commands-subagents-control.runtime-BozyiWar.js +0 -3
  708. package/dist/commands-subagents-control.runtime-DDCzt8Ub.js +0 -2
  709. package/dist/commands-system-prompt-ClkTGvNr.js +0 -157
  710. package/dist/commands-system-prompt-qRoqhQKL.js +0 -2
  711. package/dist/commands.runtime-DdZErCma.js +0 -167
  712. package/dist/compact-BCs9ORLb.js +0 -1096
  713. package/dist/compact.runtime-DvG7GWYV.js +0 -12
  714. package/dist/completion-cli-C4J7V5YR.js +0 -328
  715. package/dist/config-B0uPLzV0.js +0 -252
  716. package/dist/config-cli-Bt8euI41.js +0 -1078
  717. package/dist/configure-BIB6QKXD.js +0 -2
  718. package/dist/configure-DuXRvaw-.js +0 -1252
  719. package/dist/connect-options-DdLRs3mC.js +0 -699
  720. package/dist/control-auth-BboB6-Q9.js +0 -125
  721. package/dist/control-service-zISWiuJ_.js +0 -156
  722. package/dist/conversation-id-BzYtax7n.js +0 -235
  723. package/dist/conversation-id-HBz3v6j3.js +0 -38
  724. package/dist/conversation-runtime-CkcxSb_S.js +0 -31
  725. package/dist/core-DxVEjt5f.js +0 -275
  726. package/dist/cron-cli-CAkqablA.js +0 -713
  727. package/dist/daemon-cli-CCC_5IkN.js +0 -12
  728. package/dist/dashboard-Bqpn6xD_.js +0 -81
  729. package/dist/dashboard-Cd6TkhpW.js +0 -2
  730. package/dist/delegate-D7D8iTtT.js +0 -64
  731. package/dist/detached-task-runtime-D2jixP5C.js +0 -73
  732. package/dist/devices-cli-CMnaKl01.js +0 -498
  733. package/dist/diagnostics-B8Z9UWlG.js +0 -154
  734. package/dist/direct-dm-c4Qb2Nzg.js +0 -64
  735. package/dist/dispatch-acp-BL2QahHP.js +0 -981
  736. package/dist/dispatch-acp-manager.runtime-CynWPlJS.js +0 -3
  737. package/dist/dispatch-acp.runtime-OwR8G8Qt.js +0 -19
  738. package/dist/dispatch-r6Uv7puk.js +0 -1131
  739. package/dist/doctor-device-pairing-GsLelCah.js +0 -307
  740. package/dist/doctor-gateway-daemon-flow-Bj6Y5WoB.js +0 -250
  741. package/dist/doctor-gateway-health-D7WY6zgb.js +0 -63
  742. package/dist/doctor-health-C9GRQaPA.js +0 -59
  743. package/dist/doctor-health-contributions-Dk9ho6TO.js +0 -493
  744. package/dist/doctor-prompter-Ct6Jv52M.js +0 -56
  745. package/dist/doctor-workspace-status-CJCfWEI6.js +0 -75
  746. package/dist/dreaming-_hTKF5lN.js +0 -1582
  747. package/dist/dreaming-narrative-D5XTDttN.js +0 -596
  748. package/dist/embedded-gateway-stub.runtime-CEmoodA9.js +0 -9
  749. package/dist/exec-approvals-cli-ClDMlOmM.js +0 -498
  750. package/dist/fallbacks-7zSQjTV3.js +0 -31
  751. package/dist/fallbacks-CZiqVR5O.js +0 -2
  752. package/dist/fallbacks-shared-ChkX-wC9.js +0 -111
  753. package/dist/gateway-CHyZ16Py.js +0 -115
  754. package/dist/gateway-cli-Ddf-bjxV.js +0 -1283
  755. package/dist/gateway-rpc-DksPpMA7.js +0 -14
  756. package/dist/gateway-rpc.runtime-BKaQsdOu.js +0 -23
  757. package/dist/gateway-runtime-Ca4l5F_e.js +0 -15
  758. package/dist/gateway-status-CTPWttLS.js +0 -584
  759. package/dist/genesis-tools-Bkxp7zlI.js +0 -9435
  760. package/dist/genesis-tools.runtime-BCkQJQBx.js +0 -2
  761. package/dist/get-reply-HzKdsGO7.js +0 -3946
  762. package/dist/get-reply-from-config.runtime-C5ISSvQ1.js +0 -2
  763. package/dist/graph-users-BVVUU02O.js +0 -1337
  764. package/dist/health-3Ot3RyLe.js +0 -420
  765. package/dist/health-B1Ww7M60.js +0 -3
  766. package/dist/health-route--L24U5vY.js +0 -2
  767. package/dist/health-route-DQ3RbNHQ.js +0 -41
  768. package/dist/hooks-cli-CsJbTM0O.js +0 -433
  769. package/dist/image-fallbacks--ElXneWp.js +0 -31
  770. package/dist/image-fallbacks-D3vJILOu.js +0 -2
  771. package/dist/inbound-reply-dispatch-B7wRXjgc.js +0 -73
  772. package/dist/infra-runtime-CBfd1WMP.js +0 -38
  773. package/dist/init-D0hOJH3x.js +0 -59
  774. package/dist/library-oLeJ7WB2.js +0 -45
  775. package/dist/lifecycle-CeE5vcbI.js +0 -571
  776. package/dist/lifecycle-CqOQyQkN.js +0 -229
  777. package/dist/lifecycle.runtime-3bkEDR0o.js +0 -2
  778. package/dist/list-C3cLeCpB.js +0 -2
  779. package/dist/list-CcZ_ONLT.js +0 -2
  780. package/dist/list-DUXsFAZJ.js +0 -1212
  781. package/dist/list-gnrIqPtd.js +0 -131
  782. package/dist/list.probe-BwRgShwM.js +0 -419
  783. package/dist/llm-slug-generator-BkDTThCe.js +0 -79
  784. package/dist/load-config-CfZQrUUz.js +0 -35
  785. package/dist/local-dispatch.runtime-CtXGZ70F.js +0 -8
  786. package/dist/logs-cli-zd_9yCKn.js +0 -265
  787. package/dist/logs-cli.runtime-BWvHh5zg.js +0 -2
  788. package/dist/main-session-restart-recovery-Bnvjo9E1.js +0 -206
  789. package/dist/managed-image-attachments-Cib67JTY.js +0 -2
  790. package/dist/managed-image-attachments-Pl-_Wh-s.js +0 -635
  791. package/dist/manager-CfFNGdWA.js +0 -2057
  792. package/dist/manager-TXSNaq3B.js +0 -2
  793. package/dist/markdown-to-line-C83mDLjZ.js +0 -790
  794. package/dist/mcp-cli-CNy5N1fa.js +0 -725
  795. package/dist/mcp-http-Cp3nlyRC.js +0 -529
  796. package/dist/memory-core-host-runtime-cli-BegfMQ60.js +0 -9
  797. package/dist/message-BEIYueeC.js +0 -232
  798. package/dist/message-action-runner-BMAw7gfU.js +0 -2
  799. package/dist/message-action-runner-DbqkVVXA.js +0 -1407
  800. package/dist/message-actions-CagfUya_.js +0 -143
  801. package/dist/message.gateway.runtime-8N00rzUd.js +0 -2
  802. package/dist/models-auth-status-dUVFT_f1.js +0 -217
  803. package/dist/models-cli-VqeddndJ.js +0 -271
  804. package/dist/monitor-BgwZHXAs.js +0 -2
  805. package/dist/monitor-BrGXztev.js +0 -1661
  806. package/dist/monitor-DXqHkIkY.js +0 -788
  807. package/dist/monitor-DoS0pnRS.js +0 -671
  808. package/dist/monitor-SUo0OdqH.js +0 -1459
  809. package/dist/monitor-auth-BjLpAGxu.js +0 -207
  810. package/dist/monitor-hVTP1bQv.js +0 -1237
  811. package/dist/monitor-processing-CIokCAUz.js +0 -1974
  812. package/dist/monitor.runtime-BU4RKNXx.js +0 -2
  813. package/dist/monitor.webhook-DaTTjWrL.js +0 -180
  814. package/dist/msteams-CmdWCuQl.js +0 -35
  815. package/dist/native-hook-relay-Crk4McKb.js +0 -519
  816. package/dist/nextcloud-talk-D23cNPfx.js +0 -17
  817. package/dist/node-cli-DQ2FAUD5.js +0 -2276
  818. package/dist/nodes-cli-rSfhRw3_.js +0 -1046
  819. package/dist/nodes-utils-DlayGjaD.js +0 -84
  820. package/dist/nodes.helpers-DDUs18Tb.js +0 -34
  821. package/dist/notify-BSOvLWmd.js +0 -315
  822. package/dist/onboard-CpNpQ0N8.js +0 -70
  823. package/dist/onboard-helpers-BSqq4yEX.js +0 -204
  824. package/dist/onboard-helpers-Cw8cHMwk.js +0 -6
  825. package/dist/onboard-interactive-CIJMPUNi.js +0 -24
  826. package/dist/onboard-non-interactive-CCGFunM1.js +0 -635
  827. package/dist/onboard-remote-BIFjzB0v.js +0 -193
  828. package/dist/onboard-remote-DdfKS44K.js +0 -2
  829. package/dist/onboard-skills-C9Oz7pMM.js +0 -134
  830. package/dist/onboard-skills-DFZIuIBM.js +0 -2
  831. package/dist/onboard-ygfHgwjs.js +0 -2
  832. package/dist/openai-http-V8-EZ-Tx.js +0 -500
  833. package/dist/openresponses-http-B2Z5eD7p.js +0 -1128
  834. package/dist/operator-approvals-client-DcLaJSYz.js +0 -68
  835. package/dist/outbound.runtime-BioZr0Xk.js +0 -2
  836. package/dist/pair-command-approve-CKQ5PFPa.js +0 -44
  837. package/dist/persistent-bindings.lifecycle-Cc3nJyXl.js +0 -2
  838. package/dist/persistent-bindings.lifecycle-DMUm3wFX.js +0 -85
  839. package/dist/pi-embedded-DLQZrdL6.js +0 -2905
  840. package/dist/pi-embedded-kfFiSGXN.js +0 -4
  841. package/dist/pi-embedded.runtime-DXAilonb.js +0 -4
  842. package/dist/pi-tool-definition-adapter-D5M4iVmd.js +0 -229
  843. package/dist/pi-tools-CymfaKhy.js +0 -1118
  844. package/dist/pi-tools.before-tool-call-CBjigYgQ.js +0 -2
  845. package/dist/pi-tools.before-tool-call-CrhLIm2q.js +0 -433
  846. package/dist/plugin-DJ_g-ddv.js +0 -12195
  847. package/dist/plugin-enabled-CqvTLQjg.js +0 -140
  848. package/dist/plugin-registration-awDDNZjN.js +0 -23
  849. package/dist/plugin-service-Bcg-shsL.js +0 -2893
  850. package/dist/policy-DIf26_n6.js +0 -328
  851. package/dist/prepare.runtime-DCLXK1uq.js +0 -807
  852. package/dist/probe-0w9S79sF.js +0 -45
  853. package/dist/probe-BQT29JH7.js +0 -74
  854. package/dist/probe-CB6KR9ri.js +0 -240
  855. package/dist/probe-CWtFr2jl.js +0 -2
  856. package/dist/probe-CcBuLmYT.js +0 -2205
  857. package/dist/probe-DYqlJBSk.js +0 -2
  858. package/dist/probe-_IUalbC8.js +0 -1443
  859. package/dist/program-sXJs6Lyj.js +0 -111
  860. package/dist/prompt-select-styled-jucMgA5f.js +0 -20
  861. package/dist/protocol-DgMCJAA_.js +0 -2586
  862. package/dist/provider-dispatcher-9z9Dw59_.js +0 -2
  863. package/dist/provider-dispatcher-DyQNST2Z.js +0 -22
  864. package/dist/qr-cli-Dwc3sjiV.js +0 -2
  865. package/dist/qr-cli-hTiyQbbK.js +0 -349
  866. package/dist/reaction-runtime-api-Q9NHKbpw.js +0 -116
  867. package/dist/reactions-DGczAFsd.js +0 -998
  868. package/dist/register-service-commands-Dxwl01rR.js +0 -71
  869. package/dist/register.agent-Drovpr_f.js +0 -248
  870. package/dist/register.configure-BzQtmjqp.js +0 -15
  871. package/dist/register.maintenance-PRykY6qq.js +0 -363
  872. package/dist/register.message-Dw6OLnap.js +0 -329
  873. package/dist/register.onboard-CB7aqo8I.js +0 -88
  874. package/dist/register.runtime-5QpZP1PI.js +0 -81
  875. package/dist/register.setup-GLc__3H1.js +0 -150
  876. package/dist/register.status-health-sessions-DuQnS6V7.js +0 -1215
  877. package/dist/register.subclis-Bupq6ckp.js +0 -3
  878. package/dist/register.subclis-Df0YvsXg.js +0 -29
  879. package/dist/register.subclis-core-CK63Nor4.js +0 -249
  880. package/dist/reply-dispatch-runtime-D63ANCTQ.js +0 -13
  881. package/dist/reply-runtime-CLq8xugv.js +0 -10
  882. package/dist/reply.runtime-FitoWYiX.js +0 -2
  883. package/dist/restart-health-CNE6ENF8.js +0 -202
  884. package/dist/restart-health-DriNCEEo.js +0 -2
  885. package/dist/root-help-BsG62TUK.js +0 -44
  886. package/dist/routes-B8SmZM_C.js +0 -3341
  887. package/dist/routes-CVtIuQaj.js +0 -2
  888. package/dist/rpc-AJw8-VEF.js +0 -61
  889. package/dist/rpc.runtime-NzXXr3IH.js +0 -21
  890. package/dist/run-delivery.runtime-DDc5pTuc.js +0 -530
  891. package/dist/run-embedded.runtime-BlLE0DKl.js +0 -4
  892. package/dist/run-execution-cli.runtime-Dx9bn2nL.js +0 -4
  893. package/dist/run-executor.runtime-Bx0-xr66.js +0 -277
  894. package/dist/run-main-Q7WXDun9.js +0 -567
  895. package/dist/run-subagent-registry.runtime-DN441nGA.js +0 -2
  896. package/dist/run-wait-DOOBZLr5.js +0 -135
  897. package/dist/runtime-B56xKFjA.js +0 -9
  898. package/dist/runtime-D--xK0Me.js +0 -961
  899. package/dist/runtime-api-BGOAhjcp.js +0 -9
  900. package/dist/runtime-api-CcUMXjjy.js +0 -14
  901. package/dist/runtime-api-L9lB-rDz.js +0 -4
  902. package/dist/runtime-api-ap0gPIKQ.js +0 -9
  903. package/dist/runtime-embedded-pi.runtime-CQ5TsVlh.js +0 -2
  904. package/dist/runtime-internal-DwAoh64o.js +0 -2
  905. package/dist/runtime-options-CtF_gotz.js +0 -275
  906. package/dist/runtime-schema-7aqYdEly.js +0 -28599
  907. package/dist/scan-BmfJ_GUd.js +0 -2
  908. package/dist/scan-BwUXPVa4.js +0 -523
  909. package/dist/secrets-cli-Byrmt5p3.js +0 -2101
  910. package/dist/security-cli-Cb_qzWSU.js +0 -486
  911. package/dist/selection-BaZ-7Sz6.js +0 -2
  912. package/dist/selection-C8rwxPqg.js +0 -7743
  913. package/dist/send-C3Ht9Buu.js +0 -102
  914. package/dist/send-NpRBz3rn.js +0 -156
  915. package/dist/send.runtime-Buvd_P2p.js +0 -2
  916. package/dist/server-B8tim7RO.js +0 -13
  917. package/dist/server-ClAvfJJm.js +0 -77
  918. package/dist/server-context-Dl7OQ56d.js +0 -2
  919. package/dist/server-context-F2Jh0JBO.js +0 -847
  920. package/dist/server-node-events-Db8SbNO0.js +0 -474
  921. package/dist/server-plugin-bootstrap-DxpFA7AU.js +0 -13703
  922. package/dist/server-plugin-bootstrap-t6Z_tN0J.js +0 -2
  923. package/dist/server-restart-sentinel-VLhFJOy5.js +0 -684
  924. package/dist/server.impl-BNDZK6Lv.js +0 -12804
  925. package/dist/session-kill-http-C35_XMK_.js +0 -110
  926. package/dist/session-reset-service-Cs7o8vTZ.js +0 -497
  927. package/dist/session-route-DwjrtcvV.js +0 -93
  928. package/dist/session-status.runtime-Cp9hECfs.js +0 -2
  929. package/dist/session-subagent-reactivation.runtime-3hC6cwVh.js +0 -2
  930. package/dist/session-tab-registry-BHn1P3lZ.js +0 -581
  931. package/dist/session-visibility-C5yhLdDZ.js +0 -147
  932. package/dist/sessions-helpers-C_xGZAo7.js +0 -305
  933. package/dist/sessions-history-http-CQ-Ga5H3.js +0 -371
  934. package/dist/sessions-patch-XzBTc4fY.js +0 -309
  935. package/dist/sessions-resolve-CF4QOXiX.js +0 -174
  936. package/dist/sessions.runtime-CEV3VtEH.js +0 -2
  937. package/dist/setup-D218KRK6.js +0 -636
  938. package/dist/setup-api-BvHlVezg.js +0 -29
  939. package/dist/setup-core-BjceveVY.js +0 -171
  940. package/dist/setup-core-CxDIk2Qq.js +0 -176
  941. package/dist/setup-surface-6hnrFGJ3.js +0 -286
  942. package/dist/setup-surface-BBDyg26_.js +0 -219
  943. package/dist/setup-surface-HREO9zEo.js +0 -403
  944. package/dist/setup.finalize-CAJxf_Mm.js +0 -547
  945. package/dist/setup.gateway-config-g6JfCjT4.js +0 -250
  946. package/dist/shared-CJ2_38Ar.js +0 -198
  947. package/dist/shared-CecRnN5i.js +0 -76
  948. package/dist/shared-Zan1S92i.js +0 -121
  949. package/dist/slash-state-EXy1B2EX.js +0 -1911
  950. package/dist/src-Dda8Fvmo.js +0 -3974
  951. package/dist/startup-context-BLtyYbKu.js +0 -312
  952. package/dist/status-B1RXiDvc.js +0 -3
  953. package/dist/status-B4tnoXkV.js +0 -2
  954. package/dist/status-BWXZC-dF.js +0 -2
  955. package/dist/status-DNnTegVL.js +0 -395
  956. package/dist/status-G3Z29Cb_.js +0 -190
  957. package/dist/status-all-pjolmMGB.js +0 -498
  958. package/dist/status-json-BKR5uVlE.js +0 -14
  959. package/dist/status-json-command-DuIQ8dNz.js +0 -82
  960. package/dist/status-n2SrcSeP.js +0 -209
  961. package/dist/status-runtime-shared-9akPh3OB.js +0 -241
  962. package/dist/status-subagents.runtime-C-2-94r7.js +0 -18
  963. package/dist/status-text-DY-AMW7D.js +0 -237
  964. package/dist/status.gateway-connection.runtime-CGwlyVSQ.js +0 -2
  965. package/dist/status.gather-C17tVkff.js +0 -2
  966. package/dist/status.gather-CGXwFKnq.js +0 -292
  967. package/dist/status.runtime-DdcRs0mC.js +0 -2
  968. package/dist/status.scan-BSIqJF_S.js +0 -65
  969. package/dist/status.scan-overview-CbwLYoIT.js +0 -379
  970. package/dist/status.scan.fast-json-BnpfFSN8.js +0 -2
  971. package/dist/status.scan.fast-json-W54JDFUy.js +0 -132
  972. package/dist/status.summary-CeaTG93y.js +0 -2
  973. package/dist/status.summary-LPaYBiqB.js +0 -200
  974. package/dist/subagent-announce-Dn5xl49E.js +0 -351
  975. package/dist/subagent-announce-delivery-CpVHT0KZ.js +0 -726
  976. package/dist/subagent-announce-output-Ba8GDqQZ.js +0 -364
  977. package/dist/subagent-control-Clm3gsra.js +0 -506
  978. package/dist/subagent-followup.runtime-OlILj5hg.js +0 -68
  979. package/dist/subagent-orphan-recovery-Dqi7ktSy.js +0 -305
  980. package/dist/subagent-registry-BfT1dA_H.js +0 -3
  981. package/dist/subagent-registry-DsOeyo6i.js +0 -1753
  982. package/dist/subagent-spawn-IMKDJ_Ai.js +0 -1005
  983. package/dist/system-cli-QcbUPgUP.js +0 -43
  984. package/dist/targets-rJXMe19f.js +0 -67
  985. package/dist/task-executor-CT_QfGPJ.js +0 -360
  986. package/dist/task-owner-access-Bm14vxJa.js +0 -74
  987. package/dist/task-registry-D6gK7iIt.js +0 -2357
  988. package/dist/task-registry-delivery-runtime-CDAeASdU.js +0 -2
  989. package/dist/task-registry-delivery-runtime-CeWw5kdc.js +0 -3
  990. package/dist/task-registry.maintenance-B5hpULqB.js +0 -416
  991. package/dist/task-registry.maintenance-DZFQCCjc.js +0 -2
  992. package/dist/testing-B2Y0vJ76.js +0 -575
  993. package/dist/text-report-0Q8c04if.js +0 -549
  994. package/dist/tool-resolution-CHcj9HdC.js +0 -90
  995. package/dist/tools-effective-inventory-Giuks2Dt.js +0 -152
  996. package/dist/tools-invoke-http-FlaWbmCS.js +0 -206
  997. package/dist/trash-BzlpkaUi.js +0 -24
  998. package/dist/tui-cli-B9Emgd5Q.js +0 -4585
  999. package/dist/update-cli-ln47pDmA.js +0 -1759
  1000. package/dist/upgrade-Ctu4zfU3.js +0 -1226
  1001. package/dist/video-generation-task-status-AzBxxMK4.js +0 -163
  1002. package/dist/wait-for-idle-before-flush-D4a3dGVX.js +0 -6025
  1003. package/dist/wizard-models-DpLispoG.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-Cy5vajWd.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-BUYwVohk.js";
10
+ import "./config-DYHZ3jG1.js";
11
+ import { i as GATEWAY_CLIENT_NAMES, r as GATEWAY_CLIENT_MODES } from "./client-info-CjxzJxIU.js";
12
+ import { f as updateAuthProfileStoreWithLock, s as loadAuthProfileStoreForRuntime } from "./store-DOYGPxaT.js";
13
+ import { a as registerMemoryEmbeddingProvider, r as listMemoryEmbeddingProviders } from "./memory-embedding-providers-CKYjkNxa.js";
14
+ import { r as loadModelCatalog } from "./model-catalog-bbYPQYGY.js";
15
+ import { l as normalizeMimeType, n as extensionForMime, t as detectMime } from "./mime-uYFJ8ocK.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-DkAzfFXU.js";
17
+ import { a as getImageMetadata } from "./image-ops-BKoz9hKm.js";
18
+ import "./auth-profiles-COE8qycx.js";
19
+ import { n as listProfilesForProvider } from "./profile-list-C0rD0kln.js";
20
+ import { t as buildGatewayConnectionDetailsWithResolvers } from "./connection-details-CtgHGqRU.js";
21
+ import { c as randomIdempotencyKey, r as callGateway } from "./call-CoL9QpLf.js";
22
+ import { n as listRuntimeImageGenerationProviders, t as generateImage } from "./runtime-JVOgkIEF.js";
23
+ import { l as saveMediaBuffer } from "./store-Il9HLBFt.js";
24
+ import { C as buildMediaUnderstandingRegistry } from "./resolve-BHmKuinY.js";
25
+ import { n as listRuntimeVideoGenerationProviders, t as generateVideo } from "./runtime-CYvH_wW3.js";
26
+ import { r as listWebSearchProviders, s as runWebSearch, t as isWebSearchProviderConfigured } from "./runtime-rxWAKdda.js";
27
+ import { t as resolveMemorySearchConfig } from "./memory-search-CRBsqyv-.js";
28
+ import { n as agentCommand } from "./agent-command-ByKQHVY7.js";
29
+ import { r as listSpeechProviders, t as canonicalizeSpeechProviderId } from "./provider-registry-CkTwScxf.js";
30
+ import { n as runCommandWithRuntime } from "./cli-utils-DpTqGaPI.js";
31
+ import { a as transcribeAudioFile, n as describeImageFileWithModel, r as describeVideoFile, t as describeImageFile } from "./runtime-BshnyUPo.js";
32
+ import "./provider-auth-login-D4MC4bs_.js";
33
+ import { t as createDefaultDeps } from "./deps-CMhJYvQj.js";
34
+ import "./aliases-Bx--0eZ4.js";
35
+ import { n as modelsAuthLoginCommand } from "./auth-MA9UN5hQ.js";
36
+ import "./auth-order-BTnSGQgv.js";
37
+ import "./fallbacks-CNYcJGsI.js";
38
+ import "./image-fallbacks-Dw2qDUfx.js";
39
+ import { t as modelsStatusCommand } from "./list-O4TnoMHO.js";
40
+ import "./scan-DFZp_kSW.js";
41
+ import "./set-Cc1dUWr4.js";
42
+ import "./set-image-BKyYldxD.js";
43
+ import { i as registerBuiltInMemoryEmbeddingProviders, t as createEmbeddingProvider } from "./memory-core-bundled-runtime-BhqqrQ2X.js";
44
+ import { i as resolveWebFetchDefinition, r as listWebFetchProviders, t as isWebFetchProviderConfigured } from "./runtime-CXvhncRs.js";
45
+ import { t as removeCommandByName } from "./command-tree-CbrFdBsj.js";
46
+ import { t as collectOption } from "./helpers-smRZ1xtJ.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 };