@pixelzx/genesis 2026.5.10-2 → 2026.5.10-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1017) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-o_hg2xtq.js +201 -0
  4. package/dist/abort.runtime-C8y_LD66.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-BaxyfsNG.js +107 -0
  7. package/dist/accounts-CBI-56kp.js +104 -0
  8. package/dist/accounts-m2xbhdqn.js +2 -0
  9. package/dist/acp-cli-BOlwnmxd.js +2193 -0
  10. package/dist/acp-spawn-BrI6X9SH.js +2 -0
  11. package/dist/acp-spawn-xahA0x4e.js +1093 -0
  12. package/dist/acp-stateful-target-driver-B0_0BB8d.js +89 -0
  13. package/dist/action-agents-BLXVAHpm.js +67 -0
  14. package/dist/action-focus-Bl80EFqG.js +132 -0
  15. package/dist/action-help-CBbcn9Xo.js +7 -0
  16. package/dist/action-info-DrggqbpC.js +101 -0
  17. package/dist/action-kill-p6a-p_Wl.js +33 -0
  18. package/dist/action-list-4o0eiRPy.js +21 -0
  19. package/dist/action-log-C2VTzCV-.js +30 -0
  20. package/dist/action-send-DQE2YhZv.js +39 -0
  21. package/dist/action-spawn-DeTOlrlr.js +47 -0
  22. package/dist/action-unfocus-CUJ_-To0.js +29 -0
  23. package/dist/actions.runtime-BME76tM1.js +18 -0
  24. package/dist/actions.runtime-DgFQtpdt.js +5 -0
  25. package/dist/actions.runtime.js +1 -1
  26. package/dist/agent-DvPQGyLY.js +2 -0
  27. package/dist/agent-command-Dv8Kifbw.js +874 -0
  28. package/dist/agent-harness-runtime-rPtHDzbH.js +144 -0
  29. package/dist/agent-runner-utils-Cwcsq2Vg.js +239 -0
  30. package/dist/agent-runner.runtime-EDmsi-tw.js +3455 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-BZ7qw7Go.js +18 -0
  33. package/dist/agents-BmdK7DYn.js +954 -0
  34. package/dist/agents-ojp3yzuP.js +5 -0
  35. package/dist/aliases-B-xkGRWv.js +2 -0
  36. package/dist/aliases-CeyLk8gs.js +96 -0
  37. package/dist/api-7RMNrU--.js +139 -0
  38. package/dist/api-DuTxAbzX.js +5 -0
  39. package/dist/api-S68mLw4i.js +3 -0
  40. package/dist/approval-gateway-resolver-D6GUSzWU.js +29 -0
  41. package/dist/approval-gateway-runtime-CLSx2pjl.js +2 -0
  42. package/dist/approval-handler-runtime-D_pDErDf.js +439 -0
  43. package/dist/approval-native-runtime-DMmho8f_.js +729 -0
  44. package/dist/attempt-execution.runtime-BiBQNA9X.js +509 -0
  45. package/dist/attempt-execution.runtime.js +1 -1
  46. package/dist/attempt.prompt-helpers-NLkGfNY6.js +221 -0
  47. package/dist/attempt.tool-run-context-DWlgJ-_O.js +933 -0
  48. package/dist/audit-UgEtgbwZ.js +939 -0
  49. package/dist/audit.runtime--guvdA_A.js +7 -0
  50. package/dist/audit.runtime.js +1 -1
  51. package/dist/auth-C50R0MRq.js +2 -0
  52. package/dist/auth-D0-jQ58t.js +383 -0
  53. package/dist/auth-order-BFJrCRu5.js +96 -0
  54. package/dist/auth-order-DSgYrJ_p.js +2 -0
  55. package/dist/bash-tools-DHuwAZ58.js +2824 -0
  56. package/dist/bash-tools-D_feNjoF.js +3 -0
  57. package/dist/binding-routing-CY1eMDau.js +85 -0
  58. package/dist/binding-targets-WwNSyphm.js +121 -0
  59. package/dist/bridge-server-D6UfpfpG.js +113 -0
  60. package/dist/browser-control-auth-D68lDX1S.js +2 -0
  61. package/dist/browser-node-runtime-CY1lVQqq.js +12 -0
  62. package/dist/browser-profiles-B49YcSoc.js +2 -0
  63. package/dist/browser-runtime-BDL147Ka.js +387 -0
  64. package/dist/browser-setup-tools-C03RsiTe.js +13 -0
  65. package/dist/build-DLN8Lh14.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-BNALogg6.js +331 -0
  70. package/dist/call-PW7UP-CK.js +3 -0
  71. package/dist/call.runtime-CYfH8MdC.js +2 -0
  72. package/dist/call.runtime.js +1 -1
  73. package/dist/capability-cli-B4UpH1T0.js +1401 -0
  74. package/dist/catchup-CXQzIWv3.js +300 -0
  75. package/dist/channel-BiZSvVcj.js +297 -0
  76. package/dist/channel-BkI_5MRp.js +453 -0
  77. package/dist/channel-BnG-E5UX.js +595 -0
  78. package/dist/channel-CNZdJ8HY.js +1174 -0
  79. package/dist/channel-COcBdBbn.js +1100 -0
  80. package/dist/channel-CQI0hLJk.js +350 -0
  81. package/dist/channel-CkoM-a7d.js +226 -0
  82. package/dist/channel-CrHTdcH4.js +840 -0
  83. package/dist/channel-DvgX6dVj.js +1320 -0
  84. package/dist/channel-HtE-iRkv.js +491 -0
  85. package/dist/channel-OequV7Gf.js +1802 -0
  86. package/dist/channel-core-ChdqmAmk.js +5 -0
  87. package/dist/channel-inbound-Q2rVZZUs.js +31 -0
  88. package/dist/channel-plugin-runtime-DaijXHro.js +771 -0
  89. package/dist/channel-runtime-y4XUEoQY.js +425 -0
  90. package/dist/channel.runtime-BrEbVLLQ.js +576 -0
  91. package/dist/channel.runtime-C9UaDpbO.js +2364 -0
  92. package/dist/channel.runtime-Ccnjrmpx.js +109 -0
  93. package/dist/channel.runtime-CerUOlEZ.js +430 -0
  94. package/dist/channel.runtime-Du87a5jR.js +89 -0
  95. package/dist/channel.runtime-FklQos16.js +4 -0
  96. package/dist/channel.runtime-pynPO2Q-.js +34702 -0
  97. package/dist/channel.runtime.js +1 -1
  98. package/dist/channel.setup-D2BshGlh.js +10 -0
  99. package/dist/channels-DXbWBAhP.js +733 -0
  100. package/dist/channels-cli-DowVHylc.js +268 -0
  101. package/dist/chat-BMLW9p0d.js +2830 -0
  102. package/dist/clawbot-cli-DYF742Fr.js +9 -0
  103. package/dist/cli/daemon-cli.js +3 -3
  104. package/dist/cli-BebcHCJY.js +219 -0
  105. package/dist/cli-BnQ5RUbX.js +2 -0
  106. package/dist/cli-CsJTitwJ.js +72 -0
  107. package/dist/cli-D1z_Lra2.js +2 -0
  108. package/dist/cli-runner-DCfEJ3Dl.js +286 -0
  109. package/dist/cli-runner.runtime-1YoJduVc.js +3 -0
  110. package/dist/cli-runner.runtime-DaIWshs8.js +4 -0
  111. package/dist/cli-runner.runtime.js +1 -1
  112. package/dist/cli-startup-metadata.json +2 -2
  113. package/dist/cli.runtime-0QJWPe0Y.js +1261 -0
  114. package/dist/cli.runtime.js +1 -1
  115. package/dist/client-BR4n6hNI.js +713 -0
  116. package/dist/client-hrT_8w_f.js +138 -0
  117. package/dist/command-auth-BI6iswCp.js +76 -0
  118. package/dist/command-config-resolution-BvDykKQ0.js +23 -0
  119. package/dist/command-config-resolution-CJz3dmjF.js +2 -0
  120. package/dist/command-config-resolution.runtime-C1xIzrMA.js +2 -0
  121. package/dist/command-config-resolution.runtime.js +1 -1
  122. package/dist/command-registry-BQh49BOI.js +9 -0
  123. package/dist/command-registry-COW3Dwow.js +4 -0
  124. package/dist/command-registry-core-Bq5tHbQ5.js +106 -0
  125. package/dist/command-secret-gateway-CWH-56qF.js +528 -0
  126. package/dist/command-status.runtime-BUceIW-k.js +87 -0
  127. package/dist/command-status.runtime.js +1 -1
  128. package/dist/commands-acp-CDM0_szW.js +77 -0
  129. package/dist/commands-compact.runtime-BpuJhNyp.js +10 -0
  130. package/dist/commands-compact.runtime.js +1 -1
  131. package/dist/commands-handlers.runtime-DikW0yB0.js +4597 -0
  132. package/dist/commands-handlers.runtime.js +1 -1
  133. package/dist/commands-status-DgbzuFLf.js +16 -0
  134. package/dist/commands-status.runtime-BtoVY07x.js +3 -0
  135. package/dist/commands-status.runtime.js +1 -1
  136. package/dist/commands-subagents-control.runtime-B1MwVPHf.js +2 -0
  137. package/dist/commands-subagents-control.runtime-CPSMKJqB.js +3 -0
  138. package/dist/commands-subagents-control.runtime.js +1 -1
  139. package/dist/commands-system-prompt-DNA0qsTv.js +2 -0
  140. package/dist/commands-system-prompt-DdoBQ8ad.js +158 -0
  141. package/dist/commands.runtime-B8F59wvr.js +166 -0
  142. package/dist/commands.runtime.js +1 -1
  143. package/dist/compact-DevuFvwc.js +1118 -0
  144. package/dist/compact.runtime-DFxdJbZX.js +12 -0
  145. package/dist/compact.runtime.js +1 -1
  146. package/dist/completion-cli-94LY3Cno.js +328 -0
  147. package/dist/config-cli-3wKyVoWG.js +1078 -0
  148. package/dist/config-x0GQmd_p.js +252 -0
  149. package/dist/configure-DXBHXi9E.js +1252 -0
  150. package/dist/configure-iqDkqwpX.js +2 -0
  151. package/dist/connect-options-pZ4TVfhD.js +699 -0
  152. package/dist/control-auth-C0_VWbFV.js +125 -0
  153. package/dist/control-service-DKz9pgNJ.js +156 -0
  154. package/dist/conversation-id-C1ZMSaUv.js +235 -0
  155. package/dist/conversation-id-Cn8LoNiS.js +38 -0
  156. package/dist/conversation-runtime-PeJkl-ts.js +31 -0
  157. package/dist/core-BXR05azh.js +275 -0
  158. package/dist/cron-cli-C9SgQQXV.js +713 -0
  159. package/dist/daemon-cli-CJ8VUS9L.js +12 -0
  160. package/dist/dashboard-B7cbYfiK.js +81 -0
  161. package/dist/dashboard-SJJ1gpY7.js +2 -0
  162. package/dist/delegate-Bb6bHoIc.js +64 -0
  163. package/dist/detached-task-runtime-DUb2_Az9.js +73 -0
  164. package/dist/devices-cli-CZLTVAzc.js +498 -0
  165. package/dist/diagnostics-CElgAkJx.js +154 -0
  166. package/dist/direct-dm-B-q3BnYs.js +64 -0
  167. package/dist/dispatch-D6RvPlwP.js +1131 -0
  168. package/dist/dispatch-acp-Bit9gfDS.js +981 -0
  169. package/dist/dispatch-acp-manager.runtime-BDYoaEzk.js +3 -0
  170. package/dist/dispatch-acp-manager.runtime.js +1 -1
  171. package/dist/dispatch-acp.runtime-9yBydATu.js +19 -0
  172. package/dist/dispatch-acp.runtime.js +1 -1
  173. package/dist/doctor-device-pairing-CALw5gAh.js +307 -0
  174. package/dist/doctor-gateway-daemon-flow-DH90Xuwv.js +250 -0
  175. package/dist/doctor-gateway-health-DLTQr7oR.js +63 -0
  176. package/dist/doctor-health-UickjAEG.js +59 -0
  177. package/dist/doctor-health-contributions-CT2_osp-.js +493 -0
  178. package/dist/doctor-prompter-CmsL_aNs.js +56 -0
  179. package/dist/doctor-workspace-status-DrfJ_CMh.js +75 -0
  180. package/dist/dreaming-BjlelMwS.js +1574 -0
  181. package/dist/dreaming-narrative-Cioh4-iE.js +595 -0
  182. package/dist/embedded-gateway-stub.runtime-D3axE_Gz.js +9 -0
  183. package/dist/embedded-gateway-stub.runtime.js +1 -1
  184. package/dist/entry.js +2 -2
  185. package/dist/exec-approvals-cli-C61OIas5.js +498 -0
  186. package/dist/execute.runtime-Dh2PQVjB.js +1363 -0
  187. package/dist/execute.runtime.js +1 -1
  188. package/dist/extensionAPI.js +1 -1
  189. package/dist/extensions/active-memory/index.js +1 -1
  190. package/dist/extensions/bluebubbles/api.js +3 -3
  191. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  192. package/dist/extensions/browser/browser-bridge.js +1 -1
  193. package/dist/extensions/browser/browser-config.js +4 -4
  194. package/dist/extensions/browser/browser-control-auth.js +2 -2
  195. package/dist/extensions/browser/browser-doctor.js +2 -2
  196. package/dist/extensions/browser/browser-maintenance.js +2 -2
  197. package/dist/extensions/browser/browser-profiles.js +2 -2
  198. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  199. package/dist/extensions/browser/index.js +1 -1
  200. package/dist/extensions/browser/plugin-registration.js +1 -1
  201. package/dist/extensions/browser/register.runtime.js +3 -3
  202. package/dist/extensions/browser/runtime-api.js +11 -11
  203. package/dist/extensions/browser/test-support.js +1 -1
  204. package/dist/extensions/device-pair/api.js +1 -1
  205. package/dist/extensions/device-pair/index.js +3 -3
  206. package/dist/extensions/device-pair/notify.js +1 -1
  207. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  208. package/dist/extensions/google-meet/index.js +2 -2
  209. package/dist/extensions/imessage/api.js +3 -3
  210. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  211. package/dist/extensions/imessage/runtime-api.js +3 -3
  212. package/dist/extensions/irc/api.js +2 -2
  213. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  214. package/dist/extensions/line/api.js +2 -2
  215. package/dist/extensions/line/channel-plugin-api.js +1 -1
  216. package/dist/extensions/line/contract-api.js +1 -1
  217. package/dist/extensions/line/runtime-api.js +4 -4
  218. package/dist/extensions/line/setup-api.js +1 -1
  219. package/dist/extensions/llm-task/index.js +2 -2
  220. package/dist/extensions/lobster/index.js +3 -3
  221. package/dist/extensions/lobster/runtime-api.js +1 -1
  222. package/dist/extensions/mattermost/api.js +1 -1
  223. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  224. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  225. package/dist/extensions/mattermost/policy-api.js +1 -1
  226. package/dist/extensions/mattermost/runtime-api.js +4 -4
  227. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  228. package/dist/extensions/memory-core/api.js +1 -1
  229. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  230. package/dist/extensions/memory-core/index.js +3 -3
  231. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  232. package/dist/extensions/msteams/api.js +1 -1
  233. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  234. package/dist/extensions/msteams/runtime-api.js +3 -3
  235. package/dist/extensions/msteams/test-api.js +1 -1
  236. package/dist/extensions/nextcloud-talk/api.js +1 -1
  237. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  238. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  239. package/dist/extensions/openshell/index.js +2 -2
  240. package/dist/extensions/signal/api.js +6 -6
  241. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  242. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  243. package/dist/extensions/signal/runtime-api.js +7 -7
  244. package/dist/extensions/skill-workshop/api.js +1 -1
  245. package/dist/extensions/skill-workshop/index.js +1 -1
  246. package/dist/extensions/synology-chat/api.js +1 -1
  247. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  248. package/dist/extensions/tlon/api.js +2 -2
  249. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  250. package/dist/extensions/tlon/runtime-api.js +1 -1
  251. package/dist/extensions/tlon/test-api.js +1 -1
  252. package/dist/extensions/twitch/api.js +1 -1
  253. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  254. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  255. package/dist/extensions/zalo/api.js +3 -3
  256. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  257. package/dist/extensions/zalo/runtime-api.js +2 -2
  258. package/dist/extensions/zalo/setup-api.js +2 -2
  259. package/dist/extensions/zalouser/api.js +3 -3
  260. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  261. package/dist/extensions/zalouser/runtime-api.js +6 -6
  262. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  263. package/dist/extensions/zalouser/test-api.js +1 -1
  264. package/dist/fallbacks-7WaQrL4w.js +2 -0
  265. package/dist/fallbacks-D030WgeJ.js +31 -0
  266. package/dist/fallbacks-shared-D0Irg6Dc.js +111 -0
  267. package/dist/gateway-Drmf7aeu.js +115 -0
  268. package/dist/gateway-cli-DzsJzCar.js +1283 -0
  269. package/dist/gateway-rpc-ByhpcN5x.js +14 -0
  270. package/dist/gateway-rpc.runtime-4zXMZEZA.js +23 -0
  271. package/dist/gateway-rpc.runtime.js +1 -1
  272. package/dist/gateway-runtime-BGIrLVc5.js +15 -0
  273. package/dist/gateway-status-Dcpg0Z1K.js +584 -0
  274. package/dist/genesis-tools-ZNGlG9Ij.js +9144 -0
  275. package/dist/genesis-tools.runtime-CSl_w_fx.js +2 -0
  276. package/dist/genesis-tools.runtime.js +1 -1
  277. package/dist/get-reply-BG-YgQgk.js +3879 -0
  278. package/dist/get-reply-from-config.runtime-CTTbEqgi.js +2 -0
  279. package/dist/get-reply-from-config.runtime.js +1 -1
  280. package/dist/graph-users-DBkBwndc.js +1337 -0
  281. package/dist/health-DP9-SUDF.js +3 -0
  282. package/dist/health-Dn4lrkX0.js +469 -0
  283. package/dist/health-route-BOUp8_1m.js +2 -0
  284. package/dist/health-route-BhuLVeKt.js +41 -0
  285. package/dist/heartbeat-runner-B5ZUS0Zj.js +1292 -0
  286. package/dist/heartbeat-runner-BIlNfweM.js +5 -0
  287. package/dist/heartbeat-runner.runtime-YmoU6ZZ3.js +4 -0
  288. package/dist/heartbeat-runner.runtime.js +1 -1
  289. package/dist/hooks-cli-hN5FtPX4.js +433 -0
  290. package/dist/image-fallbacks-Cq3R8m7Y.js +2 -0
  291. package/dist/image-fallbacks-Dd4BCf1D.js +31 -0
  292. package/dist/inbound-reply-dispatch-Be4j__jx.js +73 -0
  293. package/dist/index.js +2 -2
  294. package/dist/infra-runtime-dEG-SNc-.js +39 -0
  295. package/dist/init-C1wrook_.js +59 -0
  296. package/dist/library-B6SYgaHj.js +45 -0
  297. package/dist/lifecycle-BJuODKPo.js +229 -0
  298. package/dist/lifecycle-Dhj0KywB.js +571 -0
  299. package/dist/lifecycle.runtime-CwSjoTkX.js +2 -0
  300. package/dist/lifecycle.runtime.js +1 -1
  301. package/dist/list-Bj2cpmBs.js +1212 -0
  302. package/dist/list-CBe1cOSo.js +2 -0
  303. package/dist/list-CktR5l_P.js +2 -0
  304. package/dist/list-ydeAMfpS.js +131 -0
  305. package/dist/list.probe-0SQPzjrW.js +419 -0
  306. package/dist/llm-slug-generator-CyQx7U_Q.js +79 -0
  307. package/dist/llm-slug-generator.js +1 -1
  308. package/dist/load-config-BHd00lHp.js +35 -0
  309. package/dist/local-dispatch.runtime-CqTNOXfw.js +8 -0
  310. package/dist/local-dispatch.runtime.js +1 -1
  311. package/dist/logs-cli-BWOEA5qi.js +265 -0
  312. package/dist/logs-cli.runtime-DSIEK1BE.js +2 -0
  313. package/dist/logs-cli.runtime.js +1 -1
  314. package/dist/main-session-restart-recovery-Cfc3B2Uj.js +206 -0
  315. package/dist/managed-image-attachments-BZbPdPC8.js +2 -0
  316. package/dist/managed-image-attachments-CxLohd8A.js +635 -0
  317. package/dist/manager-Cg7vl9NG.js +2057 -0
  318. package/dist/manager-CiI4zE-D.js +2 -0
  319. package/dist/markdown-to-line-B8FYeJdD.js +790 -0
  320. package/dist/mcp/plugin-tools-serve.js +1 -1
  321. package/dist/mcp-cli-BS4_9Zoo.js +725 -0
  322. package/dist/mcp-http-wF9LvDEz.js +529 -0
  323. package/dist/memory-core-host-runtime-cli-06ivr1qR.js +9 -0
  324. package/dist/message-BzaLYgSG.js +232 -0
  325. package/dist/message-action-runner-BazMarN6.js +1407 -0
  326. package/dist/message-action-runner-Bq7rUhnL.js +2 -0
  327. package/dist/message-actions-DcnuU8Sm.js +143 -0
  328. package/dist/message.gateway.runtime-BCFg5opz.js +2 -0
  329. package/dist/message.gateway.runtime.js +1 -1
  330. package/dist/models-auth-status-6d3I6qIv.js +201 -0
  331. package/dist/models-cli-DZPcli0C.js +219 -0
  332. package/dist/monitor-BYFZsGcy.js +2 -0
  333. package/dist/monitor-C2nxTIum.js +1459 -0
  334. package/dist/monitor-CD5DZfT0.js +1237 -0
  335. package/dist/monitor-C_5rnpcO.js +1661 -0
  336. package/dist/monitor-CxPzN2U-.js +671 -0
  337. package/dist/monitor-G_A80TYD.js +788 -0
  338. package/dist/monitor-auth-Bjr6pzE-.js +207 -0
  339. package/dist/monitor-processing-Du6MiEEU.js +1974 -0
  340. package/dist/monitor.runtime-BHjQO73F.js +2 -0
  341. package/dist/monitor.runtime.js +1 -1
  342. package/dist/monitor.webhook-BU61VqG-.js +180 -0
  343. package/dist/msteams-HKEY9u2h.js +35 -0
  344. package/dist/native-hook-relay-DcIfpN38.js +519 -0
  345. package/dist/nextcloud-talk-BAwtzO7T.js +17 -0
  346. package/dist/node-cli-BM5NVTG7.js +2506 -0
  347. package/dist/nodes-cli-BAuBgmem.js +1046 -0
  348. package/dist/nodes-utils-Bs6GofNl.js +84 -0
  349. package/dist/nodes.helpers-9SdaPWam.js +34 -0
  350. package/dist/notify-bMIvLU57.js +315 -0
  351. package/dist/onboard-DZRCsQKI.js +70 -0
  352. package/dist/onboard-WrvK1ncB.js +2 -0
  353. package/dist/onboard-helpers-iMWEmZ9M.js +204 -0
  354. package/dist/onboard-helpers-nf1FCDx1.js +6 -0
  355. package/dist/onboard-interactive-BqvHTpjq.js +24 -0
  356. package/dist/onboard-non-interactive-QqRYgGmh.js +548 -0
  357. package/dist/onboard-remote-Btb7Elo9.js +2 -0
  358. package/dist/onboard-remote-YLLAXD5a.js +193 -0
  359. package/dist/onboard-skills-CbVEWgXS.js +134 -0
  360. package/dist/onboard-skills-Dlrodw-j.js +2 -0
  361. package/dist/openai-http-D9C2CUw5.js +500 -0
  362. package/dist/openresponses-http-Cm1pNnoN.js +1128 -0
  363. package/dist/operator-approvals-client-Crk-kZWE.js +68 -0
  364. package/dist/outbound.runtime-EJrjRipL.js +2 -0
  365. package/dist/outbound.runtime.js +1 -1
  366. package/dist/pair-command-approve-BEGwU4IB.js +44 -0
  367. package/dist/persistent-bindings.lifecycle-DQF-e-Qa.js +85 -0
  368. package/dist/persistent-bindings.lifecycle-lkGrqLnW.js +2 -0
  369. package/dist/pi-embedded-BDlMkZq9.js +2905 -0
  370. package/dist/pi-embedded-Duzz1mtI.js +4 -0
  371. package/dist/pi-embedded.runtime-Ct_Aa3c5.js +4 -0
  372. package/dist/pi-embedded.runtime.js +1 -1
  373. package/dist/pi-tool-definition-adapter-CZw0LtV5.js +229 -0
  374. package/dist/pi-tools-C6B-SOzB.js +1057 -0
  375. package/dist/pi-tools.before-tool-call-9joq1aHl.js +2 -0
  376. package/dist/pi-tools.before-tool-call-DNnie5TY.js +433 -0
  377. package/dist/plugin-BCPNJxM9.js +12195 -0
  378. package/dist/plugin-enabled-BjLKAsAC.js +140 -0
  379. package/dist/plugin-registration-BId8vb01.js +23 -0
  380. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  381. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  382. package/dist/plugin-sdk/acp-runtime.js +2 -2
  383. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  384. package/dist/plugin-sdk/agent-harness.js +6 -6
  385. package/dist/plugin-sdk/agent-runtime.js +2 -2
  386. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  387. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  388. package/dist/plugin-sdk/approval-runtime.js +1 -1
  389. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  390. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  391. package/dist/plugin-sdk/browser-support.js +7 -7
  392. package/dist/plugin-sdk/channel-core.js +2 -2
  393. package/dist/plugin-sdk/channel-inbound.js +2 -2
  394. package/dist/plugin-sdk/command-auth.js +1 -1
  395. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  396. package/dist/plugin-sdk/compat.js +1 -1
  397. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  398. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  399. package/dist/plugin-sdk/core.js +2 -2
  400. package/dist/plugin-sdk/direct-dm.js +1 -1
  401. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  402. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  403. package/dist/plugin-sdk/index.js +1 -1
  404. package/dist/plugin-sdk/infra-runtime.js +2 -2
  405. package/dist/plugin-sdk/irc.js +2 -2
  406. package/dist/plugin-sdk/matrix.js +1 -1
  407. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  408. package/dist/plugin-sdk/memory-core.js +2 -2
  409. package/dist/plugin-sdk/msteams.js +2 -2
  410. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  411. package/dist/plugin-sdk/nostr.js +1 -1
  412. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  413. package/dist/plugin-sdk/reply-runtime.js +4 -4
  414. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  415. package/dist/plugin-sdk/runtime.js +2 -2
  416. package/dist/plugin-sdk/session-visibility.js +1 -1
  417. package/dist/plugin-sdk/testing.js +4 -4
  418. package/dist/plugin-sdk/tlon.js +1 -1
  419. package/dist/plugin-sdk/zalo.js +1 -1
  420. package/dist/plugin-sdk/zalouser.js +1 -1
  421. package/dist/plugin-service-q43trexG.js +2892 -0
  422. package/dist/plugins/runtime/index.js +1 -1
  423. package/dist/policy-B4NUBI6t.js +328 -0
  424. package/dist/postinstall-inventory.json +417 -417
  425. package/dist/prepare.runtime-_zemfjv3.js +815 -0
  426. package/dist/prepare.runtime.js +1 -1
  427. package/dist/probe-BY3B9tTH.js +2205 -0
  428. package/dist/probe-BvnxVXPF.js +2 -0
  429. package/dist/probe-BxfJkCo7.js +1443 -0
  430. package/dist/probe-CVdSkKEj.js +241 -0
  431. package/dist/probe-HJKXZScl.js +74 -0
  432. package/dist/probe-cSkWLlnk.js +45 -0
  433. package/dist/probe-mvSMIO0q.js +2 -0
  434. package/dist/program-B59QlcJQ.js +111 -0
  435. package/dist/prompt-select-styled-4Jq2F-H9.js +20 -0
  436. package/dist/protocol-AGt54mci.js +2335 -0
  437. package/dist/provider-dispatcher-CP48ghhH.js +2 -0
  438. package/dist/provider-dispatcher-DEGzYrP8.js +22 -0
  439. package/dist/qr-cli-l0w87b13.js +349 -0
  440. package/dist/qr-cli-rJZ8om76.js +2 -0
  441. package/dist/reaction-runtime-api-Bkt3VyFC.js +116 -0
  442. package/dist/reactions-m2szYDeb.js +998 -0
  443. package/dist/register-service-commands-BW-5D4CL.js +71 -0
  444. package/dist/register.agent-0oONdLoj.js +248 -0
  445. package/dist/register.configure-DJgbhQEd.js +15 -0
  446. package/dist/register.maintenance-qDzsg7Rx.js +363 -0
  447. package/dist/register.message-D3IcSeh2.js +329 -0
  448. package/dist/register.onboard-712D2YIY.js +88 -0
  449. package/dist/register.runtime-9LgalpKP.js +81 -0
  450. package/dist/register.runtime.js +1 -1
  451. package/dist/register.setup-olmzCf4M.js +150 -0
  452. package/dist/register.status-health-sessions-BcSscPyw.js +1215 -0
  453. package/dist/register.subclis-Cb_7jF2M.js +29 -0
  454. package/dist/register.subclis-DohysWLE.js +3 -0
  455. package/dist/register.subclis-core-Db1skJ4w.js +249 -0
  456. package/dist/register.wallet-WGlu7P0C.js +271 -0
  457. package/dist/reply-dispatch-runtime-C6kPvDIT.js +13 -0
  458. package/dist/reply-runtime-m8R8imuO.js +11 -0
  459. package/dist/reply.runtime-yz20DuV3.js +2 -0
  460. package/dist/reply.runtime.js +1 -1
  461. package/dist/restart-health-B3BG9cWC.js +2 -0
  462. package/dist/restart-health-Blxs74k_.js +202 -0
  463. package/dist/root-help-CtdC-lhj.js +44 -0
  464. package/dist/routes-DlHk_d4H.js +2 -0
  465. package/dist/routes-vuPJqxDc.js +3341 -0
  466. package/dist/rpc-CvdOvi6M.js +61 -0
  467. package/dist/rpc.runtime-BTkO-5N6.js +21 -0
  468. package/dist/rpc.runtime.js +1 -1
  469. package/dist/run-delivery.runtime-Bu0IyFs-.js +530 -0
  470. package/dist/run-delivery.runtime.js +1 -1
  471. package/dist/run-embedded.runtime-Bptomyr6.js +4 -0
  472. package/dist/run-embedded.runtime.js +1 -1
  473. package/dist/run-execution-cli.runtime-DVoDazG0.js +4 -0
  474. package/dist/run-execution-cli.runtime.js +1 -1
  475. package/dist/run-executor.runtime-LRWKlZ-B.js +277 -0
  476. package/dist/run-executor.runtime.js +1 -1
  477. package/dist/run-main-C-5waIfA.js +567 -0
  478. package/dist/run-subagent-registry.runtime-eNmO4Ulf.js +2 -0
  479. package/dist/run-subagent-registry.runtime.js +1 -1
  480. package/dist/run-wait-CYFrtm-o.js +135 -0
  481. package/dist/runtime-BRPRR2hE.js +973 -0
  482. package/dist/runtime-CokulBmy.js +9 -0
  483. package/dist/runtime-api-BJ2r-OR5.js +14 -0
  484. package/dist/runtime-api-BfGhe369.js +9 -0
  485. package/dist/runtime-api-Bfjma1I2.js +9 -0
  486. package/dist/runtime-api-CxY0DKnr.js +4 -0
  487. package/dist/runtime-embedded-pi.runtime-BvnxDutF.js +2 -0
  488. package/dist/runtime-embedded-pi.runtime.js +1 -1
  489. package/dist/runtime-internal-BIVfP__L.js +2 -0
  490. package/dist/runtime-options-BljbnMxi.js +275 -0
  491. package/dist/runtime-schema-Dyv3hS1d.js +27938 -0
  492. package/dist/scan-D9X5Lj0l.js +523 -0
  493. package/dist/scan-M3OixEI7.js +2 -0
  494. package/dist/secrets-cli-fpxI67tT.js +2101 -0
  495. package/dist/security-cli-B9FOJsn-.js +486 -0
  496. package/dist/selection-CFlY2XMr.js +2 -0
  497. package/dist/selection-CdRMYsTR.js +7736 -0
  498. package/dist/send-BHKn9mJM.js +156 -0
  499. package/dist/send-CSAuufSI.js +102 -0
  500. package/dist/send.runtime-Csjbw0LF.js +2 -0
  501. package/dist/send.runtime.js +1 -1
  502. package/dist/server-CtGKkNXK.js +77 -0
  503. package/dist/server-QZSxYkIl.js +13 -0
  504. package/dist/server-context-CCzwJPYE.js +847 -0
  505. package/dist/server-context-SQimgHbw.js +2 -0
  506. package/dist/server-node-events-Bw07_egU.js +481 -0
  507. package/dist/server-plugin-bootstrap-BxVzrft3.js +2 -0
  508. package/dist/server-plugin-bootstrap-Ma9J_GSY.js +11652 -0
  509. package/dist/server-restart-sentinel-n_4jiXSF.js +697 -0
  510. package/dist/server.impl-CY_ZY-Mq.js +12822 -0
  511. package/dist/service-CPRBqblN.js +1446 -0
  512. package/dist/session-kill-http-bilLl8tM.js +110 -0
  513. package/dist/session-reset-service-DHbmMELT.js +471 -0
  514. package/dist/session-route-CHPZxwZH.js +93 -0
  515. package/dist/session-status.runtime-Cco6tPQ0.js +2 -0
  516. package/dist/session-status.runtime.js +1 -1
  517. package/dist/session-subagent-reactivation.runtime-D8SYYjgF.js +2 -0
  518. package/dist/session-subagent-reactivation.runtime.js +1 -1
  519. package/dist/session-tab-registry-9W3qSiwY.js +581 -0
  520. package/dist/session-visibility-Csvz8y2g.js +147 -0
  521. package/dist/sessions-helpers-DJtsPRok.js +304 -0
  522. package/dist/sessions-history-http-BwN8qdVu.js +383 -0
  523. package/dist/sessions-patch-Cn6ICCbl.js +309 -0
  524. package/dist/sessions-resolve-DkokaXLV.js +174 -0
  525. package/dist/sessions.runtime-CUhGDDdQ.js +2 -0
  526. package/dist/sessions.runtime.js +1 -1
  527. package/dist/setup-CXrByuF0.js +505 -0
  528. package/dist/setup-api-CAUnAQYK.js +29 -0
  529. package/dist/setup-core-0kUhQgXj.js +171 -0
  530. package/dist/setup-core-CgIvNnqV.js +176 -0
  531. package/dist/setup-surface-BICUCTSY.js +219 -0
  532. package/dist/setup-surface-CWN6fRnj.js +286 -0
  533. package/dist/setup-surface-DAO84q-l.js +403 -0
  534. package/dist/setup.finalize-Cz-xAyXq.js +547 -0
  535. package/dist/setup.gateway-config-B_6xO6qg.js +250 -0
  536. package/dist/shared-54WHS6Zf.js +198 -0
  537. package/dist/shared-BM7A3tRo.js +121 -0
  538. package/dist/shared-ZX79gVvR.js +76 -0
  539. package/dist/slash-state-D9XJzIhC.js +1911 -0
  540. package/dist/src-CeLenBVS.js +3974 -0
  541. package/dist/startup-context-ExpfHx39.js +312 -0
  542. package/dist/status-B3pfZ-ob.js +2 -0
  543. package/dist/status-BxtYUkFv.js +209 -0
  544. package/dist/status-CBKaYlp2.js +397 -0
  545. package/dist/status-DXMGfco1.js +3 -0
  546. package/dist/status-Dveq2FJA.js +190 -0
  547. package/dist/status-all-C0Rv7_MK.js +498 -0
  548. package/dist/status-json-command-FP5kOrjW.js +84 -0
  549. package/dist/status-json-jAko1YQ3.js +14 -0
  550. package/dist/status-ooCzELGj.js +2 -0
  551. package/dist/status-runtime-shared-t7ZNH_at.js +257 -0
  552. package/dist/status-subagents.runtime-B0-FFd7k.js +18 -0
  553. package/dist/status-subagents.runtime.js +1 -1
  554. package/dist/status-text-D5Wb2Eyv.js +237 -0
  555. package/dist/status.gateway-connection.runtime-DX3GFQOy.js +2 -0
  556. package/dist/status.gateway-connection.runtime.js +1 -1
  557. package/dist/status.gather-BLaJs7JK.js +292 -0
  558. package/dist/status.gather-DXcgE-uZ.js +2 -0
  559. package/dist/status.runtime-BW8lvcAk.js +2 -0
  560. package/dist/status.runtime.js +1 -1
  561. package/dist/status.scan-CqSxwChE.js +65 -0
  562. package/dist/status.scan-overview-C50E8dW7.js +379 -0
  563. package/dist/status.scan.fast-json-DZD93o5C.js +132 -0
  564. package/dist/status.scan.fast-json-aLbUp_Zj.js +2 -0
  565. package/dist/status.summary-CSXp0VuE.js +2 -0
  566. package/dist/status.summary-CZhlDozR.js +214 -0
  567. package/dist/subagent-announce-DQNhTREe.js +351 -0
  568. package/dist/subagent-announce-delivery-DzexQBXL.js +726 -0
  569. package/dist/subagent-announce-output-DHdUIOLb.js +364 -0
  570. package/dist/subagent-control-BIHPVfEC.js +506 -0
  571. package/dist/subagent-followup.runtime-B2vIi_N7.js +68 -0
  572. package/dist/subagent-followup.runtime.js +1 -1
  573. package/dist/subagent-orphan-recovery-acE2Akzk.js +305 -0
  574. package/dist/subagent-registry-DscgS64s.js +1753 -0
  575. package/dist/subagent-registry-VBEsKIg8.js +3 -0
  576. package/dist/subagent-registry.runtime.js +1 -1
  577. package/dist/subagent-spawn-ClpDxVim.js +1005 -0
  578. package/dist/system-cli-Cwoirti-.js +59 -0
  579. package/dist/targets-Du7kf5pU.js +67 -0
  580. package/dist/task-executor-Cex7gyKp.js +360 -0
  581. package/dist/task-owner-access-CfZCzFm8.js +74 -0
  582. package/dist/task-registry-delivery-runtime-7UMu_ADx.js +3 -0
  583. package/dist/task-registry-delivery-runtime-anQhKoeF.js +2 -0
  584. package/dist/task-registry-dsUR7cO8.js +2366 -0
  585. package/dist/task-registry.maintenance-8t06izZG.js +416 -0
  586. package/dist/task-registry.maintenance-BKCkUElL.js +2 -0
  587. package/dist/telegram/token.js +1 -1
  588. package/dist/testing-XS9mU0gy.js +575 -0
  589. package/dist/text-report-CW3trTAs.js +587 -0
  590. package/dist/tool-resolution-CbhdQ1Hc.js +90 -0
  591. package/dist/tools-effective-inventory-C-fhTbL3.js +152 -0
  592. package/dist/tools-invoke-http-DwLDiTC-.js +206 -0
  593. package/dist/trash-BPfwuXw1.js +24 -0
  594. package/dist/tui-cli-CwcpeUI3.js +4575 -0
  595. package/dist/update-cli-C7wZCVxw.js +1759 -0
  596. package/dist/upgrade-I1DlWIOT.js +1226 -0
  597. package/dist/video-generation-task-status-BTNgjS3Y.js +163 -0
  598. package/dist/wait-for-idle-before-flush-jA-mGgw_.js +5986 -0
  599. package/dist/wizard-models-CJ9pSHsX.js +334 -0
  600. package/package.json +1 -1
  601. package/dist/abort-CFK2Nhip.js +0 -201
  602. package/dist/abort.runtime-BuAaxnKL.js +0 -2
  603. package/dist/accounts-CHbim_qS.js +0 -107
  604. package/dist/accounts-DtkNyn-Q.js +0 -2
  605. package/dist/accounts-J3zyVXXx.js +0 -104
  606. package/dist/acp-cli-C3I6FHf2.js +0 -2193
  607. package/dist/acp-spawn-D3xu_-rE.js +0 -1093
  608. package/dist/acp-spawn-vcfww9lP.js +0 -2
  609. package/dist/acp-stateful-target-driver-CiSxPJNY.js +0 -89
  610. package/dist/action-agents-CIlhSgnP.js +0 -67
  611. package/dist/action-focus-Cf5CQqOj.js +0 -132
  612. package/dist/action-help-B0yl4Pe2.js +0 -7
  613. package/dist/action-info-CFUHIn0u.js +0 -101
  614. package/dist/action-kill-C95CsdAp.js +0 -33
  615. package/dist/action-list-BX3RIjsZ.js +0 -21
  616. package/dist/action-log-BOalIOnb.js +0 -30
  617. package/dist/action-send-Bw-K12vK.js +0 -39
  618. package/dist/action-spawn-DSTqN3n1.js +0 -47
  619. package/dist/action-unfocus-BRGuE47t.js +0 -29
  620. package/dist/actions.runtime-5qLo-JvI.js +0 -5
  621. package/dist/actions.runtime-CB7fr1mE.js +0 -18
  622. package/dist/agent-4OUfop4W.js +0 -2
  623. package/dist/agent-command-9KZKjUCs.js +0 -874
  624. package/dist/agent-harness-runtime-Dn6m6FbT.js +0 -144
  625. package/dist/agent-runner-utils-I_WM4CKu.js +0 -239
  626. package/dist/agent-runner.runtime-CXepXPjv.js +0 -3455
  627. package/dist/agent-runtime-DPkZZoYt.js +0 -18
  628. package/dist/agents-3DAP4x-2.js +0 -954
  629. package/dist/agents-DkjDVIbt.js +0 -5
  630. package/dist/aliases-83bfbKwd.js +0 -96
  631. package/dist/aliases-CNWj4VYC.js +0 -2
  632. package/dist/api-BEjdCEtU.js +0 -5
  633. package/dist/api-CkjarVLC.js +0 -139
  634. package/dist/api-Dn4kHUcI.js +0 -3
  635. package/dist/approval-gateway-resolver-CC1SlTbX.js +0 -29
  636. package/dist/approval-gateway-runtime-d2TZtKpe.js +0 -2
  637. package/dist/approval-handler-runtime-COVHjwvD.js +0 -439
  638. package/dist/approval-native-runtime-BVIV224X.js +0 -729
  639. package/dist/attempt-execution.runtime-CszeM4rO.js +0 -509
  640. package/dist/attempt.prompt-helpers-CJwtdWVk.js +0 -221
  641. package/dist/attempt.tool-run-context-D3pOtNpQ.js +0 -933
  642. package/dist/audit-CI0PTe8o.js +0 -939
  643. package/dist/audit.runtime-CVT0pKNw.js +0 -7
  644. package/dist/auth-B6BvjceY.js +0 -383
  645. package/dist/auth-C24A8Bdb.js +0 -2
  646. package/dist/auth-order--2Z2RfgO.js +0 -2
  647. package/dist/auth-order-Cab5pbli.js +0 -96
  648. package/dist/bash-tools-D4Ow1Dnu.js +0 -3
  649. package/dist/bash-tools-N8ycn0zw.js +0 -2824
  650. package/dist/binding-routing-IdC_J5YZ.js +0 -85
  651. package/dist/binding-targets-BD3JnlsK.js +0 -121
  652. package/dist/bridge-server-DReQkRlc.js +0 -113
  653. package/dist/browser-control-auth-BDpXA4Fa.js +0 -2
  654. package/dist/browser-node-runtime-CUEWaMPj.js +0 -12
  655. package/dist/browser-profiles-CKoK0REq.js +0 -2
  656. package/dist/browser-runtime-DctmCqop.js +0 -387
  657. package/dist/browser-setup-tools-D_hWDm_d.js +0 -13
  658. package/dist/build-00dHETnB.js +0 -550
  659. package/dist/call-BEBMfrmf.js +0 -331
  660. package/dist/call-J1xym_da.js +0 -3
  661. package/dist/call.runtime-DpiL_m7V.js +0 -2
  662. package/dist/capability-cli-Dcgy6e0s.js +0 -1401
  663. package/dist/catchup-BIWAuu8n.js +0 -300
  664. package/dist/channel-1CgTIJaH.js +0 -595
  665. package/dist/channel-471U1pny.js +0 -1100
  666. package/dist/channel-B-pPhXQ4.js +0 -453
  667. package/dist/channel-BYutJYNS.js +0 -297
  668. package/dist/channel-C2g916cY.js +0 -491
  669. package/dist/channel-C5JVIEYG.js +0 -226
  670. package/dist/channel-C6PLBfBu.js +0 -1320
  671. package/dist/channel-DFhzKEOr.js +0 -1802
  672. package/dist/channel-DaaKYb-X.js +0 -350
  673. package/dist/channel-LS_UWVN6.js +0 -840
  674. package/dist/channel-UwrUqsgJ.js +0 -1174
  675. package/dist/channel-core-u67ncUuJ.js +0 -5
  676. package/dist/channel-inbound-CZj1nuJ5.js +0 -31
  677. package/dist/channel-plugin-runtime-DbjaJmEm.js +0 -771
  678. package/dist/channel-runtime-o1M6R948.js +0 -425
  679. package/dist/channel.runtime-BBqx6vVj.js +0 -430
  680. package/dist/channel.runtime-ChXnhf2V.js +0 -2364
  681. package/dist/channel.runtime-CiZ5wg5-.js +0 -89
  682. package/dist/channel.runtime-DOIkahiZ.js +0 -109
  683. package/dist/channel.runtime-DUe0Bv9U.js +0 -4
  684. package/dist/channel.runtime-DwICmfFu.js +0 -576
  685. package/dist/channel.runtime-EBX0cQWh.js +0 -34702
  686. package/dist/channel.setup-DtHhxlgN.js +0 -10
  687. package/dist/channels-ChLA3Mda.js +0 -733
  688. package/dist/channels-cli-BqXA071P.js +0 -268
  689. package/dist/chat-B0vA8pOW.js +0 -2830
  690. package/dist/clawbot-cli-BkpkeI6b.js +0 -9
  691. package/dist/cli-DLD4HPRd.js +0 -72
  692. package/dist/cli-ME5Ufp83.js +0 -219
  693. package/dist/cli-ZcCIz0qL.js +0 -2
  694. package/dist/cli-eAgnabrD.js +0 -2
  695. package/dist/cli-runner-BBu8Rh95.js +0 -286
  696. package/dist/cli-runner.runtime-VDLuf97Y.js +0 -4
  697. package/dist/cli-runner.runtime-jK2bwGDS.js +0 -3
  698. package/dist/cli.runtime-BquKQJFI.js +0 -1261
  699. package/dist/client-CDLetywx.js +0 -713
  700. package/dist/client-CvwHGzRM.js +0 -138
  701. package/dist/command-auth-BavEEGzq.js +0 -76
  702. package/dist/command-config-resolution-CgnDlwiW.js +0 -2
  703. package/dist/command-config-resolution-M1sLQtCC.js +0 -23
  704. package/dist/command-config-resolution.runtime-BjVMJcFa.js +0 -2
  705. package/dist/command-registry-BuZbFhmG.js +0 -4
  706. package/dist/command-registry-DugzbSDU.js +0 -9
  707. package/dist/command-registry-core-BF-C6kEk.js +0 -106
  708. package/dist/command-secret-gateway-DJUQmmqr.js +0 -528
  709. package/dist/command-status.runtime-Ws0MIfwY.js +0 -87
  710. package/dist/commands-acp-COM5kx3I.js +0 -77
  711. package/dist/commands-compact.runtime-ZKLATU16.js +0 -10
  712. package/dist/commands-handlers.runtime-BonxJuOb.js +0 -4597
  713. package/dist/commands-status-fYAnTzxd.js +0 -16
  714. package/dist/commands-status.runtime-NM9_L71Y.js +0 -3
  715. package/dist/commands-subagents-control.runtime-C7DNjqgK.js +0 -2
  716. package/dist/commands-subagents-control.runtime-DrvwTszJ.js +0 -3
  717. package/dist/commands-system-prompt-CF7mFq3s.js +0 -158
  718. package/dist/commands-system-prompt-DAynyctS.js +0 -2
  719. package/dist/commands.runtime-CdVSeunO.js +0 -166
  720. package/dist/compact-CQZ7fcfj.js +0 -1118
  721. package/dist/compact.runtime-QhgOP3dH.js +0 -12
  722. package/dist/completion-cli-CkA79Zyd.js +0 -328
  723. package/dist/config-B0nwYGOq.js +0 -252
  724. package/dist/config-cli-DQy3aiyu.js +0 -1078
  725. package/dist/configure-D9182v2z.js +0 -1252
  726. package/dist/configure-DFK_gG4o.js +0 -2
  727. package/dist/connect-options-ClIicH76.js +0 -699
  728. package/dist/control-auth-C9KfGTux.js +0 -125
  729. package/dist/control-service-BNB3JMwD.js +0 -156
  730. package/dist/conversation-id-BfPCu1Wm.js +0 -235
  731. package/dist/conversation-id-Btjce0dU.js +0 -38
  732. package/dist/conversation-runtime-nC5e5AUD.js +0 -31
  733. package/dist/core-cKYNneLh.js +0 -275
  734. package/dist/cron-cli-B61Ct4d1.js +0 -713
  735. package/dist/daemon-cli-BDUJ0J9c.js +0 -12
  736. package/dist/dashboard-BY0SQ1Xk.js +0 -81
  737. package/dist/dashboard-BfFLhcnp.js +0 -2
  738. package/dist/delegate-C5l7xFfl.js +0 -64
  739. package/dist/detached-task-runtime-jUnU2hI1.js +0 -73
  740. package/dist/devices-cli-C2Yk5InD.js +0 -498
  741. package/dist/diagnostics-vLNGss4R.js +0 -154
  742. package/dist/direct-dm-CY7NvWjO.js +0 -64
  743. package/dist/dispatch-acp-D7us-JIr.js +0 -981
  744. package/dist/dispatch-acp-manager.runtime-CvUvPlIu.js +0 -3
  745. package/dist/dispatch-acp.runtime-BD04s8Zg.js +0 -19
  746. package/dist/dispatch-dxndBjvg.js +0 -1131
  747. package/dist/doctor-device-pairing-BWOuDvCO.js +0 -307
  748. package/dist/doctor-gateway-daemon-flow-CfcG9HqL.js +0 -250
  749. package/dist/doctor-gateway-health-CgtIAXiV.js +0 -63
  750. package/dist/doctor-health-Dl8qTbf0.js +0 -59
  751. package/dist/doctor-health-contributions-7VvQGU8Z.js +0 -493
  752. package/dist/doctor-prompter-C1E_9epq.js +0 -56
  753. package/dist/doctor-workspace-status-D_hKwgSB.js +0 -75
  754. package/dist/dreaming-narrative-CGIhjB7J.js +0 -595
  755. package/dist/dreaming-zER_6Edx.js +0 -1574
  756. package/dist/embedded-gateway-stub.runtime-DW85g-TS.js +0 -9
  757. package/dist/exec-approvals-cli-Cw---PEd.js +0 -498
  758. package/dist/execute.runtime-g2ckBHQo.js +0 -1366
  759. package/dist/fallbacks-pV2ELjMN.js +0 -31
  760. package/dist/fallbacks-shared-w3hzF-a3.js +0 -111
  761. package/dist/fallbacks-w-04P5Ca.js +0 -2
  762. package/dist/gateway-D6iHe5yM.js +0 -115
  763. package/dist/gateway-cli-DA66EGkc.js +0 -1283
  764. package/dist/gateway-rpc-C-wnj8-r.js +0 -14
  765. package/dist/gateway-rpc.runtime-UIPl38ru.js +0 -23
  766. package/dist/gateway-runtime-4_MNp5Fb.js +0 -15
  767. package/dist/gateway-status-qhNQ0-uT.js +0 -584
  768. package/dist/genesis-tools-Zt9xVisn.js +0 -9144
  769. package/dist/genesis-tools.runtime-DOqh6dkQ.js +0 -2
  770. package/dist/get-reply-DQ0O9TtJ.js +0 -3879
  771. package/dist/get-reply-from-config.runtime-BuatHlOY.js +0 -2
  772. package/dist/graph-users-wwfIkVlV.js +0 -1337
  773. package/dist/health-Be7drwbn.js +0 -3
  774. package/dist/health-DJnGvMzg.js +0 -469
  775. package/dist/health-route-Du-tYbyy.js +0 -41
  776. package/dist/health-route-yas5DRN8.js +0 -2
  777. package/dist/heartbeat-runner-CgkBGYmZ.js +0 -1292
  778. package/dist/heartbeat-runner-DGh3rGv3.js +0 -5
  779. package/dist/heartbeat-runner.runtime-Cx_T3Yrs.js +0 -4
  780. package/dist/hooks-cli-BMwaAVjB.js +0 -433
  781. package/dist/image-fallbacks-NW-B8h53.js +0 -31
  782. package/dist/image-fallbacks-twUg-Ew1.js +0 -2
  783. package/dist/inbound-reply-dispatch-B3xJheBv.js +0 -73
  784. package/dist/infra-runtime-D0KgiuPR.js +0 -39
  785. package/dist/init-Bw8qk4Lv.js +0 -59
  786. package/dist/library-BNl9tYJG.js +0 -45
  787. package/dist/lifecycle-8ptHb58U.js +0 -571
  788. package/dist/lifecycle-CRrSobXZ.js +0 -229
  789. package/dist/lifecycle.runtime-BDtzaxrU.js +0 -2
  790. package/dist/list-C-ACwyIs.js +0 -131
  791. package/dist/list-CJ6S9iAc.js +0 -1212
  792. package/dist/list-DYwQ_Gfw.js +0 -2
  793. package/dist/list-kHLQDpvt.js +0 -2
  794. package/dist/list.probe-CBJUHqju.js +0 -419
  795. package/dist/llm-slug-generator-DLZt8Bt6.js +0 -79
  796. package/dist/load-config-D_5019M3.js +0 -35
  797. package/dist/local-dispatch.runtime-Dau5kHVW.js +0 -8
  798. package/dist/logs-cli-B1tDn7oN.js +0 -265
  799. package/dist/logs-cli.runtime-Cx4fMzWz.js +0 -2
  800. package/dist/main-session-restart-recovery-CK0sXd7f.js +0 -206
  801. package/dist/managed-image-attachments-97PVDeFD.js +0 -635
  802. package/dist/managed-image-attachments-CC4KLL8v.js +0 -2
  803. package/dist/manager-BQ31y7iX.js +0 -2057
  804. package/dist/manager-CFkV693Y.js +0 -2
  805. package/dist/markdown-to-line-zHVHdZSu.js +0 -790
  806. package/dist/mcp-cli-DJlict1A.js +0 -725
  807. package/dist/mcp-http-BARh68Sy.js +0 -529
  808. package/dist/memory-core-host-runtime-cli-BoZwOAnU.js +0 -9
  809. package/dist/message-BlYpA3Rj.js +0 -232
  810. package/dist/message-action-runner-l7HQgRsA.js +0 -2
  811. package/dist/message-action-runner-xpyTSTjc.js +0 -1407
  812. package/dist/message-actions-BYCdd6QG.js +0 -143
  813. package/dist/message.gateway.runtime-Cb8XMFan.js +0 -2
  814. package/dist/models-auth-status-D3gt082v.js +0 -201
  815. package/dist/models-cli-9FhzxcFw.js +0 -219
  816. package/dist/monitor-B0WA83w1.js +0 -788
  817. package/dist/monitor-B6-pdSFR.js +0 -671
  818. package/dist/monitor-BX1yfW2U.js +0 -2
  819. package/dist/monitor-DKv9iSX7.js +0 -1459
  820. package/dist/monitor-DNDx4gOO.js +0 -1237
  821. package/dist/monitor-DpAuHTne.js +0 -1661
  822. package/dist/monitor-auth-B42F9dgo.js +0 -207
  823. package/dist/monitor-processing-DyP1l7Er.js +0 -1974
  824. package/dist/monitor.runtime-DbcwE5XS.js +0 -2
  825. package/dist/monitor.webhook-Dthw-aQB.js +0 -180
  826. package/dist/msteams-D2mb7FnE.js +0 -35
  827. package/dist/native-hook-relay-CdaoEdNX.js +0 -519
  828. package/dist/nextcloud-talk-B18eVVV7.js +0 -17
  829. package/dist/node-cli-Ck0VwYwV.js +0 -2506
  830. package/dist/nodes-cli-DC-DcHIP.js +0 -1046
  831. package/dist/nodes-utils-BWIRDyv_.js +0 -84
  832. package/dist/nodes.helpers-BEHH7X2_.js +0 -34
  833. package/dist/notify-JkL7xdrB.js +0 -315
  834. package/dist/onboard-C5BIoHo2.js +0 -70
  835. package/dist/onboard-helpers-C2zyBKT7.js +0 -204
  836. package/dist/onboard-helpers-CaQKQFzC.js +0 -6
  837. package/dist/onboard-interactive-Bq6kHQx1.js +0 -24
  838. package/dist/onboard-non-interactive-DQFp1nqn.js +0 -548
  839. package/dist/onboard-qYbyvbbw.js +0 -2
  840. package/dist/onboard-remote-BrlKFoRp.js +0 -193
  841. package/dist/onboard-remote-CGK4Eovr.js +0 -2
  842. package/dist/onboard-skills-BOatQ3qu.js +0 -2
  843. package/dist/onboard-skills-MIp5L4Bg.js +0 -134
  844. package/dist/openai-http-BzR_snW0.js +0 -500
  845. package/dist/openresponses-http-D_qmLKbV.js +0 -1128
  846. package/dist/operator-approvals-client-BMXsikiI.js +0 -68
  847. package/dist/outbound.runtime-sBaP-y4C.js +0 -2
  848. package/dist/pair-command-approve-DJLjxT6x.js +0 -44
  849. package/dist/persistent-bindings.lifecycle-DzeMqt76.js +0 -85
  850. package/dist/persistent-bindings.lifecycle-zRaTKjMh.js +0 -2
  851. package/dist/pi-embedded-CeDhWvgx.js +0 -4
  852. package/dist/pi-embedded-DUpRXfJO.js +0 -2905
  853. package/dist/pi-embedded.runtime-DtYM7NdD.js +0 -4
  854. package/dist/pi-tool-definition-adapter-CB0HS-nc.js +0 -229
  855. package/dist/pi-tools-Bj9D94l1.js +0 -1057
  856. package/dist/pi-tools.before-tool-call-BbQkYemc.js +0 -2
  857. package/dist/pi-tools.before-tool-call-DgbBDh3b.js +0 -433
  858. package/dist/plugin-PC7i4gKf.js +0 -12195
  859. package/dist/plugin-enabled-CfTRDw44.js +0 -140
  860. package/dist/plugin-registration-B-k3D6sT.js +0 -23
  861. package/dist/plugin-service-BK8-VUTt.js +0 -2892
  862. package/dist/policy-BW0acqi4.js +0 -328
  863. package/dist/prepare.runtime-_AbiM89x.js +0 -815
  864. package/dist/probe-BMLDcZ32.js +0 -241
  865. package/dist/probe-Ba3TRP2B.js +0 -45
  866. package/dist/probe-CUiwktQB.js +0 -74
  867. package/dist/probe-DebEe8F0.js +0 -2
  868. package/dist/probe-DezLtnJj.js +0 -2
  869. package/dist/probe-V8OIWFIZ.js +0 -1443
  870. package/dist/probe-dGp0-neY.js +0 -2205
  871. package/dist/program-DW7m0H8i.js +0 -111
  872. package/dist/prompt-select-styled-jplnVzKe.js +0 -20
  873. package/dist/protocol-C83jsm03.js +0 -2335
  874. package/dist/provider-dispatcher-CE-8HFJ3.js +0 -22
  875. package/dist/provider-dispatcher-CvSHrBCK.js +0 -2
  876. package/dist/qr-cli-N0rKzCLa.js +0 -349
  877. package/dist/qr-cli-anaRAjRO.js +0 -2
  878. package/dist/reaction-runtime-api-D0RKf7dw.js +0 -116
  879. package/dist/reactions-D5tTqX43.js +0 -998
  880. package/dist/register-service-commands-DR8PFCDH.js +0 -71
  881. package/dist/register.agent-C0S6Qd9d.js +0 -248
  882. package/dist/register.configure-Syn4zjBT.js +0 -15
  883. package/dist/register.maintenance-DlWVxmgp.js +0 -363
  884. package/dist/register.message-Ca0UvwH3.js +0 -329
  885. package/dist/register.onboard-BrPnofu3.js +0 -88
  886. package/dist/register.runtime-DrxUrGzO.js +0 -81
  887. package/dist/register.setup-DgnkDiBO.js +0 -150
  888. package/dist/register.status-health-sessions-BvccPkCF.js +0 -1215
  889. package/dist/register.subclis-BybdnCZ1.js +0 -29
  890. package/dist/register.subclis-CmiGzm_7.js +0 -3
  891. package/dist/register.subclis-core-CdzVfdg9.js +0 -249
  892. package/dist/register.wallet-CY_R6-2U.js +0 -271
  893. package/dist/reply-dispatch-runtime-C1FpfnAM.js +0 -13
  894. package/dist/reply-runtime-s43-M8Jj.js +0 -11
  895. package/dist/reply.runtime-7wnQxEUw.js +0 -2
  896. package/dist/restart-health-COnZzsKp.js +0 -202
  897. package/dist/restart-health-eI6OqLsK.js +0 -2
  898. package/dist/root-help-DeQ9PX0j.js +0 -44
  899. package/dist/routes-BWEN5YAF.js +0 -2
  900. package/dist/routes-C672_WKa.js +0 -3341
  901. package/dist/rpc-B426srGJ.js +0 -61
  902. package/dist/rpc.runtime-DUM1XyRX.js +0 -21
  903. package/dist/run-delivery.runtime-CXw2jVkt.js +0 -530
  904. package/dist/run-embedded.runtime-xS-1mmyO.js +0 -4
  905. package/dist/run-execution-cli.runtime-aDPMKzJX.js +0 -4
  906. package/dist/run-executor.runtime-C4ZFsj8q.js +0 -277
  907. package/dist/run-main-4Rq8UxLR.js +0 -567
  908. package/dist/run-subagent-registry.runtime-DzAf7j8r.js +0 -2
  909. package/dist/run-wait-T_9raRki.js +0 -135
  910. package/dist/runtime-Bi-FG7ze.js +0 -973
  911. package/dist/runtime-DTEEU-FQ.js +0 -9
  912. package/dist/runtime-api-CD1uwpvJ.js +0 -4
  913. package/dist/runtime-api-CuUMmc6o.js +0 -9
  914. package/dist/runtime-api-D1I8x3ZK.js +0 -9
  915. package/dist/runtime-api-N4ICzHSN.js +0 -14
  916. package/dist/runtime-embedded-pi.runtime-TzUSObio.js +0 -2
  917. package/dist/runtime-internal-BpmmUWVj.js +0 -2
  918. package/dist/runtime-options-lwiANMrp.js +0 -275
  919. package/dist/runtime-schema-DyZs3Hqj.js +0 -27938
  920. package/dist/scan-KAzO-hG8.js +0 -523
  921. package/dist/scan-WYNB2yvG.js +0 -2
  922. package/dist/secrets-cli-V8e9noRa.js +0 -2101
  923. package/dist/security-cli-DQAHIStH.js +0 -486
  924. package/dist/selection-B1sx7E0M.js +0 -2
  925. package/dist/selection-CdYrfYRk.js +0 -7736
  926. package/dist/send-CS2Grx1T.js +0 -102
  927. package/dist/send-DD9fqnsS.js +0 -156
  928. package/dist/send.runtime-UBa9b0KL.js +0 -2
  929. package/dist/server-DTBpPcSJ.js +0 -77
  930. package/dist/server-LnjMkCwG.js +0 -13
  931. package/dist/server-context-CgUkot1S.js +0 -2
  932. package/dist/server-context-e5qiFYb9.js +0 -847
  933. package/dist/server-node-events-DGbm1S0O.js +0 -481
  934. package/dist/server-plugin-bootstrap-BAb2yBlZ.js +0 -11652
  935. package/dist/server-plugin-bootstrap-QC6Ie4eo.js +0 -2
  936. package/dist/server-restart-sentinel-CHIEkMav.js +0 -697
  937. package/dist/server.impl-smIsMGyM.js +0 -12822
  938. package/dist/service-CzJ-5DK_.js +0 -1415
  939. package/dist/session-kill-http-J_6Qu28L.js +0 -110
  940. package/dist/session-reset-service-BpBipveT.js +0 -471
  941. package/dist/session-route-CpYl3T8Y.js +0 -93
  942. package/dist/session-status.runtime-UUa0VU0y.js +0 -2
  943. package/dist/session-subagent-reactivation.runtime-L2O0yOy4.js +0 -2
  944. package/dist/session-tab-registry-DxPANUw6.js +0 -581
  945. package/dist/session-visibility-CPIadgvQ.js +0 -147
  946. package/dist/sessions-helpers-DdEWQ3o2.js +0 -304
  947. package/dist/sessions-history-http-B9AS9VFQ.js +0 -383
  948. package/dist/sessions-patch-DRBy0uu3.js +0 -309
  949. package/dist/sessions-resolve-DM6s9pot.js +0 -174
  950. package/dist/sessions.runtime-ixcVUViJ.js +0 -2
  951. package/dist/setup-BKyIGRRk.js +0 -505
  952. package/dist/setup-api-D3Djxtka.js +0 -29
  953. package/dist/setup-core-C5ITyKzA.js +0 -171
  954. package/dist/setup-core-Nm6km7jp.js +0 -176
  955. package/dist/setup-surface-BEpfVHSH.js +0 -403
  956. package/dist/setup-surface-D4gEPCHR.js +0 -219
  957. package/dist/setup-surface-DdkjjhYB.js +0 -286
  958. package/dist/setup.finalize-BOnrhqzV.js +0 -547
  959. package/dist/setup.gateway-config-CmRGTkaE.js +0 -250
  960. package/dist/shared-Bb4YCXx6.js +0 -198
  961. package/dist/shared-CZCh0WCN.js +0 -121
  962. package/dist/shared-Df0CbtUw.js +0 -76
  963. package/dist/slash-state-BQJu5tOn.js +0 -1911
  964. package/dist/src-C4ImkbSW.js +0 -3974
  965. package/dist/startup-context-nffy5sQU.js +0 -312
  966. package/dist/status-0QDxMlFq.js +0 -2
  967. package/dist/status-5OjwhqkA.js +0 -209
  968. package/dist/status-C306d1iE.js +0 -2
  969. package/dist/status-Crg2u6MB.js +0 -397
  970. package/dist/status-DMLvl7RU.js +0 -190
  971. package/dist/status-N59cRl1N.js +0 -3
  972. package/dist/status-all-WKQtyBf9.js +0 -498
  973. package/dist/status-json-C2DgeCRG.js +0 -14
  974. package/dist/status-json-command-B2k_1ZuR.js +0 -84
  975. package/dist/status-runtime-shared-ZCbKKj-y.js +0 -257
  976. package/dist/status-subagents.runtime-CmaY9hZm.js +0 -18
  977. package/dist/status-text-NR1x0nMa.js +0 -237
  978. package/dist/status.gateway-connection.runtime-DBlvpSWB.js +0 -2
  979. package/dist/status.gather-BkL7J_y1.js +0 -292
  980. package/dist/status.gather-CWbs5-z2.js +0 -2
  981. package/dist/status.runtime-BOc5e8DI.js +0 -2
  982. package/dist/status.scan-DY4x5vdB.js +0 -65
  983. package/dist/status.scan-overview-CF96KtOa.js +0 -379
  984. package/dist/status.scan.fast-json-CUQQXpr8.js +0 -2
  985. package/dist/status.scan.fast-json-Dd2Q4LW7.js +0 -132
  986. package/dist/status.summary-CfGo54T4.js +0 -214
  987. package/dist/status.summary-CyG5QMo9.js +0 -2
  988. package/dist/subagent-announce-DW816JCC.js +0 -351
  989. package/dist/subagent-announce-delivery-DgKXtDWV.js +0 -726
  990. package/dist/subagent-announce-output-BrJdNBlx.js +0 -364
  991. package/dist/subagent-control-xz3ZcUrb.js +0 -506
  992. package/dist/subagent-followup.runtime-DQS6ipTt.js +0 -68
  993. package/dist/subagent-orphan-recovery-CzwjvW_o.js +0 -305
  994. package/dist/subagent-registry-88vWnDP5.js +0 -1753
  995. package/dist/subagent-registry-B_JB7WyN.js +0 -3
  996. package/dist/subagent-spawn-ChRpfSX6.js +0 -1005
  997. package/dist/system-cli-BiYfWkTS.js +0 -59
  998. package/dist/targets-TpH8-6iR.js +0 -67
  999. package/dist/task-executor-Chx2YFYp.js +0 -360
  1000. package/dist/task-owner-access-CPMM8lVh.js +0 -74
  1001. package/dist/task-registry-Cb_XGvuS.js +0 -2366
  1002. package/dist/task-registry-delivery-runtime-6z8W4up9.js +0 -2
  1003. package/dist/task-registry-delivery-runtime-OqkDQtLj.js +0 -3
  1004. package/dist/task-registry.maintenance-Ci6oLcFg.js +0 -2
  1005. package/dist/task-registry.maintenance-i69b0iH7.js +0 -416
  1006. package/dist/testing-BmGGzr14.js +0 -575
  1007. package/dist/text-report-WpPbFau5.js +0 -587
  1008. package/dist/tool-resolution-DCK5whNz.js +0 -90
  1009. package/dist/tools-effective-inventory-CkymEUkf.js +0 -152
  1010. package/dist/tools-invoke-http-BECDcy94.js +0 -206
  1011. package/dist/trash-Cz555AtH.js +0 -24
  1012. package/dist/tui-cli-BTNsU35D.js +0 -4575
  1013. package/dist/update-cli-CEi34S-K.js +0 -1759
  1014. package/dist/upgrade-CeMGojsg.js +0 -1226
  1015. package/dist/video-generation-task-status-BGbHX8xJ.js +0 -163
  1016. package/dist/wait-for-idle-before-flush-CUNJdPz7.js +0 -5986
  1017. package/dist/wizard-models-DGVbHDnh.js +0 -334
@@ -0,0 +1,1100 @@
1
+ import { c as normalizeOptionalString, s as normalizeOptionalLowercaseString } from "./string-coerce-C1IzJjqi.js";
2
+ import { t as formatDocsLink } from "./links-DmsJCU7L.js";
3
+ import { o as hasConfiguredSecretInput, u as normalizeSecretInputString } from "./types.secrets-ews2W8BF.js";
4
+ import { n as normalizeAccountId, t as DEFAULT_ACCOUNT_ID } from "./account-id-C3j_3_su.js";
5
+ import { i as createLazyRuntimeNamedExport } from "./lazy-runtime-02MY_g6C.js";
6
+ import { a as createActionGate, f as readNumberParam, g as readStringParam, l as jsonResult, p as readReactionParams } from "./common-CxZxlH5x.js";
7
+ import { t as readBooleanParam } from "./boolean-param-Da_aRxJW.js";
8
+ import { l as createScopedDmSecurityResolver, s as createScopedChannelConfigAdapter, t as adaptScopedAccountAccessor } from "./channel-config-helpers-OWFV-v6S.js";
9
+ import "./text-runtime-CO-nDXJ1.js";
10
+ import { r as describeWebhookAccountSnapshot } from "./account-helpers-ByAGORM5.js";
11
+ import { a as createSetupInputPresenceValidator, l as patchScopedAccountConfig, u as prepareScopedSetupConfig } from "./setup-helpers-CgMDl-YH.js";
12
+ import { i as createChatChannelPlugin, t as buildChannelOutboundSessionRoute, u as stripChannelTargetPrefix } from "./core-BXR05azh.js";
13
+ import "./channel-core-ChdqmAmk.js";
14
+ import { t as createAccountStatusSink } from "./channel-lifecycle.core-kAT8FKLv.js";
15
+ import { n as formatNormalizedAllowFromEntries } from "./allow-from-Bygsv_2E.js";
16
+ import { b as createOpenGroupPolicyRestrictSendersWarningCollector, w as projectAccountWarningCollector } from "./channel-policy-g_w5qHoF.js";
17
+ import { a as createAllowFromSection, d as createPromptParsedAllowFromForAccount, f as createStandardChannelSetupStatus, t as addWildcardAllowFrom } from "./setup-wizard-helpers-CRXRiHac.js";
18
+ import { t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-DuN8JQxM.js";
19
+ import { i as createPairingPrefixStripper } from "./channel-pairing-JIQP6-23.js";
20
+ import { d as createDefaultChannelRuntimeState, h as collectIssuesForEnabledAccounts, i as buildProbeChannelStatusSummary, u as createComputedAccountStatusAdapter } from "./status-helpers-s7kNnR0u.js";
21
+ import { t as extractToolSend } from "./tool-send-C5uH9tuB.js";
22
+ import "./setup-DEuIenMF.js";
23
+ import { o as isPrivateNetworkOptInEnabled, r as createLegacyPrivateNetworkDoctorContract } from "./ssrf-policy-BMiJHn69.js";
24
+ import "./ssrf-runtime-SEjvnKap.js";
25
+ import "./channel-actions-CDzrYUpG.js";
26
+ import "./channel-lifecycle-DCFyHvPV.js";
27
+ import "./channel-status-BGa1Zh6l.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-BxfJkCo7.js";
29
+ import "./secret-input-fqToKiag.js";
30
+ import { t as BlueBubblesChannelConfigSchema } from "./config-schema-nAJdyPgP.js";
31
+ import { n as createBlueBubblesConversationBindingManager } from "./conversation-bindings-BCMjQoBV.js";
32
+ import { n as normalizeBlueBubblesAcpConversationId, r as resolveBlueBubblesConversationIdFromTarget, t as matchBlueBubblesAcpConversation } from "./conversation-id-Cn8LoNiS.js";
33
+ import { n as resolveBlueBubblesGroupToolPolicy, t as resolveBlueBubblesGroupRequireMention } from "./group-policy-CSX0sax7.js";
34
+ import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-ogOMixM6.js";
35
+ import { t as DEFAULT_WEBHOOK_PATH } from "./webhook-shared-7kIniMSI.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-BME76tM1.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-CerUOlEZ.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 };