@pixelzx/genesis 2026.5.5-3 → 2026.5.5-4

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 (1017) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-BHSttDhY.js +201 -0
  4. package/dist/abort.runtime-VJ9lFsZS.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-BNvagEOQ.js +104 -0
  7. package/dist/accounts-CPIuzenz.js +107 -0
  8. package/dist/accounts-r08DQWhZ.js +2 -0
  9. package/dist/acp-cli-i0L-eRs9.js +2193 -0
  10. package/dist/acp-spawn-CHzVLe9q.js +1093 -0
  11. package/dist/acp-spawn-CqvxDuBq.js +2 -0
  12. package/dist/acp-stateful-target-driver-CWRLc_NP.js +89 -0
  13. package/dist/action-agents-SNCscX_-.js +67 -0
  14. package/dist/action-focus-B2s0PF2E.js +132 -0
  15. package/dist/action-help-CXKbyaZ7.js +7 -0
  16. package/dist/action-info-B3IDKxWu.js +101 -0
  17. package/dist/action-kill-idGvCNhT.js +33 -0
  18. package/dist/action-list-Di7gO3qL.js +21 -0
  19. package/dist/action-log-BCsz-gFi.js +30 -0
  20. package/dist/action-send-DLsdZnVc.js +39 -0
  21. package/dist/action-spawn-DhKEOdL0.js +47 -0
  22. package/dist/action-unfocus-Dh7ti5UP.js +29 -0
  23. package/dist/actions.runtime-BPf03SN3.js +18 -0
  24. package/dist/actions.runtime-CJg_lweh.js +5 -0
  25. package/dist/actions.runtime.js +1 -1
  26. package/dist/agent-C3PLvvws.js +2 -0
  27. package/dist/agent-command-UroeNrV4.js +874 -0
  28. package/dist/agent-harness-runtime-MXvI9FlJ.js +144 -0
  29. package/dist/agent-runner-utils-CaVgLZrf.js +239 -0
  30. package/dist/agent-runner.runtime-Csqm3m09.js +3455 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-B9nUYDUz.js +18 -0
  33. package/dist/agents-BP4p-1q2.js +5 -0
  34. package/dist/agents-CDiXfrfc.js +953 -0
  35. package/dist/aliases-BBCtCq2A.js +96 -0
  36. package/dist/aliases-DrFtFq1p.js +2 -0
  37. package/dist/api-BH0oEwR1.js +5 -0
  38. package/dist/api-D-4gHdrl.js +139 -0
  39. package/dist/api-DE6RYTxv.js +3 -0
  40. package/dist/approval-gateway-resolver-URpDQMld.js +29 -0
  41. package/dist/approval-gateway-runtime-B087BMms.js +2 -0
  42. package/dist/approval-handler-runtime-BEl3ua8-.js +439 -0
  43. package/dist/approval-native-runtime-ghjYGufu.js +729 -0
  44. package/dist/attempt-execution.runtime-PCTFYqLh.js +509 -0
  45. package/dist/attempt-execution.runtime.js +1 -1
  46. package/dist/attempt.prompt-helpers-CkWEozQ2.js +221 -0
  47. package/dist/attempt.tool-run-context-DbqVgXFk.js +933 -0
  48. package/dist/audit-Lb1yNEwg.js +939 -0
  49. package/dist/audit.runtime-DOnixKE_.js +7 -0
  50. package/dist/audit.runtime.js +1 -1
  51. package/dist/auth-BrlJ7NM9.js +2 -0
  52. package/dist/auth-CJoP7Yst.js +383 -0
  53. package/dist/auth-order-D0KFgBib.js +96 -0
  54. package/dist/auth-order-_xlUHzCg.js +2 -0
  55. package/dist/bash-tools-BEVEHCl9.js +2824 -0
  56. package/dist/bash-tools-DJ0D8Wr5.js +3 -0
  57. package/dist/binding-routing-IfKqPcfO.js +85 -0
  58. package/dist/binding-targets-2huR0hTX.js +121 -0
  59. package/dist/bridge-server-D8Y8Fzdz.js +113 -0
  60. package/dist/browser-control-auth-Q6UpVLEj.js +2 -0
  61. package/dist/browser-node-runtime-C9KvsOyx.js +12 -0
  62. package/dist/browser-profiles-DFcwiMEf.js +2 -0
  63. package/dist/browser-runtime-sbZ3hKg6.js +387 -0
  64. package/dist/browser-setup-tools-CP4BkZ9z.js +13 -0
  65. package/dist/build-DzHX2LrH.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-ORivR4Db.js +331 -0
  70. package/dist/call-qzfm6lro.js +3 -0
  71. package/dist/call.runtime-BkzJe07B.js +2 -0
  72. package/dist/call.runtime.js +1 -1
  73. package/dist/capability-cli-BDCvm93o.js +1401 -0
  74. package/dist/catchup-CjZa2PrP.js +300 -0
  75. package/dist/channel-B3UAL9Pk.js +840 -0
  76. package/dist/channel-B5L9LJBF.js +453 -0
  77. package/dist/channel-BGXl6A-E.js +297 -0
  78. package/dist/channel-BNUblayu.js +1320 -0
  79. package/dist/channel-Bej-TN7f.js +491 -0
  80. package/dist/channel-BzOKSC4e.js +350 -0
  81. package/dist/channel-CY2xEOzR.js +1802 -0
  82. package/dist/channel-D2kKLWUA.js +226 -0
  83. package/dist/channel-DcjCe46M.js +1100 -0
  84. package/dist/channel-GqA96nmt.js +595 -0
  85. package/dist/channel-YI2aIJFQ.js +1174 -0
  86. package/dist/channel-core-DqPUhmTt.js +5 -0
  87. package/dist/channel-inbound-CzgMd2Xi.js +31 -0
  88. package/dist/channel-plugin-runtime-DI5uUbxx.js +771 -0
  89. package/dist/channel-runtime-BJqKQitD.js +425 -0
  90. package/dist/channel.runtime-BBn9mgbB.js +89 -0
  91. package/dist/channel.runtime-Bhj1b9gQ.js +34702 -0
  92. package/dist/channel.runtime-BzOVx90Z.js +576 -0
  93. package/dist/channel.runtime-CQkLKWlq.js +109 -0
  94. package/dist/channel.runtime-D8qT4A1x.js +4 -0
  95. package/dist/channel.runtime-DjK9Re1w.js +2364 -0
  96. package/dist/channel.runtime-tWwM8hFw.js +430 -0
  97. package/dist/channel.setup-gaiRZ-r8.js +10 -0
  98. package/dist/channels-BXIl3hBo.js +733 -0
  99. package/dist/channels-cli-CrmBqaul.js +268 -0
  100. package/dist/chat-C42usv-F.js +2758 -0
  101. package/dist/clawbot-cli-BGYO_ymZ.js +9 -0
  102. package/dist/cli/daemon-cli.js +4 -4
  103. package/dist/cli-BbD25CFK.js +2 -0
  104. package/dist/cli-CYD4Wfcq.js +219 -0
  105. package/dist/cli-D-6ycHAw.js +72 -0
  106. package/dist/cli-DX4CK-bw.js +2 -0
  107. package/dist/cli-runner-C5_PBTxm.js +286 -0
  108. package/dist/cli-runner.runtime-DE7RpQ27.js +3 -0
  109. package/dist/cli-runner.runtime-ueVMICzY.js +4 -0
  110. package/dist/cli-runner.runtime.js +1 -1
  111. package/dist/cli-startup-metadata.json +2 -2
  112. package/dist/cli.runtime-DSO8Vfrh.js +1261 -0
  113. package/dist/cli.runtime.js +1 -1
  114. package/dist/client-BKro32pr.js +138 -0
  115. package/dist/client-Vx7pseEY.js +713 -0
  116. package/dist/command-auth-CvFUTCCJ.js +76 -0
  117. package/dist/command-config-resolution-BnW1XGnW.js +23 -0
  118. package/dist/command-config-resolution-BrlfYyiN.js +2 -0
  119. package/dist/command-config-resolution.runtime-DYMr8J0t.js +2 -0
  120. package/dist/command-config-resolution.runtime.js +1 -1
  121. package/dist/command-registry-BFZKeOfs.js +4 -0
  122. package/dist/command-registry-Dx2ADG5E.js +9 -0
  123. package/dist/command-registry-core-D7i83K9k.js +101 -0
  124. package/dist/command-secret-gateway-B27Zpgo9.js +528 -0
  125. package/dist/command-status.runtime-fERQMzeI.js +87 -0
  126. package/dist/command-status.runtime.js +1 -1
  127. package/dist/commands-acp-BmORmf3-.js +77 -0
  128. package/dist/commands-compact.runtime-BUaXIw-I.js +10 -0
  129. package/dist/commands-compact.runtime.js +1 -1
  130. package/dist/commands-handlers.runtime-BxbkeuTc.js +4597 -0
  131. package/dist/commands-handlers.runtime.js +1 -1
  132. package/dist/commands-status-4OW5sqmg.js +16 -0
  133. package/dist/commands-status.runtime-Cl7nJp_7.js +3 -0
  134. package/dist/commands-status.runtime.js +1 -1
  135. package/dist/commands-subagents-control.runtime-BR4qBGkk.js +2 -0
  136. package/dist/commands-subagents-control.runtime-C8ufgKPI.js +3 -0
  137. package/dist/commands-subagents-control.runtime.js +1 -1
  138. package/dist/commands-system-prompt-BsimvjJt.js +158 -0
  139. package/dist/commands-system-prompt-CKrY0h7P.js +2 -0
  140. package/dist/commands.runtime-BHsDdaEU.js +166 -0
  141. package/dist/commands.runtime.js +1 -1
  142. package/dist/compact-BHYLQst3.js +1118 -0
  143. package/dist/compact.runtime-7-tZRdgw.js +12 -0
  144. package/dist/compact.runtime.js +1 -1
  145. package/dist/completion-cli-CrMeY4zt.js +328 -0
  146. package/dist/config-BZ3FuFjH.js +251 -0
  147. package/dist/config-cli-Bfvd45IK.js +1078 -0
  148. package/dist/configure-DiSRY2c4.js +1245 -0
  149. package/dist/configure-srxQxuEW.js +2 -0
  150. package/dist/connect-options-DlmPTyhG.js +699 -0
  151. package/dist/control-auth-C_zNiV10.js +125 -0
  152. package/dist/control-service-B1TL51jf.js +156 -0
  153. package/dist/conversation-id-B3lLiTfF.js +235 -0
  154. package/dist/conversation-id-DORmTZm_.js +38 -0
  155. package/dist/conversation-runtime-DDxZZZXE.js +31 -0
  156. package/dist/core-DbPzffGG.js +275 -0
  157. package/dist/cron-cli-AoH4jhFt.js +713 -0
  158. package/dist/daemon-cli-C9Z9wW_C.js +12 -0
  159. package/dist/daemon-install-CiudqvC8.js +64 -0
  160. package/dist/delegate-Dmdda3kT.js +64 -0
  161. package/dist/detached-task-runtime-BB5az34R.js +73 -0
  162. package/dist/devices-cli-Cy9DF-DP.js +496 -0
  163. package/dist/diagnostics-CTE0TWR1.js +154 -0
  164. package/dist/direct-dm-9jzadx9u.js +64 -0
  165. package/dist/dispatch-DU7cqfv6.js +1131 -0
  166. package/dist/dispatch-acp-Cu_nUtKg.js +981 -0
  167. package/dist/dispatch-acp-manager.runtime-8MOQ5BRn.js +3 -0
  168. package/dist/dispatch-acp-manager.runtime.js +1 -1
  169. package/dist/dispatch-acp.runtime-DatcHNJq.js +19 -0
  170. package/dist/dispatch-acp.runtime.js +1 -1
  171. package/dist/doctor-device-pairing-Qm-r7mwu.js +307 -0
  172. package/dist/doctor-gateway-daemon-flow-DJUA40sd.js +250 -0
  173. package/dist/doctor-gateway-health-CD7Vzth9.js +60 -0
  174. package/dist/doctor-gateway-services-ChajuYZL.js +316 -0
  175. package/dist/doctor-health-O51CFRqy.js +59 -0
  176. package/dist/doctor-health-contributions-CGMp0dRt.js +486 -0
  177. package/dist/doctor-prompter-BYIoKiZ8.js +56 -0
  178. package/dist/doctor-workspace-status-DL2fRPoT.js +75 -0
  179. package/dist/dreaming-CCctNgkQ.js +1574 -0
  180. package/dist/dreaming-narrative-BPtXKc2-.js +595 -0
  181. package/dist/embedded-gateway-stub.runtime-Hi36BeCq.js +9 -0
  182. package/dist/embedded-gateway-stub.runtime.js +1 -1
  183. package/dist/entry.js +2 -2
  184. package/dist/exec-approvals-cli-DyslUWtQ.js +498 -0
  185. package/dist/extensionAPI.js +1 -1
  186. package/dist/extensions/active-memory/index.js +1 -1
  187. package/dist/extensions/bluebubbles/api.js +3 -3
  188. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  189. package/dist/extensions/browser/browser-bridge.js +1 -1
  190. package/dist/extensions/browser/browser-config.js +4 -4
  191. package/dist/extensions/browser/browser-control-auth.js +2 -2
  192. package/dist/extensions/browser/browser-doctor.js +2 -2
  193. package/dist/extensions/browser/browser-maintenance.js +2 -2
  194. package/dist/extensions/browser/browser-profiles.js +2 -2
  195. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  196. package/dist/extensions/browser/index.js +1 -1
  197. package/dist/extensions/browser/plugin-registration.js +1 -1
  198. package/dist/extensions/browser/register.runtime.js +3 -3
  199. package/dist/extensions/browser/runtime-api.js +11 -11
  200. package/dist/extensions/browser/test-support.js +1 -1
  201. package/dist/extensions/device-pair/api.js +1 -1
  202. package/dist/extensions/device-pair/index.js +3 -3
  203. package/dist/extensions/device-pair/notify.js +1 -1
  204. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  205. package/dist/extensions/google-meet/index.js +2 -2
  206. package/dist/extensions/imessage/api.js +3 -3
  207. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  208. package/dist/extensions/imessage/runtime-api.js +3 -3
  209. package/dist/extensions/irc/api.js +2 -2
  210. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  211. package/dist/extensions/line/api.js +2 -2
  212. package/dist/extensions/line/channel-plugin-api.js +1 -1
  213. package/dist/extensions/line/contract-api.js +1 -1
  214. package/dist/extensions/line/runtime-api.js +4 -4
  215. package/dist/extensions/line/setup-api.js +1 -1
  216. package/dist/extensions/llm-task/index.js +2 -2
  217. package/dist/extensions/lobster/index.js +3 -3
  218. package/dist/extensions/lobster/runtime-api.js +1 -1
  219. package/dist/extensions/mattermost/api.js +1 -1
  220. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  221. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  222. package/dist/extensions/mattermost/policy-api.js +1 -1
  223. package/dist/extensions/mattermost/runtime-api.js +4 -4
  224. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  225. package/dist/extensions/memory-core/api.js +1 -1
  226. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  227. package/dist/extensions/memory-core/index.js +3 -3
  228. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  229. package/dist/extensions/msteams/api.js +1 -1
  230. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  231. package/dist/extensions/msteams/runtime-api.js +3 -3
  232. package/dist/extensions/msteams/test-api.js +1 -1
  233. package/dist/extensions/nextcloud-talk/api.js +1 -1
  234. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  235. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  236. package/dist/extensions/openshell/index.js +2 -2
  237. package/dist/extensions/signal/api.js +6 -6
  238. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  239. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  240. package/dist/extensions/signal/runtime-api.js +7 -7
  241. package/dist/extensions/skill-workshop/api.js +1 -1
  242. package/dist/extensions/skill-workshop/index.js +1 -1
  243. package/dist/extensions/synology-chat/api.js +1 -1
  244. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  245. package/dist/extensions/tlon/api.js +2 -2
  246. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  247. package/dist/extensions/tlon/runtime-api.js +1 -1
  248. package/dist/extensions/tlon/test-api.js +1 -1
  249. package/dist/extensions/twitch/api.js +1 -1
  250. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  251. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  252. package/dist/extensions/zalo/api.js +3 -3
  253. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  254. package/dist/extensions/zalo/runtime-api.js +2 -2
  255. package/dist/extensions/zalo/setup-api.js +2 -2
  256. package/dist/extensions/zalouser/api.js +3 -3
  257. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  258. package/dist/extensions/zalouser/runtime-api.js +6 -6
  259. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  260. package/dist/extensions/zalouser/test-api.js +1 -1
  261. package/dist/fallbacks-B3xZC-ms.js +2 -0
  262. package/dist/fallbacks-CWDz-tSa.js +31 -0
  263. package/dist/fallbacks-shared-BlZBjxHL.js +111 -0
  264. package/dist/gateway-NYBkUx5r.js +115 -0
  265. package/dist/gateway-cli-DvJWNwl6.js +1325 -0
  266. package/dist/gateway-rpc-BrG5Lkfm.js +14 -0
  267. package/dist/gateway-rpc.runtime-BrTGchr9.js +23 -0
  268. package/dist/gateway-rpc.runtime.js +1 -1
  269. package/dist/gateway-runtime-DctMRv_p.js +15 -0
  270. package/dist/gateway-status-B6ol1agz.js +584 -0
  271. package/dist/genesis-tools-D_ah3Zek.js +8999 -0
  272. package/dist/genesis-tools.runtime-Cy7aTWEN.js +2 -0
  273. package/dist/genesis-tools.runtime.js +1 -1
  274. package/dist/get-reply-BvVkxYum.js +3879 -0
  275. package/dist/get-reply-from-config.runtime-DR3yiK1R.js +2 -0
  276. package/dist/get-reply-from-config.runtime.js +1 -1
  277. package/dist/graph-users-yBNugoFz.js +1337 -0
  278. package/dist/health-D_wk2s7j.js +3 -0
  279. package/dist/health-MRnjOx-_.js +469 -0
  280. package/dist/heartbeat-runner-NuhhYnxs.js +5 -0
  281. package/dist/heartbeat-runner-Y4NeUV3L.js +1292 -0
  282. package/dist/heartbeat-runner.runtime-eGfKtcpP.js +4 -0
  283. package/dist/heartbeat-runner.runtime.js +1 -1
  284. package/dist/hooks-cli-CtfN2vc-.js +433 -0
  285. package/dist/image-fallbacks-CgeDMYZo.js +2 -0
  286. package/dist/image-fallbacks-CzQ85Eo8.js +31 -0
  287. package/dist/inbound-reply-dispatch-jVlLaSqn.js +73 -0
  288. package/dist/index.js +2 -2
  289. package/dist/infra-runtime-D2Pqjk-r.js +39 -0
  290. package/dist/init-D_MTYqrw.js +59 -0
  291. package/dist/install-DLJF8qA4.js +190 -0
  292. package/dist/install.runtime-B_wJtoom.js +2 -0
  293. package/dist/launchd-OykeouWG.js +696 -0
  294. package/dist/library-DIykYIWD.js +45 -0
  295. package/dist/lifecycle-BNuFzffC.js +571 -0
  296. package/dist/lifecycle-DJidJ8WM.js +229 -0
  297. package/dist/lifecycle-core-DCeS7I2A.js +422 -0
  298. package/dist/lifecycle.runtime-DWcLMs_A.js +2 -0
  299. package/dist/lifecycle.runtime.js +1 -1
  300. package/dist/list-BZ3mMSpA.js +2 -0
  301. package/dist/list-CzQs_k0U.js +131 -0
  302. package/dist/list-CzTJTFOH.js +1201 -0
  303. package/dist/list-qDXsgKhB.js +2 -0
  304. package/dist/list.probe-EOZR6ueo.js +419 -0
  305. package/dist/llm-slug-generator-DzWIx0nh.js +79 -0
  306. package/dist/llm-slug-generator.js +1 -1
  307. package/dist/load-config-C_8uUnXU.js +35 -0
  308. package/dist/local-dispatch.runtime-DLd10Xb1.js +8 -0
  309. package/dist/local-dispatch.runtime.js +1 -1
  310. package/dist/logs-cli-mnOTmC9R.js +265 -0
  311. package/dist/logs-cli.runtime-BvP3aise.js +2 -0
  312. package/dist/logs-cli.runtime.js +1 -1
  313. package/dist/main-session-restart-recovery-D7Vxmu7e.js +206 -0
  314. package/dist/managed-image-attachments-BB5u0Zq8.js +2 -0
  315. package/dist/managed-image-attachments-BeRGNdL9.js +635 -0
  316. package/dist/manager-BhNWV4EC.js +2 -0
  317. package/dist/manager-CbZ9ncZs.js +2057 -0
  318. package/dist/markdown-to-line-DyB8w7ef.js +790 -0
  319. package/dist/mcp/plugin-tools-serve.js +1 -1
  320. package/dist/mcp-cli-CWzLBrDF.js +725 -0
  321. package/dist/mcp-http-1jD7LE0a.js +529 -0
  322. package/dist/memory-core-host-runtime-cli-P80xoEfr.js +9 -0
  323. package/dist/message-BAhd_1ud.js +232 -0
  324. package/dist/message-action-runner-CH2jjT21.js +1407 -0
  325. package/dist/message-action-runner-DW7z_bMx.js +2 -0
  326. package/dist/message-actions-BjBGSsJB.js +143 -0
  327. package/dist/message.gateway.runtime-sUc85g7X.js +2 -0
  328. package/dist/message.gateway.runtime.js +1 -1
  329. package/dist/models-auth-status-D6lrM56M.js +201 -0
  330. package/dist/models-cli-CmnbAk2M.js +219 -0
  331. package/dist/monitor-AyGe8vyk.js +1237 -0
  332. package/dist/monitor-DQuy2kx-.js +671 -0
  333. package/dist/monitor-DmtJiX5o.js +788 -0
  334. package/dist/monitor-GB8lcnal.js +1459 -0
  335. package/dist/monitor-IuVjATac.js +1661 -0
  336. package/dist/monitor-auth-rF7mr3Cm.js +207 -0
  337. package/dist/monitor-bnOvJyLN.js +2 -0
  338. package/dist/monitor-processing-B1ewr2qF.js +1974 -0
  339. package/dist/monitor.runtime-BrUD5_VN.js +2 -0
  340. package/dist/monitor.runtime.js +1 -1
  341. package/dist/monitor.webhook-BvJG6Xbh.js +180 -0
  342. package/dist/msteams-DUDRy3xt.js +35 -0
  343. package/dist/native-hook-relay-CTpTLgCA.js +519 -0
  344. package/dist/nextcloud-talk-BH2uWRZ2.js +17 -0
  345. package/dist/node-cli-CrDZkIQS.js +2506 -0
  346. package/dist/node-service-BhD56-7r.js +68 -0
  347. package/dist/nodes-cli-B7IWCrYq.js +1046 -0
  348. package/dist/nodes-utils-Dg2hrC3z.js +84 -0
  349. package/dist/nodes.helpers-CkJO5i0d.js +34 -0
  350. package/dist/notify-bsxfkOWp.js +315 -0
  351. package/dist/onboard-helpers-Cc2AnoIU.js +6 -0
  352. package/dist/onboard-helpers-DIxfEXNM.js +204 -0
  353. package/dist/onboard-plDFxTJw.js +632 -0
  354. package/dist/onboard-remote-CYhQbOXH.js +2 -0
  355. package/dist/onboard-remote-DrH3yVxE.js +193 -0
  356. package/dist/onboard-skills-DCI3hVXa.js +134 -0
  357. package/dist/onboard-skills-i4KuFzS4.js +2 -0
  358. package/dist/openai-http-D_7Nk3iN.js +500 -0
  359. package/dist/openresponses-http-BITxvD4V.js +1128 -0
  360. package/dist/operator-approvals-client-C0t_-2xC.js +68 -0
  361. package/dist/outbound.runtime-C8_lBQcx.js +2 -0
  362. package/dist/outbound.runtime.js +1 -1
  363. package/dist/pair-command-approve-D3s1W5go.js +44 -0
  364. package/dist/persistent-bindings.lifecycle-CCR6khHJ.js +85 -0
  365. package/dist/persistent-bindings.lifecycle-Dgoo5bpE.js +2 -0
  366. package/dist/pi-embedded-C2l80M7j.js +4 -0
  367. package/dist/pi-embedded-DMHGJgoQ.js +2905 -0
  368. package/dist/pi-embedded.runtime-fA0EsIue.js +4 -0
  369. package/dist/pi-embedded.runtime.js +1 -1
  370. package/dist/pi-tool-definition-adapter-B4hSYdYX.js +217 -0
  371. package/dist/pi-tools-YCHBvJG0.js +1057 -0
  372. package/dist/pi-tools.before-tool-call-BsyruRs4.js +433 -0
  373. package/dist/pi-tools.before-tool-call-D1maRTbl.js +2 -0
  374. package/dist/plugin-DmBZwzWQ.js +12195 -0
  375. package/dist/plugin-enabled-rr_Y1Kwh.js +140 -0
  376. package/dist/plugin-registration-J1JWqMZg.js +23 -0
  377. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  378. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  379. package/dist/plugin-sdk/acp-runtime.js +2 -2
  380. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  381. package/dist/plugin-sdk/agent-harness.js +6 -6
  382. package/dist/plugin-sdk/agent-runtime.js +2 -2
  383. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  384. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  385. package/dist/plugin-sdk/approval-runtime.js +1 -1
  386. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  387. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  388. package/dist/plugin-sdk/browser-support.js +7 -7
  389. package/dist/plugin-sdk/channel-core.js +2 -2
  390. package/dist/plugin-sdk/channel-inbound.js +2 -2
  391. package/dist/plugin-sdk/command-auth.js +1 -1
  392. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  393. package/dist/plugin-sdk/compat.js +1 -1
  394. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  395. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  396. package/dist/plugin-sdk/core.js +2 -2
  397. package/dist/plugin-sdk/direct-dm.js +1 -1
  398. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  399. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  400. package/dist/plugin-sdk/index.js +1 -1
  401. package/dist/plugin-sdk/infra-runtime.js +2 -2
  402. package/dist/plugin-sdk/irc.js +2 -2
  403. package/dist/plugin-sdk/matrix.js +1 -1
  404. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  405. package/dist/plugin-sdk/memory-core.js +2 -2
  406. package/dist/plugin-sdk/msteams.js +2 -2
  407. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  408. package/dist/plugin-sdk/nostr.js +1 -1
  409. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  410. package/dist/plugin-sdk/reply-runtime.js +4 -4
  411. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  412. package/dist/plugin-sdk/runtime.js +2 -2
  413. package/dist/plugin-sdk/session-visibility.js +1 -1
  414. package/dist/plugin-sdk/testing.js +4 -4
  415. package/dist/plugin-sdk/tlon.js +1 -1
  416. package/dist/plugin-sdk/zalo.js +1 -1
  417. package/dist/plugin-sdk/zalouser.js +1 -1
  418. package/dist/plugin-service-CPY8FSW2.js +2890 -0
  419. package/dist/plugins/runtime/index.js +1 -1
  420. package/dist/policy-DDUw681i.js +328 -0
  421. package/dist/postinstall-inventory.json +418 -418
  422. package/dist/prepare.runtime-BfnpyhHB.js +815 -0
  423. package/dist/prepare.runtime.js +1 -1
  424. package/dist/probe-CCdD6_vN.js +1443 -0
  425. package/dist/probe-CakOsrSu.js +241 -0
  426. package/dist/probe-Ctrcd_Q7.js +2205 -0
  427. package/dist/probe-D9IFIte1.js +2 -0
  428. package/dist/probe-DXMI0QlZ.js +74 -0
  429. package/dist/probe-KtX2HjXM.js +45 -0
  430. package/dist/probe-OcOYm1bj.js +2 -0
  431. package/dist/program-BtHRWk-Q.js +111 -0
  432. package/dist/prompt-select-styled-CR6QJuHt.js +20 -0
  433. package/dist/protocol-C40iRm9c.js +2234 -0
  434. package/dist/provider-dispatcher-BZp3Stzr.js +2 -0
  435. package/dist/provider-dispatcher-JJxN7BDL.js +22 -0
  436. package/dist/qr-cli-IMKzycXh.js +349 -0
  437. package/dist/qr-cli-W8X3Ha5T.js +2 -0
  438. package/dist/reaction-runtime-api-D7i4oMn9.js +116 -0
  439. package/dist/reactions-D9eRHeXM.js +998 -0
  440. package/dist/register-service-commands-CaBS-AUR.js +71 -0
  441. package/dist/register.agent-p1q6ZWSs.js +248 -0
  442. package/dist/register.configure-DazZmqzO.js +15 -0
  443. package/dist/register.maintenance-Dv5WFjIs.js +438 -0
  444. package/dist/register.message-B5msOUKt.js +329 -0
  445. package/dist/register.onboard-CMozEUYQ.js +81 -0
  446. package/dist/register.runtime-D8XvwfoZ.js +81 -0
  447. package/dist/register.runtime.js +1 -1
  448. package/dist/register.setup-DMYbjy66.js +150 -0
  449. package/dist/register.status-health-sessions-BE_L9Dys.js +1215 -0
  450. package/dist/register.subclis-BKl2XnlL.js +3 -0
  451. package/dist/register.subclis-Dda0aZgo.js +29 -0
  452. package/dist/register.subclis-core-CR9n4UBd.js +249 -0
  453. package/dist/reply-dispatch-runtime-DcxOLr7n.js +13 -0
  454. package/dist/reply-runtime-B4VQJnqi.js +11 -0
  455. package/dist/reply.runtime-B990ty9C.js +2 -0
  456. package/dist/reply.runtime.js +1 -1
  457. package/dist/restart-health-BWUPc4R-.js +202 -0
  458. package/dist/restart-health-CWvsjHVN.js +2 -0
  459. package/dist/root-help-D9aeVXNr.js +44 -0
  460. package/dist/routes-BSmEgP46.js +2 -0
  461. package/dist/routes-Z67chkN5.js +3341 -0
  462. package/dist/rpc-CBQZvJME.js +61 -0
  463. package/dist/rpc.runtime-ClhNVRer.js +21 -0
  464. package/dist/rpc.runtime.js +1 -1
  465. package/dist/run-delivery.runtime-Bj566BTH.js +530 -0
  466. package/dist/run-delivery.runtime.js +1 -1
  467. package/dist/run-embedded.runtime-DuB-mQh2.js +4 -0
  468. package/dist/run-embedded.runtime.js +1 -1
  469. package/dist/run-execution-cli.runtime-Oy4FGfj5.js +4 -0
  470. package/dist/run-execution-cli.runtime.js +1 -1
  471. package/dist/run-executor.runtime-B7-lfFh3.js +277 -0
  472. package/dist/run-executor.runtime.js +1 -1
  473. package/dist/run-main-DW_mKhnK.js +516 -0
  474. package/dist/run-subagent-registry.runtime-Bx9Wga3d.js +2 -0
  475. package/dist/run-subagent-registry.runtime.js +1 -1
  476. package/dist/run-wait-C-VgbefQ.js +135 -0
  477. package/dist/runtime-BV7JmOaE.js +9 -0
  478. package/dist/runtime-D7npxl4G.js +973 -0
  479. package/dist/runtime-api-BkVIoPU9.js +4 -0
  480. package/dist/runtime-api-CdhgyHMB.js +9 -0
  481. package/dist/runtime-api-CmlBBCCY.js +9 -0
  482. package/dist/runtime-api-DnhXPE_z.js +14 -0
  483. package/dist/runtime-embedded-pi.runtime-DpKqDUrl.js +2 -0
  484. package/dist/runtime-embedded-pi.runtime.js +1 -1
  485. package/dist/runtime-internal-Bu1n9i4P.js +2 -0
  486. package/dist/runtime-options-CN4g8VJE.js +275 -0
  487. package/dist/runtime-schema-C3ix-VNE.js +27780 -0
  488. package/dist/scan-C8jthyct.js +523 -0
  489. package/dist/scan-DEd4q4aN.js +2 -0
  490. package/dist/secrets-cli-iBL8NBAq.js +2101 -0
  491. package/dist/security-cli-CzYBRa4n.js +486 -0
  492. package/dist/selection-BOalx5uy.js +2 -0
  493. package/dist/selection-BZFVKdFz.js +7736 -0
  494. package/dist/send-C4mKkkWW.js +156 -0
  495. package/dist/send-C_36w3lb.js +102 -0
  496. package/dist/send.runtime-vJT5TzDj.js +2 -0
  497. package/dist/send.runtime.js +1 -1
  498. package/dist/server-CBQVrNY0.js +77 -0
  499. package/dist/server-DAWF7iAc.js +13 -0
  500. package/dist/server-context-Dq2VA7I4.js +2 -0
  501. package/dist/server-context-O_WUP8OV.js +847 -0
  502. package/dist/server-node-events-B8PLg0eQ.js +481 -0
  503. package/dist/server-plugin-bootstrap-DRMyT3TQ.js +2 -0
  504. package/dist/server-plugin-bootstrap-E5PJcEA2.js +11333 -0
  505. package/dist/server-restart-sentinel-BCd6AqrQ.js +697 -0
  506. package/dist/server.impl-KAOuJEQa.js +12735 -0
  507. package/dist/service-D6nRIQp0.js +120 -0
  508. package/dist/service-audit-CuYUK6l5.js +2 -0
  509. package/dist/service-audit-FsztusUk.js +261 -0
  510. package/dist/service-fyUTnkAE.js +2 -0
  511. package/dist/session-kill-http-ChCr5CQ3.js +110 -0
  512. package/dist/session-reset-service-DsYIDYdh.js +471 -0
  513. package/dist/session-route-rem428sJ.js +93 -0
  514. package/dist/session-status.runtime-CFmGwoCm.js +2 -0
  515. package/dist/session-status.runtime.js +1 -1
  516. package/dist/session-subagent-reactivation.runtime-DLkpnURC.js +2 -0
  517. package/dist/session-subagent-reactivation.runtime.js +1 -1
  518. package/dist/session-tab-registry-DWyzIez5.js +491 -0
  519. package/dist/session-visibility-CJocpWP0.js +147 -0
  520. package/dist/sessions-helpers-CMf9gVTZ.js +304 -0
  521. package/dist/sessions-history-http-C5iZkW8x.js +383 -0
  522. package/dist/sessions-patch-2sBcHc9a.js +309 -0
  523. package/dist/sessions-resolve-D1hmolC-.js +174 -0
  524. package/dist/sessions.runtime-DMPmzLE0.js +2 -0
  525. package/dist/sessions.runtime.js +1 -1
  526. package/dist/setup-BCTvNOj1.js +495 -0
  527. package/dist/setup-api-DilgjV01.js +29 -0
  528. package/dist/setup-core-CFAiauCt.js +171 -0
  529. package/dist/setup-core-RgJfQc-C.js +176 -0
  530. package/dist/setup-surface-C0l9bHY3.js +286 -0
  531. package/dist/setup-surface-CfcFHZln.js +403 -0
  532. package/dist/setup-surface-CyDRXq_1.js +219 -0
  533. package/dist/setup.finalize-02oxjXU3.js +539 -0
  534. package/dist/setup.gateway-config-Df6Jm4vX.js +250 -0
  535. package/dist/shared-3gP_6DZV.js +76 -0
  536. package/dist/shared-C9fN-WCy.js +198 -0
  537. package/dist/shared-Cz9c46Aj.js +121 -0
  538. package/dist/slash-state-C7nXXf23.js +1911 -0
  539. package/dist/src-LnF0REtW.js +3974 -0
  540. package/dist/startup-context-CxTy7OzN.js +312 -0
  541. package/dist/status-4n9xL7HY.js +2 -0
  542. package/dist/status-BeHR7joL.js +209 -0
  543. package/dist/status-D9Njde8S.js +2 -0
  544. package/dist/status-Db2zz0yf.js +397 -0
  545. package/dist/status-QN-37T-w.js +3 -0
  546. package/dist/status-all-BiRJ-uPf.js +498 -0
  547. package/dist/status-f2DLmjOF.js +190 -0
  548. package/dist/status-json-DOq74jka.js +14 -0
  549. package/dist/status-json-command-DtaWaUPH.js +84 -0
  550. package/dist/status-runtime-shared-BgbbPlTW.js +257 -0
  551. package/dist/status-subagents.runtime-03fp3eBE.js +18 -0
  552. package/dist/status-subagents.runtime.js +1 -1
  553. package/dist/status-text-CNvz374U.js +237 -0
  554. package/dist/status.gateway-connection.runtime-zjQmormq.js +2 -0
  555. package/dist/status.gateway-connection.runtime.js +1 -1
  556. package/dist/status.gather-G7eWnGnc.js +2 -0
  557. package/dist/status.gather-nP-ItDeK.js +292 -0
  558. package/dist/status.runtime-IzRA68mh.js +2 -0
  559. package/dist/status.runtime.js +1 -1
  560. package/dist/status.scan-DjhdTOWP.js +65 -0
  561. package/dist/status.scan-overview-BYxTBsOw.js +379 -0
  562. package/dist/status.scan.fast-json-Dz0JcORG.js +2 -0
  563. package/dist/status.scan.fast-json-FroEIZ9d.js +132 -0
  564. package/dist/status.summary-3UVa_X5B.js +214 -0
  565. package/dist/status.summary-BGzGsyZB.js +2 -0
  566. package/dist/subagent-announce-BvRFZ87M.js +351 -0
  567. package/dist/subagent-announce-delivery-QvuOM46S.js +726 -0
  568. package/dist/subagent-announce-output-fOtzkOiP.js +364 -0
  569. package/dist/subagent-control-DwnzmG6T.js +506 -0
  570. package/dist/subagent-followup.runtime-DxR1eP_x.js +68 -0
  571. package/dist/subagent-followup.runtime.js +1 -1
  572. package/dist/subagent-orphan-recovery-CiBbDxX3.js +305 -0
  573. package/dist/subagent-registry-D5FrT_tn.js +3 -0
  574. package/dist/subagent-registry-DbPekx8d.js +1753 -0
  575. package/dist/subagent-registry.runtime.js +1 -1
  576. package/dist/subagent-spawn-W-bTaU9l.js +1005 -0
  577. package/dist/system-cli-B443uVHG.js +59 -0
  578. package/dist/targets-3Lcm8HoL.js +67 -0
  579. package/dist/task-executor-B5e9_Hmt.js +360 -0
  580. package/dist/task-owner-access-CIEssJ78.js +74 -0
  581. package/dist/task-registry-M1bHrFvP.js +2366 -0
  582. package/dist/task-registry-delivery-runtime-CiHBC7sJ.js +3 -0
  583. package/dist/task-registry-delivery-runtime-M4O7ffju.js +2 -0
  584. package/dist/task-registry.maintenance-BURvMU0r.js +2 -0
  585. package/dist/task-registry.maintenance-CgrLoBqi.js +416 -0
  586. package/dist/telegram/token.js +1 -1
  587. package/dist/testing-CRy_6-wt.js +575 -0
  588. package/dist/text-report-ClTof2oc.js +587 -0
  589. package/dist/tool-resolution-C52y5Qtc.js +90 -0
  590. package/dist/tools-effective-inventory-WlIlqM7G.js +152 -0
  591. package/dist/tools-invoke-http-B04Rc8tG.js +206 -0
  592. package/dist/trash-BV5Gcx3a.js +24 -0
  593. package/dist/tui-cli-DMZ07qRK.js +4575 -0
  594. package/dist/update-cli-CxZPAy-d.js +1759 -0
  595. package/dist/upgrade-C9ke1SCc.js +1226 -0
  596. package/dist/video-generation-task-status-I3jvAjUL.js +163 -0
  597. package/dist/wait-for-idle-before-flush-BZhF2ejZ.js +5986 -0
  598. package/dist/wizard-models-CMKeAr_M.js +161 -0
  599. package/package.json +1 -1
  600. package/dist/abort-Yw60gQ-C.js +0 -201
  601. package/dist/abort.runtime-DYQuut_O.js +0 -2
  602. package/dist/accounts-BSCHGPHp.js +0 -107
  603. package/dist/accounts-Bb0FqxV2.js +0 -104
  604. package/dist/accounts-BjGgx8lz.js +0 -2
  605. package/dist/acp-cli-emMnOaiO.js +0 -2193
  606. package/dist/acp-spawn-BmyUZuJX.js +0 -1093
  607. package/dist/acp-spawn-DPF5zmnN.js +0 -2
  608. package/dist/acp-stateful-target-driver-CJ4JyIHf.js +0 -89
  609. package/dist/action-agents-D1tXt8Kj.js +0 -67
  610. package/dist/action-focus-Bk6AJsNH.js +0 -132
  611. package/dist/action-help-4nFSAuVo.js +0 -7
  612. package/dist/action-info-D-byoefn.js +0 -101
  613. package/dist/action-kill-Bo-NwBVR.js +0 -33
  614. package/dist/action-list-lAa4rlzN.js +0 -21
  615. package/dist/action-log-BasoUC3L.js +0 -30
  616. package/dist/action-send-DwLkiz4x.js +0 -39
  617. package/dist/action-spawn-C70_iR8d.js +0 -47
  618. package/dist/action-unfocus-dUVMx5Fh.js +0 -29
  619. package/dist/actions.runtime-BdSo6rN8.js +0 -18
  620. package/dist/actions.runtime-BvY67XKu.js +0 -5
  621. package/dist/agent-DDBv3Vgl.js +0 -2
  622. package/dist/agent-command-DC7I_88W.js +0 -874
  623. package/dist/agent-harness-runtime-TA6YH7Ud.js +0 -144
  624. package/dist/agent-runner-utils-CMe-JIDq.js +0 -239
  625. package/dist/agent-runner.runtime-le6AmJRw.js +0 -3455
  626. package/dist/agent-runtime-CONy4fDD.js +0 -18
  627. package/dist/agents-BlbOM4XW.js +0 -953
  628. package/dist/agents-Byj8CDAP.js +0 -5
  629. package/dist/aliases-C3Ks5x38.js +0 -2
  630. package/dist/aliases-CxBcx9gF.js +0 -96
  631. package/dist/api-CLoj7nYH.js +0 -3
  632. package/dist/api-DZiRkVPk.js +0 -5
  633. package/dist/api-_Y4nIHNo.js +0 -139
  634. package/dist/approval-gateway-resolver-Ba_2kb3B.js +0 -29
  635. package/dist/approval-gateway-runtime-7VMivk0A.js +0 -2
  636. package/dist/approval-handler-runtime-Bh0onoHD.js +0 -439
  637. package/dist/approval-native-runtime-IYFyT8Hf.js +0 -729
  638. package/dist/attempt-execution.runtime-CpL2tsYd.js +0 -509
  639. package/dist/attempt.prompt-helpers-Gx9nGKbW.js +0 -221
  640. package/dist/attempt.tool-run-context-BmuljBMs.js +0 -933
  641. package/dist/audit-CsjqOEVE.js +0 -939
  642. package/dist/audit.runtime-BybEaYH4.js +0 -7
  643. package/dist/auth-BFbLz2gx.js +0 -383
  644. package/dist/auth-DdoNShRm.js +0 -2
  645. package/dist/auth-order-CtO2WQTH.js +0 -2
  646. package/dist/auth-order-zXIiW-Cn.js +0 -96
  647. package/dist/bash-tools-CnDYSbnX.js +0 -2824
  648. package/dist/bash-tools-DiOcKaak.js +0 -3
  649. package/dist/binding-routing-E9Gh_NqO.js +0 -85
  650. package/dist/binding-targets-C5PbBaZ6.js +0 -121
  651. package/dist/bridge-server-DragdaQD.js +0 -113
  652. package/dist/browser-control-auth-D_M31xJ1.js +0 -2
  653. package/dist/browser-node-runtime-Bgu82luB.js +0 -12
  654. package/dist/browser-profiles-C3ffkgOt.js +0 -2
  655. package/dist/browser-runtime-D84IBo4A.js +0 -387
  656. package/dist/browser-setup-tools-VC7rGCyn.js +0 -13
  657. package/dist/build-DeGDX_pJ.js +0 -550
  658. package/dist/call-CbvF41H8.js +0 -3
  659. package/dist/call-DuDGOVT1.js +0 -331
  660. package/dist/call.runtime-DztWXjMr.js +0 -2
  661. package/dist/capability-cli-DoJLi3eS.js +0 -1401
  662. package/dist/catchup-Dk-5hIwm.js +0 -300
  663. package/dist/channel-BJ9iEC4Y.js +0 -595
  664. package/dist/channel-BdvsbgZE.js +0 -453
  665. package/dist/channel-Bu-7KaIx.js +0 -1802
  666. package/dist/channel-C9vQNMK1.js +0 -350
  667. package/dist/channel-CZoVAZyW.js +0 -491
  668. package/dist/channel-Cr2KTwyo.js +0 -840
  669. package/dist/channel-DCeC6AEQ.js +0 -297
  670. package/dist/channel-DOGp2TfT.js +0 -1320
  671. package/dist/channel-Dfq1lxxI.js +0 -226
  672. package/dist/channel-core-DiltAzdr.js +0 -5
  673. package/dist/channel-hZDaTBpm.js +0 -1100
  674. package/dist/channel-inbound-DvOS-Z1s.js +0 -31
  675. package/dist/channel-plugin-runtime-PFRHQ61T.js +0 -771
  676. package/dist/channel-runtime-BAjxIEfQ.js +0 -425
  677. package/dist/channel-szBwbQZB.js +0 -1174
  678. package/dist/channel.runtime-B1Ry35gt.js +0 -89
  679. package/dist/channel.runtime-BNp6GxaQ.js +0 -34702
  680. package/dist/channel.runtime-BfjvNvbj.js +0 -2364
  681. package/dist/channel.runtime-BlGn4QYV.js +0 -4
  682. package/dist/channel.runtime-D7bv5rJl.js +0 -576
  683. package/dist/channel.runtime-DQ5gSgeW.js +0 -109
  684. package/dist/channel.runtime-IxClQMdT.js +0 -430
  685. package/dist/channel.setup-BsfyGPgV.js +0 -10
  686. package/dist/channels-Dn2VHRmZ.js +0 -733
  687. package/dist/channels-cli-l4xjPvDv.js +0 -268
  688. package/dist/chat-zUeX8mQw.js +0 -2758
  689. package/dist/clawbot-cli-C3BFdHJB.js +0 -9
  690. package/dist/cli-BTnpFsj1.js +0 -2
  691. package/dist/cli-CAFQ6Cwy.js +0 -72
  692. package/dist/cli-CiqIbwtg.js +0 -219
  693. package/dist/cli-DL1ppK38.js +0 -2
  694. package/dist/cli-runner-DO6lEPJr.js +0 -286
  695. package/dist/cli-runner.runtime-B-Ic4DyC.js +0 -3
  696. package/dist/cli-runner.runtime-C4cAORcg.js +0 -4
  697. package/dist/cli.runtime-CYHctHVS.js +0 -1261
  698. package/dist/client-Bb_miREU.js +0 -138
  699. package/dist/client-CrPccv7a.js +0 -713
  700. package/dist/command-auth-B7P-1IeA.js +0 -76
  701. package/dist/command-config-resolution-BB-SsCob.js +0 -23
  702. package/dist/command-config-resolution-DMKYb0Kh.js +0 -2
  703. package/dist/command-config-resolution.runtime-Coeaa9lz.js +0 -2
  704. package/dist/command-registry-B2JzWHqy.js +0 -9
  705. package/dist/command-registry-CNUpJUp8.js +0 -4
  706. package/dist/command-registry-core-BLap9aka.js +0 -101
  707. package/dist/command-secret-gateway-ChRXthnT.js +0 -528
  708. package/dist/command-status.runtime-D8VWyC3v.js +0 -87
  709. package/dist/commands-acp-QLk1cU5f.js +0 -77
  710. package/dist/commands-compact.runtime-BIHG2RSY.js +0 -10
  711. package/dist/commands-handlers.runtime-DjimbxSJ.js +0 -4597
  712. package/dist/commands-status-DiIQSYSt.js +0 -16
  713. package/dist/commands-status.runtime-DBRxICN6.js +0 -3
  714. package/dist/commands-subagents-control.runtime-BmqXiKHu.js +0 -3
  715. package/dist/commands-subagents-control.runtime-CVQSOd8H.js +0 -2
  716. package/dist/commands-system-prompt-2qwZc3xL.js +0 -158
  717. package/dist/commands-system-prompt-Clnn_Gct.js +0 -2
  718. package/dist/commands.runtime-DAqpiDPr.js +0 -166
  719. package/dist/compact-DqOkQZYr.js +0 -1118
  720. package/dist/compact.runtime-CC_l29j4.js +0 -12
  721. package/dist/completion-cli-DZFJPSiF.js +0 -328
  722. package/dist/config-D9XEe0Cd.js +0 -251
  723. package/dist/config-cli-DVDwIjKr.js +0 -1078
  724. package/dist/configure-39oQUHuK.js +0 -1245
  725. package/dist/configure-BGD8tViZ.js +0 -2
  726. package/dist/connect-options-Fpky6zuL.js +0 -699
  727. package/dist/control-auth-BlqH4IVx.js +0 -125
  728. package/dist/control-service-CaqDohiY.js +0 -156
  729. package/dist/conversation-id-BH9GFVB2.js +0 -235
  730. package/dist/conversation-id-UdIegcf4.js +0 -38
  731. package/dist/conversation-runtime-Bao0kIPf.js +0 -31
  732. package/dist/core-DXUh5Xbm.js +0 -275
  733. package/dist/cron-cli-B1mxHnGP.js +0 -713
  734. package/dist/daemon-cli-CaHBNwMy.js +0 -12
  735. package/dist/daemon-install-BBwOxf1q.js +0 -64
  736. package/dist/delegate-7G7R4C-C.js +0 -64
  737. package/dist/detached-task-runtime-BMdSrcuz.js +0 -73
  738. package/dist/devices-cli-DnEQH3R2.js +0 -496
  739. package/dist/diagnostics-C8VwSDtU.js +0 -154
  740. package/dist/direct-dm-BSEkIiOe.js +0 -64
  741. package/dist/dispatch-1gv6It-6.js +0 -1131
  742. package/dist/dispatch-acp-hbhR9aHr.js +0 -981
  743. package/dist/dispatch-acp-manager.runtime-BXQbK1cO.js +0 -3
  744. package/dist/dispatch-acp.runtime-Dhx090J2.js +0 -19
  745. package/dist/doctor-device-pairing-1gf3tk3g.js +0 -307
  746. package/dist/doctor-gateway-daemon-flow-LEnN6pL-.js +0 -250
  747. package/dist/doctor-gateway-health-DwxLkTV4.js +0 -60
  748. package/dist/doctor-gateway-services-BhqUOY_e.js +0 -316
  749. package/dist/doctor-health-CdJkaUYf.js +0 -59
  750. package/dist/doctor-health-contributions-BaTnIzCT.js +0 -486
  751. package/dist/doctor-prompter-BZTb5rOn.js +0 -56
  752. package/dist/doctor-workspace-status-DnBARoPa.js +0 -75
  753. package/dist/dreaming-BAGFdUxh.js +0 -1574
  754. package/dist/dreaming-narrative-XoOfVb0x.js +0 -595
  755. package/dist/embedded-gateway-stub.runtime-xwZ-M7Ei.js +0 -9
  756. package/dist/exec-approvals-cli-CWVWSMk-.js +0 -498
  757. package/dist/fallbacks-BKA5XrxA.js +0 -31
  758. package/dist/fallbacks-QvezaDAr.js +0 -2
  759. package/dist/fallbacks-shared-DS-qTOLR.js +0 -111
  760. package/dist/gateway-C0YHaLXO.js +0 -115
  761. package/dist/gateway-cli-DJBCD8J5.js +0 -1325
  762. package/dist/gateway-rpc-CmJXd4SU.js +0 -14
  763. package/dist/gateway-rpc.runtime-C9Fs2mSx.js +0 -23
  764. package/dist/gateway-runtime-Bm2_MhFn.js +0 -15
  765. package/dist/gateway-status-DXKMKFtB.js +0 -584
  766. package/dist/genesis-tools-AolFZ-0I.js +0 -8999
  767. package/dist/genesis-tools.runtime-CBWXJqzw.js +0 -2
  768. package/dist/get-reply-BpxjHQBp.js +0 -3879
  769. package/dist/get-reply-from-config.runtime-DJKEqLSi.js +0 -2
  770. package/dist/graph-users-D2Q5UTGQ.js +0 -1337
  771. package/dist/health-BNKpuAPB.js +0 -469
  772. package/dist/health-BkxZfKx8.js +0 -3
  773. package/dist/heartbeat-runner-Bdu2q6k3.js +0 -5
  774. package/dist/heartbeat-runner-C0B-c-fv.js +0 -1292
  775. package/dist/heartbeat-runner.runtime-Cic23eNy.js +0 -4
  776. package/dist/hooks-cli-BfCr2In5.js +0 -433
  777. package/dist/image-fallbacks-Dgy-LmDo.js +0 -2
  778. package/dist/image-fallbacks-RlfTqOne.js +0 -31
  779. package/dist/inbound-reply-dispatch-D4KJHWLG.js +0 -73
  780. package/dist/infra-runtime-BTJv3KK8.js +0 -39
  781. package/dist/init-q4INH9uv.js +0 -59
  782. package/dist/install-BT4BNeMX.js +0 -190
  783. package/dist/install.runtime-BnqPyIyn.js +0 -2
  784. package/dist/launchd-BM_37PLv.js +0 -698
  785. package/dist/library-DGd4UZKC.js +0 -45
  786. package/dist/lifecycle-B_RLw4uY.js +0 -229
  787. package/dist/lifecycle-Bw01evSl.js +0 -571
  788. package/dist/lifecycle-core-CTjCo-k0.js +0 -422
  789. package/dist/lifecycle.runtime-BxpD2Ol7.js +0 -2
  790. package/dist/list-BXa4zUF-.js +0 -2
  791. package/dist/list-BugTSXmQ.js +0 -131
  792. package/dist/list-CgC_rsta.js +0 -1201
  793. package/dist/list-D2sk1YPs.js +0 -2
  794. package/dist/list.probe-C6zfgLdG.js +0 -419
  795. package/dist/llm-slug-generator-DsWJvqNx.js +0 -79
  796. package/dist/load-config-D6ZKPY7I.js +0 -35
  797. package/dist/local-dispatch.runtime-MWMxyZKj.js +0 -8
  798. package/dist/logs-cli-Dn-8jl3z.js +0 -265
  799. package/dist/logs-cli.runtime-DwsccWUJ.js +0 -2
  800. package/dist/main-session-restart-recovery-6Uh4W8ZJ.js +0 -206
  801. package/dist/managed-image-attachments-DHawPS1-.js +0 -2
  802. package/dist/managed-image-attachments-DjtxwZ9o.js +0 -635
  803. package/dist/manager-D0tkR46e.js +0 -2057
  804. package/dist/manager-g_P1RDky.js +0 -2
  805. package/dist/markdown-to-line-7AxR7QFo.js +0 -790
  806. package/dist/mcp-cli-Cw2XQMOA.js +0 -725
  807. package/dist/mcp-http-DFKqya8U.js +0 -529
  808. package/dist/memory-core-host-runtime-cli-DaAsOXiU.js +0 -9
  809. package/dist/message-BDCG7eWj.js +0 -232
  810. package/dist/message-action-runner-6C7kXcC9.js +0 -2
  811. package/dist/message-action-runner-C2P3efhU.js +0 -1407
  812. package/dist/message-actions-BWQWt5gT.js +0 -143
  813. package/dist/message.gateway.runtime-BXChuYAf.js +0 -2
  814. package/dist/models-auth-status-B8lnM1PS.js +0 -201
  815. package/dist/models-cli-DbUA18AN.js +0 -219
  816. package/dist/monitor-BEJe2ceJ.js +0 -1237
  817. package/dist/monitor-BO9i6U5R.js +0 -1459
  818. package/dist/monitor-BZLrxL_x.js +0 -1661
  819. package/dist/monitor-CDDxHGlD.js +0 -788
  820. package/dist/monitor-D779kLc0.js +0 -671
  821. package/dist/monitor-V5ZNCrQL.js +0 -2
  822. package/dist/monitor-auth-D2rCHNgr.js +0 -207
  823. package/dist/monitor-processing-BLbsNFVv.js +0 -1974
  824. package/dist/monitor.runtime-RrusGXVO.js +0 -2
  825. package/dist/monitor.webhook-B0DuBNWa.js +0 -180
  826. package/dist/msteams-hh9nwLlZ.js +0 -35
  827. package/dist/native-hook-relay-BygYZoeR.js +0 -519
  828. package/dist/nextcloud-talk-AadRCqXn.js +0 -17
  829. package/dist/node-cli-FF1zz0JU.js +0 -2506
  830. package/dist/node-service-f8mmgM5L.js +0 -68
  831. package/dist/nodes-cli-tQ5dpecZ.js +0 -1046
  832. package/dist/nodes-utils-BfpGcUca.js +0 -84
  833. package/dist/nodes.helpers-CMXxavTs.js +0 -34
  834. package/dist/notify-DaNP5Zyh.js +0 -315
  835. package/dist/onboard-B9hx80Dm.js +0 -632
  836. package/dist/onboard-helpers-BlPrFJHK.js +0 -204
  837. package/dist/onboard-helpers-kL8mgUkl.js +0 -6
  838. package/dist/onboard-remote-ByHuQd1m.js +0 -193
  839. package/dist/onboard-remote-CRPXcrWy.js +0 -2
  840. package/dist/onboard-skills-ChtyNRCd.js +0 -2
  841. package/dist/onboard-skills-DROlYXya.js +0 -134
  842. package/dist/openai-http-2An5HAJU.js +0 -500
  843. package/dist/openresponses-http-DpbJXZP4.js +0 -1128
  844. package/dist/operator-approvals-client-BoN_VmkB.js +0 -68
  845. package/dist/outbound.runtime-D_aebUn6.js +0 -2
  846. package/dist/pair-command-approve-i-1VECJx.js +0 -44
  847. package/dist/persistent-bindings.lifecycle-eZyKQ1D8.js +0 -85
  848. package/dist/persistent-bindings.lifecycle-mxY73TJR.js +0 -2
  849. package/dist/pi-embedded-0fErjTQ7.js +0 -2905
  850. package/dist/pi-embedded-Bc1jC2x0.js +0 -4
  851. package/dist/pi-embedded.runtime-Bn_RZ5z8.js +0 -4
  852. package/dist/pi-tool-definition-adapter-thh7LO1t.js +0 -217
  853. package/dist/pi-tools-BtlLDovQ.js +0 -1057
  854. package/dist/pi-tools.before-tool-call-BJ_X8Dq3.js +0 -2
  855. package/dist/pi-tools.before-tool-call-DdPCGWCs.js +0 -433
  856. package/dist/plugin-CdHHk4Xn.js +0 -12195
  857. package/dist/plugin-enabled-DybhbjKQ.js +0 -140
  858. package/dist/plugin-registration-Bgwpsokw.js +0 -23
  859. package/dist/plugin-service-ClhrJfT3.js +0 -2890
  860. package/dist/policy-CoqHgREn.js +0 -328
  861. package/dist/prepare.runtime-CawO_32K.js +0 -815
  862. package/dist/probe-BP3QS65i.js +0 -74
  863. package/dist/probe-BdCXAH_u.js +0 -2
  864. package/dist/probe-Cv5tXOMP.js +0 -2205
  865. package/dist/probe-D-D_1oc4.js +0 -241
  866. package/dist/probe-DO-gll0g.js +0 -2
  867. package/dist/probe-T6c0F73q.js +0 -45
  868. package/dist/probe-dxji7IxZ.js +0 -1443
  869. package/dist/program-GMPfHt5E.js +0 -111
  870. package/dist/prompt-select-styled-BvuJNEJG.js +0 -20
  871. package/dist/protocol-Batc2DmY.js +0 -2234
  872. package/dist/provider-dispatcher-CGYoOdKf.js +0 -2
  873. package/dist/provider-dispatcher-iTEDM88F.js +0 -22
  874. package/dist/qr-cli-6IxenO1C.js +0 -349
  875. package/dist/qr-cli-D63piSog.js +0 -2
  876. package/dist/reaction-runtime-api-DgwRXTz2.js +0 -116
  877. package/dist/reactions-Dnh7t4Zl.js +0 -998
  878. package/dist/register-service-commands-D7w01SKL.js +0 -71
  879. package/dist/register.agent-j1Eno4xr.js +0 -248
  880. package/dist/register.configure-ubwxTkGt.js +0 -15
  881. package/dist/register.maintenance-B7FuM_ZW.js +0 -438
  882. package/dist/register.message-QR3u9rBl.js +0 -329
  883. package/dist/register.onboard-Bdcf_lH0.js +0 -81
  884. package/dist/register.runtime-QDduc4yj.js +0 -81
  885. package/dist/register.setup-DzVV6tdQ.js +0 -150
  886. package/dist/register.status-health-sessions-Brw3VcxG.js +0 -1215
  887. package/dist/register.subclis-B8qDbqPl.js +0 -29
  888. package/dist/register.subclis-DdoN3nZi.js +0 -3
  889. package/dist/register.subclis-core-CWHmnIoe.js +0 -249
  890. package/dist/reply-dispatch-runtime-BVLvCeJ0.js +0 -13
  891. package/dist/reply-runtime-BXkvfLv_.js +0 -11
  892. package/dist/reply.runtime-BTkpxI5R.js +0 -2
  893. package/dist/restart-health-6cjrRBpF.js +0 -202
  894. package/dist/restart-health-b6Qw43Tj.js +0 -2
  895. package/dist/root-help-DDa1oEtT.js +0 -44
  896. package/dist/routes-CoCMty69.js +0 -2
  897. package/dist/routes-D9uC_Zdy.js +0 -3341
  898. package/dist/rpc-DpLGM3FH.js +0 -61
  899. package/dist/rpc.runtime-B27EA5A0.js +0 -21
  900. package/dist/run-delivery.runtime-OmILefLX.js +0 -530
  901. package/dist/run-embedded.runtime-Dc43u_Z7.js +0 -4
  902. package/dist/run-execution-cli.runtime-DL5w7Ac8.js +0 -4
  903. package/dist/run-executor.runtime-Bzwt0zP-.js +0 -277
  904. package/dist/run-main-BLD1wTLU.js +0 -516
  905. package/dist/run-subagent-registry.runtime-CddCeg6W.js +0 -2
  906. package/dist/run-wait-D4Gxuyru.js +0 -135
  907. package/dist/runtime-8BuIPrSY.js +0 -973
  908. package/dist/runtime-Co8r21pw.js +0 -9
  909. package/dist/runtime-api-BG0XWkir.js +0 -4
  910. package/dist/runtime-api-BjBzlgns.js +0 -9
  911. package/dist/runtime-api-DlYbbA-n.js +0 -14
  912. package/dist/runtime-api-faT33SE2.js +0 -9
  913. package/dist/runtime-embedded-pi.runtime-QdJ7K4t0.js +0 -2
  914. package/dist/runtime-internal-C0xc_Zhf.js +0 -2
  915. package/dist/runtime-options-DLv7ygkO.js +0 -275
  916. package/dist/runtime-schema-CQK5R5Pl.js +0 -27780
  917. package/dist/scan-Yz6DoQn5.js +0 -523
  918. package/dist/scan-k38hL_6o.js +0 -2
  919. package/dist/secrets-cli-Bjvr0bOw.js +0 -2101
  920. package/dist/security-cli-C2gkMFcB.js +0 -486
  921. package/dist/selection-DC8EXnRg.js +0 -7736
  922. package/dist/selection-DmSFI5k4.js +0 -2
  923. package/dist/send-CT6EfHrc.js +0 -102
  924. package/dist/send-_ANvjE_C.js +0 -156
  925. package/dist/send.runtime-COIjG4BV.js +0 -2
  926. package/dist/server-COkv9Si4.js +0 -13
  927. package/dist/server-DHLQZJL8.js +0 -77
  928. package/dist/server-context-6jnr-aAw.js +0 -2
  929. package/dist/server-context-DK1QsdLh.js +0 -847
  930. package/dist/server-node-events-q8H0odkq.js +0 -481
  931. package/dist/server-plugin-bootstrap-Bw4a88yA.js +0 -2
  932. package/dist/server-plugin-bootstrap-By_w9ngt.js +0 -11333
  933. package/dist/server-restart-sentinel-CGLYF3mk.js +0 -697
  934. package/dist/server.impl-8j4SImks.js +0 -12735
  935. package/dist/service-CNjb_qXC.js +0 -2
  936. package/dist/service-CyR3mZIU.js +0 -120
  937. package/dist/service-audit-DIL0OiMa.js +0 -260
  938. package/dist/service-audit-pwloDggS.js +0 -2
  939. package/dist/session-kill-http-Dek5w0Ee.js +0 -110
  940. package/dist/session-reset-service-B_9Ps0kr.js +0 -471
  941. package/dist/session-route-Cr6vOd9_.js +0 -93
  942. package/dist/session-status.runtime-C_x1MHH5.js +0 -2
  943. package/dist/session-subagent-reactivation.runtime-BKWuNild.js +0 -2
  944. package/dist/session-tab-registry-C08V5jx6.js +0 -491
  945. package/dist/session-visibility-D4j8hN_B.js +0 -147
  946. package/dist/sessions-helpers-DmUVRk16.js +0 -304
  947. package/dist/sessions-history-http-DN3KzEnX.js +0 -383
  948. package/dist/sessions-patch-BPtlF0Lu.js +0 -309
  949. package/dist/sessions-resolve-D6KPfG_4.js +0 -174
  950. package/dist/sessions.runtime-DGL1-G20.js +0 -2
  951. package/dist/setup-CkYiQoP0.js +0 -495
  952. package/dist/setup-api-CUGYqGNT.js +0 -29
  953. package/dist/setup-core-BmplfubJ.js +0 -171
  954. package/dist/setup-core-C5ddWpfy.js +0 -176
  955. package/dist/setup-surface-2JmEfowI.js +0 -219
  956. package/dist/setup-surface-BzHQx_GD.js +0 -403
  957. package/dist/setup-surface-DOH6kc6w.js +0 -286
  958. package/dist/setup.finalize-Ci2HBkDq.js +0 -539
  959. package/dist/setup.gateway-config-CyG_Fzaa.js +0 -250
  960. package/dist/shared-BItUH43s.js +0 -121
  961. package/dist/shared-D7diJkX6.js +0 -198
  962. package/dist/shared-DJU_HCJ1.js +0 -76
  963. package/dist/slash-state-C4YD-tLz.js +0 -1911
  964. package/dist/src-8HdytGc7.js +0 -3974
  965. package/dist/startup-context-CfcCyUU0.js +0 -312
  966. package/dist/status-B94yciC9.js +0 -397
  967. package/dist/status-BUkUYtFm.js +0 -190
  968. package/dist/status-BsHC-0MV.js +0 -2
  969. package/dist/status-D4jNATg0.js +0 -209
  970. package/dist/status-U8ut-X2Q.js +0 -2
  971. package/dist/status-all-CIzsXQnV.js +0 -498
  972. package/dist/status-json-alPkfWTd.js +0 -14
  973. package/dist/status-json-command-CAkzWzw7.js +0 -84
  974. package/dist/status-jxNdVQVZ.js +0 -3
  975. package/dist/status-runtime-shared-BSsA48i9.js +0 -257
  976. package/dist/status-subagents.runtime-hIKg6PXV.js +0 -18
  977. package/dist/status-text-BmLJrLth.js +0 -237
  978. package/dist/status.gateway-connection.runtime-Dr7HJ1wZ.js +0 -2
  979. package/dist/status.gather-DFY0T97g.js +0 -2
  980. package/dist/status.gather-e6sfNh8I.js +0 -292
  981. package/dist/status.runtime-DBvapXQS.js +0 -2
  982. package/dist/status.scan-DSpkE-Q-.js +0 -65
  983. package/dist/status.scan-overview-Dr72bkbi.js +0 -379
  984. package/dist/status.scan.fast-json-C7k_m46S.js +0 -2
  985. package/dist/status.scan.fast-json-KHh7R3wX.js +0 -132
  986. package/dist/status.summary-C4r9lkCH.js +0 -214
  987. package/dist/status.summary-D0EJwkmX.js +0 -2
  988. package/dist/subagent-announce-Bu5-8O3P.js +0 -351
  989. package/dist/subagent-announce-delivery-4hk9P48s.js +0 -726
  990. package/dist/subagent-announce-output-Csyi1-Kz.js +0 -364
  991. package/dist/subagent-control-DAeNsV_G.js +0 -506
  992. package/dist/subagent-followup.runtime-Bch92LIq.js +0 -68
  993. package/dist/subagent-orphan-recovery-mNzyr1b-.js +0 -305
  994. package/dist/subagent-registry-BMjQxBxi.js +0 -3
  995. package/dist/subagent-registry-D4DFKQCL.js +0 -1753
  996. package/dist/subagent-spawn-C13uUm47.js +0 -1005
  997. package/dist/system-cli-BU6GhJxG.js +0 -59
  998. package/dist/targets-eYkepVzz.js +0 -67
  999. package/dist/task-executor-DzJLcm4D.js +0 -360
  1000. package/dist/task-owner-access-DW9EbhjP.js +0 -74
  1001. package/dist/task-registry-DBJkAtFF.js +0 -2366
  1002. package/dist/task-registry-delivery-runtime-BdkPeGC1.js +0 -2
  1003. package/dist/task-registry-delivery-runtime-Ov88LGnv.js +0 -3
  1004. package/dist/task-registry.maintenance-BU6Z4V_9.js +0 -416
  1005. package/dist/task-registry.maintenance-sEo6eYdx.js +0 -2
  1006. package/dist/testing-B2jHeQft.js +0 -575
  1007. package/dist/text-report-HYrgZP8-.js +0 -587
  1008. package/dist/tool-resolution-BZxaDOKg.js +0 -90
  1009. package/dist/tools-effective-inventory-BCvCprpD.js +0 -152
  1010. package/dist/tools-invoke-http-Dt1rsx4a.js +0 -206
  1011. package/dist/trash-F4tvjrKS.js +0 -24
  1012. package/dist/tui-cli-DlQ1oejy.js +0 -4575
  1013. package/dist/update-cli-DHMdwQWA.js +0 -1759
  1014. package/dist/upgrade-UR-EI5pO.js +0 -1226
  1015. package/dist/video-generation-task-status-qtHrIZLt.js +0 -163
  1016. package/dist/wait-for-idle-before-flush-CYB_61O0.js +0 -5986
  1017. package/dist/wizard-models-BKqMCaCm.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-B4pK_Jpd.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-DbPzffGG.js";
13
+ import "./channel-core-DqPUhmTt.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-CCdD6_vN.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-DORmTZm_.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-DMbP4pF5.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-BPf03SN3.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-tWwM8hFw.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 };