@pixelzx/genesis 2026.5.3-5 → 2026.5.5

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 (996) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-t5XiT6Yl.js +201 -0
  4. package/dist/abort.runtime-C_xk0DkL.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-B7yDKwxi.js +104 -0
  7. package/dist/accounts-CS7VL356.js +107 -0
  8. package/dist/accounts-XvHcAtMf.js +2 -0
  9. package/dist/acp-cli-B5H0nvID.js +2193 -0
  10. package/dist/acp-spawn-BRTMqPlq.js +2 -0
  11. package/dist/acp-spawn-Dsw3dzWY.js +1093 -0
  12. package/dist/acp-stateful-target-driver-BYhkJnyh.js +89 -0
  13. package/dist/action-agents-Ca9kTFvv.js +67 -0
  14. package/dist/action-focus-D4pT0hra.js +132 -0
  15. package/dist/action-help-DMzMxFEQ.js +7 -0
  16. package/dist/action-info-Dzn_fn6G.js +101 -0
  17. package/dist/action-kill-2AQuhnLy.js +33 -0
  18. package/dist/action-list-DI1M2pKU.js +21 -0
  19. package/dist/action-log-BVKGgOki.js +30 -0
  20. package/dist/action-send-CZ2wciMW.js +39 -0
  21. package/dist/action-spawn-BdclQLrK.js +47 -0
  22. package/dist/action-unfocus-DfQuRf8d.js +29 -0
  23. package/dist/actions.runtime-B2-oz_B6.js +5 -0
  24. package/dist/actions.runtime-BoUxrcw3.js +18 -0
  25. package/dist/actions.runtime.js +1 -1
  26. package/dist/agent-CnQ3yCIw.js +2 -0
  27. package/dist/agent-command-C4H_9c2N.js +874 -0
  28. package/dist/agent-harness-runtime-D2oXzgyL.js +144 -0
  29. package/dist/agent-runner-utils-CWgPcOYn.js +239 -0
  30. package/dist/agent-runner.runtime-DvK-HQhq.js +3455 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-BDslXtCf.js +18 -0
  33. package/dist/agents-4T7YaeKy.js +953 -0
  34. package/dist/agents-C_Gty_RK.js +5 -0
  35. package/dist/aliases-BkVpehd-.js +96 -0
  36. package/dist/aliases-DWkJWJ5A.js +2 -0
  37. package/dist/api-CgW6fcU2.js +3 -0
  38. package/dist/api-DYPaGKUj.js +5 -0
  39. package/dist/api-DdoV90Cn.js +139 -0
  40. package/dist/approval-gateway-resolver-Ba_2kb3B.js +29 -0
  41. package/dist/approval-gateway-runtime-7VMivk0A.js +2 -0
  42. package/dist/approval-handler-runtime-DUDpOwG7.js +439 -0
  43. package/dist/approval-native-runtime-KkmX9gwQ.js +729 -0
  44. package/dist/attempt-execution.runtime-CQkeVpDx.js +509 -0
  45. package/dist/attempt-execution.runtime.js +1 -1
  46. package/dist/attempt.prompt-helpers-MoT6VaD0.js +221 -0
  47. package/dist/attempt.tool-run-context-B53GhX-d.js +933 -0
  48. package/dist/audit-CvHcVVb-.js +939 -0
  49. package/dist/audit.runtime-C7n442Rc.js +7 -0
  50. package/dist/audit.runtime.js +1 -1
  51. package/dist/auth-CAnSldtM.js +2 -0
  52. package/dist/auth-Czf_o5iE.js +383 -0
  53. package/dist/auth-order-Cu9Vj7lA.js +96 -0
  54. package/dist/auth-order-q1IFw7L3.js +2 -0
  55. package/dist/bash-tools-BS4TrA4X.js +2824 -0
  56. package/dist/bash-tools-DbHYuk8O.js +3 -0
  57. package/dist/binding-routing-CnNQE65Q.js +85 -0
  58. package/dist/binding-targets-DW0ScIRI.js +121 -0
  59. package/dist/bridge-server-BGS08n2f.js +113 -0
  60. package/dist/browser-control-auth-DMlQOsyN.js +2 -0
  61. package/dist/browser-node-runtime-CF32scUO.js +12 -0
  62. package/dist/browser-profiles-CmER65eh.js +2 -0
  63. package/dist/browser-runtime-D73M9fg3.js +387 -0
  64. package/dist/browser-setup-tools-Cr0UI1rf.js +13 -0
  65. package/dist/build-BL7WirDF.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-Ckws4Nlw.js +3 -0
  70. package/dist/call-DkGNVvLy.js +331 -0
  71. package/dist/call.runtime-DfLBtAIr.js +2 -0
  72. package/dist/call.runtime.js +1 -1
  73. package/dist/capability-cli-tSqSJf2o.js +1401 -0
  74. package/dist/catchup-Dp2L1RcY.js +300 -0
  75. package/dist/channel-BIFp1GJd.js +1320 -0
  76. package/dist/channel-BZMzoXhw.js +840 -0
  77. package/dist/channel-BtPZ0i4g.js +297 -0
  78. package/dist/channel-DDd7xwLG.js +226 -0
  79. package/dist/channel-DLezQPqR.js +350 -0
  80. package/dist/channel-DcYHXn_7.js +1100 -0
  81. package/dist/channel-DzKtLfJj.js +1802 -0
  82. package/dist/channel-LlY18tI5.js +595 -0
  83. package/dist/channel-NjZviHcJ.js +1174 -0
  84. package/dist/channel-core-Cg1mFpva.js +5 -0
  85. package/dist/channel-inbound-CZpi-vp5.js +31 -0
  86. package/dist/channel-pDXIWFS4.js +453 -0
  87. package/dist/channel-plugin-runtime-DHl81Ror.js +771 -0
  88. package/dist/channel-runtime-CtYrrwow.js +425 -0
  89. package/dist/channel-wMkGGyIY.js +491 -0
  90. package/dist/channel.runtime-B1n0hvUI.js +430 -0
  91. package/dist/channel.runtime-B9iR26l_.js +576 -0
  92. package/dist/channel.runtime-C8eBQk67.js +4 -0
  93. package/dist/channel.runtime-Db8g8JCg.js +89 -0
  94. package/dist/channel.runtime-DfRfisV2.js +34702 -0
  95. package/dist/channel.runtime-gPdBMu3V.js +109 -0
  96. package/dist/channel.runtime-rG9pJ5NO.js +2364 -0
  97. package/dist/channel.runtime.js +1 -1
  98. package/dist/channel.setup-CWblUOhD.js +10 -0
  99. package/dist/channels-B4dYRKsI.js +733 -0
  100. package/dist/channels-cli-GMAOUYU3.js +268 -0
  101. package/dist/chat-D2XaZNiP.js +2758 -0
  102. package/dist/clawbot-cli-CSmdcIMT.js +9 -0
  103. package/dist/cli/daemon-cli.js +3 -3
  104. package/dist/cli-2u5IZTMS.js +219 -0
  105. package/dist/cli-Bk8uXnyc.js +72 -0
  106. package/dist/cli-DBfw9jCz.js +2 -0
  107. package/dist/cli-runner-BEqvX1ky.js +286 -0
  108. package/dist/cli-runner.runtime-BIUcUGDa.js +4 -0
  109. package/dist/cli-runner.runtime-D2u3Yw0W.js +3 -0
  110. package/dist/cli-runner.runtime.js +1 -1
  111. package/dist/cli-startup-metadata.json +2 -2
  112. package/dist/cli-waH8839u.js +2 -0
  113. package/dist/cli.runtime-mKvJpLwI.js +1261 -0
  114. package/dist/cli.runtime.js +1 -1
  115. package/dist/client-CKizOsGp.js +138 -0
  116. package/dist/client-CrPccv7a.js +713 -0
  117. package/dist/command-auth-DPkjKHdv.js +76 -0
  118. package/dist/command-config-resolution-BTjtnAp2.js +2 -0
  119. package/dist/command-config-resolution-Be3KZA_l.js +23 -0
  120. package/dist/command-config-resolution.runtime-DXgL8cm7.js +2 -0
  121. package/dist/command-config-resolution.runtime.js +1 -1
  122. package/dist/command-registry-BL1Z4Cen.js +4 -0
  123. package/dist/command-registry-BMePAw9w.js +9 -0
  124. package/dist/command-registry-core-CAay55-n.js +104 -0
  125. package/dist/command-secret-gateway-jj1Qmk9L.js +528 -0
  126. package/dist/command-status.runtime-BVcCm9_0.js +87 -0
  127. package/dist/command-status.runtime.js +1 -1
  128. package/dist/commands-acp-COdUW69f.js +77 -0
  129. package/dist/commands-compact.runtime-C0Fedews.js +10 -0
  130. package/dist/commands-compact.runtime.js +1 -1
  131. package/dist/commands-handlers.runtime-BXVM3PWG.js +4597 -0
  132. package/dist/commands-handlers.runtime.js +1 -1
  133. package/dist/commands-status-DaApOLoQ.js +16 -0
  134. package/dist/commands-status.runtime-CxSjrKne.js +3 -0
  135. package/dist/commands-status.runtime.js +1 -1
  136. package/dist/commands-subagents-control.runtime-BEfW44br.js +2 -0
  137. package/dist/commands-subagents-control.runtime-DB3AROHI.js +3 -0
  138. package/dist/commands-subagents-control.runtime.js +1 -1
  139. package/dist/commands-system-prompt-CCrUy7xq.js +158 -0
  140. package/dist/commands-system-prompt-CN56TtaC.js +2 -0
  141. package/dist/commands.runtime-Bee6dM3V.js +166 -0
  142. package/dist/commands.runtime.js +1 -1
  143. package/dist/compact-7YtEe1kG.js +1118 -0
  144. package/dist/compact.runtime-4gW_cs7D.js +12 -0
  145. package/dist/compact.runtime.js +1 -1
  146. package/dist/completion-cli-COv-r8_h.js +313 -0
  147. package/dist/config-DSsLlg8J.js +251 -0
  148. package/dist/config-cli-C9oGe9gl.js +1078 -0
  149. package/dist/configure-Bfy9tVmS.js +2 -0
  150. package/dist/configure-DpIFRaAD.js +1245 -0
  151. package/dist/connect-options-CPixzqP_.js +699 -0
  152. package/dist/control-auth-L7U2ivRJ.js +125 -0
  153. package/dist/control-service-CbUz8qU5.js +156 -0
  154. package/dist/conversation-id-BroDIGeT.js +38 -0
  155. package/dist/conversation-id-CuVi0tWe.js +235 -0
  156. package/dist/conversation-runtime-weaahZQN.js +31 -0
  157. package/dist/core-PXv1nsc-.js +275 -0
  158. package/dist/cron-cli-DZNSQBuA.js +713 -0
  159. package/dist/daemon-cli-C_9CNoZA.js +12 -0
  160. package/dist/delegate-B8wh-jjf.js +64 -0
  161. package/dist/detached-task-runtime-BTq-jIGw.js +73 -0
  162. package/dist/devices-cli-C_amY-AS.js +496 -0
  163. package/dist/diagnostics-Bw-fd0ug.js +154 -0
  164. package/dist/direct-dm-Dvqjch3O.js +64 -0
  165. package/dist/dispatch-DHPQS49Q.js +1131 -0
  166. package/dist/dispatch-acp-manager.runtime-y-oykPUz.js +3 -0
  167. package/dist/dispatch-acp-manager.runtime.js +1 -1
  168. package/dist/dispatch-acp-taSuJD5W.js +981 -0
  169. package/dist/dispatch-acp.runtime-DgyaFFNX.js +19 -0
  170. package/dist/dispatch-acp.runtime.js +1 -1
  171. package/dist/doctor-device-pairing-rxwogzYF.js +307 -0
  172. package/dist/doctor-gateway-daemon-flow-Dm4wxnTt.js +250 -0
  173. package/dist/doctor-gateway-health-wJVW5xUW.js +60 -0
  174. package/dist/doctor-health-DaodspKU.js +59 -0
  175. package/dist/doctor-health-contributions-CBVyN6ju.js +486 -0
  176. package/dist/doctor-prompter-vO6LPeXZ.js +56 -0
  177. package/dist/doctor-workspace-status-BnXA04-6.js +75 -0
  178. package/dist/dreaming-1RLie1iF.js +1574 -0
  179. package/dist/dreaming-narrative-BRtTdpbt.js +595 -0
  180. package/dist/embedded-gateway-stub.runtime-GMix51Tf.js +9 -0
  181. package/dist/embedded-gateway-stub.runtime.js +1 -1
  182. package/dist/entry.js +2 -2
  183. package/dist/exec-approvals-cli-R6jgupQH.js +498 -0
  184. package/dist/extensionAPI.js +1 -1
  185. package/dist/extensions/active-memory/index.js +1 -1
  186. package/dist/extensions/bluebubbles/api.js +3 -3
  187. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  188. package/dist/extensions/browser/browser-bridge.js +1 -1
  189. package/dist/extensions/browser/browser-config.js +4 -4
  190. package/dist/extensions/browser/browser-control-auth.js +2 -2
  191. package/dist/extensions/browser/browser-doctor.js +2 -2
  192. package/dist/extensions/browser/browser-maintenance.js +2 -2
  193. package/dist/extensions/browser/browser-profiles.js +2 -2
  194. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  195. package/dist/extensions/browser/index.js +1 -1
  196. package/dist/extensions/browser/plugin-registration.js +1 -1
  197. package/dist/extensions/browser/register.runtime.js +3 -3
  198. package/dist/extensions/browser/runtime-api.js +11 -11
  199. package/dist/extensions/browser/test-support.js +1 -1
  200. package/dist/extensions/device-pair/api.js +1 -1
  201. package/dist/extensions/device-pair/index.js +3 -3
  202. package/dist/extensions/device-pair/notify.js +1 -1
  203. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  204. package/dist/extensions/google-meet/index.js +2 -2
  205. package/dist/extensions/imessage/api.js +3 -3
  206. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  207. package/dist/extensions/imessage/runtime-api.js +3 -3
  208. package/dist/extensions/irc/api.js +2 -2
  209. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  210. package/dist/extensions/line/api.js +2 -2
  211. package/dist/extensions/line/channel-plugin-api.js +1 -1
  212. package/dist/extensions/line/contract-api.js +1 -1
  213. package/dist/extensions/line/runtime-api.js +4 -4
  214. package/dist/extensions/line/setup-api.js +1 -1
  215. package/dist/extensions/llm-task/index.js +2 -2
  216. package/dist/extensions/lobster/index.js +3 -3
  217. package/dist/extensions/lobster/runtime-api.js +1 -1
  218. package/dist/extensions/mattermost/api.js +1 -1
  219. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  220. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  221. package/dist/extensions/mattermost/policy-api.js +1 -1
  222. package/dist/extensions/mattermost/runtime-api.js +4 -4
  223. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  224. package/dist/extensions/memory-core/api.js +1 -1
  225. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  226. package/dist/extensions/memory-core/index.js +3 -3
  227. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  228. package/dist/extensions/msteams/api.js +1 -1
  229. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  230. package/dist/extensions/msteams/runtime-api.js +3 -3
  231. package/dist/extensions/msteams/test-api.js +1 -1
  232. package/dist/extensions/nextcloud-talk/api.js +1 -1
  233. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  234. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  235. package/dist/extensions/openshell/index.js +2 -2
  236. package/dist/extensions/signal/api.js +6 -6
  237. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  238. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  239. package/dist/extensions/signal/runtime-api.js +7 -7
  240. package/dist/extensions/skill-workshop/api.js +1 -1
  241. package/dist/extensions/skill-workshop/index.js +1 -1
  242. package/dist/extensions/synology-chat/api.js +1 -1
  243. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  244. package/dist/extensions/tlon/api.js +2 -2
  245. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  246. package/dist/extensions/tlon/runtime-api.js +1 -1
  247. package/dist/extensions/tlon/test-api.js +1 -1
  248. package/dist/extensions/twitch/api.js +1 -1
  249. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  250. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  251. package/dist/extensions/zalo/api.js +3 -3
  252. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  253. package/dist/extensions/zalo/runtime-api.js +2 -2
  254. package/dist/extensions/zalo/setup-api.js +2 -2
  255. package/dist/extensions/zalouser/api.js +3 -3
  256. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  257. package/dist/extensions/zalouser/runtime-api.js +6 -6
  258. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  259. package/dist/extensions/zalouser/test-api.js +1 -1
  260. package/dist/fallbacks-Cckv3nng.js +2 -0
  261. package/dist/fallbacks-Y_nNY8_a.js +31 -0
  262. package/dist/fallbacks-shared-DZiG1Gr_.js +111 -0
  263. package/dist/gateway-CDfn0J87.js +115 -0
  264. package/dist/gateway-cli-D197U6l0.js +1325 -0
  265. package/dist/gateway-rpc-Bomz8HKq.js +14 -0
  266. package/dist/gateway-rpc.runtime-597tksmo.js +23 -0
  267. package/dist/gateway-rpc.runtime.js +1 -1
  268. package/dist/gateway-runtime-Bm2_MhFn.js +15 -0
  269. package/dist/gateway-status-Cr4UJKUx.js +584 -0
  270. package/dist/genesis-tools-DCRaVVjY.js +8999 -0
  271. package/dist/genesis-tools.runtime-idgd5fjy.js +2 -0
  272. package/dist/genesis-tools.runtime.js +1 -1
  273. package/dist/get-reply-BF_7bR5f.js +3879 -0
  274. package/dist/get-reply-from-config.runtime-DEq5XM_s.js +2 -0
  275. package/dist/get-reply-from-config.runtime.js +1 -1
  276. package/dist/graph-users-Bhlw-_4i.js +1337 -0
  277. package/dist/health-9ifMvGZN.js +3 -0
  278. package/dist/health-CzOJa6SX.js +469 -0
  279. package/dist/heartbeat-runner-B2Tkbj5e.js +5 -0
  280. package/dist/heartbeat-runner-B63G8dbO.js +1292 -0
  281. package/dist/heartbeat-runner.runtime-QJ_2AMjN.js +4 -0
  282. package/dist/heartbeat-runner.runtime.js +1 -1
  283. package/dist/hooks-cli-ZWI1iJnh.js +433 -0
  284. package/dist/image-fallbacks-BpTfBvbi.js +2 -0
  285. package/dist/image-fallbacks-DpVwnB41.js +31 -0
  286. package/dist/inbound-reply-dispatch-mKybIcNA.js +73 -0
  287. package/dist/index.js +2 -2
  288. package/dist/infra-runtime-CvwvzUfM.js +39 -0
  289. package/dist/init-CWeM0DfJ.js +59 -0
  290. package/dist/library-ClQalZ3x.js +45 -0
  291. package/dist/lifecycle-CgV7Cgt-.js +571 -0
  292. package/dist/lifecycle-DVWaxj-A.js +229 -0
  293. package/dist/lifecycle.runtime-DErLwVJ_.js +2 -0
  294. package/dist/lifecycle.runtime.js +1 -1
  295. package/dist/list-5RIS3LMG.js +2 -0
  296. package/dist/list-BNesYDN2.js +2 -0
  297. package/dist/list-Dk1hCKis.js +1201 -0
  298. package/dist/list-eUjt_6__.js +131 -0
  299. package/dist/list.probe-C51ceJSY.js +419 -0
  300. package/dist/llm-slug-generator-D64IMUoy.js +79 -0
  301. package/dist/llm-slug-generator.js +1 -1
  302. package/dist/load-config-Ccss2uTi.js +35 -0
  303. package/dist/local-dispatch.runtime-u7Ir1N07.js +8 -0
  304. package/dist/local-dispatch.runtime.js +1 -1
  305. package/dist/logs-cli-BYHTboPa.js +265 -0
  306. package/dist/logs-cli.runtime-CQwNptr-.js +2 -0
  307. package/dist/logs-cli.runtime.js +1 -1
  308. package/dist/main-session-restart-recovery-CA9bvC1W.js +206 -0
  309. package/dist/managed-image-attachments-B_gpkI1u.js +635 -0
  310. package/dist/managed-image-attachments-C0Y6nAP2.js +2 -0
  311. package/dist/manager-DZGFArgz.js +2 -0
  312. package/dist/manager-Df8TC4rX.js +2057 -0
  313. package/dist/markdown-to-line-xXLdnzcE.js +790 -0
  314. package/dist/mcp/plugin-tools-serve.js +1 -1
  315. package/dist/mcp-cli-B50W9Pkc.js +725 -0
  316. package/dist/mcp-http-BiUGVpJ4.js +529 -0
  317. package/dist/memory-core-host-runtime-cli-UgLo6ezC.js +9 -0
  318. package/dist/message-C95gttLd.js +232 -0
  319. package/dist/message-action-runner-0KAp6ccG.js +1407 -0
  320. package/dist/message-action-runner-BSUDvECO.js +2 -0
  321. package/dist/message-actions-Be4Ob151.js +143 -0
  322. package/dist/message.gateway.runtime-DMMRMIln.js +2 -0
  323. package/dist/message.gateway.runtime.js +1 -1
  324. package/dist/models-auth-status-DhYxBz7G.js +201 -0
  325. package/dist/models-cli-C2prinXb.js +219 -0
  326. package/dist/monitor-BEI21vNQ.js +1661 -0
  327. package/dist/monitor-BUgTAJvZ.js +1237 -0
  328. package/dist/monitor-BdJRIhi1.js +2 -0
  329. package/dist/monitor-C7wuttQJ.js +1459 -0
  330. package/dist/monitor-DMumiWnt.js +788 -0
  331. package/dist/monitor-IQo2ExmV.js +671 -0
  332. package/dist/monitor-auth-DW0lvfm3.js +207 -0
  333. package/dist/monitor-processing-DTrsRdyz.js +1974 -0
  334. package/dist/monitor.runtime-DwqyCQcb.js +2 -0
  335. package/dist/monitor.runtime.js +1 -1
  336. package/dist/monitor.webhook-D11nrUh9.js +180 -0
  337. package/dist/msteams-DO-PW98M.js +35 -0
  338. package/dist/native-hook-relay-CNZrcPIw.js +519 -0
  339. package/dist/nextcloud-talk-BeYFnATY.js +17 -0
  340. package/dist/node-cli-BFrdTPdH.js +2506 -0
  341. package/dist/nodes-cli-B3Wj_MvP.js +1046 -0
  342. package/dist/nodes-utils-AsgrCa7K.js +84 -0
  343. package/dist/nodes.helpers-CMXxavTs.js +34 -0
  344. package/dist/notify-CNS0kRWM.js +315 -0
  345. package/dist/onboard-D4ehf66t.js +632 -0
  346. package/dist/onboard-helpers-DWxdMyCs.js +6 -0
  347. package/dist/onboard-helpers-o78s0lR1.js +204 -0
  348. package/dist/onboard-remote-Cc1XlRzr.js +193 -0
  349. package/dist/onboard-remote-D8THwo3P.js +2 -0
  350. package/dist/onboard-skills-B2VoCq7v.js +134 -0
  351. package/dist/onboard-skills-DtOgSJZo.js +2 -0
  352. package/dist/openai-http-DKQZWsqY.js +500 -0
  353. package/dist/openresponses-http-C4kol41X.js +1128 -0
  354. package/dist/operator-approvals-client-BoN_VmkB.js +68 -0
  355. package/dist/outbound.runtime-D-L8FN8E.js +2 -0
  356. package/dist/outbound.runtime.js +1 -1
  357. package/dist/pair-command-approve-DMeQ6uD4.js +44 -0
  358. package/dist/persistent-bindings.lifecycle-O-RnoTW4.js +2 -0
  359. package/dist/persistent-bindings.lifecycle-bptWQEFT.js +85 -0
  360. package/dist/pi-embedded-BM79sXqb.js +2905 -0
  361. package/dist/pi-embedded-BUDWcDt8.js +4 -0
  362. package/dist/pi-embedded.runtime-D53bCPOr.js +4 -0
  363. package/dist/pi-embedded.runtime.js +1 -1
  364. package/dist/pi-tool-definition-adapter-DdYQtumi.js +217 -0
  365. package/dist/pi-tools-ihbjTP0K.js +1057 -0
  366. package/dist/pi-tools.before-tool-call-DrEqr96j.js +433 -0
  367. package/dist/pi-tools.before-tool-call-VB9YEPOv.js +2 -0
  368. package/dist/plugin-DwNULpmw.js +12195 -0
  369. package/dist/plugin-enabled-DbO9GyRJ.js +140 -0
  370. package/dist/plugin-registration-Du6hgUkp.js +23 -0
  371. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  372. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  373. package/dist/plugin-sdk/acp-runtime.js +2 -2
  374. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  375. package/dist/plugin-sdk/agent-harness.js +6 -6
  376. package/dist/plugin-sdk/agent-runtime.js +2 -2
  377. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  378. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  379. package/dist/plugin-sdk/approval-runtime.js +1 -1
  380. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  381. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  382. package/dist/plugin-sdk/browser-support.js +7 -7
  383. package/dist/plugin-sdk/channel-core.js +2 -2
  384. package/dist/plugin-sdk/channel-inbound.js +2 -2
  385. package/dist/plugin-sdk/command-auth.js +1 -1
  386. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  387. package/dist/plugin-sdk/compat.js +1 -1
  388. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  389. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  390. package/dist/plugin-sdk/core.js +2 -2
  391. package/dist/plugin-sdk/direct-dm.js +1 -1
  392. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  393. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  394. package/dist/plugin-sdk/index.js +1 -1
  395. package/dist/plugin-sdk/infra-runtime.js +2 -2
  396. package/dist/plugin-sdk/irc.js +2 -2
  397. package/dist/plugin-sdk/matrix.js +1 -1
  398. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  399. package/dist/plugin-sdk/memory-core.js +2 -2
  400. package/dist/plugin-sdk/msteams.js +2 -2
  401. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  402. package/dist/plugin-sdk/nostr.js +1 -1
  403. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  404. package/dist/plugin-sdk/reply-runtime.js +4 -4
  405. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  406. package/dist/plugin-sdk/runtime.js +2 -2
  407. package/dist/plugin-sdk/session-visibility.js +1 -1
  408. package/dist/plugin-sdk/testing.js +4 -4
  409. package/dist/plugin-sdk/tlon.js +1 -1
  410. package/dist/plugin-sdk/zalo.js +1 -1
  411. package/dist/plugin-sdk/zalouser.js +1 -1
  412. package/dist/plugin-service-DcSnRF5x.js +2890 -0
  413. package/dist/plugins/runtime/index.js +1 -1
  414. package/dist/policy-uc224usV.js +328 -0
  415. package/dist/postinstall-inventory.json +407 -407
  416. package/dist/prepare.runtime-BPA6jMiM.js +815 -0
  417. package/dist/prepare.runtime.js +1 -1
  418. package/dist/probe-5ToseFjd.js +1443 -0
  419. package/dist/probe-BdCXAH_u.js +2 -0
  420. package/dist/probe-ByVoZEdq.js +45 -0
  421. package/dist/probe-D-D_1oc4.js +241 -0
  422. package/dist/probe-D6s_1Z5k.js +2 -0
  423. package/dist/probe-DIMAmSsO.js +74 -0
  424. package/dist/probe-DYuL-s4A.js +2205 -0
  425. package/dist/program-DDTWTh6g.js +111 -0
  426. package/dist/prompt-select-styled-kf1dPqNa.js +20 -0
  427. package/dist/protocol-Batc2DmY.js +2234 -0
  428. package/dist/provider-dispatcher-DdUqCa6H.js +2 -0
  429. package/dist/provider-dispatcher-uioW38XW.js +22 -0
  430. package/dist/qr-cli-B1WUe8Eb.js +2 -0
  431. package/dist/qr-cli-DmPti3xe.js +349 -0
  432. package/dist/reaction-runtime-api-5G3e9J0C.js +116 -0
  433. package/dist/reactions-x7VH-B95.js +998 -0
  434. package/dist/register-service-commands-DcW5qPTu.js +71 -0
  435. package/dist/register.agent-Dtj4HC7R.js +248 -0
  436. package/dist/register.configure-CJHb84Ce.js +15 -0
  437. package/dist/register.maintenance-BUkPfMcX.js +438 -0
  438. package/dist/register.message-DGFpyYBl.js +329 -0
  439. package/dist/register.onboard-D3v3xIfF.js +81 -0
  440. package/dist/register.runtime-DI4QxYdj.js +81 -0
  441. package/dist/register.runtime.js +1 -1
  442. package/dist/register.setup-CXTyuIFM.js +150 -0
  443. package/dist/register.status-health-sessions-CYUnRi97.js +1215 -0
  444. package/dist/register.subclis-DKMVrwRc.js +3 -0
  445. package/dist/register.subclis-NWRi2XKp.js +29 -0
  446. package/dist/register.subclis-core-De6qmQkr.js +243 -0
  447. package/dist/reply-dispatch-runtime-B8_j6pJi.js +13 -0
  448. package/dist/reply-runtime-DGHQDC9d.js +11 -0
  449. package/dist/reply.runtime-BCfqw2Co.js +2 -0
  450. package/dist/reply.runtime.js +1 -1
  451. package/dist/restart-health-6cjrRBpF.js +202 -0
  452. package/dist/restart-health-b6Qw43Tj.js +2 -0
  453. package/dist/root-help-BTIH_eUe.js +44 -0
  454. package/dist/routes-C3J2GfHR.js +3341 -0
  455. package/dist/routes-SMmfW6k8.js +2 -0
  456. package/dist/rpc-DQbAcIKu.js +61 -0
  457. package/dist/rpc.runtime-Q3qyofLf.js +21 -0
  458. package/dist/rpc.runtime.js +1 -1
  459. package/dist/run-delivery.runtime-BsLouK3f.js +530 -0
  460. package/dist/run-delivery.runtime.js +1 -1
  461. package/dist/run-embedded.runtime-CXd0oZQP.js +4 -0
  462. package/dist/run-embedded.runtime.js +1 -1
  463. package/dist/run-execution-cli.runtime-D-MKbq8r.js +4 -0
  464. package/dist/run-execution-cli.runtime.js +1 -1
  465. package/dist/run-executor.runtime-Cz0I8mDt.js +277 -0
  466. package/dist/run-executor.runtime.js +1 -1
  467. package/dist/run-main-CkXBTQut.js +516 -0
  468. package/dist/run-subagent-registry.runtime-Cyb8amrH.js +2 -0
  469. package/dist/run-subagent-registry.runtime.js +1 -1
  470. package/dist/run-wait-KlS0pdIK.js +135 -0
  471. package/dist/runtime-3niXLiFY.js +9 -0
  472. package/dist/runtime-api-B79e2jL2.js +4 -0
  473. package/dist/runtime-api-CM2c2bSC.js +9 -0
  474. package/dist/runtime-api-CnOFFN5q.js +14 -0
  475. package/dist/runtime-api-TnwM-EZH.js +9 -0
  476. package/dist/runtime-embedded-pi.runtime-9csGjukF.js +2 -0
  477. package/dist/runtime-embedded-pi.runtime.js +1 -1
  478. package/dist/runtime-internal-CQX4Zehn.js +2 -0
  479. package/dist/runtime-options-C0qP2VlT.js +275 -0
  480. package/dist/runtime-schema-DanWbDoL.js +27780 -0
  481. package/dist/runtime-vycfMfew.js +973 -0
  482. package/dist/scan-Bs5zROOQ.js +2 -0
  483. package/dist/scan-CP2zJb_w.js +523 -0
  484. package/dist/secrets-cli-YFTlIMmq.js +2101 -0
  485. package/dist/security-cli-B2WBRU9C.js +486 -0
  486. package/dist/selection-DSZGsU6m.js +2 -0
  487. package/dist/selection-hUGDnCgX.js +7736 -0
  488. package/dist/send-B3Ygb3r3.js +156 -0
  489. package/dist/send-DMwqnu6K.js +102 -0
  490. package/dist/send.runtime-D86atcfW.js +2 -0
  491. package/dist/send.runtime.js +1 -1
  492. package/dist/server-4gQCBM3M.js +77 -0
  493. package/dist/server-CK9eCPCG.js +13 -0
  494. package/dist/server-context-ih3GaGaI.js +847 -0
  495. package/dist/server-context-kZ_QADic.js +2 -0
  496. package/dist/server-node-events-CMlHOIKa.js +481 -0
  497. package/dist/server-plugin-bootstrap-B0XitldT.js +11333 -0
  498. package/dist/server-plugin-bootstrap-CHlVF8XB.js +2 -0
  499. package/dist/server-restart-sentinel-TpXCoiYX.js +697 -0
  500. package/dist/server.impl-B6at3Orl.js +12734 -0
  501. package/dist/session-kill-http-DvYp5h-j.js +110 -0
  502. package/dist/session-reset-service-C9rIVqF7.js +471 -0
  503. package/dist/session-route-FaMcEc7I.js +93 -0
  504. package/dist/session-status.runtime-BfPn8qA8.js +2 -0
  505. package/dist/session-status.runtime.js +1 -1
  506. package/dist/session-subagent-reactivation.runtime-C1fGNaiM.js +2 -0
  507. package/dist/session-subagent-reactivation.runtime.js +1 -1
  508. package/dist/session-tab-registry-BDK2AlxL.js +491 -0
  509. package/dist/session-visibility-BkrL2kFF.js +147 -0
  510. package/dist/sessions-helpers-YOu_5tl0.js +304 -0
  511. package/dist/sessions-history-http-DxNaoDfb.js +383 -0
  512. package/dist/sessions-patch-BPtlF0Lu.js +309 -0
  513. package/dist/sessions-resolve-B2rpvSka.js +174 -0
  514. package/dist/sessions.runtime-DEk_x65_.js +2 -0
  515. package/dist/sessions.runtime.js +1 -1
  516. package/dist/setup-DZJZF2R6.js +495 -0
  517. package/dist/setup-api-BkYWhB-B.js +29 -0
  518. package/dist/setup-core-BXBabSEx.js +171 -0
  519. package/dist/setup-core-eahC1DXh.js +176 -0
  520. package/dist/setup-surface-BEf8reey.js +286 -0
  521. package/dist/setup-surface-DAOKJ-ai.js +219 -0
  522. package/dist/setup-surface-b6gu0S8l.js +403 -0
  523. package/dist/setup.finalize-DXUCLT5O.js +539 -0
  524. package/dist/setup.gateway-config-BH4xbjcX.js +250 -0
  525. package/dist/shared-BhHdyXun.js +198 -0
  526. package/dist/shared-CKv38qsN.js +121 -0
  527. package/dist/shared-DUw9Q4Lf.js +76 -0
  528. package/dist/slash-state-BQgmhum1.js +1911 -0
  529. package/dist/src-C1B3uJMu.js +3974 -0
  530. package/dist/startup-context-DTpThe3H.js +312 -0
  531. package/dist/status-63GZxfe4.js +2 -0
  532. package/dist/status-C6qTe-QQ.js +397 -0
  533. package/dist/status-CSIGAUly.js +190 -0
  534. package/dist/status-DOW91Kcx.js +2 -0
  535. package/dist/status-all-7hqTcvxr.js +498 -0
  536. package/dist/status-json-CUzzv8An.js +14 -0
  537. package/dist/status-json-command-DwWlqvoV.js +84 -0
  538. package/dist/status-p4yx6E3C.js +209 -0
  539. package/dist/status-runtime-shared-yrzbsOR8.js +257 -0
  540. package/dist/status-subagents.runtime-CuRGoNNn.js +18 -0
  541. package/dist/status-subagents.runtime.js +1 -1
  542. package/dist/status-text-BrcRsCFE.js +237 -0
  543. package/dist/status-zV1BflCE.js +3 -0
  544. package/dist/status.gateway-connection.runtime-BKd4Zivg.js +2 -0
  545. package/dist/status.gateway-connection.runtime.js +1 -1
  546. package/dist/status.gather-B7WlHpIR.js +292 -0
  547. package/dist/status.gather-Ccewg4ce.js +2 -0
  548. package/dist/status.runtime-BFru2C4v.js +2 -0
  549. package/dist/status.runtime.js +1 -1
  550. package/dist/status.scan-mEKnAmP3.js +65 -0
  551. package/dist/status.scan-overview-B0qQVJd0.js +379 -0
  552. package/dist/status.scan.fast-json-CsU-fWhj.js +132 -0
  553. package/dist/status.scan.fast-json-tEc36TAC.js +2 -0
  554. package/dist/status.summary-Bvgry977.js +214 -0
  555. package/dist/status.summary-DRolowE_.js +2 -0
  556. package/dist/subagent-announce-Bhe55Ktf.js +351 -0
  557. package/dist/subagent-announce-delivery-NDBIRwuZ.js +726 -0
  558. package/dist/subagent-announce-output-DsmGO7Oi.js +364 -0
  559. package/dist/subagent-control-Bn8n-535.js +506 -0
  560. package/dist/subagent-followup.runtime-C7s-lOGN.js +68 -0
  561. package/dist/subagent-followup.runtime.js +1 -1
  562. package/dist/subagent-orphan-recovery-CJEhSvFZ.js +305 -0
  563. package/dist/subagent-registry-BgQA8eP1.js +1753 -0
  564. package/dist/subagent-registry-DAm-N9-O.js +3 -0
  565. package/dist/subagent-registry.runtime.js +1 -1
  566. package/dist/subagent-spawn-EXtecXVT.js +1005 -0
  567. package/dist/system-cli-CFS_PN8R.js +59 -0
  568. package/dist/targets-BXWH2MfM.js +67 -0
  569. package/dist/task-executor-DfugjJEq.js +360 -0
  570. package/dist/task-owner-access-CSwIy-v-.js +74 -0
  571. package/dist/task-registry-B-kQGKt_.js +2366 -0
  572. package/dist/task-registry-delivery-runtime-DD1_7xUF.js +3 -0
  573. package/dist/task-registry-delivery-runtime-DIsasFa1.js +2 -0
  574. package/dist/task-registry.maintenance-CxAx195T.js +2 -0
  575. package/dist/task-registry.maintenance-DIFuNnzy.js +416 -0
  576. package/dist/telegram/token.js +1 -1
  577. package/dist/testing-C7oUBiZL.js +575 -0
  578. package/dist/text-report-hYiQ_Kcv.js +587 -0
  579. package/dist/tool-resolution-CnnOHyxg.js +90 -0
  580. package/dist/tools-effective-inventory-DqYXIS6R.js +152 -0
  581. package/dist/tools-invoke-http-zop5qWa_.js +206 -0
  582. package/dist/trash-DZRlsk_R.js +24 -0
  583. package/dist/tui-cli-2cKXF0J8.js +4575 -0
  584. package/dist/update-cli-DP1KXasM.js +1759 -0
  585. package/dist/upgrade-DPFxH2YB.js +1226 -0
  586. package/dist/video-generation-task-status-BEgeadFu.js +163 -0
  587. package/dist/wait-for-idle-before-flush-CmSNfAco.js +5986 -0
  588. package/dist/wizard-models-BJGn0RnU.js +161 -0
  589. package/package.json +1 -1
  590. package/dist/abort-ca8hDmJr.js +0 -201
  591. package/dist/abort.runtime-BrChEuUS.js +0 -2
  592. package/dist/accounts-C1ECKXaw.js +0 -107
  593. package/dist/accounts-DH8HU_Fu.js +0 -104
  594. package/dist/accounts-DWQpG06j.js +0 -2
  595. package/dist/acp-cli-BLpWVnc7.js +0 -2193
  596. package/dist/acp-spawn-D1p6b1gk.js +0 -2
  597. package/dist/acp-spawn-qoyl9NiU.js +0 -1093
  598. package/dist/acp-stateful-target-driver-NL9txhIM.js +0 -89
  599. package/dist/action-agents-C729fJ_P.js +0 -67
  600. package/dist/action-focus-53k9XP4K.js +0 -132
  601. package/dist/action-help-bIJZBYLz.js +0 -7
  602. package/dist/action-info-BBzvYFX_.js +0 -101
  603. package/dist/action-kill-C4fa3E9I.js +0 -33
  604. package/dist/action-list-BEiIbwP1.js +0 -21
  605. package/dist/action-log-Cq7RLW2T.js +0 -30
  606. package/dist/action-send-DyiHgRwh.js +0 -39
  607. package/dist/action-spawn-CEZfDvXU.js +0 -47
  608. package/dist/action-unfocus-CpAw3JOi.js +0 -29
  609. package/dist/actions.runtime-BKEwPyo7.js +0 -18
  610. package/dist/actions.runtime-Bp0UusIf.js +0 -5
  611. package/dist/agent-C2hwJefQ.js +0 -2
  612. package/dist/agent-command-BAAeGRql.js +0 -874
  613. package/dist/agent-harness-runtime-Czrx53YL.js +0 -144
  614. package/dist/agent-runner-utils-DzShckNa.js +0 -239
  615. package/dist/agent-runner.runtime-d_EtNxBK.js +0 -3455
  616. package/dist/agent-runtime-DNgz7AOP.js +0 -18
  617. package/dist/agents-CZmpon7q.js +0 -5
  618. package/dist/agents-Cs9je_gQ.js +0 -953
  619. package/dist/aliases-CZemdpTj.js +0 -2
  620. package/dist/aliases-KefnmoaT.js +0 -96
  621. package/dist/api-CO05iXNH.js +0 -139
  622. package/dist/api-CyjlApHT.js +0 -3
  623. package/dist/api-DArm1ECd.js +0 -5
  624. package/dist/approval-gateway-resolver-URpDQMld.js +0 -29
  625. package/dist/approval-gateway-runtime-B087BMms.js +0 -2
  626. package/dist/approval-handler-runtime-BgRQnG4g.js +0 -439
  627. package/dist/approval-native-runtime-DAsraihr.js +0 -729
  628. package/dist/attempt-execution.runtime-D_FGkDQz.js +0 -509
  629. package/dist/attempt.prompt-helpers-CDzDUi1C.js +0 -221
  630. package/dist/attempt.tool-run-context-DitxaTPJ.js +0 -933
  631. package/dist/audit-Bq8vlxok.js +0 -939
  632. package/dist/audit.runtime-CU42yh1v.js +0 -7
  633. package/dist/auth-CQfwC-AH.js +0 -383
  634. package/dist/auth-DyWcaG4X.js +0 -2
  635. package/dist/auth-order-C3zGI0s9.js +0 -96
  636. package/dist/auth-order-XQ9ZGPd9.js +0 -2
  637. package/dist/bash-tools-BBRtIa6j.js +0 -2824
  638. package/dist/bash-tools-BI0d1TdC.js +0 -3
  639. package/dist/binding-routing-Cvm5c1IV.js +0 -85
  640. package/dist/binding-targets-DSs4NXbd.js +0 -121
  641. package/dist/bridge-server-CwWzSgv8.js +0 -113
  642. package/dist/browser-control-auth-y1f-9HRI.js +0 -2
  643. package/dist/browser-node-runtime-3UAeP8a6.js +0 -12
  644. package/dist/browser-profiles-BzzxphNW.js +0 -2
  645. package/dist/browser-runtime-jj11LR-E.js +0 -387
  646. package/dist/browser-setup-tools-CFB52yQc.js +0 -13
  647. package/dist/build-TlobwpQW.js +0 -550
  648. package/dist/call-Bx8lENb2.js +0 -3
  649. package/dist/call-jYRpeAWm.js +0 -331
  650. package/dist/call.runtime-BRluUZbD.js +0 -2
  651. package/dist/capability-cli-Iyj9Zi3g.js +0 -1401
  652. package/dist/catchup-CtxTwzY8.js +0 -300
  653. package/dist/channel-BJKHBfnq.js +0 -491
  654. package/dist/channel-BNNnYzwK.js +0 -1100
  655. package/dist/channel-BXS-Hd8p.js +0 -226
  656. package/dist/channel-C4XWpowe.js +0 -1174
  657. package/dist/channel-CJQdQgPr.js +0 -840
  658. package/dist/channel-C_zWAu4D.js +0 -595
  659. package/dist/channel-CtGzrF-K.js +0 -1802
  660. package/dist/channel-O9DE4IIq.js +0 -350
  661. package/dist/channel-WHUOtJme.js +0 -297
  662. package/dist/channel-WoDWDxqx.js +0 -1320
  663. package/dist/channel-core-BJjq9SOq.js +0 -5
  664. package/dist/channel-inbound-DLs-YfUs.js +0 -31
  665. package/dist/channel-plugin-runtime-CMG8ac2K.js +0 -771
  666. package/dist/channel-runtime-4UjeDmDI.js +0 -425
  667. package/dist/channel-ys2FFqi1.js +0 -453
  668. package/dist/channel.runtime-B38Ky3R9.js +0 -109
  669. package/dist/channel.runtime-Bl8WYZvF.js +0 -576
  670. package/dist/channel.runtime-D3kAsCsR.js +0 -89
  671. package/dist/channel.runtime-DEQ-anMf.js +0 -2364
  672. package/dist/channel.runtime-DG-EUnSC.js +0 -4
  673. package/dist/channel.runtime-IfV1Md6p.js +0 -430
  674. package/dist/channel.runtime-w1tHjTOa.js +0 -34702
  675. package/dist/channel.setup-dXwiMlyi.js +0 -10
  676. package/dist/channels-B2G1Y-iD.js +0 -733
  677. package/dist/channels-cli-YintLKAt.js +0 -268
  678. package/dist/chat-DdKbu8CA.js +0 -2758
  679. package/dist/clawbot-cli-CnHERFYk.js +0 -9
  680. package/dist/cli-CSNAd6Sz.js +0 -72
  681. package/dist/cli-CdRioBfN.js +0 -2
  682. package/dist/cli-DMPwqYqc.js +0 -219
  683. package/dist/cli-ctyAqh0j.js +0 -2
  684. package/dist/cli-runner-CNlk7xmx.js +0 -286
  685. package/dist/cli-runner.runtime-BK4sQk1m.js +0 -3
  686. package/dist/cli-runner.runtime-BT8ZZn-R.js +0 -4
  687. package/dist/cli.runtime-DU7swpBI.js +0 -1261
  688. package/dist/client-CQdcTPUf.js +0 -138
  689. package/dist/client-Vx7pseEY.js +0 -713
  690. package/dist/command-auth-DkJWb2HE.js +0 -76
  691. package/dist/command-config-resolution-CIRWRfR8.js +0 -23
  692. package/dist/command-config-resolution-DYZWj6Zm.js +0 -2
  693. package/dist/command-config-resolution.runtime-CUtVJOf0.js +0 -2
  694. package/dist/command-registry-CHy5EH0v.js +0 -4
  695. package/dist/command-registry-CyKgELQP.js +0 -9
  696. package/dist/command-registry-core-DQeRIuot.js +0 -104
  697. package/dist/command-secret-gateway-BNnWdAlq.js +0 -528
  698. package/dist/command-status.runtime-CKgimR6Y.js +0 -87
  699. package/dist/commands-acp-DSm97O5v.js +0 -77
  700. package/dist/commands-compact.runtime-BXhP6WJ6.js +0 -10
  701. package/dist/commands-handlers.runtime-FzK-n0L8.js +0 -4597
  702. package/dist/commands-status-BQnB5OSX.js +0 -16
  703. package/dist/commands-status.runtime-B6GcfEDm.js +0 -3
  704. package/dist/commands-subagents-control.runtime-CByd528A.js +0 -2
  705. package/dist/commands-subagents-control.runtime-CqI4LMYa.js +0 -3
  706. package/dist/commands-system-prompt-BD_LeeZk.js +0 -2
  707. package/dist/commands-system-prompt-C2Md_Ia1.js +0 -158
  708. package/dist/commands.runtime-CwiPf7Cc.js +0 -166
  709. package/dist/compact-B_4bMVpw.js +0 -1118
  710. package/dist/compact.runtime-BhRqiBXG.js +0 -12
  711. package/dist/completion-cli-D07hGGMI.js +0 -313
  712. package/dist/config-B1lvYOd7.js +0 -251
  713. package/dist/config-cli-BgepNwob.js +0 -1078
  714. package/dist/configure-CEfl0ORM.js +0 -2
  715. package/dist/configure-TsykzQqM.js +0 -1245
  716. package/dist/connect-options-zqTIEl6K.js +0 -699
  717. package/dist/control-auth-CNa_KHpo.js +0 -125
  718. package/dist/control-service-CZl5wFdZ.js +0 -156
  719. package/dist/conversation-id-BLY9ffjm.js +0 -38
  720. package/dist/conversation-id-DVeOM5Jh.js +0 -235
  721. package/dist/conversation-runtime-gJt7AAg2.js +0 -31
  722. package/dist/core-BtmNtOpS.js +0 -275
  723. package/dist/cron-cli-s9SF4__G.js +0 -713
  724. package/dist/daemon-cli-TCubZfI_.js +0 -12
  725. package/dist/delegate-DyITI93V.js +0 -64
  726. package/dist/detached-task-runtime-CTUQj84i.js +0 -73
  727. package/dist/devices-cli-SXcLjGmh.js +0 -496
  728. package/dist/diagnostics-waSemGnZ.js +0 -154
  729. package/dist/direct-dm-CiSjkmkL.js +0 -64
  730. package/dist/dispatch-BnQSIx2G.js +0 -1131
  731. package/dist/dispatch-acp-CaNQyl2L.js +0 -981
  732. package/dist/dispatch-acp-manager.runtime-DJK1eHYX.js +0 -3
  733. package/dist/dispatch-acp.runtime-Bl5cvtX4.js +0 -19
  734. package/dist/doctor-device-pairing-DBhEA-8G.js +0 -307
  735. package/dist/doctor-gateway-daemon-flow-Ds47Er3Y.js +0 -250
  736. package/dist/doctor-gateway-health-EWwTw5JR.js +0 -60
  737. package/dist/doctor-health-C6muRn7t.js +0 -59
  738. package/dist/doctor-health-contributions-B984415a.js +0 -486
  739. package/dist/doctor-prompter-BpOi4ndi.js +0 -56
  740. package/dist/doctor-workspace-status-CiEWZXrx.js +0 -75
  741. package/dist/dreaming-DFPenC85.js +0 -1574
  742. package/dist/dreaming-narrative-6A27_Gft.js +0 -595
  743. package/dist/embedded-gateway-stub.runtime-UVgfXZzk.js +0 -9
  744. package/dist/exec-approvals-cli-Cc_GG9ZT.js +0 -498
  745. package/dist/fallbacks-DX4YcmAx.js +0 -2
  746. package/dist/fallbacks-inTaaG-m.js +0 -31
  747. package/dist/fallbacks-shared-ow1la-U2.js +0 -111
  748. package/dist/gateway-D4iWwu3_.js +0 -115
  749. package/dist/gateway-cli-D6j0Aj3R.js +0 -1325
  750. package/dist/gateway-rpc-Dd_x2GX5.js +0 -14
  751. package/dist/gateway-rpc.runtime-Btnvsv-7.js +0 -23
  752. package/dist/gateway-runtime-DctMRv_p.js +0 -15
  753. package/dist/gateway-status-DJCtvUVn.js +0 -584
  754. package/dist/genesis-tools-CvMcpUvH.js +0 -8999
  755. package/dist/genesis-tools.runtime-Ch3NDEDq.js +0 -2
  756. package/dist/get-reply-Cm39MCyU.js +0 -3879
  757. package/dist/get-reply-from-config.runtime-CSqCYatb.js +0 -2
  758. package/dist/graph-users-BJxYqA3A.js +0 -1337
  759. package/dist/health-C14jIilQ.js +0 -469
  760. package/dist/health-C6yJSCMc.js +0 -3
  761. package/dist/heartbeat-runner-C6-gFnyC.js +0 -5
  762. package/dist/heartbeat-runner-yUYjgzIM.js +0 -1292
  763. package/dist/heartbeat-runner.runtime-DZzyrUNB.js +0 -4
  764. package/dist/hooks-cli-CCRaHheu.js +0 -433
  765. package/dist/image-fallbacks-BH9qLbBG.js +0 -31
  766. package/dist/image-fallbacks-DUOPO1ic.js +0 -2
  767. package/dist/inbound-reply-dispatch-DPf_IrbV.js +0 -73
  768. package/dist/infra-runtime-CLND6LJ0.js +0 -39
  769. package/dist/init-CzWob-9v.js +0 -59
  770. package/dist/library-C0a9Bz2M.js +0 -45
  771. package/dist/lifecycle-B_B_jt3r.js +0 -571
  772. package/dist/lifecycle-DuqKKZop.js +0 -229
  773. package/dist/lifecycle.runtime-DoosWTnK.js +0 -2
  774. package/dist/list-Bly8XeOF.js +0 -2
  775. package/dist/list-C5HvtbwZ.js +0 -2
  776. package/dist/list-CHIiamt1.js +0 -131
  777. package/dist/list-CMmJiacX.js +0 -1201
  778. package/dist/list.probe-kmHRFlrP.js +0 -419
  779. package/dist/llm-slug-generator-C3u6Ptgq.js +0 -79
  780. package/dist/load-config-CXvIGI7N.js +0 -35
  781. package/dist/local-dispatch.runtime-BNQF4rqW.js +0 -8
  782. package/dist/logs-cli-DEy1GPk2.js +0 -265
  783. package/dist/logs-cli.runtime-jWShKzQC.js +0 -2
  784. package/dist/main-session-restart-recovery-CzfY6Cd8.js +0 -206
  785. package/dist/managed-image-attachments-BGPKA7Mn.js +0 -2
  786. package/dist/managed-image-attachments-CTrq9ym-.js +0 -635
  787. package/dist/manager-C_ZGa9x8.js +0 -2057
  788. package/dist/manager-DIHLRzYF.js +0 -2
  789. package/dist/markdown-to-line-CRbbXtJK.js +0 -790
  790. package/dist/mcp-cli-FMJb3T4k.js +0 -725
  791. package/dist/mcp-http-b6UMoE_J.js +0 -529
  792. package/dist/memory-core-host-runtime-cli-CquxELNj.js +0 -9
  793. package/dist/message-CmjuvIFf.js +0 -232
  794. package/dist/message-action-runner-CiY3rhqt.js +0 -1407
  795. package/dist/message-action-runner-Do4P0h5i.js +0 -2
  796. package/dist/message-actions-BYREqFJA.js +0 -143
  797. package/dist/message.gateway.runtime-gkoWzaYV.js +0 -2
  798. package/dist/models-auth-status-B_Pcr0tl.js +0 -201
  799. package/dist/models-cli-BZSuW2gw.js +0 -219
  800. package/dist/monitor-22LY8y6z.js +0 -788
  801. package/dist/monitor-BZdf_CEm.js +0 -1237
  802. package/dist/monitor-CTVDlTs2.js +0 -671
  803. package/dist/monitor-Cfv-KGAl.js +0 -1661
  804. package/dist/monitor-DuA69-8E.js +0 -2
  805. package/dist/monitor-auth-BNDlfcw7.js +0 -207
  806. package/dist/monitor-cmWeDVxf.js +0 -1459
  807. package/dist/monitor-processing-D9Xcsagt.js +0 -1974
  808. package/dist/monitor.runtime-zWvcbNim.js +0 -2
  809. package/dist/monitor.webhook-BYWQa5lY.js +0 -180
  810. package/dist/msteams-n9HDT4O-.js +0 -35
  811. package/dist/native-hook-relay-CKyIfLOm.js +0 -519
  812. package/dist/nextcloud-talk-BuJVVP0J.js +0 -17
  813. package/dist/node-cli-DBK2TIEH.js +0 -2506
  814. package/dist/nodes-cli-D5Y1_ZVD.js +0 -1046
  815. package/dist/nodes-utils-C6IKaTjm.js +0 -84
  816. package/dist/nodes.helpers-CkJO5i0d.js +0 -34
  817. package/dist/notify-v0zoiI-O.js +0 -315
  818. package/dist/onboard-BCaLBJor.js +0 -632
  819. package/dist/onboard-helpers-Ba7ES7kB.js +0 -204
  820. package/dist/onboard-helpers-D5qdyBIj.js +0 -6
  821. package/dist/onboard-remote-BaHm_VrY.js +0 -2
  822. package/dist/onboard-remote-DbGAo_Ad.js +0 -193
  823. package/dist/onboard-skills-BA7c4li1.js +0 -2
  824. package/dist/onboard-skills-upyHp6T9.js +0 -134
  825. package/dist/openai-http-DwCqhEcX.js +0 -500
  826. package/dist/openresponses-http-tJr67vC1.js +0 -1128
  827. package/dist/operator-approvals-client-C0t_-2xC.js +0 -68
  828. package/dist/outbound.runtime-nXA4k1xA.js +0 -2
  829. package/dist/pair-command-approve-G5y-rKn9.js +0 -44
  830. package/dist/persistent-bindings.lifecycle-C56aKBVc.js +0 -2
  831. package/dist/persistent-bindings.lifecycle-CfBqvz9L.js +0 -85
  832. package/dist/pi-embedded-B1wvxHXL.js +0 -2905
  833. package/dist/pi-embedded-DmDb-oUB.js +0 -4
  834. package/dist/pi-embedded.runtime-D5xqw9Ko.js +0 -4
  835. package/dist/pi-tool-definition-adapter-CAxlo-Va.js +0 -217
  836. package/dist/pi-tools-C69yvznf.js +0 -1057
  837. package/dist/pi-tools.before-tool-call-BDeCmoAy.js +0 -2
  838. package/dist/pi-tools.before-tool-call-DG7VVNBn.js +0 -433
  839. package/dist/plugin-B9Ld0CUs.js +0 -12195
  840. package/dist/plugin-enabled-BguUplCN.js +0 -140
  841. package/dist/plugin-registration-DPBnSoak.js +0 -23
  842. package/dist/plugin-service-CdNFnRyN.js +0 -2890
  843. package/dist/policy-DgfegT_Y.js +0 -328
  844. package/dist/prepare.runtime-C_sRmuFC.js +0 -815
  845. package/dist/probe-8vb_Ssot.js +0 -45
  846. package/dist/probe-BjmKFiz1.js +0 -2205
  847. package/dist/probe-CVlOo8Hr.js +0 -74
  848. package/dist/probe-CakOsrSu.js +0 -241
  849. package/dist/probe-CbOoVumf.js +0 -2
  850. package/dist/probe-D6yFcZpK.js +0 -1443
  851. package/dist/probe-OcOYm1bj.js +0 -2
  852. package/dist/program-BJnTb7UE.js +0 -111
  853. package/dist/prompt-select-styled-C8kGHNpY.js +0 -20
  854. package/dist/protocol-C40iRm9c.js +0 -2234
  855. package/dist/provider-dispatcher-BIOPYzb9.js +0 -2
  856. package/dist/provider-dispatcher-CpwviX0O.js +0 -22
  857. package/dist/qr-cli-CJXKCj0L.js +0 -2
  858. package/dist/qr-cli-kSU9X-N0.js +0 -349
  859. package/dist/reaction-runtime-api-3XFmruJA.js +0 -116
  860. package/dist/reactions-By-nqZC6.js +0 -998
  861. package/dist/register-service-commands-fwB-T6mW.js +0 -71
  862. package/dist/register.agent-CpScU3CV.js +0 -248
  863. package/dist/register.configure-DpD3_BCK.js +0 -15
  864. package/dist/register.maintenance-ByoQXpk9.js +0 -438
  865. package/dist/register.message-BTXNOZMD.js +0 -329
  866. package/dist/register.onboard-B83CAOYy.js +0 -81
  867. package/dist/register.runtime-Doz01zcH.js +0 -81
  868. package/dist/register.setup-BKI5rwWy.js +0 -150
  869. package/dist/register.status-health-sessions-DRPszDQ-.js +0 -1215
  870. package/dist/register.subclis-DeXklyQL.js +0 -3
  871. package/dist/register.subclis-YkmoZoxl.js +0 -29
  872. package/dist/register.subclis-core-BPo4hV1Q.js +0 -243
  873. package/dist/reply-dispatch-runtime-DjIuN_dr.js +0 -13
  874. package/dist/reply-runtime-5TFidLR3.js +0 -11
  875. package/dist/reply.runtime-6d1e0INl.js +0 -2
  876. package/dist/restart-health-BWUPc4R-.js +0 -202
  877. package/dist/restart-health-CWvsjHVN.js +0 -2
  878. package/dist/root-help-D2YiFpS6.js +0 -44
  879. package/dist/routes-BdYdVpe7.js +0 -3341
  880. package/dist/routes-jYoN_qOU.js +0 -2
  881. package/dist/rpc-5tMjebZH.js +0 -61
  882. package/dist/rpc.runtime-BzAHjcm4.js +0 -21
  883. package/dist/run-delivery.runtime-qZIB76oE.js +0 -530
  884. package/dist/run-embedded.runtime-nHunVmCv.js +0 -4
  885. package/dist/run-execution-cli.runtime-CMT7La6D.js +0 -4
  886. package/dist/run-executor.runtime-BG6SDi3f.js +0 -277
  887. package/dist/run-main-CNf_LLX7.js +0 -516
  888. package/dist/run-subagent-registry.runtime-D0RcqcJr.js +0 -2
  889. package/dist/run-wait--kou3jZ7.js +0 -135
  890. package/dist/runtime-BvxkGJm2.js +0 -9
  891. package/dist/runtime-DgQ5oUKq.js +0 -973
  892. package/dist/runtime-api-6SzMK-FZ.js +0 -4
  893. package/dist/runtime-api-BAMrcB-5.js +0 -9
  894. package/dist/runtime-api-DLSrxS5O.js +0 -9
  895. package/dist/runtime-api-DsPleWQg.js +0 -14
  896. package/dist/runtime-embedded-pi.runtime-eyjaJfAz.js +0 -2
  897. package/dist/runtime-internal-BTfGDlHi.js +0 -2
  898. package/dist/runtime-options-B5_eZxMV.js +0 -275
  899. package/dist/runtime-schema-BB3QzGXJ.js +0 -27780
  900. package/dist/scan-D0fsxqed.js +0 -2
  901. package/dist/scan-DrjjN66Z.js +0 -523
  902. package/dist/secrets-cli-B7-qbfn-.js +0 -2101
  903. package/dist/security-cli-CYTPgL67.js +0 -486
  904. package/dist/selection-DEAdLh1Q.js +0 -2
  905. package/dist/selection-zPPyzfBX.js +0 -7736
  906. package/dist/send-CYKfZTCJ.js +0 -156
  907. package/dist/send-Di1tRwJD.js +0 -102
  908. package/dist/send.runtime-Bw22DBkL.js +0 -2
  909. package/dist/server-BIF5dPI_.js +0 -13
  910. package/dist/server-BJK0Q4xw.js +0 -77
  911. package/dist/server-context-CiVVCQNp.js +0 -847
  912. package/dist/server-context-DXvk5Tdy.js +0 -2
  913. package/dist/server-node-events-CdZP3Kok.js +0 -481
  914. package/dist/server-plugin-bootstrap-Di15EOt4.js +0 -11333
  915. package/dist/server-plugin-bootstrap-dboO44LL.js +0 -2
  916. package/dist/server-restart-sentinel-BWiOzljY.js +0 -697
  917. package/dist/server.impl-Ph8YCQpT.js +0 -12734
  918. package/dist/session-kill-http-B_J1fJ4-.js +0 -110
  919. package/dist/session-reset-service-DPgw70iw.js +0 -471
  920. package/dist/session-route-B0h6MEyB.js +0 -93
  921. package/dist/session-status.runtime-DCvgI1pG.js +0 -2
  922. package/dist/session-subagent-reactivation.runtime-BgsCnI-h.js +0 -2
  923. package/dist/session-tab-registry-FyN6CWh5.js +0 -491
  924. package/dist/session-visibility-CZjMA1SL.js +0 -147
  925. package/dist/sessions-helpers-B3W7MdIb.js +0 -304
  926. package/dist/sessions-history-http-Bw5J6HQ-.js +0 -383
  927. package/dist/sessions-patch-2sBcHc9a.js +0 -309
  928. package/dist/sessions-resolve-C-VZh_56.js +0 -174
  929. package/dist/sessions.runtime-cLuc67tJ.js +0 -2
  930. package/dist/setup-FW8xH-S-.js +0 -495
  931. package/dist/setup-api-Culp0Usf.js +0 -29
  932. package/dist/setup-core-CaTBS6Tz.js +0 -171
  933. package/dist/setup-core-youmXvW_.js +0 -176
  934. package/dist/setup-surface-BeMn-9hU.js +0 -403
  935. package/dist/setup-surface-CUd-s0wh.js +0 -286
  936. package/dist/setup-surface-DtscjAY3.js +0 -219
  937. package/dist/setup.finalize-BWyA4f4q.js +0 -539
  938. package/dist/setup.gateway-config-CvzMdftA.js +0 -250
  939. package/dist/shared-B3Pz1Xcr.js +0 -121
  940. package/dist/shared-Bc3x3THS.js +0 -76
  941. package/dist/shared-CxbLx0Ww.js +0 -198
  942. package/dist/slash-state-XfeMEeuI.js +0 -1911
  943. package/dist/src-BiDxQvtV.js +0 -3974
  944. package/dist/startup-context-CXQi-7YB.js +0 -312
  945. package/dist/status-Ch3bm70K.js +0 -2
  946. package/dist/status-CiQSxvY-.js +0 -3
  947. package/dist/status-DY0DlWlw.js +0 -190
  948. package/dist/status-DjdByQv-.js +0 -209
  949. package/dist/status-MT62_Jgw.js +0 -2
  950. package/dist/status-all-BD2viQD9.js +0 -498
  951. package/dist/status-json-CWS2oYON.js +0 -14
  952. package/dist/status-json-command-B6lZefoe.js +0 -84
  953. package/dist/status-pujDHwRb.js +0 -397
  954. package/dist/status-runtime-shared-Bu9Zhd7x.js +0 -257
  955. package/dist/status-subagents.runtime-B4UXD0lL.js +0 -18
  956. package/dist/status-text-myqmk4OL.js +0 -237
  957. package/dist/status.gateway-connection.runtime-B0Iwl2iZ.js +0 -2
  958. package/dist/status.gather-C51Ja0wP.js +0 -292
  959. package/dist/status.gather-DQ7WZp3H.js +0 -2
  960. package/dist/status.runtime-Cxyb3wHZ.js +0 -2
  961. package/dist/status.scan-C1aqDsy2.js +0 -65
  962. package/dist/status.scan-overview-BerlJz2l.js +0 -379
  963. package/dist/status.scan.fast-json-BXY82vu2.js +0 -2
  964. package/dist/status.scan.fast-json-DJqgEbzZ.js +0 -132
  965. package/dist/status.summary-CCdLUph8.js +0 -214
  966. package/dist/status.summary-CHAn0_FS.js +0 -2
  967. package/dist/subagent-announce-D4jG75Ub.js +0 -351
  968. package/dist/subagent-announce-delivery-BkQYzDcy.js +0 -726
  969. package/dist/subagent-announce-output-C3pkuu-t.js +0 -364
  970. package/dist/subagent-control-DVVK8du2.js +0 -506
  971. package/dist/subagent-followup.runtime-CdeweG-S.js +0 -68
  972. package/dist/subagent-orphan-recovery-ZQanOHb4.js +0 -305
  973. package/dist/subagent-registry-BcPa3ho0.js +0 -3
  974. package/dist/subagent-registry-hJUso5eL.js +0 -1753
  975. package/dist/subagent-spawn-DTaeQc9q.js +0 -1005
  976. package/dist/system-cli-CT8VaSDY.js +0 -59
  977. package/dist/targets-BPdSjnQH.js +0 -67
  978. package/dist/task-executor-B62Qzfi-.js +0 -360
  979. package/dist/task-owner-access-BBMrMOlN.js +0 -74
  980. package/dist/task-registry-BD-ew2bT.js +0 -2366
  981. package/dist/task-registry-delivery-runtime-B2WyGY0d.js +0 -3
  982. package/dist/task-registry-delivery-runtime-MFJszOHI.js +0 -2
  983. package/dist/task-registry.maintenance-0D2Yxl49.js +0 -416
  984. package/dist/task-registry.maintenance-OPlfB5W9.js +0 -2
  985. package/dist/testing-DmxZ16UC.js +0 -575
  986. package/dist/text-report-BwIpU54R.js +0 -587
  987. package/dist/tool-resolution-vn72hwMo.js +0 -90
  988. package/dist/tools-effective-inventory-DII_pOSr.js +0 -152
  989. package/dist/tools-invoke-http-DdthGR52.js +0 -206
  990. package/dist/trash-BVZu6rU7.js +0 -24
  991. package/dist/tui-cli-Bz51WCAi.js +0 -4575
  992. package/dist/update-cli-DkH8vHQP.js +0 -1759
  993. package/dist/upgrade-Dvj8K4WB.js +0 -1226
  994. package/dist/video-generation-task-status-CHYB_IeZ.js +0 -163
  995. package/dist/wait-for-idle-before-flush-DJMxeE2X.js +0 -5986
  996. package/dist/wizard-models-BNQQ7fvr.js +0 -161
@@ -0,0 +1,1100 @@
1
+ import { c as normalizeOptionalString, s as normalizeOptionalLowercaseString } from "./string-coerce-C1IzJjqi.js";
2
+ import { t as formatDocsLink } from "./links-DmsJCU7L.js";
3
+ import { o as hasConfiguredSecretInput, u as normalizeSecretInputString } from "./types.secrets-ews2W8BF.js";
4
+ import { n as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./account-id-C3j_3_su.js";
5
+ import { i as createLazyRuntimeNamedExport } from "./lazy-runtime-02MY_g6C.js";
6
+ import { a as createActionGate, f as readNumberParam, g as readStringParam, l as jsonResult, p as readReactionParams } from "./common-YOU2Qb73.js";
7
+ import { t as readBooleanParam } from "./boolean-param-DtaXBbHM.js";
8
+ import { l as createScopedDmSecurityResolver, s as createScopedChannelConfigAdapter, t as adaptScopedAccountAccessor } from "./channel-config-helpers-Bn_khg_r.js";
9
+ import "./text-runtime-7KpTTpVi.js";
10
+ import { r as describeWebhookAccountSnapshot } from "./account-helpers-PRuprToh.js";
11
+ import { a as createSetupInputPresenceValidator, l as patchScopedAccountConfig, u as prepareScopedSetupConfig } from "./setup-helpers-DdXv0uuQ.js";
12
+ import { i as createChatChannelPlugin, t as buildChannelOutboundSessionRoute, u as stripChannelTargetPrefix } from "./core-PXv1nsc-.js";
13
+ import "./channel-core-Cg1mFpva.js";
14
+ import { t as createAccountStatusSink } from "./channel-lifecycle.core-DnEHhnwk.js";
15
+ import { n as formatNormalizedAllowFromEntries } from "./allow-from-okpwNGqY.js";
16
+ import { b as createOpenGroupPolicyRestrictSendersWarningCollector, w as projectAccountWarningCollector } from "./channel-policy-Swn_TmHe.js";
17
+ import { a as createAllowFromSection, d as createPromptParsedAllowFromForAccount, f as createStandardChannelSetupStatus, t as addWildcardAllowFrom } from "./setup-wizard-helpers-bq7q4u8-.js";
18
+ import { t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-lITC7PVc.js";
19
+ import { i as createPairingPrefixStripper } from "./channel-pairing-B3r45ANt.js";
20
+ import { d as createDefaultChannelRuntimeState, h as collectIssuesForEnabledAccounts, i as buildProbeChannelStatusSummary, u as createComputedAccountStatusAdapter } from "./status-helpers-BPJZpVuU.js";
21
+ import { t as extractToolSend } from "./tool-send-BbGlthSM.js";
22
+ import "./setup-BX02_N1z.js";
23
+ import { o as isPrivateNetworkOptInEnabled, r as createLegacyPrivateNetworkDoctorContract } from "./ssrf-policy-l2DzrZX2.js";
24
+ import "./ssrf-runtime-DtkX5TMS.js";
25
+ import "./channel-actions-DO6JAXrT.js";
26
+ import "./channel-lifecycle-DVZOmLFm.js";
27
+ import "./channel-status-CWpi8vFs.js";
28
+ import { A as parseBlueBubblesTarget, C as inferBlueBubblesTargetChatType, D as normalizeBlueBubblesHandle, E as looksLikeBlueBubblesTargetId, F as resolveDefaultBlueBubblesAccountId, L as normalizeBlueBubblesServerUrl, M as listBlueBubblesAccountIds, N as resolveBlueBubblesAccount, O as normalizeBlueBubblesMessagingTarget, P as resolveBlueBubblesEffectiveAllowPrivateNetwork, T as looksLikeBlueBubblesExplicitTargetId, a as isMacOS26OrHigher, k as parseBlueBubblesAllowTarget, n as getCachedBlueBubblesPrivateApiStatus, u as asRecord, x as extractHandleFromChatGuid } from "./probe-5ToseFjd.js";
29
+ import "./secret-input-CVINBsny.js";
30
+ import { t as BlueBubblesChannelConfigSchema } from "./config-schema-E1CUSvmE.js";
31
+ import { n as createBlueBubblesConversationBindingManager } from "./conversation-bindings-DfxImxXm.js";
32
+ import { n as normalizeBlueBubblesAcpConversationId, r as resolveBlueBubblesConversationIdFromTarget, t as matchBlueBubblesAcpConversation } from "./conversation-id-BroDIGeT.js";
33
+ import { n as resolveBlueBubblesGroupToolPolicy, t as resolveBlueBubblesGroupRequireMention } from "./group-policy-nLo5pshB.js";
34
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-DlH6g0VZ.js";
35
+ import { t as DEFAULT_WEBHOOK_PATH } from "./webhook-shared-C5lP_giw.js";
36
+ //#region extensions/bluebubbles/src/actions-contract.ts
37
+ const BLUEBUBBLES_ACTIONS = {
38
+ react: { gate: "reactions" },
39
+ edit: {
40
+ gate: "edit",
41
+ unsupportedOnMacOS26: true
42
+ },
43
+ unsend: { gate: "unsend" },
44
+ reply: { gate: "reply" },
45
+ sendWithEffect: { gate: "sendWithEffect" },
46
+ renameGroup: {
47
+ gate: "renameGroup",
48
+ groupOnly: true
49
+ },
50
+ setGroupIcon: {
51
+ gate: "setGroupIcon",
52
+ groupOnly: true
53
+ },
54
+ addParticipant: {
55
+ gate: "addParticipant",
56
+ groupOnly: true
57
+ },
58
+ removeParticipant: {
59
+ gate: "removeParticipant",
60
+ groupOnly: true
61
+ },
62
+ leaveGroup: {
63
+ gate: "leaveGroup",
64
+ groupOnly: true
65
+ },
66
+ sendAttachment: { gate: "sendAttachment" }
67
+ };
68
+ const BLUEBUBBLES_ACTION_NAMES = Object.keys(BLUEBUBBLES_ACTIONS);
69
+ //#endregion
70
+ //#region extensions/bluebubbles/src/actions.ts
71
+ const loadBlueBubblesActionsRuntime = createLazyRuntimeNamedExport(() => import("./actions.runtime-BoUxrcw3.js"), "blueBubblesActionsRuntime");
72
+ const providerId = "bluebubbles";
73
+ function mapTarget(raw) {
74
+ const parsed = parseBlueBubblesTarget(raw);
75
+ if (parsed.kind === "chat_guid") return {
76
+ kind: "chat_guid",
77
+ chatGuid: parsed.chatGuid
78
+ };
79
+ if (parsed.kind === "chat_id") return {
80
+ kind: "chat_id",
81
+ chatId: parsed.chatId
82
+ };
83
+ if (parsed.kind === "chat_identifier") return {
84
+ kind: "chat_identifier",
85
+ chatIdentifier: parsed.chatIdentifier
86
+ };
87
+ return {
88
+ kind: "handle",
89
+ address: normalizeBlueBubblesHandle(parsed.to),
90
+ service: parsed.service
91
+ };
92
+ }
93
+ function readMessageText(params) {
94
+ return readStringParam(params, "text") ?? readStringParam(params, "message");
95
+ }
96
+ /** Supported action names for BlueBubbles */
97
+ const SUPPORTED_ACTIONS = new Set([...BLUEBUBBLES_ACTION_NAMES, "upload-file"]);
98
+ const PRIVATE_API_ACTIONS = new Set([
99
+ "react",
100
+ "edit",
101
+ "unsend",
102
+ "reply",
103
+ "sendWithEffect",
104
+ "renameGroup",
105
+ "setGroupIcon",
106
+ "addParticipant",
107
+ "removeParticipant",
108
+ "leaveGroup"
109
+ ]);
110
+ const bluebubblesMessageActions = {
111
+ describeMessageTool: ({ cfg, accountId, currentChannelId }) => {
112
+ const account = resolveBlueBubblesAccount({
113
+ cfg,
114
+ accountId
115
+ });
116
+ if (!account.enabled || !account.configured) return null;
117
+ const gate = createActionGate(account.config.actions);
118
+ const actions = /* @__PURE__ */ new Set();
119
+ const macOS26 = isMacOS26OrHigher(account.accountId);
120
+ const privateApiStatus = getCachedBlueBubblesPrivateApiStatus(account.accountId);
121
+ for (const action of BLUEBUBBLES_ACTION_NAMES) {
122
+ const spec = BLUEBUBBLES_ACTIONS[action];
123
+ if (!spec?.gate) continue;
124
+ if (privateApiStatus === false && PRIVATE_API_ACTIONS.has(action)) continue;
125
+ if ("unsupportedOnMacOS26" in spec && spec.unsupportedOnMacOS26 && macOS26) continue;
126
+ if (gate(spec.gate)) actions.add(action);
127
+ }
128
+ const lowered = normalizeOptionalLowercaseString(currentChannelId ? normalizeBlueBubblesMessagingTarget(currentChannelId) : void 0) ?? "";
129
+ if (!(lowered.startsWith("chat_guid:") || lowered.startsWith("chat_id:") || lowered.startsWith("chat_identifier:") || lowered.startsWith("group:"))) {
130
+ for (const action of BLUEBUBBLES_ACTION_NAMES) if ("groupOnly" in BLUEBUBBLES_ACTIONS[action] && BLUEBUBBLES_ACTIONS[action].groupOnly) actions.delete(action);
131
+ }
132
+ if (actions.delete("sendAttachment")) actions.add("upload-file");
133
+ return { actions: Array.from(actions) };
134
+ },
135
+ supportsAction: ({ action }) => SUPPORTED_ACTIONS.has(action),
136
+ extractToolSend: ({ args }) => extractToolSend(args, "sendMessage"),
137
+ handleAction: async ({ action, params, cfg, accountId, toolContext }) => {
138
+ const runtime = await loadBlueBubblesActionsRuntime();
139
+ const account = resolveBlueBubblesAccount({
140
+ cfg,
141
+ accountId: accountId ?? void 0
142
+ });
143
+ const baseUrl = normalizeSecretInputString(account.config.serverUrl);
144
+ const password = normalizeSecretInputString(account.config.password);
145
+ const opts = {
146
+ cfg,
147
+ accountId: accountId ?? void 0
148
+ };
149
+ const assertPrivateApiEnabled = () => {
150
+ if (getCachedBlueBubblesPrivateApiStatus(account.accountId) === false) throw new Error(`BlueBubbles ${action} requires Private API, but it is disabled on the BlueBubbles server.`);
151
+ };
152
+ const resolveChatGuid = async () => {
153
+ const chatGuid = readStringParam(params, "chatGuid");
154
+ if (chatGuid?.trim()) return chatGuid.trim();
155
+ const chatIdentifier = readStringParam(params, "chatIdentifier");
156
+ const chatId = readNumberParam(params, "chatId", { integer: true });
157
+ const to = readStringParam(params, "to");
158
+ const contextTarget = toolContext?.currentChannelId?.trim();
159
+ const target = chatIdentifier?.trim() ? {
160
+ kind: "chat_identifier",
161
+ chatIdentifier: chatIdentifier.trim()
162
+ } : typeof chatId === "number" ? {
163
+ kind: "chat_id",
164
+ chatId
165
+ } : to ? mapTarget(to) : contextTarget ? mapTarget(contextTarget) : null;
166
+ if (!target) throw new Error(`BlueBubbles ${action} requires chatGuid, chatIdentifier, chatId, or to.`);
167
+ if (!baseUrl || !password) throw new Error(`BlueBubbles ${action} requires serverUrl and password.`);
168
+ const resolved = await runtime.resolveChatGuidForTarget({
169
+ baseUrl,
170
+ password,
171
+ target,
172
+ allowPrivateNetwork: isPrivateNetworkOptInEnabled(account.config)
173
+ });
174
+ if (!resolved) throw new Error(`BlueBubbles ${action} failed: chatGuid not found for target.`);
175
+ return resolved;
176
+ };
177
+ if (action === "react") {
178
+ assertPrivateApiEnabled();
179
+ const { emoji, remove, isEmpty } = readReactionParams(params, { removeErrorMessage: "Emoji is required to remove a BlueBubbles reaction." });
180
+ if (isEmpty && !remove) throw new Error("BlueBubbles react requires emoji parameter. Use action=react with emoji=<emoji> and messageId=<message_id>.");
181
+ const rawMessageId = readStringParam(params, "messageId");
182
+ if (!rawMessageId) throw new Error("BlueBubbles react requires messageId parameter (the message ID to react to). Use action=react with messageId=<message_id>, emoji=<emoji>, and to/chatGuid to identify the chat.");
183
+ const messageId = runtime.resolveBlueBubblesMessageId(rawMessageId, { requireKnownShortId: true });
184
+ const partIndex = readNumberParam(params, "partIndex", { integer: true });
185
+ const resolvedChatGuid = await resolveChatGuid();
186
+ await runtime.sendBlueBubblesReaction({
187
+ chatGuid: resolvedChatGuid,
188
+ messageGuid: messageId,
189
+ emoji,
190
+ remove: remove || void 0,
191
+ partIndex: typeof partIndex === "number" ? partIndex : void 0,
192
+ opts
193
+ });
194
+ return jsonResult({
195
+ ok: true,
196
+ ...remove ? { removed: true } : { added: emoji }
197
+ });
198
+ }
199
+ if (action === "edit") {
200
+ assertPrivateApiEnabled();
201
+ if (isMacOS26OrHigher(accountId ?? void 0)) throw new Error("BlueBubbles edit is not supported on macOS 26 or higher. Apple removed the ability to edit iMessages in this version.");
202
+ const rawMessageId = readStringParam(params, "messageId");
203
+ const newText = readStringParam(params, "text") ?? readStringParam(params, "newText") ?? readStringParam(params, "message");
204
+ if (!rawMessageId || !newText) {
205
+ const missing = [];
206
+ if (!rawMessageId) missing.push("messageId (the message ID to edit)");
207
+ if (!newText) missing.push("text (the new message content)");
208
+ throw new Error(`BlueBubbles edit requires: ${missing.join(", ")}. Use action=edit with messageId=<message_id>, text=<new_content>.`);
209
+ }
210
+ const messageId = runtime.resolveBlueBubblesMessageId(rawMessageId, { requireKnownShortId: true });
211
+ const partIndex = readNumberParam(params, "partIndex", { integer: true });
212
+ const backwardsCompatMessage = readStringParam(params, "backwardsCompatMessage");
213
+ await runtime.editBlueBubblesMessage(messageId, newText, {
214
+ ...opts,
215
+ partIndex: typeof partIndex === "number" ? partIndex : void 0,
216
+ backwardsCompatMessage: backwardsCompatMessage ?? void 0
217
+ });
218
+ return jsonResult({
219
+ ok: true,
220
+ edited: rawMessageId
221
+ });
222
+ }
223
+ if (action === "unsend") {
224
+ assertPrivateApiEnabled();
225
+ const rawMessageId = readStringParam(params, "messageId");
226
+ if (!rawMessageId) throw new Error("BlueBubbles unsend requires messageId parameter (the message ID to unsend). Use action=unsend with messageId=<message_id>.");
227
+ const messageId = runtime.resolveBlueBubblesMessageId(rawMessageId, { requireKnownShortId: true });
228
+ const partIndex = readNumberParam(params, "partIndex", { integer: true });
229
+ await runtime.unsendBlueBubblesMessage(messageId, {
230
+ ...opts,
231
+ partIndex: typeof partIndex === "number" ? partIndex : void 0
232
+ });
233
+ return jsonResult({
234
+ ok: true,
235
+ unsent: rawMessageId
236
+ });
237
+ }
238
+ if (action === "reply") {
239
+ assertPrivateApiEnabled();
240
+ const rawMessageId = readStringParam(params, "messageId");
241
+ const text = readMessageText(params);
242
+ const to = readStringParam(params, "to") ?? readStringParam(params, "target");
243
+ if (!rawMessageId || !text || !to) {
244
+ const missing = [];
245
+ if (!rawMessageId) missing.push("messageId (the message ID to reply to)");
246
+ if (!text) missing.push("text or message (the reply message content)");
247
+ if (!to) missing.push("to or target (the chat target)");
248
+ throw new Error(`BlueBubbles reply requires: ${missing.join(", ")}. Use action=reply with messageId=<message_id>, message=<your reply>, target=<chat_target>.`);
249
+ }
250
+ const messageId = runtime.resolveBlueBubblesMessageId(rawMessageId, { requireKnownShortId: true });
251
+ const partIndex = readNumberParam(params, "partIndex", { integer: true });
252
+ return jsonResult({
253
+ ok: true,
254
+ messageId: (await runtime.sendMessageBlueBubbles(to, text, {
255
+ ...opts,
256
+ replyToMessageGuid: messageId,
257
+ replyToPartIndex: typeof partIndex === "number" ? partIndex : void 0
258
+ })).messageId,
259
+ repliedTo: rawMessageId
260
+ });
261
+ }
262
+ if (action === "sendWithEffect") {
263
+ assertPrivateApiEnabled();
264
+ const text = readMessageText(params);
265
+ const to = readStringParam(params, "to") ?? readStringParam(params, "target");
266
+ const effectId = readStringParam(params, "effectId") ?? readStringParam(params, "effect");
267
+ if (!text || !to || !effectId) {
268
+ const missing = [];
269
+ if (!text) missing.push("text or message (the message content)");
270
+ if (!to) missing.push("to or target (the chat target)");
271
+ if (!effectId) missing.push("effectId or effect (e.g., slam, loud, gentle, invisible-ink, confetti, lasers, fireworks, balloons, heart)");
272
+ throw new Error(`BlueBubbles sendWithEffect requires: ${missing.join(", ")}. Use action=sendWithEffect with message=<message>, target=<chat_target>, effectId=<effect_name>.`);
273
+ }
274
+ return jsonResult({
275
+ ok: true,
276
+ messageId: (await runtime.sendMessageBlueBubbles(to, text, {
277
+ ...opts,
278
+ effectId
279
+ })).messageId,
280
+ effect: effectId
281
+ });
282
+ }
283
+ if (action === "renameGroup") {
284
+ assertPrivateApiEnabled();
285
+ const resolvedChatGuid = await resolveChatGuid();
286
+ const displayName = readStringParam(params, "displayName") ?? readStringParam(params, "name");
287
+ if (!displayName) throw new Error("BlueBubbles renameGroup requires displayName or name parameter.");
288
+ await runtime.renameBlueBubblesChat(resolvedChatGuid, displayName, opts);
289
+ return jsonResult({
290
+ ok: true,
291
+ renamed: resolvedChatGuid,
292
+ displayName
293
+ });
294
+ }
295
+ if (action === "setGroupIcon") {
296
+ assertPrivateApiEnabled();
297
+ const resolvedChatGuid = await resolveChatGuid();
298
+ const base64Buffer = readStringParam(params, "buffer");
299
+ const filename = readStringParam(params, "filename") ?? readStringParam(params, "name") ?? "icon.png";
300
+ const contentType = readStringParam(params, "contentType") ?? readStringParam(params, "mimeType");
301
+ if (!base64Buffer) throw new Error("BlueBubbles setGroupIcon requires an image. Use action=setGroupIcon with media=<image_url> or path=<local_file_path> to set the group icon.");
302
+ const buffer = Uint8Array.from(atob(base64Buffer), (c) => c.charCodeAt(0));
303
+ await runtime.setGroupIconBlueBubbles(resolvedChatGuid, buffer, filename, {
304
+ ...opts,
305
+ contentType: contentType ?? void 0
306
+ });
307
+ return jsonResult({
308
+ ok: true,
309
+ chatGuid: resolvedChatGuid,
310
+ iconSet: true
311
+ });
312
+ }
313
+ if (action === "addParticipant") {
314
+ assertPrivateApiEnabled();
315
+ const resolvedChatGuid = await resolveChatGuid();
316
+ const address = readStringParam(params, "address") ?? readStringParam(params, "participant");
317
+ if (!address) throw new Error("BlueBubbles addParticipant requires address or participant parameter.");
318
+ await runtime.addBlueBubblesParticipant(resolvedChatGuid, address, opts);
319
+ return jsonResult({
320
+ ok: true,
321
+ added: address,
322
+ chatGuid: resolvedChatGuid
323
+ });
324
+ }
325
+ if (action === "removeParticipant") {
326
+ assertPrivateApiEnabled();
327
+ const resolvedChatGuid = await resolveChatGuid();
328
+ const address = readStringParam(params, "address") ?? readStringParam(params, "participant");
329
+ if (!address) throw new Error("BlueBubbles removeParticipant requires address or participant parameter.");
330
+ await runtime.removeBlueBubblesParticipant(resolvedChatGuid, address, opts);
331
+ return jsonResult({
332
+ ok: true,
333
+ removed: address,
334
+ chatGuid: resolvedChatGuid
335
+ });
336
+ }
337
+ if (action === "leaveGroup") {
338
+ assertPrivateApiEnabled();
339
+ const resolvedChatGuid = await resolveChatGuid();
340
+ await runtime.leaveBlueBubblesChat(resolvedChatGuid, opts);
341
+ return jsonResult({
342
+ ok: true,
343
+ left: resolvedChatGuid
344
+ });
345
+ }
346
+ if (action === "sendAttachment" || action === "upload-file") {
347
+ const to = readStringParam(params, "to", { required: true });
348
+ const filename = readStringParam(params, "filename", { required: true });
349
+ const caption = readStringParam(params, "caption") ?? readStringParam(params, "message");
350
+ const contentType = readStringParam(params, "contentType") ?? readStringParam(params, "mimeType");
351
+ const asVoice = readBooleanParam(params, "asVoice");
352
+ const base64Buffer = readStringParam(params, "buffer");
353
+ const filePath = readStringParam(params, "path") ?? readStringParam(params, "filePath");
354
+ let buffer;
355
+ if (base64Buffer) buffer = Uint8Array.from(atob(base64Buffer), (c) => c.charCodeAt(0));
356
+ else if (filePath) throw new Error(`BlueBubbles ${action}: filePath not supported in action, provide buffer as base64.`);
357
+ else throw new Error(`BlueBubbles ${action} requires buffer (base64) parameter.`);
358
+ return jsonResult({
359
+ ok: true,
360
+ messageId: (await runtime.sendBlueBubblesAttachment({
361
+ to,
362
+ buffer,
363
+ filename,
364
+ contentType: contentType ?? void 0,
365
+ caption: caption ?? void 0,
366
+ asVoice: asVoice ?? void 0,
367
+ opts
368
+ })).messageId
369
+ });
370
+ }
371
+ throw new Error(`Action ${action} is not supported for provider ${providerId}.`);
372
+ }
373
+ };
374
+ //#endregion
375
+ //#region extensions/bluebubbles/src/channel-shared.ts
376
+ const bluebubblesMeta = {
377
+ id: "bluebubbles",
378
+ label: "BlueBubbles",
379
+ selectionLabel: "BlueBubbles (macOS app)",
380
+ detailLabel: "BlueBubbles",
381
+ docsPath: "/channels/bluebubbles",
382
+ docsLabel: "bluebubbles",
383
+ blurb: "iMessage via the BlueBubbles mac app + REST API.",
384
+ systemImage: "bubble.left.and.text.bubble.right",
385
+ aliases: ["bb"],
386
+ order: 75,
387
+ preferOver: ["imessage"]
388
+ };
389
+ const bluebubblesCapabilities = {
390
+ chatTypes: ["direct", "group"],
391
+ media: true,
392
+ reactions: true,
393
+ edit: true,
394
+ unsend: true,
395
+ reply: true,
396
+ effects: true,
397
+ groupManagement: true
398
+ };
399
+ const bluebubblesReload = { configPrefixes: ["channels.bluebubbles"] };
400
+ const bluebubblesConfigSchema = BlueBubblesChannelConfigSchema;
401
+ const bluebubblesConfigAdapter = createScopedChannelConfigAdapter({
402
+ sectionKey: "bluebubbles",
403
+ listAccountIds: listBlueBubblesAccountIds,
404
+ resolveAccount: adaptScopedAccountAccessor(resolveBlueBubblesAccount),
405
+ defaultAccountId: resolveDefaultBlueBubblesAccountId,
406
+ clearBaseFields: [
407
+ "serverUrl",
408
+ "password",
409
+ "name",
410
+ "webhookPath"
411
+ ],
412
+ resolveAllowFrom: (account) => account.config.allowFrom,
413
+ formatAllowFrom: (allowFrom) => formatNormalizedAllowFromEntries({
414
+ allowFrom,
415
+ normalizeEntry: (entry) => normalizeBlueBubblesHandle(entry.replace(/^bluebubbles:/i, ""))
416
+ })
417
+ });
418
+ function describeBlueBubblesAccount(account) {
419
+ return describeWebhookAccountSnapshot({
420
+ account,
421
+ configured: account.configured,
422
+ extra: { baseUrl: account.baseUrl }
423
+ });
424
+ }
425
+ //#endregion
426
+ //#region extensions/bluebubbles/src/doctor-contract.ts
427
+ const contract = createLegacyPrivateNetworkDoctorContract({ channelKey: "bluebubbles" });
428
+ //#endregion
429
+ //#region extensions/bluebubbles/src/doctor.ts
430
+ const bluebubblesDoctor = {
431
+ legacyConfigRules: contract.legacyConfigRules,
432
+ normalizeCompatibilityConfig: contract.normalizeCompatibilityConfig
433
+ };
434
+ //#endregion
435
+ //#region extensions/bluebubbles/src/pairing.ts
436
+ function createBlueBubblesPairingText(sendMessageBlueBubbles) {
437
+ return {
438
+ idLabel: "bluebubblesSenderId",
439
+ message: PAIRING_APPROVED_MESSAGE,
440
+ normalizeAllowEntry: createPairingPrefixStripper(/^bluebubbles:/i, normalizeBlueBubblesHandle),
441
+ notify: async ({ cfg, id, message, accountId }) => {
442
+ await sendMessageBlueBubbles(id, message, {
443
+ cfg,
444
+ accountId
445
+ });
446
+ }
447
+ };
448
+ }
449
+ //#endregion
450
+ //#region extensions/bluebubbles/src/session-route.ts
451
+ function resolveBlueBubblesOutboundSessionRoute(params) {
452
+ const stripped = stripChannelTargetPrefix(params.target, "bluebubbles");
453
+ if (!stripped) return null;
454
+ const parsed = parseBlueBubblesTarget(stripped);
455
+ const isGroup = parsed.kind === "chat_id" || parsed.kind === "chat_guid" || parsed.kind === "chat_identifier";
456
+ const peerId = parsed.kind === "chat_id" ? String(parsed.chatId) : parsed.kind === "chat_guid" ? parsed.chatGuid : parsed.kind === "chat_identifier" ? parsed.chatIdentifier : parsed.to;
457
+ return buildChannelOutboundSessionRoute({
458
+ cfg: params.cfg,
459
+ agentId: params.agentId,
460
+ channel: "bluebubbles",
461
+ accountId: params.accountId,
462
+ peer: {
463
+ kind: isGroup ? "group" : "direct",
464
+ id: peerId
465
+ },
466
+ chatType: isGroup ? "group" : "direct",
467
+ from: isGroup ? `group:${peerId}` : `bluebubbles:${peerId}`,
468
+ to: `bluebubbles:${stripped}`
469
+ });
470
+ }
471
+ //#endregion
472
+ //#region extensions/bluebubbles/src/config-apply.ts
473
+ function normalizePatch(patch, onlyDefinedFields) {
474
+ if (!onlyDefinedFields) return patch;
475
+ const next = {};
476
+ if (patch.serverUrl !== void 0) next.serverUrl = patch.serverUrl;
477
+ if (patch.password !== void 0) next.password = patch.password;
478
+ if (patch.webhookPath !== void 0) next.webhookPath = patch.webhookPath;
479
+ return next;
480
+ }
481
+ function applyBlueBubblesConnectionConfig(params) {
482
+ const patch = normalizePatch(params.patch, params.onlyDefinedFields === true);
483
+ if (params.accountId === "default") return {
484
+ ...params.cfg,
485
+ channels: {
486
+ ...params.cfg.channels,
487
+ bluebubbles: {
488
+ ...params.cfg.channels?.bluebubbles,
489
+ enabled: true,
490
+ ...patch
491
+ }
492
+ }
493
+ };
494
+ const currentAccount = params.cfg.channels?.bluebubbles?.accounts?.[params.accountId];
495
+ const enabled = params.accountEnabled === "preserve-or-true" ? currentAccount?.enabled ?? true : params.accountEnabled ?? true;
496
+ return {
497
+ ...params.cfg,
498
+ channels: {
499
+ ...params.cfg.channels,
500
+ bluebubbles: {
501
+ ...params.cfg.channels?.bluebubbles,
502
+ enabled: true,
503
+ accounts: {
504
+ ...params.cfg.channels?.bluebubbles?.accounts,
505
+ [params.accountId]: {
506
+ ...currentAccount,
507
+ enabled,
508
+ ...patch
509
+ }
510
+ }
511
+ }
512
+ }
513
+ };
514
+ }
515
+ //#endregion
516
+ //#region extensions/bluebubbles/src/setup-core.ts
517
+ const channel$1 = "bluebubbles";
518
+ function setBlueBubblesDmPolicy(cfg, accountId, dmPolicy) {
519
+ const resolvedAccountId = normalizeAccountId(accountId);
520
+ const existingAllowFrom = resolvedAccountId === "default" ? cfg.channels?.bluebubbles?.allowFrom : (cfg.channels?.bluebubbles?.accounts?.[resolvedAccountId])?.allowFrom ?? cfg.channels?.bluebubbles?.allowFrom;
521
+ return patchScopedAccountConfig({
522
+ cfg,
523
+ channelKey: channel$1,
524
+ accountId: resolvedAccountId,
525
+ patch: {
526
+ dmPolicy,
527
+ ...dmPolicy === "open" ? { allowFrom: addWildcardAllowFrom(existingAllowFrom) } : {}
528
+ },
529
+ ensureChannelEnabled: false,
530
+ ensureAccountEnabled: false
531
+ });
532
+ }
533
+ function setBlueBubblesAllowFrom(cfg, accountId, allowFrom) {
534
+ return patchScopedAccountConfig({
535
+ cfg,
536
+ channelKey: channel$1,
537
+ accountId,
538
+ patch: { allowFrom },
539
+ ensureChannelEnabled: false,
540
+ ensureAccountEnabled: false
541
+ });
542
+ }
543
+ const blueBubblesSetupAdapter = {
544
+ resolveAccountId: ({ accountId }) => normalizeAccountId(accountId),
545
+ applyAccountName: ({ cfg, accountId, name }) => prepareScopedSetupConfig({
546
+ cfg,
547
+ channelKey: channel$1,
548
+ accountId,
549
+ name
550
+ }),
551
+ validateInput: createSetupInputPresenceValidator({ validate: ({ input }) => {
552
+ if (!input.httpUrl && !input.password) return "BlueBubbles requires --http-url and --password.";
553
+ if (!input.httpUrl) return "BlueBubbles requires --http-url.";
554
+ if (!input.password) return "BlueBubbles requires --password.";
555
+ return null;
556
+ } }),
557
+ applyAccountConfig: ({ cfg, accountId, input }) => {
558
+ return applyBlueBubblesConnectionConfig({
559
+ cfg: prepareScopedSetupConfig({
560
+ cfg,
561
+ channelKey: channel$1,
562
+ accountId,
563
+ name: input.name,
564
+ migrateBaseName: true
565
+ }),
566
+ accountId,
567
+ patch: {
568
+ serverUrl: input.httpUrl,
569
+ password: input.password,
570
+ webhookPath: input.webhookPath
571
+ },
572
+ onlyDefinedFields: true
573
+ });
574
+ }
575
+ };
576
+ //#endregion
577
+ //#region extensions/bluebubbles/src/setup-surface.ts
578
+ const channel = "bluebubbles";
579
+ const CONFIGURE_CUSTOM_WEBHOOK_FLAG = "__bluebubblesConfigureCustomWebhookPath";
580
+ function parseBlueBubblesAllowFromInput(raw) {
581
+ return raw.split(/[\n,]+/g).map((entry) => entry.trim()).filter(Boolean);
582
+ }
583
+ function validateBlueBubblesAllowFromEntry(value) {
584
+ try {
585
+ if (value === "*") return value;
586
+ const parsed = parseBlueBubblesAllowTarget(value);
587
+ if (parsed.kind === "handle" && !parsed.handle) return null;
588
+ return normalizeOptionalString(value) ?? null;
589
+ } catch {
590
+ return null;
591
+ }
592
+ }
593
+ const promptBlueBubblesAllowFrom = createPromptParsedAllowFromForAccount({
594
+ defaultAccountId: (cfg) => resolveDefaultBlueBubblesAccountId(cfg),
595
+ noteTitle: "BlueBubbles allowlist",
596
+ noteLines: [
597
+ "Allowlist BlueBubbles DMs by handle or chat target.",
598
+ "Examples:",
599
+ "- +15555550123",
600
+ "- user@example.com",
601
+ "- chat_id:123",
602
+ "- chat_guid:iMessage;-;+15555550123",
603
+ "Multiple entries: comma- or newline-separated.",
604
+ `Docs: ${formatDocsLink("/channels/bluebubbles", "bluebubbles")}`
605
+ ],
606
+ message: "BlueBubbles allowFrom (handle or chat_id)",
607
+ placeholder: "+15555550123, user@example.com, chat_id:123",
608
+ parseEntries: (raw) => {
609
+ const entries = parseBlueBubblesAllowFromInput(raw);
610
+ for (const entry of entries) if (!validateBlueBubblesAllowFromEntry(entry)) return {
611
+ entries: [],
612
+ error: `Invalid entry: ${entry}`
613
+ };
614
+ return { entries };
615
+ },
616
+ getExistingAllowFrom: ({ cfg, accountId }) => resolveBlueBubblesAccount({
617
+ cfg,
618
+ accountId
619
+ }).config.allowFrom ?? [],
620
+ applyAllowFrom: ({ cfg, accountId, allowFrom }) => setBlueBubblesAllowFrom(cfg, accountId, allowFrom)
621
+ });
622
+ function validateBlueBubblesServerUrlInput(value) {
623
+ const trimmed = normalizeOptionalString(value) ?? "";
624
+ if (!trimmed) return "Required";
625
+ try {
626
+ const normalized = normalizeBlueBubblesServerUrl(trimmed);
627
+ if (!URL.canParse(normalized)) return "Invalid URL format";
628
+ return;
629
+ } catch {
630
+ return "Invalid URL format";
631
+ }
632
+ }
633
+ function applyBlueBubblesSetupPatch(cfg, accountId, patch) {
634
+ return applyBlueBubblesConnectionConfig({
635
+ cfg,
636
+ accountId,
637
+ patch,
638
+ onlyDefinedFields: true,
639
+ accountEnabled: "preserve-or-true"
640
+ });
641
+ }
642
+ function validateBlueBubblesWebhookPath(value) {
643
+ const trimmed = value.trim();
644
+ if (!trimmed) return "Required";
645
+ if (!trimmed.startsWith("/")) return "Path must start with /";
646
+ }
647
+ const dmPolicy = {
648
+ label: "BlueBubbles",
649
+ channel,
650
+ policyKey: "channels.bluebubbles.dmPolicy",
651
+ allowFromKey: "channels.bluebubbles.allowFrom",
652
+ resolveConfigKeys: (cfg, accountId) => (accountId ?? resolveDefaultBlueBubblesAccountId(cfg)) !== "default" ? {
653
+ policyKey: `channels.bluebubbles.accounts.${accountId ?? resolveDefaultBlueBubblesAccountId(cfg)}.dmPolicy`,
654
+ allowFromKey: `channels.bluebubbles.accounts.${accountId ?? resolveDefaultBlueBubblesAccountId(cfg)}.allowFrom`
655
+ } : {
656
+ policyKey: "channels.bluebubbles.dmPolicy",
657
+ allowFromKey: "channels.bluebubbles.allowFrom"
658
+ },
659
+ getCurrent: (cfg, accountId) => resolveBlueBubblesAccount({
660
+ cfg,
661
+ accountId: accountId ?? resolveDefaultBlueBubblesAccountId(cfg)
662
+ }).config.dmPolicy ?? "pairing",
663
+ setPolicy: (cfg, policy, accountId) => setBlueBubblesDmPolicy(cfg, accountId ?? resolveDefaultBlueBubblesAccountId(cfg), policy),
664
+ promptAllowFrom: promptBlueBubblesAllowFrom
665
+ };
666
+ const blueBubblesSetupWizard = {
667
+ channel,
668
+ stepOrder: "text-first",
669
+ status: {
670
+ ...createStandardChannelSetupStatus({
671
+ channelLabel: "BlueBubbles",
672
+ configuredLabel: "configured",
673
+ unconfiguredLabel: "needs setup",
674
+ configuredHint: "configured",
675
+ unconfiguredHint: "iMessage via BlueBubbles app",
676
+ configuredScore: 1,
677
+ unconfiguredScore: 0,
678
+ includeStatusLine: true,
679
+ resolveConfigured: ({ cfg, accountId }) => resolveBlueBubblesAccount({
680
+ cfg,
681
+ accountId
682
+ }).configured
683
+ }),
684
+ resolveSelectionHint: ({ configured }) => configured ? "configured" : "iMessage via BlueBubbles app"
685
+ },
686
+ prepare: async ({ cfg, accountId, prompter, credentialValues }) => {
687
+ const existingWebhookPath = normalizeOptionalString(resolveBlueBubblesAccount({
688
+ cfg,
689
+ accountId
690
+ }).config.webhookPath);
691
+ const wantsCustomWebhook = await prompter.confirm({
692
+ message: `Configure a custom webhook path? (default: ${DEFAULT_WEBHOOK_PATH})`,
693
+ initialValue: Boolean(existingWebhookPath && existingWebhookPath !== "/bluebubbles-webhook")
694
+ });
695
+ return {
696
+ cfg: wantsCustomWebhook ? cfg : applyBlueBubblesSetupPatch(cfg, accountId, { webhookPath: DEFAULT_WEBHOOK_PATH }),
697
+ credentialValues: {
698
+ ...credentialValues,
699
+ [CONFIGURE_CUSTOM_WEBHOOK_FLAG]: wantsCustomWebhook ? "1" : "0"
700
+ }
701
+ };
702
+ },
703
+ credentials: [{
704
+ inputKey: "password",
705
+ providerHint: channel,
706
+ credentialLabel: "server password",
707
+ helpTitle: "BlueBubbles password",
708
+ helpLines: ["Enter the BlueBubbles server password.", "Find this in the BlueBubbles Server app under Settings."],
709
+ envPrompt: "",
710
+ keepPrompt: "BlueBubbles password already set. Keep it?",
711
+ inputPrompt: "BlueBubbles password",
712
+ inspect: ({ cfg, accountId }) => {
713
+ const existingPassword = resolveBlueBubblesAccount({
714
+ cfg,
715
+ accountId
716
+ }).config.password;
717
+ return {
718
+ accountConfigured: resolveBlueBubblesAccount({
719
+ cfg,
720
+ accountId
721
+ }).configured,
722
+ hasConfiguredValue: hasConfiguredSecretInput(existingPassword),
723
+ resolvedValue: normalizeSecretInputString(existingPassword) ?? void 0
724
+ };
725
+ },
726
+ applySet: async ({ cfg, accountId, value }) => applyBlueBubblesSetupPatch(cfg, accountId, { password: value })
727
+ }],
728
+ textInputs: [{
729
+ inputKey: "httpUrl",
730
+ message: "BlueBubbles server URL",
731
+ placeholder: "http://192.168.1.100:1234",
732
+ helpTitle: "BlueBubbles server URL",
733
+ helpLines: [
734
+ "Enter the BlueBubbles server URL (e.g., http://192.168.1.100:1234).",
735
+ "Find this in the BlueBubbles Server app under Connection.",
736
+ `Docs: ${formatDocsLink("/channels/bluebubbles", "bluebubbles")}`
737
+ ],
738
+ currentValue: ({ cfg, accountId }) => normalizeOptionalString(resolveBlueBubblesAccount({
739
+ cfg,
740
+ accountId
741
+ }).config.serverUrl),
742
+ validate: ({ value }) => validateBlueBubblesServerUrlInput(value),
743
+ normalizeValue: ({ value }) => value.trim(),
744
+ applySet: async ({ cfg, accountId, value }) => applyBlueBubblesSetupPatch(cfg, accountId, { serverUrl: value })
745
+ }, {
746
+ inputKey: "webhookPath",
747
+ message: "Webhook path",
748
+ placeholder: DEFAULT_WEBHOOK_PATH,
749
+ currentValue: ({ cfg, accountId }) => {
750
+ const value = normalizeOptionalString(resolveBlueBubblesAccount({
751
+ cfg,
752
+ accountId
753
+ }).config.webhookPath);
754
+ return value && value !== "/bluebubbles-webhook" ? value : void 0;
755
+ },
756
+ shouldPrompt: ({ credentialValues }) => credentialValues[CONFIGURE_CUSTOM_WEBHOOK_FLAG] === "1",
757
+ validate: ({ value }) => validateBlueBubblesWebhookPath(value),
758
+ normalizeValue: ({ value }) => value.trim(),
759
+ applySet: async ({ cfg, accountId, value }) => applyBlueBubblesSetupPatch(cfg, accountId, { webhookPath: value })
760
+ }],
761
+ completionNote: {
762
+ title: "BlueBubbles next steps",
763
+ lines: [
764
+ "Configure the webhook URL in BlueBubbles Server:",
765
+ "1. Open BlueBubbles Server -> Settings -> Webhooks",
766
+ "2. Add your Genesis gateway URL + webhook path",
767
+ ` Example: https://your-gateway-host:3000${DEFAULT_WEBHOOK_PATH}`,
768
+ "3. Enable the webhook and save",
769
+ "",
770
+ `Docs: ${formatDocsLink("/channels/bluebubbles", "bluebubbles")}`
771
+ ]
772
+ },
773
+ dmPolicy,
774
+ allowFrom: createAllowFromSection({
775
+ helpTitle: "BlueBubbles allowlist",
776
+ helpLines: [
777
+ "Allowlist BlueBubbles DMs by handle or chat target.",
778
+ "Examples:",
779
+ "- +15555550123",
780
+ "- user@example.com",
781
+ "- chat_id:123",
782
+ "- chat_guid:iMessage;-;+15555550123",
783
+ "Multiple entries: comma- or newline-separated.",
784
+ `Docs: ${formatDocsLink("/channels/bluebubbles", "bluebubbles")}`
785
+ ],
786
+ message: "BlueBubbles allowFrom (handle or chat_id)",
787
+ placeholder: "+15555550123, user@example.com, chat_id:123",
788
+ invalidWithoutCredentialNote: "Use a BlueBubbles handle or chat target like +15555550123 or chat_id:123.",
789
+ parseInputs: parseBlueBubblesAllowFromInput,
790
+ parseId: (raw) => validateBlueBubblesAllowFromEntry(raw),
791
+ apply: async ({ cfg, accountId, allowFrom }) => setBlueBubblesAllowFrom(cfg, accountId, allowFrom)
792
+ }),
793
+ disable: (cfg) => ({
794
+ ...cfg,
795
+ channels: {
796
+ ...cfg.channels,
797
+ bluebubbles: {
798
+ ...cfg.channels?.bluebubbles,
799
+ enabled: false
800
+ }
801
+ }
802
+ })
803
+ };
804
+ //#endregion
805
+ //#region extensions/bluebubbles/src/status-issues.ts
806
+ function asString(value) {
807
+ return typeof value === "string" && value.length > 0 ? value : null;
808
+ }
809
+ function readBlueBubblesAccountStatus(value) {
810
+ const record = asRecord(value);
811
+ if (!record) return null;
812
+ return {
813
+ accountId: record.accountId,
814
+ enabled: record.enabled,
815
+ configured: record.configured,
816
+ running: record.running,
817
+ baseUrl: record.baseUrl,
818
+ lastError: record.lastError,
819
+ probe: record.probe
820
+ };
821
+ }
822
+ function readBlueBubblesProbeResult(value) {
823
+ const record = asRecord(value);
824
+ if (!record) return null;
825
+ return {
826
+ ok: typeof record.ok === "boolean" ? record.ok : void 0,
827
+ status: typeof record.status === "number" ? record.status : null,
828
+ error: asString(record.error) ?? null
829
+ };
830
+ }
831
+ function collectBlueBubblesStatusIssues(accounts) {
832
+ return collectIssuesForEnabledAccounts({
833
+ accounts,
834
+ readAccount: readBlueBubblesAccountStatus,
835
+ collectIssues: ({ account, accountId, issues }) => {
836
+ const configured = account.configured === true;
837
+ const running = account.running === true;
838
+ const lastError = asString(account.lastError);
839
+ const probe = readBlueBubblesProbeResult(account.probe);
840
+ if (!configured) {
841
+ issues.push({
842
+ channel: "bluebubbles",
843
+ accountId,
844
+ kind: "config",
845
+ message: "Not configured (missing serverUrl or password).",
846
+ fix: "Run: genesis channels add bluebubbles --http-url <server-url> --password <password>"
847
+ });
848
+ return;
849
+ }
850
+ if (probe && probe.ok === false) {
851
+ const errorDetail = probe.error ? `: ${probe.error}` : probe.status ? ` (HTTP ${probe.status})` : "";
852
+ issues.push({
853
+ channel: "bluebubbles",
854
+ accountId,
855
+ kind: "runtime",
856
+ message: `BlueBubbles server unreachable${errorDetail}`,
857
+ fix: "Check that the BlueBubbles server is running and accessible. Verify serverUrl and password in your config."
858
+ });
859
+ }
860
+ if (running && lastError) issues.push({
861
+ channel: "bluebubbles",
862
+ accountId,
863
+ kind: "runtime",
864
+ message: `Channel error: ${lastError}`,
865
+ fix: "Check gateway logs for details. If the webhook is failing, verify the webhook URL is configured in BlueBubbles server settings."
866
+ });
867
+ }
868
+ });
869
+ }
870
+ //#endregion
871
+ //#region extensions/bluebubbles/src/channel.ts
872
+ const loadBlueBubblesChannelRuntime = createLazyRuntimeNamedExport(() => import("./channel.runtime-B1n0hvUI.js"), "blueBubblesChannelRuntime");
873
+ const resolveBlueBubblesDmPolicy = createScopedDmSecurityResolver({
874
+ channelKey: "bluebubbles",
875
+ resolvePolicy: (account) => account.config.dmPolicy,
876
+ resolveAllowFrom: (account) => account.config.allowFrom,
877
+ policyPathSuffix: "dmPolicy",
878
+ normalizeEntry: (raw) => normalizeBlueBubblesHandle(raw.replace(/^bluebubbles:/i, ""))
879
+ });
880
+ const collectBlueBubblesSecurityWarnings = createOpenGroupPolicyRestrictSendersWarningCollector({
881
+ resolveGroupPolicy: (account) => account.config.groupPolicy,
882
+ defaultGroupPolicy: "allowlist",
883
+ surface: "BlueBubbles groups",
884
+ openScope: "any member",
885
+ groupPolicyPath: "channels.bluebubbles.groupPolicy",
886
+ groupAllowFromPath: "channels.bluebubbles.groupAllowFrom",
887
+ mentionGated: false
888
+ });
889
+ const bluebubblesPlugin = createChatChannelPlugin({
890
+ base: {
891
+ id: "bluebubbles",
892
+ meta: bluebubblesMeta,
893
+ capabilities: bluebubblesCapabilities,
894
+ groups: {
895
+ resolveRequireMention: resolveBlueBubblesGroupRequireMention,
896
+ resolveToolPolicy: resolveBlueBubblesGroupToolPolicy
897
+ },
898
+ reload: bluebubblesReload,
899
+ configSchema: bluebubblesConfigSchema,
900
+ setupWizard: blueBubblesSetupWizard,
901
+ config: {
902
+ ...bluebubblesConfigAdapter,
903
+ isConfigured: (account) => account.configured,
904
+ describeAccount: (account) => describeBlueBubblesAccount(account)
905
+ },
906
+ doctor: bluebubblesDoctor,
907
+ conversationBindings: {
908
+ supportsCurrentConversationBinding: true,
909
+ createManager: ({ cfg, accountId }) => createBlueBubblesConversationBindingManager({
910
+ cfg,
911
+ accountId: accountId ?? void 0
912
+ })
913
+ },
914
+ actions: bluebubblesMessageActions,
915
+ secrets: {
916
+ secretTargetRegistryEntries,
917
+ collectRuntimeConfigAssignments
918
+ },
919
+ bindings: {
920
+ compileConfiguredBinding: ({ conversationId }) => normalizeBlueBubblesAcpConversationId(conversationId),
921
+ matchInboundConversation: ({ compiledBinding, conversationId }) => matchBlueBubblesAcpConversation({
922
+ bindingConversationId: compiledBinding.conversationId,
923
+ conversationId
924
+ }),
925
+ resolveCommandConversation: ({ originatingTo, commandTo, fallbackTo }) => {
926
+ const conversationId = resolveBlueBubblesConversationIdFromTarget(originatingTo ?? "") ?? resolveBlueBubblesConversationIdFromTarget(commandTo ?? "") ?? resolveBlueBubblesConversationIdFromTarget(fallbackTo ?? "");
927
+ return conversationId ? { conversationId } : null;
928
+ }
929
+ },
930
+ messaging: {
931
+ normalizeTarget: normalizeBlueBubblesMessagingTarget,
932
+ inferTargetChatType: ({ to }) => inferBlueBubblesTargetChatType(to),
933
+ resolveOutboundSessionRoute: (params) => resolveBlueBubblesOutboundSessionRoute(params),
934
+ targetResolver: {
935
+ looksLikeId: looksLikeBlueBubblesExplicitTargetId,
936
+ hint: "<handle|chat_guid:GUID|chat_id:ID|chat_identifier:ID>",
937
+ resolveTarget: async ({ normalized }) => {
938
+ const to = normalizeOptionalString(normalized);
939
+ if (!to) return null;
940
+ const chatType = inferBlueBubblesTargetChatType(to);
941
+ if (!chatType) return null;
942
+ return {
943
+ to,
944
+ kind: chatType === "direct" ? "user" : "group",
945
+ source: "normalized"
946
+ };
947
+ }
948
+ },
949
+ formatTargetDisplay: ({ target, display }) => {
950
+ const shouldParseDisplay = (value) => {
951
+ if (looksLikeBlueBubblesTargetId(value)) return true;
952
+ return /^(bluebubbles:|chat_guid:|chat_id:|chat_identifier:)/i.test(value);
953
+ };
954
+ const extractCleanDisplay = (value) => {
955
+ const trimmed = normalizeOptionalString(value);
956
+ if (!trimmed) return null;
957
+ try {
958
+ const parsed = parseBlueBubblesTarget(trimmed);
959
+ if (parsed.kind === "chat_guid") {
960
+ const handle = extractHandleFromChatGuid(parsed.chatGuid);
961
+ if (handle) return handle;
962
+ }
963
+ if (parsed.kind === "handle") return normalizeBlueBubblesHandle(parsed.to);
964
+ } catch {}
965
+ const stripped = trimmed.replace(/^bluebubbles:/i, "").replace(/^chat_guid:/i, "").replace(/^chat_id:/i, "").replace(/^chat_identifier:/i, "");
966
+ const handle = extractHandleFromChatGuid(stripped);
967
+ if (handle) return handle;
968
+ if (stripped.includes(";-;") || stripped.includes(";+;")) return null;
969
+ return stripped;
970
+ };
971
+ const trimmedDisplay = normalizeOptionalString(display);
972
+ if (trimmedDisplay) {
973
+ if (!shouldParseDisplay(trimmedDisplay)) return trimmedDisplay;
974
+ const cleanDisplay = extractCleanDisplay(trimmedDisplay);
975
+ if (cleanDisplay) return cleanDisplay;
976
+ }
977
+ const cleanTarget = extractCleanDisplay(target);
978
+ if (cleanTarget) return cleanTarget;
979
+ return normalizeOptionalString(display) || normalizeOptionalString(target) || "";
980
+ }
981
+ },
982
+ setup: blueBubblesSetupAdapter,
983
+ status: createComputedAccountStatusAdapter({
984
+ defaultRuntime: createDefaultChannelRuntimeState(DEFAULT_ACCOUNT_ID),
985
+ collectStatusIssues: collectBlueBubblesStatusIssues,
986
+ buildChannelSummary: ({ snapshot }) => buildProbeChannelStatusSummary(snapshot, { baseUrl: snapshot.baseUrl ?? null }),
987
+ probeAccount: async ({ account, timeoutMs }) => (await loadBlueBubblesChannelRuntime()).probeBlueBubbles({
988
+ baseUrl: account.baseUrl,
989
+ password: account.config.password ?? null,
990
+ timeoutMs,
991
+ allowPrivateNetwork: resolveBlueBubblesEffectiveAllowPrivateNetwork({
992
+ baseUrl: account.baseUrl,
993
+ config: account.config
994
+ })
995
+ }),
996
+ resolveAccountSnapshot: ({ account, runtime, probe }) => {
997
+ const running = runtime?.running ?? false;
998
+ const probeOk = probe?.ok;
999
+ return {
1000
+ accountId: account.accountId,
1001
+ name: account.name,
1002
+ enabled: account.enabled,
1003
+ configured: account.configured,
1004
+ extra: {
1005
+ baseUrl: account.baseUrl,
1006
+ connected: probeOk ?? running
1007
+ }
1008
+ };
1009
+ }
1010
+ }),
1011
+ gateway: { startAccount: async (ctx) => {
1012
+ const runtime = await loadBlueBubblesChannelRuntime();
1013
+ const account = ctx.account;
1014
+ const conversationBindings = createBlueBubblesConversationBindingManager({
1015
+ cfg: ctx.cfg,
1016
+ accountId: ctx.accountId
1017
+ });
1018
+ const webhookPath = runtime.resolveWebhookPathFromConfig(account.config);
1019
+ const statusSink = createAccountStatusSink({
1020
+ accountId: ctx.accountId,
1021
+ setStatus: ctx.setStatus
1022
+ });
1023
+ statusSink({ baseUrl: account.baseUrl });
1024
+ ctx.log?.info(`[${account.accountId}] starting provider (webhook=${webhookPath})`);
1025
+ try {
1026
+ return await runtime.monitorBlueBubblesProvider({
1027
+ account,
1028
+ config: ctx.cfg,
1029
+ runtime: ctx.runtime,
1030
+ abortSignal: ctx.abortSignal,
1031
+ statusSink,
1032
+ webhookPath
1033
+ });
1034
+ } finally {
1035
+ conversationBindings.stop();
1036
+ }
1037
+ } }
1038
+ },
1039
+ security: {
1040
+ resolveDmPolicy: resolveBlueBubblesDmPolicy,
1041
+ collectWarnings: projectAccountWarningCollector(collectBlueBubblesSecurityWarnings)
1042
+ },
1043
+ threading: { buildToolContext: ({ context, hasRepliedRef }) => ({
1044
+ currentChannelId: normalizeOptionalString(context.To),
1045
+ currentThreadTs: context.ReplyToIdFull ?? context.ReplyToId,
1046
+ hasRepliedRef
1047
+ }) },
1048
+ pairing: { text: createBlueBubblesPairingText(async (id, message, params) => {
1049
+ await (await loadBlueBubblesChannelRuntime()).sendMessageBlueBubbles(id, message, params);
1050
+ }) },
1051
+ outbound: {
1052
+ base: {
1053
+ deliveryMode: "direct",
1054
+ textChunkLimit: 4e3,
1055
+ resolveTarget: ({ to }) => {
1056
+ const trimmed = normalizeOptionalString(to);
1057
+ if (!trimmed) return {
1058
+ ok: false,
1059
+ error: /* @__PURE__ */ new Error("Delivering to BlueBubbles requires --to <handle|chat_guid:GUID>")
1060
+ };
1061
+ return {
1062
+ ok: true,
1063
+ to: trimmed
1064
+ };
1065
+ }
1066
+ },
1067
+ attachedResults: {
1068
+ channel: "bluebubbles",
1069
+ sendText: async ({ cfg, to, text, accountId, replyToId }) => {
1070
+ const runtime = await loadBlueBubblesChannelRuntime();
1071
+ const rawReplyToId = normalizeOptionalString(replyToId) ?? "";
1072
+ const replyToMessageGuid = rawReplyToId ? runtime.resolveBlueBubblesMessageId(rawReplyToId, { requireKnownShortId: true }) : "";
1073
+ return await runtime.sendMessageBlueBubbles(to, text, {
1074
+ cfg,
1075
+ accountId: accountId ?? void 0,
1076
+ replyToMessageGuid: replyToMessageGuid || void 0
1077
+ });
1078
+ },
1079
+ sendMedia: async (ctx) => {
1080
+ const runtime = await loadBlueBubblesChannelRuntime();
1081
+ const { cfg, to, text, mediaUrl, accountId, replyToId } = ctx;
1082
+ const { mediaPath, mediaBuffer, contentType, filename, caption } = ctx;
1083
+ return await runtime.sendBlueBubblesMedia({
1084
+ cfg,
1085
+ to,
1086
+ mediaUrl,
1087
+ mediaPath,
1088
+ mediaBuffer,
1089
+ contentType,
1090
+ filename,
1091
+ caption: caption ?? text ?? void 0,
1092
+ replyToId: replyToId ?? null,
1093
+ accountId: accountId ?? void 0
1094
+ });
1095
+ }
1096
+ }
1097
+ }
1098
+ });
1099
+ //#endregion
1100
+ export { bluebubblesCapabilities as a, bluebubblesMeta as c, blueBubblesSetupAdapter as i, bluebubblesReload as l, collectBlueBubblesStatusIssues as n, bluebubblesConfigAdapter as o, blueBubblesSetupWizard as r, bluebubblesConfigSchema as s, bluebubblesPlugin as t, describeBlueBubblesAccount as u };