@pixelzx/genesis 2026.7.8 → 2026.7.9

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