@pixelzx/genesis 2026.5.5-4 → 2026.5.5-5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1075) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-Eo7XsA03.js +201 -0
  4. package/dist/abort.runtime-B5p-SlXK.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-9Krv4f9C.js +2 -0
  7. package/dist/accounts-B3R0SEUc.js +107 -0
  8. package/dist/accounts-BU0s8Imm.js +104 -0
  9. package/dist/accounts-CbIPkOW8.js +66 -0
  10. package/dist/accounts.runtime-M-6eankg.js +2 -0
  11. package/dist/accounts.runtime.js +1 -1
  12. package/dist/acp-cli-z6OXmifV.js +2193 -0
  13. package/dist/acp-spawn-Dagbjv-c.js +1093 -0
  14. package/dist/acp-spawn-Dzb_-EiJ.js +2 -0
  15. package/dist/acp-stateful-target-driver-JXFh96Nx.js +89 -0
  16. package/dist/action-agents-DevmKFPq.js +67 -0
  17. package/dist/action-focus-slEC2ZvE.js +132 -0
  18. package/dist/action-help-BNI_jV7m.js +7 -0
  19. package/dist/action-info-A0aWRFGn.js +101 -0
  20. package/dist/action-kill-BSoka9Ag.js +33 -0
  21. package/dist/action-list-DnKS7NUS.js +21 -0
  22. package/dist/action-log-pjPufssA.js +30 -0
  23. package/dist/action-send-rCD6KNIM.js +39 -0
  24. package/dist/action-spawn-Z9Cs9AKM.js +47 -0
  25. package/dist/action-unfocus-D2zbhGSQ.js +29 -0
  26. package/dist/actions.runtime-DCIg2FO0.js +18 -0
  27. package/dist/actions.runtime-io4CYWEl.js +5 -0
  28. package/dist/actions.runtime.js +1 -1
  29. package/dist/agent-BIsY2xbQ.js +2 -0
  30. package/dist/agent-command-Bko5m9ND.js +874 -0
  31. package/dist/agent-harness-runtime-y19kcHYa.js +144 -0
  32. package/dist/agent-runner-utils-DZsEMF5x.js +239 -0
  33. package/dist/agent-runner.runtime-Dk4YPE9M.js +3455 -0
  34. package/dist/agent-runner.runtime.js +1 -1
  35. package/dist/agent-runtime-bsFtkcfq.js +18 -0
  36. package/dist/agents-BI1C9XcY.js +953 -0
  37. package/dist/agents-BqFQzPnc.js +5 -0
  38. package/dist/aliases-YaSyoY8V.js +2 -0
  39. package/dist/aliases-dc4pWr4w.js +96 -0
  40. package/dist/api-BwKUC3oZ.js +5 -0
  41. package/dist/api-BzsECesc.js +139 -0
  42. package/dist/api-W3n67ens.js +3 -0
  43. package/dist/approval-gateway-resolver-tbaA47lu.js +29 -0
  44. package/dist/approval-gateway-runtime-DNu7ZYTl.js +2 -0
  45. package/dist/approval-handler-runtime-DaJ2bQ8K.js +439 -0
  46. package/dist/approval-native-runtime-c-AA06Kd.js +729 -0
  47. package/dist/attempt-execution.runtime-Cfd4qrSC.js +509 -0
  48. package/dist/attempt-execution.runtime.js +1 -1
  49. package/dist/attempt.prompt-helpers-Sly6bfCz.js +221 -0
  50. package/dist/attempt.tool-run-context-BN9lQ-hT.js +933 -0
  51. package/dist/audit-Bw9kBXSm.js +939 -0
  52. package/dist/audit.runtime-5Y0uwaKo.js +7 -0
  53. package/dist/audit.runtime.js +1 -1
  54. package/dist/auth-BeJ-lcT0.js +383 -0
  55. package/dist/auth-lYX2L0Ul.js +2 -0
  56. package/dist/auth-order-BRkdy5ZR.js +96 -0
  57. package/dist/auth-order-Cz5FlXVM.js +2 -0
  58. package/dist/bash-tools-CENsF10z.js +2824 -0
  59. package/dist/bash-tools-CTM07nQV.js +3 -0
  60. package/dist/binding-routing-6cr2GU2Z.js +85 -0
  61. package/dist/binding-targets-ElXGtJx6.js +121 -0
  62. package/dist/bridge-server-BFqa--hi.js +113 -0
  63. package/dist/browser-control-auth-CU8n1cKt.js +2 -0
  64. package/dist/browser-node-runtime-D7C9c9PL.js +12 -0
  65. package/dist/browser-profiles-BtXKvgoD.js +2 -0
  66. package/dist/browser-runtime-BTqH6b-o.js +387 -0
  67. package/dist/browser-setup-tools-C0AtDMGC.js +13 -0
  68. package/dist/build-B7Fw754S.js +550 -0
  69. package/dist/build-info.json +3 -3
  70. package/dist/bundled/boot-md/handler.js +2 -2
  71. package/dist/bundled/session-memory/handler.js +1 -1
  72. package/dist/call-Bu6qiSj3.js +331 -0
  73. package/dist/call-DHNRfD2p.js +3 -0
  74. package/dist/call.runtime-93EU1EXn.js +2 -0
  75. package/dist/call.runtime.js +1 -1
  76. package/dist/capability-cli-OTV_9-o3.js +1401 -0
  77. package/dist/catchup-HQymClSi.js +300 -0
  78. package/dist/channel-BUi5IT4y.js +595 -0
  79. package/dist/channel-C8_SXfQR.js +491 -0
  80. package/dist/channel-D0m2o2Vx.js +453 -0
  81. package/dist/channel-D1x8Tidv.js +226 -0
  82. package/dist/channel-D28-KeGu.js +297 -0
  83. package/dist/channel-D4fD_ELv.js +840 -0
  84. package/dist/channel-DDs9mkGR.js +1320 -0
  85. package/dist/channel-DF_iiMCP.js +1100 -0
  86. package/dist/channel-DwwRtWIy.js +350 -0
  87. package/dist/channel-E_FCZxzs.js +1802 -0
  88. package/dist/channel-core-CGLZRv9b.js +5 -0
  89. package/dist/channel-inbound-BvfXTTbL.js +31 -0
  90. package/dist/channel-plugin-runtime-Zt1YkCwm.js +771 -0
  91. package/dist/channel-runtime-CZE8ZwJa.js +425 -0
  92. package/dist/channel-wlrRJszs.js +1174 -0
  93. package/dist/channel.runtime-BRsrFBpW.js +89 -0
  94. package/dist/channel.runtime-Cg_VX6Fe.js +4 -0
  95. package/dist/channel.runtime-DFUE9oMa.js +34702 -0
  96. package/dist/channel.runtime-DLgAiBGS.js +109 -0
  97. package/dist/channel.runtime-DRzzcVJe.js +576 -0
  98. package/dist/channel.runtime-DZKrwSTU.js +2364 -0
  99. package/dist/channel.runtime-JfYZ9yn3.js +26 -0
  100. package/dist/channel.runtime-XLGJZpuw.js +430 -0
  101. package/dist/channel.setup-C61m_WuB.js +10 -0
  102. package/dist/channels-DZ6gQ08q.js +733 -0
  103. package/dist/channels-cli-I85GHTus.js +268 -0
  104. package/dist/chat-Bbmabe4k.js +2758 -0
  105. package/dist/clawbot-cli-BOy_NgZZ.js +9 -0
  106. package/dist/cli/daemon-cli.js +3 -3
  107. package/dist/cli-7go0hekY.js +219 -0
  108. package/dist/cli-Bl9VIAti.js +72 -0
  109. package/dist/cli-CKC1TKDs.js +2 -0
  110. package/dist/cli-ChQYhws1.js +2 -0
  111. package/dist/cli-runner-DETCLlhR.js +286 -0
  112. package/dist/cli-runner.runtime-BSFbP0qC.js +4 -0
  113. package/dist/cli-runner.runtime-C8ZcGdWt.js +3 -0
  114. package/dist/cli-runner.runtime.js +1 -1
  115. package/dist/cli-startup-metadata.json +2 -2
  116. package/dist/cli.runtime-DzHfJgTn.js +1261 -0
  117. package/dist/cli.runtime.js +1 -1
  118. package/dist/client-B0QJbO9O.js +713 -0
  119. package/dist/client-D9Yh0P5l.js +138 -0
  120. package/dist/command-auth-CtA0lbtD.js +76 -0
  121. package/dist/command-config-resolution-Ca1VhPh6.js +23 -0
  122. package/dist/command-config-resolution-CzVRM9ST.js +2 -0
  123. package/dist/command-config-resolution.runtime-DB2PNtn6.js +2 -0
  124. package/dist/command-config-resolution.runtime.js +1 -1
  125. package/dist/command-registry-933Sv1vK.js +9 -0
  126. package/dist/command-registry-core-D8aHghZH.js +101 -0
  127. package/dist/command-registry-fZisu462.js +4 -0
  128. package/dist/command-secret-gateway-BiDNHLok.js +528 -0
  129. package/dist/command-status.runtime-BRf_Jr9L.js +87 -0
  130. package/dist/command-status.runtime.js +1 -1
  131. package/dist/commands-acp-BrL95pJ8.js +77 -0
  132. package/dist/commands-compact.runtime-DYukJ-s7.js +10 -0
  133. package/dist/commands-compact.runtime.js +1 -1
  134. package/dist/commands-handlers.runtime-CYccZqks.js +4597 -0
  135. package/dist/commands-handlers.runtime.js +1 -1
  136. package/dist/commands-status-CvAD8raW.js +16 -0
  137. package/dist/commands-status.runtime-C4jpZ_ly.js +3 -0
  138. package/dist/commands-status.runtime.js +1 -1
  139. package/dist/commands-subagents-control.runtime-2infwrLW.js +2 -0
  140. package/dist/commands-subagents-control.runtime-BItxlxqC.js +3 -0
  141. package/dist/commands-subagents-control.runtime.js +1 -1
  142. package/dist/commands-system-prompt-D4V5ryNf.js +158 -0
  143. package/dist/commands-system-prompt-PJ-MwSQK.js +2 -0
  144. package/dist/commands.runtime-OieWfVCv.js +166 -0
  145. package/dist/commands.runtime.js +1 -1
  146. package/dist/compact-BXSlPyME.js +1118 -0
  147. package/dist/compact.runtime-o89ZdgH2.js +12 -0
  148. package/dist/compact.runtime.js +1 -1
  149. package/dist/completion-cli-CpaOR4Y2.js +328 -0
  150. package/dist/config-D4iBIDV7.js +251 -0
  151. package/dist/config-cli-BQqlP6h4.js +1078 -0
  152. package/dist/configure--yuymC-4.js +2 -0
  153. package/dist/configure-DFIqz4FW.js +1245 -0
  154. package/dist/connect-options-B0Lt-rU2.js +699 -0
  155. package/dist/control-auth-BGRSY5e3.js +125 -0
  156. package/dist/control-service-DT6fleyD.js +156 -0
  157. package/dist/control-ui-CWXb-Fp5.js +688 -0
  158. package/dist/conversation-id-BSuv_BUL.js +235 -0
  159. package/dist/conversation-id-CNXhZOAr.js +38 -0
  160. package/dist/conversation-runtime-BHctDnia.js +31 -0
  161. package/dist/core-BlXGwz2n.js +275 -0
  162. package/dist/cron-cli-5AWYX_JN.js +713 -0
  163. package/dist/daemon-cli-DmvnMTwU.js +12 -0
  164. package/dist/delegate-Bd-FPQqY.js +64 -0
  165. package/dist/delivery.runtime-Corwnx7a.js +253 -0
  166. package/dist/delivery.runtime.js +1 -1
  167. package/dist/detached-task-runtime-DfVdnBXS.js +73 -0
  168. package/dist/devices-cli-DZZgB4A7.js +496 -0
  169. package/dist/diagnostics-Ck31VWA6.js +154 -0
  170. package/dist/direct-dm-Dmjok-pB.js +64 -0
  171. package/dist/dispatch-CRDSpd0f.js +1131 -0
  172. package/dist/dispatch-acp-Cu9MKTKz.js +981 -0
  173. package/dist/dispatch-acp-manager.runtime-DcW9RwSI.js +3 -0
  174. package/dist/dispatch-acp-manager.runtime.js +1 -1
  175. package/dist/dispatch-acp.runtime-BsQByEI3.js +19 -0
  176. package/dist/dispatch-acp.runtime.js +1 -1
  177. package/dist/doctor-device-pairing-DXaIZ9a_.js +307 -0
  178. package/dist/doctor-gateway-daemon-flow-bg9a147z.js +250 -0
  179. package/dist/doctor-gateway-health-zdQbGmmj.js +60 -0
  180. package/dist/doctor-health-DQGXbUKZ.js +59 -0
  181. package/dist/doctor-health-contributions-D7MWDAlD.js +486 -0
  182. package/dist/doctor-prompter-2aroILEC.js +56 -0
  183. package/dist/doctor-workspace-status-D4kiEraU.js +75 -0
  184. package/dist/dreaming-Q-aETkru.js +1574 -0
  185. package/dist/dreaming-narrative-663l1FRo.js +595 -0
  186. package/dist/embedded-gateway-stub.runtime-DUc8aWQC.js +9 -0
  187. package/dist/embedded-gateway-stub.runtime.js +1 -1
  188. package/dist/embeddings-http-BQ4pNJtW.js +205 -0
  189. package/dist/entry.js +2 -2
  190. package/dist/exec-approvals-cli-CX0ETYsT.js +498 -0
  191. package/dist/execute.runtime-CBVe-PCC.js +1366 -0
  192. package/dist/execute.runtime.js +1 -1
  193. package/dist/extensionAPI.js +1 -1
  194. package/dist/extensions/active-memory/index.js +1 -1
  195. package/dist/extensions/bluebubbles/api.js +3 -3
  196. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  197. package/dist/extensions/browser/browser-bridge.js +1 -1
  198. package/dist/extensions/browser/browser-config.js +4 -4
  199. package/dist/extensions/browser/browser-control-auth.js +2 -2
  200. package/dist/extensions/browser/browser-doctor.js +2 -2
  201. package/dist/extensions/browser/browser-maintenance.js +2 -2
  202. package/dist/extensions/browser/browser-profiles.js +2 -2
  203. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  204. package/dist/extensions/browser/index.js +1 -1
  205. package/dist/extensions/browser/plugin-registration.js +1 -1
  206. package/dist/extensions/browser/register.runtime.js +3 -3
  207. package/dist/extensions/browser/runtime-api.js +11 -11
  208. package/dist/extensions/browser/test-support.js +1 -1
  209. package/dist/extensions/device-pair/api.js +2 -2
  210. package/dist/extensions/device-pair/index.js +4 -4
  211. package/dist/extensions/device-pair/notify.js +1 -1
  212. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  213. package/dist/extensions/device-pair/qr-image.js +2 -2
  214. package/dist/extensions/google-meet/index.js +2 -2
  215. package/dist/extensions/imessage/api.js +3 -3
  216. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  217. package/dist/extensions/imessage/runtime-api.js +4 -4
  218. package/dist/extensions/irc/api.js +2 -2
  219. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  220. package/dist/extensions/line/api.js +2 -2
  221. package/dist/extensions/line/channel-plugin-api.js +1 -1
  222. package/dist/extensions/line/contract-api.js +1 -1
  223. package/dist/extensions/line/runtime-api.js +4 -4
  224. package/dist/extensions/line/setup-api.js +1 -1
  225. package/dist/extensions/lobster/runtime-api.js +1 -1
  226. package/dist/extensions/mattermost/api.js +1 -1
  227. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  228. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  229. package/dist/extensions/mattermost/policy-api.js +1 -1
  230. package/dist/extensions/mattermost/runtime-api.js +6 -6
  231. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  232. package/dist/extensions/memory-core/api.js +1 -1
  233. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  234. package/dist/extensions/memory-core/index.js +3 -3
  235. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  236. package/dist/extensions/microsoft/index.js +1 -1
  237. package/dist/extensions/microsoft/speech-provider.js +1 -1
  238. package/dist/extensions/microsoft/test-api.js +1 -1
  239. package/dist/extensions/minimax/index.js +1 -1
  240. package/dist/extensions/minimax/speech-provider.js +1 -1
  241. package/dist/extensions/msteams/api.js +1 -1
  242. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  243. package/dist/extensions/msteams/runtime-api.js +5 -5
  244. package/dist/extensions/msteams/test-api.js +1 -1
  245. package/dist/extensions/nextcloud-talk/api.js +1 -1
  246. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  247. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  248. package/dist/extensions/openshell/index.js +2 -2
  249. package/dist/extensions/signal/api.js +6 -6
  250. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  251. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  252. package/dist/extensions/signal/runtime-api.js +8 -8
  253. package/dist/extensions/skill-workshop/api.js +1 -1
  254. package/dist/extensions/skill-workshop/index.js +1 -1
  255. package/dist/extensions/synology-chat/api.js +1 -1
  256. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  257. package/dist/extensions/tlon/api.js +2 -2
  258. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  259. package/dist/extensions/tlon/runtime-api.js +1 -1
  260. package/dist/extensions/tlon/test-api.js +1 -1
  261. package/dist/extensions/twitch/api.js +1 -1
  262. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  263. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  264. package/dist/extensions/zalo/api.js +3 -3
  265. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  266. package/dist/extensions/zalo/runtime-api.js +2 -2
  267. package/dist/extensions/zalo/setup-api.js +2 -2
  268. package/dist/extensions/zalouser/api.js +4 -4
  269. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  270. package/dist/extensions/zalouser/runtime-api.js +8 -8
  271. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  272. package/dist/extensions/zalouser/test-api.js +4 -4
  273. package/dist/fallbacks-CR6GSZx5.js +31 -0
  274. package/dist/fallbacks-DuO41eqR.js +2 -0
  275. package/dist/fallbacks-shared-cZD0oSnX.js +111 -0
  276. package/dist/gateway-CTi4P0bk.js +115 -0
  277. package/dist/gateway-cli-DiXT82AL.js +1325 -0
  278. package/dist/gateway-rpc-Bq-pVMHn.js +14 -0
  279. package/dist/gateway-rpc.runtime-C23EQzC5.js +23 -0
  280. package/dist/gateway-rpc.runtime.js +1 -1
  281. package/dist/gateway-runtime-BR3N9P3q.js +15 -0
  282. package/dist/gateway-status-CRgYhpJo.js +584 -0
  283. package/dist/genesis-tools-mB3U5mZA.js +9115 -0
  284. package/dist/genesis-tools.runtime-CdTs0e6U.js +2 -0
  285. package/dist/genesis-tools.runtime.js +1 -1
  286. package/dist/get-reply-DZ2b8RH0.js +3879 -0
  287. package/dist/get-reply-from-config.runtime-DtL4cSUe.js +2 -0
  288. package/dist/get-reply-from-config.runtime.js +1 -1
  289. package/dist/graph-users-BkIkWfZy.js +1337 -0
  290. package/dist/health-7viGK1Im.js +469 -0
  291. package/dist/health-Dnp1EweA.js +3 -0
  292. package/dist/heartbeat-runner-BTCCQMuG.js +5 -0
  293. package/dist/heartbeat-runner-DfAaiAe7.js +1292 -0
  294. package/dist/heartbeat-runner.runtime-B4HXgACZ.js +4 -0
  295. package/dist/heartbeat-runner.runtime.js +1 -1
  296. package/dist/helpers-Bts8fTCo.js +320 -0
  297. package/dist/hooks-cli-DcTAWUQx.js +433 -0
  298. package/dist/http-endpoint-helpers-BT1NBMhv.js +41 -0
  299. package/dist/http-utils-B_TTb19C.js +924 -0
  300. package/dist/image-fallbacks-BSxulCpr.js +2 -0
  301. package/dist/image-fallbacks-BdbQMsja.js +31 -0
  302. package/dist/images-9cckfaLv.js +352 -0
  303. package/dist/inbound-reply-dispatch-CYtgAOpZ.js +73 -0
  304. package/dist/index.js +2 -2
  305. package/dist/infra-runtime-DXR8kcRT.js +39 -0
  306. package/dist/init-CjPPA1H0.js +59 -0
  307. package/dist/library-BzChF6u9.js +45 -0
  308. package/dist/lifecycle-BzYiPHdW.js +229 -0
  309. package/dist/lifecycle-C5re4Pps.js +571 -0
  310. package/dist/lifecycle.runtime-B-tJ4JkM.js +2 -0
  311. package/dist/lifecycle.runtime.js +1 -1
  312. package/dist/list-C3saN4jV.js +2 -0
  313. package/dist/list-CXSiDlSN.js +2 -0
  314. package/dist/list-DMSdymkl.js +1201 -0
  315. package/dist/list-QiopLrb5.js +131 -0
  316. package/dist/list.probe-DyaF2edJ.js +419 -0
  317. package/dist/llm-slug-generator-BVJgrz13.js +79 -0
  318. package/dist/llm-slug-generator.js +1 -1
  319. package/dist/load-config-C-QpKZNj.js +35 -0
  320. package/dist/local-dispatch.runtime-zLnmF_Wh.js +8 -0
  321. package/dist/local-dispatch.runtime.js +1 -1
  322. package/dist/logs-cli-BosZUQjD.js +265 -0
  323. package/dist/logs-cli.runtime-CVOxtZtj.js +2 -0
  324. package/dist/logs-cli.runtime.js +1 -1
  325. package/dist/main-session-restart-recovery-CRTG8jvU.js +206 -0
  326. package/dist/managed-image-attachments-CGeUdh-A.js +2 -0
  327. package/dist/managed-image-attachments-CvjfVZxS.js +635 -0
  328. package/dist/manager-CznNbeVh.js +2 -0
  329. package/dist/manager-OyRJWBpE.js +2057 -0
  330. package/dist/markdown-to-line-oHIsEREp.js +790 -0
  331. package/dist/mcp/plugin-tools-serve.js +1 -1
  332. package/dist/mcp-cli-BnTIIeyA.js +725 -0
  333. package/dist/mcp-http-DCyyXjC6.js +529 -0
  334. package/dist/media-runtime-Cz9iit6D.js +329 -0
  335. package/dist/memory-core-host-runtime-cli-DZ0I6fFG.js +9 -0
  336. package/dist/message-CKMSghPM.js +232 -0
  337. package/dist/message-action-runner-BhMtHi5R.js +1407 -0
  338. package/dist/message-action-runner-CQRkxPID.js +2 -0
  339. package/dist/message-actions-BoLjX-Cs.js +143 -0
  340. package/dist/message.gateway.runtime-HANIkH2g.js +2 -0
  341. package/dist/message.gateway.runtime.js +1 -1
  342. package/dist/method-scopes-CVKEoi44.js +216 -0
  343. package/dist/models-auth-status-B-Mv4ebj.js +201 -0
  344. package/dist/models-cli-yBKYg40-.js +219 -0
  345. package/dist/models-http-BF6M973E.js +92 -0
  346. package/dist/monitor-B9VfGlmi.js +671 -0
  347. package/dist/monitor-BQ5Umwrc.js +1459 -0
  348. package/dist/monitor-BzzGjxc2.js +2 -0
  349. package/dist/monitor-C51eRypH.js +1237 -0
  350. package/dist/monitor-CtynHYuN.js +1661 -0
  351. package/dist/monitor-auth-CAfnLXi1.js +207 -0
  352. package/dist/monitor-hIFUjaQ5.js +788 -0
  353. package/dist/monitor-processing-BwFvVQV7.js +1974 -0
  354. package/dist/monitor.runtime-C4IsQ8Tg.js +2 -0
  355. package/dist/monitor.runtime.js +1 -1
  356. package/dist/monitor.webhook-Cyk4TYD-.js +180 -0
  357. package/dist/msteams-nwubaeIt.js +35 -0
  358. package/dist/native-hook-relay-pC5BaAsL.js +519 -0
  359. package/dist/nextcloud-talk-CFZriQJA.js +17 -0
  360. package/dist/node-cli-B0h1wrXR.js +2506 -0
  361. package/dist/nodes-cli-C6i6IIFh.js +1046 -0
  362. package/dist/nodes-utils-w8SS4Vmb.js +84 -0
  363. package/dist/nodes.helpers-Dpk8LjQI.js +34 -0
  364. package/dist/notify-D3Psjkle.js +315 -0
  365. package/dist/onboard-helpers-C_caLTeb.js +6 -0
  366. package/dist/onboard-helpers-sLsRr-5l.js +204 -0
  367. package/dist/onboard-remote-BAQ8Ybuy.js +2 -0
  368. package/dist/onboard-remote-BwPX6vba.js +193 -0
  369. package/dist/onboard-skills-B3cMpFqK.js +2 -0
  370. package/dist/onboard-skills-B8gUFCpR.js +134 -0
  371. package/dist/onboard-xyUq8s8R.js +632 -0
  372. package/dist/openai-http-BLWuf_x9.js +500 -0
  373. package/dist/openresponses-http-B21orF7e.js +1128 -0
  374. package/dist/operator-approvals-client-bRfV9Ywa.js +68 -0
  375. package/dist/outbound-attachment-CTpQ1O5C.js +19 -0
  376. package/dist/outbound-media-DBOgVtv-.js +19 -0
  377. package/dist/outbound.runtime-BnCaPvIo.js +2 -0
  378. package/dist/outbound.runtime.js +1 -1
  379. package/dist/pair-command-approve-_kbfrhjq.js +44 -0
  380. package/dist/persistent-bindings.lifecycle-_3A07X4u.js +85 -0
  381. package/dist/persistent-bindings.lifecycle-dP7WfiuG.js +2 -0
  382. package/dist/pi-embedded-Bo7aGINx.js +4 -0
  383. package/dist/pi-embedded-CpvC_TY4.js +2905 -0
  384. package/dist/pi-embedded.runtime-l80MFX5c.js +4 -0
  385. package/dist/pi-embedded.runtime.js +1 -1
  386. package/dist/pi-tool-definition-adapter-COQSRMJW.js +217 -0
  387. package/dist/pi-tools-COW0I6Dx.js +1057 -0
  388. package/dist/pi-tools.before-tool-call-BUxAbnx6.js +2 -0
  389. package/dist/pi-tools.before-tool-call-CHWOH7FS.js +433 -0
  390. package/dist/plugin-CuJOfAQA.js +12195 -0
  391. package/dist/plugin-enabled-K8ODIpea.js +140 -0
  392. package/dist/plugin-registration-BavW8FwB.js +23 -0
  393. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  394. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  395. package/dist/plugin-sdk/acp-runtime.js +2 -2
  396. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  397. package/dist/plugin-sdk/agent-harness.js +6 -6
  398. package/dist/plugin-sdk/agent-runtime.js +2 -2
  399. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  400. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  401. package/dist/plugin-sdk/approval-runtime.js +1 -1
  402. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  403. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  404. package/dist/plugin-sdk/browser-support.js +7 -7
  405. package/dist/plugin-sdk/channel-core.js +2 -2
  406. package/dist/plugin-sdk/channel-inbound.js +2 -2
  407. package/dist/plugin-sdk/command-auth.js +1 -1
  408. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  409. package/dist/plugin-sdk/compat.js +1 -1
  410. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  411. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  412. package/dist/plugin-sdk/core.js +2 -2
  413. package/dist/plugin-sdk/direct-dm.js +1 -1
  414. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  415. package/dist/plugin-sdk/googlechat.js +3 -3
  416. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  417. package/dist/plugin-sdk/index.js +1 -1
  418. package/dist/plugin-sdk/infra-runtime.js +2 -2
  419. package/dist/plugin-sdk/irc.js +2 -2
  420. package/dist/plugin-sdk/matrix.js +2 -2
  421. package/dist/plugin-sdk/mattermost.js +1 -1
  422. package/dist/plugin-sdk/media-runtime.js +2 -2
  423. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  424. package/dist/plugin-sdk/memory-core.js +2 -2
  425. package/dist/plugin-sdk/msteams.js +4 -4
  426. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  427. package/dist/plugin-sdk/nostr.js +1 -1
  428. package/dist/plugin-sdk/outbound-media.js +1 -1
  429. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  430. package/dist/plugin-sdk/reply-runtime.js +4 -4
  431. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  432. package/dist/plugin-sdk/runtime.js +2 -2
  433. package/dist/plugin-sdk/session-visibility.js +1 -1
  434. package/dist/plugin-sdk/src/agents/subagent-control.d.ts +2 -2
  435. package/dist/plugin-sdk/src/gateway/protocol/index.d.ts +34 -3
  436. package/dist/plugin-sdk/src/gateway/protocol/schema/canvas.d.ts +43 -0
  437. package/dist/plugin-sdk/src/gateway/protocol/schema/protocol-schemas.d.ts +31 -0
  438. package/dist/plugin-sdk/src/gateway/protocol/schema/types.d.ts +2 -0
  439. package/dist/plugin-sdk/src/gateway/protocol/schema.d.ts +1 -0
  440. package/dist/plugin-sdk/src/plugin-sdk/approval-auth-helpers.d.ts +1 -1
  441. package/dist/plugin-sdk/testing.js +4 -4
  442. package/dist/plugin-sdk/tlon.js +1 -1
  443. package/dist/plugin-sdk/web-media.js +2 -2
  444. package/dist/plugin-sdk/zalo.js +1 -1
  445. package/dist/plugin-sdk/zalouser.js +2 -2
  446. package/dist/plugin-service-_9pkkiUS.js +2890 -0
  447. package/dist/plugins/runtime/index.js +1 -1
  448. package/dist/policy-BrXeII-A.js +328 -0
  449. package/dist/postinstall-inventory.json +438 -437
  450. package/dist/prepare.runtime-DDAttJh0.js +815 -0
  451. package/dist/prepare.runtime.js +1 -1
  452. package/dist/probe-A3zmoqnI.js +241 -0
  453. package/dist/probe-BI2aKtuv.js +74 -0
  454. package/dist/probe-BIjDXmE0.js +2205 -0
  455. package/dist/probe-Bht75arj.js +45 -0
  456. package/dist/probe-DRTzvcaE.js +1443 -0
  457. package/dist/probe-DaXQclu7.js +2 -0
  458. package/dist/probe-Dtp1ekg0.js +2 -0
  459. package/dist/program-TdCGX0aC.js +111 -0
  460. package/dist/prompt-select-styled-zAQZeJQu.js +20 -0
  461. package/dist/protocol-DWprZycP.js +2283 -0
  462. package/dist/provider-dispatcher-RVQ5ny3p.js +22 -0
  463. package/dist/provider-dispatcher-e7qXzL8Y.js +2 -0
  464. package/dist/qr-cli-BRKmL1xp.js +2 -0
  465. package/dist/qr-cli-Dv3PKtbg.js +349 -0
  466. package/dist/qr-image-BJXt-R5Y.js +2 -0
  467. package/dist/reaction-runtime-api-B_tKpY7u.js +116 -0
  468. package/dist/reactions-DrQks01C.js +998 -0
  469. package/dist/register-service-commands-xV8y3FHS.js +71 -0
  470. package/dist/register.agent-iDeNuiw1.js +248 -0
  471. package/dist/register.configure-2klz9fW8.js +15 -0
  472. package/dist/register.maintenance-FShE6C3p.js +438 -0
  473. package/dist/register.message-CPomBvI5.js +329 -0
  474. package/dist/register.onboard-aaUTaCQq.js +81 -0
  475. package/dist/register.runtime-DJ_p2orX.js +81 -0
  476. package/dist/register.runtime.js +1 -1
  477. package/dist/register.setup-TLLrIiSj.js +150 -0
  478. package/dist/register.status-health-sessions-CRgx0w7q.js +1215 -0
  479. package/dist/register.subclis-Dv1wGW3g.js +29 -0
  480. package/dist/register.subclis-DwIbjIAj.js +3 -0
  481. package/dist/register.subclis-core-Bko3H89P.js +249 -0
  482. package/dist/reply-dispatch-runtime-yjhlGmQa.js +13 -0
  483. package/dist/reply-media-paths.runtime-CuKBYqSs.js +2 -0
  484. package/dist/reply-media-paths.runtime-kh3iabdJ.js +146 -0
  485. package/dist/reply-media-paths.runtime.js +1 -1
  486. package/dist/reply-runtime-POkwAYBF.js +11 -0
  487. package/dist/reply.runtime-BZy3p8kg.js +2 -0
  488. package/dist/reply.runtime.js +1 -1
  489. package/dist/restart-health-BNrBfydi.js +202 -0
  490. package/dist/restart-health-wL13AbJS.js +2 -0
  491. package/dist/root-help-BktYhr6-.js +44 -0
  492. package/dist/routes-BLzTBe3U.js +3341 -0
  493. package/dist/routes-Do7Hp3Ju.js +2 -0
  494. package/dist/rpc-BLwz-9XH.js +61 -0
  495. package/dist/rpc.runtime-CKg08vpf.js +21 -0
  496. package/dist/rpc.runtime.js +1 -1
  497. package/dist/run-delivery.runtime-CJASymic.js +530 -0
  498. package/dist/run-delivery.runtime.js +1 -1
  499. package/dist/run-embedded.runtime-CX9arbKH.js +4 -0
  500. package/dist/run-embedded.runtime.js +1 -1
  501. package/dist/run-execution-cli.runtime-DjAY46Ol.js +4 -0
  502. package/dist/run-execution-cli.runtime.js +1 -1
  503. package/dist/run-executor.runtime-BFtk6iEm.js +277 -0
  504. package/dist/run-executor.runtime.js +1 -1
  505. package/dist/run-main-Bc7hVWlB.js +516 -0
  506. package/dist/run-subagent-registry.runtime-CF8amtGs.js +2 -0
  507. package/dist/run-subagent-registry.runtime.js +1 -1
  508. package/dist/run-wait-CHWyK79k.js +135 -0
  509. package/dist/runtime-CAJhi8f1.js +9 -0
  510. package/dist/runtime-XuiwQ4IM.js +973 -0
  511. package/dist/runtime-api--BeXVwyz.js +14 -0
  512. package/dist/runtime-api-Bjv_K-bW.js +4 -0
  513. package/dist/runtime-api-DfP95G4h.js +9 -0
  514. package/dist/runtime-api-Dju3YRRE.js +9 -0
  515. package/dist/runtime-embedded-pi.runtime-BnJbjva-.js +2 -0
  516. package/dist/runtime-embedded-pi.runtime.js +1 -1
  517. package/dist/runtime-internal-Ca1j_B7K.js +2 -0
  518. package/dist/runtime-options-BvWou_ca.js +275 -0
  519. package/dist/runtime-schema-DG-9mark.js +27780 -0
  520. package/dist/runtime-web-channel-plugin-CBDGLtiI.js +203 -0
  521. package/dist/scan-Cx5B3k3o.js +2 -0
  522. package/dist/scan-DHNMkx03.js +523 -0
  523. package/dist/secrets-cli-ukRqmE6x.js +2101 -0
  524. package/dist/security-cli-BiBQQ-88.js +486 -0
  525. package/dist/selection-Cud6Ozkq.js +2 -0
  526. package/dist/selection-qjyb9DhM.js +7736 -0
  527. package/dist/send-Bjv6gz1i.js +534 -0
  528. package/dist/send-CM9Yk5Kl.js +102 -0
  529. package/dist/send-DS-hlqsq.js +156 -0
  530. package/dist/send.runtime-CF_u1AVo.js +2 -0
  531. package/dist/send.runtime.js +1 -1
  532. package/dist/server-3pSUrSh6.js +77 -0
  533. package/dist/server-D_QJ4EdI.js +13 -0
  534. package/dist/server-context-BXVgdmge.js +2 -0
  535. package/dist/server-context-DdNdrdcV.js +847 -0
  536. package/dist/server-node-events-CAqPVPy4.js +481 -0
  537. package/dist/server-plugin-bootstrap-Bp2QUBjV.js +11398 -0
  538. package/dist/server-plugin-bootstrap-VFs6VC4p.js +2 -0
  539. package/dist/server-restart-sentinel-PI0b2Gyv.js +697 -0
  540. package/dist/server.impl-C4g02o6w.js +12736 -0
  541. package/dist/session-kill-http-DY5gLSmw.js +110 -0
  542. package/dist/session-reset-service-D1taSq3b.js +471 -0
  543. package/dist/session-route-BOJjXlWV.js +93 -0
  544. package/dist/session-status.runtime-B6NrMkU2.js +2 -0
  545. package/dist/session-status.runtime.js +1 -1
  546. package/dist/session-subagent-reactivation.runtime-CpbYOD80.js +2 -0
  547. package/dist/session-subagent-reactivation.runtime.js +1 -1
  548. package/dist/session-tab-registry-DECjIH2N.js +491 -0
  549. package/dist/session-visibility-CUqABJ6F.js +147 -0
  550. package/dist/sessions-helpers-B79P1mgf.js +304 -0
  551. package/dist/sessions-history-http-D3x9I2CD.js +383 -0
  552. package/dist/sessions-patch-idFzynvW.js +309 -0
  553. package/dist/sessions-resolve-DEMCJQTu.js +174 -0
  554. package/dist/sessions.runtime-Tbxzf5BH.js +2 -0
  555. package/dist/sessions.runtime.js +1 -1
  556. package/dist/setup-DvXcV-JY.js +495 -0
  557. package/dist/setup-api-DvrmJaiq.js +29 -0
  558. package/dist/setup-core-D1XPjfQr.js +171 -0
  559. package/dist/setup-core-eJZyYf85.js +176 -0
  560. package/dist/setup-surface-B7_Ps6_r.js +351 -0
  561. package/dist/setup-surface-Bk4lYh22.js +286 -0
  562. package/dist/setup-surface-BvccUnYq.js +219 -0
  563. package/dist/setup-surface-DoYhuKb1.js +403 -0
  564. package/dist/setup-surface-lvsksj3R.js +3 -0
  565. package/dist/setup.finalize-DxKMFMc_.js +539 -0
  566. package/dist/setup.gateway-config-CxYQl6JZ.js +250 -0
  567. package/dist/shared-BcVfaCRV.js +76 -0
  568. package/dist/shared-Cs_JtPmo.js +198 -0
  569. package/dist/shared-Tjzld0G6.js +121 -0
  570. package/dist/slash-state-DKR6rK8s.js +1911 -0
  571. package/dist/speech-provider-CJzbX5qG.js +209 -0
  572. package/dist/speech-provider-DLC_JPdP.js +216 -0
  573. package/dist/src-CTKGdCHv.js +3974 -0
  574. package/dist/startup-context-BlZVogKY.js +312 -0
  575. package/dist/status-B-r34lU4.js +3 -0
  576. package/dist/status-ClkoUp4o.js +2 -0
  577. package/dist/status-Cxc00N9a.js +209 -0
  578. package/dist/status-JFx75t88.js +190 -0
  579. package/dist/status-all-DkliFJYW.js +498 -0
  580. package/dist/status-json-CrGTMZWh.js +14 -0
  581. package/dist/status-json-command-DR9dHV95.js +84 -0
  582. package/dist/status-m9z9_EWg.js +2 -0
  583. package/dist/status-mIdcu6Cd.js +397 -0
  584. package/dist/status-runtime-shared-CkaK7bm4.js +257 -0
  585. package/dist/status-subagents.runtime-CCIoqL6q.js +18 -0
  586. package/dist/status-subagents.runtime.js +1 -1
  587. package/dist/status-text-3K5ON3ww.js +237 -0
  588. package/dist/status.gateway-connection.runtime-DjINyACC.js +2 -0
  589. package/dist/status.gateway-connection.runtime.js +1 -1
  590. package/dist/status.gather-7pCDV98-.js +2 -0
  591. package/dist/status.gather-CUXcp4EU.js +292 -0
  592. package/dist/status.runtime-B8RiZylS.js +2 -0
  593. package/dist/status.runtime.js +1 -1
  594. package/dist/status.scan-DszewobD.js +65 -0
  595. package/dist/status.scan-overview-C0eSlFGV.js +379 -0
  596. package/dist/status.scan.fast-json-3IR5FzGX.js +2 -0
  597. package/dist/status.scan.fast-json-Byy3YGsw.js +132 -0
  598. package/dist/status.summary-7QkrUPXI.js +214 -0
  599. package/dist/status.summary-DAlH2IPt.js +2 -0
  600. package/dist/subagent-announce-Cgq0tXM1.js +351 -0
  601. package/dist/subagent-announce-delivery-CKt_jQYe.js +726 -0
  602. package/dist/subagent-announce-output-DxXic4Q4.js +364 -0
  603. package/dist/subagent-control-DoYC7NGK.js +506 -0
  604. package/dist/subagent-followup.runtime-D9zLQ2zg.js +68 -0
  605. package/dist/subagent-followup.runtime.js +1 -1
  606. package/dist/subagent-orphan-recovery-B-f1P_9V.js +305 -0
  607. package/dist/subagent-registry-BlqNkrxa.js +3 -0
  608. package/dist/subagent-registry-COK0GlWy.js +1753 -0
  609. package/dist/subagent-registry.runtime.js +1 -1
  610. package/dist/subagent-spawn-Bu71yN3K.js +1005 -0
  611. package/dist/system-cli-BDBKF4EX.js +59 -0
  612. package/dist/system-prompt-BvLQVZGu.js +639 -0
  613. package/dist/targets-Bvxbtvp1.js +67 -0
  614. package/dist/task-executor-DYDCeAnK.js +360 -0
  615. package/dist/task-owner-access-DbaTH-83.js +74 -0
  616. package/dist/task-registry-CwGaJROW.js +2366 -0
  617. package/dist/task-registry-delivery-runtime-CSc0go9b.js +2 -0
  618. package/dist/task-registry-delivery-runtime-DzlKrbrk.js +3 -0
  619. package/dist/task-registry.maintenance-B9dYReWo.js +416 -0
  620. package/dist/task-registry.maintenance-BMmNtwe6.js +2 -0
  621. package/dist/telegram/token.js +1 -1
  622. package/dist/testing-Bmks5PrM.js +575 -0
  623. package/dist/text-report-CL-DD3RH.js +587 -0
  624. package/dist/tool-resolution-DWJjQ7CH.js +90 -0
  625. package/dist/tools-effective-inventory-Cm8H7A2A.js +152 -0
  626. package/dist/tools-invoke-http-CCURH0u8.js +206 -0
  627. package/dist/trash-B3lF3eWt.js +24 -0
  628. package/dist/tui-cli-24oh_Prd.js +4575 -0
  629. package/dist/update-cli-YBhNTeZV.js +1759 -0
  630. package/dist/upgrade-C3WPTXeR.js +1226 -0
  631. package/dist/video-generation-task-status-ZOfWEvIE.js +163 -0
  632. package/dist/wait-for-idle-before-flush-Cw9qqEAc.js +5986 -0
  633. package/dist/web-media-BvDXw5y1.js +2 -0
  634. package/dist/web-media-PnHEx5HT.js +715 -0
  635. package/dist/wizard-models-DIT_Mi4K.js +161 -0
  636. package/dist/workspace-run-C72pNbKQ.js +70 -0
  637. package/dist/zalo-js-BH-o_WTn.js +1157 -0
  638. package/package.json +1 -1
  639. package/dist/abort-BHSttDhY.js +0 -201
  640. package/dist/abort.runtime-VJ9lFsZS.js +0 -2
  641. package/dist/accounts-BNvagEOQ.js +0 -104
  642. package/dist/accounts-CPIuzenz.js +0 -107
  643. package/dist/accounts-Co4cbVCU.js +0 -66
  644. package/dist/accounts-r08DQWhZ.js +0 -2
  645. package/dist/accounts.runtime-V3yFS1uD.js +0 -2
  646. package/dist/acp-cli-i0L-eRs9.js +0 -2193
  647. package/dist/acp-spawn-CHzVLe9q.js +0 -1093
  648. package/dist/acp-spawn-CqvxDuBq.js +0 -2
  649. package/dist/acp-stateful-target-driver-CWRLc_NP.js +0 -89
  650. package/dist/action-agents-SNCscX_-.js +0 -67
  651. package/dist/action-focus-B2s0PF2E.js +0 -132
  652. package/dist/action-help-CXKbyaZ7.js +0 -7
  653. package/dist/action-info-B3IDKxWu.js +0 -101
  654. package/dist/action-kill-idGvCNhT.js +0 -33
  655. package/dist/action-list-Di7gO3qL.js +0 -21
  656. package/dist/action-log-BCsz-gFi.js +0 -30
  657. package/dist/action-send-DLsdZnVc.js +0 -39
  658. package/dist/action-spawn-DhKEOdL0.js +0 -47
  659. package/dist/action-unfocus-Dh7ti5UP.js +0 -29
  660. package/dist/actions.runtime-BPf03SN3.js +0 -18
  661. package/dist/actions.runtime-CJg_lweh.js +0 -5
  662. package/dist/agent-C3PLvvws.js +0 -2
  663. package/dist/agent-command-UroeNrV4.js +0 -874
  664. package/dist/agent-harness-runtime-MXvI9FlJ.js +0 -144
  665. package/dist/agent-runner-utils-CaVgLZrf.js +0 -239
  666. package/dist/agent-runner.runtime-Csqm3m09.js +0 -3455
  667. package/dist/agent-runtime-B9nUYDUz.js +0 -18
  668. package/dist/agents-BP4p-1q2.js +0 -5
  669. package/dist/agents-CDiXfrfc.js +0 -953
  670. package/dist/aliases-BBCtCq2A.js +0 -96
  671. package/dist/aliases-DrFtFq1p.js +0 -2
  672. package/dist/api-BH0oEwR1.js +0 -5
  673. package/dist/api-D-4gHdrl.js +0 -139
  674. package/dist/api-DE6RYTxv.js +0 -3
  675. package/dist/approval-gateway-resolver-URpDQMld.js +0 -29
  676. package/dist/approval-gateway-runtime-B087BMms.js +0 -2
  677. package/dist/approval-handler-runtime-BEl3ua8-.js +0 -439
  678. package/dist/approval-native-runtime-ghjYGufu.js +0 -729
  679. package/dist/attempt-execution.runtime-PCTFYqLh.js +0 -509
  680. package/dist/attempt.prompt-helpers-CkWEozQ2.js +0 -221
  681. package/dist/attempt.tool-run-context-DbqVgXFk.js +0 -933
  682. package/dist/audit-Lb1yNEwg.js +0 -939
  683. package/dist/audit.runtime-DOnixKE_.js +0 -7
  684. package/dist/auth-BrlJ7NM9.js +0 -2
  685. package/dist/auth-CJoP7Yst.js +0 -383
  686. package/dist/auth-order-D0KFgBib.js +0 -96
  687. package/dist/auth-order-_xlUHzCg.js +0 -2
  688. package/dist/bash-tools-BEVEHCl9.js +0 -2824
  689. package/dist/bash-tools-DJ0D8Wr5.js +0 -3
  690. package/dist/binding-routing-IfKqPcfO.js +0 -85
  691. package/dist/binding-targets-2huR0hTX.js +0 -121
  692. package/dist/bridge-server-D8Y8Fzdz.js +0 -113
  693. package/dist/browser-control-auth-Q6UpVLEj.js +0 -2
  694. package/dist/browser-node-runtime-C9KvsOyx.js +0 -12
  695. package/dist/browser-profiles-DFcwiMEf.js +0 -2
  696. package/dist/browser-runtime-sbZ3hKg6.js +0 -387
  697. package/dist/browser-setup-tools-CP4BkZ9z.js +0 -13
  698. package/dist/build-DzHX2LrH.js +0 -550
  699. package/dist/call-ORivR4Db.js +0 -331
  700. package/dist/call-qzfm6lro.js +0 -3
  701. package/dist/call.runtime-BkzJe07B.js +0 -2
  702. package/dist/capability-cli-BDCvm93o.js +0 -1401
  703. package/dist/catchup-CjZa2PrP.js +0 -300
  704. package/dist/channel-B3UAL9Pk.js +0 -840
  705. package/dist/channel-B5L9LJBF.js +0 -453
  706. package/dist/channel-BGXl6A-E.js +0 -297
  707. package/dist/channel-BNUblayu.js +0 -1320
  708. package/dist/channel-Bej-TN7f.js +0 -491
  709. package/dist/channel-BzOKSC4e.js +0 -350
  710. package/dist/channel-CY2xEOzR.js +0 -1802
  711. package/dist/channel-D2kKLWUA.js +0 -226
  712. package/dist/channel-DcjCe46M.js +0 -1100
  713. package/dist/channel-GqA96nmt.js +0 -595
  714. package/dist/channel-YI2aIJFQ.js +0 -1174
  715. package/dist/channel-core-DqPUhmTt.js +0 -5
  716. package/dist/channel-inbound-CzgMd2Xi.js +0 -31
  717. package/dist/channel-plugin-runtime-DI5uUbxx.js +0 -771
  718. package/dist/channel-runtime-BJqKQitD.js +0 -425
  719. package/dist/channel.runtime-BBn9mgbB.js +0 -89
  720. package/dist/channel.runtime-Bhj1b9gQ.js +0 -34702
  721. package/dist/channel.runtime-BozvCkMo.js +0 -26
  722. package/dist/channel.runtime-BzOVx90Z.js +0 -576
  723. package/dist/channel.runtime-CQkLKWlq.js +0 -109
  724. package/dist/channel.runtime-D8qT4A1x.js +0 -4
  725. package/dist/channel.runtime-DjK9Re1w.js +0 -2364
  726. package/dist/channel.runtime-tWwM8hFw.js +0 -430
  727. package/dist/channel.setup-gaiRZ-r8.js +0 -10
  728. package/dist/channels-BXIl3hBo.js +0 -733
  729. package/dist/channels-cli-CrmBqaul.js +0 -268
  730. package/dist/chat-C42usv-F.js +0 -2758
  731. package/dist/clawbot-cli-BGYO_ymZ.js +0 -9
  732. package/dist/cli-BbD25CFK.js +0 -2
  733. package/dist/cli-CYD4Wfcq.js +0 -219
  734. package/dist/cli-D-6ycHAw.js +0 -72
  735. package/dist/cli-DX4CK-bw.js +0 -2
  736. package/dist/cli-runner-C5_PBTxm.js +0 -286
  737. package/dist/cli-runner.runtime-DE7RpQ27.js +0 -3
  738. package/dist/cli-runner.runtime-ueVMICzY.js +0 -4
  739. package/dist/cli.runtime-DSO8Vfrh.js +0 -1261
  740. package/dist/client-BKro32pr.js +0 -138
  741. package/dist/client-Vx7pseEY.js +0 -713
  742. package/dist/command-auth-CvFUTCCJ.js +0 -76
  743. package/dist/command-config-resolution-BnW1XGnW.js +0 -23
  744. package/dist/command-config-resolution-BrlfYyiN.js +0 -2
  745. package/dist/command-config-resolution.runtime-DYMr8J0t.js +0 -2
  746. package/dist/command-registry-BFZKeOfs.js +0 -4
  747. package/dist/command-registry-Dx2ADG5E.js +0 -9
  748. package/dist/command-registry-core-D7i83K9k.js +0 -101
  749. package/dist/command-secret-gateway-B27Zpgo9.js +0 -528
  750. package/dist/command-status.runtime-fERQMzeI.js +0 -87
  751. package/dist/commands-acp-BmORmf3-.js +0 -77
  752. package/dist/commands-compact.runtime-BUaXIw-I.js +0 -10
  753. package/dist/commands-handlers.runtime-BxbkeuTc.js +0 -4597
  754. package/dist/commands-status-4OW5sqmg.js +0 -16
  755. package/dist/commands-status.runtime-Cl7nJp_7.js +0 -3
  756. package/dist/commands-subagents-control.runtime-BR4qBGkk.js +0 -2
  757. package/dist/commands-subagents-control.runtime-C8ufgKPI.js +0 -3
  758. package/dist/commands-system-prompt-BsimvjJt.js +0 -158
  759. package/dist/commands-system-prompt-CKrY0h7P.js +0 -2
  760. package/dist/commands.runtime-BHsDdaEU.js +0 -166
  761. package/dist/compact-BHYLQst3.js +0 -1118
  762. package/dist/compact.runtime-7-tZRdgw.js +0 -12
  763. package/dist/completion-cli-CrMeY4zt.js +0 -328
  764. package/dist/config-BZ3FuFjH.js +0 -251
  765. package/dist/config-cli-Bfvd45IK.js +0 -1078
  766. package/dist/configure-DiSRY2c4.js +0 -1245
  767. package/dist/configure-srxQxuEW.js +0 -2
  768. package/dist/connect-options-DlmPTyhG.js +0 -699
  769. package/dist/control-auth-C_zNiV10.js +0 -125
  770. package/dist/control-service-B1TL51jf.js +0 -156
  771. package/dist/control-ui-CIhsZ2Nb.js +0 -688
  772. package/dist/conversation-id-B3lLiTfF.js +0 -235
  773. package/dist/conversation-id-DORmTZm_.js +0 -38
  774. package/dist/conversation-runtime-DDxZZZXE.js +0 -31
  775. package/dist/core-DbPzffGG.js +0 -275
  776. package/dist/cron-cli-AoH4jhFt.js +0 -713
  777. package/dist/daemon-cli-C9Z9wW_C.js +0 -12
  778. package/dist/delegate-Dmdda3kT.js +0 -64
  779. package/dist/delivery.runtime-Ci0ToUzj.js +0 -253
  780. package/dist/detached-task-runtime-BB5az34R.js +0 -73
  781. package/dist/devices-cli-Cy9DF-DP.js +0 -496
  782. package/dist/diagnostics-CTE0TWR1.js +0 -154
  783. package/dist/direct-dm-9jzadx9u.js +0 -64
  784. package/dist/dispatch-DU7cqfv6.js +0 -1131
  785. package/dist/dispatch-acp-Cu_nUtKg.js +0 -981
  786. package/dist/dispatch-acp-manager.runtime-8MOQ5BRn.js +0 -3
  787. package/dist/dispatch-acp.runtime-DatcHNJq.js +0 -19
  788. package/dist/doctor-device-pairing-Qm-r7mwu.js +0 -307
  789. package/dist/doctor-gateway-daemon-flow-DJUA40sd.js +0 -250
  790. package/dist/doctor-gateway-health-CD7Vzth9.js +0 -60
  791. package/dist/doctor-health-O51CFRqy.js +0 -59
  792. package/dist/doctor-health-contributions-CGMp0dRt.js +0 -486
  793. package/dist/doctor-prompter-BYIoKiZ8.js +0 -56
  794. package/dist/doctor-workspace-status-DL2fRPoT.js +0 -75
  795. package/dist/dreaming-CCctNgkQ.js +0 -1574
  796. package/dist/dreaming-narrative-BPtXKc2-.js +0 -595
  797. package/dist/embedded-gateway-stub.runtime-Hi36BeCq.js +0 -9
  798. package/dist/embeddings-http-BDz5OXZk.js +0 -205
  799. package/dist/exec-approvals-cli-DyslUWtQ.js +0 -498
  800. package/dist/execute.runtime-COmoY37L.js +0 -1366
  801. package/dist/fallbacks-B3xZC-ms.js +0 -2
  802. package/dist/fallbacks-CWDz-tSa.js +0 -31
  803. package/dist/fallbacks-shared-BlZBjxHL.js +0 -111
  804. package/dist/gateway-NYBkUx5r.js +0 -115
  805. package/dist/gateway-cli-DvJWNwl6.js +0 -1325
  806. package/dist/gateway-rpc-BrG5Lkfm.js +0 -14
  807. package/dist/gateway-rpc.runtime-BrTGchr9.js +0 -23
  808. package/dist/gateway-runtime-DctMRv_p.js +0 -15
  809. package/dist/gateway-status-B6ol1agz.js +0 -584
  810. package/dist/genesis-tools-D_ah3Zek.js +0 -8999
  811. package/dist/genesis-tools.runtime-Cy7aTWEN.js +0 -2
  812. package/dist/get-reply-BvVkxYum.js +0 -3879
  813. package/dist/get-reply-from-config.runtime-DR3yiK1R.js +0 -2
  814. package/dist/graph-users-yBNugoFz.js +0 -1337
  815. package/dist/health-D_wk2s7j.js +0 -3
  816. package/dist/health-MRnjOx-_.js +0 -469
  817. package/dist/heartbeat-runner-NuhhYnxs.js +0 -5
  818. package/dist/heartbeat-runner-Y4NeUV3L.js +0 -1292
  819. package/dist/heartbeat-runner.runtime-eGfKtcpP.js +0 -4
  820. package/dist/helpers-B-g1rXs3.js +0 -320
  821. package/dist/hooks-cli-CtfN2vc-.js +0 -433
  822. package/dist/http-endpoint-helpers-CY0P-_y2.js +0 -41
  823. package/dist/http-utils-Da8hOLty.js +0 -924
  824. package/dist/image-fallbacks-CgeDMYZo.js +0 -2
  825. package/dist/image-fallbacks-CzQ85Eo8.js +0 -31
  826. package/dist/images-e55CDILU.js +0 -352
  827. package/dist/inbound-reply-dispatch-jVlLaSqn.js +0 -73
  828. package/dist/infra-runtime-D2Pqjk-r.js +0 -39
  829. package/dist/init-D_MTYqrw.js +0 -59
  830. package/dist/library-DIykYIWD.js +0 -45
  831. package/dist/lifecycle-BNuFzffC.js +0 -571
  832. package/dist/lifecycle-DJidJ8WM.js +0 -229
  833. package/dist/lifecycle.runtime-DWcLMs_A.js +0 -2
  834. package/dist/list-BZ3mMSpA.js +0 -2
  835. package/dist/list-CzQs_k0U.js +0 -131
  836. package/dist/list-CzTJTFOH.js +0 -1201
  837. package/dist/list-qDXsgKhB.js +0 -2
  838. package/dist/list.probe-EOZR6ueo.js +0 -419
  839. package/dist/llm-slug-generator-DzWIx0nh.js +0 -79
  840. package/dist/load-config-C_8uUnXU.js +0 -35
  841. package/dist/local-dispatch.runtime-DLd10Xb1.js +0 -8
  842. package/dist/logs-cli-mnOTmC9R.js +0 -265
  843. package/dist/logs-cli.runtime-BvP3aise.js +0 -2
  844. package/dist/main-session-restart-recovery-D7Vxmu7e.js +0 -206
  845. package/dist/managed-image-attachments-BB5u0Zq8.js +0 -2
  846. package/dist/managed-image-attachments-BeRGNdL9.js +0 -635
  847. package/dist/manager-BhNWV4EC.js +0 -2
  848. package/dist/manager-CbZ9ncZs.js +0 -2057
  849. package/dist/markdown-to-line-DyB8w7ef.js +0 -790
  850. package/dist/mcp-cli-CWzLBrDF.js +0 -725
  851. package/dist/mcp-http-1jD7LE0a.js +0 -529
  852. package/dist/media-runtime-D2xH8y9Y.js +0 -329
  853. package/dist/memory-core-host-runtime-cli-P80xoEfr.js +0 -9
  854. package/dist/message-BAhd_1ud.js +0 -232
  855. package/dist/message-action-runner-CH2jjT21.js +0 -1407
  856. package/dist/message-action-runner-DW7z_bMx.js +0 -2
  857. package/dist/message-actions-BjBGSsJB.js +0 -143
  858. package/dist/message.gateway.runtime-sUc85g7X.js +0 -2
  859. package/dist/method-scopes-DPvtAkiy.js +0 -215
  860. package/dist/models-auth-status-D6lrM56M.js +0 -201
  861. package/dist/models-cli-CmnbAk2M.js +0 -219
  862. package/dist/models-http-n4zWGd1p.js +0 -92
  863. package/dist/monitor-AyGe8vyk.js +0 -1237
  864. package/dist/monitor-DQuy2kx-.js +0 -671
  865. package/dist/monitor-DmtJiX5o.js +0 -788
  866. package/dist/monitor-GB8lcnal.js +0 -1459
  867. package/dist/monitor-IuVjATac.js +0 -1661
  868. package/dist/monitor-auth-rF7mr3Cm.js +0 -207
  869. package/dist/monitor-bnOvJyLN.js +0 -2
  870. package/dist/monitor-processing-B1ewr2qF.js +0 -1974
  871. package/dist/monitor.runtime-BrUD5_VN.js +0 -2
  872. package/dist/monitor.webhook-BvJG6Xbh.js +0 -180
  873. package/dist/msteams-DUDRy3xt.js +0 -35
  874. package/dist/native-hook-relay-CTpTLgCA.js +0 -519
  875. package/dist/nextcloud-talk-BH2uWRZ2.js +0 -17
  876. package/dist/node-cli-CrDZkIQS.js +0 -2506
  877. package/dist/nodes-cli-B7IWCrYq.js +0 -1046
  878. package/dist/nodes-utils-Dg2hrC3z.js +0 -84
  879. package/dist/nodes.helpers-CkJO5i0d.js +0 -34
  880. package/dist/notify-bsxfkOWp.js +0 -315
  881. package/dist/onboard-helpers-Cc2AnoIU.js +0 -6
  882. package/dist/onboard-helpers-DIxfEXNM.js +0 -204
  883. package/dist/onboard-plDFxTJw.js +0 -632
  884. package/dist/onboard-remote-CYhQbOXH.js +0 -2
  885. package/dist/onboard-remote-DrH3yVxE.js +0 -193
  886. package/dist/onboard-skills-DCI3hVXa.js +0 -134
  887. package/dist/onboard-skills-i4KuFzS4.js +0 -2
  888. package/dist/openai-http-D_7Nk3iN.js +0 -500
  889. package/dist/openresponses-http-BITxvD4V.js +0 -1128
  890. package/dist/operator-approvals-client-C0t_-2xC.js +0 -68
  891. package/dist/outbound-attachment-Cgs2OPPc.js +0 -19
  892. package/dist/outbound-media-0d3HzPSa.js +0 -19
  893. package/dist/outbound.runtime-C8_lBQcx.js +0 -2
  894. package/dist/pair-command-approve-D3s1W5go.js +0 -44
  895. package/dist/persistent-bindings.lifecycle-CCR6khHJ.js +0 -85
  896. package/dist/persistent-bindings.lifecycle-Dgoo5bpE.js +0 -2
  897. package/dist/pi-embedded-C2l80M7j.js +0 -4
  898. package/dist/pi-embedded-DMHGJgoQ.js +0 -2905
  899. package/dist/pi-embedded.runtime-fA0EsIue.js +0 -4
  900. package/dist/pi-tool-definition-adapter-B4hSYdYX.js +0 -217
  901. package/dist/pi-tools-YCHBvJG0.js +0 -1057
  902. package/dist/pi-tools.before-tool-call-BsyruRs4.js +0 -433
  903. package/dist/pi-tools.before-tool-call-D1maRTbl.js +0 -2
  904. package/dist/plugin-DmBZwzWQ.js +0 -12195
  905. package/dist/plugin-enabled-rr_Y1Kwh.js +0 -140
  906. package/dist/plugin-registration-J1JWqMZg.js +0 -23
  907. package/dist/plugin-service-CPY8FSW2.js +0 -2890
  908. package/dist/policy-DDUw681i.js +0 -328
  909. package/dist/prepare.runtime-BfnpyhHB.js +0 -815
  910. package/dist/probe-CCdD6_vN.js +0 -1443
  911. package/dist/probe-CakOsrSu.js +0 -241
  912. package/dist/probe-Ctrcd_Q7.js +0 -2205
  913. package/dist/probe-D9IFIte1.js +0 -2
  914. package/dist/probe-DXMI0QlZ.js +0 -74
  915. package/dist/probe-KtX2HjXM.js +0 -45
  916. package/dist/probe-OcOYm1bj.js +0 -2
  917. package/dist/program-BtHRWk-Q.js +0 -111
  918. package/dist/prompt-select-styled-CR6QJuHt.js +0 -20
  919. package/dist/protocol-C40iRm9c.js +0 -2234
  920. package/dist/provider-dispatcher-BZp3Stzr.js +0 -2
  921. package/dist/provider-dispatcher-JJxN7BDL.js +0 -22
  922. package/dist/qr-cli-IMKzycXh.js +0 -349
  923. package/dist/qr-cli-W8X3Ha5T.js +0 -2
  924. package/dist/qr-image-BAPDnfbt.js +0 -2
  925. package/dist/reaction-runtime-api-D7i4oMn9.js +0 -116
  926. package/dist/reactions-D9eRHeXM.js +0 -998
  927. package/dist/register-service-commands-CaBS-AUR.js +0 -71
  928. package/dist/register.agent-p1q6ZWSs.js +0 -248
  929. package/dist/register.configure-DazZmqzO.js +0 -15
  930. package/dist/register.maintenance-Dv5WFjIs.js +0 -438
  931. package/dist/register.message-B5msOUKt.js +0 -329
  932. package/dist/register.onboard-CMozEUYQ.js +0 -81
  933. package/dist/register.runtime-D8XvwfoZ.js +0 -81
  934. package/dist/register.setup-DMYbjy66.js +0 -150
  935. package/dist/register.status-health-sessions-BE_L9Dys.js +0 -1215
  936. package/dist/register.subclis-BKl2XnlL.js +0 -3
  937. package/dist/register.subclis-Dda0aZgo.js +0 -29
  938. package/dist/register.subclis-core-CR9n4UBd.js +0 -249
  939. package/dist/reply-dispatch-runtime-DcxOLr7n.js +0 -13
  940. package/dist/reply-media-paths.runtime-CmS_Bnnf.js +0 -2
  941. package/dist/reply-media-paths.runtime-DCj1JhDR.js +0 -146
  942. package/dist/reply-runtime-B4VQJnqi.js +0 -11
  943. package/dist/reply.runtime-B990ty9C.js +0 -2
  944. package/dist/restart-health-BWUPc4R-.js +0 -202
  945. package/dist/restart-health-CWvsjHVN.js +0 -2
  946. package/dist/root-help-D9aeVXNr.js +0 -44
  947. package/dist/routes-BSmEgP46.js +0 -2
  948. package/dist/routes-Z67chkN5.js +0 -3341
  949. package/dist/rpc-CBQZvJME.js +0 -61
  950. package/dist/rpc.runtime-ClhNVRer.js +0 -21
  951. package/dist/run-delivery.runtime-Bj566BTH.js +0 -530
  952. package/dist/run-embedded.runtime-DuB-mQh2.js +0 -4
  953. package/dist/run-execution-cli.runtime-Oy4FGfj5.js +0 -4
  954. package/dist/run-executor.runtime-B7-lfFh3.js +0 -277
  955. package/dist/run-main-DW_mKhnK.js +0 -516
  956. package/dist/run-subagent-registry.runtime-Bx9Wga3d.js +0 -2
  957. package/dist/run-wait-C-VgbefQ.js +0 -135
  958. package/dist/runtime-BV7JmOaE.js +0 -9
  959. package/dist/runtime-D7npxl4G.js +0 -973
  960. package/dist/runtime-api-BkVIoPU9.js +0 -4
  961. package/dist/runtime-api-CdhgyHMB.js +0 -9
  962. package/dist/runtime-api-CmlBBCCY.js +0 -9
  963. package/dist/runtime-api-DnhXPE_z.js +0 -14
  964. package/dist/runtime-embedded-pi.runtime-DpKqDUrl.js +0 -2
  965. package/dist/runtime-internal-Bu1n9i4P.js +0 -2
  966. package/dist/runtime-options-CN4g8VJE.js +0 -275
  967. package/dist/runtime-schema-C3ix-VNE.js +0 -27780
  968. package/dist/runtime-web-channel-plugin-DQoEo6bK.js +0 -203
  969. package/dist/scan-C8jthyct.js +0 -523
  970. package/dist/scan-DEd4q4aN.js +0 -2
  971. package/dist/secrets-cli-iBL8NBAq.js +0 -2101
  972. package/dist/security-cli-CzYBRa4n.js +0 -486
  973. package/dist/selection-BOalx5uy.js +0 -2
  974. package/dist/selection-BZFVKdFz.js +0 -7736
  975. package/dist/send-C4mKkkWW.js +0 -156
  976. package/dist/send-CMqcsAS2.js +0 -534
  977. package/dist/send-C_36w3lb.js +0 -102
  978. package/dist/send.runtime-vJT5TzDj.js +0 -2
  979. package/dist/server-CBQVrNY0.js +0 -77
  980. package/dist/server-DAWF7iAc.js +0 -13
  981. package/dist/server-context-Dq2VA7I4.js +0 -2
  982. package/dist/server-context-O_WUP8OV.js +0 -847
  983. package/dist/server-node-events-B8PLg0eQ.js +0 -481
  984. package/dist/server-plugin-bootstrap-DRMyT3TQ.js +0 -2
  985. package/dist/server-plugin-bootstrap-E5PJcEA2.js +0 -11333
  986. package/dist/server-restart-sentinel-BCd6AqrQ.js +0 -697
  987. package/dist/server.impl-KAOuJEQa.js +0 -12735
  988. package/dist/session-kill-http-ChCr5CQ3.js +0 -110
  989. package/dist/session-reset-service-DsYIDYdh.js +0 -471
  990. package/dist/session-route-rem428sJ.js +0 -93
  991. package/dist/session-status.runtime-CFmGwoCm.js +0 -2
  992. package/dist/session-subagent-reactivation.runtime-DLkpnURC.js +0 -2
  993. package/dist/session-tab-registry-DWyzIez5.js +0 -491
  994. package/dist/session-visibility-CJocpWP0.js +0 -147
  995. package/dist/sessions-helpers-CMf9gVTZ.js +0 -304
  996. package/dist/sessions-history-http-C5iZkW8x.js +0 -383
  997. package/dist/sessions-patch-2sBcHc9a.js +0 -309
  998. package/dist/sessions-resolve-D1hmolC-.js +0 -174
  999. package/dist/sessions.runtime-DMPmzLE0.js +0 -2
  1000. package/dist/setup-BCTvNOj1.js +0 -495
  1001. package/dist/setup-api-DilgjV01.js +0 -29
  1002. package/dist/setup-core-CFAiauCt.js +0 -171
  1003. package/dist/setup-core-RgJfQc-C.js +0 -176
  1004. package/dist/setup-surface-BpSH7F_m.js +0 -351
  1005. package/dist/setup-surface-C0l9bHY3.js +0 -286
  1006. package/dist/setup-surface-CfcFHZln.js +0 -403
  1007. package/dist/setup-surface-CyDRXq_1.js +0 -219
  1008. package/dist/setup-surface-DiYEprKG.js +0 -3
  1009. package/dist/setup.finalize-02oxjXU3.js +0 -539
  1010. package/dist/setup.gateway-config-Df6Jm4vX.js +0 -250
  1011. package/dist/shared-3gP_6DZV.js +0 -76
  1012. package/dist/shared-C9fN-WCy.js +0 -198
  1013. package/dist/shared-Cz9c46Aj.js +0 -121
  1014. package/dist/slash-state-C7nXXf23.js +0 -1911
  1015. package/dist/speech-provider-CNOimJB2.js +0 -209
  1016. package/dist/speech-provider-D9i0DEZ1.js +0 -216
  1017. package/dist/src-LnF0REtW.js +0 -3974
  1018. package/dist/startup-context-CxTy7OzN.js +0 -312
  1019. package/dist/status-4n9xL7HY.js +0 -2
  1020. package/dist/status-BeHR7joL.js +0 -209
  1021. package/dist/status-D9Njde8S.js +0 -2
  1022. package/dist/status-Db2zz0yf.js +0 -397
  1023. package/dist/status-QN-37T-w.js +0 -3
  1024. package/dist/status-all-BiRJ-uPf.js +0 -498
  1025. package/dist/status-f2DLmjOF.js +0 -190
  1026. package/dist/status-json-DOq74jka.js +0 -14
  1027. package/dist/status-json-command-DtaWaUPH.js +0 -84
  1028. package/dist/status-runtime-shared-BgbbPlTW.js +0 -257
  1029. package/dist/status-subagents.runtime-03fp3eBE.js +0 -18
  1030. package/dist/status-text-CNvz374U.js +0 -237
  1031. package/dist/status.gateway-connection.runtime-zjQmormq.js +0 -2
  1032. package/dist/status.gather-G7eWnGnc.js +0 -2
  1033. package/dist/status.gather-nP-ItDeK.js +0 -292
  1034. package/dist/status.runtime-IzRA68mh.js +0 -2
  1035. package/dist/status.scan-DjhdTOWP.js +0 -65
  1036. package/dist/status.scan-overview-BYxTBsOw.js +0 -379
  1037. package/dist/status.scan.fast-json-Dz0JcORG.js +0 -2
  1038. package/dist/status.scan.fast-json-FroEIZ9d.js +0 -132
  1039. package/dist/status.summary-3UVa_X5B.js +0 -214
  1040. package/dist/status.summary-BGzGsyZB.js +0 -2
  1041. package/dist/subagent-announce-BvRFZ87M.js +0 -351
  1042. package/dist/subagent-announce-delivery-QvuOM46S.js +0 -726
  1043. package/dist/subagent-announce-output-fOtzkOiP.js +0 -364
  1044. package/dist/subagent-control-DwnzmG6T.js +0 -506
  1045. package/dist/subagent-followup.runtime-DxR1eP_x.js +0 -68
  1046. package/dist/subagent-orphan-recovery-CiBbDxX3.js +0 -305
  1047. package/dist/subagent-registry-D5FrT_tn.js +0 -3
  1048. package/dist/subagent-registry-DbPekx8d.js +0 -1753
  1049. package/dist/subagent-spawn-W-bTaU9l.js +0 -1005
  1050. package/dist/system-cli-B443uVHG.js +0 -59
  1051. package/dist/system-prompt-BsfYBoK_.js +0 -638
  1052. package/dist/targets-3Lcm8HoL.js +0 -67
  1053. package/dist/task-executor-B5e9_Hmt.js +0 -360
  1054. package/dist/task-owner-access-CIEssJ78.js +0 -74
  1055. package/dist/task-registry-M1bHrFvP.js +0 -2366
  1056. package/dist/task-registry-delivery-runtime-CiHBC7sJ.js +0 -3
  1057. package/dist/task-registry-delivery-runtime-M4O7ffju.js +0 -2
  1058. package/dist/task-registry.maintenance-BURvMU0r.js +0 -2
  1059. package/dist/task-registry.maintenance-CgrLoBqi.js +0 -416
  1060. package/dist/testing-CRy_6-wt.js +0 -575
  1061. package/dist/text-report-ClTof2oc.js +0 -587
  1062. package/dist/tool-resolution-C52y5Qtc.js +0 -90
  1063. package/dist/tools-effective-inventory-WlIlqM7G.js +0 -152
  1064. package/dist/tools-invoke-http-B04Rc8tG.js +0 -206
  1065. package/dist/trash-BV5Gcx3a.js +0 -24
  1066. package/dist/tui-cli-DMZ07qRK.js +0 -4575
  1067. package/dist/update-cli-CxZPAy-d.js +0 -1759
  1068. package/dist/upgrade-C9ke1SCc.js +0 -1226
  1069. package/dist/video-generation-task-status-I3jvAjUL.js +0 -163
  1070. package/dist/wait-for-idle-before-flush-BZhF2ejZ.js +0 -5986
  1071. package/dist/web-media-DtmXd0Ej.js +0 -2
  1072. package/dist/web-media-UhS-eUvv.js +0 -600
  1073. package/dist/wizard-models-CMKeAr_M.js +0 -161
  1074. package/dist/workspace-run-DcHTcwZo.js +0 -70
  1075. package/dist/zalo-js-B0dhviG7.js +0 -1157
@@ -0,0 +1,1237 @@
1
+ import { c as normalizeOptionalString } from "./string-coerce-C1IzJjqi.js";
2
+ import { u as normalizeE164 } from "./utils-DaGfogP-.js";
3
+ import { t as createNonExitingRuntime } from "./runtime-CQ7eH0le.js";
4
+ import { a as shouldLogVerbose, r as logVerbose, t as danger } from "./globals-C5IxqXPj.js";
5
+ import { s as normalizeStringEntries } from "./string-normalization-Bvcn03I9.js";
6
+ import { a as loadConfig } from "./io-DNd8mbjy.js";
7
+ import { n as fireAndForgetHook } from "./fire-and-forget-BxC2VE71.js";
8
+ import { m as triggerInternalHook, n as createInternalHookEvent } from "./internal-hooks-aB3cCCPc.js";
9
+ import { i as resolveHumanDelayConfig } from "./identity-CDV_WvtM.js";
10
+ import { u as resolveStorePath } from "./paths-DD6L4IvS.js";
11
+ import { n as readSessionUpdatedAt } from "./store-CUSu4-Qr.js";
12
+ import { n as sleepWithAbort, t as computeBackoff } from "./backoff-evZNQ2Sv.js";
13
+ import { s as kindFromMime, t as detectMime } from "./mime-dYER0fWW.js";
14
+ import { n as estimateBase64DecodedBytes } from "./base64-CzwAAcLy.js";
15
+ import { i as deliverTextOrMediaReply, m as resolveSendableOutboundReplyParts } from "./reply-payload-ChFsXpe2.js";
16
+ import { l as saveMediaBuffer } from "./store-Fge4lGwN.js";
17
+ import { n as resolveChannelGroupRequireMention, t as resolveChannelGroupPolicy } from "./group-policy-BMwhQr9i.js";
18
+ import { c as resolveTextChunkLimit, o as chunkTextWithMode, s as resolveChunkMode } from "./chunk-CMvONy3a.js";
19
+ import { i as toInternalMessageReceivedContext } from "./message-hook-mappers-Q-EudlF-.js";
20
+ import { i as resolveAgentRoute } from "./resolve-route-BA6bCR3F.js";
21
+ import { i as enqueueSystemEvent } from "./system-events-CXxVc5Du.js";
22
+ import "./text-runtime-B4pK_Jpd.js";
23
+ import "./routing-lEBa2-AE.js";
24
+ import { t as hasControlCommand } from "./command-detection--wYDcLgI.js";
25
+ import { a as createReplyDispatcherWithTyping, t as dispatchInboundMessage } from "./dispatch-CRDSpd0f.js";
26
+ import { t as finalizeInboundContext } from "./inbound-context-DcpIc6mh.js";
27
+ import { a as resolveEnvelopeFormatOptions, i as formatInboundFromLabel, r as formatInboundEnvelope } from "./envelope-C1lEhRFw.js";
28
+ import { n as buildMentionRegexes, r as matchesMentionPatterns } from "./mentions-Dm5IQz51.js";
29
+ import { n as resolveControlCommandGate } from "./command-gating-BnQtRLCi.js";
30
+ import { n as resolveInboundMentionDecision } from "./mention-gating-C2K3rSdY.js";
31
+ import { t as recordInboundSession } from "./session-DF38Qk5T.js";
32
+ import { d as upsertChannelPairingRequest } from "./pairing-store-DI7znxyK.js";
33
+ import { a as warnMissingProviderGroupPolicyFallbackOnce, n as resolveAllowlistProviderRuntimeGroupPolicy, r as resolveDefaultGroupPolicy } from "./runtime-group-policy-CX-BIMex.js";
34
+ import { c as resolvePinnedMainDmOwnerFromAllowlist, n as readStoreAllowFromForDmPolicy, o as resolveDmGroupAccessWithLists, t as DM_GROUP_ACCESS_REASON } from "./dm-policy-shared-CWi7ZZgc.js";
35
+ import { a as buildPendingHistoryContextFromMap, s as clearHistoryEntriesIfEnabled, u as recordPendingHistoryEntryIfEnabled } from "./history-XG_CXCAa.js";
36
+ import "./reply-history-BBCEOSzW.js";
37
+ import { n as logInboundDrop, r as logTypingFailure } from "./logging-DgcyiFp-.js";
38
+ import { t as createChannelReplyPipeline } from "./channel-reply-pipeline-BgPhKdUO.js";
39
+ import { t as createChannelPairingChallengeIssuer } from "./channel-pairing-B3r45ANt.js";
40
+ import "./runtime-env-6Wx5-zP8.js";
41
+ import { t as evaluateSupplementalContextVisibility } from "./context-visibility-Coe5PM9K.js";
42
+ import { t as resolveChannelContextVisibilityMode } from "./context-visibility-DU6hvbA_.js";
43
+ import "./config-runtime-CiIsBMuo.js";
44
+ import "./reply-runtime-POkwAYBF.js";
45
+ import { t as waitForTransportReady } from "./transport-ready-cakWXLl3.js";
46
+ import "./infra-runtime-DXR8kcRT.js";
47
+ import "./media-runtime-Cz9iit6D.js";
48
+ import "./conversation-runtime-BHctDnia.js";
49
+ import "./agent-runtime-bsFtkcfq.js";
50
+ import "./security-runtime-CkbTuKdB.js";
51
+ import "./hook-runtime-CiQMxHus.js";
52
+ import "./command-auth-CtA0lbtD.js";
53
+ import "./channel-feedback-IjQ-pAck.js";
54
+ import { n as shouldDebounceTextInbound, t as createChannelInboundDebouncer } from "./channel-inbound-BvfXTTbL.js";
55
+ import { i as resolveSignalAccount } from "./accounts-CJJT0vS7.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-PVMitPyT.js";
57
+ import { n as signalRpcRequest, r as streamSignalEvents, t as signalCheck } from "./client-D9Yh0P5l.js";
58
+ import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-DS-hlqsq.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 };