@pixelzx/genesis 2026.6.28 → 2026.6.29

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 (1041) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-CvJN6IMd.js +201 -0
  4. package/dist/abort.runtime-DAzGHIa2.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-B3aTKIO4.js +104 -0
  7. package/dist/accounts-BwigO-9Q.js +2 -0
  8. package/dist/accounts-CdLNyXHa.js +107 -0
  9. package/dist/acp-cli-DQz79rl7.js +2217 -0
  10. package/dist/acp-spawn-Bbs_m3VF.js +2 -0
  11. package/dist/acp-spawn-CTMewMbn.js +1042 -0
  12. package/dist/acp-stateful-target-driver-D4VaoZPV.js +89 -0
  13. package/dist/action-agents-DFmhHVfJ.js +67 -0
  14. package/dist/action-focus-Dx08tcy-.js +132 -0
  15. package/dist/action-help-hQl_vyPP.js +7 -0
  16. package/dist/action-info-JmXoHEPD.js +101 -0
  17. package/dist/action-kill-BcGm94a1.js +33 -0
  18. package/dist/action-list-BtDTTljd.js +21 -0
  19. package/dist/action-log-CzNEUTkF.js +30 -0
  20. package/dist/action-send-BVjcdCrr.js +39 -0
  21. package/dist/action-spawn-Cn0JgaO1.js +47 -0
  22. package/dist/action-unfocus-c1Uu4T8u.js +29 -0
  23. package/dist/actions.runtime-Cmrr3s-z.js +5 -0
  24. package/dist/actions.runtime-XCeILsBA.js +18 -0
  25. package/dist/actions.runtime.js +1 -1
  26. package/dist/agent-CS1XdimC.js +2 -0
  27. package/dist/agent-command-BiLxDWtx.js +874 -0
  28. package/dist/agent-harness-runtime-bunUaGg7.js +144 -0
  29. package/dist/agent-runner-utils-BFkEZbb9.js +239 -0
  30. package/dist/agent-runner.runtime-DUtejeBt.js +3443 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-CQG_IBlM.js +18 -0
  33. package/dist/agents-DArnaFQV.js +954 -0
  34. package/dist/agents-jSVdSQr5.js +5 -0
  35. package/dist/aliases-BrquU2aa.js +96 -0
  36. package/dist/aliases-OQzPD6Kz.js +2 -0
  37. package/dist/api-BXtBpymk.js +5 -0
  38. package/dist/api-CGMqDBcv.js +3 -0
  39. package/dist/api-CNr0UyHW.js +139 -0
  40. package/dist/approval-gateway-resolver-D2iqmJiq.js +29 -0
  41. package/dist/approval-gateway-runtime-C1pBe7Fx.js +2 -0
  42. package/dist/approval-handler-runtime-Zf1fCWk1.js +439 -0
  43. package/dist/approval-native-runtime-C0zvGwfB.js +729 -0
  44. package/dist/attempt-execution.runtime-Cu16wO9j.js +509 -0
  45. package/dist/attempt-execution.runtime.js +1 -1
  46. package/dist/attempt.prompt-helpers-C3qMNvxE.js +206 -0
  47. package/dist/attempt.tool-run-context-M11pca0b.js +933 -0
  48. package/dist/audit-DF-0hnr9.js +939 -0
  49. package/dist/audit.runtime-DYyjmKuk.js +7 -0
  50. package/dist/audit.runtime.js +1 -1
  51. package/dist/auth-DE-yY2QL.js +550 -0
  52. package/dist/auth-DLmN64Y_.js +2 -0
  53. package/dist/auth-order-CP3BJeex.js +2 -0
  54. package/dist/auth-order-DQHJAKY8.js +139 -0
  55. package/dist/bash-tools-DUxUia5q.js +3 -0
  56. package/dist/bash-tools-_AgECrXf.js +2853 -0
  57. package/dist/binding-routing-D7ruDbx0.js +85 -0
  58. package/dist/binding-targets-BZWuOcR0.js +121 -0
  59. package/dist/bridge-server-C4WpUTaE.js +113 -0
  60. package/dist/browser-control-auth-CmYxtkaH.js +2 -0
  61. package/dist/browser-node-runtime-BLHYH8YL.js +12 -0
  62. package/dist/browser-profiles-Cawo818z.js +2 -0
  63. package/dist/browser-runtime-LzhODwuG.js +387 -0
  64. package/dist/browser-setup-tools-CTgOb29b.js +13 -0
  65. package/dist/build-AqzTQK3J.js +550 -0
  66. package/dist/build-info.json +3 -3
  67. package/dist/bundled/boot-md/handler.js +2 -2
  68. package/dist/bundled/session-memory/handler.js +1 -1
  69. package/dist/call-J2wbwzLi.js +330 -0
  70. package/dist/call-S0AZ899k.js +3 -0
  71. package/dist/call.runtime-CyP2bdv0.js +2 -0
  72. package/dist/call.runtime.js +1 -1
  73. package/dist/capability-cli-6jHIuGQe.js +1401 -0
  74. package/dist/catchup-CN5lM9nn.js +300 -0
  75. package/dist/channel-4jggmldw.js +453 -0
  76. package/dist/channel-8osltyJD.js +840 -0
  77. package/dist/channel-B-P45jvy.js +595 -0
  78. package/dist/channel-BIV8BnjO.js +1802 -0
  79. package/dist/channel-CXUPhx7m.js +297 -0
  80. package/dist/channel-ChWfDzLg.js +226 -0
  81. package/dist/channel-DMCOcmaZ.js +491 -0
  82. package/dist/channel-DT5I65Xv.js +1174 -0
  83. package/dist/channel-_mt8OaDA.js +1320 -0
  84. package/dist/channel-cbqIqIvi.js +1100 -0
  85. package/dist/channel-core-CcHrOJQl.js +5 -0
  86. package/dist/channel-inbound-gJZ5fy8s.js +31 -0
  87. package/dist/channel-plugin-runtime-CFVplMXF.js +771 -0
  88. package/dist/channel-runtime-D2fhnXNT.js +425 -0
  89. package/dist/channel-twNI9g5j.js +350 -0
  90. package/dist/channel.runtime-B7RAHQNT.js +430 -0
  91. package/dist/channel.runtime-BIcoI6bq.js +2364 -0
  92. package/dist/channel.runtime-Ci_26egi.js +576 -0
  93. package/dist/channel.runtime-CzTNZfZz.js +89 -0
  94. package/dist/channel.runtime-D0qkeWVB.js +4 -0
  95. package/dist/channel.runtime-D_9taoyr.js +42398 -0
  96. package/dist/channel.runtime.js +1 -1
  97. package/dist/channel.setup-Ck6-6alN.js +10 -0
  98. package/dist/channel2.runtime-CzLs-yVz.js +109 -0
  99. package/dist/channel2.runtime.js +1 -1
  100. package/dist/channels-C3tEEndo.js +733 -0
  101. package/dist/channels-cli-1vvCRqai.js +268 -0
  102. package/dist/chat-9N_9QPkq.js +2830 -0
  103. package/dist/clawbot-cli-CySj7xP4.js +9 -0
  104. package/dist/cli/daemon-cli.js +3 -3
  105. package/dist/cli-BNYLM-n-.js +219 -0
  106. package/dist/cli-Bj3CMawx.js +2 -0
  107. package/dist/cli-dB2d6i0x.js +72 -0
  108. package/dist/cli-fZ6nZozk.js +2 -0
  109. package/dist/cli-runner-DkUWaw3u.js +286 -0
  110. package/dist/cli-runner.runtime-Bdu8GaIU.js +4 -0
  111. package/dist/cli-runner.runtime-D35_WwIC.js +3 -0
  112. package/dist/cli-runner.runtime.js +1 -1
  113. package/dist/cli-startup-metadata.json +2 -2
  114. package/dist/cli.runtime-D0ZdkRoZ.js +1261 -0
  115. package/dist/cli.runtime.js +1 -1
  116. package/dist/client-BLrVaUap.js +723 -0
  117. package/dist/client-JSnNx9t8.js +138 -0
  118. package/dist/command-auth-vH98jyU8.js +76 -0
  119. package/dist/command-config-resolution-B-U-WZy5.js +23 -0
  120. package/dist/command-config-resolution-ByjKlaVl.js +2 -0
  121. package/dist/command-config-resolution.runtime-Wv85AlQo.js +2 -0
  122. package/dist/command-config-resolution.runtime.js +1 -1
  123. package/dist/command-registry-Bu9yJGC5.js +4 -0
  124. package/dist/command-registry-CuME9hky.js +9 -0
  125. package/dist/command-registry-core-Bk9WAOxq.js +106 -0
  126. package/dist/command-secret-gateway-BWnLmfo1.js +528 -0
  127. package/dist/command-status.runtime-DHRozViO.js +87 -0
  128. package/dist/command-status.runtime.js +1 -1
  129. package/dist/commands-acp-CnxVcX4s.js +77 -0
  130. package/dist/commands-compact.runtime-DKZYaee9.js +10 -0
  131. package/dist/commands-compact.runtime.js +1 -1
  132. package/dist/commands-handlers.runtime-BFqsQ9UV.js +4599 -0
  133. package/dist/commands-handlers.runtime.js +1 -1
  134. package/dist/commands-status-DBC5I7yG.js +16 -0
  135. package/dist/commands-status.runtime-BgK6raz4.js +3 -0
  136. package/dist/commands-status.runtime.js +1 -1
  137. package/dist/commands-subagents-control.runtime-CY4xaq28.js +3 -0
  138. package/dist/commands-subagents-control.runtime-z9tchzCP.js +2 -0
  139. package/dist/commands-subagents-control.runtime.js +1 -1
  140. package/dist/commands-system-prompt-BNtFvxmr.js +157 -0
  141. package/dist/commands-system-prompt-CHVjFzQO.js +2 -0
  142. package/dist/commands.runtime-BAsTu7s5.js +167 -0
  143. package/dist/commands.runtime.js +1 -1
  144. package/dist/compact-Ddu8hZfc.js +1096 -0
  145. package/dist/compact.runtime-GpkxTJxx.js +12 -0
  146. package/dist/compact.runtime.js +1 -1
  147. package/dist/completion-cli-BNte3Dj6.js +328 -0
  148. package/dist/config-Cvu5tnrW.js +252 -0
  149. package/dist/config-cli-BlZB5tV-.js +1078 -0
  150. package/dist/configure-CiGtXggx.js +2 -0
  151. package/dist/configure-DDqC8LYD.js +1252 -0
  152. package/dist/connect-options-BbJfh_Oy.js +699 -0
  153. package/dist/control-auth-B2Jsq2zv.js +125 -0
  154. package/dist/control-service-B5OxTjPP.js +156 -0
  155. package/dist/control-ui/assets/agents-CfLnBH4t.js +1125 -0
  156. package/dist/control-ui/assets/canvas-pj-aGbeH.js +274 -0
  157. package/dist/control-ui/assets/channels-BelCW9hw.js +198 -0
  158. package/dist/control-ui/assets/contacts-B-2gb_ua.js +49 -0
  159. package/dist/control-ui/assets/cron-B6-26cyp.js +250 -0
  160. package/dist/control-ui/assets/debug-B5MO5d0M.js +94 -0
  161. package/dist/control-ui/assets/index-CmdvEIGH.js +5981 -0
  162. package/dist/control-ui/assets/instances-uygO1ZKq.js +57 -0
  163. package/dist/control-ui/assets/mcp-472P8M4F.js +380 -0
  164. package/dist/control-ui/assets/memory-Dvp5YUvN.js +50 -0
  165. package/dist/control-ui/assets/memory-graph-B27rN_e7.js +30 -0
  166. package/dist/control-ui/assets/models-C88CYx1F.js +86 -0
  167. package/dist/control-ui/assets/nodes-CUXTunGj.js +654 -0
  168. package/dist/control-ui/assets/plugins-D3upvVMU.js +259 -0
  169. package/dist/control-ui/assets/presenter-DSvbCagf.js +2 -0
  170. package/dist/control-ui/assets/sessions-BzVDlJpI.js +56 -0
  171. package/dist/control-ui/assets/skills-DQD9wvlO.js +294 -0
  172. package/dist/control-ui/assets/wallet-DWa9gqqg.js +302 -0
  173. package/dist/control-ui/index.html +1 -1
  174. package/dist/conversation-id-BTqKksIo.js +38 -0
  175. package/dist/conversation-id-DzarUmXD.js +235 -0
  176. package/dist/conversation-runtime-DbbmwXgr.js +31 -0
  177. package/dist/core-CYiHLgHk.js +275 -0
  178. package/dist/cron-cli-Dyd_7f_N.js +713 -0
  179. package/dist/daemon-cli-DT5GXTxV.js +12 -0
  180. package/dist/dashboard-BtYlqUpN.js +2 -0
  181. package/dist/dashboard-DwroM17M.js +81 -0
  182. package/dist/delegate-CBLxnP3N.js +64 -0
  183. package/dist/detached-task-runtime-DWSrAiuI.js +73 -0
  184. package/dist/devices-cli-CrGc8ckS.js +498 -0
  185. package/dist/diagnostics-CzNM2oo3.js +154 -0
  186. package/dist/direct-dm-Cy7dY7RF.js +64 -0
  187. package/dist/dispatch-Dew5dCZ_.js +1131 -0
  188. package/dist/dispatch-acp-CvCVNtsu.js +981 -0
  189. package/dist/dispatch-acp-manager.runtime-DBTAUi2i.js +3 -0
  190. package/dist/dispatch-acp-manager.runtime.js +1 -1
  191. package/dist/dispatch-acp.runtime-Cw1tjQKP.js +19 -0
  192. package/dist/dispatch-acp.runtime.js +1 -1
  193. package/dist/doctor-device-pairing-C9OfTAUh.js +307 -0
  194. package/dist/doctor-gateway-daemon-flow-CS1gl0S3.js +250 -0
  195. package/dist/doctor-gateway-health-DzKV435y.js +63 -0
  196. package/dist/doctor-health-DNiEej9S.js +59 -0
  197. package/dist/doctor-health-contributions-BxgcjAL5.js +493 -0
  198. package/dist/doctor-prompter-T7JdMaQG.js +56 -0
  199. package/dist/doctor-workspace-status-C3jLUkHt.js +75 -0
  200. package/dist/dreaming-CiOm27X0.js +1582 -0
  201. package/dist/dreaming-narrative-C8m64g44.js +596 -0
  202. package/dist/embedded-gateway-stub.runtime-Di2s5bLl.js +9 -0
  203. package/dist/embedded-gateway-stub.runtime.js +1 -1
  204. package/dist/entry.js +2 -2
  205. package/dist/exec-approvals-cli-DiBWd6eL.js +498 -0
  206. package/dist/extensionAPI.js +1 -1
  207. package/dist/extensions/active-memory/index.js +1 -1
  208. package/dist/extensions/bluebubbles/api.js +3 -3
  209. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  210. package/dist/extensions/browser/browser-bridge.js +1 -1
  211. package/dist/extensions/browser/browser-config.js +4 -4
  212. package/dist/extensions/browser/browser-control-auth.js +2 -2
  213. package/dist/extensions/browser/browser-doctor.js +2 -2
  214. package/dist/extensions/browser/browser-maintenance.js +2 -2
  215. package/dist/extensions/browser/browser-profiles.js +2 -2
  216. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  217. package/dist/extensions/browser/index.js +1 -1
  218. package/dist/extensions/browser/plugin-registration.js +1 -1
  219. package/dist/extensions/browser/register.runtime.js +3 -3
  220. package/dist/extensions/browser/runtime-api.js +11 -11
  221. package/dist/extensions/browser/test-support.js +1 -1
  222. package/dist/extensions/device-pair/api.js +1 -1
  223. package/dist/extensions/device-pair/index.js +3 -3
  224. package/dist/extensions/device-pair/notify.js +1 -1
  225. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  226. package/dist/extensions/google-meet/index.js +2 -2
  227. package/dist/extensions/imessage/api.js +3 -3
  228. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  229. package/dist/extensions/imessage/runtime-api.js +3 -3
  230. package/dist/extensions/irc/api.js +2 -2
  231. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  232. package/dist/extensions/line/api.js +2 -2
  233. package/dist/extensions/line/channel-plugin-api.js +1 -1
  234. package/dist/extensions/line/contract-api.js +1 -1
  235. package/dist/extensions/line/runtime-api.js +4 -4
  236. package/dist/extensions/line/setup-api.js +1 -1
  237. package/dist/extensions/llm-task/index.js +2 -2
  238. package/dist/extensions/lobster/index.js +3 -3
  239. package/dist/extensions/lobster/runtime-api.js +1 -1
  240. package/dist/extensions/mattermost/api.js +1 -1
  241. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  242. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  243. package/dist/extensions/mattermost/policy-api.js +1 -1
  244. package/dist/extensions/mattermost/runtime-api.js +4 -4
  245. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  246. package/dist/extensions/memory-core/api.js +1 -1
  247. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  248. package/dist/extensions/memory-core/index.js +3 -3
  249. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  250. package/dist/extensions/msteams/api.js +1 -1
  251. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  252. package/dist/extensions/msteams/runtime-api.js +3 -3
  253. package/dist/extensions/msteams/test-api.js +1 -1
  254. package/dist/extensions/nextcloud-talk/api.js +1 -1
  255. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  256. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  257. package/dist/extensions/openshell/index.js +2 -2
  258. package/dist/extensions/signal/api.js +6 -6
  259. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  260. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  261. package/dist/extensions/signal/runtime-api.js +7 -7
  262. package/dist/extensions/skill-workshop/api.js +1 -1
  263. package/dist/extensions/skill-workshop/index.js +1 -1
  264. package/dist/extensions/synology-chat/api.js +1 -1
  265. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  266. package/dist/extensions/tlon/api.js +2 -2
  267. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  268. package/dist/extensions/tlon/runtime-api.js +1 -1
  269. package/dist/extensions/tlon/test-api.js +1 -1
  270. package/dist/extensions/twitch/api.js +1 -1
  271. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  272. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  273. package/dist/extensions/zalo/api.js +3 -3
  274. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  275. package/dist/extensions/zalo/runtime-api.js +2 -2
  276. package/dist/extensions/zalo/setup-api.js +2 -2
  277. package/dist/extensions/zalouser/api.js +3 -3
  278. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  279. package/dist/extensions/zalouser/runtime-api.js +6 -6
  280. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  281. package/dist/extensions/zalouser/test-api.js +1 -1
  282. package/dist/fallbacks-Bjq0H75u.js +31 -0
  283. package/dist/fallbacks-C3dys5Ff.js +2 -0
  284. package/dist/fallbacks-shared-4iQjz5v5.js +111 -0
  285. package/dist/gateway-BxIfReRV.js +115 -0
  286. package/dist/gateway-cli-Czx2Ub57.js +1283 -0
  287. package/dist/gateway-rpc-CdXoDE6_.js +14 -0
  288. package/dist/gateway-rpc.runtime-DXFVTu-I.js +23 -0
  289. package/dist/gateway-rpc.runtime.js +1 -1
  290. package/dist/gateway-runtime-DoElJuBU.js +15 -0
  291. package/dist/gateway-status-DtdmlnK6.js +584 -0
  292. package/dist/genesis-tools-vU91jnMS.js +9435 -0
  293. package/dist/genesis-tools.runtime-Dfpi37K0.js +2 -0
  294. package/dist/genesis-tools.runtime.js +1 -1
  295. package/dist/get-reply-DTtxw9Xp.js +3946 -0
  296. package/dist/get-reply-from-config.runtime-CB9EeF1Q.js +2 -0
  297. package/dist/get-reply-from-config.runtime.js +1 -1
  298. package/dist/graph-users-CoF5XRS_.js +1337 -0
  299. package/dist/health-CLRWQEVB.js +3 -0
  300. package/dist/health-DvTtpVIw.js +420 -0
  301. package/dist/health-route-8H3Sy8RI.js +41 -0
  302. package/dist/health-route-CHLAMCYm.js +2 -0
  303. package/dist/hooks-cli-D2AeKlrf.js +433 -0
  304. package/dist/image-fallbacks-Cy-kcJR5.js +2 -0
  305. package/dist/image-fallbacks-DoQoUiR7.js +31 -0
  306. package/dist/inbound-reply-dispatch-jQhsUF0f.js +73 -0
  307. package/dist/index.js +2 -2
  308. package/dist/infra-runtime-DwRkDuXF.js +38 -0
  309. package/dist/init-DwpSUAfi.js +59 -0
  310. package/dist/library-mAKEzoAM.js +45 -0
  311. package/dist/lifecycle-BUTglQLK.js +229 -0
  312. package/dist/lifecycle-Csd_mbv2.js +571 -0
  313. package/dist/lifecycle.runtime-1wfzPGwQ.js +2 -0
  314. package/dist/lifecycle.runtime.js +1 -1
  315. package/dist/list-5rTtE3qu.js +2 -0
  316. package/dist/list-BCYNIOw6.js +2 -0
  317. package/dist/list-DyQGXU4h.js +1212 -0
  318. package/dist/list-DzN4dO0z.js +131 -0
  319. package/dist/list.probe-BQZZbfvC.js +419 -0
  320. package/dist/llm-slug-generator-BWH-YxyP.js +79 -0
  321. package/dist/llm-slug-generator.js +1 -1
  322. package/dist/load-config-CISXosI1.js +35 -0
  323. package/dist/local-dispatch.runtime-BdXedbsx.js +8 -0
  324. package/dist/local-dispatch.runtime.js +1 -1
  325. package/dist/logs-cli-YcX3NrQk.js +265 -0
  326. package/dist/logs-cli.runtime-4RNOEP9S.js +2 -0
  327. package/dist/logs-cli.runtime.js +1 -1
  328. package/dist/main-session-restart-recovery-DxOWdFCG.js +206 -0
  329. package/dist/managed-image-attachments-BjnlRyZi.js +2 -0
  330. package/dist/managed-image-attachments-CgE1Q1Bu.js +635 -0
  331. package/dist/manager-CvrwzOap.js +2 -0
  332. package/dist/manager-DIyzKDRT.js +2057 -0
  333. package/dist/markdown-to-line-BzCikJ_W.js +790 -0
  334. package/dist/mcp/plugin-tools-serve.js +1 -1
  335. package/dist/mcp-cli-HFkNRDTk.js +725 -0
  336. package/dist/mcp-http-BpymCnig.js +529 -0
  337. package/dist/memory-core-host-runtime-cli-D1OEhnrF.js +9 -0
  338. package/dist/message-action-runner-CMY-upve.js +1407 -0
  339. package/dist/message-action-runner-DySHa6EF.js +2 -0
  340. package/dist/message-actions-B9LTXVEy.js +143 -0
  341. package/dist/message-kmB-ZdwF.js +232 -0
  342. package/dist/message.gateway.runtime-CKp6wO2c.js +2 -0
  343. package/dist/message.gateway.runtime.js +1 -1
  344. package/dist/models-auth-status-CWD5blQY.js +217 -0
  345. package/dist/models-cli-qKl_DDX9.js +271 -0
  346. package/dist/monitor-Ba7ejkS8.js +671 -0
  347. package/dist/monitor-BaVaWrC7.js +2 -0
  348. package/dist/monitor-C35OWSe9.js +1661 -0
  349. package/dist/monitor-Cl9di7UV.js +788 -0
  350. package/dist/monitor-CyNHlr3x.js +1237 -0
  351. package/dist/monitor-DfSNLX9p.js +1459 -0
  352. package/dist/monitor-auth-Bar1iwPD.js +207 -0
  353. package/dist/monitor-processing-DOC1o7D2.js +1974 -0
  354. package/dist/monitor.runtime-CzFqZGY2.js +2 -0
  355. package/dist/monitor.runtime.js +1 -1
  356. package/dist/monitor.webhook-Bim0zewE.js +180 -0
  357. package/dist/msteams-BqQ_sRgm.js +35 -0
  358. package/dist/native-hook-relay-CiXmqOtV.js +519 -0
  359. package/dist/nextcloud-talk-ByistOQj.js +17 -0
  360. package/dist/node-cli-BWtbe5nd.js +2276 -0
  361. package/dist/nodes-cli-DuzsL0Gb.js +1046 -0
  362. package/dist/nodes-utils-oVtp9rVI.js +84 -0
  363. package/dist/nodes.helpers-DJ1lCjQx.js +34 -0
  364. package/dist/notify-Xz011HiU.js +315 -0
  365. package/dist/onboard-CJcg9WIT.js +2 -0
  366. package/dist/onboard-SSBg2BsM.js +70 -0
  367. package/dist/onboard-helpers-D-z22ggH.js +204 -0
  368. package/dist/onboard-helpers-DU-hRKeY.js +6 -0
  369. package/dist/onboard-interactive-C8tFz_EJ.js +24 -0
  370. package/dist/onboard-non-interactive-ZnR63QNa.js +635 -0
  371. package/dist/onboard-remote-B6KxBZY_.js +193 -0
  372. package/dist/onboard-remote-BrblbI6u.js +2 -0
  373. package/dist/onboard-skills-BaEg-lmj.js +2 -0
  374. package/dist/onboard-skills-BuFtX13Z.js +134 -0
  375. package/dist/openai-http-Wkidi3o4.js +500 -0
  376. package/dist/openresponses-http-BkPjGHMn.js +1128 -0
  377. package/dist/operator-approvals-client-xj8FFWPH.js +68 -0
  378. package/dist/outbound.runtime-riknu3Rg.js +2 -0
  379. package/dist/outbound.runtime.js +1 -1
  380. package/dist/pair-command-approve-CRig33Ea.js +44 -0
  381. package/dist/persistent-bindings.lifecycle-BhVLGVlI.js +2 -0
  382. package/dist/persistent-bindings.lifecycle-CVWzaSA9.js +85 -0
  383. package/dist/pi-embedded-Dh5naw-j.js +4 -0
  384. package/dist/pi-embedded-S0ld6lbd.js +2905 -0
  385. package/dist/pi-embedded.runtime-BeWYEwSt.js +4 -0
  386. package/dist/pi-embedded.runtime.js +1 -1
  387. package/dist/pi-tool-definition-adapter-MgnP-0c4.js +229 -0
  388. package/dist/pi-tools-DyVcSRei.js +1118 -0
  389. package/dist/pi-tools.before-tool-call-BZ1PLh46.js +433 -0
  390. package/dist/pi-tools.before-tool-call-DSgr_Sjd.js +2 -0
  391. package/dist/plugin-DoXrlTHe.js +12195 -0
  392. package/dist/plugin-enabled-CCAWKL0j.js +140 -0
  393. package/dist/plugin-registration-COZcclAr.js +23 -0
  394. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  395. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  396. package/dist/plugin-sdk/acp-runtime.js +2 -2
  397. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  398. package/dist/plugin-sdk/agent-harness.js +6 -6
  399. package/dist/plugin-sdk/agent-runtime.js +2 -2
  400. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  401. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  402. package/dist/plugin-sdk/approval-runtime.js +1 -1
  403. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  404. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  405. package/dist/plugin-sdk/browser-support.js +7 -7
  406. package/dist/plugin-sdk/channel-core.js +2 -2
  407. package/dist/plugin-sdk/channel-inbound.js +2 -2
  408. package/dist/plugin-sdk/command-auth.js +1 -1
  409. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  410. package/dist/plugin-sdk/compat.js +1 -1
  411. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  412. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  413. package/dist/plugin-sdk/core.js +2 -2
  414. package/dist/plugin-sdk/direct-dm.js +1 -1
  415. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  416. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  417. package/dist/plugin-sdk/index.js +1 -1
  418. package/dist/plugin-sdk/infra-runtime.js +2 -2
  419. package/dist/plugin-sdk/irc.js +2 -2
  420. package/dist/plugin-sdk/matrix.js +1 -1
  421. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  422. package/dist/plugin-sdk/memory-core.js +2 -2
  423. package/dist/plugin-sdk/msteams.js +2 -2
  424. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  425. package/dist/plugin-sdk/nostr.js +1 -1
  426. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  427. package/dist/plugin-sdk/reply-runtime.js +4 -4
  428. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  429. package/dist/plugin-sdk/runtime.js +2 -2
  430. package/dist/plugin-sdk/session-visibility.js +1 -1
  431. package/dist/plugin-sdk/testing.js +4 -4
  432. package/dist/plugin-sdk/tlon.js +1 -1
  433. package/dist/plugin-sdk/zalo.js +1 -1
  434. package/dist/plugin-sdk/zalouser.js +1 -1
  435. package/dist/plugin-service-Cu_nlZmO.js +2893 -0
  436. package/dist/plugins/runtime/index.js +1 -1
  437. package/dist/policy-CxwHwL56.js +328 -0
  438. package/dist/postinstall-inventory.json +429 -429
  439. package/dist/prepare.runtime-BhO3ot9P.js +807 -0
  440. package/dist/prepare.runtime.js +1 -1
  441. package/dist/probe-4IiQQG_7.js +2 -0
  442. package/dist/probe-89jd9VHi.js +1443 -0
  443. package/dist/probe-B2Uw_PN-.js +2205 -0
  444. package/dist/probe-B4ekJ-Xv.js +74 -0
  445. package/dist/probe-B9hiEFIU.js +2 -0
  446. package/dist/probe-CDrkDwhe.js +240 -0
  447. package/dist/probe-Ct62B_e4.js +45 -0
  448. package/dist/program-HFwaDGDa.js +111 -0
  449. package/dist/prompt-select-styled-BL_pKMTB.js +20 -0
  450. package/dist/protocol-C9LrRIRp.js +2515 -0
  451. package/dist/provider-dispatcher-C81eCA-H.js +22 -0
  452. package/dist/provider-dispatcher-puinwYaq.js +2 -0
  453. package/dist/qr-cli-BdX_FFlu.js +349 -0
  454. package/dist/qr-cli-C5253ud8.js +2 -0
  455. package/dist/reaction-runtime-api-95Ou_vSC.js +116 -0
  456. package/dist/reactions-DZizt8LI.js +998 -0
  457. package/dist/register-service-commands-DMNQ-id4.js +71 -0
  458. package/dist/register.agent-CQOBdXob.js +248 -0
  459. package/dist/register.configure-C8yC_SYa.js +15 -0
  460. package/dist/register.maintenance-CSIY47OO.js +363 -0
  461. package/dist/register.message-g5yjxPxU.js +329 -0
  462. package/dist/register.onboard-U3SrMpHb.js +88 -0
  463. package/dist/register.runtime-BMuRf7KD.js +81 -0
  464. package/dist/register.runtime.js +1 -1
  465. package/dist/register.setup-DOBsdUvr.js +150 -0
  466. package/dist/register.status-health-sessions-p_3FnJtp.js +1215 -0
  467. package/dist/register.subclis-CNkq2TdW.js +29 -0
  468. package/dist/register.subclis-P3ru4E6I.js +3 -0
  469. package/dist/register.subclis-core-D5N5ewgp.js +249 -0
  470. package/dist/reply-dispatch-runtime-B8TMhGSo.js +13 -0
  471. package/dist/reply-runtime-Ba_5YKEX.js +10 -0
  472. package/dist/reply.runtime-CvlE6uYh.js +2 -0
  473. package/dist/reply.runtime.js +1 -1
  474. package/dist/restart-health-CV-Nm1lw.js +202 -0
  475. package/dist/restart-health-DywY1594.js +2 -0
  476. package/dist/root-help-oR4nv8N9.js +44 -0
  477. package/dist/routes-ClkLAuU2.js +3341 -0
  478. package/dist/routes-cv4VrQu1.js +2 -0
  479. package/dist/rpc-05cw0vNh.js +61 -0
  480. package/dist/rpc.runtime-DhFlfCMB.js +21 -0
  481. package/dist/rpc.runtime.js +1 -1
  482. package/dist/run-delivery.runtime-B_9TxqQA.js +530 -0
  483. package/dist/run-delivery.runtime.js +1 -1
  484. package/dist/run-embedded.runtime-V68HvJT8.js +4 -0
  485. package/dist/run-embedded.runtime.js +1 -1
  486. package/dist/run-execution-cli.runtime-9NpwQ1uu.js +4 -0
  487. package/dist/run-execution-cli.runtime.js +1 -1
  488. package/dist/run-executor.runtime-CX2Emb4e.js +277 -0
  489. package/dist/run-executor.runtime.js +1 -1
  490. package/dist/run-main-xnrI4i-W.js +567 -0
  491. package/dist/run-subagent-registry.runtime-CEgCR8-w.js +2 -0
  492. package/dist/run-subagent-registry.runtime.js +1 -1
  493. package/dist/run-wait-By6jGhn0.js +135 -0
  494. package/dist/runtime-D0MD5Uyv.js +9 -0
  495. package/dist/runtime-D2DhV36f.js +961 -0
  496. package/dist/runtime-api-C_o5iE1W.js +9 -0
  497. package/dist/runtime-api-Cws6dHRG.js +14 -0
  498. package/dist/runtime-api-D8EKRzzw.js +4 -0
  499. package/dist/runtime-api-DUw04nys.js +9 -0
  500. package/dist/runtime-embedded-pi.runtime-Ckdld_Ij.js +2 -0
  501. package/dist/runtime-embedded-pi.runtime.js +1 -1
  502. package/dist/runtime-internal-Dga3dvsC.js +2 -0
  503. package/dist/runtime-options-DwYzxb7U.js +275 -0
  504. package/dist/runtime-schema-BDGFtL0_.js +28599 -0
  505. package/dist/scan-BWFQXm24.js +523 -0
  506. package/dist/scan-CrfOpA-h.js +2 -0
  507. package/dist/secrets-cli-TxHWzJzS.js +2101 -0
  508. package/dist/security-cli-DIvsGk3X.js +486 -0
  509. package/dist/selection-CHTqBz4F.js +2 -0
  510. package/dist/selection-D_K-9r-x.js +7743 -0
  511. package/dist/send-DE7hu875.js +156 -0
  512. package/dist/send-TkldUWcX.js +102 -0
  513. package/dist/send.runtime-CZI1JWw8.js +2 -0
  514. package/dist/send.runtime.js +1 -1
  515. package/dist/server-B8xhfNfn.js +77 -0
  516. package/dist/server-Cz40q0g2.js +13 -0
  517. package/dist/server-context-B7rWJ2gB.js +847 -0
  518. package/dist/server-context-yutVechl.js +2 -0
  519. package/dist/server-node-events-VPwgJoKG.js +474 -0
  520. package/dist/server-plugin-bootstrap-Dy78XA3J.js +2 -0
  521. package/dist/server-plugin-bootstrap-N59qJvH4.js +13355 -0
  522. package/dist/server-restart-sentinel-Zjl16hJh.js +684 -0
  523. package/dist/server.impl-DpFPnl5_.js +12798 -0
  524. package/dist/session-kill-http-o34Xk0D1.js +110 -0
  525. package/dist/session-reset-service-C0ScpWIE.js +497 -0
  526. package/dist/session-route-UusYWQ_M.js +93 -0
  527. package/dist/session-status.runtime-DJV2WJZM.js +2 -0
  528. package/dist/session-status.runtime.js +1 -1
  529. package/dist/session-subagent-reactivation.runtime-yyMT_MgO.js +2 -0
  530. package/dist/session-subagent-reactivation.runtime.js +1 -1
  531. package/dist/session-tab-registry-Bkd33PY1.js +581 -0
  532. package/dist/session-visibility-BOYOn-Gu.js +147 -0
  533. package/dist/sessions-helpers-DlsDzSXL.js +305 -0
  534. package/dist/sessions-history-http--8biogY1.js +371 -0
  535. package/dist/sessions-patch-BlUpBepz.js +309 -0
  536. package/dist/sessions-resolve-DPWviaDr.js +174 -0
  537. package/dist/sessions.runtime-CHJDx6Rg.js +2 -0
  538. package/dist/sessions.runtime.js +1 -1
  539. package/dist/setup-COcb42YZ.js +636 -0
  540. package/dist/setup-api-Ddfd033_.js +29 -0
  541. package/dist/setup-core-Bsasst9Y.js +176 -0
  542. package/dist/setup-core-CWmsLaJv.js +171 -0
  543. package/dist/setup-surface-CTZ5CnX4.js +219 -0
  544. package/dist/setup-surface-D2c6jlaM.js +403 -0
  545. package/dist/setup-surface-Dazv-gzK.js +286 -0
  546. package/dist/setup.finalize-DSSoTSsd.js +547 -0
  547. package/dist/setup.gateway-config-bJqXJA3E.js +250 -0
  548. package/dist/shared-DOOnkgfw.js +198 -0
  549. package/dist/shared-DfVOpp8r.js +121 -0
  550. package/dist/shared-nGZZHrFV.js +76 -0
  551. package/dist/slash-state-CwgTzmc8.js +1911 -0
  552. package/dist/src-CbfkGwGz.js +3974 -0
  553. package/dist/startup-context-acV-bzAJ.js +312 -0
  554. package/dist/status-0ozKjOYe.js +190 -0
  555. package/dist/status-BFMr1TH_.js +395 -0
  556. package/dist/status-C0tUFjWh.js +2 -0
  557. package/dist/status-DgyADd4G.js +209 -0
  558. package/dist/status-L2NtbOry.js +3 -0
  559. package/dist/status-all-DK98dFQa.js +498 -0
  560. package/dist/status-json-OEukc0cF.js +14 -0
  561. package/dist/status-json-command-BWv0zt8E.js +82 -0
  562. package/dist/status-runtime-shared-DBMTXWTZ.js +241 -0
  563. package/dist/status-subagents.runtime-VTEVgOJj.js +18 -0
  564. package/dist/status-subagents.runtime.js +1 -1
  565. package/dist/status-text-Cx0Esdj6.js +237 -0
  566. package/dist/status-xjF4vxou.js +2 -0
  567. package/dist/status.gateway-connection.runtime-BT6XfoLV.js +2 -0
  568. package/dist/status.gateway-connection.runtime.js +1 -1
  569. package/dist/status.gather-CF5qlFAG.js +292 -0
  570. package/dist/status.gather-L0QGMaC4.js +2 -0
  571. package/dist/status.runtime-DYi_nOHT.js +2 -0
  572. package/dist/status.runtime.js +1 -1
  573. package/dist/status.scan-CflamBc9.js +65 -0
  574. package/dist/status.scan-overview-pGpvYksm.js +379 -0
  575. package/dist/status.scan.fast-json-BbMvHncK.js +132 -0
  576. package/dist/status.scan.fast-json-D39u21tI.js +2 -0
  577. package/dist/status.summary-CKh5Legf.js +2 -0
  578. package/dist/status.summary-DVdS-4Fj.js +200 -0
  579. package/dist/subagent-announce-Df9ABEaq.js +351 -0
  580. package/dist/subagent-announce-delivery-B5xYlVwu.js +726 -0
  581. package/dist/subagent-announce-output-JQ-I1Kmk.js +364 -0
  582. package/dist/subagent-control-CMaKDVuG.js +506 -0
  583. package/dist/subagent-followup.runtime-Be2c3jkr.js +68 -0
  584. package/dist/subagent-followup.runtime.js +1 -1
  585. package/dist/subagent-orphan-recovery-B4jHKSis.js +305 -0
  586. package/dist/subagent-registry-CjLI6fcV.js +3 -0
  587. package/dist/subagent-registry-CruvknDh.js +1753 -0
  588. package/dist/subagent-registry.runtime.js +1 -1
  589. package/dist/subagent-spawn-C-9kmYik.js +1005 -0
  590. package/dist/system-cli-Cmv7YV3z.js +43 -0
  591. package/dist/targets-DGdlJYMl.js +67 -0
  592. package/dist/task-executor-DbusuL0w.js +360 -0
  593. package/dist/task-owner-access-DNC_BT5l.js +74 -0
  594. package/dist/task-registry-CKDRlfmp.js +2357 -0
  595. package/dist/task-registry-delivery-runtime-DX6tjuwQ.js +3 -0
  596. package/dist/task-registry-delivery-runtime-Ge4fS1Fa.js +2 -0
  597. package/dist/task-registry.maintenance-DhjCTf6L.js +416 -0
  598. package/dist/task-registry.maintenance-DyX6m_7s.js +2 -0
  599. package/dist/telegram/token.js +1 -1
  600. package/dist/testing-BecnXPE0.js +575 -0
  601. package/dist/text-report-BW3t_i75.js +549 -0
  602. package/dist/tool-resolution-BRHtzc7Q.js +90 -0
  603. package/dist/tools-effective-inventory-CLJ3nPbB.js +152 -0
  604. package/dist/tools-invoke-http-DWbJzMo3.js +206 -0
  605. package/dist/trash-CvOmDpdP.js +24 -0
  606. package/dist/tui-cli-BuQzKTYR.js +4585 -0
  607. package/dist/update-cli-DB-VQaie.js +1759 -0
  608. package/dist/upgrade-DPhvhHXF.js +1226 -0
  609. package/dist/video-generation-task-status-DWUrjc4T.js +163 -0
  610. package/dist/wait-for-idle-before-flush-BBwcUWtb.js +5985 -0
  611. package/dist/wizard-models-B5HIywox.js +334 -0
  612. package/package.json +1 -1
  613. package/dist/abort-DUTWX49H.js +0 -201
  614. package/dist/abort.runtime-B1CZPj3m.js +0 -2
  615. package/dist/accounts-DFJuQd32.js +0 -107
  616. package/dist/accounts-VbCry_MV.js +0 -104
  617. package/dist/accounts-ZduaK0fO.js +0 -2
  618. package/dist/acp-cli-Cyqn8a7z.js +0 -2217
  619. package/dist/acp-spawn-B1O0qwkN.js +0 -2
  620. package/dist/acp-spawn-C2eEj7wR.js +0 -1042
  621. package/dist/acp-stateful-target-driver-BKL2flGw.js +0 -89
  622. package/dist/action-agents-C9zs0A_N.js +0 -67
  623. package/dist/action-focus-Dj2trHbP.js +0 -132
  624. package/dist/action-help-ENFS-VRC.js +0 -7
  625. package/dist/action-info-IKxta-Me.js +0 -101
  626. package/dist/action-kill-CJGjsHX-.js +0 -33
  627. package/dist/action-list-ChLdMXon.js +0 -21
  628. package/dist/action-log-CdeugqCO.js +0 -30
  629. package/dist/action-send-BvUjnmVw.js +0 -39
  630. package/dist/action-spawn-Xq0DpbW7.js +0 -47
  631. package/dist/action-unfocus-DfcihOhT.js +0 -29
  632. package/dist/actions.runtime-CTjuTpQ1.js +0 -18
  633. package/dist/actions.runtime-Dp93aqpg.js +0 -5
  634. package/dist/agent-DQZeYp3u.js +0 -2
  635. package/dist/agent-command-CynPQd5_.js +0 -874
  636. package/dist/agent-harness-runtime-D9PrghSe.js +0 -144
  637. package/dist/agent-runner-utils-CwDT31Pp.js +0 -239
  638. package/dist/agent-runner.runtime-kH3GCoKg.js +0 -3443
  639. package/dist/agent-runtime-BSwK1sup.js +0 -18
  640. package/dist/agents-C9BmPj-C.js +0 -954
  641. package/dist/agents-CQQ7cNF9.js +0 -5
  642. package/dist/aliases-B92uAzO2.js +0 -2
  643. package/dist/aliases-BZsZGqVQ.js +0 -96
  644. package/dist/api-CU22wCTp.js +0 -139
  645. package/dist/api-DD_eTeli.js +0 -5
  646. package/dist/api-sngIL0OQ.js +0 -3
  647. package/dist/approval-gateway-resolver-KouhItZO.js +0 -29
  648. package/dist/approval-gateway-runtime-D7CzOIgq.js +0 -2
  649. package/dist/approval-handler-runtime-CFvI_pZS.js +0 -439
  650. package/dist/approval-native-runtime-rl6s6chH.js +0 -729
  651. package/dist/attempt-execution.runtime-Ba87IenS.js +0 -509
  652. package/dist/attempt.prompt-helpers-BbBNMjqU.js +0 -206
  653. package/dist/attempt.tool-run-context-CLlg_9Gq.js +0 -933
  654. package/dist/audit-CQJwJFWH.js +0 -939
  655. package/dist/audit.runtime-CW5CY88A.js +0 -7
  656. package/dist/auth-DFhah4e4.js +0 -2
  657. package/dist/auth-order-CMWxvLX4.js +0 -2
  658. package/dist/auth-order-D6mEMqD7.js +0 -139
  659. package/dist/auth-s-3q__5n.js +0 -550
  660. package/dist/bash-tools-BCSXSkhx.js +0 -2853
  661. package/dist/bash-tools-D2NO8-ph.js +0 -3
  662. package/dist/binding-routing-DROXsDQk.js +0 -85
  663. package/dist/binding-targets-D33MkugL.js +0 -121
  664. package/dist/bridge-server-3gO7JmL_.js +0 -113
  665. package/dist/browser-control-auth-DS3Wwm1z.js +0 -2
  666. package/dist/browser-node-runtime-DkVkb3tt.js +0 -12
  667. package/dist/browser-profiles-Bk9dcXzv.js +0 -2
  668. package/dist/browser-runtime-dGM3ZeLa.js +0 -387
  669. package/dist/browser-setup-tools-DSgChJEe.js +0 -13
  670. package/dist/build-CjLf_jQl.js +0 -550
  671. package/dist/call-BxIEVH5N.js +0 -3
  672. package/dist/call-Dwj7PrNe.js +0 -330
  673. package/dist/call.runtime-mZvFxL4G.js +0 -2
  674. package/dist/capability-cli-C-6omBAD.js +0 -1401
  675. package/dist/catchup-Dfw4DEMS.js +0 -300
  676. package/dist/channel-4YVnFcIj.js +0 -297
  677. package/dist/channel-BajDSspb.js +0 -1320
  678. package/dist/channel-BcS5ghfF.js +0 -840
  679. package/dist/channel-BlU_cVm0.js +0 -491
  680. package/dist/channel-BmZ19q9d.js +0 -453
  681. package/dist/channel-C4KfOdTm.js +0 -226
  682. package/dist/channel-C7LNJi1M.js +0 -595
  683. package/dist/channel-CFxTIjzU.js +0 -1174
  684. package/dist/channel-CYDnIh3Z.js +0 -350
  685. package/dist/channel-DBUj2Ysq.js +0 -1802
  686. package/dist/channel-DwWdEu7o.js +0 -1100
  687. package/dist/channel-core-VlXrdyfV.js +0 -5
  688. package/dist/channel-inbound-BzALE-tz.js +0 -31
  689. package/dist/channel-plugin-runtime-BMmEKuoC.js +0 -771
  690. package/dist/channel-runtime-BZXgyMUr.js +0 -425
  691. package/dist/channel.runtime-2Kw88P7w.js +0 -576
  692. package/dist/channel.runtime-Bwnky7Bn.js +0 -2364
  693. package/dist/channel.runtime-CDvvT7UR.js +0 -4
  694. package/dist/channel.runtime-CgP4n1an.js +0 -430
  695. package/dist/channel.runtime-MJe9DoSG.js +0 -89
  696. package/dist/channel.runtime-f0WEEj3o.js +0 -42398
  697. package/dist/channel.setup-DaZBK_2E.js +0 -10
  698. package/dist/channel2.runtime-CfVIjEhU.js +0 -109
  699. package/dist/channels-Bq1GXmZX.js +0 -733
  700. package/dist/channels-cli-DzbssQ5L.js +0 -268
  701. package/dist/chat-CNZDzOWR.js +0 -2830
  702. package/dist/clawbot-cli-UIo3UVaj.js +0 -9
  703. package/dist/cli-BVKDWfwH.js +0 -72
  704. package/dist/cli-Bp52OQjs.js +0 -219
  705. package/dist/cli-C_289Xdv.js +0 -2
  706. package/dist/cli-kOop_NSN.js +0 -2
  707. package/dist/cli-runner-CP51WTPf.js +0 -286
  708. package/dist/cli-runner.runtime-BtArNV63.js +0 -4
  709. package/dist/cli-runner.runtime-Dy1IJ7UX.js +0 -3
  710. package/dist/cli.runtime-2ilydgLb.js +0 -1261
  711. package/dist/client-BN8cDQr7.js +0 -723
  712. package/dist/client-Doc6u1up.js +0 -138
  713. package/dist/command-auth-oo_Iz0oe.js +0 -76
  714. package/dist/command-config-resolution-BNQbV_C6.js +0 -23
  715. package/dist/command-config-resolution-DIvkjwvj.js +0 -2
  716. package/dist/command-config-resolution.runtime-Dlk7LIJ8.js +0 -2
  717. package/dist/command-registry-Dm8ohcSP.js +0 -4
  718. package/dist/command-registry-core-BxyHXEQ3.js +0 -106
  719. package/dist/command-registry-xVmA85-_.js +0 -9
  720. package/dist/command-secret-gateway-Dej2E5rP.js +0 -528
  721. package/dist/command-status.runtime-CWgNMJi1.js +0 -87
  722. package/dist/commands-acp-Ca0l7esb.js +0 -77
  723. package/dist/commands-compact.runtime-DBN1EALw.js +0 -10
  724. package/dist/commands-handlers.runtime-BrCljWio.js +0 -4599
  725. package/dist/commands-status-C0WYf99K.js +0 -16
  726. package/dist/commands-status.runtime-Czim-9LY.js +0 -3
  727. package/dist/commands-subagents-control.runtime-CgiW2mpD.js +0 -3
  728. package/dist/commands-subagents-control.runtime-oCqEcwa7.js +0 -2
  729. package/dist/commands-system-prompt-BQHZNtSZ.js +0 -157
  730. package/dist/commands-system-prompt-ClJDN8rr.js +0 -2
  731. package/dist/commands.runtime-DwmtsbUc.js +0 -167
  732. package/dist/compact-DDf0xr2o.js +0 -1096
  733. package/dist/compact.runtime-C4BZuDjJ.js +0 -12
  734. package/dist/completion-cli-85iaysB7.js +0 -328
  735. package/dist/config-CHPRDFh1.js +0 -252
  736. package/dist/config-cli-DSZ7DNtq.js +0 -1078
  737. package/dist/configure-BR6m0uoi.js +0 -1252
  738. package/dist/configure-CC09fyLr.js +0 -2
  739. package/dist/connect-options-HotLjDKX.js +0 -699
  740. package/dist/control-auth-CBtOUnsz.js +0 -125
  741. package/dist/control-service-D2A1PyZC.js +0 -156
  742. package/dist/control-ui/assets/agents-7cSPVJV0.js +0 -1125
  743. package/dist/control-ui/assets/canvas-IIhBIoAa.js +0 -274
  744. package/dist/control-ui/assets/channels-B4MTYg8u.js +0 -198
  745. package/dist/control-ui/assets/contacts-CSch1ckf.js +0 -49
  746. package/dist/control-ui/assets/cron-B548qeSj.js +0 -250
  747. package/dist/control-ui/assets/debug-DERT6TQG.js +0 -94
  748. package/dist/control-ui/assets/index-C2CxJps0.js +0 -5981
  749. package/dist/control-ui/assets/instances-DwteyRRi.js +0 -57
  750. package/dist/control-ui/assets/mcp-z76x2vB5.js +0 -380
  751. package/dist/control-ui/assets/memory-CsTbP2T4.js +0 -50
  752. package/dist/control-ui/assets/memory-graph-DbZEkTHJ.js +0 -30
  753. package/dist/control-ui/assets/models-j_tXq7Pe.js +0 -86
  754. package/dist/control-ui/assets/nodes-cxO9Enln.js +0 -654
  755. package/dist/control-ui/assets/plugins-Rt--bQFn.js +0 -259
  756. package/dist/control-ui/assets/presenter-BiJsRhTg.js +0 -2
  757. package/dist/control-ui/assets/sessions-CP6r0JAQ.js +0 -56
  758. package/dist/control-ui/assets/skills-CMy2whFb.js +0 -294
  759. package/dist/control-ui/assets/wallet-geRdfgso.js +0 -302
  760. package/dist/conversation-id-BwNpVXFJ.js +0 -235
  761. package/dist/conversation-id-CTAeVE9E.js +0 -38
  762. package/dist/conversation-runtime-D6miDW4s.js +0 -31
  763. package/dist/core-CYaV0wrq.js +0 -275
  764. package/dist/cron-cli-BZacbTRu.js +0 -713
  765. package/dist/daemon-cli-BXtGpvAS.js +0 -12
  766. package/dist/dashboard-Ds7c6TJm.js +0 -2
  767. package/dist/dashboard-s1prqGuB.js +0 -81
  768. package/dist/delegate-nycMaKrd.js +0 -64
  769. package/dist/detached-task-runtime-DXFEjX_Y.js +0 -73
  770. package/dist/devices-cli-B2T4Rk-c.js +0 -498
  771. package/dist/diagnostics-669Ookpz.js +0 -154
  772. package/dist/direct-dm-Bwx0l0B5.js +0 -64
  773. package/dist/dispatch-CVFq_KHF.js +0 -1131
  774. package/dist/dispatch-acp-AeVrqG1P.js +0 -981
  775. package/dist/dispatch-acp-manager.runtime-t90xTijh.js +0 -3
  776. package/dist/dispatch-acp.runtime-CLS-txJr.js +0 -19
  777. package/dist/doctor-device-pairing-rAiSum7F.js +0 -307
  778. package/dist/doctor-gateway-daemon-flow-BYlbRkfE.js +0 -250
  779. package/dist/doctor-gateway-health-DGaad6OP.js +0 -63
  780. package/dist/doctor-health-contributions-CYangAn3.js +0 -493
  781. package/dist/doctor-health-woICf2XW.js +0 -59
  782. package/dist/doctor-prompter-oNxd62XO.js +0 -56
  783. package/dist/doctor-workspace-status-DrOqBwKh.js +0 -75
  784. package/dist/dreaming-narrative-SeHukrla.js +0 -596
  785. package/dist/dreaming-qiznoCiH.js +0 -1582
  786. package/dist/embedded-gateway-stub.runtime-BiCMn9tm.js +0 -9
  787. package/dist/exec-approvals-cli-BK9WM7tB.js +0 -498
  788. package/dist/fallbacks-BHahSac7.js +0 -31
  789. package/dist/fallbacks-CDP89dtv.js +0 -2
  790. package/dist/fallbacks-shared-h_ZN8Ugk.js +0 -111
  791. package/dist/gateway-ClYGJe6R.js +0 -115
  792. package/dist/gateway-cli-D5OEgdCv.js +0 -1283
  793. package/dist/gateway-rpc-Dk_z0RTG.js +0 -14
  794. package/dist/gateway-rpc.runtime-DcDI0Hq7.js +0 -23
  795. package/dist/gateway-runtime-BpOf_2ps.js +0 -15
  796. package/dist/gateway-status-BfT8gHrq.js +0 -584
  797. package/dist/genesis-tools-Dn3v15Cu.js +0 -9435
  798. package/dist/genesis-tools.runtime-BUKXOBx4.js +0 -2
  799. package/dist/get-reply-BOvlxgUu.js +0 -3946
  800. package/dist/get-reply-from-config.runtime-Cl8vSh_k.js +0 -2
  801. package/dist/graph-users-DvflifYV.js +0 -1337
  802. package/dist/health-B2xJjrkJ.js +0 -3
  803. package/dist/health-CWa-e_Y6.js +0 -420
  804. package/dist/health-route-CzxBmoPR.js +0 -41
  805. package/dist/health-route-Dhbg2HGJ.js +0 -2
  806. package/dist/hooks-cli-B08Wk2kj.js +0 -433
  807. package/dist/image-fallbacks-DPTpHhw_.js +0 -2
  808. package/dist/image-fallbacks-DrcfSUln.js +0 -31
  809. package/dist/inbound-reply-dispatch-D2K6Anyc.js +0 -73
  810. package/dist/infra-runtime-Pu3jXc5f.js +0 -38
  811. package/dist/init-B2qJ52Z_.js +0 -59
  812. package/dist/library-JmPoINsm.js +0 -45
  813. package/dist/lifecycle-BRey6jez.js +0 -229
  814. package/dist/lifecycle-CvJT6tH9.js +0 -571
  815. package/dist/lifecycle.runtime-DJuQgwAu.js +0 -2
  816. package/dist/list-0KYh_6xs.js +0 -131
  817. package/dist/list-B1iP8wTX.js +0 -2
  818. package/dist/list-CewinhHi.js +0 -1212
  819. package/dist/list-DPm9exQP.js +0 -2
  820. package/dist/list.probe-M4jUIgk8.js +0 -419
  821. package/dist/llm-slug-generator-CQiB4f0s.js +0 -79
  822. package/dist/load-config-oEWSSW5T.js +0 -35
  823. package/dist/local-dispatch.runtime-rI2L9gZz.js +0 -8
  824. package/dist/logs-cli-qUQbKPpd.js +0 -265
  825. package/dist/logs-cli.runtime-DZwxYUL2.js +0 -2
  826. package/dist/main-session-restart-recovery-Dw8zndAD.js +0 -206
  827. package/dist/managed-image-attachments-B_835Hjd.js +0 -635
  828. package/dist/managed-image-attachments-Dp_0diDL.js +0 -2
  829. package/dist/manager-CRmLomjS.js +0 -2
  830. package/dist/manager-yTOglQEH.js +0 -2057
  831. package/dist/markdown-to-line-D6Y5rN1y.js +0 -790
  832. package/dist/mcp-cli-DZi-FzRz.js +0 -725
  833. package/dist/mcp-http-DaXlqh6n.js +0 -529
  834. package/dist/memory-core-host-runtime-cli-K2SeZLMj.js +0 -9
  835. package/dist/message-Bk0q8DmN.js +0 -232
  836. package/dist/message-action-runner-BIi8DCoo.js +0 -2
  837. package/dist/message-action-runner-CmhjNg6K.js +0 -1407
  838. package/dist/message-actions-BDXFXc2E.js +0 -143
  839. package/dist/message.gateway.runtime-fPnMn6QV.js +0 -2
  840. package/dist/models-auth-status-0xcMbBhB.js +0 -217
  841. package/dist/models-cli-DuQZ09TC.js +0 -271
  842. package/dist/monitor-2KbmBvHU.js +0 -2
  843. package/dist/monitor-B2yQJkAh.js +0 -1459
  844. package/dist/monitor-CD4mrtqF.js +0 -1661
  845. package/dist/monitor-CJ6A4Ro2.js +0 -788
  846. package/dist/monitor-D19pDt5p.js +0 -1237
  847. package/dist/monitor-GQtwMpZn.js +0 -671
  848. package/dist/monitor-auth-DJ9S4EQV.js +0 -207
  849. package/dist/monitor-processing-BMv5voti.js +0 -1974
  850. package/dist/monitor.runtime-GizvASio.js +0 -2
  851. package/dist/monitor.webhook-DzvH3io8.js +0 -180
  852. package/dist/msteams-7Jx25GW4.js +0 -35
  853. package/dist/native-hook-relay-DwgVW-el.js +0 -519
  854. package/dist/nextcloud-talk-gXnN0EKl.js +0 -17
  855. package/dist/node-cli-Bd8iT-US.js +0 -2276
  856. package/dist/nodes-cli-xAd3vxyV.js +0 -1046
  857. package/dist/nodes-utils-qg-Bmmy5.js +0 -84
  858. package/dist/nodes.helpers-B42Vi8VW.js +0 -34
  859. package/dist/notify-DArpzHFF.js +0 -315
  860. package/dist/onboard-DKr9c-h5.js +0 -70
  861. package/dist/onboard-f_tqlGVL.js +0 -2
  862. package/dist/onboard-helpers-Begz93UO.js +0 -6
  863. package/dist/onboard-helpers-Di14BUn2.js +0 -204
  864. package/dist/onboard-interactive-DjJo_FLY.js +0 -24
  865. package/dist/onboard-non-interactive-CgxwxSiw.js +0 -635
  866. package/dist/onboard-remote-BhcRxYvn.js +0 -2
  867. package/dist/onboard-remote-CEeT7hEZ.js +0 -193
  868. package/dist/onboard-skills-CTTUg6pf.js +0 -134
  869. package/dist/onboard-skills-DWTbOfH1.js +0 -2
  870. package/dist/openai-http-C2-8VSih.js +0 -500
  871. package/dist/openresponses-http-DgsTPUc1.js +0 -1128
  872. package/dist/operator-approvals-client-D1R6aLFV.js +0 -68
  873. package/dist/outbound.runtime-DDAlqr2n.js +0 -2
  874. package/dist/pair-command-approve-BqXU_u3_.js +0 -44
  875. package/dist/persistent-bindings.lifecycle-0cee5HeB.js +0 -85
  876. package/dist/persistent-bindings.lifecycle-DTgwTu9k.js +0 -2
  877. package/dist/pi-embedded-BMKZLrrD.js +0 -2905
  878. package/dist/pi-embedded-C1_8L609.js +0 -4
  879. package/dist/pi-embedded.runtime-CEcUCfnu.js +0 -4
  880. package/dist/pi-tool-definition-adapter-B1q4cAB_.js +0 -229
  881. package/dist/pi-tools-CE3UX10v.js +0 -1118
  882. package/dist/pi-tools.before-tool-call-BsMfbO7W.js +0 -433
  883. package/dist/pi-tools.before-tool-call-DGY-rj-6.js +0 -2
  884. package/dist/plugin-dDMX1n9i.js +0 -12195
  885. package/dist/plugin-enabled-CCcxlblr.js +0 -140
  886. package/dist/plugin-registration-CTIg2xi-.js +0 -23
  887. package/dist/plugin-service-Byv2yfiX.js +0 -2893
  888. package/dist/policy-BK0iZFZM.js +0 -328
  889. package/dist/prepare.runtime-BMtgLZl1.js +0 -807
  890. package/dist/probe-Bj3sjcpc.js +0 -2205
  891. package/dist/probe-C6wNv6c4.js +0 -74
  892. package/dist/probe-CM5o3wKp.js +0 -240
  893. package/dist/probe-D3D0RoQl.js +0 -45
  894. package/dist/probe-DlY3dg7v.js +0 -2
  895. package/dist/probe-TN3P-dCa.js +0 -2
  896. package/dist/probe-pZ61Idl1.js +0 -1443
  897. package/dist/program-TZ54mZzH.js +0 -111
  898. package/dist/prompt-select-styled-DFXPq9zJ.js +0 -20
  899. package/dist/protocol-CWEBsZbG.js +0 -2515
  900. package/dist/provider-dispatcher-9FnI26kR.js +0 -2
  901. package/dist/provider-dispatcher-D30lsDyd.js +0 -22
  902. package/dist/qr-cli-CoEq74Fu.js +0 -2
  903. package/dist/qr-cli-DxaXK8T4.js +0 -349
  904. package/dist/reaction-runtime-api-CGWfmWqF.js +0 -116
  905. package/dist/reactions-D1tny1P_.js +0 -998
  906. package/dist/register-service-commands-D5181r0Q.js +0 -71
  907. package/dist/register.agent-DWwOD6q5.js +0 -248
  908. package/dist/register.configure-CZx6uXuU.js +0 -15
  909. package/dist/register.maintenance-1yV569VU.js +0 -363
  910. package/dist/register.message-DqosH9zI.js +0 -329
  911. package/dist/register.onboard-DBa5bh4F.js +0 -88
  912. package/dist/register.runtime-AUXvOvfy.js +0 -81
  913. package/dist/register.setup-1k0y27Bf.js +0 -150
  914. package/dist/register.status-health-sessions-3SuqckJe.js +0 -1215
  915. package/dist/register.subclis-1vwiREuy.js +0 -3
  916. package/dist/register.subclis-core-CoUcH7R2.js +0 -249
  917. package/dist/register.subclis-d6Uoake0.js +0 -29
  918. package/dist/reply-dispatch-runtime-B2jwG-ti.js +0 -13
  919. package/dist/reply-runtime-BvyACHP_.js +0 -10
  920. package/dist/reply.runtime-B76FIMUm.js +0 -2
  921. package/dist/restart-health-C1m4VgKE.js +0 -2
  922. package/dist/restart-health-CSxm-1Te.js +0 -202
  923. package/dist/root-help-Cw7ovqRO.js +0 -44
  924. package/dist/routes-B9j5MeTj.js +0 -2
  925. package/dist/routes-BCJWRxzD.js +0 -3341
  926. package/dist/rpc-_zAZRj2-.js +0 -61
  927. package/dist/rpc.runtime-C3rwvN8O.js +0 -21
  928. package/dist/run-delivery.runtime-CXmj98lV.js +0 -530
  929. package/dist/run-embedded.runtime-yli8ukW0.js +0 -4
  930. package/dist/run-execution-cli.runtime-CjDLajis.js +0 -4
  931. package/dist/run-executor.runtime-SwHBKuy1.js +0 -277
  932. package/dist/run-main-DPHpfv1y.js +0 -567
  933. package/dist/run-subagent-registry.runtime-CWv2s5wn.js +0 -2
  934. package/dist/run-wait-CpSEiESO.js +0 -135
  935. package/dist/runtime-CMHLmvAl.js +0 -961
  936. package/dist/runtime-api-CLkOuqkP.js +0 -4
  937. package/dist/runtime-api-DgKObkOQ.js +0 -9
  938. package/dist/runtime-api-bWUB21Eg.js +0 -9
  939. package/dist/runtime-api-rryD3LXE.js +0 -14
  940. package/dist/runtime-embedded-pi.runtime-DuHPAbVt.js +0 -2
  941. package/dist/runtime-fF-k_rB8.js +0 -9
  942. package/dist/runtime-internal-By95Az_F.js +0 -2
  943. package/dist/runtime-options-BsxnM5Yt.js +0 -275
  944. package/dist/runtime-schema-P9TAqWy1.js +0 -28599
  945. package/dist/scan-CKfozblZ.js +0 -2
  946. package/dist/scan-CVwpGz6x.js +0 -523
  947. package/dist/secrets-cli-pXjlA7bi.js +0 -2101
  948. package/dist/security-cli-ChIBksL4.js +0 -486
  949. package/dist/selection-CIX2NWC3.js +0 -7743
  950. package/dist/selection-FiKxtpP7.js +0 -2
  951. package/dist/send-13tmI7yl.js +0 -102
  952. package/dist/send-BudgB3Xv.js +0 -156
  953. package/dist/send.runtime-CWWkq3eQ.js +0 -2
  954. package/dist/server-CRbNiI2L.js +0 -13
  955. package/dist/server-DPwckotj.js +0 -77
  956. package/dist/server-context-DnmrGIHL.js +0 -847
  957. package/dist/server-context-GFvl1Fa1.js +0 -2
  958. package/dist/server-node-events-Boy823tY.js +0 -474
  959. package/dist/server-plugin-bootstrap-BEm4d2by.js +0 -2
  960. package/dist/server-plugin-bootstrap-BLp3Ri_D.js +0 -13355
  961. package/dist/server-restart-sentinel-D1dhBlz5.js +0 -684
  962. package/dist/server.impl-CuEQ_ANR.js +0 -12790
  963. package/dist/session-kill-http-CKkRPXTD.js +0 -110
  964. package/dist/session-reset-service-BI9uiJ1F.js +0 -497
  965. package/dist/session-route-Dy5b9CbY.js +0 -93
  966. package/dist/session-status.runtime-HByTPp-H.js +0 -2
  967. package/dist/session-subagent-reactivation.runtime-BOWBAfyc.js +0 -2
  968. package/dist/session-tab-registry-Ce31KjnI.js +0 -581
  969. package/dist/session-visibility-BB6i8ptT.js +0 -147
  970. package/dist/sessions-helpers-DYP9dapI.js +0 -305
  971. package/dist/sessions-history-http-j8ZxsBAn.js +0 -371
  972. package/dist/sessions-patch-D4ye8mVh.js +0 -309
  973. package/dist/sessions-resolve-Bi2bj6c-.js +0 -174
  974. package/dist/sessions.runtime-VkodyiYI.js +0 -2
  975. package/dist/setup-api-6GX_eeAs.js +0 -29
  976. package/dist/setup-core-BGUg4eV0.js +0 -171
  977. package/dist/setup-core-CpfGqHuS.js +0 -176
  978. package/dist/setup-hFAlSbTL.js +0 -636
  979. package/dist/setup-surface-DSvYQ0Mf.js +0 -219
  980. package/dist/setup-surface-DT8l0x7M.js +0 -403
  981. package/dist/setup-surface-gdmDKJFO.js +0 -286
  982. package/dist/setup.finalize-m_UzKyZ2.js +0 -547
  983. package/dist/setup.gateway-config-DHQ8eaxx.js +0 -250
  984. package/dist/shared-BY5yIWjE.js +0 -198
  985. package/dist/shared-BtY5n-4U.js +0 -76
  986. package/dist/shared-DPf8cDHL.js +0 -121
  987. package/dist/slash-state-j62N8ife.js +0 -1911
  988. package/dist/src-BYHA6DRU.js +0 -3974
  989. package/dist/startup-context-DZml_gZY.js +0 -312
  990. package/dist/status-BCr0D4CJ.js +0 -2
  991. package/dist/status-Bi8EbpXB.js +0 -395
  992. package/dist/status-CPAE20nX.js +0 -209
  993. package/dist/status-D-wIma3c.js +0 -3
  994. package/dist/status-DLmFJkIX.js +0 -2
  995. package/dist/status-DhpFLjkt.js +0 -190
  996. package/dist/status-all-AuiqtGQ-.js +0 -498
  997. package/dist/status-json-BUhA_seV.js +0 -14
  998. package/dist/status-json-command-Dk8RVvC9.js +0 -82
  999. package/dist/status-runtime-shared-BK7fklEl.js +0 -241
  1000. package/dist/status-subagents.runtime-DkMpqnmP.js +0 -18
  1001. package/dist/status-text-D71CoS-s.js +0 -237
  1002. package/dist/status.gateway-connection.runtime-wWu8Kvt4.js +0 -2
  1003. package/dist/status.gather-BlSA6D3i.js +0 -292
  1004. package/dist/status.gather-akCtNgln.js +0 -2
  1005. package/dist/status.runtime-tPHKyqSk.js +0 -2
  1006. package/dist/status.scan-GF1UDZAB.js +0 -65
  1007. package/dist/status.scan-overview-D1tTMWSi.js +0 -379
  1008. package/dist/status.scan.fast-json-CoLBFhFk.js +0 -132
  1009. package/dist/status.scan.fast-json-K69bqOGh.js +0 -2
  1010. package/dist/status.summary-Bxh5WwsL.js +0 -200
  1011. package/dist/status.summary-Cyr9PxeP.js +0 -2
  1012. package/dist/subagent-announce-Dw7-i1-9.js +0 -351
  1013. package/dist/subagent-announce-delivery-HYpoItCd.js +0 -726
  1014. package/dist/subagent-announce-output-C7rcYYEc.js +0 -364
  1015. package/dist/subagent-control-Ds2GYpWL.js +0 -506
  1016. package/dist/subagent-followup.runtime-Cd8hCztp.js +0 -68
  1017. package/dist/subagent-orphan-recovery-BgjubPqf.js +0 -305
  1018. package/dist/subagent-registry-CgpGD3GV.js +0 -1753
  1019. package/dist/subagent-registry-DxdVLcdG.js +0 -3
  1020. package/dist/subagent-spawn-BWBNndsp.js +0 -1005
  1021. package/dist/system-cli-DyBkQUQb.js +0 -43
  1022. package/dist/targets-BadrXaG2.js +0 -67
  1023. package/dist/task-executor-C7Wi33fD.js +0 -360
  1024. package/dist/task-owner-access-yQv8xMco.js +0 -74
  1025. package/dist/task-registry-W5mFPlZX.js +0 -2357
  1026. package/dist/task-registry-delivery-runtime-cBNSvuGT.js +0 -3
  1027. package/dist/task-registry-delivery-runtime-cJvq2BuY.js +0 -2
  1028. package/dist/task-registry.maintenance-Buzo501v.js +0 -2
  1029. package/dist/task-registry.maintenance-pJMW_7Am.js +0 -416
  1030. package/dist/testing-Dw49ltmR.js +0 -575
  1031. package/dist/text-report-CtyXY05r.js +0 -549
  1032. package/dist/tool-resolution-BcUPtTtu.js +0 -90
  1033. package/dist/tools-effective-inventory-CL0grjv4.js +0 -152
  1034. package/dist/tools-invoke-http-BZ8xqe0f.js +0 -206
  1035. package/dist/trash-B6l1GwX9.js +0 -24
  1036. package/dist/tui-cli-BCn5UWwT.js +0 -4585
  1037. package/dist/update-cli-D8bMov5W.js +0 -1759
  1038. package/dist/upgrade-iRXz6ZP4.js +0 -1226
  1039. package/dist/video-generation-task-status-ESf4kR6F.js +0 -163
  1040. package/dist/wait-for-idle-before-flush-C-_kVutK.js +0 -5985
  1041. package/dist/wizard-models-jPGu0o7K.js +0 -334
@@ -1,1237 +0,0 @@
1
- import { c as normalizeOptionalString } from "./string-coerce-DPP_aYVc.js";
2
- import { u as normalizeE164 } from "./utils-CWrkFsp0.js";
3
- import { t as createNonExitingRuntime } from "./runtime-DDkDH9fa.js";
4
- import { a as shouldLogVerbose, r as logVerbose, t as danger } from "./globals-wYf9_gv5.js";
5
- import { s as normalizeStringEntries } from "./string-normalization-Bsx26hdl.js";
6
- import { a as loadConfig } from "./io-Cy5vajWd.js";
7
- import { n as fireAndForgetHook } from "./fire-and-forget-8fCMxRxR.js";
8
- import { m as triggerInternalHook, n as createInternalHookEvent } from "./internal-hooks-BMLHhb7n.js";
9
- import { i as resolveHumanDelayConfig } from "./identity-BbTjMz-I.js";
10
- import { u as resolveStorePath } from "./paths-CiRFr3OE.js";
11
- import { n as readSessionUpdatedAt } from "./store-tuisxHpf.js";
12
- import { n as sleepWithAbort, t as computeBackoff } from "./backoff-CCS8QGr9.js";
13
- import { s as kindFromMime, t as detectMime } from "./mime-uYFJ8ocK.js";
14
- import { n as estimateBase64DecodedBytes } from "./base64-CQYUtMPj.js";
15
- import { i as deliverTextOrMediaReply, m as resolveSendableOutboundReplyParts } from "./reply-payload-CWBVBJ1c.js";
16
- import { i as enqueueSystemEvent } from "./system-events-DEhWwh94.js";
17
- import { l as saveMediaBuffer } from "./store-Il9HLBFt.js";
18
- import { n as resolveChannelGroupRequireMention, t as resolveChannelGroupPolicy } from "./group-policy-C6j1iFoy.js";
19
- import { c as resolveTextChunkLimit, o as chunkTextWithMode, s as resolveChunkMode } from "./chunk-DNCIrobv.js";
20
- import { i as toInternalMessageReceivedContext } from "./message-hook-mappers-C27ptA72.js";
21
- import { i as resolveAgentRoute } from "./resolve-route-DANUDWzO.js";
22
- import "./text-runtime-DVUvIDNC.js";
23
- import "./routing-C4eysASR.js";
24
- import { t as hasControlCommand } from "./command-detection-B7TB9nw5.js";
25
- import { a as createReplyDispatcherWithTyping, t as dispatchInboundMessage } from "./dispatch-CVFq_KHF.js";
26
- import { t as finalizeInboundContext } from "./inbound-context-DJVMrgDz.js";
27
- import { a as resolveEnvelopeFormatOptions, i as formatInboundFromLabel, r as formatInboundEnvelope } from "./envelope-pVilMBD8.js";
28
- import { n as buildMentionRegexes, r as matchesMentionPatterns } from "./mentions-DLBObkkw.js";
29
- import { n as resolveControlCommandGate } from "./command-gating-DK3daq-x.js";
30
- import { n as resolveInboundMentionDecision } from "./mention-gating-DK2KrT0w.js";
31
- import { t as recordInboundSession } from "./session-DQK4G2N-.js";
32
- import { d as upsertChannelPairingRequest } from "./pairing-store-T3f7yIx-.js";
33
- import { a as warnMissingProviderGroupPolicyFallbackOnce, n as resolveAllowlistProviderRuntimeGroupPolicy, r as resolveDefaultGroupPolicy } from "./runtime-group-policy-BNbazEBq.js";
34
- import { c as resolvePinnedMainDmOwnerFromAllowlist, n as readStoreAllowFromForDmPolicy, o as resolveDmGroupAccessWithLists, t as DM_GROUP_ACCESS_REASON } from "./dm-policy-shared-6bTNkZt-.js";
35
- import { a as buildPendingHistoryContextFromMap, s as clearHistoryEntriesIfEnabled, u as recordPendingHistoryEntryIfEnabled } from "./history-C378qdHW.js";
36
- import "./reply-history-Bk_WS6JL.js";
37
- import { n as logInboundDrop, r as logTypingFailure } from "./logging-BxvkluBF.js";
38
- import { t as createChannelReplyPipeline } from "./channel-reply-pipeline-BbFpiuUk.js";
39
- import { t as createChannelPairingChallengeIssuer } from "./channel-pairing-DQW7B5h7.js";
40
- import "./runtime-env-wI9azPbI.js";
41
- import { t as evaluateSupplementalContextVisibility } from "./context-visibility-DRh0KnYa.js";
42
- import { t as resolveChannelContextVisibilityMode } from "./context-visibility-CoE9RZ5C.js";
43
- import "./config-runtime-AtYct3A3.js";
44
- import "./reply-runtime-BvyACHP_.js";
45
- import { t as waitForTransportReady } from "./transport-ready-fymwId31.js";
46
- import "./infra-runtime-Pu3jXc5f.js";
47
- import "./media-runtime-awxrKlof.js";
48
- import "./conversation-runtime-D6miDW4s.js";
49
- import "./agent-runtime-BSwK1sup.js";
50
- import "./security-runtime-BO4S_-u3.js";
51
- import "./hook-runtime-McRidcQ_.js";
52
- import "./command-auth-oo_Iz0oe.js";
53
- import "./channel-feedback-C9R0sNH3.js";
54
- import { n as shouldDebounceTextInbound, t as createChannelInboundDebouncer } from "./channel-inbound-BzALE-tz.js";
55
- import { i as resolveSignalAccount } from "./accounts-B2aksIpL.js";
56
- import { a as isSignalSenderAllowed, c as resolveSignalRecipient, f as normalizeSignalMessagingTarget, l as resolveSignalSender, n as formatSignalSenderDisplay, o as normalizeSignalAllowRecipient, r as formatSignalSenderId, s as resolveSignalPeerId, t as formatSignalPairingIdLine } from "./identity-BU3NdxQD.js";
57
- import { n as signalRpcRequest, r as streamSignalEvents, t as signalCheck } from "./client-Doc6u1up.js";
58
- import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-BudgB3Xv.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 };