@pixelzx/genesis 2026.7.8 → 2026.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1003) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-Cp36iDXn.js +201 -0
  4. package/dist/abort.runtime-BqMH4Ch0.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-Cj71Cowh.js +107 -0
  7. package/dist/accounts-QWkosmHS.js +104 -0
  8. package/dist/accounts-WfCxilPE.js +2 -0
  9. package/dist/acp-cli-DR-AhXGk.js +2217 -0
  10. package/dist/acp-spawn--QIKNFAi.js +2 -0
  11. package/dist/acp-spawn-C6RL4_5_.js +1042 -0
  12. package/dist/acp-stateful-target-driver-Dhv06vdx.js +89 -0
  13. package/dist/action-agents-CIt7iEZU.js +67 -0
  14. package/dist/action-focus-opQp57IZ.js +132 -0
  15. package/dist/action-help-_OV2kuH9.js +7 -0
  16. package/dist/action-info-aoU6FqoU.js +101 -0
  17. package/dist/action-kill-DFlW_b4o.js +33 -0
  18. package/dist/action-list-CAYQg5qC.js +21 -0
  19. package/dist/action-log-COWtMTRe.js +30 -0
  20. package/dist/action-send-CzGaLKxg.js +39 -0
  21. package/dist/action-spawn-D0HNlqJQ.js +47 -0
  22. package/dist/action-unfocus-BA2c_9o-.js +29 -0
  23. package/dist/actions.runtime-C-MtRkM5.js +18 -0
  24. package/dist/actions.runtime-_O63acg1.js +5 -0
  25. package/dist/actions.runtime.js +1 -1
  26. package/dist/agent-D7gQ7Xo9.js +2 -0
  27. package/dist/agent-command-ByKQHVY7.js +874 -0
  28. package/dist/agent-harness-runtime-BMjFYW9y.js +144 -0
  29. package/dist/agent-runner-utils-DJds4BS5.js +239 -0
  30. package/dist/agent-runner.runtime-DIZ31zSD.js +3443 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-CBfPv0EK.js +18 -0
  33. package/dist/agents-CV4vTeP8.js +5 -0
  34. package/dist/agents-imogqXBP.js +954 -0
  35. package/dist/aliases-BTJj8BqV.js +2 -0
  36. package/dist/aliases-Bx--0eZ4.js +96 -0
  37. package/dist/api-B2wEDg4s.js +139 -0
  38. package/dist/api-Bd2qlRZB.js +3 -0
  39. package/dist/api-C_BLyG0v.js +5 -0
  40. package/dist/approval-gateway-resolver-L5mCgEE8.js +29 -0
  41. package/dist/approval-gateway-runtime-CzzYNVSz.js +2 -0
  42. package/dist/approval-handler-runtime-DGphch5Y.js +439 -0
  43. package/dist/approval-native-runtime-DiA39Qd-.js +729 -0
  44. package/dist/attempt-execution.runtime-BR_1bcQh.js +509 -0
  45. package/dist/attempt-execution.runtime.js +1 -1
  46. package/dist/attempt.prompt-helpers-BcjLCIQW.js +206 -0
  47. package/dist/attempt.tool-run-context-CCbj8Rx9.js +933 -0
  48. package/dist/audit-gZVWGq5L.js +939 -0
  49. package/dist/audit.runtime-C24h5tOz.js +7 -0
  50. package/dist/audit.runtime.js +1 -1
  51. package/dist/auth-CVlSRgzI.js +2 -0
  52. package/dist/auth-MA9UN5hQ.js +550 -0
  53. package/dist/auth-order-BTnSGQgv.js +139 -0
  54. package/dist/auth-order-BdoWVq-E.js +2 -0
  55. package/dist/bash-tools-ByIhi7m1.js +3 -0
  56. package/dist/bash-tools-CyEIAadh.js +2853 -0
  57. package/dist/binding-routing-ZcY40RZ4.js +85 -0
  58. package/dist/binding-targets-CNRFfBh-.js +121 -0
  59. package/dist/bridge-server-C7dKRq-V.js +113 -0
  60. package/dist/browser-control-auth-BWH3BUNZ.js +2 -0
  61. package/dist/browser-node-runtime-QLZUFybf.js +12 -0
  62. package/dist/browser-profiles-BBpvhLrT.js +2 -0
  63. package/dist/browser-runtime-DhpIPNIt.js +387 -0
  64. package/dist/browser-setup-tools-DHwGt1YE.js +13 -0
  65. package/dist/build-BGXvMkW_.js +550 -0
  66. package/dist/build-info.json +3 -3
  67. package/dist/bundled/boot-md/handler.js +2 -2
  68. package/dist/bundled/session-memory/handler.js +1 -1
  69. package/dist/call-CoL9QpLf.js +330 -0
  70. package/dist/call-DUTlBMzC.js +3 -0
  71. package/dist/call.runtime-CwonrfG0.js +2 -0
  72. package/dist/call.runtime.js +1 -1
  73. package/dist/capability-cli-n36Okw1e.js +1401 -0
  74. package/dist/catchup-DKwaJXrj.js +300 -0
  75. package/dist/channel-BUjWV80s.js +491 -0
  76. package/dist/channel-Bqqe4ogf.js +1174 -0
  77. package/dist/channel-CUWOSF7I.js +1100 -0
  78. package/dist/channel-DO73puJq.js +840 -0
  79. package/dist/channel-DQb3yAT-.js +595 -0
  80. package/dist/channel-DonHeltj.js +1802 -0
  81. package/dist/channel-Dr3phGJH.js +350 -0
  82. package/dist/channel-OFr1VaIT.js +297 -0
  83. package/dist/channel-Q67N7Qga.js +453 -0
  84. package/dist/channel-QEIrCXvY.js +1320 -0
  85. package/dist/channel-TwbdYiU4.js +226 -0
  86. package/dist/channel-core-DpS9ac5M.js +5 -0
  87. package/dist/channel-inbound-BN7-W5Mp.js +31 -0
  88. package/dist/channel-plugin-runtime-Bpu2ATcW.js +771 -0
  89. package/dist/channel-runtime-DW0jiVp9.js +425 -0
  90. package/dist/channel.runtime-BIqZ_VoM.js +2364 -0
  91. package/dist/channel.runtime-BbeuZu_w.js +4 -0
  92. package/dist/channel.runtime-CUNubKGY.js +576 -0
  93. package/dist/channel.runtime-DVr4sNnj.js +42398 -0
  94. package/dist/channel.runtime-DuoIAiw0.js +89 -0
  95. package/dist/channel.runtime-FHKyPUs2.js +430 -0
  96. package/dist/channel.runtime.js +1 -1
  97. package/dist/channel.setup-DYQ46vWl.js +10 -0
  98. package/dist/channel2.runtime-45gwMiMC.js +109 -0
  99. package/dist/channel2.runtime.js +1 -1
  100. package/dist/channels-Cx87p2Mc.js +733 -0
  101. package/dist/channels-cli-Ch81ruvl.js +268 -0
  102. package/dist/chat-BvSWsydx.js +2830 -0
  103. package/dist/clawbot-cli-jsnS_FnN.js +9 -0
  104. package/dist/cli/daemon-cli.js +3 -3
  105. package/dist/cli-BWZ_fxIG.js +72 -0
  106. package/dist/cli-CyvueCG9.js +219 -0
  107. package/dist/cli-DRZG-g_Y.js +2 -0
  108. package/dist/cli-DqxnA2Tb.js +2 -0
  109. package/dist/cli-runner-DPw2qsP4.js +286 -0
  110. package/dist/cli-runner.runtime-B93gCaXR.js +4 -0
  111. package/dist/cli-runner.runtime-D3uL1Tqw.js +3 -0
  112. package/dist/cli-runner.runtime.js +1 -1
  113. package/dist/cli-startup-metadata.json +2 -2
  114. package/dist/cli.runtime-CJ-0cVHG.js +1261 -0
  115. package/dist/cli.runtime.js +1 -1
  116. package/dist/client-DZ9fRoos.js +723 -0
  117. package/dist/client-DaDWtov7.js +138 -0
  118. package/dist/command-auth-BNlTWl8C.js +76 -0
  119. package/dist/command-config-resolution-C5mMj3s6.js +2 -0
  120. package/dist/command-config-resolution-D_HiK2Df.js +23 -0
  121. package/dist/command-config-resolution.runtime-r_wK8SAB.js +2 -0
  122. package/dist/command-config-resolution.runtime.js +1 -1
  123. package/dist/command-registry-BwJMoAw8.js +9 -0
  124. package/dist/command-registry-CcPwbywf.js +4 -0
  125. package/dist/command-registry-core-BO-Zu0fZ.js +106 -0
  126. package/dist/command-secret-gateway-BOotrpN5.js +528 -0
  127. package/dist/command-status.runtime-Cnj5_5ga.js +87 -0
  128. package/dist/command-status.runtime.js +1 -1
  129. package/dist/commands-acp-Bp2GjOx3.js +77 -0
  130. package/dist/commands-compact.runtime-C3pOotHP.js +10 -0
  131. package/dist/commands-compact.runtime.js +1 -1
  132. package/dist/commands-handlers.runtime-vaz_uwzA.js +4599 -0
  133. package/dist/commands-handlers.runtime.js +1 -1
  134. package/dist/commands-status-Vd07pidW.js +16 -0
  135. package/dist/commands-status.runtime-BEKT_jrn.js +3 -0
  136. package/dist/commands-status.runtime.js +1 -1
  137. package/dist/commands-subagents-control.runtime-B8iWwqJX.js +3 -0
  138. package/dist/commands-subagents-control.runtime-Rsy5Lnz2.js +2 -0
  139. package/dist/commands-subagents-control.runtime.js +1 -1
  140. package/dist/commands-system-prompt-Bq6ojpCi.js +157 -0
  141. package/dist/commands-system-prompt-C7C6i6nq.js +2 -0
  142. package/dist/commands.runtime-B7f6s9df.js +167 -0
  143. package/dist/commands.runtime.js +1 -1
  144. package/dist/compact-wrJq7Lu7.js +1096 -0
  145. package/dist/compact.runtime-LNHoeWuF.js +12 -0
  146. package/dist/compact.runtime.js +1 -1
  147. package/dist/completion-cli-CD7DN6ny.js +328 -0
  148. package/dist/config-cli-Dp5K4ftz.js +1078 -0
  149. package/dist/config-y_0ApyNl.js +252 -0
  150. package/dist/configure-D3mU878p.js +1252 -0
  151. package/dist/configure-wyGVTr5h.js +2 -0
  152. package/dist/connect-options-1DmmZpSB.js +699 -0
  153. package/dist/control-auth-BpLXdP_i.js +125 -0
  154. package/dist/control-service-Bsdg53R4.js +156 -0
  155. package/dist/conversation-id-BO0qFsIe.js +38 -0
  156. package/dist/conversation-id-KB5kfzff.js +235 -0
  157. package/dist/conversation-runtime-9HKKmLHt.js +31 -0
  158. package/dist/core-OPQr8UZ9.js +275 -0
  159. package/dist/cron-cli-BvlxWG-0.js +713 -0
  160. package/dist/daemon-cli-C4rj1fY_.js +12 -0
  161. package/dist/dashboard-B_D8FKSf.js +2 -0
  162. package/dist/dashboard-DHcTfjq_.js +81 -0
  163. package/dist/delegate-D5OjBi3s.js +64 -0
  164. package/dist/detached-task-runtime-DzyjU1m1.js +73 -0
  165. package/dist/devices-cli-DvMb9Y1g.js +498 -0
  166. package/dist/diagnostics-B6OHDp0s.js +154 -0
  167. package/dist/direct-dm-D6l72pHR.js +64 -0
  168. package/dist/dispatch-MnxNMsTX.js +1131 -0
  169. package/dist/dispatch-acp-CkcF0OCD.js +981 -0
  170. package/dist/dispatch-acp-manager.runtime-C1nWu1uE.js +3 -0
  171. package/dist/dispatch-acp-manager.runtime.js +1 -1
  172. package/dist/dispatch-acp.runtime-CWcJoK7v.js +19 -0
  173. package/dist/dispatch-acp.runtime.js +1 -1
  174. package/dist/doctor-device-pairing-Ccd9bfi0.js +307 -0
  175. package/dist/doctor-gateway-daemon-flow-vXXN636C.js +250 -0
  176. package/dist/doctor-gateway-health-to-oUHeN.js +63 -0
  177. package/dist/doctor-health-C3ZtwUoH.js +59 -0
  178. package/dist/doctor-health-contributions-C6IlokOG.js +493 -0
  179. package/dist/doctor-prompter-DtNoFi2a.js +56 -0
  180. package/dist/doctor-workspace-status-CQB7xbnW.js +75 -0
  181. package/dist/dreaming-BbN5wJdM.js +1582 -0
  182. package/dist/dreaming-narrative-Dra5GiQh.js +596 -0
  183. package/dist/embedded-gateway-stub.runtime-B9NXS2Vr.js +9 -0
  184. package/dist/embedded-gateway-stub.runtime.js +1 -1
  185. package/dist/entry.js +2 -2
  186. package/dist/exec-approvals-cli-BMIvTLCd.js +498 -0
  187. package/dist/extensionAPI.js +1 -1
  188. package/dist/extensions/active-memory/index.js +1 -1
  189. package/dist/extensions/bluebubbles/api.js +3 -3
  190. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  191. package/dist/extensions/browser/browser-bridge.js +1 -1
  192. package/dist/extensions/browser/browser-config.js +4 -4
  193. package/dist/extensions/browser/browser-control-auth.js +2 -2
  194. package/dist/extensions/browser/browser-doctor.js +2 -2
  195. package/dist/extensions/browser/browser-maintenance.js +2 -2
  196. package/dist/extensions/browser/browser-profiles.js +2 -2
  197. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  198. package/dist/extensions/browser/index.js +1 -1
  199. package/dist/extensions/browser/plugin-registration.js +1 -1
  200. package/dist/extensions/browser/register.runtime.js +3 -3
  201. package/dist/extensions/browser/runtime-api.js +11 -11
  202. package/dist/extensions/browser/test-support.js +1 -1
  203. package/dist/extensions/device-pair/api.js +1 -1
  204. package/dist/extensions/device-pair/index.js +3 -3
  205. package/dist/extensions/device-pair/notify.js +1 -1
  206. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  207. package/dist/extensions/google-meet/index.js +2 -2
  208. package/dist/extensions/imessage/api.js +3 -3
  209. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  210. package/dist/extensions/imessage/runtime-api.js +3 -3
  211. package/dist/extensions/irc/api.js +2 -2
  212. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  213. package/dist/extensions/line/api.js +2 -2
  214. package/dist/extensions/line/channel-plugin-api.js +1 -1
  215. package/dist/extensions/line/contract-api.js +1 -1
  216. package/dist/extensions/line/runtime-api.js +4 -4
  217. package/dist/extensions/line/setup-api.js +1 -1
  218. package/dist/extensions/llm-task/index.js +2 -2
  219. package/dist/extensions/lobster/index.js +3 -3
  220. package/dist/extensions/lobster/runtime-api.js +1 -1
  221. package/dist/extensions/mattermost/api.js +1 -1
  222. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  223. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  224. package/dist/extensions/mattermost/policy-api.js +1 -1
  225. package/dist/extensions/mattermost/runtime-api.js +4 -4
  226. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  227. package/dist/extensions/memory-core/api.js +1 -1
  228. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  229. package/dist/extensions/memory-core/index.js +3 -3
  230. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  231. package/dist/extensions/msteams/api.js +1 -1
  232. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  233. package/dist/extensions/msteams/runtime-api.js +3 -3
  234. package/dist/extensions/msteams/test-api.js +1 -1
  235. package/dist/extensions/nextcloud-talk/api.js +1 -1
  236. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  237. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  238. package/dist/extensions/openshell/index.js +2 -2
  239. package/dist/extensions/signal/api.js +6 -6
  240. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  241. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  242. package/dist/extensions/signal/runtime-api.js +7 -7
  243. package/dist/extensions/skill-workshop/api.js +1 -1
  244. package/dist/extensions/skill-workshop/index.js +1 -1
  245. package/dist/extensions/synology-chat/api.js +1 -1
  246. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  247. package/dist/extensions/tlon/api.js +2 -2
  248. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  249. package/dist/extensions/tlon/runtime-api.js +1 -1
  250. package/dist/extensions/tlon/test-api.js +1 -1
  251. package/dist/extensions/twitch/api.js +1 -1
  252. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  253. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  254. package/dist/extensions/zalo/api.js +3 -3
  255. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  256. package/dist/extensions/zalo/runtime-api.js +2 -2
  257. package/dist/extensions/zalo/setup-api.js +2 -2
  258. package/dist/extensions/zalouser/api.js +3 -3
  259. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  260. package/dist/extensions/zalouser/runtime-api.js +6 -6
  261. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  262. package/dist/extensions/zalouser/test-api.js +1 -1
  263. package/dist/fallbacks-CNYcJGsI.js +31 -0
  264. package/dist/fallbacks-CpvN52vL.js +2 -0
  265. package/dist/fallbacks-shared-BMRmctbx.js +111 -0
  266. package/dist/gateway-_SCycjaN.js +115 -0
  267. package/dist/gateway-cli-CqpPxleQ.js +1283 -0
  268. package/dist/gateway-rpc-BsLYIv5w.js +14 -0
  269. package/dist/gateway-rpc.runtime-CyZZSmG_.js +23 -0
  270. package/dist/gateway-rpc.runtime.js +1 -1
  271. package/dist/gateway-runtime-BHDtRng9.js +15 -0
  272. package/dist/gateway-status-CZIozTnz.js +584 -0
  273. package/dist/genesis-tools-C0nPYE5t.js +9435 -0
  274. package/dist/genesis-tools.runtime-CY_LbvH7.js +2 -0
  275. package/dist/genesis-tools.runtime.js +1 -1
  276. package/dist/get-reply-from-config.runtime-BT7Vqesa.js +2 -0
  277. package/dist/get-reply-from-config.runtime.js +1 -1
  278. package/dist/get-reply-tZVDzC6p.js +3946 -0
  279. package/dist/graph-users-CeLSqImM.js +1337 -0
  280. package/dist/health-BWIRYEwF.js +3 -0
  281. package/dist/health-QMMhy2Dz.js +420 -0
  282. package/dist/health-route--sJRGxK7.js +41 -0
  283. package/dist/health-route-Nshh2-05.js +2 -0
  284. package/dist/hooks-cli-qlVfZ69O.js +433 -0
  285. package/dist/image-fallbacks-DqJubFFl.js +2 -0
  286. package/dist/image-fallbacks-Dw2qDUfx.js +31 -0
  287. package/dist/inbound-reply-dispatch-CACe9Tz8.js +73 -0
  288. package/dist/index.js +2 -2
  289. package/dist/infra-runtime-fiXnmsj0.js +38 -0
  290. package/dist/init-Biz2hP6-.js +59 -0
  291. package/dist/library-B1Qi-7is.js +45 -0
  292. package/dist/lifecycle-CwTeSNb3.js +571 -0
  293. package/dist/lifecycle-DTuqSjDi.js +229 -0
  294. package/dist/lifecycle.runtime-L87U4LxS.js +2 -0
  295. package/dist/lifecycle.runtime.js +1 -1
  296. package/dist/list-C9_Rnbic.js +131 -0
  297. package/dist/list-DhQ19wW5.js +2 -0
  298. package/dist/list-GcjeBBI7.js +2 -0
  299. package/dist/list-O4TnoMHO.js +1212 -0
  300. package/dist/list.probe-DYyzi71E.js +419 -0
  301. package/dist/llm-slug-generator-yBet6xOg.js +79 -0
  302. package/dist/llm-slug-generator.js +1 -1
  303. package/dist/load-config-Cp-DUOb2.js +35 -0
  304. package/dist/local-dispatch.runtime-RVsdeP5H.js +8 -0
  305. package/dist/local-dispatch.runtime.js +1 -1
  306. package/dist/logs-cli-D9A-A-9o.js +265 -0
  307. package/dist/logs-cli.runtime-IDuSVdCP.js +2 -0
  308. package/dist/logs-cli.runtime.js +1 -1
  309. package/dist/main-session-restart-recovery-Ck4FVNm4.js +206 -0
  310. package/dist/managed-image-attachments-C5QQL-vS.js +2 -0
  311. package/dist/managed-image-attachments-XoAQCwbd.js +635 -0
  312. package/dist/manager-CSBGjyBv.js +2057 -0
  313. package/dist/manager-wkR4Iytv.js +2 -0
  314. package/dist/markdown-to-line-BTkqph9t.js +790 -0
  315. package/dist/mcp/plugin-tools-serve.js +1 -1
  316. package/dist/mcp-cli-BYatxokX.js +725 -0
  317. package/dist/mcp-http-D5Jg_G_4.js +529 -0
  318. package/dist/memory-core-host-runtime-cli-D5FBfgB5.js +9 -0
  319. package/dist/message-DYkh5sOP.js +232 -0
  320. package/dist/message-action-runner-CJGAC14u.js +1407 -0
  321. package/dist/message-action-runner-DEc3L86w.js +2 -0
  322. package/dist/message-actions-Dh0dkVuL.js +143 -0
  323. package/dist/message.gateway.runtime-C66L1TQ8.js +2 -0
  324. package/dist/message.gateway.runtime.js +1 -1
  325. package/dist/models-auth-status-hLHyMRg4.js +217 -0
  326. package/dist/models-cli-A3K5ngLW.js +271 -0
  327. package/dist/monitor-BGPc6S-l.js +788 -0
  328. package/dist/monitor-C8edroDo.js +671 -0
  329. package/dist/monitor-CFsyjwnu.js +1661 -0
  330. package/dist/monitor-Dl0w1_43.js +1237 -0
  331. package/dist/monitor-DlxT-Knr.js +2 -0
  332. package/dist/monitor-auth-ke97RkAT.js +207 -0
  333. package/dist/monitor-c-H6NZB1.js +1459 -0
  334. package/dist/monitor-processing-B39UHhPl.js +1974 -0
  335. package/dist/monitor.runtime-bk4_-UQP.js +2 -0
  336. package/dist/monitor.runtime.js +1 -1
  337. package/dist/monitor.webhook-h5bgSJwm.js +180 -0
  338. package/dist/msteams-ISVbP_K_.js +35 -0
  339. package/dist/native-hook-relay-Bc5mlw9g.js +519 -0
  340. package/dist/nextcloud-talk-CbYNP-yd.js +17 -0
  341. package/dist/node-cli-0u8AZQyg.js +2276 -0
  342. package/dist/nodes-cli-CQMWvWMg.js +1046 -0
  343. package/dist/nodes-utils-DOQtMWOk.js +84 -0
  344. package/dist/nodes.helpers-C4kSQFC6.js +34 -0
  345. package/dist/notify-nTgfrNiE.js +315 -0
  346. package/dist/onboard-C3joem4P.js +2 -0
  347. package/dist/onboard-CLxVG_dm.js +70 -0
  348. package/dist/onboard-helpers-CzWgl6b5.js +204 -0
  349. package/dist/onboard-helpers-DN7Wm9fW.js +6 -0
  350. package/dist/onboard-interactive-BGd6aTeV.js +24 -0
  351. package/dist/onboard-non-interactive-CtThtPt1.js +635 -0
  352. package/dist/onboard-remote-C-N2VHxH.js +2 -0
  353. package/dist/onboard-remote-C8Pd_O6i.js +193 -0
  354. package/dist/onboard-skills-CVLAHKbc.js +2 -0
  355. package/dist/onboard-skills-Dfyg3uoq.js +134 -0
  356. package/dist/openai-http-BEKA7a56.js +500 -0
  357. package/dist/openresponses-http-CXR1xS4b.js +1128 -0
  358. package/dist/operator-approvals-client-Cbb5L4kC.js +68 -0
  359. package/dist/outbound.runtime-BfwyPtqz.js +2 -0
  360. package/dist/outbound.runtime.js +1 -1
  361. package/dist/pair-command-approve-DxGuoQgs.js +44 -0
  362. package/dist/persistent-bindings.lifecycle-Cm2JgJ1m.js +2 -0
  363. package/dist/persistent-bindings.lifecycle-G6-GKVJ-.js +85 -0
  364. package/dist/pi-embedded-BhegMC8S.js +4 -0
  365. package/dist/pi-embedded-DSK_Kmte.js +2905 -0
  366. package/dist/pi-embedded.runtime-De_h6P_Z.js +4 -0
  367. package/dist/pi-embedded.runtime.js +1 -1
  368. package/dist/pi-tool-definition-adapter-NXBjo73N.js +229 -0
  369. package/dist/pi-tools-DZSC_w6D.js +1118 -0
  370. package/dist/pi-tools.before-tool-call-BwU95vEl.js +433 -0
  371. package/dist/pi-tools.before-tool-call-D_7nYeEk.js +2 -0
  372. package/dist/plugin-Buwbxy6j.js +12195 -0
  373. package/dist/plugin-enabled-K5XYrDLJ.js +140 -0
  374. package/dist/plugin-registration-BCJ8Erq-.js +23 -0
  375. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  376. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  377. package/dist/plugin-sdk/acp-runtime.js +2 -2
  378. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  379. package/dist/plugin-sdk/agent-harness.js +6 -6
  380. package/dist/plugin-sdk/agent-runtime.js +2 -2
  381. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  382. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  383. package/dist/plugin-sdk/approval-runtime.js +1 -1
  384. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  385. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  386. package/dist/plugin-sdk/browser-support.js +7 -7
  387. package/dist/plugin-sdk/channel-core.js +2 -2
  388. package/dist/plugin-sdk/channel-inbound.js +2 -2
  389. package/dist/plugin-sdk/command-auth.js +1 -1
  390. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  391. package/dist/plugin-sdk/compat.js +1 -1
  392. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  393. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  394. package/dist/plugin-sdk/core.js +2 -2
  395. package/dist/plugin-sdk/direct-dm.js +1 -1
  396. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  397. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  398. package/dist/plugin-sdk/index.js +1 -1
  399. package/dist/plugin-sdk/infra-runtime.js +2 -2
  400. package/dist/plugin-sdk/irc.js +2 -2
  401. package/dist/plugin-sdk/matrix.js +1 -1
  402. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  403. package/dist/plugin-sdk/memory-core.js +2 -2
  404. package/dist/plugin-sdk/msteams.js +2 -2
  405. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  406. package/dist/plugin-sdk/nostr.js +1 -1
  407. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  408. package/dist/plugin-sdk/reply-runtime.js +4 -4
  409. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  410. package/dist/plugin-sdk/runtime.js +2 -2
  411. package/dist/plugin-sdk/session-visibility.js +1 -1
  412. package/dist/plugin-sdk/testing.js +4 -4
  413. package/dist/plugin-sdk/tlon.js +1 -1
  414. package/dist/plugin-sdk/zalo.js +1 -1
  415. package/dist/plugin-sdk/zalouser.js +1 -1
  416. package/dist/plugin-service-O0Nka2ql.js +2893 -0
  417. package/dist/plugins/runtime/index.js +1 -1
  418. package/dist/policy-BcEBQrBb.js +328 -0
  419. package/dist/postinstall-inventory.json +411 -411
  420. package/dist/prepare.runtime-4-4zFPyi.js +807 -0
  421. package/dist/prepare.runtime.js +1 -1
  422. package/dist/probe-Bj5TYODu.js +2 -0
  423. package/dist/probe-CM64ZU4h.js +2205 -0
  424. package/dist/probe-D-WslSkr.js +1443 -0
  425. package/dist/probe-DDW3LKLY.js +240 -0
  426. package/dist/probe-DIojWUct.js +45 -0
  427. package/dist/probe-DUvHddgr.js +2 -0
  428. package/dist/probe-DcVkQ45O.js +74 -0
  429. package/dist/program-C2WMGRGS.js +111 -0
  430. package/dist/prompt-select-styled-DyuhVmKx.js +20 -0
  431. package/dist/protocol-D-HTtPao.js +2586 -0
  432. package/dist/provider-dispatcher-B9Bi64PF.js +2 -0
  433. package/dist/provider-dispatcher-W0BQ6JBa.js +22 -0
  434. package/dist/qr-cli-CuHAMWri.js +349 -0
  435. package/dist/qr-cli-XFbmt6Yy.js +2 -0
  436. package/dist/reaction-runtime-api-BVLM-96j.js +116 -0
  437. package/dist/reactions-C1FEqLK1.js +998 -0
  438. package/dist/register-service-commands-BfHk7oaS.js +71 -0
  439. package/dist/register.agent-DXzxIclN.js +248 -0
  440. package/dist/register.configure-CXufs_DG.js +15 -0
  441. package/dist/register.maintenance-WJgi56ww.js +363 -0
  442. package/dist/register.message-D644NowA.js +329 -0
  443. package/dist/register.onboard-Dts_81Kq.js +88 -0
  444. package/dist/register.runtime-BGFNAs1W.js +81 -0
  445. package/dist/register.runtime.js +1 -1
  446. package/dist/register.setup-xdxtWT9Z.js +150 -0
  447. package/dist/register.status-health-sessions-cA5f30SV.js +1215 -0
  448. package/dist/register.subclis-BC8Xib58.js +29 -0
  449. package/dist/register.subclis-DMX7WW9_.js +3 -0
  450. package/dist/register.subclis-core-BQwVVxk1.js +249 -0
  451. package/dist/reply-dispatch-runtime-B8XDaURF.js +13 -0
  452. package/dist/reply-runtime-NyMLCW3E.js +10 -0
  453. package/dist/reply.runtime-edT3K6N7.js +2 -0
  454. package/dist/reply.runtime.js +1 -1
  455. package/dist/restart-health-1UMkTis9.js +202 -0
  456. package/dist/restart-health-DOVEX2Dr.js +2 -0
  457. package/dist/root-help-DOab9o7V.js +44 -0
  458. package/dist/routes-C6KcWOET.js +3341 -0
  459. package/dist/routes-YiOyu7uC.js +2 -0
  460. package/dist/rpc-D58sqWd5.js +61 -0
  461. package/dist/rpc.runtime-B7TMomww.js +21 -0
  462. package/dist/rpc.runtime.js +1 -1
  463. package/dist/run-delivery.runtime-unYfe21X.js +530 -0
  464. package/dist/run-delivery.runtime.js +1 -1
  465. package/dist/run-embedded.runtime-zHl2AfPi.js +4 -0
  466. package/dist/run-embedded.runtime.js +1 -1
  467. package/dist/run-execution-cli.runtime-Dz1dsRHM.js +4 -0
  468. package/dist/run-execution-cli.runtime.js +1 -1
  469. package/dist/run-executor.runtime-KX7eaa3W.js +277 -0
  470. package/dist/run-executor.runtime.js +1 -1
  471. package/dist/run-main-DDIezO6z.js +567 -0
  472. package/dist/run-subagent-registry.runtime-DJC3g4ZR.js +2 -0
  473. package/dist/run-subagent-registry.runtime.js +1 -1
  474. package/dist/run-wait-CpiyL2yQ.js +135 -0
  475. package/dist/runtime-DFsWYp04.js +961 -0
  476. package/dist/runtime-api-B-Rvnz8K.js +9 -0
  477. package/dist/runtime-api-BGjsjeDs.js +4 -0
  478. package/dist/runtime-api-BLmoQDr9.js +9 -0
  479. package/dist/runtime-api-C7sFkqAw.js +14 -0
  480. package/dist/runtime-cvZCV2Ia.js +9 -0
  481. package/dist/runtime-embedded-pi.runtime-DhHN3TPm.js +2 -0
  482. package/dist/runtime-embedded-pi.runtime.js +1 -1
  483. package/dist/runtime-internal-BgtZ9qQE.js +2 -0
  484. package/dist/runtime-options-DP77Ol0F.js +275 -0
  485. package/dist/runtime-schema-UykYqADC.js +28599 -0
  486. package/dist/scan-DFZp_kSW.js +523 -0
  487. package/dist/scan-DGA0ZzcA.js +2 -0
  488. package/dist/secrets-cli-ea7rK5BG.js +2101 -0
  489. package/dist/security-cli-ho4WnkD2.js +486 -0
  490. package/dist/selection-9k1d9_Da.js +7743 -0
  491. package/dist/selection-Cp3CrNux.js +2 -0
  492. package/dist/send-CBwqDOfQ.js +156 -0
  493. package/dist/send-DpYdCf3A.js +102 -0
  494. package/dist/send.runtime-DPgv2Lc5.js +2 -0
  495. package/dist/send.runtime.js +1 -1
  496. package/dist/server-D7iFLwV2.js +13 -0
  497. package/dist/server-context-B8N_gqtd.js +2 -0
  498. package/dist/server-context-LNf4RJwd.js +847 -0
  499. package/dist/server-node-events-B0Jy5ges.js +474 -0
  500. package/dist/server-plugin-bootstrap-C50m7eyR.js +2 -0
  501. package/dist/server-plugin-bootstrap-CLJHt826.js +13703 -0
  502. package/dist/server-restart-sentinel--uTnlfGF.js +684 -0
  503. package/dist/server-yVgPsLY3.js +77 -0
  504. package/dist/server.impl-BlCJe-26.js +12804 -0
  505. package/dist/session-kill-http-CGcsBC5N.js +110 -0
  506. package/dist/session-reset-service-BdvoF6l9.js +497 -0
  507. package/dist/session-route-C6YYamP7.js +93 -0
  508. package/dist/session-status.runtime-DpxWfh54.js +2 -0
  509. package/dist/session-status.runtime.js +1 -1
  510. package/dist/session-subagent-reactivation.runtime-Ddt2B8nq.js +2 -0
  511. package/dist/session-subagent-reactivation.runtime.js +1 -1
  512. package/dist/session-tab-registry-Bwj7OJds.js +581 -0
  513. package/dist/session-visibility-CMeipx_x.js +147 -0
  514. package/dist/sessions-helpers-Crbc2V-c.js +305 -0
  515. package/dist/sessions-history-http-B1jARJH5.js +371 -0
  516. package/dist/sessions-patch-C1oxNf4r.js +309 -0
  517. package/dist/sessions-resolve-D8eCbDqe.js +174 -0
  518. package/dist/sessions.runtime-Dh0ghDyO.js +2 -0
  519. package/dist/sessions.runtime.js +1 -1
  520. package/dist/setup-DoOZ7cOr.js +636 -0
  521. package/dist/setup-api-COR0Hcnk.js +29 -0
  522. package/dist/setup-core-C5-HYDHu.js +176 -0
  523. package/dist/setup-core-Q7Gtw1Ov.js +171 -0
  524. package/dist/setup-surface-CBScP5vZ.js +219 -0
  525. package/dist/setup-surface-CPW1hR9X.js +286 -0
  526. package/dist/setup-surface-w8AJYpAw.js +403 -0
  527. package/dist/setup.finalize-CFQ5dk9P.js +547 -0
  528. package/dist/setup.gateway-config-CevZkqsU.js +250 -0
  529. package/dist/shared-BJOo71CE.js +121 -0
  530. package/dist/shared-C9DEgBKO.js +76 -0
  531. package/dist/shared-DWeIx7H_.js +198 -0
  532. package/dist/slash-state-DfyIhVQa.js +1911 -0
  533. package/dist/src-D_pOANWx.js +3974 -0
  534. package/dist/startup-context-u6H-cGD5.js +312 -0
  535. package/dist/status-Bax-CYIA.js +2 -0
  536. package/dist/status-Bm_lDIZA.js +2 -0
  537. package/dist/status-C41OfbgU.js +209 -0
  538. package/dist/status-CJA5y0Ot.js +190 -0
  539. package/dist/status-JI5DGJgd.js +395 -0
  540. package/dist/status-all-CyMiAz9D.js +498 -0
  541. package/dist/status-json-command-D3gfSQpJ.js +82 -0
  542. package/dist/status-json-wAtoMvEU.js +14 -0
  543. package/dist/status-liaGeQBF.js +3 -0
  544. package/dist/status-runtime-shared-BHVKTX8F.js +241 -0
  545. package/dist/status-subagents.runtime-Dqn8rGt3.js +18 -0
  546. package/dist/status-subagents.runtime.js +1 -1
  547. package/dist/status-text-XpgxLRUx.js +237 -0
  548. package/dist/status.gateway-connection.runtime-CAujaH_M.js +2 -0
  549. package/dist/status.gateway-connection.runtime.js +1 -1
  550. package/dist/status.gather-DABnWYhg.js +2 -0
  551. package/dist/status.gather-DvP7veWJ.js +292 -0
  552. package/dist/status.runtime-BNG-ykFb.js +2 -0
  553. package/dist/status.scan-CPCLfxhs.js +65 -0
  554. package/dist/status.scan-overview-cd-sFbN_.js +379 -0
  555. package/dist/status.scan.fast-json-BlK1NH9B.js +2 -0
  556. package/dist/status.scan.fast-json-RzD6XYyb.js +132 -0
  557. package/dist/status.summary-BzdECSg9.js +200 -0
  558. package/dist/status.summary-D5HGi7Bf.js +2 -0
  559. package/dist/subagent-announce-Cs_FbejL.js +351 -0
  560. package/dist/subagent-announce-delivery-DMwYIqZg.js +726 -0
  561. package/dist/subagent-announce-output-B9tl5MCY.js +364 -0
  562. package/dist/subagent-control-CJBFHJGn.js +506 -0
  563. package/dist/subagent-followup.runtime-Bn5iFlY5.js +68 -0
  564. package/dist/subagent-followup.runtime.js +1 -1
  565. package/dist/subagent-orphan-recovery-Bd_lhKXg.js +305 -0
  566. package/dist/subagent-registry-ChyubSrS.js +3 -0
  567. package/dist/subagent-registry-gH5jdXLj.js +1753 -0
  568. package/dist/subagent-registry.runtime.js +1 -1
  569. package/dist/subagent-spawn-CGEv7PUE.js +1005 -0
  570. package/dist/system-cli-BXWEki_N.js +43 -0
  571. package/dist/targets-Df5NUAMJ.js +67 -0
  572. package/dist/task-executor-CNDdWsuX.js +360 -0
  573. package/dist/task-owner-access-DxjrTxvr.js +74 -0
  574. package/dist/task-registry-CdNs7r4r.js +2357 -0
  575. package/dist/task-registry-delivery-runtime-BDu6uG2H.js +3 -0
  576. package/dist/task-registry-delivery-runtime-DOWKFjeQ.js +2 -0
  577. package/dist/task-registry.maintenance-DASywxLv.js +416 -0
  578. package/dist/task-registry.maintenance-NbdyYsF6.js +2 -0
  579. package/dist/telegram/token.js +1 -1
  580. package/dist/testing-DSzznIMh.js +575 -0
  581. package/dist/text-report-C5TiNkIC.js +549 -0
  582. package/dist/tool-resolution-BpN_yXJT.js +90 -0
  583. package/dist/tools-effective-inventory-DzZfmONO.js +152 -0
  584. package/dist/tools-invoke-http-Cc5lWdVY.js +206 -0
  585. package/dist/trash-gujb8L0g.js +24 -0
  586. package/dist/tui-cli-5Sm6YmJ7.js +4585 -0
  587. package/dist/update-cli-BcUEQuiM.js +1759 -0
  588. package/dist/upgrade-uEpCTUNv.js +1226 -0
  589. package/dist/video-generation-task-status-Ch4hR1ge.js +163 -0
  590. package/dist/wait-for-idle-before-flush-D9yKEs2F.js +6025 -0
  591. package/dist/wizard-models-DQ9CKzTp.js +334 -0
  592. package/package.json +4 -1
  593. package/dist/abort-xF_zj8_u.js +0 -201
  594. package/dist/abort.runtime-JUukGuW3.js +0 -2
  595. package/dist/accounts-C0jW92It.js +0 -104
  596. package/dist/accounts-C2ZexWg6.js +0 -107
  597. package/dist/accounts-tEPx6Fnd.js +0 -2
  598. package/dist/acp-cli-De2oyz3e.js +0 -2217
  599. package/dist/acp-spawn-7VB8ie8I.js +0 -1042
  600. package/dist/acp-spawn-C6VfLE4o.js +0 -2
  601. package/dist/acp-stateful-target-driver-ctUymwnI.js +0 -89
  602. package/dist/action-agents-Dy45TQ9X.js +0 -67
  603. package/dist/action-focus-hzygEAz5.js +0 -132
  604. package/dist/action-help-D1h2Czko.js +0 -7
  605. package/dist/action-info-EDBi7fre.js +0 -101
  606. package/dist/action-kill-CBNgmCsz.js +0 -33
  607. package/dist/action-list-C6KC8Ulv.js +0 -21
  608. package/dist/action-log-C0R9AwnB.js +0 -30
  609. package/dist/action-send-DZw27QoS.js +0 -39
  610. package/dist/action-spawn-BXEOYBEH.js +0 -47
  611. package/dist/action-unfocus-DWFUpr-g.js +0 -29
  612. package/dist/actions.runtime-1HHNbwPa.js +0 -5
  613. package/dist/actions.runtime-GFSX3jST.js +0 -18
  614. package/dist/agent-CU42dfye.js +0 -2
  615. package/dist/agent-command-Baehh2jJ.js +0 -874
  616. package/dist/agent-harness-runtime-Bmln4mlS.js +0 -144
  617. package/dist/agent-runner-utils-xPwHxFwc.js +0 -239
  618. package/dist/agent-runner.runtime-BBx0eqAs.js +0 -3443
  619. package/dist/agent-runtime-mKUGZmYk.js +0 -18
  620. package/dist/agents-C_kp6PcN.js +0 -954
  621. package/dist/agents-D7-4l9xG.js +0 -5
  622. package/dist/aliases-BR-85AbT.js +0 -96
  623. package/dist/aliases-DH4MEghL.js +0 -2
  624. package/dist/api-8dcgPyEO.js +0 -139
  625. package/dist/api-C6Dl-nsC.js +0 -3
  626. package/dist/api-CeoOTFsR.js +0 -5
  627. package/dist/approval-gateway-resolver-B5iZVyl3.js +0 -29
  628. package/dist/approval-gateway-runtime-DJMhFL8_.js +0 -2
  629. package/dist/approval-handler-runtime-CvlNyTSd.js +0 -439
  630. package/dist/approval-native-runtime-DIP1UVwF.js +0 -729
  631. package/dist/attempt-execution.runtime-Dnj7Dunz.js +0 -509
  632. package/dist/attempt.prompt-helpers-yXlkhGj_.js +0 -206
  633. package/dist/attempt.tool-run-context-DplnP36r.js +0 -933
  634. package/dist/audit-CP153cHC.js +0 -939
  635. package/dist/audit.runtime-BPEAdYYt.js +0 -7
  636. package/dist/auth-CGB_0fnH.js +0 -550
  637. package/dist/auth-_41Zyvnc.js +0 -2
  638. package/dist/auth-order-Cnl7fD4m.js +0 -2
  639. package/dist/auth-order-DTEvHo9G.js +0 -139
  640. package/dist/bash-tools-E5RKIMX4.js +0 -2853
  641. package/dist/bash-tools-n2uf-L6x.js +0 -3
  642. package/dist/binding-routing-MxZZJi7B.js +0 -85
  643. package/dist/binding-targets-DOjf91v9.js +0 -121
  644. package/dist/bridge-server-C9sdVkxe.js +0 -113
  645. package/dist/browser-control-auth-Ds_CXo7-.js +0 -2
  646. package/dist/browser-node-runtime-CrrZhgmT.js +0 -12
  647. package/dist/browser-profiles-DSq_VuWU.js +0 -2
  648. package/dist/browser-runtime-D3bUe2ki.js +0 -387
  649. package/dist/browser-setup-tools-BzBeI9sr.js +0 -13
  650. package/dist/build-BQ7uMjfi.js +0 -550
  651. package/dist/call-C5EHc2Ve.js +0 -3
  652. package/dist/call-DgFhP0IB.js +0 -330
  653. package/dist/call.runtime-CBWpY5ek.js +0 -2
  654. package/dist/capability-cli-CF-5WxGW.js +0 -1401
  655. package/dist/catchup-DEgTzUZf.js +0 -300
  656. package/dist/channel-B9Z1yOBL.js +0 -1100
  657. package/dist/channel-BQalh8q5.js +0 -1320
  658. package/dist/channel-B_D0qB8f.js +0 -297
  659. package/dist/channel-CveiiHEq.js +0 -226
  660. package/dist/channel-DPRWC_X5.js +0 -1802
  661. package/dist/channel-DTNwXKB7.js +0 -350
  662. package/dist/channel-DsWHOdeO.js +0 -840
  663. package/dist/channel-IYn5sG7l.js +0 -453
  664. package/dist/channel-MwEUOERy.js +0 -1174
  665. package/dist/channel-core-C3RFVpjy.js +0 -5
  666. package/dist/channel-geAqqK_e.js +0 -491
  667. package/dist/channel-inbound-BRCAVWH1.js +0 -31
  668. package/dist/channel-plugin-runtime-B7guFbbq.js +0 -771
  669. package/dist/channel-runtime-B2HmUto-.js +0 -425
  670. package/dist/channel-zfFLswBu.js +0 -595
  671. package/dist/channel.runtime-60XStiek.js +0 -2364
  672. package/dist/channel.runtime-BK8atBx7.js +0 -430
  673. package/dist/channel.runtime-CjfgGDJR.js +0 -576
  674. package/dist/channel.runtime-Cuc72hD3.js +0 -89
  675. package/dist/channel.runtime-D4i6q9PJ.js +0 -4
  676. package/dist/channel.runtime-mLdKu3mE.js +0 -42398
  677. package/dist/channel.setup-BxdBjfQG.js +0 -10
  678. package/dist/channel2.runtime-DhBM75gc.js +0 -109
  679. package/dist/channels-YP0r9T7z.js +0 -733
  680. package/dist/channels-cli-BA8x-0ie.js +0 -268
  681. package/dist/chat-C-K_PnVS.js +0 -2830
  682. package/dist/clawbot-cli-CcTWZznd.js +0 -9
  683. package/dist/cli-B9pz-wec.js +0 -2
  684. package/dist/cli-BDqmMCNa.js +0 -219
  685. package/dist/cli-CFANcv9h.js +0 -2
  686. package/dist/cli-oSszUBF4.js +0 -72
  687. package/dist/cli-runner-ziqCSXFY.js +0 -286
  688. package/dist/cli-runner.runtime-B-P8SxLi.js +0 -4
  689. package/dist/cli-runner.runtime-BmqwbMTX.js +0 -3
  690. package/dist/cli.runtime-4isBQRbc.js +0 -1261
  691. package/dist/client-CcimlPth.js +0 -138
  692. package/dist/client-DQsu_IXu.js +0 -723
  693. package/dist/command-auth-BWQO7kca.js +0 -76
  694. package/dist/command-config-resolution-ClTknI2S.js +0 -2
  695. package/dist/command-config-resolution-CrkcVij4.js +0 -23
  696. package/dist/command-config-resolution.runtime-D6B4s-Uv.js +0 -2
  697. package/dist/command-registry-B_U-oRjT.js +0 -4
  698. package/dist/command-registry-CJ8y08cJ.js +0 -9
  699. package/dist/command-registry-core-CjYDA5Hb.js +0 -106
  700. package/dist/command-secret-gateway-BN5JN_4V.js +0 -528
  701. package/dist/command-status.runtime-BwGSaGwK.js +0 -87
  702. package/dist/commands-acp-Di5EZJSo.js +0 -77
  703. package/dist/commands-compact.runtime-Dm1rBnbf.js +0 -10
  704. package/dist/commands-handlers.runtime-C8uzW3Za.js +0 -4599
  705. package/dist/commands-status-D_wsDlQe.js +0 -16
  706. package/dist/commands-status.runtime-BYT0Y8Xk.js +0 -3
  707. package/dist/commands-subagents-control.runtime-BozyiWar.js +0 -3
  708. package/dist/commands-subagents-control.runtime-DDCzt8Ub.js +0 -2
  709. package/dist/commands-system-prompt-ClkTGvNr.js +0 -157
  710. package/dist/commands-system-prompt-qRoqhQKL.js +0 -2
  711. package/dist/commands.runtime-DdZErCma.js +0 -167
  712. package/dist/compact-BCs9ORLb.js +0 -1096
  713. package/dist/compact.runtime-DvG7GWYV.js +0 -12
  714. package/dist/completion-cli-C4J7V5YR.js +0 -328
  715. package/dist/config-B0uPLzV0.js +0 -252
  716. package/dist/config-cli-Bt8euI41.js +0 -1078
  717. package/dist/configure-BIB6QKXD.js +0 -2
  718. package/dist/configure-DuXRvaw-.js +0 -1252
  719. package/dist/connect-options-DdLRs3mC.js +0 -699
  720. package/dist/control-auth-BboB6-Q9.js +0 -125
  721. package/dist/control-service-zISWiuJ_.js +0 -156
  722. package/dist/conversation-id-BzYtax7n.js +0 -235
  723. package/dist/conversation-id-HBz3v6j3.js +0 -38
  724. package/dist/conversation-runtime-CkcxSb_S.js +0 -31
  725. package/dist/core-DxVEjt5f.js +0 -275
  726. package/dist/cron-cli-CAkqablA.js +0 -713
  727. package/dist/daemon-cli-CCC_5IkN.js +0 -12
  728. package/dist/dashboard-Bqpn6xD_.js +0 -81
  729. package/dist/dashboard-Cd6TkhpW.js +0 -2
  730. package/dist/delegate-D7D8iTtT.js +0 -64
  731. package/dist/detached-task-runtime-D2jixP5C.js +0 -73
  732. package/dist/devices-cli-CMnaKl01.js +0 -498
  733. package/dist/diagnostics-B8Z9UWlG.js +0 -154
  734. package/dist/direct-dm-c4Qb2Nzg.js +0 -64
  735. package/dist/dispatch-acp-BL2QahHP.js +0 -981
  736. package/dist/dispatch-acp-manager.runtime-CynWPlJS.js +0 -3
  737. package/dist/dispatch-acp.runtime-OwR8G8Qt.js +0 -19
  738. package/dist/dispatch-r6Uv7puk.js +0 -1131
  739. package/dist/doctor-device-pairing-GsLelCah.js +0 -307
  740. package/dist/doctor-gateway-daemon-flow-Bj6Y5WoB.js +0 -250
  741. package/dist/doctor-gateway-health-D7WY6zgb.js +0 -63
  742. package/dist/doctor-health-C9GRQaPA.js +0 -59
  743. package/dist/doctor-health-contributions-Dk9ho6TO.js +0 -493
  744. package/dist/doctor-prompter-Ct6Jv52M.js +0 -56
  745. package/dist/doctor-workspace-status-CJCfWEI6.js +0 -75
  746. package/dist/dreaming-_hTKF5lN.js +0 -1582
  747. package/dist/dreaming-narrative-D5XTDttN.js +0 -596
  748. package/dist/embedded-gateway-stub.runtime-CEmoodA9.js +0 -9
  749. package/dist/exec-approvals-cli-ClDMlOmM.js +0 -498
  750. package/dist/fallbacks-7zSQjTV3.js +0 -31
  751. package/dist/fallbacks-CZiqVR5O.js +0 -2
  752. package/dist/fallbacks-shared-ChkX-wC9.js +0 -111
  753. package/dist/gateway-CHyZ16Py.js +0 -115
  754. package/dist/gateway-cli-Ddf-bjxV.js +0 -1283
  755. package/dist/gateway-rpc-DksPpMA7.js +0 -14
  756. package/dist/gateway-rpc.runtime-BKaQsdOu.js +0 -23
  757. package/dist/gateway-runtime-Ca4l5F_e.js +0 -15
  758. package/dist/gateway-status-CTPWttLS.js +0 -584
  759. package/dist/genesis-tools-Bkxp7zlI.js +0 -9435
  760. package/dist/genesis-tools.runtime-BCkQJQBx.js +0 -2
  761. package/dist/get-reply-HzKdsGO7.js +0 -3946
  762. package/dist/get-reply-from-config.runtime-C5ISSvQ1.js +0 -2
  763. package/dist/graph-users-BVVUU02O.js +0 -1337
  764. package/dist/health-3Ot3RyLe.js +0 -420
  765. package/dist/health-B1Ww7M60.js +0 -3
  766. package/dist/health-route--L24U5vY.js +0 -2
  767. package/dist/health-route-DQ3RbNHQ.js +0 -41
  768. package/dist/hooks-cli-CsJbTM0O.js +0 -433
  769. package/dist/image-fallbacks--ElXneWp.js +0 -31
  770. package/dist/image-fallbacks-D3vJILOu.js +0 -2
  771. package/dist/inbound-reply-dispatch-B7wRXjgc.js +0 -73
  772. package/dist/infra-runtime-CBfd1WMP.js +0 -38
  773. package/dist/init-D0hOJH3x.js +0 -59
  774. package/dist/library-oLeJ7WB2.js +0 -45
  775. package/dist/lifecycle-CeE5vcbI.js +0 -571
  776. package/dist/lifecycle-CqOQyQkN.js +0 -229
  777. package/dist/lifecycle.runtime-3bkEDR0o.js +0 -2
  778. package/dist/list-C3cLeCpB.js +0 -2
  779. package/dist/list-CcZ_ONLT.js +0 -2
  780. package/dist/list-DUXsFAZJ.js +0 -1212
  781. package/dist/list-gnrIqPtd.js +0 -131
  782. package/dist/list.probe-BwRgShwM.js +0 -419
  783. package/dist/llm-slug-generator-BkDTThCe.js +0 -79
  784. package/dist/load-config-CfZQrUUz.js +0 -35
  785. package/dist/local-dispatch.runtime-CtXGZ70F.js +0 -8
  786. package/dist/logs-cli-zd_9yCKn.js +0 -265
  787. package/dist/logs-cli.runtime-BWvHh5zg.js +0 -2
  788. package/dist/main-session-restart-recovery-Bnvjo9E1.js +0 -206
  789. package/dist/managed-image-attachments-Cib67JTY.js +0 -2
  790. package/dist/managed-image-attachments-Pl-_Wh-s.js +0 -635
  791. package/dist/manager-CfFNGdWA.js +0 -2057
  792. package/dist/manager-TXSNaq3B.js +0 -2
  793. package/dist/markdown-to-line-C83mDLjZ.js +0 -790
  794. package/dist/mcp-cli-CNy5N1fa.js +0 -725
  795. package/dist/mcp-http-Cp3nlyRC.js +0 -529
  796. package/dist/memory-core-host-runtime-cli-BegfMQ60.js +0 -9
  797. package/dist/message-BEIYueeC.js +0 -232
  798. package/dist/message-action-runner-BMAw7gfU.js +0 -2
  799. package/dist/message-action-runner-DbqkVVXA.js +0 -1407
  800. package/dist/message-actions-CagfUya_.js +0 -143
  801. package/dist/message.gateway.runtime-8N00rzUd.js +0 -2
  802. package/dist/models-auth-status-dUVFT_f1.js +0 -217
  803. package/dist/models-cli-VqeddndJ.js +0 -271
  804. package/dist/monitor-BgwZHXAs.js +0 -2
  805. package/dist/monitor-BrGXztev.js +0 -1661
  806. package/dist/monitor-DXqHkIkY.js +0 -788
  807. package/dist/monitor-DoS0pnRS.js +0 -671
  808. package/dist/monitor-SUo0OdqH.js +0 -1459
  809. package/dist/monitor-auth-BjLpAGxu.js +0 -207
  810. package/dist/monitor-hVTP1bQv.js +0 -1237
  811. package/dist/monitor-processing-CIokCAUz.js +0 -1974
  812. package/dist/monitor.runtime-BU4RKNXx.js +0 -2
  813. package/dist/monitor.webhook-DaTTjWrL.js +0 -180
  814. package/dist/msteams-CmdWCuQl.js +0 -35
  815. package/dist/native-hook-relay-Crk4McKb.js +0 -519
  816. package/dist/nextcloud-talk-D23cNPfx.js +0 -17
  817. package/dist/node-cli-DQ2FAUD5.js +0 -2276
  818. package/dist/nodes-cli-rSfhRw3_.js +0 -1046
  819. package/dist/nodes-utils-DlayGjaD.js +0 -84
  820. package/dist/nodes.helpers-DDUs18Tb.js +0 -34
  821. package/dist/notify-BSOvLWmd.js +0 -315
  822. package/dist/onboard-CpNpQ0N8.js +0 -70
  823. package/dist/onboard-helpers-BSqq4yEX.js +0 -204
  824. package/dist/onboard-helpers-Cw8cHMwk.js +0 -6
  825. package/dist/onboard-interactive-CIJMPUNi.js +0 -24
  826. package/dist/onboard-non-interactive-CCGFunM1.js +0 -635
  827. package/dist/onboard-remote-BIFjzB0v.js +0 -193
  828. package/dist/onboard-remote-DdfKS44K.js +0 -2
  829. package/dist/onboard-skills-C9Oz7pMM.js +0 -134
  830. package/dist/onboard-skills-DFZIuIBM.js +0 -2
  831. package/dist/onboard-ygfHgwjs.js +0 -2
  832. package/dist/openai-http-V8-EZ-Tx.js +0 -500
  833. package/dist/openresponses-http-B2Z5eD7p.js +0 -1128
  834. package/dist/operator-approvals-client-DcLaJSYz.js +0 -68
  835. package/dist/outbound.runtime-BioZr0Xk.js +0 -2
  836. package/dist/pair-command-approve-CKQ5PFPa.js +0 -44
  837. package/dist/persistent-bindings.lifecycle-Cc3nJyXl.js +0 -2
  838. package/dist/persistent-bindings.lifecycle-DMUm3wFX.js +0 -85
  839. package/dist/pi-embedded-DLQZrdL6.js +0 -2905
  840. package/dist/pi-embedded-kfFiSGXN.js +0 -4
  841. package/dist/pi-embedded.runtime-DXAilonb.js +0 -4
  842. package/dist/pi-tool-definition-adapter-D5M4iVmd.js +0 -229
  843. package/dist/pi-tools-CymfaKhy.js +0 -1118
  844. package/dist/pi-tools.before-tool-call-CBjigYgQ.js +0 -2
  845. package/dist/pi-tools.before-tool-call-CrhLIm2q.js +0 -433
  846. package/dist/plugin-DJ_g-ddv.js +0 -12195
  847. package/dist/plugin-enabled-CqvTLQjg.js +0 -140
  848. package/dist/plugin-registration-awDDNZjN.js +0 -23
  849. package/dist/plugin-service-Bcg-shsL.js +0 -2893
  850. package/dist/policy-DIf26_n6.js +0 -328
  851. package/dist/prepare.runtime-DCLXK1uq.js +0 -807
  852. package/dist/probe-0w9S79sF.js +0 -45
  853. package/dist/probe-BQT29JH7.js +0 -74
  854. package/dist/probe-CB6KR9ri.js +0 -240
  855. package/dist/probe-CWtFr2jl.js +0 -2
  856. package/dist/probe-CcBuLmYT.js +0 -2205
  857. package/dist/probe-DYqlJBSk.js +0 -2
  858. package/dist/probe-_IUalbC8.js +0 -1443
  859. package/dist/program-sXJs6Lyj.js +0 -111
  860. package/dist/prompt-select-styled-jucMgA5f.js +0 -20
  861. package/dist/protocol-DgMCJAA_.js +0 -2586
  862. package/dist/provider-dispatcher-9z9Dw59_.js +0 -2
  863. package/dist/provider-dispatcher-DyQNST2Z.js +0 -22
  864. package/dist/qr-cli-Dwc3sjiV.js +0 -2
  865. package/dist/qr-cli-hTiyQbbK.js +0 -349
  866. package/dist/reaction-runtime-api-Q9NHKbpw.js +0 -116
  867. package/dist/reactions-DGczAFsd.js +0 -998
  868. package/dist/register-service-commands-Dxwl01rR.js +0 -71
  869. package/dist/register.agent-Drovpr_f.js +0 -248
  870. package/dist/register.configure-BzQtmjqp.js +0 -15
  871. package/dist/register.maintenance-PRykY6qq.js +0 -363
  872. package/dist/register.message-Dw6OLnap.js +0 -329
  873. package/dist/register.onboard-CB7aqo8I.js +0 -88
  874. package/dist/register.runtime-5QpZP1PI.js +0 -81
  875. package/dist/register.setup-GLc__3H1.js +0 -150
  876. package/dist/register.status-health-sessions-DuQnS6V7.js +0 -1215
  877. package/dist/register.subclis-Bupq6ckp.js +0 -3
  878. package/dist/register.subclis-Df0YvsXg.js +0 -29
  879. package/dist/register.subclis-core-CK63Nor4.js +0 -249
  880. package/dist/reply-dispatch-runtime-D63ANCTQ.js +0 -13
  881. package/dist/reply-runtime-CLq8xugv.js +0 -10
  882. package/dist/reply.runtime-FitoWYiX.js +0 -2
  883. package/dist/restart-health-CNE6ENF8.js +0 -202
  884. package/dist/restart-health-DriNCEEo.js +0 -2
  885. package/dist/root-help-BsG62TUK.js +0 -44
  886. package/dist/routes-B8SmZM_C.js +0 -3341
  887. package/dist/routes-CVtIuQaj.js +0 -2
  888. package/dist/rpc-AJw8-VEF.js +0 -61
  889. package/dist/rpc.runtime-NzXXr3IH.js +0 -21
  890. package/dist/run-delivery.runtime-DDc5pTuc.js +0 -530
  891. package/dist/run-embedded.runtime-BlLE0DKl.js +0 -4
  892. package/dist/run-execution-cli.runtime-Dx9bn2nL.js +0 -4
  893. package/dist/run-executor.runtime-Bx0-xr66.js +0 -277
  894. package/dist/run-main-Q7WXDun9.js +0 -567
  895. package/dist/run-subagent-registry.runtime-DN441nGA.js +0 -2
  896. package/dist/run-wait-DOOBZLr5.js +0 -135
  897. package/dist/runtime-B56xKFjA.js +0 -9
  898. package/dist/runtime-D--xK0Me.js +0 -961
  899. package/dist/runtime-api-BGOAhjcp.js +0 -9
  900. package/dist/runtime-api-CcUMXjjy.js +0 -14
  901. package/dist/runtime-api-L9lB-rDz.js +0 -4
  902. package/dist/runtime-api-ap0gPIKQ.js +0 -9
  903. package/dist/runtime-embedded-pi.runtime-CQ5TsVlh.js +0 -2
  904. package/dist/runtime-internal-DwAoh64o.js +0 -2
  905. package/dist/runtime-options-CtF_gotz.js +0 -275
  906. package/dist/runtime-schema-7aqYdEly.js +0 -28599
  907. package/dist/scan-BmfJ_GUd.js +0 -2
  908. package/dist/scan-BwUXPVa4.js +0 -523
  909. package/dist/secrets-cli-Byrmt5p3.js +0 -2101
  910. package/dist/security-cli-Cb_qzWSU.js +0 -486
  911. package/dist/selection-BaZ-7Sz6.js +0 -2
  912. package/dist/selection-C8rwxPqg.js +0 -7743
  913. package/dist/send-C3Ht9Buu.js +0 -102
  914. package/dist/send-NpRBz3rn.js +0 -156
  915. package/dist/send.runtime-Buvd_P2p.js +0 -2
  916. package/dist/server-B8tim7RO.js +0 -13
  917. package/dist/server-ClAvfJJm.js +0 -77
  918. package/dist/server-context-Dl7OQ56d.js +0 -2
  919. package/dist/server-context-F2Jh0JBO.js +0 -847
  920. package/dist/server-node-events-Db8SbNO0.js +0 -474
  921. package/dist/server-plugin-bootstrap-DxpFA7AU.js +0 -13703
  922. package/dist/server-plugin-bootstrap-t6Z_tN0J.js +0 -2
  923. package/dist/server-restart-sentinel-VLhFJOy5.js +0 -684
  924. package/dist/server.impl-BNDZK6Lv.js +0 -12804
  925. package/dist/session-kill-http-C35_XMK_.js +0 -110
  926. package/dist/session-reset-service-Cs7o8vTZ.js +0 -497
  927. package/dist/session-route-DwjrtcvV.js +0 -93
  928. package/dist/session-status.runtime-Cp9hECfs.js +0 -2
  929. package/dist/session-subagent-reactivation.runtime-3hC6cwVh.js +0 -2
  930. package/dist/session-tab-registry-BHn1P3lZ.js +0 -581
  931. package/dist/session-visibility-C5yhLdDZ.js +0 -147
  932. package/dist/sessions-helpers-C_xGZAo7.js +0 -305
  933. package/dist/sessions-history-http-CQ-Ga5H3.js +0 -371
  934. package/dist/sessions-patch-XzBTc4fY.js +0 -309
  935. package/dist/sessions-resolve-CF4QOXiX.js +0 -174
  936. package/dist/sessions.runtime-CEV3VtEH.js +0 -2
  937. package/dist/setup-D218KRK6.js +0 -636
  938. package/dist/setup-api-BvHlVezg.js +0 -29
  939. package/dist/setup-core-BjceveVY.js +0 -171
  940. package/dist/setup-core-CxDIk2Qq.js +0 -176
  941. package/dist/setup-surface-6hnrFGJ3.js +0 -286
  942. package/dist/setup-surface-BBDyg26_.js +0 -219
  943. package/dist/setup-surface-HREO9zEo.js +0 -403
  944. package/dist/setup.finalize-CAJxf_Mm.js +0 -547
  945. package/dist/setup.gateway-config-g6JfCjT4.js +0 -250
  946. package/dist/shared-CJ2_38Ar.js +0 -198
  947. package/dist/shared-CecRnN5i.js +0 -76
  948. package/dist/shared-Zan1S92i.js +0 -121
  949. package/dist/slash-state-EXy1B2EX.js +0 -1911
  950. package/dist/src-Dda8Fvmo.js +0 -3974
  951. package/dist/startup-context-BLtyYbKu.js +0 -312
  952. package/dist/status-B1RXiDvc.js +0 -3
  953. package/dist/status-B4tnoXkV.js +0 -2
  954. package/dist/status-BWXZC-dF.js +0 -2
  955. package/dist/status-DNnTegVL.js +0 -395
  956. package/dist/status-G3Z29Cb_.js +0 -190
  957. package/dist/status-all-pjolmMGB.js +0 -498
  958. package/dist/status-json-BKR5uVlE.js +0 -14
  959. package/dist/status-json-command-DuIQ8dNz.js +0 -82
  960. package/dist/status-n2SrcSeP.js +0 -209
  961. package/dist/status-runtime-shared-9akPh3OB.js +0 -241
  962. package/dist/status-subagents.runtime-C-2-94r7.js +0 -18
  963. package/dist/status-text-DY-AMW7D.js +0 -237
  964. package/dist/status.gateway-connection.runtime-CGwlyVSQ.js +0 -2
  965. package/dist/status.gather-C17tVkff.js +0 -2
  966. package/dist/status.gather-CGXwFKnq.js +0 -292
  967. package/dist/status.runtime-DdcRs0mC.js +0 -2
  968. package/dist/status.scan-BSIqJF_S.js +0 -65
  969. package/dist/status.scan-overview-CbwLYoIT.js +0 -379
  970. package/dist/status.scan.fast-json-BnpfFSN8.js +0 -2
  971. package/dist/status.scan.fast-json-W54JDFUy.js +0 -132
  972. package/dist/status.summary-CeaTG93y.js +0 -2
  973. package/dist/status.summary-LPaYBiqB.js +0 -200
  974. package/dist/subagent-announce-Dn5xl49E.js +0 -351
  975. package/dist/subagent-announce-delivery-CpVHT0KZ.js +0 -726
  976. package/dist/subagent-announce-output-Ba8GDqQZ.js +0 -364
  977. package/dist/subagent-control-Clm3gsra.js +0 -506
  978. package/dist/subagent-followup.runtime-OlILj5hg.js +0 -68
  979. package/dist/subagent-orphan-recovery-Dqi7ktSy.js +0 -305
  980. package/dist/subagent-registry-BfT1dA_H.js +0 -3
  981. package/dist/subagent-registry-DsOeyo6i.js +0 -1753
  982. package/dist/subagent-spawn-IMKDJ_Ai.js +0 -1005
  983. package/dist/system-cli-QcbUPgUP.js +0 -43
  984. package/dist/targets-rJXMe19f.js +0 -67
  985. package/dist/task-executor-CT_QfGPJ.js +0 -360
  986. package/dist/task-owner-access-Bm14vxJa.js +0 -74
  987. package/dist/task-registry-D6gK7iIt.js +0 -2357
  988. package/dist/task-registry-delivery-runtime-CDAeASdU.js +0 -2
  989. package/dist/task-registry-delivery-runtime-CeWw5kdc.js +0 -3
  990. package/dist/task-registry.maintenance-B5hpULqB.js +0 -416
  991. package/dist/task-registry.maintenance-DZFQCCjc.js +0 -2
  992. package/dist/testing-B2Y0vJ76.js +0 -575
  993. package/dist/text-report-0Q8c04if.js +0 -549
  994. package/dist/tool-resolution-CHcj9HdC.js +0 -90
  995. package/dist/tools-effective-inventory-Giuks2Dt.js +0 -152
  996. package/dist/tools-invoke-http-FlaWbmCS.js +0 -206
  997. package/dist/trash-BzlpkaUi.js +0 -24
  998. package/dist/tui-cli-B9Emgd5Q.js +0 -4585
  999. package/dist/update-cli-ln47pDmA.js +0 -1759
  1000. package/dist/upgrade-Ctu4zfU3.js +0 -1226
  1001. package/dist/video-generation-task-status-AzBxxMK4.js +0 -163
  1002. package/dist/wait-for-idle-before-flush-D4a3dGVX.js +0 -6025
  1003. package/dist/wizard-models-DpLispoG.js +0 -334
@@ -1,1237 +0,0 @@
1
- import { c as normalizeOptionalString } from "./string-coerce-DPP_aYVc.js";
2
- import { u as normalizeE164 } from "./utils-CWrkFsp0.js";
3
- import { t as createNonExitingRuntime } from "./runtime-DDkDH9fa.js";
4
- import { a as shouldLogVerbose, r as logVerbose, t as danger } from "./globals-wYf9_gv5.js";
5
- import { s as normalizeStringEntries } from "./string-normalization-Bsx26hdl.js";
6
- import { a as loadConfig } from "./io-Cy5vajWd.js";
7
- import { n as fireAndForgetHook } from "./fire-and-forget-8fCMxRxR.js";
8
- import { m as triggerInternalHook, n as createInternalHookEvent } from "./internal-hooks-BMLHhb7n.js";
9
- import { i as resolveHumanDelayConfig } from "./identity-BbTjMz-I.js";
10
- import { u as resolveStorePath } from "./paths-CiRFr3OE.js";
11
- import { n as readSessionUpdatedAt } from "./store-BtHVDH2Q.js";
12
- import { n as sleepWithAbort, t as computeBackoff } from "./backoff-CCS8QGr9.js";
13
- import { s as kindFromMime, t as detectMime } from "./mime-uYFJ8ocK.js";
14
- import { n as estimateBase64DecodedBytes } from "./base64-CQYUtMPj.js";
15
- import { i as deliverTextOrMediaReply, m as resolveSendableOutboundReplyParts } from "./reply-payload-CWBVBJ1c.js";
16
- import { i as enqueueSystemEvent } from "./system-events-DEhWwh94.js";
17
- import { l as saveMediaBuffer } from "./store-Il9HLBFt.js";
18
- import { n as resolveChannelGroupRequireMention, t as resolveChannelGroupPolicy } from "./group-policy-C6j1iFoy.js";
19
- import { c as resolveTextChunkLimit, o as chunkTextWithMode, s as resolveChunkMode } from "./chunk-DNCIrobv.js";
20
- import { i as toInternalMessageReceivedContext } from "./message-hook-mappers-C27ptA72.js";
21
- import { i as resolveAgentRoute } from "./resolve-route-DANUDWzO.js";
22
- import "./text-runtime-DVUvIDNC.js";
23
- import "./routing-C4eysASR.js";
24
- import { t as hasControlCommand } from "./command-detection-B7TB9nw5.js";
25
- import { a as createReplyDispatcherWithTyping, t as dispatchInboundMessage } from "./dispatch-r6Uv7puk.js";
26
- import { t as finalizeInboundContext } from "./inbound-context-DJVMrgDz.js";
27
- import { a as resolveEnvelopeFormatOptions, i as formatInboundFromLabel, r as formatInboundEnvelope } from "./envelope-pVilMBD8.js";
28
- import { n as buildMentionRegexes, r as matchesMentionPatterns } from "./mentions-DLBObkkw.js";
29
- import { n as resolveControlCommandGate } from "./command-gating-DK3daq-x.js";
30
- import { n as resolveInboundMentionDecision } from "./mention-gating-DK2KrT0w.js";
31
- import { t as recordInboundSession } from "./session-BThNEh5u.js";
32
- import { d as upsertChannelPairingRequest } from "./pairing-store-T3f7yIx-.js";
33
- import { a as warnMissingProviderGroupPolicyFallbackOnce, n as resolveAllowlistProviderRuntimeGroupPolicy, r as resolveDefaultGroupPolicy } from "./runtime-group-policy-BNbazEBq.js";
34
- import { c as resolvePinnedMainDmOwnerFromAllowlist, n as readStoreAllowFromForDmPolicy, o as resolveDmGroupAccessWithLists, t as DM_GROUP_ACCESS_REASON } from "./dm-policy-shared-6bTNkZt-.js";
35
- import { a as buildPendingHistoryContextFromMap, s as clearHistoryEntriesIfEnabled, u as recordPendingHistoryEntryIfEnabled } from "./history-C378qdHW.js";
36
- import "./reply-history-Bk_WS6JL.js";
37
- import { n as logInboundDrop, r as logTypingFailure } from "./logging-BxvkluBF.js";
38
- import { t as createChannelReplyPipeline } from "./channel-reply-pipeline-BbFpiuUk.js";
39
- import { t as createChannelPairingChallengeIssuer } from "./channel-pairing-DQW7B5h7.js";
40
- import "./runtime-env-wI9azPbI.js";
41
- import { t as evaluateSupplementalContextVisibility } from "./context-visibility-DRh0KnYa.js";
42
- import { t as resolveChannelContextVisibilityMode } from "./context-visibility-CoE9RZ5C.js";
43
- import "./config-runtime-BnYU3hOw.js";
44
- import "./reply-runtime-CLq8xugv.js";
45
- import { t as waitForTransportReady } from "./transport-ready-fymwId31.js";
46
- import "./infra-runtime-CBfd1WMP.js";
47
- import "./media-runtime-BetXjDy_.js";
48
- import "./conversation-runtime-CkcxSb_S.js";
49
- import "./agent-runtime-mKUGZmYk.js";
50
- import "./security-runtime-BO4S_-u3.js";
51
- import "./hook-runtime-McRidcQ_.js";
52
- import "./command-auth-BWQO7kca.js";
53
- import "./channel-feedback-C9R0sNH3.js";
54
- import { n as shouldDebounceTextInbound, t as createChannelInboundDebouncer } from "./channel-inbound-BRCAVWH1.js";
55
- import { i as resolveSignalAccount } from "./accounts-B2aksIpL.js";
56
- import { a as isSignalSenderAllowed, c as resolveSignalRecipient, f as normalizeSignalMessagingTarget, l as resolveSignalSender, n as formatSignalSenderDisplay, o as normalizeSignalAllowRecipient, r as formatSignalSenderId, s as resolveSignalPeerId, t as formatSignalPairingIdLine } from "./identity-BU3NdxQD.js";
57
- import { n as signalRpcRequest, r as streamSignalEvents, t as signalCheck } from "./client-CcimlPth.js";
58
- import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-NpRBz3rn.js";
59
- import { spawn } from "node:child_process";
60
- //#region extensions/signal/src/daemon.ts
61
- function formatSignalDaemonExit(exit) {
62
- return `signal daemon exited (source=${exit.source} code=${exit.code ?? "null"} signal=${exit.signal ?? "null"})`;
63
- }
64
- function classifySignalCliLogLine(line) {
65
- const trimmed = line.trim();
66
- if (!trimmed) return null;
67
- if (/\b(ERROR|WARN|WARNING)\b/.test(trimmed)) return "error";
68
- if (/\b(FAILED|SEVERE|EXCEPTION)\b/i.test(trimmed)) return "error";
69
- return "log";
70
- }
71
- function bindSignalCliOutput(params) {
72
- params.stream?.on("data", (data) => {
73
- for (const line of data.toString().split(/\r?\n/)) {
74
- const kind = classifySignalCliLogLine(line);
75
- if (kind === "log") params.log(`signal-cli: ${line.trim()}`);
76
- else if (kind === "error") params.error(`signal-cli: ${line.trim()}`);
77
- }
78
- });
79
- }
80
- function buildDaemonArgs(opts) {
81
- const args = [];
82
- if (opts.account) args.push("-a", opts.account);
83
- args.push("daemon");
84
- args.push("--http", `${opts.httpHost}:${opts.httpPort}`);
85
- args.push("--no-receive-stdout");
86
- if (opts.receiveMode) args.push("--receive-mode", opts.receiveMode);
87
- if (opts.ignoreAttachments) args.push("--ignore-attachments");
88
- if (opts.ignoreStories) args.push("--ignore-stories");
89
- if (opts.sendReadReceipts) args.push("--send-read-receipts");
90
- return args;
91
- }
92
- function spawnSignalDaemon(opts) {
93
- const args = buildDaemonArgs(opts);
94
- const child = spawn(opts.cliPath, args, { stdio: [
95
- "ignore",
96
- "pipe",
97
- "pipe"
98
- ] });
99
- const log = opts.runtime?.log ?? (() => {});
100
- const error = opts.runtime?.error ?? (() => {});
101
- let exited = false;
102
- let settledExit = false;
103
- let resolveExit;
104
- const exitedPromise = new Promise((resolve) => {
105
- resolveExit = resolve;
106
- });
107
- const settleExit = (value) => {
108
- if (settledExit) return;
109
- settledExit = true;
110
- exited = true;
111
- resolveExit(value);
112
- };
113
- bindSignalCliOutput({
114
- stream: child.stdout,
115
- log,
116
- error
117
- });
118
- bindSignalCliOutput({
119
- stream: child.stderr,
120
- log,
121
- error
122
- });
123
- child.once("exit", (code, signal) => {
124
- settleExit({
125
- source: "process",
126
- code: typeof code === "number" ? code : null,
127
- signal: signal ?? null
128
- });
129
- error(formatSignalDaemonExit({
130
- source: "process",
131
- code: code ?? null,
132
- signal: signal ?? null
133
- }));
134
- });
135
- child.once("close", (code, signal) => {
136
- settleExit({
137
- source: "process",
138
- code: typeof code === "number" ? code : null,
139
- signal: signal ?? null
140
- });
141
- });
142
- child.on("error", (err) => {
143
- error(`signal-cli spawn error: ${String(err)}`);
144
- settleExit({
145
- source: "spawn-error",
146
- code: null,
147
- signal: null
148
- });
149
- });
150
- return {
151
- pid: child.pid ?? void 0,
152
- exited: exitedPromise,
153
- isExited: () => exited,
154
- stop: () => {
155
- if (!child.killed && !exited) child.kill("SIGTERM");
156
- }
157
- };
158
- }
159
- //#endregion
160
- //#region extensions/signal/src/monitor/access-policy.ts
161
- async function resolveSignalAccessState(params) {
162
- const storeAllowFrom = await readStoreAllowFromForDmPolicy({
163
- provider: "signal",
164
- accountId: params.accountId,
165
- dmPolicy: params.dmPolicy
166
- });
167
- const resolveAccessDecision = (isGroup) => resolveDmGroupAccessWithLists({
168
- isGroup,
169
- dmPolicy: params.dmPolicy,
170
- groupPolicy: params.groupPolicy,
171
- allowFrom: params.allowFrom,
172
- groupAllowFrom: params.groupAllowFrom,
173
- storeAllowFrom,
174
- isSenderAllowed: (allowEntries) => isSignalSenderAllowed(params.sender, allowEntries)
175
- });
176
- const dmAccess = resolveAccessDecision(false);
177
- return {
178
- resolveAccessDecision,
179
- dmAccess,
180
- effectiveDmAllow: dmAccess.effectiveAllowFrom,
181
- effectiveGroupAllow: dmAccess.effectiveGroupAllowFrom
182
- };
183
- }
184
- async function handleSignalDirectMessageAccess(params) {
185
- if (params.dmAccessDecision === "allow") return true;
186
- if (params.dmAccessDecision === "block") {
187
- if (params.dmPolicy !== "disabled") params.log(`Blocked signal sender ${params.senderDisplay} (dmPolicy=${params.dmPolicy})`);
188
- return false;
189
- }
190
- if (params.dmPolicy === "pairing") await createChannelPairingChallengeIssuer({
191
- channel: "signal",
192
- upsertPairingRequest: async ({ id, meta }) => await upsertChannelPairingRequest({
193
- channel: "signal",
194
- id,
195
- accountId: params.accountId,
196
- meta
197
- })
198
- })({
199
- senderId: params.senderId,
200
- senderIdLine: params.senderIdLine,
201
- meta: { name: params.senderName },
202
- sendPairingReply: params.sendPairingReply,
203
- onCreated: () => {
204
- params.log(`signal pairing request sender=${params.senderId}`);
205
- },
206
- onReplyError: (err) => {
207
- params.log(`signal pairing reply failed for ${params.senderId}: ${String(err)}`);
208
- }
209
- });
210
- return false;
211
- }
212
- //#endregion
213
- //#region extensions/signal/src/monitor/inbound-context.ts
214
- function resolveSignalQuoteContext(params) {
215
- const contextVisibilityMode = resolveChannelContextVisibilityMode({
216
- cfg: params.cfg,
217
- channel: "signal",
218
- accountId: params.accountId
219
- });
220
- const quoteText = normalizeOptionalString(params.dataMessage?.quote?.text) ?? "";
221
- const quoteSender = resolveSignalSender({
222
- sourceNumber: params.dataMessage?.quote?.author ?? null,
223
- sourceUuid: params.dataMessage?.quote?.authorUuid ?? null
224
- });
225
- const quoteSenderAllowed = !params.isGroup || params.effectiveGroupAllow.length === 0 ? true : quoteSender ? isSignalSenderAllowed(quoteSender, params.effectiveGroupAllow) : false;
226
- const decision = evaluateSupplementalContextVisibility({
227
- mode: contextVisibilityMode,
228
- kind: "quote",
229
- senderAllowed: quoteSenderAllowed
230
- });
231
- return {
232
- contextVisibilityMode,
233
- decision,
234
- quoteSenderAllowed,
235
- visibleQuoteText: decision.include ? quoteText : "",
236
- visibleQuoteSender: decision.include && quoteSender ? formatSignalSenderDisplay(quoteSender) : void 0
237
- };
238
- }
239
- //#endregion
240
- //#region extensions/signal/src/monitor/mentions.ts
241
- const OBJECT_REPLACEMENT = "";
242
- function isValidMention(mention) {
243
- if (!mention) return false;
244
- if (!(mention.uuid || mention.number)) return false;
245
- if (typeof mention.start !== "number" || Number.isNaN(mention.start)) return false;
246
- if (typeof mention.length !== "number" || Number.isNaN(mention.length)) return false;
247
- return mention.length > 0;
248
- }
249
- function clampBounds(start, length, textLength) {
250
- const safeStart = Math.max(0, Math.trunc(start));
251
- return {
252
- start: safeStart,
253
- end: Math.min(textLength, safeStart + Math.max(0, Math.trunc(length)))
254
- };
255
- }
256
- function renderSignalMentions(message, mentions) {
257
- if (!message || !mentions?.length) return message;
258
- let normalized = message;
259
- const candidates = mentions.filter(isValidMention).toSorted((a, b) => b.start - a.start);
260
- for (const mention of candidates) {
261
- const identifier = mention.uuid ?? mention.number;
262
- if (!identifier) continue;
263
- const { start, end } = clampBounds(mention.start, mention.length, normalized.length);
264
- if (start >= end) continue;
265
- if (!normalized.slice(start, end).includes(OBJECT_REPLACEMENT)) continue;
266
- normalized = normalized.slice(0, start) + `@${identifier}` + normalized.slice(end);
267
- }
268
- return normalized;
269
- }
270
- //#endregion
271
- //#region extensions/signal/src/monitor/event-handler.ts
272
- function formatAttachmentKindCount(kind, count) {
273
- if (kind === "attachment") return `${count} file${count > 1 ? "s" : ""}`;
274
- return `${count} ${kind}${count > 1 ? "s" : ""}`;
275
- }
276
- function formatAttachmentSummaryPlaceholder(contentTypes) {
277
- const kindCounts = /* @__PURE__ */ new Map();
278
- for (const contentType of contentTypes) {
279
- const kind = kindFromMime(contentType) ?? "attachment";
280
- kindCounts.set(kind, (kindCounts.get(kind) ?? 0) + 1);
281
- }
282
- return `[${[...kindCounts.entries()].map(([kind, count]) => formatAttachmentKindCount(kind, count)).join(" + ")} attached]`;
283
- }
284
- function resolveSignalInboundRoute(params) {
285
- return resolveAgentRoute({
286
- cfg: params.cfg,
287
- channel: "signal",
288
- accountId: params.accountId,
289
- peer: {
290
- kind: params.isGroup ? "group" : "direct",
291
- id: params.isGroup ? params.groupId ?? "unknown" : params.senderPeerId
292
- }
293
- });
294
- }
295
- function createSignalEventHandler(deps) {
296
- async function handleSignalInboundMessage(entry) {
297
- const fromLabel = formatInboundFromLabel({
298
- isGroup: entry.isGroup,
299
- groupLabel: entry.groupName ?? void 0,
300
- groupId: entry.groupId ?? "unknown",
301
- groupFallback: "Group",
302
- directLabel: entry.senderName,
303
- directId: entry.senderDisplay
304
- });
305
- const route = resolveSignalInboundRoute({
306
- cfg: deps.cfg,
307
- accountId: deps.accountId,
308
- isGroup: entry.isGroup,
309
- groupId: entry.groupId,
310
- senderPeerId: entry.senderPeerId
311
- });
312
- const storePath = resolveStorePath(deps.cfg.session?.store, { agentId: route.agentId });
313
- const envelopeOptions = resolveEnvelopeFormatOptions(deps.cfg);
314
- const previousTimestamp = readSessionUpdatedAt({
315
- storePath,
316
- sessionKey: route.sessionKey
317
- });
318
- const body = formatInboundEnvelope({
319
- channel: "Signal",
320
- from: fromLabel,
321
- timestamp: entry.timestamp ?? void 0,
322
- body: entry.bodyText,
323
- chatType: entry.isGroup ? "group" : "direct",
324
- sender: {
325
- name: entry.senderName,
326
- id: entry.senderDisplay
327
- },
328
- previousTimestamp,
329
- envelope: envelopeOptions
330
- });
331
- let combinedBody = body;
332
- const historyKey = entry.isGroup ? entry.groupId ?? "unknown" : void 0;
333
- if (entry.isGroup && historyKey) combinedBody = buildPendingHistoryContextFromMap({
334
- historyMap: deps.groupHistories,
335
- historyKey,
336
- limit: deps.historyLimit,
337
- currentMessage: combinedBody,
338
- formatEntry: (historyEntry) => formatInboundEnvelope({
339
- channel: "Signal",
340
- from: fromLabel,
341
- timestamp: historyEntry.timestamp,
342
- body: `${historyEntry.body}${historyEntry.messageId ? ` [id:${historyEntry.messageId}]` : ""}`,
343
- chatType: "group",
344
- senderLabel: historyEntry.sender,
345
- envelope: envelopeOptions
346
- })
347
- });
348
- const signalToRaw = entry.isGroup ? `group:${entry.groupId}` : `signal:${entry.senderRecipient}`;
349
- const signalTo = normalizeSignalMessagingTarget(signalToRaw) ?? signalToRaw;
350
- const inboundHistory = entry.isGroup && historyKey && deps.historyLimit > 0 ? (deps.groupHistories.get(historyKey) ?? []).map((historyEntry) => ({
351
- sender: historyEntry.sender,
352
- body: historyEntry.body,
353
- timestamp: historyEntry.timestamp
354
- })) : void 0;
355
- const ctxPayload = finalizeInboundContext({
356
- Body: combinedBody,
357
- BodyForAgent: entry.bodyText,
358
- InboundHistory: inboundHistory,
359
- RawBody: entry.bodyText,
360
- CommandBody: entry.commandBody,
361
- BodyForCommands: entry.commandBody,
362
- From: entry.isGroup ? `group:${entry.groupId ?? "unknown"}` : `signal:${entry.senderRecipient}`,
363
- To: signalTo,
364
- SessionKey: route.sessionKey,
365
- AccountId: route.accountId,
366
- ChatType: entry.isGroup ? "group" : "direct",
367
- ConversationLabel: fromLabel,
368
- GroupSubject: entry.isGroup ? entry.groupName ?? void 0 : void 0,
369
- SenderName: entry.senderName,
370
- SenderId: entry.senderDisplay,
371
- Provider: "signal",
372
- Surface: "signal",
373
- MessageSid: entry.messageId,
374
- ReplyToBody: entry.replyToBody,
375
- ReplyToSender: entry.replyToSender,
376
- ReplyToIsQuote: entry.replyToIsQuote,
377
- Timestamp: entry.timestamp ?? void 0,
378
- MediaPath: entry.mediaPath,
379
- MediaType: entry.mediaType,
380
- MediaUrl: entry.mediaPath,
381
- MediaPaths: entry.mediaPaths,
382
- MediaUrls: entry.mediaPaths,
383
- MediaTypes: entry.mediaTypes,
384
- WasMentioned: entry.isGroup ? entry.wasMentioned === true : void 0,
385
- CommandAuthorized: entry.commandAuthorized,
386
- OriginatingChannel: "signal",
387
- OriginatingTo: signalTo
388
- });
389
- await recordInboundSession({
390
- storePath,
391
- sessionKey: ctxPayload.SessionKey ?? route.sessionKey,
392
- ctx: ctxPayload,
393
- updateLastRoute: !entry.isGroup ? {
394
- sessionKey: route.mainSessionKey,
395
- channel: "signal",
396
- to: entry.senderRecipient,
397
- accountId: route.accountId,
398
- mainDmOwnerPin: (() => {
399
- const pinnedOwner = resolvePinnedMainDmOwnerFromAllowlist({
400
- dmScope: deps.cfg.session?.dmScope,
401
- allowFrom: deps.allowFrom,
402
- normalizeEntry: normalizeSignalAllowRecipient
403
- });
404
- if (!pinnedOwner) return;
405
- return {
406
- ownerRecipient: pinnedOwner,
407
- senderRecipient: entry.senderRecipient,
408
- onSkip: ({ ownerRecipient, senderRecipient }) => {
409
- logVerbose(`signal: skip main-session last route for ${senderRecipient} (pinned owner ${ownerRecipient})`);
410
- }
411
- };
412
- })()
413
- } : void 0,
414
- onRecordError: (err) => {
415
- logVerbose(`signal: failed updating session meta: ${String(err)}`);
416
- }
417
- });
418
- if (shouldLogVerbose()) {
419
- const preview = body.slice(0, 200).replace(/\\n/g, "\\\\n");
420
- logVerbose(`signal inbound: from=${ctxPayload.From} len=${body.length} preview="${preview}"`);
421
- }
422
- const { onModelSelected, typingCallbacks, ...replyPipeline } = createChannelReplyPipeline({
423
- cfg: deps.cfg,
424
- agentId: route.agentId,
425
- channel: "signal",
426
- accountId: route.accountId,
427
- typing: {
428
- start: async () => {
429
- if (!ctxPayload.To) return;
430
- await sendTypingSignal(ctxPayload.To, {
431
- cfg: deps.cfg,
432
- baseUrl: deps.baseUrl,
433
- account: deps.account,
434
- accountId: deps.accountId
435
- });
436
- },
437
- onStartError: (err) => {
438
- logTypingFailure({
439
- log: logVerbose,
440
- channel: "signal",
441
- target: ctxPayload.To ?? void 0,
442
- error: err
443
- });
444
- }
445
- }
446
- });
447
- const { dispatcher, replyOptions, markDispatchIdle } = createReplyDispatcherWithTyping({
448
- ...replyPipeline,
449
- humanDelay: resolveHumanDelayConfig(deps.cfg, route.agentId),
450
- typingCallbacks,
451
- deliver: async (payload) => {
452
- await deps.deliverReplies({
453
- cfg: deps.cfg,
454
- replies: [payload],
455
- target: ctxPayload.To,
456
- baseUrl: deps.baseUrl,
457
- account: deps.account,
458
- accountId: deps.accountId,
459
- runtime: deps.runtime,
460
- maxBytes: deps.mediaMaxBytes,
461
- textLimit: deps.textLimit
462
- });
463
- },
464
- onError: (err, info) => {
465
- deps.runtime.error?.(danger(`signal ${info.kind} reply failed: ${String(err)}`));
466
- }
467
- });
468
- const { queuedFinal } = await dispatchInboundMessage({
469
- ctx: ctxPayload,
470
- cfg: deps.cfg,
471
- dispatcher,
472
- replyOptions: {
473
- ...replyOptions,
474
- disableBlockStreaming: typeof deps.blockStreaming === "boolean" ? !deps.blockStreaming : void 0,
475
- onModelSelected
476
- }
477
- });
478
- markDispatchIdle();
479
- if (!queuedFinal) {
480
- if (entry.isGroup && historyKey) clearHistoryEntriesIfEnabled({
481
- historyMap: deps.groupHistories,
482
- historyKey,
483
- limit: deps.historyLimit
484
- });
485
- return;
486
- }
487
- if (entry.isGroup && historyKey) clearHistoryEntriesIfEnabled({
488
- historyMap: deps.groupHistories,
489
- historyKey,
490
- limit: deps.historyLimit
491
- });
492
- }
493
- const { debouncer: inboundDebouncer } = createChannelInboundDebouncer({
494
- cfg: deps.cfg,
495
- channel: "signal",
496
- buildKey: (entry) => {
497
- const conversationId = entry.isGroup ? entry.groupId ?? "unknown" : entry.senderPeerId;
498
- if (!conversationId || !entry.senderPeerId) return null;
499
- return `signal:${deps.accountId}:${conversationId}:${entry.senderPeerId}`;
500
- },
501
- shouldDebounce: (entry) => {
502
- return shouldDebounceTextInbound({
503
- text: entry.bodyText,
504
- cfg: deps.cfg,
505
- hasMedia: Boolean(entry.mediaPath || entry.mediaType || entry.mediaPaths?.length)
506
- });
507
- },
508
- onFlush: async (entries) => {
509
- const last = entries.at(-1);
510
- if (!last) return;
511
- if (entries.length === 1) {
512
- await handleSignalInboundMessage(last);
513
- return;
514
- }
515
- const combinedText = entries.map((entry) => entry.bodyText).filter(Boolean).join("\\n");
516
- if (!combinedText.trim()) return;
517
- await handleSignalInboundMessage({
518
- ...last,
519
- bodyText: combinedText,
520
- mediaPath: void 0,
521
- mediaType: void 0,
522
- mediaPaths: void 0,
523
- mediaTypes: void 0
524
- });
525
- },
526
- onError: (err) => {
527
- deps.runtime.error?.(`signal debounce flush failed: ${String(err)}`);
528
- }
529
- });
530
- function handleReactionOnlyInbound(params) {
531
- if (params.hasBodyContent) return false;
532
- if (params.reaction.isRemove) return true;
533
- const emojiLabel = normalizeOptionalString(params.reaction.emoji) ?? "emoji";
534
- const senderName = params.envelope.sourceName ?? params.senderDisplay;
535
- logVerbose(`signal reaction: ${emojiLabel} from ${senderName}`);
536
- const groupId = params.reaction.groupInfo?.groupId ?? void 0;
537
- const groupName = params.reaction.groupInfo?.groupName ?? void 0;
538
- const isGroup = Boolean(groupId);
539
- const reactionAccess = params.resolveAccessDecision(isGroup);
540
- if (reactionAccess.decision !== "allow") {
541
- logVerbose(`Blocked signal reaction sender ${params.senderDisplay} (${reactionAccess.reason})`);
542
- return true;
543
- }
544
- const targets = deps.resolveSignalReactionTargets(params.reaction);
545
- if (!deps.shouldEmitSignalReactionNotification({
546
- mode: deps.reactionMode,
547
- account: deps.account,
548
- targets,
549
- sender: params.sender,
550
- allowlist: deps.reactionAllowlist
551
- })) return true;
552
- const senderPeerId = resolveSignalPeerId(params.sender);
553
- const route = resolveSignalInboundRoute({
554
- cfg: deps.cfg,
555
- accountId: deps.accountId,
556
- isGroup,
557
- groupId,
558
- senderPeerId
559
- });
560
- const groupLabel = isGroup ? `${groupName ?? "Signal Group"} id:${groupId}` : void 0;
561
- const messageId = params.reaction.targetSentTimestamp ? String(params.reaction.targetSentTimestamp) : "unknown";
562
- const text = deps.buildSignalReactionSystemEventText({
563
- emojiLabel,
564
- actorLabel: senderName,
565
- messageId,
566
- targetLabel: targets[0]?.display,
567
- groupLabel
568
- });
569
- const contextKey = [
570
- "signal",
571
- "reaction",
572
- "added",
573
- messageId,
574
- formatSignalSenderId(params.sender),
575
- emojiLabel,
576
- groupId ?? ""
577
- ].filter(Boolean).join(":");
578
- enqueueSystemEvent(text, {
579
- sessionKey: route.sessionKey,
580
- contextKey
581
- });
582
- return true;
583
- }
584
- return async (event) => {
585
- if (event.event !== "receive" || !event.data) return;
586
- let payload = null;
587
- try {
588
- payload = JSON.parse(event.data);
589
- } catch (err) {
590
- deps.runtime.error?.(`failed to parse event: ${String(err)}`);
591
- return;
592
- }
593
- if (payload?.exception?.message) deps.runtime.error?.(`receive exception: ${payload.exception.message}`);
594
- const envelope = payload?.envelope;
595
- if (!envelope) return;
596
- const sender = resolveSignalSender(envelope);
597
- if (!sender) return;
598
- const normalizedAccount = deps.account ? normalizeE164(deps.account) : void 0;
599
- if (sender.kind === "phone" && normalizedAccount != null && sender.e164 === normalizedAccount || sender.kind === "uuid" && deps.accountUuid != null && sender.raw === deps.accountUuid) return;
600
- if ("syncMessage" in envelope) return;
601
- const dataMessage = envelope.dataMessage ?? envelope.editMessage?.dataMessage;
602
- const reaction = deps.isSignalReactionMessage(envelope.reactionMessage) ? envelope.reactionMessage : deps.isSignalReactionMessage(dataMessage?.reaction) ? dataMessage?.reaction : null;
603
- const messageText = renderSignalMentions(dataMessage?.message ?? "", dataMessage?.mentions).trim();
604
- const groupId = dataMessage?.groupInfo?.groupId ?? void 0;
605
- const isGroup = Boolean(groupId);
606
- const senderDisplay = formatSignalSenderDisplay(sender);
607
- const { resolveAccessDecision, dmAccess, effectiveDmAllow, effectiveGroupAllow } = await resolveSignalAccessState({
608
- accountId: deps.accountId,
609
- dmPolicy: deps.dmPolicy,
610
- groupPolicy: deps.groupPolicy,
611
- allowFrom: deps.allowFrom,
612
- groupAllowFrom: deps.groupAllowFrom,
613
- sender
614
- });
615
- const quoteText = normalizeOptionalString(dataMessage?.quote?.text) ?? "";
616
- const { contextVisibilityMode, quoteSenderAllowed, visibleQuoteText, visibleQuoteSender } = resolveSignalQuoteContext({
617
- cfg: deps.cfg,
618
- accountId: deps.accountId,
619
- isGroup,
620
- dataMessage,
621
- effectiveGroupAllow
622
- });
623
- if (quoteText && !visibleQuoteText && isGroup) logVerbose(`signal: drop quote context (mode=${contextVisibilityMode}, sender_allowed=${quoteSenderAllowed ? "yes" : "no"})`);
624
- const hasBodyContent = Boolean(messageText || visibleQuoteText) || Boolean(!reaction && dataMessage?.attachments?.length);
625
- if (reaction && handleReactionOnlyInbound({
626
- envelope,
627
- sender,
628
- senderDisplay,
629
- reaction,
630
- hasBodyContent,
631
- resolveAccessDecision
632
- })) return;
633
- if (!dataMessage) return;
634
- const senderRecipient = resolveSignalRecipient(sender);
635
- const senderPeerId = resolveSignalPeerId(sender);
636
- const senderAllowId = formatSignalSenderId(sender);
637
- if (!senderRecipient) return;
638
- const senderIdLine = formatSignalPairingIdLine(sender);
639
- const groupName = dataMessage.groupInfo?.groupName ?? void 0;
640
- if (!isGroup) {
641
- if (!await handleSignalDirectMessageAccess({
642
- dmPolicy: deps.dmPolicy,
643
- dmAccessDecision: dmAccess.decision,
644
- senderId: senderAllowId,
645
- senderIdLine,
646
- senderDisplay,
647
- senderName: envelope.sourceName ?? void 0,
648
- accountId: deps.accountId,
649
- sendPairingReply: async (text) => {
650
- await sendMessageSignal(`signal:${senderRecipient}`, text, {
651
- cfg: deps.cfg,
652
- baseUrl: deps.baseUrl,
653
- account: deps.account,
654
- maxBytes: deps.mediaMaxBytes,
655
- accountId: deps.accountId
656
- });
657
- },
658
- log: logVerbose
659
- })) return;
660
- }
661
- if (isGroup) {
662
- const groupAccess = resolveAccessDecision(true);
663
- if (groupAccess.decision !== "allow") {
664
- if (groupAccess.reasonCode === DM_GROUP_ACCESS_REASON.GROUP_POLICY_DISABLED) logVerbose("Blocked signal group message (groupPolicy: disabled)");
665
- else if (groupAccess.reasonCode === DM_GROUP_ACCESS_REASON.GROUP_POLICY_EMPTY_ALLOWLIST) logVerbose("Blocked signal group message (groupPolicy: allowlist, no groupAllowFrom)");
666
- else logVerbose(`Blocked signal group sender ${senderDisplay} (not in groupAllowFrom)`);
667
- return;
668
- }
669
- }
670
- const useAccessGroups = deps.cfg.commands?.useAccessGroups !== false;
671
- const commandDmAllow = isGroup ? deps.allowFrom : effectiveDmAllow;
672
- const ownerAllowedForCommands = isSignalSenderAllowed(sender, commandDmAllow);
673
- const groupAllowedForCommands = isSignalSenderAllowed(sender, effectiveGroupAllow);
674
- const hasControlCommandInMessage = hasControlCommand(messageText, deps.cfg);
675
- const commandGate = resolveControlCommandGate({
676
- useAccessGroups,
677
- authorizers: [{
678
- configured: commandDmAllow.length > 0,
679
- allowed: ownerAllowedForCommands
680
- }, {
681
- configured: effectiveGroupAllow.length > 0,
682
- allowed: groupAllowedForCommands
683
- }],
684
- allowTextCommands: true,
685
- hasControlCommand: hasControlCommandInMessage
686
- });
687
- const commandAuthorized = commandGate.commandAuthorized;
688
- if (isGroup && commandGate.shouldBlock) {
689
- logInboundDrop({
690
- log: logVerbose,
691
- channel: "signal",
692
- reason: "control command (unauthorized)",
693
- target: senderDisplay
694
- });
695
- return;
696
- }
697
- const route = resolveSignalInboundRoute({
698
- cfg: deps.cfg,
699
- accountId: deps.accountId,
700
- isGroup,
701
- groupId,
702
- senderPeerId
703
- });
704
- const mentionRegexes = buildMentionRegexes(deps.cfg, route.agentId);
705
- const wasMentioned = isGroup && matchesMentionPatterns(messageText, mentionRegexes);
706
- const requireMention = isGroup && resolveChannelGroupRequireMention({
707
- cfg: deps.cfg,
708
- channel: "signal",
709
- groupId,
710
- accountId: deps.accountId
711
- });
712
- const canDetectMention = mentionRegexes.length > 0;
713
- const mentionDecision = resolveInboundMentionDecision({
714
- facts: {
715
- canDetectMention,
716
- wasMentioned,
717
- hasAnyMention: false,
718
- implicitMentionKinds: []
719
- },
720
- policy: {
721
- isGroup,
722
- requireMention,
723
- allowTextCommands: true,
724
- hasControlCommand: hasControlCommandInMessage,
725
- commandAuthorized
726
- }
727
- });
728
- const effectiveWasMentioned = mentionDecision.effectiveWasMentioned;
729
- if (isGroup && requireMention && canDetectMention && mentionDecision.shouldSkip) {
730
- logInboundDrop({
731
- log: logVerbose,
732
- channel: "signal",
733
- reason: "no mention",
734
- target: senderDisplay
735
- });
736
- const pendingPlaceholder = (() => {
737
- if (!dataMessage.attachments?.length) return "";
738
- if (deps.ignoreAttachments) return "<media:attachment>";
739
- const attachmentTypes = (dataMessage.attachments ?? []).map((attachment) => typeof attachment?.contentType === "string" ? attachment.contentType : void 0);
740
- if (attachmentTypes.length > 1) return formatAttachmentSummaryPlaceholder(attachmentTypes);
741
- const firstContentType = dataMessage.attachments?.[0]?.contentType;
742
- const pendingKind = kindFromMime(firstContentType ?? void 0);
743
- return pendingKind ? `<media:${pendingKind}>` : "<media:attachment>";
744
- })();
745
- const pendingBodyText = messageText || pendingPlaceholder || visibleQuoteText;
746
- const historyKey = groupId ?? "unknown";
747
- recordPendingHistoryEntryIfEnabled({
748
- historyMap: deps.groupHistories,
749
- historyKey,
750
- limit: deps.historyLimit,
751
- entry: {
752
- sender: envelope.sourceName ?? senderDisplay,
753
- body: pendingBodyText,
754
- timestamp: envelope.timestamp ?? void 0,
755
- messageId: typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0
756
- }
757
- });
758
- const signalGroupPolicy = resolveChannelGroupPolicy({
759
- cfg: deps.cfg,
760
- channel: "signal",
761
- groupId,
762
- accountId: deps.accountId
763
- });
764
- if ((signalGroupPolicy.groupConfig?.ingest ?? signalGroupPolicy.defaultConfig?.ingest) === true) {
765
- const canonicalGroupTarget = normalizeSignalMessagingTarget(`group:${groupId}`) ?? `group:${groupId}`;
766
- fireAndForgetHook(triggerInternalHook(createInternalHookEvent("message", "received", route.sessionKey, toInternalMessageReceivedContext({
767
- from: `group:${groupId}`,
768
- to: canonicalGroupTarget,
769
- content: pendingBodyText,
770
- timestamp: envelope.timestamp ?? void 0,
771
- channelId: "signal",
772
- accountId: deps.accountId,
773
- conversationId: canonicalGroupTarget,
774
- messageId: typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0,
775
- senderId: senderDisplay,
776
- senderName: envelope.sourceName ?? void 0,
777
- provider: "signal",
778
- surface: "signal",
779
- originatingChannel: "signal",
780
- originatingTo: canonicalGroupTarget,
781
- isGroup: true,
782
- groupId: canonicalGroupTarget
783
- }))), "signal: mention-skip message hook failed");
784
- }
785
- return;
786
- }
787
- let mediaPath;
788
- let mediaType;
789
- const mediaPaths = [];
790
- const mediaTypes = [];
791
- let placeholder = "";
792
- const attachments = dataMessage.attachments ?? [];
793
- if (!deps.ignoreAttachments) for (const attachment of attachments) {
794
- if (!attachment?.id) continue;
795
- try {
796
- const fetched = await deps.fetchAttachment({
797
- baseUrl: deps.baseUrl,
798
- account: deps.account,
799
- attachment,
800
- sender: senderRecipient,
801
- groupId,
802
- maxBytes: deps.mediaMaxBytes
803
- });
804
- if (fetched) {
805
- mediaPaths.push(fetched.path);
806
- mediaTypes.push(fetched.contentType ?? attachment.contentType ?? "application/octet-stream");
807
- if (!mediaPath) {
808
- mediaPath = fetched.path;
809
- mediaType = fetched.contentType ?? attachment.contentType ?? void 0;
810
- }
811
- }
812
- } catch (err) {
813
- deps.runtime.error?.(danger(`attachment fetch failed: ${String(err)}`));
814
- }
815
- }
816
- if (mediaPaths.length > 1) placeholder = formatAttachmentSummaryPlaceholder(mediaTypes);
817
- else {
818
- const kind = kindFromMime(mediaType ?? void 0);
819
- if (kind) placeholder = `<media:${kind}>`;
820
- else if (attachments.length) placeholder = "<media:attachment>";
821
- }
822
- const bodyText = messageText || placeholder || visibleQuoteText || "";
823
- if (!bodyText) return;
824
- const receiptTimestamp = typeof envelope.timestamp === "number" ? envelope.timestamp : typeof dataMessage.timestamp === "number" ? dataMessage.timestamp : void 0;
825
- if (deps.sendReadReceipts && !deps.readReceiptsViaDaemon && !isGroup && receiptTimestamp) try {
826
- await sendReadReceiptSignal(`signal:${senderRecipient}`, receiptTimestamp, {
827
- cfg: deps.cfg,
828
- baseUrl: deps.baseUrl,
829
- account: deps.account,
830
- accountId: deps.accountId
831
- });
832
- } catch (err) {
833
- logVerbose(`signal read receipt failed for ${senderDisplay}: ${String(err)}`);
834
- }
835
- else if (deps.sendReadReceipts && !deps.readReceiptsViaDaemon && !isGroup && !receiptTimestamp) logVerbose(`signal read receipt skipped (missing timestamp) for ${senderDisplay}`);
836
- const senderName = envelope.sourceName ?? senderDisplay;
837
- const messageId = typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0;
838
- await inboundDebouncer.enqueue({
839
- senderName,
840
- senderDisplay,
841
- senderRecipient,
842
- senderPeerId,
843
- groupId,
844
- groupName,
845
- isGroup,
846
- bodyText,
847
- commandBody: messageText,
848
- timestamp: envelope.timestamp ?? void 0,
849
- messageId,
850
- mediaPath,
851
- mediaType,
852
- mediaPaths: mediaPaths.length > 0 ? mediaPaths : void 0,
853
- mediaTypes: mediaTypes.length > 0 ? mediaTypes : void 0,
854
- commandAuthorized,
855
- wasMentioned: effectiveWasMentioned,
856
- replyToBody: visibleQuoteText || void 0,
857
- replyToSender: visibleQuoteSender,
858
- replyToIsQuote: visibleQuoteText ? true : void 0
859
- });
860
- };
861
- }
862
- //#endregion
863
- //#region extensions/signal/src/sse-reconnect.ts
864
- const DEFAULT_RECONNECT_POLICY = {
865
- initialMs: 1e3,
866
- maxMs: 1e4,
867
- factor: 2,
868
- jitter: .2
869
- };
870
- async function runSignalSseLoop({ baseUrl, account, abortSignal, runtime, onEvent, policy }) {
871
- const reconnectPolicy = {
872
- ...DEFAULT_RECONNECT_POLICY,
873
- ...policy
874
- };
875
- let reconnectAttempts = 0;
876
- const logReconnectVerbose = (message) => {
877
- if (!shouldLogVerbose()) return;
878
- logVerbose(message);
879
- };
880
- for (;;) {
881
- if (abortSignal?.aborted) break;
882
- try {
883
- await streamSignalEvents({
884
- baseUrl,
885
- account,
886
- abortSignal,
887
- onEvent: (event) => {
888
- reconnectAttempts = 0;
889
- onEvent(event);
890
- }
891
- });
892
- if (abortSignal?.aborted) return;
893
- reconnectAttempts += 1;
894
- const delayMs = computeBackoff(reconnectPolicy, reconnectAttempts);
895
- logReconnectVerbose(`Signal SSE stream ended, reconnecting in ${delayMs / 1e3}s...`);
896
- await sleepWithAbort(delayMs, abortSignal);
897
- } catch (err) {
898
- if (abortSignal?.aborted) return;
899
- runtime.error?.(`Signal SSE stream error: ${String(err)}`);
900
- reconnectAttempts += 1;
901
- const delayMs = computeBackoff(reconnectPolicy, reconnectAttempts);
902
- runtime.log?.(`Signal SSE connection lost, reconnecting in ${delayMs / 1e3}s...`);
903
- try {
904
- await sleepWithAbort(delayMs, abortSignal);
905
- } catch (sleepErr) {
906
- if (abortSignal?.aborted) return;
907
- throw sleepErr;
908
- }
909
- }
910
- }
911
- }
912
- //#endregion
913
- //#region extensions/signal/src/monitor.ts
914
- function resolveRuntime(opts) {
915
- return opts.runtime ?? createNonExitingRuntime();
916
- }
917
- function mergeAbortSignals(a, b) {
918
- if (!a && !b) return {
919
- signal: void 0,
920
- dispose: () => {}
921
- };
922
- if (!a) return {
923
- signal: b,
924
- dispose: () => {}
925
- };
926
- if (!b) return {
927
- signal: a,
928
- dispose: () => {}
929
- };
930
- const controller = new AbortController();
931
- const abortFrom = (source) => {
932
- if (!controller.signal.aborted) controller.abort(source.reason);
933
- };
934
- if (a.aborted) {
935
- abortFrom(a);
936
- return {
937
- signal: controller.signal,
938
- dispose: () => {}
939
- };
940
- }
941
- if (b.aborted) {
942
- abortFrom(b);
943
- return {
944
- signal: controller.signal,
945
- dispose: () => {}
946
- };
947
- }
948
- const onAbortA = () => abortFrom(a);
949
- const onAbortB = () => abortFrom(b);
950
- a.addEventListener("abort", onAbortA, { once: true });
951
- b.addEventListener("abort", onAbortB, { once: true });
952
- return {
953
- signal: controller.signal,
954
- dispose: () => {
955
- a.removeEventListener("abort", onAbortA);
956
- b.removeEventListener("abort", onAbortB);
957
- }
958
- };
959
- }
960
- function createSignalDaemonLifecycle(params) {
961
- let daemonHandle = null;
962
- let daemonStopRequested = false;
963
- let daemonExitError;
964
- const daemonAbortController = new AbortController();
965
- const mergedAbort = mergeAbortSignals(params.abortSignal, daemonAbortController.signal);
966
- const stop = () => {
967
- daemonStopRequested = true;
968
- daemonHandle?.stop();
969
- };
970
- const attach = (handle) => {
971
- daemonHandle = handle;
972
- handle.exited.then((exit) => {
973
- if (daemonStopRequested || params.abortSignal?.aborted) return;
974
- daemonExitError = new Error(formatSignalDaemonExit(exit));
975
- if (!daemonAbortController.signal.aborted) daemonAbortController.abort(daemonExitError);
976
- });
977
- };
978
- const getExitError = () => daemonExitError;
979
- return {
980
- attach,
981
- stop,
982
- getExitError,
983
- abortSignal: mergedAbort.signal,
984
- dispose: mergedAbort.dispose
985
- };
986
- }
987
- function normalizeAllowList(raw) {
988
- return normalizeStringEntries(raw);
989
- }
990
- function resolveSignalReactionTargets(reaction) {
991
- const targets = [];
992
- const uuid = reaction.targetAuthorUuid?.trim();
993
- if (uuid) targets.push({
994
- kind: "uuid",
995
- id: uuid,
996
- display: `uuid:${uuid}`
997
- });
998
- const author = reaction.targetAuthor?.trim();
999
- if (author) {
1000
- const normalized = normalizeE164(author);
1001
- targets.push({
1002
- kind: "phone",
1003
- id: normalized,
1004
- display: normalized
1005
- });
1006
- }
1007
- return targets;
1008
- }
1009
- function isSignalReactionMessage(reaction) {
1010
- if (!reaction) return false;
1011
- const emoji = reaction.emoji?.trim();
1012
- const timestamp = reaction.targetSentTimestamp;
1013
- const hasTarget = Boolean(normalizeOptionalString(reaction.targetAuthor) || normalizeOptionalString(reaction.targetAuthorUuid));
1014
- return Boolean(emoji && typeof timestamp === "number" && timestamp > 0 && hasTarget);
1015
- }
1016
- function shouldEmitSignalReactionNotification(params) {
1017
- const { mode, account, targets, sender, allowlist } = params;
1018
- const effectiveMode = mode ?? "own";
1019
- if (effectiveMode === "off") return false;
1020
- if (effectiveMode === "own") {
1021
- const accountId = account?.trim();
1022
- if (!accountId || !targets || targets.length === 0) return false;
1023
- const normalizedAccount = normalizeE164(accountId);
1024
- return targets.some((target) => {
1025
- if (target.kind === "uuid") return accountId === target.id || accountId === `uuid:${target.id}`;
1026
- return normalizedAccount === target.id;
1027
- });
1028
- }
1029
- if (effectiveMode === "allowlist") {
1030
- if (!sender || !allowlist || allowlist.length === 0) return false;
1031
- return isSignalSenderAllowed(sender, allowlist);
1032
- }
1033
- return true;
1034
- }
1035
- function buildSignalReactionSystemEventText(params) {
1036
- const base = `Signal reaction added: ${params.emojiLabel} by ${params.actorLabel} msg ${params.messageId}`;
1037
- const withTarget = params.targetLabel ? `${base} from ${params.targetLabel}` : base;
1038
- return params.groupLabel ? `${withTarget} in ${params.groupLabel}` : withTarget;
1039
- }
1040
- async function waitForSignalDaemonReady(params) {
1041
- await (params.waitForTransportReadyFn ?? waitForTransportReady)({
1042
- label: "signal daemon",
1043
- timeoutMs: params.timeoutMs,
1044
- logAfterMs: params.logAfterMs,
1045
- logIntervalMs: params.logIntervalMs,
1046
- pollIntervalMs: 150,
1047
- abortSignal: params.abortSignal,
1048
- runtime: params.runtime,
1049
- check: async () => {
1050
- const res = await signalCheck(params.baseUrl, 1e3);
1051
- if (res.ok) return { ok: true };
1052
- return {
1053
- ok: false,
1054
- error: res.error ?? (res.status ? `HTTP ${res.status}` : "unreachable")
1055
- };
1056
- }
1057
- });
1058
- }
1059
- async function fetchAttachment(params) {
1060
- const { attachment } = params;
1061
- if (!attachment?.id) return null;
1062
- if (typeof attachment.size === "number" && attachment.size > params.maxBytes) throw new Error(`Signal attachment ${attachment.id} exceeds ${(params.maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
1063
- const rpcParams = { id: attachment.id };
1064
- if (params.account) rpcParams.account = params.account;
1065
- if (params.groupId) rpcParams.groupId = params.groupId;
1066
- else if (params.sender) rpcParams.recipient = params.sender;
1067
- else return null;
1068
- const result = await signalRpcRequest("getAttachment", rpcParams, { baseUrl: params.baseUrl });
1069
- if (!result?.data) return null;
1070
- if (estimateBase64DecodedBytes(result.data) > params.maxBytes) throw new Error(`Signal attachment ${attachment.id} exceeds ${(params.maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
1071
- const buffer = Buffer.from(result.data, "base64");
1072
- const originalFilename = normalizeOptionalString(attachment.filename ?? void 0);
1073
- const saved = await saveMediaBuffer(buffer, normalizeOptionalString(attachment.contentType ?? void 0) ?? await detectMime({
1074
- buffer,
1075
- filePath: originalFilename
1076
- }), "inbound", params.maxBytes, originalFilename);
1077
- return {
1078
- path: saved.path,
1079
- contentType: saved.contentType
1080
- };
1081
- }
1082
- async function deliverReplies(params) {
1083
- const { replies, target, baseUrl, account, accountId, runtime, maxBytes, textLimit, chunkMode } = params;
1084
- for (const payload of replies) if (await deliverTextOrMediaReply({
1085
- payload,
1086
- text: resolveSendableOutboundReplyParts(payload).text,
1087
- chunkText: (value) => chunkTextWithMode(value, textLimit, chunkMode),
1088
- sendText: async (chunk) => {
1089
- await sendMessageSignal(target, chunk, {
1090
- cfg: params.cfg,
1091
- baseUrl,
1092
- account,
1093
- maxBytes,
1094
- accountId
1095
- });
1096
- },
1097
- sendMedia: async ({ mediaUrl, caption }) => {
1098
- await sendMessageSignal(target, caption ?? "", {
1099
- cfg: params.cfg,
1100
- baseUrl,
1101
- account,
1102
- mediaUrl,
1103
- maxBytes,
1104
- accountId
1105
- });
1106
- }
1107
- }) !== "empty") runtime.log?.(`delivered reply to ${target}`);
1108
- }
1109
- async function monitorSignalProvider(opts = {}) {
1110
- const runtime = resolveRuntime(opts);
1111
- const cfg = opts.config ?? loadConfig();
1112
- const accountInfo = resolveSignalAccount({
1113
- cfg,
1114
- accountId: opts.accountId
1115
- });
1116
- const historyLimit = Math.max(0, accountInfo.config.historyLimit ?? cfg.messages?.groupChat?.historyLimit ?? 50);
1117
- const groupHistories = /* @__PURE__ */ new Map();
1118
- const textLimit = resolveTextChunkLimit(cfg, "signal", accountInfo.accountId);
1119
- const chunkMode = resolveChunkMode(cfg, "signal", accountInfo.accountId);
1120
- const baseUrl = normalizeOptionalString(opts.baseUrl) ?? accountInfo.baseUrl;
1121
- const account = normalizeOptionalString(opts.account) ?? normalizeOptionalString(accountInfo.config.account);
1122
- const dmPolicy = accountInfo.config.dmPolicy ?? "pairing";
1123
- const allowFrom = normalizeAllowList(opts.allowFrom ?? accountInfo.config.allowFrom);
1124
- const groupAllowFrom = normalizeAllowList(opts.groupAllowFrom ?? accountInfo.config.groupAllowFrom ?? (accountInfo.config.allowFrom && accountInfo.config.allowFrom.length > 0 ? accountInfo.config.allowFrom : []));
1125
- const defaultGroupPolicy = resolveDefaultGroupPolicy(cfg);
1126
- const { groupPolicy, providerMissingFallbackApplied } = resolveAllowlistProviderRuntimeGroupPolicy({
1127
- providerConfigPresent: cfg.channels?.signal !== void 0,
1128
- groupPolicy: accountInfo.config.groupPolicy,
1129
- defaultGroupPolicy
1130
- });
1131
- warnMissingProviderGroupPolicyFallbackOnce({
1132
- providerMissingFallbackApplied,
1133
- providerKey: "signal",
1134
- accountId: accountInfo.accountId,
1135
- log: (message) => runtime.log?.(message)
1136
- });
1137
- const reactionMode = accountInfo.config.reactionNotifications ?? "own";
1138
- const reactionAllowlist = normalizeAllowList(accountInfo.config.reactionAllowlist);
1139
- const mediaMaxBytes = (opts.mediaMaxMb ?? accountInfo.config.mediaMaxMb ?? 8) * 1024 * 1024;
1140
- const ignoreAttachments = opts.ignoreAttachments ?? accountInfo.config.ignoreAttachments ?? false;
1141
- const sendReadReceipts = Boolean(opts.sendReadReceipts ?? accountInfo.config.sendReadReceipts);
1142
- const waitForTransportReadyFn = opts.waitForTransportReady ?? waitForTransportReady;
1143
- const autoStart = opts.autoStart ?? accountInfo.config.autoStart ?? !accountInfo.config.httpUrl;
1144
- const startupTimeoutMs = Math.min(12e4, Math.max(1e3, opts.startupTimeoutMs ?? accountInfo.config.startupTimeoutMs ?? 3e4));
1145
- const readReceiptsViaDaemon = autoStart && sendReadReceipts;
1146
- const daemonLifecycle = createSignalDaemonLifecycle({ abortSignal: opts.abortSignal });
1147
- let daemonHandle = null;
1148
- if (autoStart) {
1149
- daemonHandle = spawnSignalDaemon({
1150
- cliPath: opts.cliPath ?? accountInfo.config.cliPath ?? "signal-cli",
1151
- account,
1152
- httpHost: opts.httpHost ?? accountInfo.config.httpHost ?? "127.0.0.1",
1153
- httpPort: opts.httpPort ?? accountInfo.config.httpPort ?? 8080,
1154
- receiveMode: opts.receiveMode ?? accountInfo.config.receiveMode,
1155
- ignoreAttachments: opts.ignoreAttachments ?? accountInfo.config.ignoreAttachments,
1156
- ignoreStories: opts.ignoreStories ?? accountInfo.config.ignoreStories,
1157
- sendReadReceipts,
1158
- runtime
1159
- });
1160
- daemonLifecycle.attach(daemonHandle);
1161
- }
1162
- const onAbort = () => {
1163
- daemonLifecycle.stop();
1164
- };
1165
- opts.abortSignal?.addEventListener("abort", onAbort, { once: true });
1166
- try {
1167
- if (daemonHandle) {
1168
- await waitForSignalDaemonReady({
1169
- baseUrl,
1170
- abortSignal: daemonLifecycle.abortSignal,
1171
- timeoutMs: startupTimeoutMs,
1172
- logAfterMs: 1e4,
1173
- logIntervalMs: 1e4,
1174
- runtime,
1175
- waitForTransportReadyFn
1176
- });
1177
- const daemonExitError = daemonLifecycle.getExitError();
1178
- if (daemonExitError) throw daemonExitError;
1179
- }
1180
- const handleEvent = createSignalEventHandler({
1181
- runtime,
1182
- cfg,
1183
- baseUrl,
1184
- account,
1185
- accountUuid: accountInfo.config.accountUuid,
1186
- accountId: accountInfo.accountId,
1187
- blockStreaming: accountInfo.config.blockStreaming,
1188
- historyLimit,
1189
- groupHistories,
1190
- textLimit,
1191
- dmPolicy,
1192
- allowFrom,
1193
- groupAllowFrom,
1194
- groupPolicy,
1195
- reactionMode,
1196
- reactionAllowlist,
1197
- mediaMaxBytes,
1198
- ignoreAttachments,
1199
- sendReadReceipts,
1200
- readReceiptsViaDaemon,
1201
- fetchAttachment,
1202
- deliverReplies: (params) => deliverReplies({
1203
- ...params,
1204
- cfg,
1205
- chunkMode
1206
- }),
1207
- resolveSignalReactionTargets,
1208
- isSignalReactionMessage,
1209
- shouldEmitSignalReactionNotification,
1210
- buildSignalReactionSystemEventText
1211
- });
1212
- await runSignalSseLoop({
1213
- baseUrl,
1214
- account,
1215
- abortSignal: daemonLifecycle.abortSignal,
1216
- runtime,
1217
- policy: opts.reconnectPolicy,
1218
- onEvent: (event) => {
1219
- handleEvent(event).catch((err) => {
1220
- runtime.error?.(`event handler failed: ${String(err)}`);
1221
- });
1222
- }
1223
- });
1224
- const daemonExitError = daemonLifecycle.getExitError();
1225
- if (daemonExitError) throw daemonExitError;
1226
- } catch (err) {
1227
- const daemonExitError = daemonLifecycle.getExitError();
1228
- if (opts.abortSignal?.aborted && !daemonExitError) return;
1229
- throw err;
1230
- } finally {
1231
- daemonLifecycle.dispose();
1232
- opts.abortSignal?.removeEventListener("abort", onAbort);
1233
- daemonLifecycle.stop();
1234
- }
1235
- }
1236
- //#endregion
1237
- export { monitorSignalProvider as t };