@pixelzx/genesis 2026.5.5-3 → 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 (1099) hide show
  1. package/CHANGELOG.md +2 -1
  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 +4 -4
  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/daemon-install-CiudqvC8.js +64 -0
  165. package/dist/delegate-Bd-FPQqY.js +64 -0
  166. package/dist/delivery.runtime-Corwnx7a.js +253 -0
  167. package/dist/delivery.runtime.js +1 -1
  168. package/dist/detached-task-runtime-DfVdnBXS.js +73 -0
  169. package/dist/devices-cli-DZZgB4A7.js +496 -0
  170. package/dist/diagnostics-Ck31VWA6.js +154 -0
  171. package/dist/direct-dm-Dmjok-pB.js +64 -0
  172. package/dist/dispatch-CRDSpd0f.js +1131 -0
  173. package/dist/dispatch-acp-Cu9MKTKz.js +981 -0
  174. package/dist/dispatch-acp-manager.runtime-DcW9RwSI.js +3 -0
  175. package/dist/dispatch-acp-manager.runtime.js +1 -1
  176. package/dist/dispatch-acp.runtime-BsQByEI3.js +19 -0
  177. package/dist/dispatch-acp.runtime.js +1 -1
  178. package/dist/doctor-device-pairing-DXaIZ9a_.js +307 -0
  179. package/dist/doctor-gateway-daemon-flow-bg9a147z.js +250 -0
  180. package/dist/doctor-gateway-health-zdQbGmmj.js +60 -0
  181. package/dist/doctor-gateway-services-ChajuYZL.js +316 -0
  182. package/dist/doctor-health-DQGXbUKZ.js +59 -0
  183. package/dist/doctor-health-contributions-D7MWDAlD.js +486 -0
  184. package/dist/doctor-prompter-2aroILEC.js +56 -0
  185. package/dist/doctor-workspace-status-D4kiEraU.js +75 -0
  186. package/dist/dreaming-Q-aETkru.js +1574 -0
  187. package/dist/dreaming-narrative-663l1FRo.js +595 -0
  188. package/dist/embedded-gateway-stub.runtime-DUc8aWQC.js +9 -0
  189. package/dist/embedded-gateway-stub.runtime.js +1 -1
  190. package/dist/embeddings-http-BQ4pNJtW.js +205 -0
  191. package/dist/entry.js +2 -2
  192. package/dist/exec-approvals-cli-CX0ETYsT.js +498 -0
  193. package/dist/execute.runtime-CBVe-PCC.js +1366 -0
  194. package/dist/execute.runtime.js +1 -1
  195. package/dist/extensionAPI.js +1 -1
  196. package/dist/extensions/active-memory/index.js +1 -1
  197. package/dist/extensions/bluebubbles/api.js +3 -3
  198. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  199. package/dist/extensions/browser/browser-bridge.js +1 -1
  200. package/dist/extensions/browser/browser-config.js +4 -4
  201. package/dist/extensions/browser/browser-control-auth.js +2 -2
  202. package/dist/extensions/browser/browser-doctor.js +2 -2
  203. package/dist/extensions/browser/browser-maintenance.js +2 -2
  204. package/dist/extensions/browser/browser-profiles.js +2 -2
  205. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  206. package/dist/extensions/browser/index.js +1 -1
  207. package/dist/extensions/browser/plugin-registration.js +1 -1
  208. package/dist/extensions/browser/register.runtime.js +3 -3
  209. package/dist/extensions/browser/runtime-api.js +11 -11
  210. package/dist/extensions/browser/test-support.js +1 -1
  211. package/dist/extensions/device-pair/api.js +2 -2
  212. package/dist/extensions/device-pair/index.js +4 -4
  213. package/dist/extensions/device-pair/notify.js +1 -1
  214. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  215. package/dist/extensions/device-pair/qr-image.js +2 -2
  216. package/dist/extensions/google-meet/index.js +2 -2
  217. package/dist/extensions/imessage/api.js +3 -3
  218. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  219. package/dist/extensions/imessage/runtime-api.js +4 -4
  220. package/dist/extensions/irc/api.js +2 -2
  221. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  222. package/dist/extensions/line/api.js +2 -2
  223. package/dist/extensions/line/channel-plugin-api.js +1 -1
  224. package/dist/extensions/line/contract-api.js +1 -1
  225. package/dist/extensions/line/runtime-api.js +4 -4
  226. package/dist/extensions/line/setup-api.js +1 -1
  227. package/dist/extensions/llm-task/index.js +2 -2
  228. package/dist/extensions/lobster/index.js +3 -3
  229. package/dist/extensions/lobster/runtime-api.js +1 -1
  230. package/dist/extensions/mattermost/api.js +1 -1
  231. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  232. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  233. package/dist/extensions/mattermost/policy-api.js +1 -1
  234. package/dist/extensions/mattermost/runtime-api.js +6 -6
  235. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  236. package/dist/extensions/memory-core/api.js +1 -1
  237. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  238. package/dist/extensions/memory-core/index.js +3 -3
  239. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  240. package/dist/extensions/microsoft/index.js +1 -1
  241. package/dist/extensions/microsoft/speech-provider.js +1 -1
  242. package/dist/extensions/microsoft/test-api.js +1 -1
  243. package/dist/extensions/minimax/index.js +1 -1
  244. package/dist/extensions/minimax/speech-provider.js +1 -1
  245. package/dist/extensions/msteams/api.js +1 -1
  246. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  247. package/dist/extensions/msteams/runtime-api.js +5 -5
  248. package/dist/extensions/msteams/test-api.js +1 -1
  249. package/dist/extensions/nextcloud-talk/api.js +1 -1
  250. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  251. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  252. package/dist/extensions/openshell/index.js +2 -2
  253. package/dist/extensions/signal/api.js +6 -6
  254. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  255. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  256. package/dist/extensions/signal/runtime-api.js +8 -8
  257. package/dist/extensions/skill-workshop/api.js +1 -1
  258. package/dist/extensions/skill-workshop/index.js +1 -1
  259. package/dist/extensions/synology-chat/api.js +1 -1
  260. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  261. package/dist/extensions/tlon/api.js +2 -2
  262. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  263. package/dist/extensions/tlon/runtime-api.js +1 -1
  264. package/dist/extensions/tlon/test-api.js +1 -1
  265. package/dist/extensions/twitch/api.js +1 -1
  266. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  267. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  268. package/dist/extensions/zalo/api.js +3 -3
  269. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  270. package/dist/extensions/zalo/runtime-api.js +2 -2
  271. package/dist/extensions/zalo/setup-api.js +2 -2
  272. package/dist/extensions/zalouser/api.js +4 -4
  273. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  274. package/dist/extensions/zalouser/runtime-api.js +8 -8
  275. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  276. package/dist/extensions/zalouser/test-api.js +4 -4
  277. package/dist/fallbacks-CR6GSZx5.js +31 -0
  278. package/dist/fallbacks-DuO41eqR.js +2 -0
  279. package/dist/fallbacks-shared-cZD0oSnX.js +111 -0
  280. package/dist/gateway-CTi4P0bk.js +115 -0
  281. package/dist/gateway-cli-DiXT82AL.js +1325 -0
  282. package/dist/gateway-rpc-Bq-pVMHn.js +14 -0
  283. package/dist/gateway-rpc.runtime-C23EQzC5.js +23 -0
  284. package/dist/gateway-rpc.runtime.js +1 -1
  285. package/dist/gateway-runtime-BR3N9P3q.js +15 -0
  286. package/dist/gateway-status-CRgYhpJo.js +584 -0
  287. package/dist/genesis-tools-mB3U5mZA.js +9115 -0
  288. package/dist/genesis-tools.runtime-CdTs0e6U.js +2 -0
  289. package/dist/genesis-tools.runtime.js +1 -1
  290. package/dist/get-reply-DZ2b8RH0.js +3879 -0
  291. package/dist/get-reply-from-config.runtime-DtL4cSUe.js +2 -0
  292. package/dist/get-reply-from-config.runtime.js +1 -1
  293. package/dist/graph-users-BkIkWfZy.js +1337 -0
  294. package/dist/health-7viGK1Im.js +469 -0
  295. package/dist/health-Dnp1EweA.js +3 -0
  296. package/dist/heartbeat-runner-BTCCQMuG.js +5 -0
  297. package/dist/heartbeat-runner-DfAaiAe7.js +1292 -0
  298. package/dist/heartbeat-runner.runtime-B4HXgACZ.js +4 -0
  299. package/dist/heartbeat-runner.runtime.js +1 -1
  300. package/dist/helpers-Bts8fTCo.js +320 -0
  301. package/dist/hooks-cli-DcTAWUQx.js +433 -0
  302. package/dist/http-endpoint-helpers-BT1NBMhv.js +41 -0
  303. package/dist/http-utils-B_TTb19C.js +924 -0
  304. package/dist/image-fallbacks-BSxulCpr.js +2 -0
  305. package/dist/image-fallbacks-BdbQMsja.js +31 -0
  306. package/dist/images-9cckfaLv.js +352 -0
  307. package/dist/inbound-reply-dispatch-CYtgAOpZ.js +73 -0
  308. package/dist/index.js +2 -2
  309. package/dist/infra-runtime-DXR8kcRT.js +39 -0
  310. package/dist/init-CjPPA1H0.js +59 -0
  311. package/dist/install-DLJF8qA4.js +190 -0
  312. package/dist/install.runtime-B_wJtoom.js +2 -0
  313. package/dist/launchd-OykeouWG.js +696 -0
  314. package/dist/library-BzChF6u9.js +45 -0
  315. package/dist/lifecycle-BzYiPHdW.js +229 -0
  316. package/dist/lifecycle-C5re4Pps.js +571 -0
  317. package/dist/lifecycle-core-DCeS7I2A.js +422 -0
  318. package/dist/lifecycle.runtime-B-tJ4JkM.js +2 -0
  319. package/dist/lifecycle.runtime.js +1 -1
  320. package/dist/list-C3saN4jV.js +2 -0
  321. package/dist/list-CXSiDlSN.js +2 -0
  322. package/dist/list-DMSdymkl.js +1201 -0
  323. package/dist/list-QiopLrb5.js +131 -0
  324. package/dist/list.probe-DyaF2edJ.js +419 -0
  325. package/dist/llm-slug-generator-BVJgrz13.js +79 -0
  326. package/dist/llm-slug-generator.js +1 -1
  327. package/dist/load-config-C-QpKZNj.js +35 -0
  328. package/dist/local-dispatch.runtime-zLnmF_Wh.js +8 -0
  329. package/dist/local-dispatch.runtime.js +1 -1
  330. package/dist/logs-cli-BosZUQjD.js +265 -0
  331. package/dist/logs-cli.runtime-CVOxtZtj.js +2 -0
  332. package/dist/logs-cli.runtime.js +1 -1
  333. package/dist/main-session-restart-recovery-CRTG8jvU.js +206 -0
  334. package/dist/managed-image-attachments-CGeUdh-A.js +2 -0
  335. package/dist/managed-image-attachments-CvjfVZxS.js +635 -0
  336. package/dist/manager-CznNbeVh.js +2 -0
  337. package/dist/manager-OyRJWBpE.js +2057 -0
  338. package/dist/markdown-to-line-oHIsEREp.js +790 -0
  339. package/dist/mcp/plugin-tools-serve.js +1 -1
  340. package/dist/mcp-cli-BnTIIeyA.js +725 -0
  341. package/dist/mcp-http-DCyyXjC6.js +529 -0
  342. package/dist/media-runtime-Cz9iit6D.js +329 -0
  343. package/dist/memory-core-host-runtime-cli-DZ0I6fFG.js +9 -0
  344. package/dist/message-CKMSghPM.js +232 -0
  345. package/dist/message-action-runner-BhMtHi5R.js +1407 -0
  346. package/dist/message-action-runner-CQRkxPID.js +2 -0
  347. package/dist/message-actions-BoLjX-Cs.js +143 -0
  348. package/dist/message.gateway.runtime-HANIkH2g.js +2 -0
  349. package/dist/message.gateway.runtime.js +1 -1
  350. package/dist/method-scopes-CVKEoi44.js +216 -0
  351. package/dist/models-auth-status-B-Mv4ebj.js +201 -0
  352. package/dist/models-cli-yBKYg40-.js +219 -0
  353. package/dist/models-http-BF6M973E.js +92 -0
  354. package/dist/monitor-B9VfGlmi.js +671 -0
  355. package/dist/monitor-BQ5Umwrc.js +1459 -0
  356. package/dist/monitor-BzzGjxc2.js +2 -0
  357. package/dist/monitor-C51eRypH.js +1237 -0
  358. package/dist/monitor-CtynHYuN.js +1661 -0
  359. package/dist/monitor-auth-CAfnLXi1.js +207 -0
  360. package/dist/monitor-hIFUjaQ5.js +788 -0
  361. package/dist/monitor-processing-BwFvVQV7.js +1974 -0
  362. package/dist/monitor.runtime-C4IsQ8Tg.js +2 -0
  363. package/dist/monitor.runtime.js +1 -1
  364. package/dist/monitor.webhook-Cyk4TYD-.js +180 -0
  365. package/dist/msteams-nwubaeIt.js +35 -0
  366. package/dist/native-hook-relay-pC5BaAsL.js +519 -0
  367. package/dist/nextcloud-talk-CFZriQJA.js +17 -0
  368. package/dist/node-cli-B0h1wrXR.js +2506 -0
  369. package/dist/node-service-BhD56-7r.js +68 -0
  370. package/dist/nodes-cli-C6i6IIFh.js +1046 -0
  371. package/dist/nodes-utils-w8SS4Vmb.js +84 -0
  372. package/dist/nodes.helpers-Dpk8LjQI.js +34 -0
  373. package/dist/notify-D3Psjkle.js +315 -0
  374. package/dist/onboard-helpers-C_caLTeb.js +6 -0
  375. package/dist/onboard-helpers-sLsRr-5l.js +204 -0
  376. package/dist/onboard-remote-BAQ8Ybuy.js +2 -0
  377. package/dist/onboard-remote-BwPX6vba.js +193 -0
  378. package/dist/onboard-skills-B3cMpFqK.js +2 -0
  379. package/dist/onboard-skills-B8gUFCpR.js +134 -0
  380. package/dist/onboard-xyUq8s8R.js +632 -0
  381. package/dist/openai-http-BLWuf_x9.js +500 -0
  382. package/dist/openresponses-http-B21orF7e.js +1128 -0
  383. package/dist/operator-approvals-client-bRfV9Ywa.js +68 -0
  384. package/dist/outbound-attachment-CTpQ1O5C.js +19 -0
  385. package/dist/outbound-media-DBOgVtv-.js +19 -0
  386. package/dist/outbound.runtime-BnCaPvIo.js +2 -0
  387. package/dist/outbound.runtime.js +1 -1
  388. package/dist/pair-command-approve-_kbfrhjq.js +44 -0
  389. package/dist/persistent-bindings.lifecycle-_3A07X4u.js +85 -0
  390. package/dist/persistent-bindings.lifecycle-dP7WfiuG.js +2 -0
  391. package/dist/pi-embedded-Bo7aGINx.js +4 -0
  392. package/dist/pi-embedded-CpvC_TY4.js +2905 -0
  393. package/dist/pi-embedded.runtime-l80MFX5c.js +4 -0
  394. package/dist/pi-embedded.runtime.js +1 -1
  395. package/dist/pi-tool-definition-adapter-COQSRMJW.js +217 -0
  396. package/dist/pi-tools-COW0I6Dx.js +1057 -0
  397. package/dist/pi-tools.before-tool-call-BUxAbnx6.js +2 -0
  398. package/dist/pi-tools.before-tool-call-CHWOH7FS.js +433 -0
  399. package/dist/plugin-CuJOfAQA.js +12195 -0
  400. package/dist/plugin-enabled-K8ODIpea.js +140 -0
  401. package/dist/plugin-registration-BavW8FwB.js +23 -0
  402. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  403. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  404. package/dist/plugin-sdk/acp-runtime.js +2 -2
  405. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  406. package/dist/plugin-sdk/agent-harness.js +6 -6
  407. package/dist/plugin-sdk/agent-runtime.js +2 -2
  408. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  409. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  410. package/dist/plugin-sdk/approval-runtime.js +1 -1
  411. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  412. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  413. package/dist/plugin-sdk/browser-support.js +7 -7
  414. package/dist/plugin-sdk/channel-core.js +2 -2
  415. package/dist/plugin-sdk/channel-inbound.js +2 -2
  416. package/dist/plugin-sdk/command-auth.js +1 -1
  417. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  418. package/dist/plugin-sdk/compat.js +1 -1
  419. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  420. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  421. package/dist/plugin-sdk/core.js +2 -2
  422. package/dist/plugin-sdk/direct-dm.js +1 -1
  423. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  424. package/dist/plugin-sdk/googlechat.js +3 -3
  425. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  426. package/dist/plugin-sdk/index.js +1 -1
  427. package/dist/plugin-sdk/infra-runtime.js +2 -2
  428. package/dist/plugin-sdk/irc.js +2 -2
  429. package/dist/plugin-sdk/matrix.js +2 -2
  430. package/dist/plugin-sdk/mattermost.js +1 -1
  431. package/dist/plugin-sdk/media-runtime.js +2 -2
  432. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  433. package/dist/plugin-sdk/memory-core.js +2 -2
  434. package/dist/plugin-sdk/msteams.js +4 -4
  435. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  436. package/dist/plugin-sdk/nostr.js +1 -1
  437. package/dist/plugin-sdk/outbound-media.js +1 -1
  438. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  439. package/dist/plugin-sdk/reply-runtime.js +4 -4
  440. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  441. package/dist/plugin-sdk/runtime.js +2 -2
  442. package/dist/plugin-sdk/session-visibility.js +1 -1
  443. package/dist/plugin-sdk/src/agents/subagent-control.d.ts +2 -2
  444. package/dist/plugin-sdk/src/gateway/protocol/index.d.ts +34 -3
  445. package/dist/plugin-sdk/src/gateway/protocol/schema/canvas.d.ts +43 -0
  446. package/dist/plugin-sdk/src/gateway/protocol/schema/protocol-schemas.d.ts +31 -0
  447. package/dist/plugin-sdk/src/gateway/protocol/schema/types.d.ts +2 -0
  448. package/dist/plugin-sdk/src/gateway/protocol/schema.d.ts +1 -0
  449. package/dist/plugin-sdk/src/plugin-sdk/approval-auth-helpers.d.ts +1 -1
  450. package/dist/plugin-sdk/testing.js +4 -4
  451. package/dist/plugin-sdk/tlon.js +1 -1
  452. package/dist/plugin-sdk/web-media.js +2 -2
  453. package/dist/plugin-sdk/zalo.js +1 -1
  454. package/dist/plugin-sdk/zalouser.js +2 -2
  455. package/dist/plugin-service-_9pkkiUS.js +2890 -0
  456. package/dist/plugins/runtime/index.js +1 -1
  457. package/dist/policy-BrXeII-A.js +328 -0
  458. package/dist/postinstall-inventory.json +449 -448
  459. package/dist/prepare.runtime-DDAttJh0.js +815 -0
  460. package/dist/prepare.runtime.js +1 -1
  461. package/dist/probe-A3zmoqnI.js +241 -0
  462. package/dist/probe-BI2aKtuv.js +74 -0
  463. package/dist/probe-BIjDXmE0.js +2205 -0
  464. package/dist/probe-Bht75arj.js +45 -0
  465. package/dist/probe-DRTzvcaE.js +1443 -0
  466. package/dist/probe-DaXQclu7.js +2 -0
  467. package/dist/probe-Dtp1ekg0.js +2 -0
  468. package/dist/program-TdCGX0aC.js +111 -0
  469. package/dist/prompt-select-styled-zAQZeJQu.js +20 -0
  470. package/dist/protocol-DWprZycP.js +2283 -0
  471. package/dist/provider-dispatcher-RVQ5ny3p.js +22 -0
  472. package/dist/provider-dispatcher-e7qXzL8Y.js +2 -0
  473. package/dist/qr-cli-BRKmL1xp.js +2 -0
  474. package/dist/qr-cli-Dv3PKtbg.js +349 -0
  475. package/dist/qr-image-BJXt-R5Y.js +2 -0
  476. package/dist/reaction-runtime-api-B_tKpY7u.js +116 -0
  477. package/dist/reactions-DrQks01C.js +998 -0
  478. package/dist/register-service-commands-xV8y3FHS.js +71 -0
  479. package/dist/register.agent-iDeNuiw1.js +248 -0
  480. package/dist/register.configure-2klz9fW8.js +15 -0
  481. package/dist/register.maintenance-FShE6C3p.js +438 -0
  482. package/dist/register.message-CPomBvI5.js +329 -0
  483. package/dist/register.onboard-aaUTaCQq.js +81 -0
  484. package/dist/register.runtime-DJ_p2orX.js +81 -0
  485. package/dist/register.runtime.js +1 -1
  486. package/dist/register.setup-TLLrIiSj.js +150 -0
  487. package/dist/register.status-health-sessions-CRgx0w7q.js +1215 -0
  488. package/dist/register.subclis-Dv1wGW3g.js +29 -0
  489. package/dist/register.subclis-DwIbjIAj.js +3 -0
  490. package/dist/register.subclis-core-Bko3H89P.js +249 -0
  491. package/dist/reply-dispatch-runtime-yjhlGmQa.js +13 -0
  492. package/dist/reply-media-paths.runtime-CuKBYqSs.js +2 -0
  493. package/dist/reply-media-paths.runtime-kh3iabdJ.js +146 -0
  494. package/dist/reply-media-paths.runtime.js +1 -1
  495. package/dist/reply-runtime-POkwAYBF.js +11 -0
  496. package/dist/reply.runtime-BZy3p8kg.js +2 -0
  497. package/dist/reply.runtime.js +1 -1
  498. package/dist/restart-health-BNrBfydi.js +202 -0
  499. package/dist/restart-health-wL13AbJS.js +2 -0
  500. package/dist/root-help-BktYhr6-.js +44 -0
  501. package/dist/routes-BLzTBe3U.js +3341 -0
  502. package/dist/routes-Do7Hp3Ju.js +2 -0
  503. package/dist/rpc-BLwz-9XH.js +61 -0
  504. package/dist/rpc.runtime-CKg08vpf.js +21 -0
  505. package/dist/rpc.runtime.js +1 -1
  506. package/dist/run-delivery.runtime-CJASymic.js +530 -0
  507. package/dist/run-delivery.runtime.js +1 -1
  508. package/dist/run-embedded.runtime-CX9arbKH.js +4 -0
  509. package/dist/run-embedded.runtime.js +1 -1
  510. package/dist/run-execution-cli.runtime-DjAY46Ol.js +4 -0
  511. package/dist/run-execution-cli.runtime.js +1 -1
  512. package/dist/run-executor.runtime-BFtk6iEm.js +277 -0
  513. package/dist/run-executor.runtime.js +1 -1
  514. package/dist/run-main-Bc7hVWlB.js +516 -0
  515. package/dist/run-subagent-registry.runtime-CF8amtGs.js +2 -0
  516. package/dist/run-subagent-registry.runtime.js +1 -1
  517. package/dist/run-wait-CHWyK79k.js +135 -0
  518. package/dist/runtime-CAJhi8f1.js +9 -0
  519. package/dist/runtime-XuiwQ4IM.js +973 -0
  520. package/dist/runtime-api--BeXVwyz.js +14 -0
  521. package/dist/runtime-api-Bjv_K-bW.js +4 -0
  522. package/dist/runtime-api-DfP95G4h.js +9 -0
  523. package/dist/runtime-api-Dju3YRRE.js +9 -0
  524. package/dist/runtime-embedded-pi.runtime-BnJbjva-.js +2 -0
  525. package/dist/runtime-embedded-pi.runtime.js +1 -1
  526. package/dist/runtime-internal-Ca1j_B7K.js +2 -0
  527. package/dist/runtime-options-BvWou_ca.js +275 -0
  528. package/dist/runtime-schema-DG-9mark.js +27780 -0
  529. package/dist/runtime-web-channel-plugin-CBDGLtiI.js +203 -0
  530. package/dist/scan-Cx5B3k3o.js +2 -0
  531. package/dist/scan-DHNMkx03.js +523 -0
  532. package/dist/secrets-cli-ukRqmE6x.js +2101 -0
  533. package/dist/security-cli-BiBQQ-88.js +486 -0
  534. package/dist/selection-Cud6Ozkq.js +2 -0
  535. package/dist/selection-qjyb9DhM.js +7736 -0
  536. package/dist/send-Bjv6gz1i.js +534 -0
  537. package/dist/send-CM9Yk5Kl.js +102 -0
  538. package/dist/send-DS-hlqsq.js +156 -0
  539. package/dist/send.runtime-CF_u1AVo.js +2 -0
  540. package/dist/send.runtime.js +1 -1
  541. package/dist/server-3pSUrSh6.js +77 -0
  542. package/dist/server-D_QJ4EdI.js +13 -0
  543. package/dist/server-context-BXVgdmge.js +2 -0
  544. package/dist/server-context-DdNdrdcV.js +847 -0
  545. package/dist/server-node-events-CAqPVPy4.js +481 -0
  546. package/dist/server-plugin-bootstrap-Bp2QUBjV.js +11398 -0
  547. package/dist/server-plugin-bootstrap-VFs6VC4p.js +2 -0
  548. package/dist/server-restart-sentinel-PI0b2Gyv.js +697 -0
  549. package/dist/server.impl-C4g02o6w.js +12736 -0
  550. package/dist/service-D6nRIQp0.js +120 -0
  551. package/dist/service-audit-CuYUK6l5.js +2 -0
  552. package/dist/service-audit-FsztusUk.js +261 -0
  553. package/dist/service-fyUTnkAE.js +2 -0
  554. package/dist/session-kill-http-DY5gLSmw.js +110 -0
  555. package/dist/session-reset-service-D1taSq3b.js +471 -0
  556. package/dist/session-route-BOJjXlWV.js +93 -0
  557. package/dist/session-status.runtime-B6NrMkU2.js +2 -0
  558. package/dist/session-status.runtime.js +1 -1
  559. package/dist/session-subagent-reactivation.runtime-CpbYOD80.js +2 -0
  560. package/dist/session-subagent-reactivation.runtime.js +1 -1
  561. package/dist/session-tab-registry-DECjIH2N.js +491 -0
  562. package/dist/session-visibility-CUqABJ6F.js +147 -0
  563. package/dist/sessions-helpers-B79P1mgf.js +304 -0
  564. package/dist/sessions-history-http-D3x9I2CD.js +383 -0
  565. package/dist/sessions-patch-idFzynvW.js +309 -0
  566. package/dist/sessions-resolve-DEMCJQTu.js +174 -0
  567. package/dist/sessions.runtime-Tbxzf5BH.js +2 -0
  568. package/dist/sessions.runtime.js +1 -1
  569. package/dist/setup-DvXcV-JY.js +495 -0
  570. package/dist/setup-api-DvrmJaiq.js +29 -0
  571. package/dist/setup-core-D1XPjfQr.js +171 -0
  572. package/dist/setup-core-eJZyYf85.js +176 -0
  573. package/dist/setup-surface-B7_Ps6_r.js +351 -0
  574. package/dist/setup-surface-Bk4lYh22.js +286 -0
  575. package/dist/setup-surface-BvccUnYq.js +219 -0
  576. package/dist/setup-surface-DoYhuKb1.js +403 -0
  577. package/dist/setup-surface-lvsksj3R.js +3 -0
  578. package/dist/setup.finalize-DxKMFMc_.js +539 -0
  579. package/dist/setup.gateway-config-CxYQl6JZ.js +250 -0
  580. package/dist/shared-BcVfaCRV.js +76 -0
  581. package/dist/shared-Cs_JtPmo.js +198 -0
  582. package/dist/shared-Tjzld0G6.js +121 -0
  583. package/dist/slash-state-DKR6rK8s.js +1911 -0
  584. package/dist/speech-provider-CJzbX5qG.js +209 -0
  585. package/dist/speech-provider-DLC_JPdP.js +216 -0
  586. package/dist/src-CTKGdCHv.js +3974 -0
  587. package/dist/startup-context-BlZVogKY.js +312 -0
  588. package/dist/status-B-r34lU4.js +3 -0
  589. package/dist/status-ClkoUp4o.js +2 -0
  590. package/dist/status-Cxc00N9a.js +209 -0
  591. package/dist/status-JFx75t88.js +190 -0
  592. package/dist/status-all-DkliFJYW.js +498 -0
  593. package/dist/status-json-CrGTMZWh.js +14 -0
  594. package/dist/status-json-command-DR9dHV95.js +84 -0
  595. package/dist/status-m9z9_EWg.js +2 -0
  596. package/dist/status-mIdcu6Cd.js +397 -0
  597. package/dist/status-runtime-shared-CkaK7bm4.js +257 -0
  598. package/dist/status-subagents.runtime-CCIoqL6q.js +18 -0
  599. package/dist/status-subagents.runtime.js +1 -1
  600. package/dist/status-text-3K5ON3ww.js +237 -0
  601. package/dist/status.gateway-connection.runtime-DjINyACC.js +2 -0
  602. package/dist/status.gateway-connection.runtime.js +1 -1
  603. package/dist/status.gather-7pCDV98-.js +2 -0
  604. package/dist/status.gather-CUXcp4EU.js +292 -0
  605. package/dist/status.runtime-B8RiZylS.js +2 -0
  606. package/dist/status.runtime.js +1 -1
  607. package/dist/status.scan-DszewobD.js +65 -0
  608. package/dist/status.scan-overview-C0eSlFGV.js +379 -0
  609. package/dist/status.scan.fast-json-3IR5FzGX.js +2 -0
  610. package/dist/status.scan.fast-json-Byy3YGsw.js +132 -0
  611. package/dist/status.summary-7QkrUPXI.js +214 -0
  612. package/dist/status.summary-DAlH2IPt.js +2 -0
  613. package/dist/subagent-announce-Cgq0tXM1.js +351 -0
  614. package/dist/subagent-announce-delivery-CKt_jQYe.js +726 -0
  615. package/dist/subagent-announce-output-DxXic4Q4.js +364 -0
  616. package/dist/subagent-control-DoYC7NGK.js +506 -0
  617. package/dist/subagent-followup.runtime-D9zLQ2zg.js +68 -0
  618. package/dist/subagent-followup.runtime.js +1 -1
  619. package/dist/subagent-orphan-recovery-B-f1P_9V.js +305 -0
  620. package/dist/subagent-registry-BlqNkrxa.js +3 -0
  621. package/dist/subagent-registry-COK0GlWy.js +1753 -0
  622. package/dist/subagent-registry.runtime.js +1 -1
  623. package/dist/subagent-spawn-Bu71yN3K.js +1005 -0
  624. package/dist/system-cli-BDBKF4EX.js +59 -0
  625. package/dist/system-prompt-BvLQVZGu.js +639 -0
  626. package/dist/targets-Bvxbtvp1.js +67 -0
  627. package/dist/task-executor-DYDCeAnK.js +360 -0
  628. package/dist/task-owner-access-DbaTH-83.js +74 -0
  629. package/dist/task-registry-CwGaJROW.js +2366 -0
  630. package/dist/task-registry-delivery-runtime-CSc0go9b.js +2 -0
  631. package/dist/task-registry-delivery-runtime-DzlKrbrk.js +3 -0
  632. package/dist/task-registry.maintenance-B9dYReWo.js +416 -0
  633. package/dist/task-registry.maintenance-BMmNtwe6.js +2 -0
  634. package/dist/telegram/token.js +1 -1
  635. package/dist/testing-Bmks5PrM.js +575 -0
  636. package/dist/text-report-CL-DD3RH.js +587 -0
  637. package/dist/tool-resolution-DWJjQ7CH.js +90 -0
  638. package/dist/tools-effective-inventory-Cm8H7A2A.js +152 -0
  639. package/dist/tools-invoke-http-CCURH0u8.js +206 -0
  640. package/dist/trash-B3lF3eWt.js +24 -0
  641. package/dist/tui-cli-24oh_Prd.js +4575 -0
  642. package/dist/update-cli-YBhNTeZV.js +1759 -0
  643. package/dist/upgrade-C3WPTXeR.js +1226 -0
  644. package/dist/video-generation-task-status-ZOfWEvIE.js +163 -0
  645. package/dist/wait-for-idle-before-flush-Cw9qqEAc.js +5986 -0
  646. package/dist/web-media-BvDXw5y1.js +2 -0
  647. package/dist/web-media-PnHEx5HT.js +715 -0
  648. package/dist/wizard-models-DIT_Mi4K.js +161 -0
  649. package/dist/workspace-run-C72pNbKQ.js +70 -0
  650. package/dist/zalo-js-BH-o_WTn.js +1157 -0
  651. package/package.json +1 -1
  652. package/dist/abort-Yw60gQ-C.js +0 -201
  653. package/dist/abort.runtime-DYQuut_O.js +0 -2
  654. package/dist/accounts-BSCHGPHp.js +0 -107
  655. package/dist/accounts-Bb0FqxV2.js +0 -104
  656. package/dist/accounts-BjGgx8lz.js +0 -2
  657. package/dist/accounts-Co4cbVCU.js +0 -66
  658. package/dist/accounts.runtime-V3yFS1uD.js +0 -2
  659. package/dist/acp-cli-emMnOaiO.js +0 -2193
  660. package/dist/acp-spawn-BmyUZuJX.js +0 -1093
  661. package/dist/acp-spawn-DPF5zmnN.js +0 -2
  662. package/dist/acp-stateful-target-driver-CJ4JyIHf.js +0 -89
  663. package/dist/action-agents-D1tXt8Kj.js +0 -67
  664. package/dist/action-focus-Bk6AJsNH.js +0 -132
  665. package/dist/action-help-4nFSAuVo.js +0 -7
  666. package/dist/action-info-D-byoefn.js +0 -101
  667. package/dist/action-kill-Bo-NwBVR.js +0 -33
  668. package/dist/action-list-lAa4rlzN.js +0 -21
  669. package/dist/action-log-BasoUC3L.js +0 -30
  670. package/dist/action-send-DwLkiz4x.js +0 -39
  671. package/dist/action-spawn-C70_iR8d.js +0 -47
  672. package/dist/action-unfocus-dUVMx5Fh.js +0 -29
  673. package/dist/actions.runtime-BdSo6rN8.js +0 -18
  674. package/dist/actions.runtime-BvY67XKu.js +0 -5
  675. package/dist/agent-DDBv3Vgl.js +0 -2
  676. package/dist/agent-command-DC7I_88W.js +0 -874
  677. package/dist/agent-harness-runtime-TA6YH7Ud.js +0 -144
  678. package/dist/agent-runner-utils-CMe-JIDq.js +0 -239
  679. package/dist/agent-runner.runtime-le6AmJRw.js +0 -3455
  680. package/dist/agent-runtime-CONy4fDD.js +0 -18
  681. package/dist/agents-BlbOM4XW.js +0 -953
  682. package/dist/agents-Byj8CDAP.js +0 -5
  683. package/dist/aliases-C3Ks5x38.js +0 -2
  684. package/dist/aliases-CxBcx9gF.js +0 -96
  685. package/dist/api-CLoj7nYH.js +0 -3
  686. package/dist/api-DZiRkVPk.js +0 -5
  687. package/dist/api-_Y4nIHNo.js +0 -139
  688. package/dist/approval-gateway-resolver-Ba_2kb3B.js +0 -29
  689. package/dist/approval-gateway-runtime-7VMivk0A.js +0 -2
  690. package/dist/approval-handler-runtime-Bh0onoHD.js +0 -439
  691. package/dist/approval-native-runtime-IYFyT8Hf.js +0 -729
  692. package/dist/attempt-execution.runtime-CpL2tsYd.js +0 -509
  693. package/dist/attempt.prompt-helpers-Gx9nGKbW.js +0 -221
  694. package/dist/attempt.tool-run-context-BmuljBMs.js +0 -933
  695. package/dist/audit-CsjqOEVE.js +0 -939
  696. package/dist/audit.runtime-BybEaYH4.js +0 -7
  697. package/dist/auth-BFbLz2gx.js +0 -383
  698. package/dist/auth-DdoNShRm.js +0 -2
  699. package/dist/auth-order-CtO2WQTH.js +0 -2
  700. package/dist/auth-order-zXIiW-Cn.js +0 -96
  701. package/dist/bash-tools-CnDYSbnX.js +0 -2824
  702. package/dist/bash-tools-DiOcKaak.js +0 -3
  703. package/dist/binding-routing-E9Gh_NqO.js +0 -85
  704. package/dist/binding-targets-C5PbBaZ6.js +0 -121
  705. package/dist/bridge-server-DragdaQD.js +0 -113
  706. package/dist/browser-control-auth-D_M31xJ1.js +0 -2
  707. package/dist/browser-node-runtime-Bgu82luB.js +0 -12
  708. package/dist/browser-profiles-C3ffkgOt.js +0 -2
  709. package/dist/browser-runtime-D84IBo4A.js +0 -387
  710. package/dist/browser-setup-tools-VC7rGCyn.js +0 -13
  711. package/dist/build-DeGDX_pJ.js +0 -550
  712. package/dist/call-CbvF41H8.js +0 -3
  713. package/dist/call-DuDGOVT1.js +0 -331
  714. package/dist/call.runtime-DztWXjMr.js +0 -2
  715. package/dist/capability-cli-DoJLi3eS.js +0 -1401
  716. package/dist/catchup-Dk-5hIwm.js +0 -300
  717. package/dist/channel-BJ9iEC4Y.js +0 -595
  718. package/dist/channel-BdvsbgZE.js +0 -453
  719. package/dist/channel-Bu-7KaIx.js +0 -1802
  720. package/dist/channel-C9vQNMK1.js +0 -350
  721. package/dist/channel-CZoVAZyW.js +0 -491
  722. package/dist/channel-Cr2KTwyo.js +0 -840
  723. package/dist/channel-DCeC6AEQ.js +0 -297
  724. package/dist/channel-DOGp2TfT.js +0 -1320
  725. package/dist/channel-Dfq1lxxI.js +0 -226
  726. package/dist/channel-core-DiltAzdr.js +0 -5
  727. package/dist/channel-hZDaTBpm.js +0 -1100
  728. package/dist/channel-inbound-DvOS-Z1s.js +0 -31
  729. package/dist/channel-plugin-runtime-PFRHQ61T.js +0 -771
  730. package/dist/channel-runtime-BAjxIEfQ.js +0 -425
  731. package/dist/channel-szBwbQZB.js +0 -1174
  732. package/dist/channel.runtime-B1Ry35gt.js +0 -89
  733. package/dist/channel.runtime-BNp6GxaQ.js +0 -34702
  734. package/dist/channel.runtime-BfjvNvbj.js +0 -2364
  735. package/dist/channel.runtime-BlGn4QYV.js +0 -4
  736. package/dist/channel.runtime-BozvCkMo.js +0 -26
  737. package/dist/channel.runtime-D7bv5rJl.js +0 -576
  738. package/dist/channel.runtime-DQ5gSgeW.js +0 -109
  739. package/dist/channel.runtime-IxClQMdT.js +0 -430
  740. package/dist/channel.setup-BsfyGPgV.js +0 -10
  741. package/dist/channels-Dn2VHRmZ.js +0 -733
  742. package/dist/channels-cli-l4xjPvDv.js +0 -268
  743. package/dist/chat-zUeX8mQw.js +0 -2758
  744. package/dist/clawbot-cli-C3BFdHJB.js +0 -9
  745. package/dist/cli-BTnpFsj1.js +0 -2
  746. package/dist/cli-CAFQ6Cwy.js +0 -72
  747. package/dist/cli-CiqIbwtg.js +0 -219
  748. package/dist/cli-DL1ppK38.js +0 -2
  749. package/dist/cli-runner-DO6lEPJr.js +0 -286
  750. package/dist/cli-runner.runtime-B-Ic4DyC.js +0 -3
  751. package/dist/cli-runner.runtime-C4cAORcg.js +0 -4
  752. package/dist/cli.runtime-CYHctHVS.js +0 -1261
  753. package/dist/client-Bb_miREU.js +0 -138
  754. package/dist/client-CrPccv7a.js +0 -713
  755. package/dist/command-auth-B7P-1IeA.js +0 -76
  756. package/dist/command-config-resolution-BB-SsCob.js +0 -23
  757. package/dist/command-config-resolution-DMKYb0Kh.js +0 -2
  758. package/dist/command-config-resolution.runtime-Coeaa9lz.js +0 -2
  759. package/dist/command-registry-B2JzWHqy.js +0 -9
  760. package/dist/command-registry-CNUpJUp8.js +0 -4
  761. package/dist/command-registry-core-BLap9aka.js +0 -101
  762. package/dist/command-secret-gateway-ChRXthnT.js +0 -528
  763. package/dist/command-status.runtime-D8VWyC3v.js +0 -87
  764. package/dist/commands-acp-QLk1cU5f.js +0 -77
  765. package/dist/commands-compact.runtime-BIHG2RSY.js +0 -10
  766. package/dist/commands-handlers.runtime-DjimbxSJ.js +0 -4597
  767. package/dist/commands-status-DiIQSYSt.js +0 -16
  768. package/dist/commands-status.runtime-DBRxICN6.js +0 -3
  769. package/dist/commands-subagents-control.runtime-BmqXiKHu.js +0 -3
  770. package/dist/commands-subagents-control.runtime-CVQSOd8H.js +0 -2
  771. package/dist/commands-system-prompt-2qwZc3xL.js +0 -158
  772. package/dist/commands-system-prompt-Clnn_Gct.js +0 -2
  773. package/dist/commands.runtime-DAqpiDPr.js +0 -166
  774. package/dist/compact-DqOkQZYr.js +0 -1118
  775. package/dist/compact.runtime-CC_l29j4.js +0 -12
  776. package/dist/completion-cli-DZFJPSiF.js +0 -328
  777. package/dist/config-D9XEe0Cd.js +0 -251
  778. package/dist/config-cli-DVDwIjKr.js +0 -1078
  779. package/dist/configure-39oQUHuK.js +0 -1245
  780. package/dist/configure-BGD8tViZ.js +0 -2
  781. package/dist/connect-options-Fpky6zuL.js +0 -699
  782. package/dist/control-auth-BlqH4IVx.js +0 -125
  783. package/dist/control-service-CaqDohiY.js +0 -156
  784. package/dist/control-ui-CIhsZ2Nb.js +0 -688
  785. package/dist/conversation-id-BH9GFVB2.js +0 -235
  786. package/dist/conversation-id-UdIegcf4.js +0 -38
  787. package/dist/conversation-runtime-Bao0kIPf.js +0 -31
  788. package/dist/core-DXUh5Xbm.js +0 -275
  789. package/dist/cron-cli-B1mxHnGP.js +0 -713
  790. package/dist/daemon-cli-CaHBNwMy.js +0 -12
  791. package/dist/daemon-install-BBwOxf1q.js +0 -64
  792. package/dist/delegate-7G7R4C-C.js +0 -64
  793. package/dist/delivery.runtime-Ci0ToUzj.js +0 -253
  794. package/dist/detached-task-runtime-BMdSrcuz.js +0 -73
  795. package/dist/devices-cli-DnEQH3R2.js +0 -496
  796. package/dist/diagnostics-C8VwSDtU.js +0 -154
  797. package/dist/direct-dm-BSEkIiOe.js +0 -64
  798. package/dist/dispatch-1gv6It-6.js +0 -1131
  799. package/dist/dispatch-acp-hbhR9aHr.js +0 -981
  800. package/dist/dispatch-acp-manager.runtime-BXQbK1cO.js +0 -3
  801. package/dist/dispatch-acp.runtime-Dhx090J2.js +0 -19
  802. package/dist/doctor-device-pairing-1gf3tk3g.js +0 -307
  803. package/dist/doctor-gateway-daemon-flow-LEnN6pL-.js +0 -250
  804. package/dist/doctor-gateway-health-DwxLkTV4.js +0 -60
  805. package/dist/doctor-gateway-services-BhqUOY_e.js +0 -316
  806. package/dist/doctor-health-CdJkaUYf.js +0 -59
  807. package/dist/doctor-health-contributions-BaTnIzCT.js +0 -486
  808. package/dist/doctor-prompter-BZTb5rOn.js +0 -56
  809. package/dist/doctor-workspace-status-DnBARoPa.js +0 -75
  810. package/dist/dreaming-BAGFdUxh.js +0 -1574
  811. package/dist/dreaming-narrative-XoOfVb0x.js +0 -595
  812. package/dist/embedded-gateway-stub.runtime-xwZ-M7Ei.js +0 -9
  813. package/dist/embeddings-http-BDz5OXZk.js +0 -205
  814. package/dist/exec-approvals-cli-CWVWSMk-.js +0 -498
  815. package/dist/execute.runtime-COmoY37L.js +0 -1366
  816. package/dist/fallbacks-BKA5XrxA.js +0 -31
  817. package/dist/fallbacks-QvezaDAr.js +0 -2
  818. package/dist/fallbacks-shared-DS-qTOLR.js +0 -111
  819. package/dist/gateway-C0YHaLXO.js +0 -115
  820. package/dist/gateway-cli-DJBCD8J5.js +0 -1325
  821. package/dist/gateway-rpc-CmJXd4SU.js +0 -14
  822. package/dist/gateway-rpc.runtime-C9Fs2mSx.js +0 -23
  823. package/dist/gateway-runtime-Bm2_MhFn.js +0 -15
  824. package/dist/gateway-status-DXKMKFtB.js +0 -584
  825. package/dist/genesis-tools-AolFZ-0I.js +0 -8999
  826. package/dist/genesis-tools.runtime-CBWXJqzw.js +0 -2
  827. package/dist/get-reply-BpxjHQBp.js +0 -3879
  828. package/dist/get-reply-from-config.runtime-DJKEqLSi.js +0 -2
  829. package/dist/graph-users-D2Q5UTGQ.js +0 -1337
  830. package/dist/health-BNKpuAPB.js +0 -469
  831. package/dist/health-BkxZfKx8.js +0 -3
  832. package/dist/heartbeat-runner-Bdu2q6k3.js +0 -5
  833. package/dist/heartbeat-runner-C0B-c-fv.js +0 -1292
  834. package/dist/heartbeat-runner.runtime-Cic23eNy.js +0 -4
  835. package/dist/helpers-B-g1rXs3.js +0 -320
  836. package/dist/hooks-cli-BfCr2In5.js +0 -433
  837. package/dist/http-endpoint-helpers-CY0P-_y2.js +0 -41
  838. package/dist/http-utils-Da8hOLty.js +0 -924
  839. package/dist/image-fallbacks-Dgy-LmDo.js +0 -2
  840. package/dist/image-fallbacks-RlfTqOne.js +0 -31
  841. package/dist/images-e55CDILU.js +0 -352
  842. package/dist/inbound-reply-dispatch-D4KJHWLG.js +0 -73
  843. package/dist/infra-runtime-BTJv3KK8.js +0 -39
  844. package/dist/init-q4INH9uv.js +0 -59
  845. package/dist/install-BT4BNeMX.js +0 -190
  846. package/dist/install.runtime-BnqPyIyn.js +0 -2
  847. package/dist/launchd-BM_37PLv.js +0 -698
  848. package/dist/library-DGd4UZKC.js +0 -45
  849. package/dist/lifecycle-B_RLw4uY.js +0 -229
  850. package/dist/lifecycle-Bw01evSl.js +0 -571
  851. package/dist/lifecycle-core-CTjCo-k0.js +0 -422
  852. package/dist/lifecycle.runtime-BxpD2Ol7.js +0 -2
  853. package/dist/list-BXa4zUF-.js +0 -2
  854. package/dist/list-BugTSXmQ.js +0 -131
  855. package/dist/list-CgC_rsta.js +0 -1201
  856. package/dist/list-D2sk1YPs.js +0 -2
  857. package/dist/list.probe-C6zfgLdG.js +0 -419
  858. package/dist/llm-slug-generator-DsWJvqNx.js +0 -79
  859. package/dist/load-config-D6ZKPY7I.js +0 -35
  860. package/dist/local-dispatch.runtime-MWMxyZKj.js +0 -8
  861. package/dist/logs-cli-Dn-8jl3z.js +0 -265
  862. package/dist/logs-cli.runtime-DwsccWUJ.js +0 -2
  863. package/dist/main-session-restart-recovery-6Uh4W8ZJ.js +0 -206
  864. package/dist/managed-image-attachments-DHawPS1-.js +0 -2
  865. package/dist/managed-image-attachments-DjtxwZ9o.js +0 -635
  866. package/dist/manager-D0tkR46e.js +0 -2057
  867. package/dist/manager-g_P1RDky.js +0 -2
  868. package/dist/markdown-to-line-7AxR7QFo.js +0 -790
  869. package/dist/mcp-cli-Cw2XQMOA.js +0 -725
  870. package/dist/mcp-http-DFKqya8U.js +0 -529
  871. package/dist/media-runtime-D2xH8y9Y.js +0 -329
  872. package/dist/memory-core-host-runtime-cli-DaAsOXiU.js +0 -9
  873. package/dist/message-BDCG7eWj.js +0 -232
  874. package/dist/message-action-runner-6C7kXcC9.js +0 -2
  875. package/dist/message-action-runner-C2P3efhU.js +0 -1407
  876. package/dist/message-actions-BWQWt5gT.js +0 -143
  877. package/dist/message.gateway.runtime-BXChuYAf.js +0 -2
  878. package/dist/method-scopes-DPvtAkiy.js +0 -215
  879. package/dist/models-auth-status-B8lnM1PS.js +0 -201
  880. package/dist/models-cli-DbUA18AN.js +0 -219
  881. package/dist/models-http-n4zWGd1p.js +0 -92
  882. package/dist/monitor-BEJe2ceJ.js +0 -1237
  883. package/dist/monitor-BO9i6U5R.js +0 -1459
  884. package/dist/monitor-BZLrxL_x.js +0 -1661
  885. package/dist/monitor-CDDxHGlD.js +0 -788
  886. package/dist/monitor-D779kLc0.js +0 -671
  887. package/dist/monitor-V5ZNCrQL.js +0 -2
  888. package/dist/monitor-auth-D2rCHNgr.js +0 -207
  889. package/dist/monitor-processing-BLbsNFVv.js +0 -1974
  890. package/dist/monitor.runtime-RrusGXVO.js +0 -2
  891. package/dist/monitor.webhook-B0DuBNWa.js +0 -180
  892. package/dist/msteams-hh9nwLlZ.js +0 -35
  893. package/dist/native-hook-relay-BygYZoeR.js +0 -519
  894. package/dist/nextcloud-talk-AadRCqXn.js +0 -17
  895. package/dist/node-cli-FF1zz0JU.js +0 -2506
  896. package/dist/node-service-f8mmgM5L.js +0 -68
  897. package/dist/nodes-cli-tQ5dpecZ.js +0 -1046
  898. package/dist/nodes-utils-BfpGcUca.js +0 -84
  899. package/dist/nodes.helpers-CMXxavTs.js +0 -34
  900. package/dist/notify-DaNP5Zyh.js +0 -315
  901. package/dist/onboard-B9hx80Dm.js +0 -632
  902. package/dist/onboard-helpers-BlPrFJHK.js +0 -204
  903. package/dist/onboard-helpers-kL8mgUkl.js +0 -6
  904. package/dist/onboard-remote-ByHuQd1m.js +0 -193
  905. package/dist/onboard-remote-CRPXcrWy.js +0 -2
  906. package/dist/onboard-skills-ChtyNRCd.js +0 -2
  907. package/dist/onboard-skills-DROlYXya.js +0 -134
  908. package/dist/openai-http-2An5HAJU.js +0 -500
  909. package/dist/openresponses-http-DpbJXZP4.js +0 -1128
  910. package/dist/operator-approvals-client-BoN_VmkB.js +0 -68
  911. package/dist/outbound-attachment-Cgs2OPPc.js +0 -19
  912. package/dist/outbound-media-0d3HzPSa.js +0 -19
  913. package/dist/outbound.runtime-D_aebUn6.js +0 -2
  914. package/dist/pair-command-approve-i-1VECJx.js +0 -44
  915. package/dist/persistent-bindings.lifecycle-eZyKQ1D8.js +0 -85
  916. package/dist/persistent-bindings.lifecycle-mxY73TJR.js +0 -2
  917. package/dist/pi-embedded-0fErjTQ7.js +0 -2905
  918. package/dist/pi-embedded-Bc1jC2x0.js +0 -4
  919. package/dist/pi-embedded.runtime-Bn_RZ5z8.js +0 -4
  920. package/dist/pi-tool-definition-adapter-thh7LO1t.js +0 -217
  921. package/dist/pi-tools-BtlLDovQ.js +0 -1057
  922. package/dist/pi-tools.before-tool-call-BJ_X8Dq3.js +0 -2
  923. package/dist/pi-tools.before-tool-call-DdPCGWCs.js +0 -433
  924. package/dist/plugin-CdHHk4Xn.js +0 -12195
  925. package/dist/plugin-enabled-DybhbjKQ.js +0 -140
  926. package/dist/plugin-registration-Bgwpsokw.js +0 -23
  927. package/dist/plugin-service-ClhrJfT3.js +0 -2890
  928. package/dist/policy-CoqHgREn.js +0 -328
  929. package/dist/prepare.runtime-CawO_32K.js +0 -815
  930. package/dist/probe-BP3QS65i.js +0 -74
  931. package/dist/probe-BdCXAH_u.js +0 -2
  932. package/dist/probe-Cv5tXOMP.js +0 -2205
  933. package/dist/probe-D-D_1oc4.js +0 -241
  934. package/dist/probe-DO-gll0g.js +0 -2
  935. package/dist/probe-T6c0F73q.js +0 -45
  936. package/dist/probe-dxji7IxZ.js +0 -1443
  937. package/dist/program-GMPfHt5E.js +0 -111
  938. package/dist/prompt-select-styled-BvuJNEJG.js +0 -20
  939. package/dist/protocol-Batc2DmY.js +0 -2234
  940. package/dist/provider-dispatcher-CGYoOdKf.js +0 -2
  941. package/dist/provider-dispatcher-iTEDM88F.js +0 -22
  942. package/dist/qr-cli-6IxenO1C.js +0 -349
  943. package/dist/qr-cli-D63piSog.js +0 -2
  944. package/dist/qr-image-BAPDnfbt.js +0 -2
  945. package/dist/reaction-runtime-api-DgwRXTz2.js +0 -116
  946. package/dist/reactions-Dnh7t4Zl.js +0 -998
  947. package/dist/register-service-commands-D7w01SKL.js +0 -71
  948. package/dist/register.agent-j1Eno4xr.js +0 -248
  949. package/dist/register.configure-ubwxTkGt.js +0 -15
  950. package/dist/register.maintenance-B7FuM_ZW.js +0 -438
  951. package/dist/register.message-QR3u9rBl.js +0 -329
  952. package/dist/register.onboard-Bdcf_lH0.js +0 -81
  953. package/dist/register.runtime-QDduc4yj.js +0 -81
  954. package/dist/register.setup-DzVV6tdQ.js +0 -150
  955. package/dist/register.status-health-sessions-Brw3VcxG.js +0 -1215
  956. package/dist/register.subclis-B8qDbqPl.js +0 -29
  957. package/dist/register.subclis-DdoN3nZi.js +0 -3
  958. package/dist/register.subclis-core-CWHmnIoe.js +0 -249
  959. package/dist/reply-dispatch-runtime-BVLvCeJ0.js +0 -13
  960. package/dist/reply-media-paths.runtime-CmS_Bnnf.js +0 -2
  961. package/dist/reply-media-paths.runtime-DCj1JhDR.js +0 -146
  962. package/dist/reply-runtime-BXkvfLv_.js +0 -11
  963. package/dist/reply.runtime-BTkpxI5R.js +0 -2
  964. package/dist/restart-health-6cjrRBpF.js +0 -202
  965. package/dist/restart-health-b6Qw43Tj.js +0 -2
  966. package/dist/root-help-DDa1oEtT.js +0 -44
  967. package/dist/routes-CoCMty69.js +0 -2
  968. package/dist/routes-D9uC_Zdy.js +0 -3341
  969. package/dist/rpc-DpLGM3FH.js +0 -61
  970. package/dist/rpc.runtime-B27EA5A0.js +0 -21
  971. package/dist/run-delivery.runtime-OmILefLX.js +0 -530
  972. package/dist/run-embedded.runtime-Dc43u_Z7.js +0 -4
  973. package/dist/run-execution-cli.runtime-DL5w7Ac8.js +0 -4
  974. package/dist/run-executor.runtime-Bzwt0zP-.js +0 -277
  975. package/dist/run-main-BLD1wTLU.js +0 -516
  976. package/dist/run-subagent-registry.runtime-CddCeg6W.js +0 -2
  977. package/dist/run-wait-D4Gxuyru.js +0 -135
  978. package/dist/runtime-8BuIPrSY.js +0 -973
  979. package/dist/runtime-Co8r21pw.js +0 -9
  980. package/dist/runtime-api-BG0XWkir.js +0 -4
  981. package/dist/runtime-api-BjBzlgns.js +0 -9
  982. package/dist/runtime-api-DlYbbA-n.js +0 -14
  983. package/dist/runtime-api-faT33SE2.js +0 -9
  984. package/dist/runtime-embedded-pi.runtime-QdJ7K4t0.js +0 -2
  985. package/dist/runtime-internal-C0xc_Zhf.js +0 -2
  986. package/dist/runtime-options-DLv7ygkO.js +0 -275
  987. package/dist/runtime-schema-CQK5R5Pl.js +0 -27780
  988. package/dist/runtime-web-channel-plugin-DQoEo6bK.js +0 -203
  989. package/dist/scan-Yz6DoQn5.js +0 -523
  990. package/dist/scan-k38hL_6o.js +0 -2
  991. package/dist/secrets-cli-Bjvr0bOw.js +0 -2101
  992. package/dist/security-cli-C2gkMFcB.js +0 -486
  993. package/dist/selection-DC8EXnRg.js +0 -7736
  994. package/dist/selection-DmSFI5k4.js +0 -2
  995. package/dist/send-CMqcsAS2.js +0 -534
  996. package/dist/send-CT6EfHrc.js +0 -102
  997. package/dist/send-_ANvjE_C.js +0 -156
  998. package/dist/send.runtime-COIjG4BV.js +0 -2
  999. package/dist/server-COkv9Si4.js +0 -13
  1000. package/dist/server-DHLQZJL8.js +0 -77
  1001. package/dist/server-context-6jnr-aAw.js +0 -2
  1002. package/dist/server-context-DK1QsdLh.js +0 -847
  1003. package/dist/server-node-events-q8H0odkq.js +0 -481
  1004. package/dist/server-plugin-bootstrap-Bw4a88yA.js +0 -2
  1005. package/dist/server-plugin-bootstrap-By_w9ngt.js +0 -11333
  1006. package/dist/server-restart-sentinel-CGLYF3mk.js +0 -697
  1007. package/dist/server.impl-8j4SImks.js +0 -12735
  1008. package/dist/service-CNjb_qXC.js +0 -2
  1009. package/dist/service-CyR3mZIU.js +0 -120
  1010. package/dist/service-audit-DIL0OiMa.js +0 -260
  1011. package/dist/service-audit-pwloDggS.js +0 -2
  1012. package/dist/session-kill-http-Dek5w0Ee.js +0 -110
  1013. package/dist/session-reset-service-B_9Ps0kr.js +0 -471
  1014. package/dist/session-route-Cr6vOd9_.js +0 -93
  1015. package/dist/session-status.runtime-C_x1MHH5.js +0 -2
  1016. package/dist/session-subagent-reactivation.runtime-BKWuNild.js +0 -2
  1017. package/dist/session-tab-registry-C08V5jx6.js +0 -491
  1018. package/dist/session-visibility-D4j8hN_B.js +0 -147
  1019. package/dist/sessions-helpers-DmUVRk16.js +0 -304
  1020. package/dist/sessions-history-http-DN3KzEnX.js +0 -383
  1021. package/dist/sessions-patch-BPtlF0Lu.js +0 -309
  1022. package/dist/sessions-resolve-D6KPfG_4.js +0 -174
  1023. package/dist/sessions.runtime-DGL1-G20.js +0 -2
  1024. package/dist/setup-CkYiQoP0.js +0 -495
  1025. package/dist/setup-api-CUGYqGNT.js +0 -29
  1026. package/dist/setup-core-BmplfubJ.js +0 -171
  1027. package/dist/setup-core-C5ddWpfy.js +0 -176
  1028. package/dist/setup-surface-2JmEfowI.js +0 -219
  1029. package/dist/setup-surface-BpSH7F_m.js +0 -351
  1030. package/dist/setup-surface-BzHQx_GD.js +0 -403
  1031. package/dist/setup-surface-DOH6kc6w.js +0 -286
  1032. package/dist/setup-surface-DiYEprKG.js +0 -3
  1033. package/dist/setup.finalize-Ci2HBkDq.js +0 -539
  1034. package/dist/setup.gateway-config-CyG_Fzaa.js +0 -250
  1035. package/dist/shared-BItUH43s.js +0 -121
  1036. package/dist/shared-D7diJkX6.js +0 -198
  1037. package/dist/shared-DJU_HCJ1.js +0 -76
  1038. package/dist/slash-state-C4YD-tLz.js +0 -1911
  1039. package/dist/speech-provider-CNOimJB2.js +0 -209
  1040. package/dist/speech-provider-D9i0DEZ1.js +0 -216
  1041. package/dist/src-8HdytGc7.js +0 -3974
  1042. package/dist/startup-context-CfcCyUU0.js +0 -312
  1043. package/dist/status-B94yciC9.js +0 -397
  1044. package/dist/status-BUkUYtFm.js +0 -190
  1045. package/dist/status-BsHC-0MV.js +0 -2
  1046. package/dist/status-D4jNATg0.js +0 -209
  1047. package/dist/status-U8ut-X2Q.js +0 -2
  1048. package/dist/status-all-CIzsXQnV.js +0 -498
  1049. package/dist/status-json-alPkfWTd.js +0 -14
  1050. package/dist/status-json-command-CAkzWzw7.js +0 -84
  1051. package/dist/status-jxNdVQVZ.js +0 -3
  1052. package/dist/status-runtime-shared-BSsA48i9.js +0 -257
  1053. package/dist/status-subagents.runtime-hIKg6PXV.js +0 -18
  1054. package/dist/status-text-BmLJrLth.js +0 -237
  1055. package/dist/status.gateway-connection.runtime-Dr7HJ1wZ.js +0 -2
  1056. package/dist/status.gather-DFY0T97g.js +0 -2
  1057. package/dist/status.gather-e6sfNh8I.js +0 -292
  1058. package/dist/status.runtime-DBvapXQS.js +0 -2
  1059. package/dist/status.scan-DSpkE-Q-.js +0 -65
  1060. package/dist/status.scan-overview-Dr72bkbi.js +0 -379
  1061. package/dist/status.scan.fast-json-C7k_m46S.js +0 -2
  1062. package/dist/status.scan.fast-json-KHh7R3wX.js +0 -132
  1063. package/dist/status.summary-C4r9lkCH.js +0 -214
  1064. package/dist/status.summary-D0EJwkmX.js +0 -2
  1065. package/dist/subagent-announce-Bu5-8O3P.js +0 -351
  1066. package/dist/subagent-announce-delivery-4hk9P48s.js +0 -726
  1067. package/dist/subagent-announce-output-Csyi1-Kz.js +0 -364
  1068. package/dist/subagent-control-DAeNsV_G.js +0 -506
  1069. package/dist/subagent-followup.runtime-Bch92LIq.js +0 -68
  1070. package/dist/subagent-orphan-recovery-mNzyr1b-.js +0 -305
  1071. package/dist/subagent-registry-BMjQxBxi.js +0 -3
  1072. package/dist/subagent-registry-D4DFKQCL.js +0 -1753
  1073. package/dist/subagent-spawn-C13uUm47.js +0 -1005
  1074. package/dist/system-cli-BU6GhJxG.js +0 -59
  1075. package/dist/system-prompt-BsfYBoK_.js +0 -638
  1076. package/dist/targets-eYkepVzz.js +0 -67
  1077. package/dist/task-executor-DzJLcm4D.js +0 -360
  1078. package/dist/task-owner-access-DW9EbhjP.js +0 -74
  1079. package/dist/task-registry-DBJkAtFF.js +0 -2366
  1080. package/dist/task-registry-delivery-runtime-BdkPeGC1.js +0 -2
  1081. package/dist/task-registry-delivery-runtime-Ov88LGnv.js +0 -3
  1082. package/dist/task-registry.maintenance-BU6Z4V_9.js +0 -416
  1083. package/dist/task-registry.maintenance-sEo6eYdx.js +0 -2
  1084. package/dist/testing-B2jHeQft.js +0 -575
  1085. package/dist/text-report-HYrgZP8-.js +0 -587
  1086. package/dist/tool-resolution-BZxaDOKg.js +0 -90
  1087. package/dist/tools-effective-inventory-BCvCprpD.js +0 -152
  1088. package/dist/tools-invoke-http-Dt1rsx4a.js +0 -206
  1089. package/dist/trash-F4tvjrKS.js +0 -24
  1090. package/dist/tui-cli-DlQ1oejy.js +0 -4575
  1091. package/dist/update-cli-DHMdwQWA.js +0 -1759
  1092. package/dist/upgrade-UR-EI5pO.js +0 -1226
  1093. package/dist/video-generation-task-status-qtHrIZLt.js +0 -163
  1094. package/dist/wait-for-idle-before-flush-CYB_61O0.js +0 -5986
  1095. package/dist/web-media-DtmXd0Ej.js +0 -2
  1096. package/dist/web-media-UhS-eUvv.js +0 -600
  1097. package/dist/wizard-models-BKqMCaCm.js +0 -161
  1098. package/dist/workspace-run-DcHTcwZo.js +0 -70
  1099. 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 };