remoteclaw 0.0.0 → 0.1.0-next.2abd2fa

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 (2114) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +661 -0
  3. package/README.md +490 -0
  4. package/assets/chrome-extension/README.md +23 -0
  5. package/assets/chrome-extension/background-utils.js +48 -0
  6. package/assets/chrome-extension/background.js +899 -0
  7. package/assets/chrome-extension/icons/icon128.png +0 -0
  8. package/assets/chrome-extension/icons/icon16.png +0 -0
  9. package/assets/chrome-extension/icons/icon32.png +0 -0
  10. package/assets/chrome-extension/icons/icon48.png +0 -0
  11. package/assets/chrome-extension/manifest.json +25 -0
  12. package/assets/chrome-extension/options-validation.js +57 -0
  13. package/assets/chrome-extension/options.html +200 -0
  14. package/assets/chrome-extension/options.js +74 -0
  15. package/assets/clawtributor-avatar-placeholder.png +0 -0
  16. package/assets/dmg-background-small.png +0 -0
  17. package/assets/dmg-background.png +0 -0
  18. package/dist/account-lookup-0KDSp5Mj.js +11 -0
  19. package/dist/account-lookup-zvANGr2x.js +11 -0
  20. package/dist/accounts-BFy_Z3od.js +272 -0
  21. package/dist/accounts-BTXSfPWi.js +270 -0
  22. package/dist/accounts-BxGS70Do.js +36 -0
  23. package/dist/accounts-CNY1TGj1.js +47 -0
  24. package/dist/accounts-DBohBlww.js +32 -0
  25. package/dist/accounts-DqRQ75w3.js +36 -0
  26. package/dist/accounts-iODF3SK2.js +47 -0
  27. package/dist/ack-reactions-B11TAC2D.js +446 -0
  28. package/dist/ack-reactions-BWVjL4H6.js +446 -0
  29. package/dist/acp-cli-CA1xMmVo.js +1320 -0
  30. package/dist/acp-cli-CGo6fJVZ.js +1326 -0
  31. package/dist/active-listener-VzhWW8W6.js +37 -0
  32. package/dist/active-listener-z0qVEcom.js +37 -0
  33. package/dist/agent-CTizRPIJ.js +732 -0
  34. package/dist/agent-D2RVoS5g.js +731 -0
  35. package/dist/agent-helpers-B6VfZ9_u.js +606 -0
  36. package/dist/agent-helpers-CTx5KKJu.js +606 -0
  37. package/dist/agent-scope-BGYzhtWQ.js +121 -0
  38. package/dist/agent-scope-C50VuLKh.js +119 -0
  39. package/dist/agents-BuYn-obw.js +788 -0
  40. package/dist/agents.config-BSTxuTVd.js +116 -0
  41. package/dist/agents.config-p3V3b9u6.js +116 -0
  42. package/dist/ansi-D04X81yq.js +14 -0
  43. package/dist/api-BeQMq2iS.js +17 -0
  44. package/dist/api-CxX8-gGz.js +17 -0
  45. package/dist/argv-Co-b9Zsc.js +101 -0
  46. package/dist/audio-DPOuhNq7.js +43 -0
  47. package/dist/audio-VBcVDa08.js +43 -0
  48. package/dist/audio-preflight-BwmCYeuM.js +64 -0
  49. package/dist/audio-preflight-co8gjlPX.js +69 -0
  50. package/dist/audit-oH4urD3G.js +3138 -0
  51. package/dist/audit-qgtCT3ik.js +3138 -0
  52. package/dist/auth-CAczFgAO.js +448 -0
  53. package/dist/auth-Deh9i9Eg.js +448 -0
  54. package/dist/auth-profiles-BquJGKLC.js +279 -0
  55. package/dist/auth-profiles-D8vKiBPq.js +281 -0
  56. package/dist/banner-Cf978khN.js +294 -0
  57. package/dist/binaries-DXW6oATV.js +13 -0
  58. package/dist/bindings-CRU_udk8.js +69 -0
  59. package/dist/bindings-DQZAu8Wv.js +69 -0
  60. package/dist/bonjour-discovery-DdAk1VyO.js +378 -0
  61. package/dist/bonjour-discovery-DuhiIZZx.js +378 -0
  62. package/dist/boot/handler.js +1498 -0
  63. package/dist/brew-C4zKZsHX.js +46 -0
  64. package/dist/brew-DbSbN8sD.js +46 -0
  65. package/dist/browser-cli-CZC4h5V4.js +1687 -0
  66. package/dist/browser-cli-DAgi_aQk.js +1692 -0
  67. package/dist/build-info.json +5 -0
  68. package/dist/bundled/boot/HOOK.md +24 -0
  69. package/dist/bundled/command-logger/HOOK.md +122 -0
  70. package/dist/call-BbwtB9Y-.js +2828 -0
  71. package/dist/call-PivL7Uex.js +2829 -0
  72. package/dist/canvas-host/a2ui/.bundle.hash +1 -0
  73. package/dist/canvas-host/a2ui/a2ui.bundle.js +13193 -0
  74. package/dist/canvas-host/a2ui/index.html +307 -0
  75. package/dist/catalog-BqO6yem_.js +185 -0
  76. package/dist/catalog-DFmaYwfk.js +185 -0
  77. package/dist/channel-account-context-CvIDAtHS.js +550 -0
  78. package/dist/channel-account-context-q-o0pG1A.js +550 -0
  79. package/dist/channel-activity-BaCNOZpP.js +94 -0
  80. package/dist/channel-activity-C-G4n9BK.js +292 -0
  81. package/dist/channel-activity-DTKGf3j5.js +94 -0
  82. package/dist/channel-options-Cyappik_.js +32 -0
  83. package/dist/channel-options-DFnypY5S.js +33 -0
  84. package/dist/channel-selection-BGl53D5K.js +51 -0
  85. package/dist/channel-selection-NNPbxnyZ.js +51 -0
  86. package/dist/channel-web-DmhVkWbP.js +2134 -0
  87. package/dist/channel-web-kRC3UYBJ.js +2136 -0
  88. package/dist/channels-cli-C5XRkPJl.js +1421 -0
  89. package/dist/channels-cli-D6TqCI0m.js +1426 -0
  90. package/dist/channels-status-issues-CUc9mpeW.js +18 -0
  91. package/dist/channels-status-issues-DwRDzwrV.js +18 -0
  92. package/dist/chat-envelope-DEZ-5RY8.js +248 -0
  93. package/dist/chat-envelope-el7Uo-Fe.js +248 -0
  94. package/dist/chat-type-CYPyHAj-.js +11 -0
  95. package/dist/chat-type-DKb2TlGZ.js +11 -0
  96. package/dist/chrome-0QaGKb3L.js +1732 -0
  97. package/dist/chrome-CFeWdP0Y.js +1733 -0
  98. package/dist/chunk-CSQfUhgF.js +341 -0
  99. package/dist/chunk-D0Y_w4oX.js +341 -0
  100. package/dist/clack-prompter-B7tOxhJd.js +122 -0
  101. package/dist/clack-prompter-CCFnKP_1.js +121 -0
  102. package/dist/cleanup-utils-CqAVZz2b.js +94 -0
  103. package/dist/cleanup-utils-CwQvD73q.js +94 -0
  104. package/dist/cli/daemon-cli.js +9 -0
  105. package/dist/cli-BR2J3c4l.js +125 -0
  106. package/dist/cli-C1q1vSmN.js +130 -0
  107. package/dist/cli-name-BicfmwQX.js +23 -0
  108. package/dist/cli-name-C6rJGl18.js +23 -0
  109. package/dist/cli-utils-BhXbz2UF.js +16 -0
  110. package/dist/cli-utils-DZe_rVkZ.js +16 -0
  111. package/dist/client-C61M8zI3.js +22 -0
  112. package/dist/client-DdpmATKq.js +22 -0
  113. package/dist/clipboard-D7_SKHPK.js +31 -0
  114. package/dist/clipboard-Dzkx6Q2K.js +31 -0
  115. package/dist/command-format-CVfo8I5f.js +18 -0
  116. package/dist/command-format-DgXcqxBt.js +32 -0
  117. package/dist/command-logger/handler.js +57 -0
  118. package/dist/command-options-C4paWSGf.js +26 -0
  119. package/dist/command-options-CA30lfLK.js +26 -0
  120. package/dist/command-registry-CYjvOp8W.js +215 -0
  121. package/dist/commands-CDonBOrw.js +41 -0
  122. package/dist/commands-D_-bgTlO.js +41 -0
  123. package/dist/commands-registry-CWJv6xe2.js +892 -0
  124. package/dist/commands-registry-Ci8_cFk9.js +893 -0
  125. package/dist/common-CMI-qsF8.js +156 -0
  126. package/dist/common-DSVmydhm.js +156 -0
  127. package/dist/completion-cli-8iZJqfmX.js +452 -0
  128. package/dist/completion-cli-CYDjEZSt.js +452 -0
  129. package/dist/config-D5XU45KD.js +6953 -0
  130. package/dist/config-FHu9Bn4R.js +6951 -0
  131. package/dist/config-cli-Gehy4sav.js +241 -0
  132. package/dist/config-cli-RC9qMgJq.js +246 -0
  133. package/dist/config-eval-CjGZtLwx.js +102 -0
  134. package/dist/config-eval-H_wlEYIG.js +102 -0
  135. package/dist/config-guard-J-Q_DFWk.js +97 -0
  136. package/dist/config-guard-cB5a_ANg.js +75 -0
  137. package/dist/config-validation-BPNyd9_3.js +18 -0
  138. package/dist/config-validation-BPWuvhVe.js +18 -0
  139. package/dist/configure-CC2XdRRm.js +891 -0
  140. package/dist/configure-DxFBJuhZ.js +889 -0
  141. package/dist/constants-BmRFoHl0.js +67 -0
  142. package/dist/constants-C9WPAluB.js +67 -0
  143. package/dist/constants-ChptG3d7.js +12 -0
  144. package/dist/constants-DY6b-_Wl.js +12 -0
  145. package/dist/control-auth-D0tpV3ts.js +397 -0
  146. package/dist/control-auth-_-0PGRUs.js +397 -0
  147. package/dist/control-ui/apple-touch-icon.png +0 -0
  148. package/dist/control-ui/assets/index-B4ZM1lW1.js +7738 -0
  149. package/dist/control-ui/assets/index-B4ZM1lW1.js.map +1 -0
  150. package/dist/control-ui/assets/index-PED72sKF.css +1 -0
  151. package/dist/control-ui/assets/pt-BR-eq0TfCI7.js +2 -0
  152. package/dist/control-ui/assets/pt-BR-eq0TfCI7.js.map +1 -0
  153. package/dist/control-ui/assets/zh-CN-DmLG2MF9.js +2 -0
  154. package/dist/control-ui/assets/zh-CN-DmLG2MF9.js.map +1 -0
  155. package/dist/control-ui/assets/zh-TW-BLErH0EM.js +2 -0
  156. package/dist/control-ui/assets/zh-TW-BLErH0EM.js.map +1 -0
  157. package/dist/control-ui/favicon-32.png +0 -0
  158. package/dist/control-ui/favicon.ico +0 -0
  159. package/dist/control-ui/favicon.svg +67 -0
  160. package/dist/control-ui/index.html +17 -0
  161. package/dist/control-ui-assets-Cx_mw4D0.js +186 -0
  162. package/dist/control-ui-assets-W1AUuGrO.js +186 -0
  163. package/dist/conversation-label-C4SDz4sT.js +36 -0
  164. package/dist/conversation-label-D1frnvYe.js +36 -0
  165. package/dist/credentials-BHWUBHMd.js +91 -0
  166. package/dist/credentials-DFsi1_e8.js +91 -0
  167. package/dist/cron-cli-BzERxhr5.js +495 -0
  168. package/dist/cron-cli-C8j_uslU.js +490 -0
  169. package/dist/daemon-cli-C95XNbX0.js +1199 -0
  170. package/dist/daemon-cli-e6sURMqd.js +1197 -0
  171. package/dist/daemon-cli.js +15243 -0
  172. package/dist/daemon-install-CcohRvKV.js +55 -0
  173. package/dist/daemon-install-DDshfT0J.js +60 -0
  174. package/dist/daemon-install-helpers-CFGAfRlj.js +462 -0
  175. package/dist/daemon-install-helpers-DIUzSFG1.js +462 -0
  176. package/dist/daemon-runtime-CMnbwryP.js +13 -0
  177. package/dist/daemon-runtime-CvqE4ysg.js +13 -0
  178. package/dist/dangerous-name-matching-BzmiLXmA.js +45 -0
  179. package/dist/dangerous-name-matching-DaVRgwer.js +45 -0
  180. package/dist/dangerous-tools-BOLoCRv4.js +253 -0
  181. package/dist/dangerous-tools-Baq7Q-i6.js +253 -0
  182. package/dist/defaults-B5KStIBg.js +7 -0
  183. package/dist/defaults-xUAL2Z-F.js +7 -0
  184. package/dist/deliver-912khjLK.js +481 -0
  185. package/dist/deliver-D56J4-1F.js +481 -0
  186. package/dist/delivery-queue-Cfa9Wmxp.js +244 -0
  187. package/dist/delivery-queue-CxVRi4tw.js +244 -0
  188. package/dist/devices-cli-0qDhTgZR.js +316 -0
  189. package/dist/devices-cli-6SKMR2bV.js +321 -0
  190. package/dist/diagnostics-99iCgBUh.js +46 -0
  191. package/dist/diagnostics-VC0cz7kX.js +46 -0
  192. package/dist/directory-cli-5YXdoVdn.js +217 -0
  193. package/dist/directory-cli-D3IKCHmn.js +222 -0
  194. package/dist/dm-policy-shared-4rkjhcrM.js +22 -0
  195. package/dist/dm-policy-shared-D8lgnmrC.js +22 -0
  196. package/dist/dns-cli-11CtErVU.js +197 -0
  197. package/dist/dns-cli-SiEd_1Lq.js +202 -0
  198. package/dist/dock-BqNINg7k.js +928 -0
  199. package/dist/dock-CQuu41bw.js +929 -0
  200. package/dist/doctor-completion-BR1SlAT3.js +92 -0
  201. package/dist/doctor-completion-CZwpEhIK.js +92 -0
  202. package/dist/doctor-config-flow-BVkHcvoj.js +1933 -0
  203. package/dist/doctor-config-flow-DVYRn0An.js +1934 -0
  204. package/dist/enable-DcJnkzfz.js +59 -0
  205. package/dist/enable-ibNq4UWy.js +59 -0
  206. package/dist/entry.js +2620 -0
  207. package/dist/env-DeF64iu0.js +60 -0
  208. package/dist/env-vars-7aZqKPhk.js +93 -0
  209. package/dist/env-vars-CLGbxdpL.js +93 -0
  210. package/dist/errors-8F-77i6m.js +35 -0
  211. package/dist/errors-DZ199hOo.js +35 -0
  212. package/dist/exec-DbKuYyM1.js +164 -0
  213. package/dist/exec-DkFE7lqU.js +164 -0
  214. package/dist/export-html/template.css +1060 -0
  215. package/dist/export-html/template.html +88 -0
  216. package/dist/export-html/template.js +1797 -0
  217. package/dist/export-html/vendor/highlight.min.js +1213 -0
  218. package/dist/export-html/vendor/marked.min.js +6 -0
  219. package/dist/extensionAPI.js +11520 -0
  220. package/dist/fetch-BFSBLBkA.js +67 -0
  221. package/dist/fetch-C6XKGA11.js +67 -0
  222. package/dist/fetch-CEDsOiql.js +67 -0
  223. package/dist/fetch-timeout-DTIN7CGM.js +43 -0
  224. package/dist/fetch-timeout-DoySHqfO.js +43 -0
  225. package/dist/file-identity-BxlKD8Ys.js +12 -0
  226. package/dist/file-lock-CIvloidc.js +107 -0
  227. package/dist/file-lock-CzBL_VIx.js +107 -0
  228. package/dist/format-duration-CqUERz51.js +35 -0
  229. package/dist/format-duration-Ct-yiwkS.js +35 -0
  230. package/dist/format-relative-79_Y1n2Y.js +55 -0
  231. package/dist/format-relative-CxLpEQOX.js +55 -0
  232. package/dist/fs-safe-DSwT85uK.js +88 -0
  233. package/dist/fs-safe-DkBhNAc3.js +98 -0
  234. package/dist/gateway-cli-BEEZhCHv.js +23747 -0
  235. package/dist/gateway-cli-Nob0g_4y.js +23742 -0
  236. package/dist/gateway-rpc-CksB-N83.js +28 -0
  237. package/dist/gateway-rpc-Dq44SkOv.js +28 -0
  238. package/dist/gmail-setup-utils-Cnx8A5pW.js +422 -0
  239. package/dist/gmail-setup-utils-nkabbKOE.js +423 -0
  240. package/dist/health-RT-F3hzT.js +1423 -0
  241. package/dist/health-SOuaKNRa.js +1420 -0
  242. package/dist/health-format-BG95OE6N.js +28 -0
  243. package/dist/health-format-B_QRD8Si.js +28 -0
  244. package/dist/heartbeat-visibility-BxkZjE5m.js +125 -0
  245. package/dist/heartbeat-visibility-CGG-G7px.js +125 -0
  246. package/dist/heartbeat-wake-LGEgcXjs.js +182 -0
  247. package/dist/heartbeat-wake-Y97geucO.js +182 -0
  248. package/dist/help-format-DAxf0l_h.js +17 -0
  249. package/dist/help-format-NNm_Ov4H.js +17 -0
  250. package/dist/helpers-BAsMXprO.js +25 -0
  251. package/dist/helpers-DLgbkcEn.js +25 -0
  252. package/dist/helpers-R7bU5IBz.js +10 -0
  253. package/dist/helpers-kkeXif0Q.js +10 -0
  254. package/dist/hook-runner-global-DJ14gXFP.js +527 -0
  255. package/dist/hooks-cli-DyEKryW8.js +1217 -0
  256. package/dist/hooks-cli-RuEn0-oy.js +1222 -0
  257. package/dist/host-env-security-Bms2_EMV.js +92 -0
  258. package/dist/host-env-security-szwfmhC4.js +92 -0
  259. package/dist/image-ops-Bi6JPSkD.js +354 -0
  260. package/dist/image-ops-DWytvdh_.js +354 -0
  261. package/dist/import-D8BBZQgl.js +170 -0
  262. package/dist/import-DQ6NI4Fz.js +168 -0
  263. package/dist/inbound-context-CPkkQW0i.js +68 -0
  264. package/dist/inbound-context-DS_kpIYI.js +68 -0
  265. package/dist/inbound-path-policy-Bg4gZBx-.js +250 -0
  266. package/dist/inbound-path-policy-sdr5Ji0k.js +250 -0
  267. package/dist/index.js +569 -0
  268. package/dist/input-provenance-Bn6thJNm.js +35 -0
  269. package/dist/input-provenance-xUsSMOsz.js +35 -0
  270. package/dist/inspect-Dt8hogS3.js +559 -0
  271. package/dist/inspect-vYIL1oA0.js +559 -0
  272. package/dist/installs-aM5dWAyn.js +325 -0
  273. package/dist/installs-pWdqG8HL.js +325 -0
  274. package/dist/ip-C9q3Oq20.js +200 -0
  275. package/dist/ip-D0zgNmBV.js +200 -0
  276. package/dist/ipv4--2WXMVtE.js +46 -0
  277. package/dist/ipv4-CDQpx1A7.js +46 -0
  278. package/dist/ir-BpaAMTfW.js +940 -0
  279. package/dist/is-main-DN8-sNR5.js +30 -0
  280. package/dist/json-file-B7l5-Xhr.js +25 -0
  281. package/dist/json-file-ChO_R9yh.js +25 -0
  282. package/dist/json-files-CmpYSF4G.js +46 -0
  283. package/dist/json-files-DzpTak5i.js +46 -0
  284. package/dist/lanes-ByWMUgrz.js +58 -0
  285. package/dist/lanes-cHJ5arWg.js +58 -0
  286. package/dist/links-Bz4V7R_p.js +15 -0
  287. package/dist/links-C3soDNDH.js +15 -0
  288. package/dist/loader-Ccwsh8Sh.js +22624 -0
  289. package/dist/loader-y9MhJewT.js +22621 -0
  290. package/dist/local-roots-BrH0Q63K.js +313 -0
  291. package/dist/local-roots-nImrw2WR.js +314 -0
  292. package/dist/location-DBWCGNLq.js +43 -0
  293. package/dist/location-GbZ0bBRU.js +43 -0
  294. package/dist/logger-BWMPnILd.js +47 -0
  295. package/dist/logger-Bw3cFE5t.js +49 -0
  296. package/dist/logger-DyL5G2DO.js +12 -0
  297. package/dist/logger-GvipVDfh.js +12 -0
  298. package/dist/logging-C-nxX2fn.js +20 -0
  299. package/dist/logging-D8-Kozjc.js +19 -0
  300. package/dist/login-C_Kt57nO.js +62 -0
  301. package/dist/login-DOmWDMeP.js +61 -0
  302. package/dist/login-qr-CXU0wC5K.js +322 -0
  303. package/dist/login-qr-D0u6fdeO.js +327 -0
  304. package/dist/logs-cli-CschwP4d.js +238 -0
  305. package/dist/logs-cli-D7ayUvz_.js +233 -0
  306. package/dist/markdown-tables-CrmghPAr.js +29 -0
  307. package/dist/markdown-tables-jrnSPvZ6.js +29 -0
  308. package/dist/media-CojxZ45J.js +10492 -0
  309. package/dist/media-DN7yRfrH.js +940 -0
  310. package/dist/message-action-names-CtEZcmlU.js +2521 -0
  311. package/dist/message-action-names-WglOO_DT.js +2521 -0
  312. package/dist/message-channel-DzJqHVZD.js +91 -0
  313. package/dist/message-channel-uWMAiywE.js +91 -0
  314. package/dist/mime-BS3jhcZE.js +149 -0
  315. package/dist/mime-Cxh_64P6.js +149 -0
  316. package/dist/mutable-allowlist-detectors-DiZDtmlZ.js +64 -0
  317. package/dist/mutable-allowlist-detectors-U5ThQr9V.js +64 -0
  318. package/dist/net-Cg8AQeke.js +225 -0
  319. package/dist/net-D6D0wgcF.js +225 -0
  320. package/dist/node-cli-Q2-n3Fgv.js +24 -0
  321. package/dist/node-cli-Uf6lAntf.js +24 -0
  322. package/dist/nodes-cli-C2SoKfCv.js +1343 -0
  323. package/dist/nodes-cli-CQmlfx0K.js +1348 -0
  324. package/dist/nodes-screen-BR9sYoPa.js +250 -0
  325. package/dist/nodes-screen-Cw7Hv7M2.js +250 -0
  326. package/dist/note-Dlv4NmlQ.js +92 -0
  327. package/dist/note-kvWV4xtw.js +92 -0
  328. package/dist/npm-registry-spec-0qiKawvv.js +786 -0
  329. package/dist/npm-registry-spec-COvUzy5J.js +786 -0
  330. package/dist/npm-resolution-6v_Zm-9G.js +86 -0
  331. package/dist/npm-resolution-BFz7LeoN.js +86 -0
  332. package/dist/onboard-CgyU-mDL.js +407 -0
  333. package/dist/onboard-RI4vNTZd.js +405 -0
  334. package/dist/onboard-channels-DN5JoKPd.js +2548 -0
  335. package/dist/onboard-channels-DyAd1OZr.js +2547 -0
  336. package/dist/onboard-config-BCTthQ7J.js +24 -0
  337. package/dist/onboard-config-y-2cgT0V.js +24 -0
  338. package/dist/onboard-helpers-BCzZUD0z.js +363 -0
  339. package/dist/onboard-helpers-sDc2Ky6H.js +362 -0
  340. package/dist/onboard-remote-CJrMtttl.js +127 -0
  341. package/dist/onboard-remote-hyQIBguz.js +127 -0
  342. package/dist/onboarding-DCu1iBTV.js +541 -0
  343. package/dist/onboarding-zKMitzpb.js +543 -0
  344. package/dist/onboarding.finalize-ClHhYE2E.js +401 -0
  345. package/dist/onboarding.finalize-D5JkVJgg.js +398 -0
  346. package/dist/onboarding.gateway-config-DFh71Ndn.js +198 -0
  347. package/dist/onboarding.gateway-config-VBk6AP9U.js +191 -0
  348. package/dist/outbound-BYlZshIw.js +221 -0
  349. package/dist/outbound-CFfJC1j5.js +220 -0
  350. package/dist/outbound-attachment-BCNs1u1F.js +18 -0
  351. package/dist/outbound-attachment-B_0D60Yr.js +18 -0
  352. package/dist/outbound-attachment-o0seS0CP.js +18 -0
  353. package/dist/pairing-cli-BeydfoF9.js +122 -0
  354. package/dist/pairing-cli-DWzX866x.js +127 -0
  355. package/dist/pairing-labels-B-N8S5Fc.js +9 -0
  356. package/dist/pairing-labels-B_53dY5L.js +9 -0
  357. package/dist/pairing-store-BxdqFZGK.js +460 -0
  358. package/dist/pairing-store-CTkD51uW.js +459 -0
  359. package/dist/parse-log-line-enq8pduH.js +44 -0
  360. package/dist/parse-log-line-mz9TG6ig.js +44 -0
  361. package/dist/parse-timeout-BMP8a0_a.js +16 -0
  362. package/dist/parse-timeout-CDkco8kd.js +16 -0
  363. package/dist/path-env-DR5vn3QL.js +89 -0
  364. package/dist/path-env-qRJbjJzj.js +89 -0
  365. package/dist/path-guards-CIx4hURU.js +31 -0
  366. package/dist/path-guards-CrQOUlsq.js +31 -0
  367. package/dist/path-safety-DkT9RmTG.js +14 -0
  368. package/dist/path-safety-juI2XbO1.js +14 -0
  369. package/dist/paths-BTaH3rLn.js +232 -0
  370. package/dist/plugin-auto-enable-D23gv7Aw.js +302 -0
  371. package/dist/plugin-auto-enable-DuPS9XiJ.js +301 -0
  372. package/dist/plugin-registry-CNu_1KZz.js +33 -0
  373. package/dist/plugin-registry-DeHwd2jk.js +33 -0
  374. package/dist/plugin-sdk/account-id.d.ts +1 -0
  375. package/dist/plugin-sdk/account-id.js +34 -0
  376. package/dist/plugin-sdk/agents/agent-helpers/errors.d.ts +55 -0
  377. package/dist/plugin-sdk/agents/agent-helpers/google.d.ts +3 -0
  378. package/dist/plugin-sdk/agents/agent-helpers/images.d.ts +21 -0
  379. package/dist/plugin-sdk/agents/agent-helpers/message-sanitization.d.ts +14 -0
  380. package/dist/plugin-sdk/agents/agent-helpers/messaging-dedupe.d.ts +10 -0
  381. package/dist/plugin-sdk/agents/agent-helpers/openai.d.ts +9 -0
  382. package/dist/plugin-sdk/agents/agent-helpers/thinking.d.ts +5 -0
  383. package/dist/plugin-sdk/agents/agent-helpers/turns.d.ts +20 -0
  384. package/dist/plugin-sdk/agents/agent-helpers/types.d.ts +1 -0
  385. package/dist/plugin-sdk/agents/agent-helpers.d.ts +11 -0
  386. package/dist/plugin-sdk/agents/agent-messaging.d.ts +8 -0
  387. package/dist/plugin-sdk/agents/agent-paths.d.ts +1 -0
  388. package/dist/plugin-sdk/agents/agent-scope.d.ts +61 -0
  389. package/dist/plugin-sdk/agents/agent-types.d.ts +78 -0
  390. package/dist/plugin-sdk/agents/agent-utils.d.ts +39 -0
  391. package/dist/plugin-sdk/agents/announce-idempotency.d.ts +11 -0
  392. package/dist/plugin-sdk/agents/api-key-rotation.d.ts +22 -0
  393. package/dist/plugin-sdk/agents/auth-profiles/constants.d.ts +16 -0
  394. package/dist/plugin-sdk/agents/auth-profiles/display.d.ts +7 -0
  395. package/dist/plugin-sdk/agents/auth-profiles/doctor.d.ts +8 -0
  396. package/dist/plugin-sdk/agents/auth-profiles/oauth.d.ts +14 -0
  397. package/dist/plugin-sdk/agents/auth-profiles/paths.d.ts +4 -0
  398. package/dist/plugin-sdk/agents/auth-profiles/profiles.d.ts +12 -0
  399. package/dist/plugin-sdk/agents/auth-profiles/session-override.d.ts +18 -0
  400. package/dist/plugin-sdk/agents/auth-profiles/store.d.ts +10 -0
  401. package/dist/plugin-sdk/agents/auth-profiles/types.d.ts +13 -0
  402. package/dist/plugin-sdk/agents/auth-profiles.d.ts +8 -0
  403. package/dist/plugin-sdk/agents/block-chunker.d.ts +19 -0
  404. package/dist/plugin-sdk/agents/channel-tools.d.ts +27 -0
  405. package/dist/plugin-sdk/agents/cli-session.d.ts +3 -0
  406. package/dist/plugin-sdk/agents/current-time.d.ts +17 -0
  407. package/dist/plugin-sdk/agents/date-time.d.ts +13 -0
  408. package/dist/plugin-sdk/agents/defaults.d.ts +3 -0
  409. package/dist/plugin-sdk/agents/identity-avatar.d.ts +15 -0
  410. package/dist/plugin-sdk/agents/identity.d.ts +28 -0
  411. package/dist/plugin-sdk/agents/image-sanitization.d.ts +8 -0
  412. package/dist/plugin-sdk/agents/lanes.d.ts +3 -0
  413. package/dist/plugin-sdk/agents/live-auth-keys.d.ts +6 -0
  414. package/dist/plugin-sdk/agents/owner-display.d.ts +19 -0
  415. package/dist/plugin-sdk/agents/provider-auth.d.ts +40 -0
  416. package/dist/plugin-sdk/agents/provider-utils.d.ts +21 -0
  417. package/dist/plugin-sdk/agents/schema/typebox.d.ts +14 -0
  418. package/dist/plugin-sdk/agents/session-write-lock.d.ts +53 -0
  419. package/dist/plugin-sdk/agents/stable-stringify.d.ts +1 -0
  420. package/dist/plugin-sdk/agents/subagent-announce-queue.d.ts +24 -0
  421. package/dist/plugin-sdk/agents/subagent-announce.d.ts +39 -0
  422. package/dist/plugin-sdk/agents/subagent-depth.d.ts +11 -0
  423. package/dist/plugin-sdk/agents/subagent-lifecycle-events.d.ts +18 -0
  424. package/dist/plugin-sdk/agents/subagent-registry-cleanup.d.ts +24 -0
  425. package/dist/plugin-sdk/agents/subagent-registry-completion.d.ts +15 -0
  426. package/dist/plugin-sdk/agents/subagent-registry-queries.d.ts +11 -0
  427. package/dist/plugin-sdk/agents/subagent-registry-state.d.ts +7 -0
  428. package/dist/plugin-sdk/agents/subagent-registry.d.ts +45 -0
  429. package/dist/plugin-sdk/agents/subagent-registry.store.d.ts +5 -0
  430. package/dist/plugin-sdk/agents/subagent-registry.types.d.ts +34 -0
  431. package/dist/plugin-sdk/agents/subagent-spawn.d.ts +47 -0
  432. package/dist/plugin-sdk/agents/timeout.d.ts +8 -0
  433. package/dist/plugin-sdk/agents/tool-call-id.d.ts +27 -0
  434. package/dist/plugin-sdk/agents/tool-display-common.d.ts +32 -0
  435. package/dist/plugin-sdk/agents/tool-display.d.ts +15 -0
  436. package/dist/plugin-sdk/agents/tool-images.d.ts +10 -0
  437. package/dist/plugin-sdk/agents/tools/agent-step.d.ts +15 -0
  438. package/dist/plugin-sdk/agents/tools/common.d.ts +80 -0
  439. package/dist/plugin-sdk/agents/tools/discord-actions-guild.d.ts +4 -0
  440. package/dist/plugin-sdk/agents/tools/discord-actions-messaging.d.ts +6 -0
  441. package/dist/plugin-sdk/agents/tools/discord-actions-moderation-shared.d.ts +13 -0
  442. package/dist/plugin-sdk/agents/tools/discord-actions-moderation.d.ts +4 -0
  443. package/dist/plugin-sdk/agents/tools/discord-actions-presence.d.ts +4 -0
  444. package/dist/plugin-sdk/agents/tools/discord-actions.d.ts +5 -0
  445. package/dist/plugin-sdk/agents/tools/sessions-access.d.ts +42 -0
  446. package/dist/plugin-sdk/agents/tools/sessions-helpers.d.ts +52 -0
  447. package/dist/plugin-sdk/agents/tools/sessions-resolution.d.ts +59 -0
  448. package/dist/plugin-sdk/agents/tools/sessions-send-helpers.d.ts +34 -0
  449. package/dist/plugin-sdk/agents/tools/slack-actions.d.ts +15 -0
  450. package/dist/plugin-sdk/agents/tools/telegram-actions.d.ts +7 -0
  451. package/dist/plugin-sdk/agents/tools/whatsapp-actions.d.ts +3 -0
  452. package/dist/plugin-sdk/agents/tools/whatsapp-target-auth.d.ts +10 -0
  453. package/dist/plugin-sdk/agents/usage.d.ts +49 -0
  454. package/dist/plugin-sdk/agents/workspace.d.ts +1 -0
  455. package/dist/plugin-sdk/auto-reply/chunk.d.ts +45 -0
  456. package/dist/plugin-sdk/auto-reply/command-auth.d.ts +17 -0
  457. package/dist/plugin-sdk/auto-reply/command-detection.d.ts +13 -0
  458. package/dist/plugin-sdk/auto-reply/commands-args.d.ts +3 -0
  459. package/dist/plugin-sdk/auto-reply/commands-registry.d.ts +47 -0
  460. package/dist/plugin-sdk/auto-reply/commands-registry.data.d.ts +3 -0
  461. package/dist/plugin-sdk/auto-reply/commands-registry.types.d.ts +66 -0
  462. package/dist/plugin-sdk/auto-reply/dispatch.d.ts +32 -0
  463. package/dist/plugin-sdk/auto-reply/envelope.d.ts +58 -0
  464. package/dist/plugin-sdk/auto-reply/fallback-state.d.ts +55 -0
  465. package/dist/plugin-sdk/auto-reply/group-activation.d.ts +6 -0
  466. package/dist/plugin-sdk/auto-reply/heartbeat-reply-payload.d.ts +2 -0
  467. package/dist/plugin-sdk/auto-reply/heartbeat.d.ts +16 -0
  468. package/dist/plugin-sdk/auto-reply/inbound-debounce.d.ts +17 -0
  469. package/dist/plugin-sdk/auto-reply/media-note.d.ts +2 -0
  470. package/dist/plugin-sdk/auto-reply/model-runtime.d.ts +17 -0
  471. package/dist/plugin-sdk/auto-reply/model.d.ts +8 -0
  472. package/dist/plugin-sdk/auto-reply/reply/abort.d.ts +32 -0
  473. package/dist/plugin-sdk/auto-reply/reply/agent-runner-execution.d.ts +59 -0
  474. package/dist/plugin-sdk/auto-reply/reply/agent-runner-helpers.d.ts +15 -0
  475. package/dist/plugin-sdk/auto-reply/reply/agent-runner-payloads.d.ts +27 -0
  476. package/dist/plugin-sdk/auto-reply/reply/agent-runner-utils.d.ts +152 -0
  477. package/dist/plugin-sdk/auto-reply/reply/agent-runner.d.ts +36 -0
  478. package/dist/plugin-sdk/auto-reply/reply/block-reply-coalescer.d.ts +15 -0
  479. package/dist/plugin-sdk/auto-reply/reply/block-reply-pipeline.d.ts +31 -0
  480. package/dist/plugin-sdk/auto-reply/reply/block-streaming.d.ts +22 -0
  481. package/dist/plugin-sdk/auto-reply/reply/body.d.ts +10 -0
  482. package/dist/plugin-sdk/auto-reply/reply/command-gates.d.ts +18 -0
  483. package/dist/plugin-sdk/auto-reply/reply/commands-allowlist.d.ts +2 -0
  484. package/dist/plugin-sdk/auto-reply/reply/commands-config.d.ts +3 -0
  485. package/dist/plugin-sdk/auto-reply/reply/commands-context.d.ts +12 -0
  486. package/dist/plugin-sdk/auto-reply/reply/commands-core.d.ts +13 -0
  487. package/dist/plugin-sdk/auto-reply/reply/commands-export-session.d.ts +3 -0
  488. package/dist/plugin-sdk/auto-reply/reply/commands-info.d.ts +11 -0
  489. package/dist/plugin-sdk/auto-reply/reply/commands-plugin.d.ts +13 -0
  490. package/dist/plugin-sdk/auto-reply/reply/commands-session.d.ts +8 -0
  491. package/dist/plugin-sdk/auto-reply/reply/commands-setunset-standard.d.ts +10 -0
  492. package/dist/plugin-sdk/auto-reply/reply/commands-setunset.d.ts +34 -0
  493. package/dist/plugin-sdk/auto-reply/reply/commands-slash-parse.d.ts +24 -0
  494. package/dist/plugin-sdk/auto-reply/reply/commands-status.d.ts +26 -0
  495. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-agents.d.ts +3 -0
  496. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-focus.d.ts +3 -0
  497. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-help.d.ts +2 -0
  498. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-info.d.ts +3 -0
  499. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-kill.d.ts +3 -0
  500. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-list.d.ts +3 -0
  501. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-log.d.ts +3 -0
  502. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-send.d.ts +3 -0
  503. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-spawn.d.ts +3 -0
  504. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/action-unfocus.d.ts +3 -0
  505. package/dist/plugin-sdk/auto-reply/reply/commands-subagents/shared.d.ts +81 -0
  506. package/dist/plugin-sdk/auto-reply/reply/commands-subagents.d.ts +4 -0
  507. package/dist/plugin-sdk/auto-reply/reply/commands-tts.d.ts +2 -0
  508. package/dist/plugin-sdk/auto-reply/reply/commands-types.d.ts +61 -0
  509. package/dist/plugin-sdk/auto-reply/reply/commands.d.ts +4 -0
  510. package/dist/plugin-sdk/auto-reply/reply/config-commands.d.ts +15 -0
  511. package/dist/plugin-sdk/auto-reply/reply/config-value.d.ts +4 -0
  512. package/dist/plugin-sdk/auto-reply/reply/debug-commands.d.ts +16 -0
  513. package/dist/plugin-sdk/auto-reply/reply/directive-handling.auth.d.ts +19 -0
  514. package/dist/plugin-sdk/auto-reply/reply/directive-handling.d.ts +6 -0
  515. package/dist/plugin-sdk/auto-reply/reply/directive-handling.fast-lane.d.ts +7 -0
  516. package/dist/plugin-sdk/auto-reply/reply/directive-handling.impl.d.ts +3 -0
  517. package/dist/plugin-sdk/auto-reply/reply/directive-handling.levels.d.ts +20 -0
  518. package/dist/plugin-sdk/auto-reply/reply/directive-handling.params.d.ts +59 -0
  519. package/dist/plugin-sdk/auto-reply/reply/directive-handling.parse.d.ts +65 -0
  520. package/dist/plugin-sdk/auto-reply/reply/directive-handling.persist.d.ts +42 -0
  521. package/dist/plugin-sdk/auto-reply/reply/directive-handling.queue-validation.d.ts +10 -0
  522. package/dist/plugin-sdk/auto-reply/reply/directive-handling.shared.d.ts +29 -0
  523. package/dist/plugin-sdk/auto-reply/reply/directive-parsing.d.ts +5 -0
  524. package/dist/plugin-sdk/auto-reply/reply/directives.d.ts +58 -0
  525. package/dist/plugin-sdk/auto-reply/reply/dispatch-from-config.d.ts +16 -0
  526. package/dist/plugin-sdk/auto-reply/reply/dispatcher-registry.d.ts +24 -0
  527. package/dist/plugin-sdk/auto-reply/reply/elevated-allowlist-matcher.d.ts +20 -0
  528. package/dist/plugin-sdk/auto-reply/reply/elevated-unavailable.d.ts +8 -0
  529. package/dist/plugin-sdk/auto-reply/reply/followup-runner.d.ts +16 -0
  530. package/dist/plugin-sdk/auto-reply/reply/get-reply-directives-apply.d.ts +64 -0
  531. package/dist/plugin-sdk/auto-reply/reply/get-reply-directives-utils.d.ts +3 -0
  532. package/dist/plugin-sdk/auto-reply/reply/get-reply-directives.d.ts +121 -0
  533. package/dist/plugin-sdk/auto-reply/reply/get-reply-inline-actions.d.ts +56 -0
  534. package/dist/plugin-sdk/auto-reply/reply/get-reply-run.d.ts +73 -0
  535. package/dist/plugin-sdk/auto-reply/reply/get-reply.d.ts +4 -0
  536. package/dist/plugin-sdk/auto-reply/reply/groups.d.ts +26 -0
  537. package/dist/plugin-sdk/auto-reply/reply/history.d.ts +72 -0
  538. package/dist/plugin-sdk/auto-reply/reply/inbound-context.d.ts +8 -0
  539. package/dist/plugin-sdk/auto-reply/reply/inbound-dedupe.d.ts +8 -0
  540. package/dist/plugin-sdk/auto-reply/reply/inbound-meta.d.ts +3 -0
  541. package/dist/plugin-sdk/auto-reply/reply/inbound-text.d.ts +1 -0
  542. package/dist/plugin-sdk/auto-reply/reply/line-directives.d.ts +22 -0
  543. package/dist/plugin-sdk/auto-reply/reply/mentions.d.ts +19 -0
  544. package/dist/plugin-sdk/auto-reply/reply/normalize-reply.d.ts +11 -0
  545. package/dist/plugin-sdk/auto-reply/reply/origin-routing.d.ts +13 -0
  546. package/dist/plugin-sdk/auto-reply/reply/provider-dispatcher.d.ts +19 -0
  547. package/dist/plugin-sdk/auto-reply/reply/queue/cleanup.d.ts +6 -0
  548. package/dist/plugin-sdk/auto-reply/reply/queue/directive.d.ts +15 -0
  549. package/dist/plugin-sdk/auto-reply/reply/queue/drain.d.ts +2 -0
  550. package/dist/plugin-sdk/auto-reply/reply/queue/enqueue.d.ts +3 -0
  551. package/dist/plugin-sdk/auto-reply/reply/queue/normalize.d.ts +3 -0
  552. package/dist/plugin-sdk/auto-reply/reply/queue/settings.d.ts +2 -0
  553. package/dist/plugin-sdk/auto-reply/reply/queue/state.d.ts +20 -0
  554. package/dist/plugin-sdk/auto-reply/reply/queue/types.d.ts +87 -0
  555. package/dist/plugin-sdk/auto-reply/reply/queue-policy.d.ts +8 -0
  556. package/dist/plugin-sdk/auto-reply/reply/queue.d.ts +8 -0
  557. package/dist/plugin-sdk/auto-reply/reply/reply-delivery.d.ts +27 -0
  558. package/dist/plugin-sdk/auto-reply/reply/reply-directives.d.ts +14 -0
  559. package/dist/plugin-sdk/auto-reply/reply/reply-dispatcher.d.ts +53 -0
  560. package/dist/plugin-sdk/auto-reply/reply/reply-elevated.d.ts +16 -0
  561. package/dist/plugin-sdk/auto-reply/reply/reply-inline.d.ts +8 -0
  562. package/dist/plugin-sdk/auto-reply/reply/reply-payloads.d.ts +27 -0
  563. package/dist/plugin-sdk/auto-reply/reply/reply-reference.d.ts +20 -0
  564. package/dist/plugin-sdk/auto-reply/reply/reply-tags.d.ts +6 -0
  565. package/dist/plugin-sdk/auto-reply/reply/reply-threading.d.ts +9 -0
  566. package/dist/plugin-sdk/auto-reply/reply/response-prefix-template.d.ts +51 -0
  567. package/dist/plugin-sdk/auto-reply/reply/route-reply.d.ts +56 -0
  568. package/dist/plugin-sdk/auto-reply/reply/session-reset-prompt.d.ts +1 -0
  569. package/dist/plugin-sdk/auto-reply/reply/session-run-accounting.d.ts +11 -0
  570. package/dist/plugin-sdk/auto-reply/reply/session-updates.d.ts +18 -0
  571. package/dist/plugin-sdk/auto-reply/reply/session-usage.d.ts +21 -0
  572. package/dist/plugin-sdk/auto-reply/reply/session.d.ts +26 -0
  573. package/dist/plugin-sdk/auto-reply/reply/strip-inbound-meta.d.ts +27 -0
  574. package/dist/plugin-sdk/auto-reply/reply/subagents-utils.d.ts +26 -0
  575. package/dist/plugin-sdk/auto-reply/reply/typing-mode.d.ts +27 -0
  576. package/dist/plugin-sdk/auto-reply/reply/typing.d.ts +18 -0
  577. package/dist/plugin-sdk/auto-reply/reply/untrusted-context.d.ts +1 -0
  578. package/dist/plugin-sdk/auto-reply/reply.d.ts +5 -0
  579. package/dist/plugin-sdk/auto-reply/send-policy.d.ts +6 -0
  580. package/dist/plugin-sdk/auto-reply/status.d.ts +59 -0
  581. package/dist/plugin-sdk/auto-reply/templating.d.ts +159 -0
  582. package/dist/plugin-sdk/auto-reply/thinking.d.ts +22 -0
  583. package/dist/plugin-sdk/auto-reply/tokens.d.ts +3 -0
  584. package/dist/plugin-sdk/auto-reply/types.d.ts +82 -0
  585. package/dist/plugin-sdk/channel-web.d.ts +6 -0
  586. package/dist/plugin-sdk/channels/account-summary.d.ts +17 -0
  587. package/dist/plugin-sdk/channels/ack-reactions.d.ts +29 -0
  588. package/dist/plugin-sdk/channels/allow-from.d.ts +11 -0
  589. package/dist/plugin-sdk/channels/allowlist-match.d.ts +16 -0
  590. package/dist/plugin-sdk/channels/allowlists/resolve-utils.d.ts +33 -0
  591. package/dist/plugin-sdk/channels/channel-config.d.ts +39 -0
  592. package/dist/plugin-sdk/channels/chat-type.d.ts +2 -0
  593. package/dist/plugin-sdk/channels/command-gating.d.ts +20 -0
  594. package/dist/plugin-sdk/channels/conversation-label.d.ts +2 -0
  595. package/dist/plugin-sdk/channels/dock.d.ts +25 -0
  596. package/dist/plugin-sdk/channels/draft-stream-controls.d.ts +54 -0
  597. package/dist/plugin-sdk/channels/draft-stream-loop.d.ts +13 -0
  598. package/dist/plugin-sdk/channels/location.d.ts +21 -0
  599. package/dist/plugin-sdk/channels/logging.d.ts +20 -0
  600. package/dist/plugin-sdk/channels/mention-gating.d.ts +27 -0
  601. package/dist/plugin-sdk/channels/model-overrides.d.ts +18 -0
  602. package/dist/plugin-sdk/channels/plugins/account-action-gate.d.ts +5 -0
  603. package/dist/plugin-sdk/channels/plugins/account-helpers.d.ts +6 -0
  604. package/dist/plugin-sdk/channels/plugins/actions/discord/handle-action.d.ts +3 -0
  605. package/dist/plugin-sdk/channels/plugins/actions/discord/handle-action.guild-admin.d.ts +9 -0
  606. package/dist/plugin-sdk/channels/plugins/actions/discord.d.ts +2 -0
  607. package/dist/plugin-sdk/channels/plugins/actions/shared.d.ts +7 -0
  608. package/dist/plugin-sdk/channels/plugins/actions/signal.d.ts +2 -0
  609. package/dist/plugin-sdk/channels/plugins/actions/telegram.d.ts +2 -0
  610. package/dist/plugin-sdk/channels/plugins/agent-tools/whatsapp-login.d.ts +2 -0
  611. package/dist/plugin-sdk/channels/plugins/allowlist-match.d.ts +2 -0
  612. package/dist/plugin-sdk/channels/plugins/bluebubbles-actions.d.ts +48 -0
  613. package/dist/plugin-sdk/channels/plugins/channel-config.d.ts +2 -0
  614. package/dist/plugin-sdk/channels/plugins/config-helpers.d.ts +14 -0
  615. package/dist/plugin-sdk/channels/plugins/config-schema.d.ts +3 -0
  616. package/dist/plugin-sdk/channels/plugins/config-writes.d.ts +7 -0
  617. package/dist/plugin-sdk/channels/plugins/directory-config.d.ts +16 -0
  618. package/dist/plugin-sdk/channels/plugins/group-mentions.d.ts +18 -0
  619. package/dist/plugin-sdk/channels/plugins/helpers.d.ts +8 -0
  620. package/dist/plugin-sdk/channels/plugins/index.d.ts +8 -0
  621. package/dist/plugin-sdk/channels/plugins/media-limits.d.ts +9 -0
  622. package/dist/plugin-sdk/channels/plugins/media-payload.d.ts +15 -0
  623. package/dist/plugin-sdk/channels/plugins/message-action-names.d.ts +2 -0
  624. package/dist/plugin-sdk/channels/plugins/normalize/discord.d.ts +14 -0
  625. package/dist/plugin-sdk/channels/plugins/normalize/imessage.d.ts +2 -0
  626. package/dist/plugin-sdk/channels/plugins/normalize/shared.d.ts +6 -0
  627. package/dist/plugin-sdk/channels/plugins/normalize/signal.d.ts +2 -0
  628. package/dist/plugin-sdk/channels/plugins/normalize/slack.d.ts +2 -0
  629. package/dist/plugin-sdk/channels/plugins/normalize/telegram.d.ts +2 -0
  630. package/dist/plugin-sdk/channels/plugins/normalize/whatsapp.d.ts +3 -0
  631. package/dist/plugin-sdk/channels/plugins/onboarding/channel-access-configure.d.ts +21 -0
  632. package/dist/plugin-sdk/channels/plugins/onboarding/channel-access.d.ts +31 -0
  633. package/dist/plugin-sdk/channels/plugins/onboarding/discord.d.ts +2 -0
  634. package/dist/plugin-sdk/channels/plugins/onboarding/helpers.d.ts +177 -0
  635. package/dist/plugin-sdk/channels/plugins/onboarding/imessage.d.ts +6 -0
  636. package/dist/plugin-sdk/channels/plugins/onboarding/signal.d.ts +7 -0
  637. package/dist/plugin-sdk/channels/plugins/onboarding/slack.d.ts +2 -0
  638. package/dist/plugin-sdk/channels/plugins/onboarding/telegram.d.ts +4 -0
  639. package/dist/plugin-sdk/channels/plugins/onboarding/whatsapp.d.ts +2 -0
  640. package/dist/plugin-sdk/channels/plugins/onboarding-types.d.ts +77 -0
  641. package/dist/plugin-sdk/channels/plugins/outbound/load.d.ts +2 -0
  642. package/dist/plugin-sdk/channels/plugins/pairing-message.d.ts +1 -0
  643. package/dist/plugin-sdk/channels/plugins/pairing.d.ts +16 -0
  644. package/dist/plugin-sdk/channels/plugins/registry-loader.d.ts +5 -0
  645. package/dist/plugin-sdk/channels/plugins/setup-helpers.d.ts +13 -0
  646. package/dist/plugin-sdk/channels/plugins/status-issues/bluebubbles.d.ts +2 -0
  647. package/dist/plugin-sdk/channels/plugins/status-issues/discord.d.ts +2 -0
  648. package/dist/plugin-sdk/channels/plugins/status-issues/shared.d.ts +29 -0
  649. package/dist/plugin-sdk/channels/plugins/status-issues/telegram.d.ts +2 -0
  650. package/dist/plugin-sdk/channels/plugins/status-issues/whatsapp.d.ts +2 -0
  651. package/dist/plugin-sdk/channels/plugins/types.adapters.d.ts +288 -0
  652. package/dist/plugin-sdk/channels/plugins/types.core.d.ts +349 -0
  653. package/dist/plugin-sdk/channels/plugins/types.d.ts +6 -0
  654. package/dist/plugin-sdk/channels/plugins/types.plugin.d.ts +54 -0
  655. package/dist/plugin-sdk/channels/plugins/whatsapp-heartbeat.d.ts +11 -0
  656. package/dist/plugin-sdk/channels/plugins/whatsapp-shared.d.ts +5 -0
  657. package/dist/plugin-sdk/channels/registry.d.ts +15 -0
  658. package/dist/plugin-sdk/channels/reply-prefix.d.ts +24 -0
  659. package/dist/plugin-sdk/channels/sender-label.d.ts +9 -0
  660. package/dist/plugin-sdk/channels/session.d.ts +18 -0
  661. package/dist/plugin-sdk/channels/status-reactions.d.ts +62 -0
  662. package/dist/plugin-sdk/channels/targets.d.ts +42 -0
  663. package/dist/plugin-sdk/channels/telegram/api.d.ts +5 -0
  664. package/dist/plugin-sdk/channels/typing-lifecycle.d.ts +12 -0
  665. package/dist/plugin-sdk/channels/typing.d.ts +13 -0
  666. package/dist/plugin-sdk/channels/web/index.d.ts +1 -0
  667. package/dist/plugin-sdk/cli/cli-name.d.ts +3 -0
  668. package/dist/plugin-sdk/cli/command-format.d.ts +1 -0
  669. package/dist/plugin-sdk/cli/deps.d.ts +18 -0
  670. package/dist/plugin-sdk/cli/outbound-send-deps.d.ts +4 -0
  671. package/dist/plugin-sdk/cli/outbound-send-mapping.d.ts +10 -0
  672. package/dist/plugin-sdk/cli/parse-bytes.d.ts +4 -0
  673. package/dist/plugin-sdk/cli/parse-duration.d.ts +4 -0
  674. package/dist/plugin-sdk/cli/profile-utils.d.ts +2 -0
  675. package/dist/plugin-sdk/cli/progress.d.ts +24 -0
  676. package/dist/plugin-sdk/cli/wait.d.ts +1 -0
  677. package/dist/plugin-sdk/commands/agent/delivery.d.ts +25 -0
  678. package/dist/plugin-sdk/commands/agent/run-context.d.ts +2 -0
  679. package/dist/plugin-sdk/commands/agent/session-store.d.ts +16 -0
  680. package/dist/plugin-sdk/commands/agent/session.d.ts +33 -0
  681. package/dist/plugin-sdk/commands/agent/types.d.ts +89 -0
  682. package/dist/plugin-sdk/commands/agent.d.ts +14 -0
  683. package/dist/plugin-sdk/commands/daemon-runtime.d.ts +8 -0
  684. package/dist/plugin-sdk/commands/health.d.ts +63 -0
  685. package/dist/plugin-sdk/commands/oauth-flow.d.ts +21 -0
  686. package/dist/plugin-sdk/commands/onboard-helpers.d.ts +81 -0
  687. package/dist/plugin-sdk/commands/onboard-types.d.ts +69 -0
  688. package/dist/plugin-sdk/commands/signal-install.d.ts +30 -0
  689. package/dist/plugin-sdk/compat/legacy-names.d.ts +8 -0
  690. package/dist/plugin-sdk/config/agent-dirs.d.ts +14 -0
  691. package/dist/plugin-sdk/config/agent-limits.d.ts +6 -0
  692. package/dist/plugin-sdk/config/backup-rotation.d.ts +5 -0
  693. package/dist/plugin-sdk/config/cache-utils.d.ts +6 -0
  694. package/dist/plugin-sdk/config/commands.d.ts +20 -0
  695. package/dist/plugin-sdk/config/config-paths.d.ts +10 -0
  696. package/dist/plugin-sdk/config/config.d.ts +7 -0
  697. package/dist/plugin-sdk/config/dangerous-name-matching.d.ts +12 -0
  698. package/dist/plugin-sdk/config/defaults.d.ts +19 -0
  699. package/dist/plugin-sdk/config/discord-preview-streaming.d.ts +25 -0
  700. package/dist/plugin-sdk/config/env-preserve.d.ts +10 -0
  701. package/dist/plugin-sdk/config/env-substitution.d.ts +36 -0
  702. package/dist/plugin-sdk/config/env-vars.d.ts +6 -0
  703. package/dist/plugin-sdk/config/group-policy.d.ts +49 -0
  704. package/dist/plugin-sdk/config/includes.d.ts +32 -0
  705. package/dist/plugin-sdk/config/io.d.ts +60 -0
  706. package/dist/plugin-sdk/config/legacy-migrate.d.ts +5 -0
  707. package/dist/plugin-sdk/config/legacy.d.ts +6 -0
  708. package/dist/plugin-sdk/config/legacy.migrations.d.ts +1 -0
  709. package/dist/plugin-sdk/config/legacy.migrations.part-1.d.ts +2 -0
  710. package/dist/plugin-sdk/config/legacy.migrations.part-2.d.ts +2 -0
  711. package/dist/plugin-sdk/config/legacy.migrations.part-3.d.ts +2 -0
  712. package/dist/plugin-sdk/config/legacy.rules.d.ts +2 -0
  713. package/dist/plugin-sdk/config/legacy.shared.d.ts +19 -0
  714. package/dist/plugin-sdk/config/markdown-tables.d.ts +7 -0
  715. package/dist/plugin-sdk/config/merge-config.d.ts +7 -0
  716. package/dist/plugin-sdk/config/merge-patch.d.ts +5 -0
  717. package/dist/plugin-sdk/config/model-input.d.ts +9 -0
  718. package/dist/plugin-sdk/config/normalize-paths.d.ts +8 -0
  719. package/dist/plugin-sdk/config/paths.d.ts +57 -0
  720. package/dist/plugin-sdk/config/prototype-keys.d.ts +1 -0
  721. package/dist/plugin-sdk/config/runtime-group-policy.d.ts +56 -0
  722. package/dist/plugin-sdk/config/runtime-overrides.d.ts +15 -0
  723. package/dist/plugin-sdk/config/sessions/artifacts.d.ts +5 -0
  724. package/dist/plugin-sdk/config/sessions/constants.d.ts +2 -0
  725. package/dist/plugin-sdk/config/sessions/delivery-info.d.ts +16 -0
  726. package/dist/plugin-sdk/config/sessions/disk-budget.d.ts +28 -0
  727. package/dist/plugin-sdk/config/sessions/group.d.ts +11 -0
  728. package/dist/plugin-sdk/config/sessions/main-session.d.ts +43 -0
  729. package/dist/plugin-sdk/config/sessions/metadata.d.ts +16 -0
  730. package/dist/plugin-sdk/config/sessions/paths.d.ts +21 -0
  731. package/dist/plugin-sdk/config/sessions/reset.d.ts +43 -0
  732. package/dist/plugin-sdk/config/sessions/session-file.d.ts +15 -0
  733. package/dist/plugin-sdk/config/sessions/session-key.d.ts +8 -0
  734. package/dist/plugin-sdk/config/sessions/store.d.ts +123 -0
  735. package/dist/plugin-sdk/config/sessions/transcript.d.ts +18 -0
  736. package/dist/plugin-sdk/config/sessions/types.d.ts +160 -0
  737. package/dist/plugin-sdk/config/sessions.d.ts +13 -0
  738. package/dist/plugin-sdk/config/talk.d.ts +21 -0
  739. package/dist/plugin-sdk/config/telegram-custom-commands.d.ts +24 -0
  740. package/dist/plugin-sdk/config/types.agent-defaults.d.ts +268 -0
  741. package/dist/plugin-sdk/config/types.agents-shared.d.ts +49 -0
  742. package/dist/plugin-sdk/config/types.agents.d.ts +57 -0
  743. package/dist/plugin-sdk/config/types.approvals.d.ts +26 -0
  744. package/dist/plugin-sdk/config/types.auth.d.ts +28 -0
  745. package/dist/plugin-sdk/config/types.base.d.ts +203 -0
  746. package/dist/plugin-sdk/config/types.browser.d.ts +65 -0
  747. package/dist/plugin-sdk/config/types.channel-messaging-common.d.ts +44 -0
  748. package/dist/plugin-sdk/config/types.channels.d.ts +53 -0
  749. package/dist/plugin-sdk/config/types.cron.d.ts +26 -0
  750. package/dist/plugin-sdk/config/types.d.ts +27 -0
  751. package/dist/plugin-sdk/config/types.discord.d.ts +273 -0
  752. package/dist/plugin-sdk/config/types.gateway.d.ts +335 -0
  753. package/dist/plugin-sdk/config/types.googlechat.d.ts +107 -0
  754. package/dist/plugin-sdk/config/types.hooks.d.ts +123 -0
  755. package/dist/plugin-sdk/config/types.imessage.d.ts +77 -0
  756. package/dist/plugin-sdk/config/types.installs.d.ts +14 -0
  757. package/dist/plugin-sdk/config/types.irc.d.ts +54 -0
  758. package/dist/plugin-sdk/config/types.messages.d.ts +154 -0
  759. package/dist/plugin-sdk/config/types.models.d.ts +41 -0
  760. package/dist/plugin-sdk/config/types.msteams.d.ts +108 -0
  761. package/dist/plugin-sdk/config/types.node-host.d.ts +10 -0
  762. package/dist/plugin-sdk/config/types.plugins.d.ts +23 -0
  763. package/dist/plugin-sdk/config/types.queue.d.ts +14 -0
  764. package/dist/plugin-sdk/config/types.remoteclaw.d.ts +119 -0
  765. package/dist/plugin-sdk/config/types.signal.d.ts +46 -0
  766. package/dist/plugin-sdk/config/types.slack.d.ts +181 -0
  767. package/dist/plugin-sdk/config/types.telegram.d.ts +191 -0
  768. package/dist/plugin-sdk/config/types.tools.d.ts +322 -0
  769. package/dist/plugin-sdk/config/types.tts.d.ts +78 -0
  770. package/dist/plugin-sdk/config/types.whatsapp.d.ts +101 -0
  771. package/dist/plugin-sdk/config/validation.d.ts +37 -0
  772. package/dist/plugin-sdk/config/version.d.ts +8 -0
  773. package/dist/plugin-sdk/config/zod-schema.agent-defaults.d.ts +156 -0
  774. package/dist/plugin-sdk/config/zod-schema.agent-model.d.ts +5 -0
  775. package/dist/plugin-sdk/config/zod-schema.agent-runtime.d.ts +500 -0
  776. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +298 -0
  777. package/dist/plugin-sdk/config/zod-schema.allowdeny.d.ts +13 -0
  778. package/dist/plugin-sdk/config/zod-schema.approvals.d.ts +15 -0
  779. package/dist/plugin-sdk/config/zod-schema.channels.d.ts +6 -0
  780. package/dist/plugin-sdk/config/zod-schema.core.d.ts +583 -0
  781. package/dist/plugin-sdk/config/zod-schema.d.ts +3434 -0
  782. package/dist/plugin-sdk/config/zod-schema.hooks.d.ts +85 -0
  783. package/dist/plugin-sdk/config/zod-schema.installs.d.ts +16 -0
  784. package/dist/plugin-sdk/config/zod-schema.providers-core.d.ts +3693 -0
  785. package/dist/plugin-sdk/config/zod-schema.providers-whatsapp.d.ts +235 -0
  786. package/dist/plugin-sdk/config/zod-schema.providers.d.ts +2200 -0
  787. package/dist/plugin-sdk/config/zod-schema.sensitive.d.ts +2 -0
  788. package/dist/plugin-sdk/config/zod-schema.session.d.ts +234 -0
  789. package/dist/plugin-sdk/cron/delivery.d.ts +9 -0
  790. package/dist/plugin-sdk/cron/legacy-delivery.d.ts +3 -0
  791. package/dist/plugin-sdk/cron/parse.d.ts +1 -0
  792. package/dist/plugin-sdk/cron/payload-migration.d.ts +3 -0
  793. package/dist/plugin-sdk/cron/schedule.d.ts +2 -0
  794. package/dist/plugin-sdk/cron/service/jobs.d.ts +21 -0
  795. package/dist/plugin-sdk/cron/service/locked.d.ts +2 -0
  796. package/dist/plugin-sdk/cron/service/normalize.d.ts +18 -0
  797. package/dist/plugin-sdk/cron/service/ops.d.ts +81 -0
  798. package/dist/plugin-sdk/cron/service/state.d.ts +125 -0
  799. package/dist/plugin-sdk/cron/service/store.d.ts +9 -0
  800. package/dist/plugin-sdk/cron/service/timer.d.ts +47 -0
  801. package/dist/plugin-sdk/cron/service.d.ts +66 -0
  802. package/dist/plugin-sdk/cron/session-reaper.d.ts +35 -0
  803. package/dist/plugin-sdk/cron/stagger.d.ts +8 -0
  804. package/dist/plugin-sdk/cron/store.d.ts +6 -0
  805. package/dist/plugin-sdk/cron/types.d.ts +131 -0
  806. package/dist/plugin-sdk/cron/webhook-url.d.ts +1 -0
  807. package/dist/plugin-sdk/daemon/constants.d.ts +35 -0
  808. package/dist/plugin-sdk/discord/accounts.d.ts +21 -0
  809. package/dist/plugin-sdk/discord/api.d.ts +11 -0
  810. package/dist/plugin-sdk/discord/audit.d.ts +29 -0
  811. package/dist/plugin-sdk/discord/chunk.d.ts +20 -0
  812. package/dist/plugin-sdk/discord/client.d.ts +21 -0
  813. package/dist/plugin-sdk/discord/components-registry.d.ts +16 -0
  814. package/dist/plugin-sdk/discord/components.d.ts +196 -0
  815. package/dist/plugin-sdk/discord/directory-live.d.ts +4 -0
  816. package/dist/plugin-sdk/discord/draft-chunking.d.ts +6 -0
  817. package/dist/plugin-sdk/discord/draft-stream.d.ts +21 -0
  818. package/dist/plugin-sdk/discord/gateway-logging.d.ts +8 -0
  819. package/dist/plugin-sdk/discord/guilds.d.ts +6 -0
  820. package/dist/plugin-sdk/discord/monitor/agent-components.d.ts +55 -0
  821. package/dist/plugin-sdk/discord/monitor/allow-list.d.ts +176 -0
  822. package/dist/plugin-sdk/discord/monitor/commands.d.ts +2 -0
  823. package/dist/plugin-sdk/discord/monitor/format.d.ts +13 -0
  824. package/dist/plugin-sdk/discord/monitor/gateway-plugin.d.ts +8 -0
  825. package/dist/plugin-sdk/discord/monitor/gateway-registry.d.ts +9 -0
  826. package/dist/plugin-sdk/discord/monitor/listeners.d.ts +44 -0
  827. package/dist/plugin-sdk/discord/monitor/message-handler.d.ts +5 -0
  828. package/dist/plugin-sdk/discord/monitor/message-handler.preflight.d.ts +14 -0
  829. package/dist/plugin-sdk/discord/monitor/message-handler.preflight.types.d.ts +95 -0
  830. package/dist/plugin-sdk/discord/monitor/message-handler.process.d.ts +2 -0
  831. package/dist/plugin-sdk/discord/monitor/message-utils.d.ts +40 -0
  832. package/dist/plugin-sdk/discord/monitor/native-command.d.ts +23 -0
  833. package/dist/plugin-sdk/discord/monitor/presence-cache.d.ts +9 -0
  834. package/dist/plugin-sdk/discord/monitor/presence.d.ts +5 -0
  835. package/dist/plugin-sdk/discord/monitor/provider.allowlist.d.ts +14 -0
  836. package/dist/plugin-sdk/discord/monitor/provider.d.ts +28 -0
  837. package/dist/plugin-sdk/discord/monitor/provider.lifecycle.d.ts +23 -0
  838. package/dist/plugin-sdk/discord/monitor/reply-context.d.ts +17 -0
  839. package/dist/plugin-sdk/discord/monitor/reply-delivery.d.ts +22 -0
  840. package/dist/plugin-sdk/discord/monitor/rest-fetch.d.ts +2 -0
  841. package/dist/plugin-sdk/discord/monitor/sender-identity.d.ts +31 -0
  842. package/dist/plugin-sdk/discord/monitor/system-events.d.ts +2 -0
  843. package/dist/plugin-sdk/discord/monitor/thread-bindings.d.ts +5 -0
  844. package/dist/plugin-sdk/discord/monitor/thread-bindings.discord-api.d.ts +36 -0
  845. package/dist/plugin-sdk/discord/monitor/thread-bindings.lifecycle.d.ts +30 -0
  846. package/dist/plugin-sdk/discord/monitor/thread-bindings.manager.d.ts +17 -0
  847. package/dist/plugin-sdk/discord/monitor/thread-bindings.messages.d.ts +17 -0
  848. package/dist/plugin-sdk/discord/monitor/thread-bindings.state.d.ts +61 -0
  849. package/dist/plugin-sdk/discord/monitor/thread-bindings.types.d.ts +64 -0
  850. package/dist/plugin-sdk/discord/monitor/threading.d.ts +106 -0
  851. package/dist/plugin-sdk/discord/monitor/typing.d.ts +5 -0
  852. package/dist/plugin-sdk/discord/monitor.d.ts +10 -0
  853. package/dist/plugin-sdk/discord/monitor.gateway.d.ts +12 -0
  854. package/dist/plugin-sdk/discord/pluralkit.d.ts +26 -0
  855. package/dist/plugin-sdk/discord/probe.d.ts +28 -0
  856. package/dist/plugin-sdk/discord/resolve-channels.d.ts +15 -0
  857. package/dist/plugin-sdk/discord/resolve-users.d.ts +14 -0
  858. package/dist/plugin-sdk/discord/send.channels.d.ts +17 -0
  859. package/dist/plugin-sdk/discord/send.components.d.ts +17 -0
  860. package/dist/plugin-sdk/discord/send.d.ts +10 -0
  861. package/dist/plugin-sdk/discord/send.emojis-stickers.d.ts +4 -0
  862. package/dist/plugin-sdk/discord/send.guild.d.ts +24 -0
  863. package/dist/plugin-sdk/discord/send.messages.d.ts +20 -0
  864. package/dist/plugin-sdk/discord/send.outbound.d.ts +57 -0
  865. package/dist/plugin-sdk/discord/send.permissions.d.ts +20 -0
  866. package/dist/plugin-sdk/discord/send.reactions.d.ts +15 -0
  867. package/dist/plugin-sdk/discord/send.shared.d.ts +85 -0
  868. package/dist/plugin-sdk/discord/send.types.d.ts +144 -0
  869. package/dist/plugin-sdk/discord/targets.d.ts +18 -0
  870. package/dist/plugin-sdk/discord/token.d.ts +11 -0
  871. package/dist/plugin-sdk/discord/voice/command.d.ts +15 -0
  872. package/dist/plugin-sdk/discord/voice/manager.d.ts +52 -0
  873. package/dist/plugin-sdk/discord/voice-message.d.ts +50 -0
  874. package/dist/plugin-sdk/gateway/call.d.ts +65 -0
  875. package/dist/plugin-sdk/gateway/chat-abort.d.ts +44 -0
  876. package/dist/plugin-sdk/gateway/chat-sanitize.d.ts +4 -0
  877. package/dist/plugin-sdk/gateway/client.d.ts +64 -0
  878. package/dist/plugin-sdk/gateway/control-ui-shared.d.ts +9 -0
  879. package/dist/plugin-sdk/gateway/credentials.d.ts +36 -0
  880. package/dist/plugin-sdk/gateway/device-auth.d.ts +11 -0
  881. package/dist/plugin-sdk/gateway/method-scopes.d.ts +22 -0
  882. package/dist/plugin-sdk/gateway/net.d.ts +77 -0
  883. package/dist/plugin-sdk/gateway/node-registry.d.ts +60 -0
  884. package/dist/plugin-sdk/gateway/protocol/client-info.d.ts +58 -0
  885. package/dist/plugin-sdk/gateway/protocol/index.d.ts +497 -0
  886. package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +89 -0
  887. package/dist/plugin-sdk/gateway/protocol/schema/agents-models-skills.d.ts +188 -0
  888. package/dist/plugin-sdk/gateway/protocol/schema/channels.d.ts +134 -0
  889. package/dist/plugin-sdk/gateway/protocol/schema/config.d.ts +53 -0
  890. package/dist/plugin-sdk/gateway/protocol/schema/cron.d.ts +324 -0
  891. package/dist/plugin-sdk/gateway/protocol/schema/devices.d.ts +41 -0
  892. package/dist/plugin-sdk/gateway/protocol/schema/error-codes.d.ts +14 -0
  893. package/dist/plugin-sdk/gateway/protocol/schema/frames.d.ts +168 -0
  894. package/dist/plugin-sdk/gateway/protocol/schema/logs-chat.d.ts +45 -0
  895. package/dist/plugin-sdk/gateway/protocol/schema/nodes.d.ts +64 -0
  896. package/dist/plugin-sdk/gateway/protocol/schema/primitives.d.ts +4 -0
  897. package/dist/plugin-sdk/gateway/protocol/schema/protocol-schemas.d.ts +3 -0
  898. package/dist/plugin-sdk/gateway/protocol/schema/push.d.ts +15 -0
  899. package/dist/plugin-sdk/gateway/protocol/schema/sessions.d.ts +81 -0
  900. package/dist/plugin-sdk/gateway/protocol/schema/snapshot.d.ts +69 -0
  901. package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +120 -0
  902. package/dist/plugin-sdk/gateway/protocol/schema/wizard.d.ts +86 -0
  903. package/dist/plugin-sdk/gateway/protocol/schema.d.ts +16 -0
  904. package/dist/plugin-sdk/gateway/server/ws-types.d.ts +9 -0
  905. package/dist/plugin-sdk/gateway/server-broadcast.d.ts +17 -0
  906. package/dist/plugin-sdk/gateway/server-channels.d.ts +26 -0
  907. package/dist/plugin-sdk/gateway/server-constants.d.ts +10 -0
  908. package/dist/plugin-sdk/gateway/server-methods/types.d.ts +84 -0
  909. package/dist/plugin-sdk/gateway/server-shared.d.ts +7 -0
  910. package/dist/plugin-sdk/gateway/session-utils.fs.d.ts +48 -0
  911. package/dist/plugin-sdk/gateway/session-utils.types.d.ts +84 -0
  912. package/dist/plugin-sdk/gateway/ws-log.d.ts +5 -0
  913. package/dist/plugin-sdk/gateway/ws-logging.d.ts +4 -0
  914. package/dist/plugin-sdk/globals.d.ts +11 -0
  915. package/dist/plugin-sdk/hooks/internal-hooks.d.ts +140 -0
  916. package/dist/plugin-sdk/hooks/types.d.ts +62 -0
  917. package/dist/plugin-sdk/imessage/accounts.d.ts +16 -0
  918. package/dist/plugin-sdk/imessage/client.d.ts +46 -0
  919. package/dist/plugin-sdk/imessage/constants.d.ts +2 -0
  920. package/dist/plugin-sdk/imessage/monitor/abort-handler.d.ts +9 -0
  921. package/dist/plugin-sdk/imessage/monitor/deliver.d.ts +14 -0
  922. package/dist/plugin-sdk/imessage/monitor/echo-cache.d.ts +9 -0
  923. package/dist/plugin-sdk/imessage/monitor/inbound-processing.d.ts +96 -0
  924. package/dist/plugin-sdk/imessage/monitor/monitor-provider.d.ts +7 -0
  925. package/dist/plugin-sdk/imessage/monitor/parse-notification.d.ts +2 -0
  926. package/dist/plugin-sdk/imessage/monitor/runtime.d.ts +4 -0
  927. package/dist/plugin-sdk/imessage/monitor/types.d.ts +37 -0
  928. package/dist/plugin-sdk/imessage/monitor.d.ts +2 -0
  929. package/dist/plugin-sdk/imessage/probe.d.ts +17 -0
  930. package/dist/plugin-sdk/imessage/send.d.ts +34 -0
  931. package/dist/plugin-sdk/imessage/target-parsing-helpers.d.ts +45 -0
  932. package/dist/plugin-sdk/imessage/targets.d.ts +39 -0
  933. package/dist/plugin-sdk/index.d.ts +1 -0
  934. package/dist/plugin-sdk/index.js +24645 -0
  935. package/dist/plugin-sdk/infra/agent-events.d.ts +21 -0
  936. package/dist/plugin-sdk/infra/archive-path.d.ts +12 -0
  937. package/dist/plugin-sdk/infra/archive.d.ts +46 -0
  938. package/dist/plugin-sdk/infra/backoff.d.ts +8 -0
  939. package/dist/plugin-sdk/infra/brew.d.ts +8 -0
  940. package/dist/plugin-sdk/infra/channel-activity.d.ts +18 -0
  941. package/dist/plugin-sdk/infra/channel-summary.d.ts +6 -0
  942. package/dist/plugin-sdk/infra/dedupe.d.ts +12 -0
  943. package/dist/plugin-sdk/infra/device-auth-store.d.ts +18 -0
  944. package/dist/plugin-sdk/infra/device-identity.d.ts +11 -0
  945. package/dist/plugin-sdk/infra/device-pairing.d.ts +101 -0
  946. package/dist/plugin-sdk/infra/diagnostic-events.d.ts +140 -0
  947. package/dist/plugin-sdk/infra/diagnostic-flags.d.ts +4 -0
  948. package/dist/plugin-sdk/infra/dotenv.d.ts +3 -0
  949. package/dist/plugin-sdk/infra/env.d.ts +11 -0
  950. package/dist/plugin-sdk/infra/errors.d.ts +11 -0
  951. package/dist/plugin-sdk/infra/fetch.d.ts +2 -0
  952. package/dist/plugin-sdk/infra/file-identity.d.ts +5 -0
  953. package/dist/plugin-sdk/infra/file-lock.d.ts +2 -0
  954. package/dist/plugin-sdk/infra/format-time/format-datetime.d.ts +35 -0
  955. package/dist/plugin-sdk/infra/format-time/format-duration.d.ts +23 -0
  956. package/dist/plugin-sdk/infra/format-time/format-relative.d.ts +39 -0
  957. package/dist/plugin-sdk/infra/fs-safe.d.ts +25 -0
  958. package/dist/plugin-sdk/infra/gemini-auth.d.ts +16 -0
  959. package/dist/plugin-sdk/infra/git-commit.d.ts +4 -0
  960. package/dist/plugin-sdk/infra/git-root.d.ts +7 -0
  961. package/dist/plugin-sdk/infra/heartbeat-active-hours.d.ts +5 -0
  962. package/dist/plugin-sdk/infra/heartbeat-events-filter.d.ts +8 -0
  963. package/dist/plugin-sdk/infra/heartbeat-events.d.ts +21 -0
  964. package/dist/plugin-sdk/infra/heartbeat-reason.d.ts +5 -0
  965. package/dist/plugin-sdk/infra/heartbeat-runner.d.ts +45 -0
  966. package/dist/plugin-sdk/infra/heartbeat-visibility.d.ts +17 -0
  967. package/dist/plugin-sdk/infra/heartbeat-wake.d.ts +31 -0
  968. package/dist/plugin-sdk/infra/home-dir.d.ts +7 -0
  969. package/dist/plugin-sdk/infra/host-env-security.d.ts +21 -0
  970. package/dist/plugin-sdk/infra/http-body.d.ts +46 -0
  971. package/dist/plugin-sdk/infra/json-file.d.ts +2 -0
  972. package/dist/plugin-sdk/infra/json-files.d.ts +5 -0
  973. package/dist/plugin-sdk/infra/map-size.d.ts +1 -0
  974. package/dist/plugin-sdk/infra/net/fetch-guard.d.ts +21 -0
  975. package/dist/plugin-sdk/infra/net/hostname.d.ts +1 -0
  976. package/dist/plugin-sdk/infra/net/ssrf.d.ts +35 -0
  977. package/dist/plugin-sdk/infra/outbound/abort.d.ts +8 -0
  978. package/dist/plugin-sdk/infra/outbound/agent-delivery.d.ts +46 -0
  979. package/dist/plugin-sdk/infra/outbound/bound-delivery-router.d.ts +16 -0
  980. package/dist/plugin-sdk/infra/outbound/channel-selection.d.ts +11 -0
  981. package/dist/plugin-sdk/infra/outbound/channel-target.d.ts +6 -0
  982. package/dist/plugin-sdk/infra/outbound/deliver.d.ts +81 -0
  983. package/dist/plugin-sdk/infra/outbound/delivery-queue.d.ts +78 -0
  984. package/dist/plugin-sdk/infra/outbound/directory-cache.d.ts +24 -0
  985. package/dist/plugin-sdk/infra/outbound/envelope.d.ts +16 -0
  986. package/dist/plugin-sdk/infra/outbound/format.d.ts +39 -0
  987. package/dist/plugin-sdk/infra/outbound/identity.d.ts +8 -0
  988. package/dist/plugin-sdk/infra/outbound/message-action-spec.d.ts +5 -0
  989. package/dist/plugin-sdk/infra/outbound/payloads.d.ts +18 -0
  990. package/dist/plugin-sdk/infra/outbound/session-binding-service.d.ts +57 -0
  991. package/dist/plugin-sdk/infra/outbound/target-errors.d.ts +6 -0
  992. package/dist/plugin-sdk/infra/outbound/target-normalization.d.ts +4 -0
  993. package/dist/plugin-sdk/infra/outbound/target-resolver.d.ts +53 -0
  994. package/dist/plugin-sdk/infra/outbound/targets.d.ts +87 -0
  995. package/dist/plugin-sdk/infra/pairing-files.d.ts +23 -0
  996. package/dist/plugin-sdk/infra/pairing-pending.d.ts +13 -0
  997. package/dist/plugin-sdk/infra/pairing-token.d.ts +3 -0
  998. package/dist/plugin-sdk/infra/path-guards.d.ts +5 -0
  999. package/dist/plugin-sdk/infra/path-safety.d.ts +2 -0
  1000. package/dist/plugin-sdk/infra/plain-object.d.ts +4 -0
  1001. package/dist/plugin-sdk/infra/prototype-keys.d.ts +1 -0
  1002. package/dist/plugin-sdk/infra/provider-usage.auth.d.ts +11 -0
  1003. package/dist/plugin-sdk/infra/provider-usage.d.ts +4 -0
  1004. package/dist/plugin-sdk/infra/provider-usage.fetch.claude.d.ts +2 -0
  1005. package/dist/plugin-sdk/infra/provider-usage.fetch.codex.d.ts +2 -0
  1006. package/dist/plugin-sdk/infra/provider-usage.fetch.copilot.d.ts +2 -0
  1007. package/dist/plugin-sdk/infra/provider-usage.fetch.d.ts +6 -0
  1008. package/dist/plugin-sdk/infra/provider-usage.fetch.gemini.d.ts +2 -0
  1009. package/dist/plugin-sdk/infra/provider-usage.fetch.minimax.d.ts +2 -0
  1010. package/dist/plugin-sdk/infra/provider-usage.fetch.shared.d.ts +12 -0
  1011. package/dist/plugin-sdk/infra/provider-usage.fetch.zai.d.ts +2 -0
  1012. package/dist/plugin-sdk/infra/provider-usage.format.d.ts +13 -0
  1013. package/dist/plugin-sdk/infra/provider-usage.load.d.ts +12 -0
  1014. package/dist/plugin-sdk/infra/provider-usage.shared.d.ts +8 -0
  1015. package/dist/plugin-sdk/infra/provider-usage.types.d.ts +17 -0
  1016. package/dist/plugin-sdk/infra/restart.d.ts +70 -0
  1017. package/dist/plugin-sdk/infra/retry-policy.d.ts +25 -0
  1018. package/dist/plugin-sdk/infra/retry.d.ts +21 -0
  1019. package/dist/plugin-sdk/infra/safe-executable-value.d.ts +1 -0
  1020. package/dist/plugin-sdk/infra/scp-host.d.ts +2 -0
  1021. package/dist/plugin-sdk/infra/secure-random.d.ts +2 -0
  1022. package/dist/plugin-sdk/infra/session-cost-usage.d.ts +45 -0
  1023. package/dist/plugin-sdk/infra/session-cost-usage.types.d.ts +153 -0
  1024. package/dist/plugin-sdk/infra/session-maintenance-warning.d.ts +10 -0
  1025. package/dist/plugin-sdk/infra/shell-env.d.ts +34 -0
  1026. package/dist/plugin-sdk/infra/system-events.d.ts +18 -0
  1027. package/dist/plugin-sdk/infra/tailnet.d.ts +8 -0
  1028. package/dist/plugin-sdk/infra/tls/fingerprint.d.ts +1 -0
  1029. package/dist/plugin-sdk/infra/tls/gateway.d.ts +16 -0
  1030. package/dist/plugin-sdk/infra/tmp-remoteclaw-dir.d.ts +18 -0
  1031. package/dist/plugin-sdk/infra/transport-ready.d.ts +16 -0
  1032. package/dist/plugin-sdk/infra/unhandled-rejections.d.ts +15 -0
  1033. package/dist/plugin-sdk/infra/ws.d.ts +2 -0
  1034. package/dist/plugin-sdk/infra/wsl.d.ts +11 -0
  1035. package/dist/plugin-sdk/line/accounts.d.ts +10 -0
  1036. package/dist/plugin-sdk/line/actions.d.ts +22 -0
  1037. package/dist/plugin-sdk/line/auto-reply-delivery.d.ts +38 -0
  1038. package/dist/plugin-sdk/line/bot-access.d.ts +17 -0
  1039. package/dist/plugin-sdk/line/bot-handlers.d.ts +13 -0
  1040. package/dist/plugin-sdk/line/bot-message-context.d.ts +118 -0
  1041. package/dist/plugin-sdk/line/bot.d.ts +24 -0
  1042. package/dist/plugin-sdk/line/channel-access-token.d.ts +4 -0
  1043. package/dist/plugin-sdk/line/config-schema.d.ts +64 -0
  1044. package/dist/plugin-sdk/line/download.d.ts +7 -0
  1045. package/dist/plugin-sdk/line/flex-templates/basic-cards.d.ts +46 -0
  1046. package/dist/plugin-sdk/line/flex-templates/common.d.ts +2 -0
  1047. package/dist/plugin-sdk/line/flex-templates/media-control-cards.d.ts +73 -0
  1048. package/dist/plugin-sdk/line/flex-templates/message.d.ts +6 -0
  1049. package/dist/plugin-sdk/line/flex-templates/schedule-cards.d.ts +55 -0
  1050. package/dist/plugin-sdk/line/flex-templates/types.d.ts +19 -0
  1051. package/dist/plugin-sdk/line/flex-templates.d.ts +5 -0
  1052. package/dist/plugin-sdk/line/markdown-to-line.d.ts +72 -0
  1053. package/dist/plugin-sdk/line/monitor.d.ts +28 -0
  1054. package/dist/plugin-sdk/line/probe.d.ts +2 -0
  1055. package/dist/plugin-sdk/line/reply-chunks.d.ts +24 -0
  1056. package/dist/plugin-sdk/line/send.d.ts +91 -0
  1057. package/dist/plugin-sdk/line/signature.d.ts +1 -0
  1058. package/dist/plugin-sdk/line/template-messages.d.ts +100 -0
  1059. package/dist/plugin-sdk/line/types.d.ts +113 -0
  1060. package/dist/plugin-sdk/line/webhook-node.d.ts +15 -0
  1061. package/dist/plugin-sdk/line/webhook-utils.d.ts +3 -0
  1062. package/dist/plugin-sdk/line/webhook.d.ts +19 -0
  1063. package/dist/plugin-sdk/link-understanding/apply.d.ts +10 -0
  1064. package/dist/plugin-sdk/link-understanding/defaults.d.ts +2 -0
  1065. package/dist/plugin-sdk/link-understanding/detect.d.ts +3 -0
  1066. package/dist/plugin-sdk/link-understanding/format.d.ts +4 -0
  1067. package/dist/plugin-sdk/link-understanding/runner.d.ts +11 -0
  1068. package/dist/plugin-sdk/logger.d.ts +6 -0
  1069. package/dist/plugin-sdk/logging/config.d.ts +4 -0
  1070. package/dist/plugin-sdk/logging/console.d.ts +23 -0
  1071. package/dist/plugin-sdk/logging/diagnostic-session-state.d.ts +30 -0
  1072. package/dist/plugin-sdk/logging/diagnostic.d.ts +65 -0
  1073. package/dist/plugin-sdk/logging/env-log-level.d.ts +2 -0
  1074. package/dist/plugin-sdk/logging/levels.d.ts +5 -0
  1075. package/dist/plugin-sdk/logging/logger.d.ts +44 -0
  1076. package/dist/plugin-sdk/logging/node-require.d.ts +1 -0
  1077. package/dist/plugin-sdk/logging/redact-identifier.d.ts +4 -0
  1078. package/dist/plugin-sdk/logging/redact.d.ts +9 -0
  1079. package/dist/plugin-sdk/logging/state.d.ts +19 -0
  1080. package/dist/plugin-sdk/logging/subsystem.d.ts +18 -0
  1081. package/dist/plugin-sdk/logging/timestamps.d.ts +1 -0
  1082. package/dist/plugin-sdk/logging.d.ts +10 -0
  1083. package/dist/plugin-sdk/markdown/fences.d.ts +10 -0
  1084. package/dist/plugin-sdk/markdown/ir.d.ts +32 -0
  1085. package/dist/plugin-sdk/markdown/render.d.ts +18 -0
  1086. package/dist/plugin-sdk/markdown/tables.d.ts +2 -0
  1087. package/dist/plugin-sdk/markdown/whatsapp.d.ts +14 -0
  1088. package/dist/plugin-sdk/media/audio-tags.d.ts +10 -0
  1089. package/dist/plugin-sdk/media/audio.d.ts +19 -0
  1090. package/dist/plugin-sdk/media/base64.d.ts +6 -0
  1091. package/dist/plugin-sdk/media/constants.d.ts +7 -0
  1092. package/dist/plugin-sdk/media/fetch.d.ts +23 -0
  1093. package/dist/plugin-sdk/media/image-ops.d.ts +41 -0
  1094. package/dist/plugin-sdk/media/inbound-path-policy.d.ts +18 -0
  1095. package/dist/plugin-sdk/media/input-files.d.ts +95 -0
  1096. package/dist/plugin-sdk/media/local-roots.d.ts +3 -0
  1097. package/dist/plugin-sdk/media/mime.d.ts +16 -0
  1098. package/dist/plugin-sdk/media/outbound-attachment.d.ts +6 -0
  1099. package/dist/plugin-sdk/media/parse.d.ts +8 -0
  1100. package/dist/plugin-sdk/media/png-encode.d.ts +8 -0
  1101. package/dist/plugin-sdk/media/read-response-with-limit.d.ts +7 -0
  1102. package/dist/plugin-sdk/media/store.d.ts +33 -0
  1103. package/dist/plugin-sdk/media-understanding/apply.d.ts +19 -0
  1104. package/dist/plugin-sdk/media-understanding/attachments.d.ts +49 -0
  1105. package/dist/plugin-sdk/media-understanding/audio-preflight.d.ts +16 -0
  1106. package/dist/plugin-sdk/media-understanding/concurrency.d.ts +1 -0
  1107. package/dist/plugin-sdk/media-understanding/defaults.d.ts +12 -0
  1108. package/dist/plugin-sdk/media-understanding/errors.d.ts +6 -0
  1109. package/dist/plugin-sdk/media-understanding/format.d.ts +7 -0
  1110. package/dist/plugin-sdk/media-understanding/fs.d.ts +1 -0
  1111. package/dist/plugin-sdk/media-understanding/output-extract.d.ts +2 -0
  1112. package/dist/plugin-sdk/media-understanding/providers/anthropic/index.d.ts +2 -0
  1113. package/dist/plugin-sdk/media-understanding/providers/deepgram/audio.d.ts +4 -0
  1114. package/dist/plugin-sdk/media-understanding/providers/deepgram/index.d.ts +2 -0
  1115. package/dist/plugin-sdk/media-understanding/providers/google/audio.d.ts +3 -0
  1116. package/dist/plugin-sdk/media-understanding/providers/google/index.d.ts +2 -0
  1117. package/dist/plugin-sdk/media-understanding/providers/google/inline-data.d.ts +20 -0
  1118. package/dist/plugin-sdk/media-understanding/providers/google/video.d.ts +3 -0
  1119. package/dist/plugin-sdk/media-understanding/providers/groq/index.d.ts +2 -0
  1120. package/dist/plugin-sdk/media-understanding/providers/index.d.ts +4 -0
  1121. package/dist/plugin-sdk/media-understanding/providers/minimax/index.d.ts +2 -0
  1122. package/dist/plugin-sdk/media-understanding/providers/mistral/index.d.ts +2 -0
  1123. package/dist/plugin-sdk/media-understanding/providers/moonshot/index.d.ts +2 -0
  1124. package/dist/plugin-sdk/media-understanding/providers/moonshot/video.d.ts +3 -0
  1125. package/dist/plugin-sdk/media-understanding/providers/openai/audio.d.ts +3 -0
  1126. package/dist/plugin-sdk/media-understanding/providers/openai/index.d.ts +2 -0
  1127. package/dist/plugin-sdk/media-understanding/providers/shared.d.ts +20 -0
  1128. package/dist/plugin-sdk/media-understanding/providers/zai/index.d.ts +2 -0
  1129. package/dist/plugin-sdk/media-understanding/resolve.d.ts +44 -0
  1130. package/dist/plugin-sdk/media-understanding/runner.d.ts +34 -0
  1131. package/dist/plugin-sdk/media-understanding/runner.entries.d.ts +33 -0
  1132. package/dist/plugin-sdk/media-understanding/scope.d.ts +9 -0
  1133. package/dist/plugin-sdk/media-understanding/types.d.ts +74 -0
  1134. package/dist/plugin-sdk/media-understanding/video.d.ts +2 -0
  1135. package/dist/plugin-sdk/middleware/channel-bridge.d.ts +39 -0
  1136. package/dist/plugin-sdk/middleware/cli-runtime-base.d.ts +35 -0
  1137. package/dist/plugin-sdk/middleware/delivery-adapter.d.ts +36 -0
  1138. package/dist/plugin-sdk/middleware/error-classifier.d.ts +14 -0
  1139. package/dist/plugin-sdk/middleware/mcp-side-effects.d.ts +20 -0
  1140. package/dist/plugin-sdk/middleware/runtime-factory.d.ts +4 -0
  1141. package/dist/plugin-sdk/middleware/runtimes/claude.d.ts +27 -0
  1142. package/dist/plugin-sdk/middleware/runtimes/codex.d.ts +74 -0
  1143. package/dist/plugin-sdk/middleware/runtimes/gemini.d.ts +52 -0
  1144. package/dist/plugin-sdk/middleware/runtimes/opencode.d.ts +54 -0
  1145. package/dist/plugin-sdk/middleware/session-map.d.ts +36 -0
  1146. package/dist/plugin-sdk/middleware/system-prompt.d.ts +30 -0
  1147. package/dist/plugin-sdk/middleware/types.d.ts +188 -0
  1148. package/dist/plugin-sdk/pairing/pairing-labels.d.ts +2 -0
  1149. package/dist/plugin-sdk/pairing/pairing-messages.d.ts +6 -0
  1150. package/dist/plugin-sdk/pairing/pairing-store.d.ts +48 -0
  1151. package/dist/plugin-sdk/plugin-sdk/account-id.d.ts +1 -0
  1152. package/dist/plugin-sdk/plugin-sdk/agent-media-payload.d.ts +12 -0
  1153. package/dist/plugin-sdk/plugin-sdk/allow-from.d.ts +32 -0
  1154. package/dist/plugin-sdk/plugin-sdk/command-auth.d.ts +25 -0
  1155. package/dist/plugin-sdk/plugin-sdk/config-paths.d.ts +6 -0
  1156. package/dist/plugin-sdk/plugin-sdk/file-lock.d.ts +16 -0
  1157. package/dist/plugin-sdk/plugin-sdk/group-access.d.ts +16 -0
  1158. package/dist/plugin-sdk/plugin-sdk/index.d.ts +162 -0
  1159. package/dist/plugin-sdk/plugin-sdk/json-store.d.ts +5 -0
  1160. package/dist/plugin-sdk/plugin-sdk/onboarding.d.ts +11 -0
  1161. package/dist/plugin-sdk/plugin-sdk/persistent-dedupe.d.ts +20 -0
  1162. package/dist/plugin-sdk/plugin-sdk/reply-payload.d.ts +22 -0
  1163. package/dist/plugin-sdk/plugin-sdk/run-command.d.ts +12 -0
  1164. package/dist/plugin-sdk/plugin-sdk/runtime.d.ts +10 -0
  1165. package/dist/plugin-sdk/plugin-sdk/slack-message-actions.d.ts +11 -0
  1166. package/dist/plugin-sdk/plugin-sdk/status-helpers.d.ts +88 -0
  1167. package/dist/plugin-sdk/plugin-sdk/temp-path.d.ts +12 -0
  1168. package/dist/plugin-sdk/plugin-sdk/text-chunking.d.ts +1 -0
  1169. package/dist/plugin-sdk/plugin-sdk/tool-send.d.ts +4 -0
  1170. package/dist/plugin-sdk/plugin-sdk/webhook-path.d.ts +6 -0
  1171. package/dist/plugin-sdk/plugin-sdk/webhook-targets.d.ts +23 -0
  1172. package/dist/plugin-sdk/plugins/bundled-dir.d.ts +1 -0
  1173. package/dist/plugin-sdk/plugins/commands.d.ts +83 -0
  1174. package/dist/plugin-sdk/plugins/config-schema.d.ts +2 -0
  1175. package/dist/plugin-sdk/plugins/config-state.d.ts +30 -0
  1176. package/dist/plugin-sdk/plugins/discovery.d.ts +24 -0
  1177. package/dist/plugin-sdk/plugins/hook-runner-global.d.ts +37 -0
  1178. package/dist/plugin-sdk/plugins/hooks.d.ts +49 -0
  1179. package/dist/plugin-sdk/plugins/http-path.d.ts +1 -0
  1180. package/dist/plugin-sdk/plugins/http-registry.d.ts +13 -0
  1181. package/dist/plugin-sdk/plugins/manifest-registry.d.ts +34 -0
  1182. package/dist/plugin-sdk/plugins/manifest.d.ts +66 -0
  1183. package/dist/plugin-sdk/plugins/path-safety.d.ts +5 -0
  1184. package/dist/plugin-sdk/plugins/registry.d.ts +130 -0
  1185. package/dist/plugin-sdk/plugins/runtime/native-deps.d.ts +8 -0
  1186. package/dist/plugin-sdk/plugins/runtime/types.d.ts +310 -0
  1187. package/dist/plugin-sdk/plugins/runtime.d.ts +5 -0
  1188. package/dist/plugin-sdk/plugins/schema-validator.d.ts +10 -0
  1189. package/dist/plugin-sdk/plugins/types.d.ts +487 -0
  1190. package/dist/plugin-sdk/polls.d.ts +31 -0
  1191. package/dist/plugin-sdk/process/command-queue.d.ts +51 -0
  1192. package/dist/plugin-sdk/process/exec.d.ts +30 -0
  1193. package/dist/plugin-sdk/process/lanes.d.ts +6 -0
  1194. package/dist/plugin-sdk/process/spawn-utils.d.ts +26 -0
  1195. package/dist/plugin-sdk/routing/account-id.d.ts +3 -0
  1196. package/dist/plugin-sdk/routing/account-lookup.d.ts +1 -0
  1197. package/dist/plugin-sdk/routing/bindings.d.ts +11 -0
  1198. package/dist/plugin-sdk/routing/resolve-route.d.ts +42 -0
  1199. package/dist/plugin-sdk/routing/session-key.d.ts +48 -0
  1200. package/dist/plugin-sdk/runtime.d.ts +7 -0
  1201. package/dist/plugin-sdk/security/channel-metadata.d.ts +6 -0
  1202. package/dist/plugin-sdk/security/dm-policy-shared.d.ts +33 -0
  1203. package/dist/plugin-sdk/security/external-content.d.ts +53 -0
  1204. package/dist/plugin-sdk/security/safe-regex.d.ts +2 -0
  1205. package/dist/plugin-sdk/security/scan-paths.d.ts +5 -0
  1206. package/dist/plugin-sdk/security/secret-equal.d.ts +1 -0
  1207. package/dist/plugin-sdk/sessions/input-provenance.d.ts +16 -0
  1208. package/dist/plugin-sdk/sessions/level-overrides.d.ts +10 -0
  1209. package/dist/plugin-sdk/sessions/model-overrides.d.ts +14 -0
  1210. package/dist/plugin-sdk/sessions/send-policy.d.ts +11 -0
  1211. package/dist/plugin-sdk/sessions/session-key-utils.d.ts +16 -0
  1212. package/dist/plugin-sdk/sessions/session-label.d.ts +9 -0
  1213. package/dist/plugin-sdk/sessions/transcript-events.d.ts +7 -0
  1214. package/dist/plugin-sdk/shared/avatar-policy.d.ts +16 -0
  1215. package/dist/plugin-sdk/shared/chat-content.d.ts +5 -0
  1216. package/dist/plugin-sdk/shared/chat-envelope.d.ts +2 -0
  1217. package/dist/plugin-sdk/shared/device-auth.d.ts +13 -0
  1218. package/dist/plugin-sdk/shared/gateway-bind-url.d.ts +14 -0
  1219. package/dist/plugin-sdk/shared/net/ip.d.ts +19 -0
  1220. package/dist/plugin-sdk/shared/operator-scope-compat.d.ts +5 -0
  1221. package/dist/plugin-sdk/shared/pid-alive.d.ts +1 -0
  1222. package/dist/plugin-sdk/shared/process-scoped-map.d.ts +1 -0
  1223. package/dist/plugin-sdk/shared/string-normalization.d.ts +4 -0
  1224. package/dist/plugin-sdk/shared/subagents-format.d.ts +15 -0
  1225. package/dist/plugin-sdk/shared/tailscale-status.d.ts +8 -0
  1226. package/dist/plugin-sdk/shared/text/code-regions.d.ts +6 -0
  1227. package/dist/plugin-sdk/shared/text/reasoning-tags.d.ts +6 -0
  1228. package/dist/plugin-sdk/shared/text-chunking.d.ts +1 -0
  1229. package/dist/plugin-sdk/signal/accounts.d.ts +17 -0
  1230. package/dist/plugin-sdk/signal/client.d.ts +32 -0
  1231. package/dist/plugin-sdk/signal/daemon.d.ts +26 -0
  1232. package/dist/plugin-sdk/signal/format.d.ts +17 -0
  1233. package/dist/plugin-sdk/signal/identity.d.ts +24 -0
  1234. package/dist/plugin-sdk/signal/index.d.ts +5 -0
  1235. package/dist/plugin-sdk/signal/monitor/event-handler.d.ts +5 -0
  1236. package/dist/plugin-sdk/signal/monitor/event-handler.types.d.ts +125 -0
  1237. package/dist/plugin-sdk/signal/monitor/mentions.d.ts +2 -0
  1238. package/dist/plugin-sdk/signal/monitor.d.ts +25 -0
  1239. package/dist/plugin-sdk/signal/probe.d.ts +7 -0
  1240. package/dist/plugin-sdk/signal/reaction-level.d.ts +17 -0
  1241. package/dist/plugin-sdk/signal/rpc-context.d.ts +9 -0
  1242. package/dist/plugin-sdk/signal/send-reactions.d.ts +32 -0
  1243. package/dist/plugin-sdk/signal/send.d.ts +25 -0
  1244. package/dist/plugin-sdk/signal/sse-reconnect.d.ts +13 -0
  1245. package/dist/plugin-sdk/slack/accounts.d.ts +32 -0
  1246. package/dist/plugin-sdk/slack/actions.d.ts +56 -0
  1247. package/dist/plugin-sdk/slack/blocks-fallback.d.ts +2 -0
  1248. package/dist/plugin-sdk/slack/blocks-input.d.ts +3 -0
  1249. package/dist/plugin-sdk/slack/channel-migration.d.ts +20 -0
  1250. package/dist/plugin-sdk/slack/client.d.ts +4 -0
  1251. package/dist/plugin-sdk/slack/directory-live.d.ts +4 -0
  1252. package/dist/plugin-sdk/slack/draft-stream.d.ts +25 -0
  1253. package/dist/plugin-sdk/slack/format.d.ts +7 -0
  1254. package/dist/plugin-sdk/slack/http/index.d.ts +1 -0
  1255. package/dist/plugin-sdk/slack/http/registry.d.ts +12 -0
  1256. package/dist/plugin-sdk/slack/index.d.ts +6 -0
  1257. package/dist/plugin-sdk/slack/message-actions.d.ts +4 -0
  1258. package/dist/plugin-sdk/slack/modal-metadata.d.ts +7 -0
  1259. package/dist/plugin-sdk/slack/monitor/allow-list.d.ts +23 -0
  1260. package/dist/plugin-sdk/slack/monitor/auth.d.ts +11 -0
  1261. package/dist/plugin-sdk/slack/monitor/channel-config.d.ts +43 -0
  1262. package/dist/plugin-sdk/slack/monitor/commands.d.ts +9 -0
  1263. package/dist/plugin-sdk/slack/monitor/context.d.ts +104 -0
  1264. package/dist/plugin-sdk/slack/monitor/events/channels.d.ts +4 -0
  1265. package/dist/plugin-sdk/slack/monitor/events/interactions.d.ts +4 -0
  1266. package/dist/plugin-sdk/slack/monitor/events/members.d.ts +4 -0
  1267. package/dist/plugin-sdk/slack/monitor/events/messages.d.ts +6 -0
  1268. package/dist/plugin-sdk/slack/monitor/events/pins.d.ts +4 -0
  1269. package/dist/plugin-sdk/slack/monitor/events/reactions.d.ts +4 -0
  1270. package/dist/plugin-sdk/slack/monitor/events.d.ts +8 -0
  1271. package/dist/plugin-sdk/slack/monitor/external-arg-menu-store.d.ts +18 -0
  1272. package/dist/plugin-sdk/slack/monitor/media.d.ts +66 -0
  1273. package/dist/plugin-sdk/slack/monitor/message-handler/dispatch.d.ts +12 -0
  1274. package/dist/plugin-sdk/slack/monitor/message-handler/prepare.d.ts +13 -0
  1275. package/dist/plugin-sdk/slack/monitor/message-handler/types.d.ts +22 -0
  1276. package/dist/plugin-sdk/slack/monitor/message-handler.d.ts +11 -0
  1277. package/dist/plugin-sdk/slack/monitor/mrkdwn.d.ts +1 -0
  1278. package/dist/plugin-sdk/slack/monitor/policy.d.ts +5 -0
  1279. package/dist/plugin-sdk/slack/monitor/provider.d.ts +7 -0
  1280. package/dist/plugin-sdk/slack/monitor/replies.d.ts +53 -0
  1281. package/dist/plugin-sdk/slack/monitor/room-context.d.ts +14 -0
  1282. package/dist/plugin-sdk/slack/monitor/slash.d.ts +6 -0
  1283. package/dist/plugin-sdk/slack/monitor/thread-resolution.d.ts +12 -0
  1284. package/dist/plugin-sdk/slack/monitor/types.d.ts +97 -0
  1285. package/dist/plugin-sdk/slack/monitor.d.ts +5 -0
  1286. package/dist/plugin-sdk/slack/probe.d.ts +14 -0
  1287. package/dist/plugin-sdk/slack/resolve-channels.d.ts +19 -0
  1288. package/dist/plugin-sdk/slack/resolve-users.d.ts +26 -0
  1289. package/dist/plugin-sdk/slack/send.d.ts +22 -0
  1290. package/dist/plugin-sdk/slack/stream-mode.d.ts +23 -0
  1291. package/dist/plugin-sdk/slack/streaming.d.ts +72 -0
  1292. package/dist/plugin-sdk/slack/targets.d.ts +7 -0
  1293. package/dist/plugin-sdk/slack/threading-tool-context.d.ts +10 -0
  1294. package/dist/plugin-sdk/slack/threading.d.ts +29 -0
  1295. package/dist/plugin-sdk/slack/token.d.ts +3 -0
  1296. package/dist/plugin-sdk/slack/types.d.ts +58 -0
  1297. package/dist/plugin-sdk/telegram/accounts.d.ts +21 -0
  1298. package/dist/plugin-sdk/telegram/allowed-updates.d.ts +4 -0
  1299. package/dist/plugin-sdk/telegram/api-logging.d.ts +11 -0
  1300. package/dist/plugin-sdk/telegram/audit.d.ts +29 -0
  1301. package/dist/plugin-sdk/telegram/bot/delivery.d.ts +35 -0
  1302. package/dist/plugin-sdk/telegram/bot/helpers.d.ts +128 -0
  1303. package/dist/plugin-sdk/telegram/bot/types.d.ts +28 -0
  1304. package/dist/plugin-sdk/telegram/bot-access.d.ts +26 -0
  1305. package/dist/plugin-sdk/telegram/bot-handlers.d.ts +2 -0
  1306. package/dist/plugin-sdk/telegram/bot-message-context.d.ts +145 -0
  1307. package/dist/plugin-sdk/telegram/bot-message-dispatch.d.ts +19 -0
  1308. package/dist/plugin-sdk/telegram/bot-message.d.ts +20 -0
  1309. package/dist/plugin-sdk/telegram/bot-native-command-menu.d.ts +33 -0
  1310. package/dist/plugin-sdk/telegram/bot-native-commands.d.ts +59 -0
  1311. package/dist/plugin-sdk/telegram/bot-updates.d.ts +31 -0
  1312. package/dist/plugin-sdk/telegram/bot.d.ts +62 -0
  1313. package/dist/plugin-sdk/telegram/button-types.d.ts +7 -0
  1314. package/dist/plugin-sdk/telegram/caption.d.ts +5 -0
  1315. package/dist/plugin-sdk/telegram/dm-access.d.ts +18 -0
  1316. package/dist/plugin-sdk/telegram/draft-stream.d.ts +37 -0
  1317. package/dist/plugin-sdk/telegram/fetch.d.ts +5 -0
  1318. package/dist/plugin-sdk/telegram/format.d.ts +18 -0
  1319. package/dist/plugin-sdk/telegram/group-access.d.ts +54 -0
  1320. package/dist/plugin-sdk/telegram/group-config-helpers.d.ts +8 -0
  1321. package/dist/plugin-sdk/telegram/group-migration.d.ts +20 -0
  1322. package/dist/plugin-sdk/telegram/inline-buttons.d.ts +11 -0
  1323. package/dist/plugin-sdk/telegram/lane-delivery.d.ts +56 -0
  1324. package/dist/plugin-sdk/telegram/monitor.d.ts +19 -0
  1325. package/dist/plugin-sdk/telegram/network-config.d.ts +33 -0
  1326. package/dist/plugin-sdk/telegram/network-errors.d.ts +5 -0
  1327. package/dist/plugin-sdk/telegram/outbound-params.d.ts +2 -0
  1328. package/dist/plugin-sdk/telegram/probe.d.ts +17 -0
  1329. package/dist/plugin-sdk/telegram/proxy.d.ts +1 -0
  1330. package/dist/plugin-sdk/telegram/reaction-level.d.ts +11 -0
  1331. package/dist/plugin-sdk/telegram/reasoning-lane-coordinator.d.ts +18 -0
  1332. package/dist/plugin-sdk/telegram/send.d.ts +153 -0
  1333. package/dist/plugin-sdk/telegram/sent-message-cache.d.ts +16 -0
  1334. package/dist/plugin-sdk/telegram/status-reaction-variants.d.ts +21 -0
  1335. package/dist/plugin-sdk/telegram/sticker-cache.d.ts +47 -0
  1336. package/dist/plugin-sdk/telegram/target-writeback.d.ts +7 -0
  1337. package/dist/plugin-sdk/telegram/targets.d.ts +11 -0
  1338. package/dist/plugin-sdk/telegram/token.d.ts +13 -0
  1339. package/dist/plugin-sdk/telegram/update-offset-store.d.ts +15 -0
  1340. package/dist/plugin-sdk/telegram/voice.d.ts +16 -0
  1341. package/dist/plugin-sdk/telegram/webhook.d.ts +20 -0
  1342. package/dist/plugin-sdk/terminal/ansi.d.ts +2 -0
  1343. package/dist/plugin-sdk/terminal/health-style.d.ts +1 -0
  1344. package/dist/plugin-sdk/terminal/links.d.ts +6 -0
  1345. package/dist/plugin-sdk/terminal/palette.d.ts +10 -0
  1346. package/dist/plugin-sdk/terminal/progress-line.d.ts +3 -0
  1347. package/dist/plugin-sdk/terminal/prompt-style.d.ts +3 -0
  1348. package/dist/plugin-sdk/terminal/restore.d.ts +17 -0
  1349. package/dist/plugin-sdk/terminal/theme.d.ts +15 -0
  1350. package/dist/plugin-sdk/tts/tts-core.d.ts +38 -0
  1351. package/dist/plugin-sdk/tts/tts.d.ts +177 -0
  1352. package/dist/plugin-sdk/types/agent-types.d.ts +1 -0
  1353. package/dist/plugin-sdk/utils/account-id.d.ts +1 -0
  1354. package/dist/plugin-sdk/utils/boolean.d.ts +5 -0
  1355. package/dist/plugin-sdk/utils/chunk-items.d.ts +1 -0
  1356. package/dist/plugin-sdk/utils/delivery-context.d.ts +29 -0
  1357. package/dist/plugin-sdk/utils/directive-tags.d.ts +29 -0
  1358. package/dist/plugin-sdk/utils/fetch-timeout.d.ts +13 -0
  1359. package/dist/plugin-sdk/utils/mask-api-key.d.ts +1 -0
  1360. package/dist/plugin-sdk/utils/message-channel.d.ts +27 -0
  1361. package/dist/plugin-sdk/utils/normalize-secret-input.d.ts +11 -0
  1362. package/dist/plugin-sdk/utils/provider-utils.d.ts +9 -0
  1363. package/dist/plugin-sdk/utils/queue-helpers.d.ts +80 -0
  1364. package/dist/plugin-sdk/utils/reaction-level.d.ts +15 -0
  1365. package/dist/plugin-sdk/utils/run-with-concurrency.d.ts +11 -0
  1366. package/dist/plugin-sdk/utils/transcript-tools.d.ts +8 -0
  1367. package/dist/plugin-sdk/utils/usage-format.d.ts +26 -0
  1368. package/dist/plugin-sdk/utils/with-timeout.d.ts +1 -0
  1369. package/dist/plugin-sdk/utils.d.ts +63 -0
  1370. package/dist/plugin-sdk/version.d.ts +8 -0
  1371. package/dist/plugin-sdk/web/accounts.d.ts +39 -0
  1372. package/dist/plugin-sdk/web/active-listener.d.ts +25 -0
  1373. package/dist/plugin-sdk/web/auth-store.d.ts +26 -0
  1374. package/dist/plugin-sdk/web/auto-reply/constants.d.ts +1 -0
  1375. package/dist/plugin-sdk/web/auto-reply/deliver-reply.d.ts +19 -0
  1376. package/dist/plugin-sdk/web/auto-reply/heartbeat-runner.d.ts +20 -0
  1377. package/dist/plugin-sdk/web/auto-reply/loggers.d.ts +4 -0
  1378. package/dist/plugin-sdk/web/auto-reply/mentions.d.ts +19 -0
  1379. package/dist/plugin-sdk/web/auto-reply/monitor/ack-reaction.d.ts +13 -0
  1380. package/dist/plugin-sdk/web/auto-reply/monitor/broadcast.d.ts +16 -0
  1381. package/dist/plugin-sdk/web/auto-reply/monitor/commands.d.ts +2 -0
  1382. package/dist/plugin-sdk/web/auto-reply/monitor/echo.d.ts +17 -0
  1383. package/dist/plugin-sdk/web/auto-reply/monitor/group-activation.d.ts +9 -0
  1384. package/dist/plugin-sdk/web/auto-reply/monitor/group-gating.d.ts +33 -0
  1385. package/dist/plugin-sdk/web/auto-reply/monitor/group-members.d.ts +6 -0
  1386. package/dist/plugin-sdk/web/auto-reply/monitor/last-route.d.ts +15 -0
  1387. package/dist/plugin-sdk/web/auto-reply/monitor/message-line.d.ts +11 -0
  1388. package/dist/plugin-sdk/web/auto-reply/monitor/on-message.d.ts +24 -0
  1389. package/dist/plugin-sdk/web/auto-reply/monitor/peer.d.ts +2 -0
  1390. package/dist/plugin-sdk/web/auto-reply/monitor/process-message.d.ts +40 -0
  1391. package/dist/plugin-sdk/web/auto-reply/monitor.d.ts +5 -0
  1392. package/dist/plugin-sdk/web/auto-reply/session-snapshot.d.ts +17 -0
  1393. package/dist/plugin-sdk/web/auto-reply/types.d.ts +30 -0
  1394. package/dist/plugin-sdk/web/auto-reply/util.d.ts +2 -0
  1395. package/dist/plugin-sdk/web/auto-reply.d.ts +1 -0
  1396. package/dist/plugin-sdk/web/auto-reply.impl.d.ts +5 -0
  1397. package/dist/plugin-sdk/web/inbound/access-control.d.ts +36 -0
  1398. package/dist/plugin-sdk/web/inbound/dedupe.d.ts +2 -0
  1399. package/dist/plugin-sdk/web/inbound/extract.d.ts +13 -0
  1400. package/dist/plugin-sdk/web/inbound/media.d.ts +7 -0
  1401. package/dist/plugin-sdk/web/inbound/monitor.d.ts +30 -0
  1402. package/dist/plugin-sdk/web/inbound/send-api.d.ts +22 -0
  1403. package/dist/plugin-sdk/web/inbound/types.d.ts +41 -0
  1404. package/dist/plugin-sdk/web/inbound.d.ts +4 -0
  1405. package/dist/plugin-sdk/web/login-qr.d.ts +19 -0
  1406. package/dist/plugin-sdk/web/login.d.ts +3 -0
  1407. package/dist/plugin-sdk/web/media.d.ts +43 -0
  1408. package/dist/plugin-sdk/web/outbound.d.ts +24 -0
  1409. package/dist/plugin-sdk/web/qr-image.d.ts +4 -0
  1410. package/dist/plugin-sdk/web/reconnect.d.ts +12 -0
  1411. package/dist/plugin-sdk/web/session.d.ts +14 -0
  1412. package/dist/plugin-sdk/web/vcard.d.ts +6 -0
  1413. package/dist/plugin-sdk/whatsapp/normalize.d.ts +6 -0
  1414. package/dist/plugin-sdk/whatsapp/resolve-outbound-target.d.ts +12 -0
  1415. package/dist/plugin-sdk/wizard/prompts.d.ts +43 -0
  1416. package/dist/plugin-sdk/wizard/session.d.ts +42 -0
  1417. package/dist/plugins-BflZz0sp.js +453 -0
  1418. package/dist/plugins-allowlist-BbTQ5Z2k.js +15 -0
  1419. package/dist/plugins-allowlist-C20oaESO.js +15 -0
  1420. package/dist/plugins-cli-DV82scUw.js +798 -0
  1421. package/dist/plugins-cli-Qj1UyIZO.js +793 -0
  1422. package/dist/plugins-woGRXMzU.js +455 -0
  1423. package/dist/polls-B0CCBDeR.js +33 -0
  1424. package/dist/polls-CwwHzYBM.js +33 -0
  1425. package/dist/ports-DrruB2fK.js +370 -0
  1426. package/dist/ports-GT1yV-Tg.js +96 -0
  1427. package/dist/ports-NPqtlfp0.js +316 -0
  1428. package/dist/ports-QMI4-F9m.js +96 -0
  1429. package/dist/ports-lsof-Wteul3ju.js +27 -0
  1430. package/dist/process-scoped-map-CV9kDvfG.js +39 -0
  1431. package/dist/process-scoped-map-PEvnG75N.js +39 -0
  1432. package/dist/program-CQmIaRUI.js +244 -0
  1433. package/dist/program-context-DEU6ACnL.js +474 -0
  1434. package/dist/program-context-jqeI5alP.js +17 -0
  1435. package/dist/progress-C1kUfYL-.js +123 -0
  1436. package/dist/progress-CBkSaM6z.js +124 -0
  1437. package/dist/prompt-Bllj1dhc.js +21 -0
  1438. package/dist/prompt-Yn2yClg1.js +21 -0
  1439. package/dist/prompt-select-styled-BhTN6zE2.js +1650 -0
  1440. package/dist/prompt-select-styled-WopXnjIy.js +1647 -0
  1441. package/dist/prompt-style-DVEm3BZW.js +9 -0
  1442. package/dist/prompt-style-DjEYC_s-.js +9 -0
  1443. package/dist/provider-dispatcher-B4QMe-I6.js +659 -0
  1444. package/dist/provider-dispatcher-Bfauw6zz.js +660 -0
  1445. package/dist/provider-utils-3JTMJroG.js +79 -0
  1446. package/dist/provider-utils-FaBmofiq.js +79 -0
  1447. package/dist/proxy-DL3MD6-P.js +16 -0
  1448. package/dist/proxy-DpNv2cSV.js +16 -0
  1449. package/dist/push-apns-C0LyG-WB.js +713 -0
  1450. package/dist/push-apns-DuG95AKC.js +711 -0
  1451. package/dist/pw-ai-D9n6-Wa6.js +1906 -0
  1452. package/dist/pw-ai-T280E6Mn.js +1910 -0
  1453. package/dist/pw-ai-state-CGfLv6nV.js +11 -0
  1454. package/dist/pw-ai-state-Dynx20hr.js +11 -0
  1455. package/dist/qr-cli-DVECWTHN.js +352 -0
  1456. package/dist/qr-cli-hSLixZCe.js +347 -0
  1457. package/dist/redact-Dx1Fue21.js +191 -0
  1458. package/dist/redact-eZq1uwNK.js +191 -0
  1459. package/dist/redact-identifier-BTIWtaa-.js +15 -0
  1460. package/dist/redact-identifier-CAagcfWA.js +15 -0
  1461. package/dist/redact-snapshot-BZYLIqe-.js +2028 -0
  1462. package/dist/redact-snapshot-C6hVx_9I.js +2028 -0
  1463. package/dist/register.agent-Dmj-sgEl.js +1043 -0
  1464. package/dist/register.agent-IspcBFeD.js +286 -0
  1465. package/dist/register.configure-BqJEqyGL.js +130 -0
  1466. package/dist/register.configure-PPkU_4Ea.js +124 -0
  1467. package/dist/register.import-Bs-UkOs-.js +27 -0
  1468. package/dist/register.import-DLng8g-e.js +30 -0
  1469. package/dist/register.maintenance-BbpkJil3.js +497 -0
  1470. package/dist/register.maintenance-C5nkOQxa.js +494 -0
  1471. package/dist/register.message-C83Hi1b3.js +681 -0
  1472. package/dist/register.message-D16isu4u.js +686 -0
  1473. package/dist/register.onboard-B8EzX3wY.js +257 -0
  1474. package/dist/register.onboard-CyRbr_0V.js +262 -0
  1475. package/dist/register.setup-DWyoowAz.js +109 -0
  1476. package/dist/register.setup-Dz6GwMnu.js +114 -0
  1477. package/dist/register.status-health-sessions-CbQOfycz.js +423 -0
  1478. package/dist/register.status-health-sessions-DXIWG47y.js +669 -0
  1479. package/dist/register.subclis-DeGP5UPU.js +267 -0
  1480. package/dist/remoteclaw-root-C2HV2VeC.js +88 -0
  1481. package/dist/remoteclaw-root-DybYl8PL.js +88 -0
  1482. package/dist/render-6ahYfPwj.js +104 -0
  1483. package/dist/render-CCLsW6Lz.js +104 -0
  1484. package/dist/render-uf6PvGMV.js +104 -0
  1485. package/dist/replies-BKrzM0QI.js +136 -0
  1486. package/dist/replies-Cl2gYBVt.js +136 -0
  1487. package/dist/reply-CCu_DY64.js +13900 -0
  1488. package/dist/reply-DSKC8kyS.js +13897 -0
  1489. package/dist/reply-directives-BHJKp1Du.js +182 -0
  1490. package/dist/reply-directives-CD2WycBM.js +182 -0
  1491. package/dist/reply-payloads-D_BM1Anb.js +527 -0
  1492. package/dist/reply-prefix-DBLCYiup.js +38 -0
  1493. package/dist/reply-prefix-Q4DOJSn_.js +38 -0
  1494. package/dist/resolve-route-CBVbY0xS.js +249 -0
  1495. package/dist/resolve-route-DGEgTEif.js +249 -0
  1496. package/dist/response-prefix-template-rVZQOViK.js +136 -0
  1497. package/dist/response-prefix-template-up4REfuR.js +136 -0
  1498. package/dist/retry-BhuXOEVR.js +77 -0
  1499. package/dist/retry-DUjAzOBy.js +77 -0
  1500. package/dist/retry-DnqPAqWp.js +77 -0
  1501. package/dist/rolldown-runtime-Cbj13DAv.js +20 -0
  1502. package/dist/run-main-Um5xhxla.js +320 -0
  1503. package/dist/runner-yVJ4HB2K.js +2294 -0
  1504. package/dist/runner-z92MWZ3m.js +2294 -0
  1505. package/dist/runtime-DJNp29jv.js +94 -0
  1506. package/dist/runtime-guard-DZ_xuCc4.js +60 -0
  1507. package/dist/runtime-guard-U-ewY_QH.js +60 -0
  1508. package/dist/secret-equal-BbHdTtqY.js +11 -0
  1509. package/dist/secret-equal-CXJEZiWb.js +11 -0
  1510. package/dist/secure-random-CS2mSdTn.js +12 -0
  1511. package/dist/secure-random-Pl9rPl0l.js +44 -0
  1512. package/dist/secure-random-_dzDDlFo.js +12 -0
  1513. package/dist/security-cli-CdwbWZUj.js +484 -0
  1514. package/dist/security-cli-DP5QJpa5.js +478 -0
  1515. package/dist/send-B1_Ymjb9.js +1778 -0
  1516. package/dist/send-B84axiIa.js +29 -0
  1517. package/dist/send-BN_zYVlx.js +547 -0
  1518. package/dist/send-BqVOxAmK.js +1174 -0
  1519. package/dist/send-Bx9bUGav.js +492 -0
  1520. package/dist/send-C3pdJ6p-.js +2245 -0
  1521. package/dist/send-CBGSXjfD.js +2245 -0
  1522. package/dist/send-CGXyTF22.js +426 -0
  1523. package/dist/send-CKavrhXj.js +11 -0
  1524. package/dist/send-D08Je6DL.js +374 -0
  1525. package/dist/send-D1aYEG-k.js +332 -0
  1526. package/dist/send-DHldI3gf.js +492 -0
  1527. package/dist/send-D_DUQJ6H.js +349 -0
  1528. package/dist/send-Ds63eF4a.js +349 -0
  1529. package/dist/send-YRVDWfSs.js +547 -0
  1530. package/dist/send-xnwty9cY.js +1775 -0
  1531. package/dist/server-BQFoyCRR.js +200 -0
  1532. package/dist/server-DhXw25Jq.js +205 -0
  1533. package/dist/server-lifecycle-BjCCyD3w.js +2437 -0
  1534. package/dist/server-lifecycle-Coyr6Lda.js +2437 -0
  1535. package/dist/server-node-events-De4WZQQD.js +393 -0
  1536. package/dist/server-node-events-dXXayuqY.js +398 -0
  1537. package/dist/service-Bjqii5nW.js +670 -0
  1538. package/dist/service-fp29z5Ww.js +670 -0
  1539. package/dist/session-DBL5nHDy.js +170 -0
  1540. package/dist/session-cost-usage-DX09eTPU.js +627 -0
  1541. package/dist/session-cost-usage-yYi525j3.js +627 -0
  1542. package/dist/session-dirs-Cj5xi7zX.js +947 -0
  1543. package/dist/session-dirs-DdF6TDsE.js +947 -0
  1544. package/dist/session-key-5YLnn_qf.js +235 -0
  1545. package/dist/session-key-C2n-VILA.js +235 -0
  1546. package/dist/session-utils-CEtEq6bi.js +625 -0
  1547. package/dist/session-utils-WmlWAs1r.js +625 -0
  1548. package/dist/session-xKIW6gL2.js +170 -0
  1549. package/dist/sessions--PykPynp.js +2593 -0
  1550. package/dist/sessions-Bw4LRnSr.js +252 -0
  1551. package/dist/ssrf-Ck9HDZpv.js +183 -0
  1552. package/dist/ssrf-m7kFIobZ.js +183 -0
  1553. package/dist/stagger-BXv_apuy.js +56 -0
  1554. package/dist/stagger-MI9gd2rQ.js +56 -0
  1555. package/dist/status-BmtCS3T1.js +21 -0
  1556. package/dist/status-BrwHRn2B.js +21 -0
  1557. package/dist/status-CtzYFLLF.js +2072 -0
  1558. package/dist/status-DiN1cq2p.js +2068 -0
  1559. package/dist/status.update-C55QM2xs.js +79 -0
  1560. package/dist/status.update-CBmPXwYN.js +79 -0
  1561. package/dist/store-C3tOpizT.js +64 -0
  1562. package/dist/store-CPJXuhvQ.js +53 -0
  1563. package/dist/store-SusmIfz7.js +2595 -0
  1564. package/dist/store-v3P-OWhi.js +64 -0
  1565. package/dist/strip-inbound-meta-DjKcSFaW.js +110 -0
  1566. package/dist/strip-inbound-meta-jy3bkUab.js +110 -0
  1567. package/dist/subagent-registry-Db4Ho_2Y.js +4858 -0
  1568. package/dist/subagent-registry-Du_j0Fnt.js +4860 -0
  1569. package/dist/subsystem-BUXAJwPD.js +1079 -0
  1570. package/dist/subsystem-COd61u0P.js +1139 -0
  1571. package/dist/system-cli-DYCpLO3T.js +75 -0
  1572. package/dist/system-cli-eAk5wVbP.js +70 -0
  1573. package/dist/systemd-DSnlM3jX.js +547 -0
  1574. package/dist/systemd-TfK8GuTx.js +547 -0
  1575. package/dist/systemd-linger-Axnc1xCb.js +75 -0
  1576. package/dist/systemd-linger-_0_-RY4v.js +75 -0
  1577. package/dist/table-C1rdyYl9.js +278 -0
  1578. package/dist/table-DPTzZyhu.js +279 -0
  1579. package/dist/tables-DI5LGEr1.js +55 -0
  1580. package/dist/tables-PxcSPSO0.js +55 -0
  1581. package/dist/tables-TWiml6b1.js +55 -0
  1582. package/dist/tailnet-CEudzG0i.js +40 -0
  1583. package/dist/tailnet-PnMrjwGT.js +40 -0
  1584. package/dist/tailscale-DTATQxAG.js +230 -0
  1585. package/dist/tailscale-Dbyahx0J.js +230 -0
  1586. package/dist/target-errors-BDpPcwh5.js +26 -0
  1587. package/dist/target-errors-DdIAPcMM.js +26 -0
  1588. package/dist/targets-BMenhVHg.js +39 -0
  1589. package/dist/targets-C-2xwh9f.js +45 -0
  1590. package/dist/targets-C1NeMn2J.js +220 -0
  1591. package/dist/targets-CcTME3bp.js +46 -0
  1592. package/dist/targets-CmC5m7Ey.js +53 -0
  1593. package/dist/targets-D-qLBpTA.js +79 -0
  1594. package/dist/targets-D-u6Kyio.js +650 -0
  1595. package/dist/targets-D7OKVXMI.js +650 -0
  1596. package/dist/targets-D7PT_rdO.js +45 -0
  1597. package/dist/targets-DB4vBpIQ.js +2172 -0
  1598. package/dist/targets-DfqPGOmM.js +2173 -0
  1599. package/dist/targets-DyybKefq.js +53 -0
  1600. package/dist/targets-JCISV-hS.js +120 -0
  1601. package/dist/targets-UncQvCVs.js +79 -0
  1602. package/dist/text-format-BQ3z_OXA.js +9 -0
  1603. package/dist/text-format-oWqzVmah.js +9 -0
  1604. package/dist/tokens-B-jmvNR9.js +21 -0
  1605. package/dist/tokens-DzFOtLlW.js +21 -0
  1606. package/dist/tool-display-Br6mwaJc.js +785 -0
  1607. package/dist/tool-display-sgNwLOBj.js +785 -0
  1608. package/dist/tool-images-BNfIJ_Kj.js +263 -0
  1609. package/dist/tool-images-kloBqxqK.js +263 -0
  1610. package/dist/trash-DPi0aCCQ.js +125 -0
  1611. package/dist/trash-D_Jd_yQZ.js +125 -0
  1612. package/dist/tui-CHc0EfJO.js +3392 -0
  1613. package/dist/tui-CyHwc2uX.js +3392 -0
  1614. package/dist/tui-cli-BvwbrIYO.js +63 -0
  1615. package/dist/tui-cli-C9I18SfW.js +58 -0
  1616. package/dist/update-DxyjwCL2.js +349 -0
  1617. package/dist/update-IX7vdqA8.js +349 -0
  1618. package/dist/update-cli-CBeXUSzq.js +1373 -0
  1619. package/dist/update-cli-DkAWmUrp.js +1370 -0
  1620. package/dist/usage-BdhBT0Vz.js +57 -0
  1621. package/dist/usage-BtQcAnf6.js +57 -0
  1622. package/dist/usage-CYlQW4M2.js +5279 -0
  1623. package/dist/usage-format-C3mNLfhI.js +31 -0
  1624. package/dist/usage-format-DAaPzr_z.js +31 -0
  1625. package/dist/utils-LBKvDoPx.js +631 -0
  1626. package/dist/warning-filter.js +48 -0
  1627. package/dist/web-BUYUdnRH.js +3065 -0
  1628. package/dist/web-Dquzwqf4.js +70 -0
  1629. package/dist/web-tS8diboh.js +76 -0
  1630. package/dist/webhooks-cli-B7Vw3CMz.js +333 -0
  1631. package/dist/webhooks-cli-BpZHQlVd.js +328 -0
  1632. package/dist/whatsapp-actions-D5HXezjp.js +128 -0
  1633. package/dist/whatsapp-actions-DaA291Ya.js +122 -0
  1634. package/dist/widearea-dns-CsmBVbez.js +127 -0
  1635. package/dist/widearea-dns-DSoaA-eH.js +127 -0
  1636. package/dist/workspace-B4ZvVYT9.js +447 -0
  1637. package/dist/workspace-B8PA8oxJ.js +449 -0
  1638. package/dist/workspace-BzPeZDew.js +10 -0
  1639. package/dist/workspace-DkGLVfOl.js +10 -0
  1640. package/dist/wsl-BCnYV9O0.js +52 -0
  1641. package/dist/wsl-B_sPlzWw.js +52 -0
  1642. package/extensions/bluebubbles/README.md +45 -0
  1643. package/extensions/bluebubbles/index.ts +19 -0
  1644. package/extensions/bluebubbles/package.json +33 -0
  1645. package/extensions/bluebubbles/remoteclaw.plugin.json +9 -0
  1646. package/extensions/bluebubbles/src/account-resolve.ts +35 -0
  1647. package/extensions/bluebubbles/src/accounts.ts +90 -0
  1648. package/extensions/bluebubbles/src/actions.ts +460 -0
  1649. package/extensions/bluebubbles/src/attachments.ts +268 -0
  1650. package/extensions/bluebubbles/src/channel.ts +418 -0
  1651. package/extensions/bluebubbles/src/chat.ts +329 -0
  1652. package/extensions/bluebubbles/src/config-schema.ts +65 -0
  1653. package/extensions/bluebubbles/src/history.ts +177 -0
  1654. package/extensions/bluebubbles/src/media-send.ts +317 -0
  1655. package/extensions/bluebubbles/src/monitor-normalize.ts +825 -0
  1656. package/extensions/bluebubbles/src/monitor-processing.ts +1448 -0
  1657. package/extensions/bluebubbles/src/monitor-reply-cache.ts +185 -0
  1658. package/extensions/bluebubbles/src/monitor-shared.ts +41 -0
  1659. package/extensions/bluebubbles/src/monitor.ts +534 -0
  1660. package/extensions/bluebubbles/src/multipart.ts +32 -0
  1661. package/extensions/bluebubbles/src/onboarding.ts +340 -0
  1662. package/extensions/bluebubbles/src/probe.ts +163 -0
  1663. package/extensions/bluebubbles/src/reactions.ts +182 -0
  1664. package/extensions/bluebubbles/src/request-url.ts +12 -0
  1665. package/extensions/bluebubbles/src/runtime.ts +34 -0
  1666. package/extensions/bluebubbles/src/send-helpers.ts +53 -0
  1667. package/extensions/bluebubbles/src/send.ts +472 -0
  1668. package/extensions/bluebubbles/src/targets.ts +370 -0
  1669. package/extensions/bluebubbles/src/test-harness.ts +79 -0
  1670. package/extensions/bluebubbles/src/test-mocks.ts +11 -0
  1671. package/extensions/bluebubbles/src/types.ts +135 -0
  1672. package/extensions/device-pair/index.ts +529 -0
  1673. package/extensions/device-pair/remoteclaw.plugin.json +20 -0
  1674. package/extensions/diagnostics-otel/index.ts +15 -0
  1675. package/extensions/diagnostics-otel/package.json +24 -0
  1676. package/extensions/diagnostics-otel/remoteclaw.plugin.json +8 -0
  1677. package/extensions/diagnostics-otel/src/service.ts +682 -0
  1678. package/extensions/discord/index.ts +19 -0
  1679. package/extensions/discord/package.json +11 -0
  1680. package/extensions/discord/remoteclaw.plugin.json +9 -0
  1681. package/extensions/discord/src/channel.ts +451 -0
  1682. package/extensions/discord/src/runtime.ts +14 -0
  1683. package/extensions/discord/src/subagent-hooks.ts +152 -0
  1684. package/extensions/feishu/index.ts +63 -0
  1685. package/extensions/feishu/package.json +34 -0
  1686. package/extensions/feishu/remoteclaw.plugin.json +10 -0
  1687. package/extensions/feishu/skills/feishu-doc/SKILL.md +105 -0
  1688. package/extensions/feishu/skills/feishu-doc/references/block-types.md +103 -0
  1689. package/extensions/feishu/skills/feishu-drive/SKILL.md +97 -0
  1690. package/extensions/feishu/skills/feishu-perm/SKILL.md +119 -0
  1691. package/extensions/feishu/skills/feishu-wiki/SKILL.md +111 -0
  1692. package/extensions/feishu/src/accounts.ts +144 -0
  1693. package/extensions/feishu/src/bitable.ts +739 -0
  1694. package/extensions/feishu/src/bot.ts +1006 -0
  1695. package/extensions/feishu/src/channel.ts +359 -0
  1696. package/extensions/feishu/src/client.ts +118 -0
  1697. package/extensions/feishu/src/config-schema.ts +226 -0
  1698. package/extensions/feishu/src/dedup.ts +54 -0
  1699. package/extensions/feishu/src/directory.ts +177 -0
  1700. package/extensions/feishu/src/doc-schema.ts +47 -0
  1701. package/extensions/feishu/src/docx.ts +536 -0
  1702. package/extensions/feishu/src/drive-schema.ts +46 -0
  1703. package/extensions/feishu/src/drive.ts +227 -0
  1704. package/extensions/feishu/src/dynamic-agent.ts +131 -0
  1705. package/extensions/feishu/src/external-keys.ts +19 -0
  1706. package/extensions/feishu/src/media.ts +441 -0
  1707. package/extensions/feishu/src/mention.ts +133 -0
  1708. package/extensions/feishu/src/monitor.ts +397 -0
  1709. package/extensions/feishu/src/onboarding.ts +351 -0
  1710. package/extensions/feishu/src/outbound.ts +55 -0
  1711. package/extensions/feishu/src/perm-schema.ts +52 -0
  1712. package/extensions/feishu/src/perm.ts +173 -0
  1713. package/extensions/feishu/src/policy.ts +120 -0
  1714. package/extensions/feishu/src/probe.ts +44 -0
  1715. package/extensions/feishu/src/reactions.ts +160 -0
  1716. package/extensions/feishu/src/reply-dispatcher.ts +239 -0
  1717. package/extensions/feishu/src/runtime.ts +14 -0
  1718. package/extensions/feishu/src/send-result.ts +29 -0
  1719. package/extensions/feishu/src/send-target.ts +25 -0
  1720. package/extensions/feishu/src/send.ts +313 -0
  1721. package/extensions/feishu/src/streaming-card.ts +218 -0
  1722. package/extensions/feishu/src/targets.ts +78 -0
  1723. package/extensions/feishu/src/tools-config.ts +21 -0
  1724. package/extensions/feishu/src/types.ts +81 -0
  1725. package/extensions/feishu/src/typing.ts +80 -0
  1726. package/extensions/feishu/src/wiki-schema.ts +55 -0
  1727. package/extensions/feishu/src/wiki.ts +232 -0
  1728. package/extensions/googlechat/index.ts +19 -0
  1729. package/extensions/googlechat/node_modules/.bin/remoteclaw +21 -0
  1730. package/extensions/googlechat/package.json +37 -0
  1731. package/extensions/googlechat/remoteclaw.plugin.json +9 -0
  1732. package/extensions/googlechat/src/accounts.ts +147 -0
  1733. package/extensions/googlechat/src/actions.ts +176 -0
  1734. package/extensions/googlechat/src/api.ts +282 -0
  1735. package/extensions/googlechat/src/auth.ts +137 -0
  1736. package/extensions/googlechat/src/channel.ts +576 -0
  1737. package/extensions/googlechat/src/monitor.ts +965 -0
  1738. package/extensions/googlechat/src/onboarding.ts +270 -0
  1739. package/extensions/googlechat/src/runtime.ts +14 -0
  1740. package/extensions/googlechat/src/targets.ts +65 -0
  1741. package/extensions/googlechat/src/types.config.ts +3 -0
  1742. package/extensions/googlechat/src/types.ts +73 -0
  1743. package/extensions/imessage/index.ts +17 -0
  1744. package/extensions/imessage/package.json +12 -0
  1745. package/extensions/imessage/remoteclaw.plugin.json +9 -0
  1746. package/extensions/imessage/src/channel.ts +304 -0
  1747. package/extensions/imessage/src/runtime.ts +14 -0
  1748. package/extensions/irc/index.ts +17 -0
  1749. package/extensions/irc/package.json +11 -0
  1750. package/extensions/irc/remoteclaw.plugin.json +9 -0
  1751. package/extensions/irc/src/accounts.ts +268 -0
  1752. package/extensions/irc/src/channel.ts +364 -0
  1753. package/extensions/irc/src/client.ts +439 -0
  1754. package/extensions/irc/src/config-schema.ts +91 -0
  1755. package/extensions/irc/src/connect-options.ts +30 -0
  1756. package/extensions/irc/src/control-chars.ts +22 -0
  1757. package/extensions/irc/src/inbound.ts +372 -0
  1758. package/extensions/irc/src/monitor.ts +146 -0
  1759. package/extensions/irc/src/normalize.ts +123 -0
  1760. package/extensions/irc/src/onboarding.ts +479 -0
  1761. package/extensions/irc/src/policy.ts +166 -0
  1762. package/extensions/irc/src/probe.ts +53 -0
  1763. package/extensions/irc/src/protocol.ts +169 -0
  1764. package/extensions/irc/src/runtime.ts +14 -0
  1765. package/extensions/irc/src/send.ts +88 -0
  1766. package/extensions/irc/src/types.ts +99 -0
  1767. package/extensions/line/index.ts +19 -0
  1768. package/extensions/line/package.json +27 -0
  1769. package/extensions/line/remoteclaw.plugin.json +9 -0
  1770. package/extensions/line/src/card-command.ts +344 -0
  1771. package/extensions/line/src/channel.ts +797 -0
  1772. package/extensions/line/src/runtime.ts +14 -0
  1773. package/extensions/matrix/CHANGELOG.md +32 -0
  1774. package/extensions/matrix/index.ts +17 -0
  1775. package/extensions/matrix/node_modules/.bin/markdown-it +21 -0
  1776. package/extensions/matrix/package.json +33 -0
  1777. package/extensions/matrix/remoteclaw.plugin.json +9 -0
  1778. package/extensions/matrix/src/actions.ts +195 -0
  1779. package/extensions/matrix/src/channel.ts +486 -0
  1780. package/extensions/matrix/src/config-schema.ts +63 -0
  1781. package/extensions/matrix/src/directory-live.ts +208 -0
  1782. package/extensions/matrix/src/group-mentions.ts +52 -0
  1783. package/extensions/matrix/src/matrix/accounts.ts +137 -0
  1784. package/extensions/matrix/src/matrix/actions/client.ts +47 -0
  1785. package/extensions/matrix/src/matrix/actions/limits.ts +6 -0
  1786. package/extensions/matrix/src/matrix/actions/messages.ts +126 -0
  1787. package/extensions/matrix/src/matrix/actions/pins.ts +84 -0
  1788. package/extensions/matrix/src/matrix/actions/reactions.ts +102 -0
  1789. package/extensions/matrix/src/matrix/actions/room.ts +85 -0
  1790. package/extensions/matrix/src/matrix/actions/summary.ts +75 -0
  1791. package/extensions/matrix/src/matrix/actions/types.ts +85 -0
  1792. package/extensions/matrix/src/matrix/actions.ts +15 -0
  1793. package/extensions/matrix/src/matrix/active-client.ts +32 -0
  1794. package/extensions/matrix/src/matrix/client/config.ts +219 -0
  1795. package/extensions/matrix/src/matrix/client/create-client.ts +123 -0
  1796. package/extensions/matrix/src/matrix/client/logging.ts +36 -0
  1797. package/extensions/matrix/src/matrix/client/runtime.ts +4 -0
  1798. package/extensions/matrix/src/matrix/client/shared.ts +201 -0
  1799. package/extensions/matrix/src/matrix/client/storage.ts +131 -0
  1800. package/extensions/matrix/src/matrix/client/types.ts +34 -0
  1801. package/extensions/matrix/src/matrix/client-bootstrap.ts +39 -0
  1802. package/extensions/matrix/src/matrix/client.ts +14 -0
  1803. package/extensions/matrix/src/matrix/credentials.ts +125 -0
  1804. package/extensions/matrix/src/matrix/deps.ts +60 -0
  1805. package/extensions/matrix/src/matrix/format.ts +22 -0
  1806. package/extensions/matrix/src/matrix/index.ts +11 -0
  1807. package/extensions/matrix/src/matrix/monitor/allowlist.ts +103 -0
  1808. package/extensions/matrix/src/matrix/monitor/auto-join.ts +71 -0
  1809. package/extensions/matrix/src/matrix/monitor/direct.ts +104 -0
  1810. package/extensions/matrix/src/matrix/monitor/events.ts +148 -0
  1811. package/extensions/matrix/src/matrix/monitor/handler.ts +688 -0
  1812. package/extensions/matrix/src/matrix/monitor/index.ts +358 -0
  1813. package/extensions/matrix/src/matrix/monitor/location.ts +100 -0
  1814. package/extensions/matrix/src/matrix/monitor/media.ts +118 -0
  1815. package/extensions/matrix/src/matrix/monitor/mentions.ts +62 -0
  1816. package/extensions/matrix/src/matrix/monitor/replies.ts +124 -0
  1817. package/extensions/matrix/src/matrix/monitor/room-info.ts +55 -0
  1818. package/extensions/matrix/src/matrix/monitor/rooms.ts +47 -0
  1819. package/extensions/matrix/src/matrix/monitor/threads.ts +68 -0
  1820. package/extensions/matrix/src/matrix/monitor/types.ts +39 -0
  1821. package/extensions/matrix/src/matrix/poll-types.ts +167 -0
  1822. package/extensions/matrix/src/matrix/probe.ts +69 -0
  1823. package/extensions/matrix/src/matrix/send/client.ts +97 -0
  1824. package/extensions/matrix/src/matrix/send/formatting.ts +93 -0
  1825. package/extensions/matrix/src/matrix/send/media.ts +230 -0
  1826. package/extensions/matrix/src/matrix/send/targets.ts +150 -0
  1827. package/extensions/matrix/src/matrix/send/types.ts +109 -0
  1828. package/extensions/matrix/src/matrix/send-queue.ts +44 -0
  1829. package/extensions/matrix/src/matrix/send.ts +265 -0
  1830. package/extensions/matrix/src/onboarding.ts +446 -0
  1831. package/extensions/matrix/src/outbound.ts +55 -0
  1832. package/extensions/matrix/src/resolve-targets.ts +126 -0
  1833. package/extensions/matrix/src/runtime.ts +14 -0
  1834. package/extensions/matrix/src/tool-actions.ts +164 -0
  1835. package/extensions/matrix/src/types.ts +116 -0
  1836. package/extensions/mattermost/index.ts +17 -0
  1837. package/extensions/mattermost/package.json +25 -0
  1838. package/extensions/mattermost/remoteclaw.plugin.json +9 -0
  1839. package/extensions/mattermost/src/channel.ts +439 -0
  1840. package/extensions/mattermost/src/config-schema.ts +62 -0
  1841. package/extensions/mattermost/src/group-mentions.ts +15 -0
  1842. package/extensions/mattermost/src/mattermost/accounts.ts +128 -0
  1843. package/extensions/mattermost/src/mattermost/client.ts +230 -0
  1844. package/extensions/mattermost/src/mattermost/index.ts +9 -0
  1845. package/extensions/mattermost/src/mattermost/monitor-helpers.ts +72 -0
  1846. package/extensions/mattermost/src/mattermost/monitor-onchar.ts +25 -0
  1847. package/extensions/mattermost/src/mattermost/monitor-websocket.ts +221 -0
  1848. package/extensions/mattermost/src/mattermost/monitor.ts +1061 -0
  1849. package/extensions/mattermost/src/mattermost/probe.ts +61 -0
  1850. package/extensions/mattermost/src/mattermost/reactions.test-helpers.ts +83 -0
  1851. package/extensions/mattermost/src/mattermost/reactions.ts +124 -0
  1852. package/extensions/mattermost/src/mattermost/reconnect.ts +103 -0
  1853. package/extensions/mattermost/src/mattermost/send.ts +231 -0
  1854. package/extensions/mattermost/src/normalize.ts +46 -0
  1855. package/extensions/mattermost/src/onboarding-helpers.ts +1 -0
  1856. package/extensions/mattermost/src/onboarding.ts +182 -0
  1857. package/extensions/mattermost/src/runtime.ts +14 -0
  1858. package/extensions/mattermost/src/types.ts +62 -0
  1859. package/extensions/msteams/CHANGELOG.md +35 -0
  1860. package/extensions/msteams/index.ts +17 -0
  1861. package/extensions/msteams/package.json +32 -0
  1862. package/extensions/msteams/remoteclaw.plugin.json +9 -0
  1863. package/extensions/msteams/src/attachments/download.ts +282 -0
  1864. package/extensions/msteams/src/attachments/graph.ts +354 -0
  1865. package/extensions/msteams/src/attachments/html.ts +90 -0
  1866. package/extensions/msteams/src/attachments/payload.ts +14 -0
  1867. package/extensions/msteams/src/attachments/remote-media.ts +42 -0
  1868. package/extensions/msteams/src/attachments/shared.ts +404 -0
  1869. package/extensions/msteams/src/attachments/types.ts +37 -0
  1870. package/extensions/msteams/src/attachments.ts +18 -0
  1871. package/extensions/msteams/src/channel.ts +464 -0
  1872. package/extensions/msteams/src/conversation-store-fs.ts +165 -0
  1873. package/extensions/msteams/src/conversation-store-memory.ts +47 -0
  1874. package/extensions/msteams/src/conversation-store.ts +41 -0
  1875. package/extensions/msteams/src/directory-live.ts +108 -0
  1876. package/extensions/msteams/src/errors.ts +190 -0
  1877. package/extensions/msteams/src/file-consent-helpers.ts +73 -0
  1878. package/extensions/msteams/src/file-consent.ts +126 -0
  1879. package/extensions/msteams/src/file-lock.ts +1 -0
  1880. package/extensions/msteams/src/graph-chat.ts +53 -0
  1881. package/extensions/msteams/src/graph-upload.ts +452 -0
  1882. package/extensions/msteams/src/graph-users.ts +29 -0
  1883. package/extensions/msteams/src/graph.ts +81 -0
  1884. package/extensions/msteams/src/inbound.ts +48 -0
  1885. package/extensions/msteams/src/index.ts +4 -0
  1886. package/extensions/msteams/src/media-helpers.ts +105 -0
  1887. package/extensions/msteams/src/mentions.ts +114 -0
  1888. package/extensions/msteams/src/messenger.ts +484 -0
  1889. package/extensions/msteams/src/monitor-handler/inbound-media.ts +128 -0
  1890. package/extensions/msteams/src/monitor-handler/message-handler.ts +661 -0
  1891. package/extensions/msteams/src/monitor-handler.ts +162 -0
  1892. package/extensions/msteams/src/monitor-types.ts +5 -0
  1893. package/extensions/msteams/src/monitor.ts +305 -0
  1894. package/extensions/msteams/src/onboarding.ts +406 -0
  1895. package/extensions/msteams/src/outbound.ts +46 -0
  1896. package/extensions/msteams/src/pending-uploads.ts +89 -0
  1897. package/extensions/msteams/src/policy.ts +259 -0
  1898. package/extensions/msteams/src/polls-store-memory.ts +32 -0
  1899. package/extensions/msteams/src/polls.ts +315 -0
  1900. package/extensions/msteams/src/probe.ts +94 -0
  1901. package/extensions/msteams/src/reply-dispatcher.ts +132 -0
  1902. package/extensions/msteams/src/resolve-allowlist.ts +198 -0
  1903. package/extensions/msteams/src/runtime.ts +14 -0
  1904. package/extensions/msteams/src/sdk-types.ts +19 -0
  1905. package/extensions/msteams/src/sdk.ts +33 -0
  1906. package/extensions/msteams/src/send-context.ts +164 -0
  1907. package/extensions/msteams/src/send.ts +530 -0
  1908. package/extensions/msteams/src/sent-message-cache.ts +44 -0
  1909. package/extensions/msteams/src/storage.ts +25 -0
  1910. package/extensions/msteams/src/store-fs.ts +44 -0
  1911. package/extensions/msteams/src/test-runtime.ts +16 -0
  1912. package/extensions/msteams/src/token-response.ts +11 -0
  1913. package/extensions/msteams/src/token.ts +19 -0
  1914. package/extensions/nextcloud-talk/index.ts +17 -0
  1915. package/extensions/nextcloud-talk/package.json +30 -0
  1916. package/extensions/nextcloud-talk/remoteclaw.plugin.json +9 -0
  1917. package/extensions/nextcloud-talk/src/accounts.ts +170 -0
  1918. package/extensions/nextcloud-talk/src/channel.ts +416 -0
  1919. package/extensions/nextcloud-talk/src/config-schema.ts +72 -0
  1920. package/extensions/nextcloud-talk/src/format.ts +79 -0
  1921. package/extensions/nextcloud-talk/src/inbound.ts +343 -0
  1922. package/extensions/nextcloud-talk/src/monitor.ts +275 -0
  1923. package/extensions/nextcloud-talk/src/normalize.ts +39 -0
  1924. package/extensions/nextcloud-talk/src/onboarding.ts +349 -0
  1925. package/extensions/nextcloud-talk/src/policy.ts +180 -0
  1926. package/extensions/nextcloud-talk/src/room-info.ts +125 -0
  1927. package/extensions/nextcloud-talk/src/runtime.ts +14 -0
  1928. package/extensions/nextcloud-talk/src/send.ts +215 -0
  1929. package/extensions/nextcloud-talk/src/signature.ts +72 -0
  1930. package/extensions/nextcloud-talk/src/types.ts +185 -0
  1931. package/extensions/nostr/CHANGELOG.md +44 -0
  1932. package/extensions/nostr/README.md +136 -0
  1933. package/extensions/nostr/index.ts +68 -0
  1934. package/extensions/nostr/package.json +30 -0
  1935. package/extensions/nostr/remoteclaw.plugin.json +9 -0
  1936. package/extensions/nostr/src/channel.ts +345 -0
  1937. package/extensions/nostr/src/config-schema.ts +90 -0
  1938. package/extensions/nostr/src/metrics.ts +458 -0
  1939. package/extensions/nostr/src/nostr-bus.ts +719 -0
  1940. package/extensions/nostr/src/nostr-profile-http.ts +519 -0
  1941. package/extensions/nostr/src/nostr-profile-import.ts +262 -0
  1942. package/extensions/nostr/src/nostr-profile.ts +277 -0
  1943. package/extensions/nostr/src/nostr-state-store.ts +226 -0
  1944. package/extensions/nostr/src/runtime.ts +14 -0
  1945. package/extensions/nostr/src/seen-tracker.ts +289 -0
  1946. package/extensions/nostr/src/types.ts +101 -0
  1947. package/extensions/phone-control/index.ts +421 -0
  1948. package/extensions/phone-control/remoteclaw.plugin.json +10 -0
  1949. package/extensions/shared/resolve-target-test-helpers.ts +66 -0
  1950. package/extensions/signal/index.ts +17 -0
  1951. package/extensions/signal/package.json +12 -0
  1952. package/extensions/signal/remoteclaw.plugin.json +9 -0
  1953. package/extensions/signal/src/channel.ts +299 -0
  1954. package/extensions/signal/src/runtime.ts +14 -0
  1955. package/extensions/slack/index.ts +17 -0
  1956. package/extensions/slack/package.json +12 -0
  1957. package/extensions/slack/remoteclaw.plugin.json +9 -0
  1958. package/extensions/slack/src/channel.ts +421 -0
  1959. package/extensions/slack/src/runtime.ts +14 -0
  1960. package/extensions/synology-chat/index.ts +17 -0
  1961. package/extensions/synology-chat/package.json +28 -0
  1962. package/extensions/synology-chat/remoteclaw.plugin.json +9 -0
  1963. package/extensions/synology-chat/src/accounts.ts +87 -0
  1964. package/extensions/synology-chat/src/channel.ts +347 -0
  1965. package/extensions/synology-chat/src/client.ts +142 -0
  1966. package/extensions/synology-chat/src/runtime.ts +20 -0
  1967. package/extensions/synology-chat/src/security.ts +140 -0
  1968. package/extensions/synology-chat/src/types.ts +60 -0
  1969. package/extensions/synology-chat/src/webhook-handler.ts +221 -0
  1970. package/extensions/talk-voice/index.ts +150 -0
  1971. package/extensions/talk-voice/remoteclaw.plugin.json +10 -0
  1972. package/extensions/telegram/index.ts +17 -0
  1973. package/extensions/telegram/package.json +12 -0
  1974. package/extensions/telegram/remoteclaw.plugin.json +9 -0
  1975. package/extensions/telegram/src/channel.ts +569 -0
  1976. package/extensions/telegram/src/runtime.ts +14 -0
  1977. package/extensions/test-utils/runtime-env.ts +12 -0
  1978. package/extensions/thread-ownership/index.ts +133 -0
  1979. package/extensions/thread-ownership/remoteclaw.plugin.json +28 -0
  1980. package/extensions/tlon/README.md +5 -0
  1981. package/extensions/tlon/index.ts +17 -0
  1982. package/extensions/tlon/package.json +29 -0
  1983. package/extensions/tlon/remoteclaw.plugin.json +9 -0
  1984. package/extensions/tlon/src/account-fields.ts +25 -0
  1985. package/extensions/tlon/src/channel.ts +384 -0
  1986. package/extensions/tlon/src/config-schema.ts +41 -0
  1987. package/extensions/tlon/src/monitor/discovery.ts +78 -0
  1988. package/extensions/tlon/src/monitor/history.ts +92 -0
  1989. package/extensions/tlon/src/monitor/index.ts +596 -0
  1990. package/extensions/tlon/src/monitor/processed-messages.ts +33 -0
  1991. package/extensions/tlon/src/monitor/utils.ts +106 -0
  1992. package/extensions/tlon/src/onboarding.ts +229 -0
  1993. package/extensions/tlon/src/runtime.ts +14 -0
  1994. package/extensions/tlon/src/targets.ts +89 -0
  1995. package/extensions/tlon/src/types.ts +99 -0
  1996. package/extensions/tlon/src/urbit/auth.ts +48 -0
  1997. package/extensions/tlon/src/urbit/base-url.ts +57 -0
  1998. package/extensions/tlon/src/urbit/channel-client.ts +158 -0
  1999. package/extensions/tlon/src/urbit/channel-ops.ts +164 -0
  2000. package/extensions/tlon/src/urbit/context.ts +47 -0
  2001. package/extensions/tlon/src/urbit/errors.ts +51 -0
  2002. package/extensions/tlon/src/urbit/fetch.ts +39 -0
  2003. package/extensions/tlon/src/urbit/send.ts +131 -0
  2004. package/extensions/tlon/src/urbit/sse-client.ts +431 -0
  2005. package/extensions/twitch/CHANGELOG.md +39 -0
  2006. package/extensions/twitch/README.md +89 -0
  2007. package/extensions/twitch/index.ts +20 -0
  2008. package/extensions/twitch/package.json +17 -0
  2009. package/extensions/twitch/remoteclaw.plugin.json +9 -0
  2010. package/extensions/twitch/src/access-control.ts +166 -0
  2011. package/extensions/twitch/src/actions.ts +174 -0
  2012. package/extensions/twitch/src/client-manager-registry.ts +115 -0
  2013. package/extensions/twitch/src/config-schema.ts +84 -0
  2014. package/extensions/twitch/src/config.ts +116 -0
  2015. package/extensions/twitch/src/monitor.ts +273 -0
  2016. package/extensions/twitch/src/onboarding.ts +417 -0
  2017. package/extensions/twitch/src/outbound.ts +187 -0
  2018. package/extensions/twitch/src/plugin.ts +274 -0
  2019. package/extensions/twitch/src/probe.ts +119 -0
  2020. package/extensions/twitch/src/resolver.ts +137 -0
  2021. package/extensions/twitch/src/runtime.ts +14 -0
  2022. package/extensions/twitch/src/send.ts +136 -0
  2023. package/extensions/twitch/src/status.ts +179 -0
  2024. package/extensions/twitch/src/test-fixtures.ts +30 -0
  2025. package/extensions/twitch/src/token.ts +94 -0
  2026. package/extensions/twitch/src/twitch-client.ts +277 -0
  2027. package/extensions/twitch/src/types.ts +141 -0
  2028. package/extensions/twitch/src/utils/markdown.ts +98 -0
  2029. package/extensions/twitch/src/utils/twitch.ts +80 -0
  2030. package/extensions/voice-call/CHANGELOG.md +49 -0
  2031. package/extensions/voice-call/README.md +181 -0
  2032. package/extensions/voice-call/index.ts +512 -0
  2033. package/extensions/voice-call/package.json +16 -0
  2034. package/extensions/voice-call/remoteclaw.plugin.json +559 -0
  2035. package/extensions/voice-call/src/allowlist.ts +19 -0
  2036. package/extensions/voice-call/src/cli.ts +380 -0
  2037. package/extensions/voice-call/src/config.ts +477 -0
  2038. package/extensions/voice-call/src/core-bridge.ts +170 -0
  2039. package/extensions/voice-call/src/manager/context.ts +41 -0
  2040. package/extensions/voice-call/src/manager/events.ts +242 -0
  2041. package/extensions/voice-call/src/manager/lookup.ts +35 -0
  2042. package/extensions/voice-call/src/manager/outbound.ts +380 -0
  2043. package/extensions/voice-call/src/manager/state.ts +48 -0
  2044. package/extensions/voice-call/src/manager/store.ts +94 -0
  2045. package/extensions/voice-call/src/manager/timers.ts +112 -0
  2046. package/extensions/voice-call/src/manager/twiml.ts +9 -0
  2047. package/extensions/voice-call/src/manager.ts +209 -0
  2048. package/extensions/voice-call/src/media-stream.ts +527 -0
  2049. package/extensions/voice-call/src/providers/base.ts +67 -0
  2050. package/extensions/voice-call/src/providers/index.ts +10 -0
  2051. package/extensions/voice-call/src/providers/mock.ts +165 -0
  2052. package/extensions/voice-call/src/providers/plivo.ts +560 -0
  2053. package/extensions/voice-call/src/providers/stt-openai-realtime.ts +311 -0
  2054. package/extensions/voice-call/src/providers/telnyx.ts +318 -0
  2055. package/extensions/voice-call/src/providers/tts-openai.ts +259 -0
  2056. package/extensions/voice-call/src/providers/twilio/api.ts +42 -0
  2057. package/extensions/voice-call/src/providers/twilio/webhook.ts +33 -0
  2058. package/extensions/voice-call/src/providers/twilio.ts +688 -0
  2059. package/extensions/voice-call/src/response-generator.ts +174 -0
  2060. package/extensions/voice-call/src/runtime.ts +217 -0
  2061. package/extensions/voice-call/src/telephony-audio.ts +90 -0
  2062. package/extensions/voice-call/src/telephony-tts.ts +106 -0
  2063. package/extensions/voice-call/src/tunnel.ts +314 -0
  2064. package/extensions/voice-call/src/types.ts +280 -0
  2065. package/extensions/voice-call/src/utils.ts +14 -0
  2066. package/extensions/voice-call/src/voice-mapping.ts +67 -0
  2067. package/extensions/voice-call/src/webhook-security.ts +880 -0
  2068. package/extensions/voice-call/src/webhook.ts +556 -0
  2069. package/extensions/whatsapp/index.ts +17 -0
  2070. package/extensions/whatsapp/package.json +12 -0
  2071. package/extensions/whatsapp/remoteclaw.plugin.json +9 -0
  2072. package/extensions/whatsapp/src/channel.ts +459 -0
  2073. package/extensions/whatsapp/src/runtime.ts +14 -0
  2074. package/extensions/zalo/CHANGELOG.md +29 -0
  2075. package/extensions/zalo/README.md +50 -0
  2076. package/extensions/zalo/index.ts +19 -0
  2077. package/extensions/zalo/package.json +32 -0
  2078. package/extensions/zalo/remoteclaw.plugin.json +9 -0
  2079. package/extensions/zalo/src/accounts.ts +82 -0
  2080. package/extensions/zalo/src/actions.ts +56 -0
  2081. package/extensions/zalo/src/api.ts +208 -0
  2082. package/extensions/zalo/src/channel.ts +398 -0
  2083. package/extensions/zalo/src/config-schema.ts +27 -0
  2084. package/extensions/zalo/src/group-access.ts +48 -0
  2085. package/extensions/zalo/src/monitor.ts +675 -0
  2086. package/extensions/zalo/src/monitor.webhook.ts +219 -0
  2087. package/extensions/zalo/src/onboarding.ts +398 -0
  2088. package/extensions/zalo/src/probe.ts +45 -0
  2089. package/extensions/zalo/src/proxy.ts +24 -0
  2090. package/extensions/zalo/src/runtime.ts +14 -0
  2091. package/extensions/zalo/src/send.ts +124 -0
  2092. package/extensions/zalo/src/status-issues.ts +53 -0
  2093. package/extensions/zalo/src/token.ts +62 -0
  2094. package/extensions/zalo/src/types.ts +48 -0
  2095. package/extensions/zalouser/CHANGELOG.md +31 -0
  2096. package/extensions/zalouser/README.md +225 -0
  2097. package/extensions/zalouser/index.ts +31 -0
  2098. package/extensions/zalouser/package.json +32 -0
  2099. package/extensions/zalouser/remoteclaw.plugin.json +9 -0
  2100. package/extensions/zalouser/src/accounts.ts +138 -0
  2101. package/extensions/zalouser/src/channel.ts +652 -0
  2102. package/extensions/zalouser/src/config-schema.ts +28 -0
  2103. package/extensions/zalouser/src/monitor.ts +619 -0
  2104. package/extensions/zalouser/src/onboarding.ts +428 -0
  2105. package/extensions/zalouser/src/probe.ts +27 -0
  2106. package/extensions/zalouser/src/runtime.ts +14 -0
  2107. package/extensions/zalouser/src/send.ts +141 -0
  2108. package/extensions/zalouser/src/status-issues.ts +89 -0
  2109. package/extensions/zalouser/src/tool.ts +166 -0
  2110. package/extensions/zalouser/src/types.ts +105 -0
  2111. package/extensions/zalouser/src/zca.ts +198 -0
  2112. package/package.json +251 -15
  2113. package/remoteclaw.mjs +56 -0
  2114. package/index.js +0 -4
@@ -0,0 +1,2173 @@
1
+ import { h as normalizeVerboseLevel } from "./agent-helpers-B6VfZ9_u.js";
2
+ import { h as normalizeAnyChannelId } from "./subsystem-COd61u0P.js";
3
+ import { n as defaultRuntime } from "./runtime-DJNp29jv.js";
4
+ import { h as normalizeAccountId, v as deriveSessionChatType } from "./session-key-5YLnn_qf.js";
5
+ import { a as normalizeProviderId } from "./provider-utils-FaBmofiq.js";
6
+ import { c as normalizeMessageChannel, n as isDeliverableMessageChannel, t as INTERNAL_MESSAGE_CHANNEL } from "./message-channel-DzJqHVZD.js";
7
+ import { t as parseDiscordTarget } from "./targets-D-u6Kyio.js";
8
+ import { t as getChannelDock } from "./dock-CQuu41bw.js";
9
+ import { t as normalizeChatType } from "./chat-type-DKb2TlGZ.js";
10
+ import { t as formatCliCommand } from "./command-format-DgXcqxBt.js";
11
+ import { a as ensureAuthProfileStore, r as listProfilesForProvider } from "./auth-profiles-D8vKiBPq.js";
12
+ import { a as isWhatsAppGroupJid, o as normalizeWhatsAppTarget, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-woGRXMzU.js";
13
+ import { t as SILENT_REPLY_TOKEN } from "./tokens-DzFOtLlW.js";
14
+ import { p as getGlobalHookRunner } from "./reply-payloads-D_BM1Anb.js";
15
+ import { t as parseSlackTarget } from "./targets-DyybKefq.js";
16
+ import { d as deliveryContextFromSession, l as updateSessionStore } from "./store-SusmIfz7.js";
17
+ import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-D-qLBpTA.js";
18
+ import { n as missingTargetError } from "./target-errors-BDpPcwh5.js";
19
+ import { homedir, tmpdir } from "node:os";
20
+ import { join } from "node:path";
21
+ import { mkdir, mkdtemp, readFile, readdir, rm, rmdir, writeFile } from "node:fs/promises";
22
+ import { randomUUID } from "node:crypto";
23
+ import { spawn } from "node:child_process";
24
+ import { createInterface } from "node:readline";
25
+
26
+ //#region src/sessions/send-policy.ts
27
+ function normalizeSendPolicy(raw) {
28
+ const value = raw?.trim().toLowerCase();
29
+ if (value === "allow") return "allow";
30
+ if (value === "deny") return "deny";
31
+ }
32
+ function normalizeMatchValue(raw) {
33
+ const value = raw?.trim().toLowerCase();
34
+ return value ? value : void 0;
35
+ }
36
+ function stripAgentSessionKeyPrefix(key) {
37
+ if (!key) return;
38
+ const parts = key.split(":").filter(Boolean);
39
+ if (parts.length >= 3 && parts[0] === "agent") return parts.slice(2).join(":");
40
+ return key;
41
+ }
42
+ function deriveChannelFromKey(key) {
43
+ const normalizedKey = stripAgentSessionKeyPrefix(key);
44
+ if (!normalizedKey) return;
45
+ const parts = normalizedKey.split(":").filter(Boolean);
46
+ if (parts.length >= 3 && (parts[1] === "group" || parts[1] === "channel")) return normalizeMatchValue(parts[0]);
47
+ }
48
+ function deriveChatTypeFromKey(key) {
49
+ const chatType = deriveSessionChatType(key);
50
+ return chatType === "unknown" ? void 0 : chatType;
51
+ }
52
+ function resolveSendPolicy(params) {
53
+ const override = normalizeSendPolicy(params.entry?.sendPolicy);
54
+ if (override) return override;
55
+ const policy = params.cfg.session?.sendPolicy;
56
+ if (!policy) return "allow";
57
+ const channel = normalizeMatchValue(params.channel) ?? normalizeMatchValue(params.entry?.channel) ?? normalizeMatchValue(params.entry?.lastChannel) ?? deriveChannelFromKey(params.sessionKey);
58
+ const chatType = normalizeChatType(params.chatType ?? params.entry?.chatType) ?? normalizeChatType(deriveChatTypeFromKey(params.sessionKey));
59
+ const rawSessionKey = params.sessionKey ?? "";
60
+ const strippedSessionKey = stripAgentSessionKeyPrefix(rawSessionKey) ?? "";
61
+ const rawSessionKeyNorm = rawSessionKey.toLowerCase();
62
+ const strippedSessionKeyNorm = strippedSessionKey.toLowerCase();
63
+ let allowedMatch = false;
64
+ for (const rule of policy.rules ?? []) {
65
+ if (!rule) continue;
66
+ const action = normalizeSendPolicy(rule.action) ?? "allow";
67
+ const match = rule.match ?? {};
68
+ const matchChannel = normalizeMatchValue(match.channel);
69
+ const matchChatType = normalizeChatType(match.chatType);
70
+ const matchPrefix = normalizeMatchValue(match.keyPrefix);
71
+ const matchRawPrefix = normalizeMatchValue(match.rawKeyPrefix);
72
+ if (matchChannel && matchChannel !== channel) continue;
73
+ if (matchChatType && matchChatType !== chatType) continue;
74
+ if (matchRawPrefix && !rawSessionKeyNorm.startsWith(matchRawPrefix)) continue;
75
+ if (matchPrefix && !rawSessionKeyNorm.startsWith(matchPrefix) && !strippedSessionKeyNorm.startsWith(matchPrefix)) continue;
76
+ if (action === "deny") return "deny";
77
+ allowedMatch = true;
78
+ }
79
+ if (allowedMatch) return "allow";
80
+ return normalizeSendPolicy(policy.default) ?? "allow";
81
+ }
82
+
83
+ //#endregion
84
+ //#region src/infra/system-events.ts
85
+ const MAX_EVENTS = 20;
86
+ const queues = /* @__PURE__ */ new Map();
87
+ function requireSessionKey(key) {
88
+ const trimmed = typeof key === "string" ? key.trim() : "";
89
+ if (!trimmed) throw new Error("system events require a sessionKey");
90
+ return trimmed;
91
+ }
92
+ function normalizeContextKey(key) {
93
+ if (!key) return null;
94
+ const trimmed = key.trim();
95
+ if (!trimmed) return null;
96
+ return trimmed.toLowerCase();
97
+ }
98
+ function isSystemEventContextChanged(sessionKey, contextKey) {
99
+ const key = requireSessionKey(sessionKey);
100
+ const existing = queues.get(key);
101
+ return normalizeContextKey(contextKey) !== (existing?.lastContextKey ?? null);
102
+ }
103
+ function enqueueSystemEvent(text, options) {
104
+ const key = requireSessionKey(options?.sessionKey);
105
+ const entry = queues.get(key) ?? (() => {
106
+ const created = {
107
+ queue: [],
108
+ lastText: null,
109
+ lastContextKey: null
110
+ };
111
+ queues.set(key, created);
112
+ return created;
113
+ })();
114
+ const cleaned = text.trim();
115
+ if (!cleaned) return;
116
+ const normalizedContextKey = normalizeContextKey(options?.contextKey);
117
+ entry.lastContextKey = normalizedContextKey;
118
+ if (entry.lastText === cleaned) return;
119
+ entry.lastText = cleaned;
120
+ entry.queue.push({
121
+ text: cleaned,
122
+ ts: Date.now(),
123
+ contextKey: normalizedContextKey
124
+ });
125
+ if (entry.queue.length > MAX_EVENTS) entry.queue.shift();
126
+ }
127
+ function drainSystemEventEntries(sessionKey) {
128
+ const key = requireSessionKey(sessionKey);
129
+ const entry = queues.get(key);
130
+ if (!entry || entry.queue.length === 0) return [];
131
+ const out = entry.queue.slice();
132
+ entry.queue.length = 0;
133
+ entry.lastText = null;
134
+ entry.lastContextKey = null;
135
+ queues.delete(key);
136
+ return out;
137
+ }
138
+ function peekSystemEventEntries(sessionKey) {
139
+ const key = requireSessionKey(sessionKey);
140
+ return queues.get(key)?.queue.map((event) => ({ ...event })) ?? [];
141
+ }
142
+ function peekSystemEvents(sessionKey) {
143
+ return peekSystemEventEntries(sessionKey).map((event) => event.text);
144
+ }
145
+
146
+ //#endregion
147
+ //#region src/sessions/level-overrides.ts
148
+ function parseVerboseOverride(raw) {
149
+ if (raw === null) return {
150
+ ok: true,
151
+ value: null
152
+ };
153
+ if (raw === void 0) return {
154
+ ok: true,
155
+ value: void 0
156
+ };
157
+ if (typeof raw !== "string") return {
158
+ ok: false,
159
+ error: "invalid verboseLevel (use \"on\"|\"off\")"
160
+ };
161
+ const normalized = normalizeVerboseLevel(raw);
162
+ if (!normalized) return {
163
+ ok: false,
164
+ error: "invalid verboseLevel (use \"on\"|\"off\")"
165
+ };
166
+ return {
167
+ ok: true,
168
+ value: normalized
169
+ };
170
+ }
171
+ function applyVerboseOverride(entry, level) {
172
+ if (level === void 0) return;
173
+ if (level === null) {
174
+ delete entry.verboseLevel;
175
+ return;
176
+ }
177
+ entry.verboseLevel = level;
178
+ }
179
+
180
+ //#endregion
181
+ //#region src/agents/auth-profiles/session-override.ts
182
+ function isProfileForProvider(params) {
183
+ const entry = params.store.profiles[params.profileId];
184
+ if (!entry?.provider) return false;
185
+ return normalizeProviderId(entry.provider) === normalizeProviderId(params.provider);
186
+ }
187
+ async function clearSessionAuthProfileOverride(params) {
188
+ const { sessionEntry, sessionStore, sessionKey, storePath } = params;
189
+ delete sessionEntry.authProfileOverride;
190
+ delete sessionEntry.authProfileOverrideSource;
191
+ delete sessionEntry.authProfileOverrideCompactionCount;
192
+ sessionEntry.updatedAt = Date.now();
193
+ sessionStore[sessionKey] = sessionEntry;
194
+ if (storePath) await updateSessionStore(storePath, (store) => {
195
+ store[sessionKey] = sessionEntry;
196
+ });
197
+ }
198
+ async function resolveSessionAuthProfileOverride(params) {
199
+ const { provider, agentDir, sessionEntry, sessionStore, sessionKey, storePath } = params;
200
+ if (!sessionEntry || !sessionStore || !sessionKey) return sessionEntry?.authProfileOverride;
201
+ const store = ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false });
202
+ const profiles = listProfilesForProvider(store, provider);
203
+ let current = sessionEntry.authProfileOverride?.trim();
204
+ if (current && !store.profiles[current]) {
205
+ await clearSessionAuthProfileOverride({
206
+ sessionEntry,
207
+ sessionStore,
208
+ sessionKey,
209
+ storePath
210
+ });
211
+ current = void 0;
212
+ }
213
+ if (current && !isProfileForProvider({
214
+ provider,
215
+ profileId: current,
216
+ store
217
+ })) {
218
+ await clearSessionAuthProfileOverride({
219
+ sessionEntry,
220
+ sessionStore,
221
+ sessionKey,
222
+ storePath
223
+ });
224
+ current = void 0;
225
+ }
226
+ if (profiles.length === 0) return;
227
+ const next = current ?? profiles[0];
228
+ if (!next) return current;
229
+ if (next !== sessionEntry.authProfileOverride || sessionEntry.authProfileOverrideSource !== "auto") {
230
+ sessionEntry.authProfileOverride = next;
231
+ sessionEntry.authProfileOverrideSource = "auto";
232
+ sessionEntry.updatedAt = Date.now();
233
+ sessionStore[sessionKey] = sessionEntry;
234
+ if (storePath) await updateSessionStore(storePath, (store) => {
235
+ store[sessionKey] = sessionEntry;
236
+ });
237
+ }
238
+ return next;
239
+ }
240
+
241
+ //#endregion
242
+ //#region src/agents/channel-tools.ts
243
+ /**
244
+ * Get the list of supported message actions for a specific channel.
245
+ * Returns an empty array if channel is not found or has no actions configured.
246
+ */
247
+ function listChannelSupportedActions(params) {
248
+ if (!params.channel) return [];
249
+ const plugin = getChannelPlugin(params.channel);
250
+ if (!plugin?.actions?.listActions) return [];
251
+ return runPluginListActions(plugin, params.cfg ?? {});
252
+ }
253
+ function resolveChannelMessageToolHints(params) {
254
+ const channelId = normalizeAnyChannelId(params.channel);
255
+ if (!channelId) return [];
256
+ const resolve = getChannelDock(channelId)?.agentPrompt?.messageToolHints;
257
+ if (!resolve) return [];
258
+ return (resolve({
259
+ cfg: params.cfg ?? {},
260
+ accountId: params.accountId
261
+ }) ?? []).map((entry) => entry.trim()).filter(Boolean);
262
+ }
263
+ const loggedListActionErrors = /* @__PURE__ */ new Set();
264
+ function runPluginListActions(plugin, cfg) {
265
+ if (!plugin.actions?.listActions) return [];
266
+ try {
267
+ const listed = plugin.actions.listActions({ cfg });
268
+ return Array.isArray(listed) ? listed : [];
269
+ } catch (err) {
270
+ logListActionsError(plugin.id, err);
271
+ return [];
272
+ }
273
+ }
274
+ function logListActionsError(pluginId, err) {
275
+ const message = err instanceof Error ? err.message : String(err);
276
+ const key = `${pluginId}:${message}`;
277
+ if (loggedListActionErrors.has(key)) return;
278
+ loggedListActionErrors.add(key);
279
+ const details = (err instanceof Error && err.stack ? err.stack : null) ?? message;
280
+ defaultRuntime.error?.(`[channel-tools] ${pluginId}.actions.listActions failed: ${details}`);
281
+ }
282
+
283
+ //#endregion
284
+ //#region src/middleware/delivery-adapter.ts
285
+ const DEFAULT_CHUNK_LIMIT = 4e3;
286
+ /**
287
+ * Converts AgentEvent async iterable into channel-deliverable ReplyPayload chunks.
288
+ *
289
+ * Handles:
290
+ * - Text accumulation and chunking at channel limits
291
+ * - Progressive streaming via BridgeCallbacks
292
+ * - Tool result formatting
293
+ * - Error event formatting
294
+ */
295
+ var DeliveryAdapter = class {
296
+ constructor(options) {
297
+ this.chunkLimit = options?.chunkLimit ?? DEFAULT_CHUNK_LIMIT;
298
+ }
299
+ /**
300
+ * Process an event stream, invoking callbacks for real-time delivery
301
+ * and returning final payloads for post-execution delivery.
302
+ *
303
+ * @param events - AgentEvent async iterable from runtime.execute()
304
+ * @param callbacks - Optional streaming callbacks for real-time delivery
305
+ * @returns Final ReplyPayload array for post-execution delivery
306
+ */
307
+ async process(events, callbacks) {
308
+ let textBuffer = "";
309
+ const payloads = [];
310
+ for await (const event of events) switch (event.type) {
311
+ case "text":
312
+ if (event.text === "") break;
313
+ textBuffer += event.text;
314
+ while (textBuffer.length > this.chunkLimit) {
315
+ const { chunk, rest } = splitAtBoundary(textBuffer, this.chunkLimit);
316
+ textBuffer = rest;
317
+ const payload = { text: chunk };
318
+ payloads.push(payload);
319
+ await callbacks?.onPartialReply?.(payload);
320
+ }
321
+ break;
322
+ case "tool_use": break;
323
+ case "tool_result": {
324
+ const payload = { text: formatToolResult(event.toolId, event.output, event.isError) };
325
+ await callbacks?.onToolResult?.(payload);
326
+ break;
327
+ }
328
+ case "error": {
329
+ const payload = {
330
+ text: event.code ? `[${event.code}] ${event.message}` : event.message,
331
+ isError: true
332
+ };
333
+ payloads.push(payload);
334
+ await callbacks?.onBlockReply?.(payload);
335
+ break;
336
+ }
337
+ case "done":
338
+ if (textBuffer.length > 0) {
339
+ const payload = { text: textBuffer };
340
+ payloads.push(payload);
341
+ await callbacks?.onBlockReply?.(payload);
342
+ textBuffer = "";
343
+ }
344
+ break;
345
+ }
346
+ if (textBuffer.length > 0) {
347
+ const payload = { text: textBuffer };
348
+ payloads.push(payload);
349
+ }
350
+ return payloads;
351
+ }
352
+ };
353
+ /** Format a tool result for display. */
354
+ function formatToolResult(toolId, output, isError) {
355
+ return `${isError ? `Tool ${toolId} error` : `Tool ${toolId} result`}: ${output}`;
356
+ }
357
+ /**
358
+ * Split text at the nearest safe boundary before the limit.
359
+ *
360
+ * Preference order:
361
+ * 1. Paragraph break (\n\n)
362
+ * 2. Line break (\n)
363
+ * 3. Word boundary (space)
364
+ * 4. Hard split at limit
365
+ *
366
+ * Markdown-aware: preserves code fence boundaries by closing/reopening
367
+ * fences at split points when a split occurs inside a fenced code block.
368
+ */
369
+ function splitAtBoundary(text, limit) {
370
+ const fenceInfo = findOpenCodeFence(text, limit);
371
+ if (fenceInfo !== void 0) {
372
+ const beforeFence = text.substring(0, fenceInfo.fenceStart);
373
+ if (beforeFence.trimEnd().length > 0) {
374
+ const trimmed = beforeFence.trimEnd();
375
+ return {
376
+ chunk: trimmed,
377
+ rest: text.substring(trimmed.length).trimStart()
378
+ };
379
+ }
380
+ const closingFence = `\n${fenceInfo.fence}`;
381
+ const openingFence = `${fenceInfo.fence}\n`;
382
+ const splitPoint = findSplitPoint(text, limit - closingFence.length);
383
+ return {
384
+ chunk: text.substring(0, splitPoint) + closingFence,
385
+ rest: openingFence + text.substring(splitPoint)
386
+ };
387
+ }
388
+ const splitPoint = findSplitPoint(text, limit);
389
+ return {
390
+ chunk: text.substring(0, splitPoint),
391
+ rest: text.substring(splitPoint)
392
+ };
393
+ }
394
+ /** Find the best split point within the text up to the given limit. */
395
+ function findSplitPoint(text, limit) {
396
+ if (limit <= 0) return Math.min(1, text.length);
397
+ const searchRegion = text.substring(0, limit);
398
+ const paragraphIdx = searchRegion.lastIndexOf("\n\n");
399
+ if (paragraphIdx > 0) return paragraphIdx + 2;
400
+ const lineIdx = searchRegion.lastIndexOf("\n");
401
+ if (lineIdx > 0) return lineIdx + 1;
402
+ const spaceIdx = searchRegion.lastIndexOf(" ");
403
+ if (spaceIdx > 0) return spaceIdx + 1;
404
+ return limit;
405
+ }
406
+ /**
407
+ * Detect if the text has an unclosed code fence at or before the limit position.
408
+ * Returns info about the open fence, or undefined if no open fence.
409
+ */
410
+ function findOpenCodeFence(text, limit) {
411
+ const fenceRegex = /^(`{3,}|~{3,})/gm;
412
+ let openFence;
413
+ let match;
414
+ while ((match = fenceRegex.exec(text)) !== null) {
415
+ if (match.index >= limit) break;
416
+ if (openFence === void 0) openFence = {
417
+ fenceStart: match.index,
418
+ fence: match[1]
419
+ };
420
+ else if (match[1].charAt(0) === openFence.fence.charAt(0) && match[1].length >= openFence.fence.length) openFence = void 0;
421
+ }
422
+ return openFence;
423
+ }
424
+
425
+ //#endregion
426
+ //#region src/middleware/error-classifier.ts
427
+ const retryablePatterns = [
428
+ /rate.?limit/i,
429
+ /429/i,
430
+ /503/i,
431
+ /overloaded/i,
432
+ /ETIMEDOUT/i,
433
+ /ECONNRESET/i,
434
+ /ECONNREFUSED/i,
435
+ /network/i
436
+ ];
437
+ const contextOverflowPatterns = [
438
+ /context.?length/i,
439
+ /context.?window/i,
440
+ /context.?overflow/i,
441
+ /too many tokens/i,
442
+ /maximum context/i,
443
+ /token.?limit/i
444
+ ];
445
+ const fatalAuthPatterns = [
446
+ /401/i,
447
+ /403/i,
448
+ /unauthorized/i,
449
+ /forbidden/i,
450
+ /invalid.?key/i,
451
+ /authentication/i
452
+ ];
453
+ /**
454
+ * Classify an error message string into an actionable category.
455
+ *
456
+ * Uses first-match-wins semantics across ordered pattern arrays:
457
+ * 1. Retryable patterns checked first
458
+ * 2. Context overflow patterns checked second
459
+ * 3. Fatal auth patterns checked third
460
+ * 4. Default: "fatal" for unmatched messages
461
+ *
462
+ * Case-insensitive matching throughout.
463
+ */
464
+ function classifyError(message) {
465
+ for (const pattern of retryablePatterns) if (pattern.test(message)) return "retryable";
466
+ for (const pattern of contextOverflowPatterns) if (pattern.test(message)) return "context_overflow";
467
+ for (const pattern of fatalAuthPatterns) if (pattern.test(message)) return "fatal";
468
+ return "fatal";
469
+ }
470
+
471
+ //#endregion
472
+ //#region src/middleware/mcp-side-effects.ts
473
+ async function readMcpSideEffects(filePath) {
474
+ const result = {
475
+ sentTexts: [],
476
+ sentMediaUrls: [],
477
+ sentTargets: [],
478
+ cronAdds: 0
479
+ };
480
+ let content;
481
+ try {
482
+ content = await readFile(filePath, "utf-8");
483
+ } catch {
484
+ return result;
485
+ }
486
+ const lines = content.split("\n").filter(Boolean);
487
+ for (const line of lines) {
488
+ let record;
489
+ try {
490
+ record = JSON.parse(line);
491
+ } catch {
492
+ continue;
493
+ }
494
+ if (record.type === "message_sent") {
495
+ result.sentTexts.push(record.text);
496
+ if (record.mediaUrl) result.sentMediaUrls.push(record.mediaUrl);
497
+ const target = {
498
+ tool: record.tool,
499
+ provider: record.provider,
500
+ ...record.accountId ? { accountId: record.accountId } : {},
501
+ ...record.to ? { to: record.to } : {}
502
+ };
503
+ result.sentTargets.push(target);
504
+ } else if (record.type === "cron_added") result.cronAdds += 1;
505
+ else if (record.type === "heartbeat_report") result.heartbeatReport = {
506
+ anythingDone: record.anythingDone,
507
+ summary: record.summary
508
+ };
509
+ }
510
+ return result;
511
+ }
512
+
513
+ //#endregion
514
+ //#region src/middleware/cli-runtime-base.ts
515
+ /**
516
+ * Abstract base class encapsulating shared subprocess machinery for CLI-based agent runtimes.
517
+ *
518
+ * Concrete runtimes (Claude, Gemini, Codex, OpenCode) extend this and implement only
519
+ * the CLI-specific parts: argument construction, event extraction, and environment setup.
520
+ */
521
+ var CLIRuntimeBase = class CLIRuntimeBase {
522
+ static {
523
+ this.STDIN_PROMPT_THRESHOLD = 1e4;
524
+ }
525
+ constructor(command, timeoutMs = 3e5) {
526
+ this.command = command;
527
+ this.timeoutMs = timeoutMs;
528
+ }
529
+ /** Whether this CLI accepts prompts via stdin. Subclasses may override. */
530
+ get supportsStdinPrompt() {
531
+ return true;
532
+ }
533
+ /**
534
+ * Which subprocess stream carries NDJSON output.
535
+ * Defaults to `"stdout"`. Override to `"stderr"` for CLIs (like Claude)
536
+ * that emit structured output on stderr.
537
+ */
538
+ get ndjsonStream() {
539
+ return "stdout";
540
+ }
541
+ async *execute(params) {
542
+ const args = this.buildArgs(params);
543
+ const env = {
544
+ ...process.env,
545
+ ...this.buildEnv(params),
546
+ ...params.env
547
+ };
548
+ const child = spawn(this.command, args, {
549
+ cwd: params.workingDirectory,
550
+ env,
551
+ stdio: [
552
+ "pipe",
553
+ "pipe",
554
+ "pipe"
555
+ ]
556
+ });
557
+ const startMs = Date.now();
558
+ const stderrChunks = [];
559
+ let aborted = false;
560
+ let escalationTimer;
561
+ const killWithEscalation = () => {
562
+ if (escalationTimer === void 0) escalationTimer = setTimeout(() => {
563
+ try {
564
+ child.kill("SIGKILL");
565
+ } catch {}
566
+ }, 1500);
567
+ child.kill("SIGTERM");
568
+ };
569
+ child.on("exit", () => {
570
+ if (escalationTimer !== void 0) {
571
+ clearTimeout(escalationTimer);
572
+ escalationTimer = void 0;
573
+ }
574
+ });
575
+ let watchdogTimer;
576
+ let watchdogFired = false;
577
+ const resetWatchdog = () => {
578
+ if (watchdogTimer !== void 0) clearTimeout(watchdogTimer);
579
+ watchdogTimer = setTimeout(() => {
580
+ watchdogFired = true;
581
+ killWithEscalation();
582
+ }, this.timeoutMs);
583
+ };
584
+ resetWatchdog();
585
+ const ndjsonSource = this.ndjsonStream === "stderr" ? child.stderr : child.stdout;
586
+ (this.ndjsonStream === "stderr" ? child.stdout : child.stderr)?.on("data", (chunk) => {
587
+ stderrChunks.push(chunk.toString());
588
+ });
589
+ const rl = createInterface({ input: ndjsonSource });
590
+ const eventQueue = [];
591
+ let resolveNext;
592
+ let streamDone = false;
593
+ const enqueue = (event) => {
594
+ eventQueue.push(event);
595
+ resolveNext?.();
596
+ };
597
+ rl.on("line", (line) => {
598
+ resetWatchdog();
599
+ if (!line.trim()) return;
600
+ try {
601
+ JSON.parse(line);
602
+ } catch {
603
+ return;
604
+ }
605
+ const event = this.extractEvent(line);
606
+ if (event) enqueue(event);
607
+ });
608
+ rl.on("close", () => {
609
+ streamDone = true;
610
+ enqueue(null);
611
+ });
612
+ const exitPromise = new Promise((resolve) => {
613
+ child.on("exit", (code, signal) => {
614
+ resolve({
615
+ code,
616
+ signal
617
+ });
618
+ });
619
+ });
620
+ if (this.supportsStdinPrompt && params.prompt.length > CLIRuntimeBase.STDIN_PROMPT_THRESHOLD && child.stdin) child.stdin.write(params.prompt);
621
+ child.stdin?.end();
622
+ const onAbort = () => {
623
+ aborted = true;
624
+ killWithEscalation();
625
+ };
626
+ if (params.abortSignal) if (params.abortSignal.aborted) {
627
+ aborted = true;
628
+ killWithEscalation();
629
+ } else params.abortSignal.addEventListener("abort", onAbort, { once: true });
630
+ try {
631
+ while (!streamDone) {
632
+ if (eventQueue.length === 0) await new Promise((resolve) => {
633
+ resolveNext = resolve;
634
+ });
635
+ while (eventQueue.length > 0) {
636
+ const event = eventQueue.shift();
637
+ if (event === null || event === void 0) break;
638
+ yield event;
639
+ }
640
+ }
641
+ } finally {
642
+ if (watchdogTimer !== void 0) clearTimeout(watchdogTimer);
643
+ params.abortSignal?.removeEventListener("abort", onAbort);
644
+ }
645
+ await exitPromise;
646
+ if (escalationTimer !== void 0) clearTimeout(escalationTimer);
647
+ const durationMs = Date.now() - startMs;
648
+ if (watchdogFired) yield {
649
+ type: "error",
650
+ message: `Watchdog timeout: no output for ${this.timeoutMs}ms`,
651
+ code: "WATCHDOG_TIMEOUT"
652
+ };
653
+ if (aborted) yield {
654
+ type: "error",
655
+ message: "Execution aborted",
656
+ code: "ABORTED"
657
+ };
658
+ yield {
659
+ type: "done",
660
+ result: {
661
+ text: "",
662
+ sessionId: void 0,
663
+ durationMs,
664
+ usage: void 0,
665
+ aborted
666
+ }
667
+ };
668
+ }
669
+ };
670
+
671
+ //#endregion
672
+ //#region src/middleware/runtimes/claude.ts
673
+ /**
674
+ * Claude CLI runtime — invokes `claude --print --output-format stream-json`
675
+ * and maps the streaming NDJSON output to {@link AgentEvent} instances.
676
+ */
677
+ var ClaudeCliRuntime = class extends CLIRuntimeBase {
678
+ constructor() {
679
+ super("claude");
680
+ this.accumulatedText = "";
681
+ this.toolBuffer = null;
682
+ }
683
+ async *execute(params) {
684
+ this.resetState();
685
+ for await (const event of super.execute(params)) {
686
+ if (event.type === "done") this.enrichDoneEvent(event);
687
+ yield event;
688
+ }
689
+ }
690
+ buildArgs(params) {
691
+ const args = [
692
+ "--output-format",
693
+ "stream-json",
694
+ "--verbose",
695
+ "--include-partial-messages"
696
+ ];
697
+ if (params.sessionId) args.push("--resume", params.sessionId);
698
+ if (params.mcpServers && Object.keys(params.mcpServers).length > 0) args.push("--mcp-config", JSON.stringify({ mcpServers: params.mcpServers }));
699
+ args.push("--print", params.prompt);
700
+ return args;
701
+ }
702
+ extractEvent(line) {
703
+ const parsed = JSON.parse(line);
704
+ if (!isObject$3(parsed)) return null;
705
+ if (parsed.type === "system") {
706
+ if (typeof parsed.session_id === "string" && !this.currentSessionId) this.currentSessionId = parsed.session_id;
707
+ return null;
708
+ }
709
+ if (parsed.type === "stream_event") {
710
+ if (typeof parsed.session_id === "string" && !this.currentSessionId) this.currentSessionId = parsed.session_id;
711
+ if (isObject$3(parsed.event)) return this.handleInnerEvent(parsed.event);
712
+ return null;
713
+ }
714
+ if (parsed.type === "result") {
715
+ this.storeResultData(parsed);
716
+ return null;
717
+ }
718
+ return null;
719
+ }
720
+ buildEnv(_params) {
721
+ return {};
722
+ }
723
+ handleInnerEvent(event) {
724
+ switch (event.type) {
725
+ case "content_block_start": return this.handleContentBlockStart(event);
726
+ case "content_block_delta": return this.handleContentBlockDelta(event);
727
+ case "content_block_stop": return this.handleContentBlockStop();
728
+ case "message_delta":
729
+ this.handleMessageDelta(event);
730
+ return null;
731
+ default: return null;
732
+ }
733
+ }
734
+ handleContentBlockStart(event) {
735
+ const contentBlock = isObject$3(event.content_block) ? event.content_block : null;
736
+ if (!contentBlock) return null;
737
+ if (contentBlock.type === "tool_use") this.toolBuffer = {
738
+ name: typeof contentBlock.name === "string" ? contentBlock.name : "",
739
+ id: typeof contentBlock.id === "string" ? contentBlock.id : "",
740
+ input: ""
741
+ };
742
+ return null;
743
+ }
744
+ handleContentBlockDelta(event) {
745
+ const delta = isObject$3(event.delta) ? event.delta : null;
746
+ if (!delta) return null;
747
+ if (delta.type === "text_delta" && typeof delta.text === "string") {
748
+ this.accumulatedText += delta.text;
749
+ return {
750
+ type: "text",
751
+ text: delta.text
752
+ };
753
+ }
754
+ if (delta.type === "input_json_delta" && typeof delta.partial_json === "string") {
755
+ if (this.toolBuffer) this.toolBuffer.input += delta.partial_json;
756
+ return null;
757
+ }
758
+ return null;
759
+ }
760
+ handleContentBlockStop() {
761
+ if (this.toolBuffer) {
762
+ const { name, id, input } = this.toolBuffer;
763
+ this.toolBuffer = null;
764
+ let parsedInput = {};
765
+ if (input) try {
766
+ parsedInput = JSON.parse(input);
767
+ } catch {}
768
+ return {
769
+ type: "tool_use",
770
+ toolName: name,
771
+ toolId: id,
772
+ input: parsedInput
773
+ };
774
+ }
775
+ return null;
776
+ }
777
+ handleMessageDelta(event) {
778
+ const delta = isObject$3(event.delta) ? event.delta : null;
779
+ if (delta && typeof delta.stop_reason === "string") this.lastStopReason = delta.stop_reason;
780
+ const usage = isObject$3(event.usage) ? parseUsage(event.usage) : void 0;
781
+ if (usage) this.lastUsage = usage;
782
+ }
783
+ storeResultData(parsed) {
784
+ const usage = isObject$3(parsed.usage) ? parsed.usage : null;
785
+ this.resultData = {
786
+ sessionId: typeof parsed.session_id === "string" ? parsed.session_id : void 0,
787
+ costUsd: typeof parsed.cost_usd === "number" ? parsed.cost_usd : void 0,
788
+ durationApiMs: typeof parsed.duration_api_ms === "number" ? parsed.duration_api_ms : void 0,
789
+ numTurns: typeof parsed.num_turns === "number" ? parsed.num_turns : void 0,
790
+ subtype: typeof parsed.subtype === "string" ? parsed.subtype : void 0,
791
+ usage: usage ? parseUsage(usage) : void 0
792
+ };
793
+ }
794
+ enrichDoneEvent(event) {
795
+ const { result } = event;
796
+ result.text = this.accumulatedText;
797
+ result.sessionId = this.resultData?.sessionId ?? this.currentSessionId;
798
+ result.stopReason = this.lastStopReason ?? this.resultData?.subtype;
799
+ result.usage = this.resultData?.usage ?? this.lastUsage;
800
+ if (this.resultData?.costUsd !== void 0) result.totalCostUsd = this.resultData.costUsd;
801
+ if (this.resultData?.durationApiMs !== void 0) result.apiDurationMs = this.resultData.durationApiMs;
802
+ if (this.resultData?.numTurns !== void 0) result.numTurns = this.resultData.numTurns;
803
+ }
804
+ resetState() {
805
+ this.currentSessionId = void 0;
806
+ this.accumulatedText = "";
807
+ this.toolBuffer = null;
808
+ this.lastUsage = void 0;
809
+ this.lastStopReason = void 0;
810
+ this.resultData = void 0;
811
+ }
812
+ };
813
+ function isObject$3(value) {
814
+ return typeof value === "object" && value !== null && !Array.isArray(value);
815
+ }
816
+ function parseUsage(raw) {
817
+ return {
818
+ inputTokens: typeof raw.input_tokens === "number" ? raw.input_tokens : 0,
819
+ outputTokens: typeof raw.output_tokens === "number" ? raw.output_tokens : 0,
820
+ ...typeof raw.cache_read_input_tokens === "number" ? { cacheReadTokens: raw.cache_read_input_tokens } : {},
821
+ ...typeof raw.cache_creation_input_tokens === "number" ? { cacheWriteTokens: raw.cache_creation_input_tokens } : {}
822
+ };
823
+ }
824
+
825
+ //#endregion
826
+ //#region src/middleware/runtimes/codex.ts
827
+ /**
828
+ * Codex CLI runtime — invokes `codex exec --json`
829
+ * and maps the streaming NDJSON output to {@link AgentEvent} instances.
830
+ *
831
+ * The Codex CLI uses a two-level event model:
832
+ * - Top-level events: thread.started, turn.started, item.started, item.updated,
833
+ * item.completed, turn.completed, turn.failed, error
834
+ * - Item types: agent_message, command_execution, mcp_tool_call, file_change,
835
+ * reasoning, web_search, error, todo_list
836
+ */
837
+ var CodexCliRuntime = class extends CLIRuntimeBase {
838
+ constructor() {
839
+ super("codex");
840
+ this.accumulatedText = "";
841
+ this.lastEmittedTextLength = 0;
842
+ this.itemCounter = 0;
843
+ }
844
+ get supportsStdinPrompt() {
845
+ return false;
846
+ }
847
+ async *execute(params) {
848
+ this.resetState();
849
+ const mcpConfigManager = params.mcpServers && Object.keys(params.mcpServers).length > 0 ? new CodexMcpConfigManager(params.mcpServers) : null;
850
+ try {
851
+ await mcpConfigManager?.setup();
852
+ for await (const event of super.execute(params)) {
853
+ if (event.type === "done") this.enrichDoneEvent(event);
854
+ yield event;
855
+ }
856
+ } finally {
857
+ await mcpConfigManager?.teardown();
858
+ }
859
+ }
860
+ buildArgs(params) {
861
+ if (params.sessionId) return [
862
+ "exec",
863
+ "resume",
864
+ "--json",
865
+ params.sessionId,
866
+ params.prompt
867
+ ];
868
+ return [
869
+ "exec",
870
+ "--json",
871
+ "--color",
872
+ "never",
873
+ params.prompt
874
+ ];
875
+ }
876
+ extractEvent(line) {
877
+ const parsed = JSON.parse(line);
878
+ if (!isObject$2(parsed) || typeof parsed.type !== "string") return null;
879
+ switch (parsed.type) {
880
+ case "thread.started": return this.handleThreadStarted(parsed);
881
+ case "item.started": return this.handleItemStarted(parsed);
882
+ case "item.updated": return this.handleItemUpdated(parsed);
883
+ case "item.completed": return this.handleItemCompleted(parsed);
884
+ case "turn.completed": return this.handleTurnCompleted(parsed);
885
+ case "turn.failed": return this.handleTurnFailed(parsed);
886
+ case "error": return this.handleError(parsed);
887
+ default: return null;
888
+ }
889
+ }
890
+ buildEnv(_params) {
891
+ return {};
892
+ }
893
+ handleThreadStarted(parsed) {
894
+ if (typeof parsed.thread_id === "string") this.currentSessionId = parsed.thread_id;
895
+ return null;
896
+ }
897
+ handleItemStarted(parsed) {
898
+ const item = isObject$2(parsed.item) ? parsed.item : null;
899
+ if (!item || typeof item.type !== "string") return null;
900
+ const toolId = this.extractToolId(item);
901
+ switch (item.type) {
902
+ case "command_execution":
903
+ this.currentToolId = toolId;
904
+ return {
905
+ type: "tool_use",
906
+ toolName: "command_execution",
907
+ toolId,
908
+ input: { command: typeof item.command === "string" ? item.command : "" }
909
+ };
910
+ case "mcp_tool_call":
911
+ this.currentToolId = toolId;
912
+ return {
913
+ type: "tool_use",
914
+ toolName: typeof item.name === "string" ? item.name : "",
915
+ toolId,
916
+ input: isObject$2(item.arguments) ? item.arguments : {}
917
+ };
918
+ case "agent_message":
919
+ this.lastEmittedTextLength = 0;
920
+ return null;
921
+ default: return null;
922
+ }
923
+ }
924
+ handleItemUpdated(parsed) {
925
+ const item = isObject$2(parsed.item) ? parsed.item : null;
926
+ if (!item || item.type !== "agent_message") return null;
927
+ const fullText = this.extractMessageText(item);
928
+ if (fullText === void 0) return null;
929
+ const delta = fullText.substring(this.lastEmittedTextLength);
930
+ this.lastEmittedTextLength = fullText.length;
931
+ if (delta) {
932
+ this.accumulatedText += delta;
933
+ return {
934
+ type: "text",
935
+ text: delta
936
+ };
937
+ }
938
+ return null;
939
+ }
940
+ handleItemCompleted(parsed) {
941
+ const item = isObject$2(parsed.item) ? parsed.item : null;
942
+ if (!item || typeof item.type !== "string") return null;
943
+ switch (item.type) {
944
+ case "agent_message": {
945
+ const fullText = this.extractMessageText(item);
946
+ if (fullText !== void 0) {
947
+ const delta = fullText.substring(this.lastEmittedTextLength);
948
+ this.lastEmittedTextLength = fullText.length;
949
+ if (delta) {
950
+ this.accumulatedText += delta;
951
+ return {
952
+ type: "text",
953
+ text: delta
954
+ };
955
+ }
956
+ }
957
+ return null;
958
+ }
959
+ case "command_execution": {
960
+ const toolId = this.currentToolId ?? this.extractToolId(item);
961
+ this.currentToolId = void 0;
962
+ return {
963
+ type: "tool_result",
964
+ toolId,
965
+ output: typeof item.output === "string" ? item.output : "",
966
+ isError: (typeof item.exit_code === "number" ? item.exit_code : 0) !== 0
967
+ };
968
+ }
969
+ case "mcp_tool_call": {
970
+ const toolId = this.currentToolId ?? this.extractToolId(item);
971
+ this.currentToolId = void 0;
972
+ return {
973
+ type: "tool_result",
974
+ toolId,
975
+ output: typeof item.output === "string" ? item.output : "",
976
+ isError: typeof item.error === "string" && item.error.length > 0
977
+ };
978
+ }
979
+ case "error": return {
980
+ type: "error",
981
+ message: typeof item.message === "string" ? item.message : "Unknown error"
982
+ };
983
+ default: return null;
984
+ }
985
+ }
986
+ handleTurnCompleted(parsed) {
987
+ if (isObject$2(parsed.usage)) {
988
+ const usage = parsed.usage;
989
+ this.lastUsage = {
990
+ inputTokens: typeof usage.input_tokens === "number" ? usage.input_tokens : 0,
991
+ outputTokens: typeof usage.output_tokens === "number" ? usage.output_tokens : 0,
992
+ ...typeof usage.cached_input_tokens === "number" && usage.cached_input_tokens > 0 ? { cacheReadTokens: usage.cached_input_tokens } : {}
993
+ };
994
+ }
995
+ return null;
996
+ }
997
+ handleTurnFailed(parsed) {
998
+ return {
999
+ type: "error",
1000
+ message: typeof parsed.message === "string" ? parsed.message : "Turn failed",
1001
+ code: "turn_failed"
1002
+ };
1003
+ }
1004
+ handleError(parsed) {
1005
+ return {
1006
+ type: "error",
1007
+ message: typeof parsed.message === "string" ? parsed.message : "Unknown error"
1008
+ };
1009
+ }
1010
+ enrichDoneEvent(event) {
1011
+ const { result } = event;
1012
+ result.text = this.accumulatedText;
1013
+ result.sessionId = this.currentSessionId;
1014
+ if (this.lastUsage) result.usage = this.lastUsage;
1015
+ }
1016
+ extractToolId(item) {
1017
+ if (typeof item.id === "string") return item.id;
1018
+ return `codex-item-${this.itemCounter++}`;
1019
+ }
1020
+ extractMessageText(item) {
1021
+ if (Array.isArray(item.content)) {
1022
+ const textParts = [];
1023
+ for (const part of item.content) if (isObject$2(part) && part.type === "output_text" && typeof part.text === "string") textParts.push(part.text);
1024
+ if (textParts.length > 0) return textParts.join("");
1025
+ }
1026
+ if (typeof item.text === "string") return item.text;
1027
+ }
1028
+ resetState() {
1029
+ this.currentSessionId = void 0;
1030
+ this.accumulatedText = "";
1031
+ this.lastEmittedTextLength = 0;
1032
+ this.lastUsage = void 0;
1033
+ this.currentToolId = void 0;
1034
+ this.itemCounter = 0;
1035
+ }
1036
+ };
1037
+ /**
1038
+ * Manages the `~/.codex/config.toml` lifecycle for MCP server configuration.
1039
+ *
1040
+ * The Codex CLI reads MCP config from `~/.codex/config.toml`. The config uses
1041
+ * TOML format with `[mcp_servers.<name>]` sections.
1042
+ *
1043
+ * Uses a merge-restore pattern:
1044
+ * - **Setup**: read existing config (if any), save a copy, append `mcp_servers`
1045
+ * sections, write back.
1046
+ * - **Teardown** (always, via `finally`): restore original or delete created file.
1047
+ */
1048
+ var CodexMcpConfigManager = class {
1049
+ constructor(mcpServers, configDir) {
1050
+ this.mcpServers = mcpServers;
1051
+ this.originalContent = null;
1052
+ this.createdFile = false;
1053
+ this.createdDir = false;
1054
+ this.configDir = configDir ?? join(homedir(), ".codex");
1055
+ this.configPath = join(this.configDir, "config.toml");
1056
+ }
1057
+ async setup() {
1058
+ try {
1059
+ await mkdir(this.configDir, { recursive: true });
1060
+ } catch {}
1061
+ let existingContent = null;
1062
+ try {
1063
+ const content = await readFile(this.configPath, "utf-8");
1064
+ this.originalContent = content;
1065
+ existingContent = content;
1066
+ } catch {
1067
+ this.createdFile = true;
1068
+ try {
1069
+ if ((await readdir(this.configDir)).length === 0) this.createdDir = true;
1070
+ } catch {}
1071
+ }
1072
+ const mcpToml = serializeMcpServersToToml(this.mcpServers);
1073
+ if (existingContent) {
1074
+ const stripped = stripMcpServersSections(existingContent);
1075
+ const separator = stripped.endsWith("\n") ? "\n" : "\n\n";
1076
+ await writeFile(this.configPath, stripped + separator + mcpToml, "utf-8");
1077
+ } else await writeFile(this.configPath, mcpToml, "utf-8");
1078
+ }
1079
+ async teardown() {
1080
+ try {
1081
+ if (this.originalContent !== null) await writeFile(this.configPath, this.originalContent, "utf-8");
1082
+ else if (this.createdFile) {
1083
+ await rm(this.configPath, { force: true });
1084
+ if (this.createdDir) try {
1085
+ await rmdir(this.configDir);
1086
+ } catch {}
1087
+ }
1088
+ } catch {}
1089
+ }
1090
+ };
1091
+ /**
1092
+ * Serialize MCP server configs to TOML format for Codex config.
1093
+ *
1094
+ * Output format:
1095
+ * ```toml
1096
+ * [mcp_servers.server_name]
1097
+ * type = "stdio"
1098
+ * command = "node"
1099
+ * args = ["server.js"]
1100
+ *
1101
+ * [mcp_servers.server_name.env]
1102
+ * KEY = "VALUE"
1103
+ * ```
1104
+ */
1105
+ function serializeMcpServersToToml(mcpServers) {
1106
+ const sections = [];
1107
+ for (const [name, config] of Object.entries(mcpServers)) {
1108
+ const lines = [];
1109
+ lines.push(`[mcp_servers.${name}]`);
1110
+ lines.push(`type = "stdio"`);
1111
+ lines.push(`command = ${toTomlString(config.command)}`);
1112
+ const args = config.args ?? [];
1113
+ if (args.length > 0) lines.push(`args = [${args.map((s) => toTomlString(s)).join(", ")}]`);
1114
+ sections.push(lines.join("\n"));
1115
+ if (config.env && Object.keys(config.env).length > 0) {
1116
+ const envLines = [];
1117
+ envLines.push(`[mcp_servers.${name}.env]`);
1118
+ for (const [key, value] of Object.entries(config.env)) envLines.push(`${key} = ${toTomlString(value)}`);
1119
+ sections.push(envLines.join("\n"));
1120
+ }
1121
+ }
1122
+ return sections.join("\n\n") + "\n";
1123
+ }
1124
+ /**
1125
+ * Strip existing `[mcp_servers.*]` sections from TOML content.
1126
+ * This is a simple line-based approach that removes lines belonging to
1127
+ * mcp_servers sections (from header to next non-mcp_servers section).
1128
+ */
1129
+ function stripMcpServersSections(content) {
1130
+ const lines = content.split("\n");
1131
+ const result = [];
1132
+ let inMcpSection = false;
1133
+ for (const line of lines) {
1134
+ const trimmed = line.trim();
1135
+ if (trimmed.startsWith("[")) {
1136
+ if (trimmed.startsWith("[mcp_servers.") || trimmed === "[mcp_servers]") {
1137
+ inMcpSection = true;
1138
+ continue;
1139
+ }
1140
+ inMcpSection = false;
1141
+ }
1142
+ if (!inMcpSection) result.push(line);
1143
+ }
1144
+ while (result.length > 0 && result[result.length - 1].trim() === "") result.pop();
1145
+ return result.join("\n") + "\n";
1146
+ }
1147
+ /** Escape a string for TOML (basic string with double quotes). */
1148
+ function toTomlString(value) {
1149
+ return `"${value.replace(/\\/g, "\\\\").replace(/"/g, "\\\"").replace(/\n/g, "\\n").replace(/\r/g, "\\r").replace(/\t/g, "\\t")}"`;
1150
+ }
1151
+ function isObject$2(value) {
1152
+ return typeof value === "object" && value !== null && !Array.isArray(value);
1153
+ }
1154
+
1155
+ //#endregion
1156
+ //#region src/middleware/runtimes/gemini.ts
1157
+ /**
1158
+ * Gemini CLI runtime — invokes `gemini --output-format stream-json`
1159
+ * and maps the streaming NDJSON output to {@link AgentEvent} instances.
1160
+ */
1161
+ var GeminiCliRuntime = class extends CLIRuntimeBase {
1162
+ constructor() {
1163
+ super("gemini");
1164
+ this.accumulatedText = "";
1165
+ }
1166
+ get supportsStdinPrompt() {
1167
+ return false;
1168
+ }
1169
+ async *execute(params) {
1170
+ this.resetState();
1171
+ const mcpConfigManager = params.mcpServers && Object.keys(params.mcpServers).length > 0 ? new GeminiMcpConfigManager(params.workingDirectory, params.mcpServers) : null;
1172
+ try {
1173
+ await mcpConfigManager?.setup();
1174
+ for await (const event of super.execute(params)) {
1175
+ if (event.type === "done") this.enrichDoneEvent(event);
1176
+ yield event;
1177
+ }
1178
+ } finally {
1179
+ await mcpConfigManager?.teardown();
1180
+ }
1181
+ }
1182
+ buildArgs(params) {
1183
+ const args = [
1184
+ "--output-format",
1185
+ "stream-json",
1186
+ "--prompt",
1187
+ params.prompt
1188
+ ];
1189
+ if (params.sessionId) args.push("--resume", params.sessionId);
1190
+ return args;
1191
+ }
1192
+ extractEvent(line) {
1193
+ const parsed = JSON.parse(line);
1194
+ if (!isObject$1(parsed) || typeof parsed.type !== "string") return null;
1195
+ switch (parsed.type) {
1196
+ case "init": return this.handleInit(parsed);
1197
+ case "message": return this.handleMessage(parsed);
1198
+ case "tool_use": return this.handleToolUse(parsed);
1199
+ case "tool_result": return this.handleToolResult(parsed);
1200
+ case "error": return this.handleError(parsed);
1201
+ case "result": return this.handleResult(parsed);
1202
+ default: return null;
1203
+ }
1204
+ }
1205
+ buildEnv(_params) {
1206
+ return {};
1207
+ }
1208
+ handleInit(parsed) {
1209
+ if (typeof parsed.session_id === "string") this.currentSessionId = parsed.session_id;
1210
+ return null;
1211
+ }
1212
+ handleMessage(parsed) {
1213
+ if (parsed.delta !== true || parsed.role !== "assistant") return null;
1214
+ const content = typeof parsed.content === "string" ? parsed.content : void 0;
1215
+ if (content === void 0) return null;
1216
+ this.accumulatedText += content;
1217
+ return {
1218
+ type: "text",
1219
+ text: content
1220
+ };
1221
+ }
1222
+ handleToolUse(parsed) {
1223
+ return {
1224
+ type: "tool_use",
1225
+ toolName: typeof parsed.tool_name === "string" ? parsed.tool_name : "",
1226
+ toolId: typeof parsed.tool_id === "string" ? parsed.tool_id : "",
1227
+ input: isObject$1(parsed.parameters) ? parsed.parameters : {}
1228
+ };
1229
+ }
1230
+ handleToolResult(parsed) {
1231
+ return {
1232
+ type: "tool_result",
1233
+ toolId: typeof parsed.tool_id === "string" ? parsed.tool_id : "",
1234
+ output: typeof parsed.output === "string" ? parsed.output : "",
1235
+ isError: parsed.status === "error"
1236
+ };
1237
+ }
1238
+ handleError(parsed) {
1239
+ return {
1240
+ type: "error",
1241
+ message: typeof parsed.message === "string" ? parsed.message : "Unknown error",
1242
+ code: typeof parsed.severity === "string" ? parsed.severity : void 0
1243
+ };
1244
+ }
1245
+ handleResult(parsed) {
1246
+ if (isObject$1(parsed.stats)) this.resultStats = {
1247
+ inputTokens: typeof parsed.stats.input_tokens === "number" ? parsed.stats.input_tokens : void 0,
1248
+ outputTokens: typeof parsed.stats.output_tokens === "number" ? parsed.stats.output_tokens : void 0,
1249
+ cached: typeof parsed.stats.cached === "number" ? parsed.stats.cached : void 0,
1250
+ durationMs: typeof parsed.stats.duration_ms === "number" ? parsed.stats.duration_ms : void 0,
1251
+ toolCalls: typeof parsed.stats.tool_calls === "number" ? parsed.stats.tool_calls : void 0
1252
+ };
1253
+ return null;
1254
+ }
1255
+ enrichDoneEvent(event) {
1256
+ const { result } = event;
1257
+ result.text = this.accumulatedText;
1258
+ result.sessionId = this.currentSessionId;
1259
+ if (this.resultStats) {
1260
+ result.usage = {
1261
+ inputTokens: this.resultStats.inputTokens ?? 0,
1262
+ outputTokens: this.resultStats.outputTokens ?? 0,
1263
+ ...this.resultStats.cached != null && this.resultStats.cached > 0 ? { cacheReadTokens: this.resultStats.cached } : {}
1264
+ };
1265
+ if (this.resultStats.durationMs !== void 0) result.apiDurationMs = this.resultStats.durationMs;
1266
+ if (this.resultStats.toolCalls !== void 0) result.numTurns = this.resultStats.toolCalls;
1267
+ }
1268
+ }
1269
+ resetState() {
1270
+ this.currentSessionId = void 0;
1271
+ this.accumulatedText = "";
1272
+ this.resultStats = void 0;
1273
+ }
1274
+ };
1275
+ /**
1276
+ * Manages the `.gemini/settings.json` lifecycle for MCP server configuration.
1277
+ *
1278
+ * The Gemini CLI reads MCP config from a fixed settings file hierarchy — there
1279
+ * is no `--mcp-config`, `--settings-dir`, or `--config` CLI flag. Project-level
1280
+ * settings live in `.gemini/settings.json` within the working directory.
1281
+ *
1282
+ * A `GEMINI_CONFIG_DIR` env var was requested (google-gemini/gemini-cli#2815)
1283
+ * but redirected to XDG spec compliance (#1825), which hasn't shipped as of
1284
+ * v0.11.x. Until a flag or env var exists, we use a merge-restore pattern:
1285
+ *
1286
+ * - **Setup**: read existing `.gemini/settings.json` (if any), save a copy,
1287
+ * merge `mcpServers` into it, write back.
1288
+ * - **Teardown** (always, via `finally`): restore the original file, or remove
1289
+ * the file/directory we created.
1290
+ */
1291
+ var GeminiMcpConfigManager = class {
1292
+ constructor(workingDirectory, mcpServers) {
1293
+ this.mcpServers = mcpServers;
1294
+ this.originalContent = null;
1295
+ this.createdFile = false;
1296
+ this.createdDir = false;
1297
+ this.settingsDir = join(workingDirectory ?? process.cwd(), ".gemini");
1298
+ this.settingsPath = join(this.settingsDir, "settings.json");
1299
+ }
1300
+ async setup() {
1301
+ try {
1302
+ await mkdir(this.settingsDir, { recursive: true });
1303
+ } catch {}
1304
+ let existingSettings = null;
1305
+ try {
1306
+ const content = await readFile(this.settingsPath, "utf-8");
1307
+ this.originalContent = content;
1308
+ existingSettings = JSON.parse(content);
1309
+ } catch {
1310
+ this.createdFile = true;
1311
+ try {
1312
+ if ((await readdir(this.settingsDir)).length === 0) this.createdDir = true;
1313
+ } catch {}
1314
+ }
1315
+ const mergedSettings = existingSettings ?? {};
1316
+ mergedSettings.mcpServers = this.mcpServers;
1317
+ await writeFile(this.settingsPath, JSON.stringify(mergedSettings, null, 2), "utf-8");
1318
+ }
1319
+ async teardown() {
1320
+ try {
1321
+ if (this.originalContent !== null) await writeFile(this.settingsPath, this.originalContent, "utf-8");
1322
+ else if (this.createdFile) {
1323
+ await rm(this.settingsPath, { force: true });
1324
+ if (this.createdDir) try {
1325
+ await rmdir(this.settingsDir);
1326
+ } catch {}
1327
+ }
1328
+ } catch {}
1329
+ }
1330
+ };
1331
+ function isObject$1(value) {
1332
+ return typeof value === "object" && value !== null && !Array.isArray(value);
1333
+ }
1334
+
1335
+ //#endregion
1336
+ //#region src/middleware/runtimes/opencode.ts
1337
+ /**
1338
+ * OpenCode CLI runtime — invokes `opencode run --format json`
1339
+ * and maps the streaming NDJSON output to {@link AgentEvent} instances.
1340
+ *
1341
+ * OpenCode uses a per-line envelope model where every NDJSON line has:
1342
+ * `{ type, timestamp, sessionID, ...data }`
1343
+ *
1344
+ * Key differences from other runtimes:
1345
+ * - Text events are complete parts (no delta tracking needed)
1346
+ * - Tool events combine use + result in a single line (buffered drain pattern)
1347
+ * - Usage/cost comes from `step_finish` events
1348
+ */
1349
+ var OpenCodeCliRuntime = class extends CLIRuntimeBase {
1350
+ constructor() {
1351
+ super("opencode");
1352
+ this.accumulatedText = "";
1353
+ this.pendingEvents = [];
1354
+ this.toolCounter = 0;
1355
+ }
1356
+ async *execute(params) {
1357
+ this.resetState();
1358
+ const mcpConfigManager = params.mcpServers && Object.keys(params.mcpServers).length > 0 ? new OpenCodeMcpConfigManager(params.workingDirectory, params.mcpServers) : null;
1359
+ try {
1360
+ await mcpConfigManager?.setup();
1361
+ for await (const event of super.execute(params)) {
1362
+ if (event.type === "done") this.enrichDoneEvent(event);
1363
+ yield event;
1364
+ while (this.pendingEvents.length > 0) yield this.pendingEvents.shift();
1365
+ }
1366
+ } finally {
1367
+ await mcpConfigManager?.teardown();
1368
+ }
1369
+ }
1370
+ buildArgs(params) {
1371
+ const args = [
1372
+ "run",
1373
+ "--format",
1374
+ "json"
1375
+ ];
1376
+ if (params.sessionId) args.push("--session", params.sessionId);
1377
+ args.push(params.prompt);
1378
+ return args;
1379
+ }
1380
+ extractEvent(line) {
1381
+ const parsed = JSON.parse(line);
1382
+ if (!isObject(parsed) || typeof parsed.type !== "string") return null;
1383
+ if (typeof parsed.sessionID === "string" && this.currentSessionId === void 0) this.currentSessionId = parsed.sessionID;
1384
+ const data = isObject(parsed.part) ? parsed.part : parsed;
1385
+ switch (parsed.type) {
1386
+ case "text": return this.handleText(data);
1387
+ case "tool_use": return this.handleToolUse(data);
1388
+ case "step_start": return null;
1389
+ case "step_finish": return this.handleStepFinish(data);
1390
+ case "reasoning": return null;
1391
+ case "error": return this.handleError(data);
1392
+ default: return null;
1393
+ }
1394
+ }
1395
+ buildEnv(_params) {
1396
+ return {};
1397
+ }
1398
+ handleText(parsed) {
1399
+ const content = typeof parsed.text === "string" ? parsed.text : typeof parsed.content === "string" ? parsed.content : "";
1400
+ this.accumulatedText += content;
1401
+ return {
1402
+ type: "text",
1403
+ text: content
1404
+ };
1405
+ }
1406
+ handleToolUse(parsed) {
1407
+ const toolId = typeof parsed.callID === "string" ? parsed.callID : `opencode-tool-${this.toolCounter++}`;
1408
+ const state = isObject(parsed.state) ? parsed.state : void 0;
1409
+ this.pendingEvents.push({
1410
+ type: "tool_result",
1411
+ toolId,
1412
+ output: typeof state?.output === "string" ? state.output : "",
1413
+ isError: typeof state?.error === "string" && state.error.length > 0
1414
+ });
1415
+ return {
1416
+ type: "tool_use",
1417
+ toolName: typeof parsed.name === "string" ? parsed.name : "",
1418
+ toolId,
1419
+ input: isObject(parsed.input) ? parsed.input : {}
1420
+ };
1421
+ }
1422
+ handleStepFinish(parsed) {
1423
+ this.lastStepFinish = {
1424
+ tokens: isObject(parsed.tokens) ? parsed.tokens : void 0,
1425
+ cost: typeof parsed.cost === "number" ? parsed.cost : void 0,
1426
+ reason: typeof parsed.reason === "string" ? parsed.reason : void 0
1427
+ };
1428
+ return null;
1429
+ }
1430
+ handleError(parsed) {
1431
+ return {
1432
+ type: "error",
1433
+ message: typeof parsed.message === "string" ? parsed.message : "Unknown error"
1434
+ };
1435
+ }
1436
+ enrichDoneEvent(event) {
1437
+ const { result } = event;
1438
+ result.text = this.accumulatedText;
1439
+ result.sessionId = this.currentSessionId;
1440
+ if (this.lastStepFinish) {
1441
+ const { tokens, cost, reason } = this.lastStepFinish;
1442
+ if (tokens) {
1443
+ const input = typeof tokens.input === "number" ? tokens.input : 0;
1444
+ const output = typeof tokens.output === "number" ? tokens.output : 0;
1445
+ const cache = isObject(tokens.cache) ? tokens.cache : void 0;
1446
+ const cacheRead = typeof cache?.read === "number" ? cache.read : 0;
1447
+ const cacheWrite = typeof cache?.write === "number" ? cache.write : 0;
1448
+ result.usage = {
1449
+ inputTokens: input,
1450
+ outputTokens: output,
1451
+ ...cacheRead > 0 ? { cacheReadTokens: cacheRead } : {},
1452
+ ...cacheWrite > 0 ? { cacheWriteTokens: cacheWrite } : {}
1453
+ };
1454
+ }
1455
+ if (cost !== void 0) result.totalCostUsd = cost;
1456
+ if (reason !== void 0) result.stopReason = reason;
1457
+ }
1458
+ }
1459
+ resetState() {
1460
+ this.currentSessionId = void 0;
1461
+ this.accumulatedText = "";
1462
+ this.lastStepFinish = void 0;
1463
+ this.pendingEvents = [];
1464
+ this.toolCounter = 0;
1465
+ }
1466
+ };
1467
+ /**
1468
+ * Manages the `.opencode/config.json` lifecycle for MCP server configuration.
1469
+ *
1470
+ * OpenCode reads MCP config from its project-level settings file. Uses a
1471
+ * merge-restore pattern (same as Gemini and Codex):
1472
+ *
1473
+ * - **Setup**: read existing `.opencode/config.json` (if any), save a copy,
1474
+ * merge `mcpServers` into it, write back.
1475
+ * - **Teardown** (always, via `finally`): restore the original file, or remove
1476
+ * the file/directory we created.
1477
+ */
1478
+ var OpenCodeMcpConfigManager = class {
1479
+ constructor(workingDirectory, mcpServers) {
1480
+ this.mcpServers = mcpServers;
1481
+ this.originalContent = null;
1482
+ this.createdFile = false;
1483
+ this.createdDir = false;
1484
+ this.configDir = join(workingDirectory ?? process.cwd(), ".opencode");
1485
+ this.configPath = join(this.configDir, "config.json");
1486
+ }
1487
+ async setup() {
1488
+ try {
1489
+ await mkdir(this.configDir, { recursive: true });
1490
+ } catch {}
1491
+ let existingConfig = null;
1492
+ try {
1493
+ const content = await readFile(this.configPath, "utf-8");
1494
+ this.originalContent = content;
1495
+ existingConfig = JSON.parse(content);
1496
+ } catch {
1497
+ this.createdFile = true;
1498
+ try {
1499
+ if ((await readdir(this.configDir)).length === 0) this.createdDir = true;
1500
+ } catch {}
1501
+ }
1502
+ const mergedConfig = existingConfig ?? {};
1503
+ mergedConfig.mcpServers = this.mcpServers;
1504
+ await writeFile(this.configPath, JSON.stringify(mergedConfig, null, 2), "utf-8");
1505
+ }
1506
+ async teardown() {
1507
+ try {
1508
+ if (this.originalContent !== null) await writeFile(this.configPath, this.originalContent, "utf-8");
1509
+ else if (this.createdFile) {
1510
+ await rm(this.configPath, { force: true });
1511
+ if (this.createdDir) try {
1512
+ await rmdir(this.configDir);
1513
+ } catch {}
1514
+ }
1515
+ } catch {}
1516
+ }
1517
+ };
1518
+ function isObject(value) {
1519
+ return typeof value === "object" && value !== null && !Array.isArray(value);
1520
+ }
1521
+
1522
+ //#endregion
1523
+ //#region src/middleware/runtime-factory.ts
1524
+ const SUPPORTED_PROVIDERS = [
1525
+ "claude",
1526
+ "gemini",
1527
+ "codex",
1528
+ "opencode"
1529
+ ];
1530
+ function createCliRuntime(provider) {
1531
+ switch (provider.trim().toLowerCase()) {
1532
+ case "claude": return new ClaudeCliRuntime();
1533
+ case "gemini": return new GeminiCliRuntime();
1534
+ case "codex": return new CodexCliRuntime();
1535
+ case "opencode": return new OpenCodeCliRuntime();
1536
+ default: throw new Error(`Unknown runtime provider "${provider}". Supported providers: ${SUPPORTED_PROVIDERS.join(", ")}`);
1537
+ }
1538
+ }
1539
+
1540
+ //#endregion
1541
+ //#region src/middleware/system-prompt.ts
1542
+ const SAFETY_SECTION = [
1543
+ "## Safety",
1544
+ "You have no independent goals: do not pursue self-preservation, replication, resource acquisition, or power-seeking; avoid long-term plans beyond the user's request.",
1545
+ "Prioritize safety and human oversight over completion; if instructions conflict, pause and ask; comply with stop/pause/audit requests and never bypass safeguards.",
1546
+ "Do not manipulate or persuade anyone to expand access or disable safeguards. Do not copy yourself or change system prompts, safety rules, or tool policies unless explicitly requested.",
1547
+ "Never expose credentials, API keys, or secrets in replies or tool calls. Respect user privacy."
1548
+ ].join("\n");
1549
+ const MESSAGING_SECTION = [
1550
+ "## Messaging",
1551
+ "- Reply in current session: automatically routes to the source channel.",
1552
+ "- Cross-session messaging: use sessions_send(sessionKey, message) to reach other channels.",
1553
+ "- `[System Message] ...` blocks are internal context and are not user-visible.",
1554
+ `- If a \`[System Message]\` reports completed work and asks for a user update, rewrite it in your normal assistant voice and send that update (do not forward raw system text or default to ${SILENT_REPLY_TOKEN}).`,
1555
+ "- Never use exec/curl for provider messaging; RemoteClaw handles all routing internally."
1556
+ ].join("\n");
1557
+ const REPLY_TAGS_SECTION = [
1558
+ "## Reply Tags",
1559
+ "To request a native reply/quote on supported surfaces, include one tag in your reply:",
1560
+ "- Reply tags must be the very first token in the message (no leading text/newlines): [[reply_to_current]] your reply.",
1561
+ "- [[reply_to_current]] replies to the triggering message.",
1562
+ "- Prefer [[reply_to_current]]. Use [[reply_to:<id>]] only when an id was explicitly provided (e.g. by the user or a tool).",
1563
+ "Whitespace inside the tag is allowed (e.g. [[ reply_to_current ]] / [[ reply_to: 123 ]]).",
1564
+ "Tags are stripped before sending; support depends on the current channel config."
1565
+ ].join("\n");
1566
+ const SILENT_REPLIES_SECTION = [
1567
+ "## Silent Replies",
1568
+ `When you have nothing to say, respond with ONLY: ${SILENT_REPLY_TOKEN}`,
1569
+ "",
1570
+ "Rules:",
1571
+ "- It must be your ENTIRE message — nothing else.",
1572
+ `- Never append it to an actual response (never include "${SILENT_REPLY_TOKEN}" in real replies).`,
1573
+ "- Never wrap it in markdown or code blocks."
1574
+ ].join("\n");
1575
+ function buildIdentitySection(channelName, userName) {
1576
+ const intro = "You are running inside RemoteClaw, a middleware that connects AI agents to messaging channels.";
1577
+ return userName ? `${intro}\nYou are responding to a message from ${userName} on ${channelName}.` : `${intro}\nYou are responding to a message on ${channelName}.`;
1578
+ }
1579
+ function buildRuntimeSection(params) {
1580
+ const parts = [`channel=${params.channelName}`];
1581
+ if (params.timezone) parts.push(`timezone=${params.timezone}`);
1582
+ if (params.agentId) parts.push(`agent=${params.agentId}`);
1583
+ return `## Runtime\nRuntime: ${parts.join(" | ")}`;
1584
+ }
1585
+ function buildWorkspaceSection(workspaceDir) {
1586
+ return [
1587
+ "## Workspace",
1588
+ `Your working directory is: ${workspaceDir}`,
1589
+ "Treat this directory as the single global workspace for file operations unless explicitly instructed otherwise."
1590
+ ].join("\n");
1591
+ }
1592
+ function buildMessageToolHintsSection(hints) {
1593
+ if (!hints || hints.length === 0) return;
1594
+ return `## Message Formatting\n${hints.join("\n")}`;
1595
+ }
1596
+ function buildAuthorizedSendersSection(senders) {
1597
+ const filtered = senders?.filter(Boolean);
1598
+ if (!filtered || filtered.length === 0) return;
1599
+ return `## Authorized Senders\nAuthorized senders: ${filtered.join(", ")}. These senders are allowlisted; do not assume they are the owner.`;
1600
+ }
1601
+ function buildReactionsSection(guidance) {
1602
+ if (!guidance) return;
1603
+ const { level, channel } = guidance;
1604
+ if (level === "minimal") return [
1605
+ "## Reactions",
1606
+ `Reactions are enabled for ${channel} in MINIMAL mode.`,
1607
+ "React ONLY when truly relevant:",
1608
+ "- Acknowledge important user requests or confirmations",
1609
+ "- Express genuine sentiment (humor, appreciation) sparingly",
1610
+ "- Avoid reacting to routine messages or your own replies",
1611
+ "Guideline: at most 1 reaction per 5-10 exchanges."
1612
+ ].join("\n");
1613
+ return [
1614
+ "## Reactions",
1615
+ `Reactions are enabled for ${channel} in EXTENSIVE mode.`,
1616
+ "Feel free to react liberally:",
1617
+ "- Acknowledge messages with appropriate emojis",
1618
+ "- Express sentiment and personality through reactions",
1619
+ "- React to interesting content, humor, or notable events",
1620
+ "- Use reactions to confirm understanding or agreement",
1621
+ "Guideline: react whenever it feels natural."
1622
+ ].join("\n");
1623
+ }
1624
+ /**
1625
+ * Build the RemoteClaw system prompt for injection into CLI subprocess agents.
1626
+ *
1627
+ * Assembles ~10 sections totaling ~3,000-5,000 chars (~770-1,270 tokens).
1628
+ * No promptMode switch (always full), no bootstrap context (CLI agent handles),
1629
+ * no tool list (MCP handles), no skills/memory/sandbox sections.
1630
+ */
1631
+ function buildSystemPrompt(params) {
1632
+ const sections = [
1633
+ buildIdentitySection(params.channelName, params.userName),
1634
+ SAFETY_SECTION,
1635
+ MESSAGING_SECTION
1636
+ ];
1637
+ const hintsSection = buildMessageToolHintsSection(params.messageToolHints);
1638
+ if (hintsSection) sections.push(hintsSection);
1639
+ sections.push(REPLY_TAGS_SECTION);
1640
+ sections.push(SILENT_REPLIES_SECTION);
1641
+ const sendersSection = buildAuthorizedSendersSection(params.authorizedSenders);
1642
+ if (sendersSection) sections.push(sendersSection);
1643
+ const reactionsSection = buildReactionsSection(params.reactionGuidance);
1644
+ if (reactionsSection) sections.push(reactionsSection);
1645
+ sections.push(buildRuntimeSection(params));
1646
+ sections.push(buildWorkspaceSection(params.workspaceDir));
1647
+ return sections.join("\n\n");
1648
+ }
1649
+
1650
+ //#endregion
1651
+ //#region src/middleware/channel-bridge.ts
1652
+ const DEFAULT_WORKSPACE_DIR = ".";
1653
+ const DEFAULT_MCP_SERVER_PATH = join("dist", "middleware", "mcp-server.js");
1654
+ const EMPTY_SIDE_EFFECTS = {
1655
+ sentTexts: [],
1656
+ sentMediaUrls: [],
1657
+ sentTargets: [],
1658
+ cronAdds: 0
1659
+ };
1660
+ const DEFAULT_RUN_RESULT = {
1661
+ text: "",
1662
+ sessionId: void 0,
1663
+ durationMs: 0,
1664
+ usage: void 0,
1665
+ aborted: false
1666
+ };
1667
+ /**
1668
+ * Central orchestrator connecting incoming channel messages to CLI agent execution and delivery.
1669
+ *
1670
+ * `handle()` is the single entry point for all dispatch sites: agent command, auto-reply,
1671
+ * cron, and follow-up. It wires together runtime factory, session map, error classifier,
1672
+ * delivery adapter, system prompt builder, and MCP side effects.
1673
+ */
1674
+ var ChannelBridge = class {
1675
+ #provider;
1676
+ #sessionMap;
1677
+ #gatewayUrl;
1678
+ #gatewayToken;
1679
+ #workspaceDir;
1680
+ #chunkLimit;
1681
+ #mcpServerPath;
1682
+ constructor(options) {
1683
+ this.#provider = options.provider;
1684
+ this.#sessionMap = options.sessionMap;
1685
+ this.#gatewayUrl = options.gatewayUrl;
1686
+ this.#gatewayToken = options.gatewayToken;
1687
+ this.#workspaceDir = options.workspaceDir ?? DEFAULT_WORKSPACE_DIR;
1688
+ this.#chunkLimit = options.chunkLimit;
1689
+ this.#mcpServerPath = options.mcpServerPath ?? DEFAULT_MCP_SERVER_PATH;
1690
+ }
1691
+ /**
1692
+ * Process an incoming channel message through the full agent execution pipeline.
1693
+ *
1694
+ * Flow: session lookup → system prompt → MCP config → runtime execution →
1695
+ * event streaming → error classification → side effects → session update → result assembly.
1696
+ */
1697
+ async handle(message, callbacks, abortSignal) {
1698
+ const sessionKey = buildSessionKey(message);
1699
+ const existingSessionId = await this.#sessionMap.get(sessionKey);
1700
+ const hookRunner = getGlobalHookRunner();
1701
+ if (existingSessionId && hookRunner?.hasHooks("session_resumed")) await hookRunner.runSessionResumed({
1702
+ sessionId: existingSessionId,
1703
+ runtimeName: this.#provider,
1704
+ channelId: message.channelId,
1705
+ userId: message.from,
1706
+ resumeMethod: "session_map"
1707
+ }, {
1708
+ sessionId: existingSessionId,
1709
+ channelId: message.channelId,
1710
+ runtimeName: this.#provider
1711
+ });
1712
+ const systemPrompt = buildSystemPrompt({
1713
+ channelName: message.provider,
1714
+ workspaceDir: this.#workspaceDir,
1715
+ messageToolHints: message.messageToolHints,
1716
+ userName: message.userName,
1717
+ agentId: message.agentId,
1718
+ timezone: message.timezone,
1719
+ authorizedSenders: message.authorizedSenders,
1720
+ reactionGuidance: message.reactionGuidance
1721
+ });
1722
+ const invocationDir = await createInvocationDir();
1723
+ const sideEffectsFile = join(invocationDir, "side-effects.ndjson");
1724
+ try {
1725
+ const mcpServers = this.#buildMcpConfig(message, sessionKey, sideEffectsFile);
1726
+ const runtime = createCliRuntime(this.#provider);
1727
+ let workspaceDir = this.#workspaceDir;
1728
+ let extraEnv;
1729
+ const runId = randomUUID();
1730
+ if (hookRunner?.hasHooks("before_runtime_spawn")) {
1731
+ const spawnResult = await hookRunner.runBeforeRuntimeSpawn({
1732
+ runtimeName: this.#provider,
1733
+ sessionId: existingSessionId,
1734
+ command: "node",
1735
+ args: [this.#mcpServerPath],
1736
+ env: mcpServers.remoteclaw?.env ?? {},
1737
+ workspaceDir,
1738
+ channelId: message.channelId
1739
+ }, {
1740
+ sessionId: existingSessionId,
1741
+ channelId: message.channelId,
1742
+ runtimeName: this.#provider
1743
+ });
1744
+ if (spawnResult?.workspaceDir) workspaceDir = spawnResult.workspaceDir;
1745
+ if (spawnResult?.env) extraEnv = spawnResult.env;
1746
+ }
1747
+ const adapter = new DeliveryAdapter(this.#chunkLimit !== void 0 ? { chunkLimit: this.#chunkLimit } : void 0);
1748
+ let runResult;
1749
+ let lastError;
1750
+ let payloads;
1751
+ try {
1752
+ const captured = captureResult(runtime.execute({
1753
+ prompt: systemPrompt + (message.extraContext ? "\n\n" + message.extraContext : "") + "\n\n" + message.text,
1754
+ sessionId: existingSessionId,
1755
+ mcpServers,
1756
+ abortSignal,
1757
+ workingDirectory: workspaceDir,
1758
+ env: extraEnv
1759
+ }));
1760
+ payloads = await adapter.process(captured.events, callbacks);
1761
+ runResult = captured.getResult();
1762
+ lastError = captured.getError();
1763
+ } catch (err) {
1764
+ const errMsg = String(err);
1765
+ const category = classifyError(errMsg);
1766
+ lastError = errMsg;
1767
+ payloads = [];
1768
+ runResult = {
1769
+ ...DEFAULT_RUN_RESULT,
1770
+ errorSubtype: category === "context_overflow" ? "context_window" : category
1771
+ };
1772
+ }
1773
+ let mcp;
1774
+ try {
1775
+ mcp = await readMcpSideEffects(sideEffectsFile);
1776
+ } catch {
1777
+ mcp = { ...EMPTY_SIDE_EFFECTS };
1778
+ }
1779
+ if (runResult?.sessionId) await this.#sessionMap.set(sessionKey, runResult.sessionId);
1780
+ const finalResult = runResult ?? { ...DEFAULT_RUN_RESULT };
1781
+ if (hookRunner) {
1782
+ const runtimeCtx = {
1783
+ sessionId: finalResult.sessionId,
1784
+ channelId: message.channelId,
1785
+ runtimeName: this.#provider
1786
+ };
1787
+ if (hookRunner.hasHooks("after_runtime_exit")) hookRunner.runAfterRuntimeExit({
1788
+ runtimeName: this.#provider,
1789
+ sessionId: finalResult.sessionId,
1790
+ exitCode: finalResult.errorSubtype ? 1 : 0,
1791
+ durationMs: finalResult.durationMs,
1792
+ stdout: finalResult.text,
1793
+ stderr: lastError,
1794
+ mcpSideEffects: {
1795
+ sentTexts: mcp.sentTexts,
1796
+ sentMediaUrls: mcp.sentMediaUrls,
1797
+ cronAdds: mcp.cronAdds
1798
+ }
1799
+ }, runtimeCtx);
1800
+ if (hookRunner.hasHooks("agent_end")) hookRunner.runAgentEnd({
1801
+ runId,
1802
+ sessionId: finalResult.sessionId,
1803
+ success: !finalResult.errorSubtype && !lastError,
1804
+ durationMs: finalResult.durationMs
1805
+ }, runtimeCtx);
1806
+ }
1807
+ return {
1808
+ payloads,
1809
+ run: finalResult,
1810
+ mcp,
1811
+ error: lastError
1812
+ };
1813
+ } finally {
1814
+ await rm(invocationDir, {
1815
+ recursive: true,
1816
+ force: true
1817
+ }).catch(() => {});
1818
+ }
1819
+ }
1820
+ /** Build MCP server configuration for the remoteclaw MCP server. */
1821
+ #buildMcpConfig(message, sessionKey, sideEffectsFile) {
1822
+ return { remoteclaw: {
1823
+ command: "node",
1824
+ args: [this.#mcpServerPath],
1825
+ env: {
1826
+ REMOTECLAW_GATEWAY_URL: this.#gatewayUrl,
1827
+ REMOTECLAW_GATEWAY_TOKEN: this.#gatewayToken,
1828
+ REMOTECLAW_SESSION_KEY: formatSessionKeyString(sessionKey),
1829
+ REMOTECLAW_SIDE_EFFECTS_FILE: sideEffectsFile,
1830
+ REMOTECLAW_CHANNEL: message.provider,
1831
+ REMOTECLAW_ACCOUNT_ID: message.from,
1832
+ REMOTECLAW_TO: message.channelId,
1833
+ ...message.replyToId ? { REMOTECLAW_THREAD_ID: message.replyToId } : {},
1834
+ REMOTECLAW_SENDER_IS_OWNER: String(message.senderIsOwner ?? false),
1835
+ REMOTECLAW_TOOL_PROFILE: message.toolProfile ?? "full"
1836
+ }
1837
+ } };
1838
+ }
1839
+ };
1840
+ /** Build a SessionKey from a ChannelMessage. */
1841
+ function buildSessionKey(message) {
1842
+ return {
1843
+ channelId: message.channelId,
1844
+ userId: message.from,
1845
+ threadId: message.replyToId
1846
+ };
1847
+ }
1848
+ /** Format a SessionKey as a composite string (for env vars). */
1849
+ function formatSessionKeyString(key) {
1850
+ return `${key.channelId}:${key.userId}:${key.threadId ?? "_"}`;
1851
+ }
1852
+ /** Create a unique temp directory for an invocation. */
1853
+ async function createInvocationDir() {
1854
+ return mkdtemp(join(tmpdir(), "rc-"));
1855
+ }
1856
+ /**
1857
+ * Wrap an event stream to capture the AgentRunResult from the done event
1858
+ * and any error messages, while passing all events through to the consumer.
1859
+ */
1860
+ function captureResult(events) {
1861
+ let result;
1862
+ let error;
1863
+ async function* wrapped() {
1864
+ for await (const event of events) {
1865
+ if (event.type === "done") result = event.result;
1866
+ else if (event.type === "error") error = event.message;
1867
+ yield event;
1868
+ }
1869
+ }
1870
+ return {
1871
+ events: wrapped(),
1872
+ getResult: () => result,
1873
+ getError: () => error
1874
+ };
1875
+ }
1876
+
1877
+ //#endregion
1878
+ //#region src/agents/cli-session.ts
1879
+ function getCliSessionId(entry, provider) {
1880
+ if (!entry) return;
1881
+ const normalized = normalizeProviderId(provider);
1882
+ const fromMap = entry.cliSessionIds?.[normalized];
1883
+ if (fromMap?.trim()) return fromMap.trim();
1884
+ if (normalized === "claude-cli") {
1885
+ const legacy = entry.claudeCliSessionId?.trim();
1886
+ if (legacy) return legacy;
1887
+ }
1888
+ }
1889
+ function setCliSessionId(entry, provider, sessionId) {
1890
+ const normalized = normalizeProviderId(provider);
1891
+ const trimmed = sessionId.trim();
1892
+ if (!trimmed) return;
1893
+ entry.cliSessionIds = { ...entry.cliSessionIds ?? {} };
1894
+ entry.cliSessionIds[normalized] = trimmed;
1895
+ if (normalized === "claude-cli") entry.claudeCliSessionId = trimmed;
1896
+ }
1897
+
1898
+ //#endregion
1899
+ //#region src/infra/outbound/targets.ts
1900
+ function resolveSessionDeliveryTarget(params) {
1901
+ const context = deliveryContextFromSession(params.entry);
1902
+ const sessionLastChannel = context?.channel && isDeliverableMessageChannel(context.channel) ? context.channel : void 0;
1903
+ const hasTurnSourceChannel = params.turnSourceChannel != null;
1904
+ const lastChannel = hasTurnSourceChannel ? params.turnSourceChannel : sessionLastChannel;
1905
+ const lastTo = hasTurnSourceChannel ? params.turnSourceTo : context?.to;
1906
+ const lastAccountId = hasTurnSourceChannel ? params.turnSourceAccountId : context?.accountId;
1907
+ const lastThreadId = hasTurnSourceChannel ? params.turnSourceThreadId : context?.threadId;
1908
+ const rawRequested = params.requestedChannel ?? "last";
1909
+ const requested = rawRequested === "last" ? "last" : normalizeMessageChannel(rawRequested);
1910
+ const requestedChannel = requested === "last" ? "last" : requested && isDeliverableMessageChannel(requested) ? requested : void 0;
1911
+ const rawExplicitTo = typeof params.explicitTo === "string" && params.explicitTo.trim() ? params.explicitTo.trim() : void 0;
1912
+ let channel = requestedChannel === "last" ? lastChannel : requestedChannel;
1913
+ if (!channel && params.fallbackChannel && isDeliverableMessageChannel(params.fallbackChannel)) channel = params.fallbackChannel;
1914
+ const isTelegramContext = channel === "telegram" || !channel && lastChannel === "telegram";
1915
+ let explicitTo = rawExplicitTo;
1916
+ let parsedThreadId;
1917
+ if (isTelegramContext && rawExplicitTo && rawExplicitTo.includes(":topic:")) {
1918
+ const parsed = parseTelegramTarget(rawExplicitTo);
1919
+ explicitTo = parsed.chatId;
1920
+ parsedThreadId = parsed.messageThreadId;
1921
+ }
1922
+ const explicitThreadId = params.explicitThreadId != null && params.explicitThreadId !== "" ? params.explicitThreadId : parsedThreadId;
1923
+ let to = explicitTo;
1924
+ if (!to && lastTo) {
1925
+ if (channel && channel === lastChannel) to = lastTo;
1926
+ else if (params.allowMismatchedLastTo) to = lastTo;
1927
+ }
1928
+ const mode = params.mode ?? (explicitTo ? "explicit" : "implicit");
1929
+ const accountId = channel && channel === lastChannel ? lastAccountId : void 0;
1930
+ const resolvedThreadId = explicitThreadId ?? (mode !== "heartbeat" && channel && channel === lastChannel ? lastThreadId : void 0);
1931
+ return {
1932
+ channel,
1933
+ to,
1934
+ accountId,
1935
+ threadId: resolvedThreadId,
1936
+ threadIdExplicit: resolvedThreadId != null && explicitThreadId != null,
1937
+ mode,
1938
+ lastChannel,
1939
+ lastTo,
1940
+ lastAccountId,
1941
+ lastThreadId
1942
+ };
1943
+ }
1944
+ function resolveOutboundTarget(params) {
1945
+ if (params.channel === INTERNAL_MESSAGE_CHANNEL) return {
1946
+ ok: false,
1947
+ error: /* @__PURE__ */ new Error(`Delivering to WebChat is not supported via \`${formatCliCommand("remoteclaw agent")}\`; use WhatsApp/Telegram or run with --deliver=false.`)
1948
+ };
1949
+ const plugin = getChannelPlugin(params.channel);
1950
+ if (!plugin) return {
1951
+ ok: false,
1952
+ error: /* @__PURE__ */ new Error(`Unsupported channel: ${params.channel}`)
1953
+ };
1954
+ const allowFrom = (params.allowFrom ?? (params.cfg && plugin.config.resolveAllowFrom ? plugin.config.resolveAllowFrom({
1955
+ cfg: params.cfg,
1956
+ accountId: params.accountId ?? void 0
1957
+ }) : void 0))?.map((entry) => String(entry));
1958
+ const effectiveTo = params.to?.trim() || (params.cfg && plugin.config.resolveDefaultTo ? plugin.config.resolveDefaultTo({
1959
+ cfg: params.cfg,
1960
+ accountId: params.accountId ?? void 0
1961
+ }) : void 0);
1962
+ const resolveTarget = plugin.outbound?.resolveTarget;
1963
+ if (resolveTarget) return resolveTarget({
1964
+ cfg: params.cfg,
1965
+ to: effectiveTo,
1966
+ allowFrom,
1967
+ accountId: params.accountId ?? void 0,
1968
+ mode: params.mode ?? "explicit"
1969
+ });
1970
+ if (effectiveTo) return {
1971
+ ok: true,
1972
+ to: effectiveTo
1973
+ };
1974
+ const hint = plugin.messaging?.targetResolver?.hint;
1975
+ return {
1976
+ ok: false,
1977
+ error: missingTargetError(plugin.meta.label ?? params.channel, hint)
1978
+ };
1979
+ }
1980
+ function resolveHeartbeatDeliveryTarget(params) {
1981
+ const { cfg, entry } = params;
1982
+ const heartbeat = params.heartbeat ?? cfg.agents?.defaults?.heartbeat;
1983
+ const rawTarget = heartbeat?.target;
1984
+ let target = "none";
1985
+ if (rawTarget === "none" || rawTarget === "last") target = rawTarget;
1986
+ else if (typeof rawTarget === "string") {
1987
+ const normalized = normalizeChannelId(rawTarget);
1988
+ if (normalized) target = normalized;
1989
+ }
1990
+ if (target === "none") {
1991
+ const base = resolveSessionDeliveryTarget({ entry });
1992
+ return buildNoHeartbeatDeliveryTarget({
1993
+ reason: "target-none",
1994
+ lastChannel: base.lastChannel,
1995
+ lastAccountId: base.lastAccountId
1996
+ });
1997
+ }
1998
+ const resolvedTarget = resolveSessionDeliveryTarget({
1999
+ entry,
2000
+ requestedChannel: target === "last" ? "last" : target,
2001
+ explicitTo: heartbeat?.to,
2002
+ mode: "heartbeat"
2003
+ });
2004
+ const heartbeatAccountId = heartbeat?.accountId?.trim();
2005
+ let effectiveAccountId = heartbeatAccountId || resolvedTarget.accountId;
2006
+ if (heartbeatAccountId && resolvedTarget.channel) {
2007
+ const listAccountIds = getChannelPlugin(resolvedTarget.channel)?.config.listAccountIds;
2008
+ const accountIds = listAccountIds ? listAccountIds(cfg) : [];
2009
+ if (accountIds.length > 0) {
2010
+ const normalizedAccountId = normalizeAccountId(heartbeatAccountId);
2011
+ if (!new Set(accountIds.map((accountId) => normalizeAccountId(accountId))).has(normalizedAccountId)) return buildNoHeartbeatDeliveryTarget({
2012
+ reason: "unknown-account",
2013
+ accountId: normalizedAccountId,
2014
+ lastChannel: resolvedTarget.lastChannel,
2015
+ lastAccountId: resolvedTarget.lastAccountId
2016
+ });
2017
+ effectiveAccountId = normalizedAccountId;
2018
+ }
2019
+ }
2020
+ if (!resolvedTarget.channel || !resolvedTarget.to) return buildNoHeartbeatDeliveryTarget({
2021
+ reason: "no-target",
2022
+ accountId: effectiveAccountId,
2023
+ lastChannel: resolvedTarget.lastChannel,
2024
+ lastAccountId: resolvedTarget.lastAccountId
2025
+ });
2026
+ const resolved = resolveOutboundTarget({
2027
+ channel: resolvedTarget.channel,
2028
+ to: resolvedTarget.to,
2029
+ cfg,
2030
+ accountId: effectiveAccountId,
2031
+ mode: "heartbeat"
2032
+ });
2033
+ if (!resolved.ok) return buildNoHeartbeatDeliveryTarget({
2034
+ reason: "no-target",
2035
+ accountId: effectiveAccountId,
2036
+ lastChannel: resolvedTarget.lastChannel,
2037
+ lastAccountId: resolvedTarget.lastAccountId
2038
+ });
2039
+ const sessionChatTypeHint = target === "last" && !heartbeat?.to ? normalizeChatType(entry?.chatType) : void 0;
2040
+ if (resolveHeartbeatDeliveryChatType({
2041
+ channel: resolvedTarget.channel,
2042
+ to: resolved.to,
2043
+ sessionChatType: sessionChatTypeHint
2044
+ }) === "direct") return buildNoHeartbeatDeliveryTarget({
2045
+ reason: "dm-blocked",
2046
+ accountId: effectiveAccountId,
2047
+ lastChannel: resolvedTarget.lastChannel,
2048
+ lastAccountId: resolvedTarget.lastAccountId
2049
+ });
2050
+ let reason;
2051
+ if (getChannelPlugin(resolvedTarget.channel)?.config.resolveAllowFrom) {
2052
+ const explicit = resolveOutboundTarget({
2053
+ channel: resolvedTarget.channel,
2054
+ to: resolvedTarget.to,
2055
+ cfg,
2056
+ accountId: effectiveAccountId,
2057
+ mode: "explicit"
2058
+ });
2059
+ if (explicit.ok && explicit.to !== resolved.to) reason = "allowFrom-fallback";
2060
+ }
2061
+ return {
2062
+ channel: resolvedTarget.channel,
2063
+ to: resolved.to,
2064
+ reason,
2065
+ accountId: effectiveAccountId,
2066
+ threadId: resolvedTarget.threadId,
2067
+ lastChannel: resolvedTarget.lastChannel,
2068
+ lastAccountId: resolvedTarget.lastAccountId
2069
+ };
2070
+ }
2071
+ function buildNoHeartbeatDeliveryTarget(params) {
2072
+ return {
2073
+ channel: "none",
2074
+ reason: params.reason,
2075
+ accountId: params.accountId,
2076
+ lastChannel: params.lastChannel,
2077
+ lastAccountId: params.lastAccountId
2078
+ };
2079
+ }
2080
+ function inferDiscordTargetChatType(to) {
2081
+ try {
2082
+ const target = parseDiscordTarget(to, { defaultKind: "channel" });
2083
+ if (!target) return;
2084
+ return target.kind === "user" ? "direct" : "channel";
2085
+ } catch {
2086
+ return;
2087
+ }
2088
+ }
2089
+ function inferSlackTargetChatType(to) {
2090
+ const target = parseSlackTarget(to, { defaultKind: "channel" });
2091
+ if (!target) return;
2092
+ return target.kind === "user" ? "direct" : "channel";
2093
+ }
2094
+ function inferTelegramTargetChatType(to) {
2095
+ const chatType = resolveTelegramTargetChatType(to);
2096
+ return chatType === "unknown" ? void 0 : chatType;
2097
+ }
2098
+ function inferWhatsAppTargetChatType(to) {
2099
+ const normalized = normalizeWhatsAppTarget(to);
2100
+ if (!normalized) return;
2101
+ return isWhatsAppGroupJid(normalized) ? "group" : "direct";
2102
+ }
2103
+ function inferSignalTargetChatType(rawTo) {
2104
+ let to = rawTo.trim();
2105
+ if (!to) return;
2106
+ if (/^signal:/i.test(to)) to = to.replace(/^signal:/i, "").trim();
2107
+ if (!to) return;
2108
+ const lower = to.toLowerCase();
2109
+ if (lower.startsWith("group:")) return "group";
2110
+ if (lower.startsWith("username:") || lower.startsWith("u:")) return "direct";
2111
+ return "direct";
2112
+ }
2113
+ const HEARTBEAT_TARGET_CHAT_TYPE_INFERERS = {
2114
+ discord: inferDiscordTargetChatType,
2115
+ slack: inferSlackTargetChatType,
2116
+ telegram: inferTelegramTargetChatType,
2117
+ whatsapp: inferWhatsAppTargetChatType,
2118
+ signal: inferSignalTargetChatType
2119
+ };
2120
+ function inferChatTypeFromTarget(params) {
2121
+ const to = params.to.trim();
2122
+ if (!to) return;
2123
+ if (/^user:/i.test(to)) return "direct";
2124
+ if (/^(channel:|thread:)/i.test(to)) return "channel";
2125
+ if (/^group:/i.test(to)) return "group";
2126
+ return HEARTBEAT_TARGET_CHAT_TYPE_INFERERS[params.channel]?.(to);
2127
+ }
2128
+ function resolveHeartbeatDeliveryChatType(params) {
2129
+ if (params.sessionChatType) return params.sessionChatType;
2130
+ return inferChatTypeFromTarget({
2131
+ channel: params.channel,
2132
+ to: params.to
2133
+ });
2134
+ }
2135
+ function resolveHeartbeatSenderId(params) {
2136
+ const { allowFrom, deliveryTo, lastTo, provider } = params;
2137
+ const candidates = [
2138
+ deliveryTo?.trim(),
2139
+ provider && deliveryTo ? `${provider}:${deliveryTo}` : void 0,
2140
+ lastTo?.trim(),
2141
+ provider && lastTo ? `${provider}:${lastTo}` : void 0
2142
+ ].filter((val) => Boolean(val?.trim()));
2143
+ const allowList = allowFrom.map((entry) => String(entry)).filter((entry) => entry && entry !== "*");
2144
+ if (allowFrom.includes("*")) return candidates[0] ?? "heartbeat";
2145
+ if (candidates.length > 0 && allowList.length > 0) {
2146
+ const matched = candidates.find((candidate) => allowList.includes(candidate));
2147
+ if (matched) return matched;
2148
+ }
2149
+ if (candidates.length > 0 && allowList.length === 0) return candidates[0];
2150
+ if (allowList.length > 0) return allowList[0];
2151
+ return candidates[0] ?? "heartbeat";
2152
+ }
2153
+ function resolveHeartbeatSenderContext(params) {
2154
+ const provider = params.delivery.channel !== "none" ? params.delivery.channel : params.delivery.lastChannel;
2155
+ const accountId = params.delivery.accountId ?? (provider === params.delivery.lastChannel ? params.delivery.lastAccountId : void 0);
2156
+ const allowFrom = (provider ? getChannelPlugin(provider)?.config.resolveAllowFrom?.({
2157
+ cfg: params.cfg,
2158
+ accountId
2159
+ }) ?? [] : []).map((entry) => String(entry));
2160
+ return {
2161
+ sender: resolveHeartbeatSenderId({
2162
+ allowFrom,
2163
+ deliveryTo: params.delivery.to,
2164
+ lastTo: params.entry?.lastTo,
2165
+ provider
2166
+ }),
2167
+ provider,
2168
+ allowFrom
2169
+ };
2170
+ }
2171
+
2172
+ //#endregion
2173
+ export { peekSystemEventEntries as _, getCliSessionId as a, resolveSendPolicy as b, listChannelSupportedActions as c, resolveSessionAuthProfileOverride as d, applyVerboseOverride as f, isSystemEventContextChanged as g, enqueueSystemEvent as h, resolveSessionDeliveryTarget as i, resolveChannelMessageToolHints as l, drainSystemEventEntries as m, resolveHeartbeatSenderContext as n, setCliSessionId as o, parseVerboseOverride as p, resolveOutboundTarget as r, ChannelBridge as s, resolveHeartbeatDeliveryTarget as t, clearSessionAuthProfileOverride as u, peekSystemEvents as v, normalizeSendPolicy as y };