@fased/fased 0.1.41 → 0.1.43

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 (2353) hide show
  1. package/dist/brand.js +1 -1
  2. package/dist/build-info.json +3 -3
  3. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  4. package/dist/cli/daemon-cli/restart-health.js +49 -13
  5. package/dist/cli/plugins-cli.js +6 -103
  6. package/dist/cli/plugins-doctor-cli.js +45 -0
  7. package/dist/cli/plugins-info-cli.js +50 -0
  8. package/dist/cli/plugins-status-cli.js +4 -0
  9. package/dist/cli/program/routes.js +38 -0
  10. package/dist/cli/update-cli/shared.js +1 -29
  11. package/dist/cli/update-cli/update-command.js +87 -28
  12. package/dist/config/legacy.migrations.part-3.js +25 -0
  13. package/dist/gateway/server-plugins.js +12 -0
  14. package/dist/infra/hosted-runtime-artifact.js +40 -1
  15. package/dist/infra/update-global.js +1 -0
  16. package/dist/infra/update-runner.js +318 -38
  17. package/dist/light-plugin-doctor.js +1 -0
  18. package/dist/light-plugin-info.js +2 -0
  19. package/dist/light-update-precheck.js +1 -0
  20. package/dist/light-update-status.js +12 -0
  21. package/dist/plugin-sdk/account-id.d.ts +2 -1
  22. package/dist/plugin-sdk/account-id.js +1 -32
  23. package/dist/plugin-sdk/accounts-Bz_2QZSt.js +305 -0
  24. package/dist/plugin-sdk/accounts-CuqIKU8X.js +84 -0
  25. package/dist/plugin-sdk/accounts-RHZyaB73.js +63 -0
  26. package/dist/plugin-sdk/actions-CysoQjk1.js +150 -0
  27. package/dist/plugin-sdk/active-listener-C5ALSs7Y.js +37 -0
  28. package/dist/plugin-sdk/agent-scope-BbgPlhtw.js +1372 -0
  29. package/dist/plugin-sdk/allow-list-yqasgPpz.js +479 -0
  30. package/dist/plugin-sdk/audio-preflight-CzG6BjAn.js +107 -0
  31. package/dist/plugin-sdk/audit-BFnu5TVB.js +90 -0
  32. package/dist/plugin-sdk/blocks-input-DdQwSVtP.js +30 -0
  33. package/dist/plugin-sdk/channel-access-BiWxa3LR.js +68 -0
  34. package/dist/plugin-sdk/channel-access-configure-gJvqbbXB.js +28 -0
  35. package/dist/plugin-sdk/channel-adapters.discord-g8Do3f5N.js +35 -0
  36. package/dist/plugin-sdk/channel-core-CMPoGCik.js +1 -0
  37. package/dist/plugin-sdk/channel-plugin-common.d.ts +5 -1
  38. package/dist/plugin-sdk/channel-plugin-common.js +18 -1014
  39. package/dist/plugin-sdk/chat-type-CK5stkc4.d.ts +4 -0
  40. package/dist/plugin-sdk/chunk-CuJIMshx.js +341 -0
  41. package/dist/plugin-sdk/chunk-items-CxRDAM7m.js +34 -0
  42. package/dist/plugin-sdk/command-status.d.ts +20 -1
  43. package/dist/plugin-sdk/command-status.js +58 -47
  44. package/dist/plugin-sdk/commands-registry-DwQIFJmL.js +1337 -0
  45. package/dist/plugin-sdk/common-C90EHP1w.js +440 -0
  46. package/dist/plugin-sdk/config-DKNrb8oT.js +23271 -0
  47. package/dist/plugin-sdk/device-pair.d.ts +3 -1
  48. package/dist/plugin-sdk/device-pair.js +8 -840
  49. package/dist/plugin-sdk/device-pairing-J1IH1jFl.js +156 -0
  50. package/dist/plugin-sdk/diagnostic-C16gioN6.js +282 -0
  51. package/dist/plugin-sdk/directory-live-DK_83362.js +105 -0
  52. package/dist/plugin-sdk/directory-live-G7AN8y8N.js +88 -0
  53. package/dist/plugin-sdk/discord.d.ts +91 -1
  54. package/dist/plugin-sdk/discord.js +71 -3287
  55. package/dist/plugin-sdk/draft-stream-controls-DGYBMJYc.js +323 -0
  56. package/dist/plugin-sdk/exec-DQ8j4Fm3.js +230 -0
  57. package/dist/plugin-sdk/fetch-RV7QDF43.js +68 -0
  58. package/dist/plugin-sdk/fetch-guard-CxXvFYq5.js +168 -0
  59. package/dist/plugin-sdk/filesystem-manager-CeSmCA_A.js +188 -0
  60. package/dist/plugin-sdk/fs-safe-DztQeyQe.js +192 -0
  61. package/dist/plugin-sdk/group-mentions-DLOOve8d.d.ts +108 -0
  62. package/dist/plugin-sdk/guilds-n7MMnX1c.js +13 -0
  63. package/dist/plugin-sdk/handle-action-DkfMckah.js +1450 -0
  64. package/dist/plugin-sdk/helpers-C1pcZJsv.js +439 -0
  65. package/dist/plugin-sdk/image-ops-BSQmb-17.js +510 -0
  66. package/dist/plugin-sdk/index.d.ts +2575 -1
  67. package/dist/plugin-sdk/index.js +63 -783
  68. package/dist/plugin-sdk/ip-BkeyFRJr.js +181 -0
  69. package/dist/plugin-sdk/links-D5ecKoG9.js +74 -0
  70. package/dist/plugin-sdk/logger-BbFvCoKk.js +48 -0
  71. package/dist/plugin-sdk/login-YbYyMkkE.js +61 -0
  72. package/dist/plugin-sdk/login-qr-DvJw8_2g.js +326 -0
  73. package/dist/plugin-sdk/manager-DQ1dH8OM.js +3792 -0
  74. package/dist/plugin-sdk/markdown-tables-DrB-IM8r.js +29 -0
  75. package/dist/plugin-sdk/media-D8pWjqEt.js +1137 -0
  76. package/dist/plugin-sdk/memory-search-DHSeU4pJ.js +242 -0
  77. package/dist/plugin-sdk/monitor-B1PUtkd6.js +4539 -0
  78. package/dist/plugin-sdk/monitor-BrxWsb7H.js +7739 -0
  79. package/dist/plugin-sdk/openresponses-http-DJ2lfMja.js +923 -0
  80. package/dist/plugin-sdk/optional-runtime-dependency-Bt_3Yigu.js +41 -0
  81. package/dist/plugin-sdk/outbound-B5ukMdUv.js +224 -0
  82. package/dist/plugin-sdk/outbound-attachment-C9oadpUP.js +95 -0
  83. package/dist/plugin-sdk/pairing-message-B787pcJI.js +293 -0
  84. package/dist/plugin-sdk/pairing-message-DWXHX-jt.d.ts +46 -0
  85. package/dist/plugin-sdk/pairing-store-BdOcH_GA.js +437 -0
  86. package/dist/plugin-sdk/pairing-token-HQpaqod5.js +91 -0
  87. package/dist/plugin-sdk/path-alias-guards-BlIJ0AmG.js +43 -0
  88. package/dist/plugin-sdk/pi-embedded-runner-DMfkIj60.js +95517 -0
  89. package/dist/plugin-sdk/pi-model-discovery-DQdXL_-F.js +134 -0
  90. package/dist/plugin-sdk/pi-model-discovery-runtime-IwiWDCQ3.js +14 -0
  91. package/dist/plugin-sdk/probe-CJ6lN-jD.js +41 -0
  92. package/dist/plugin-sdk/probe-CvXWxzag.js +68 -0
  93. package/dist/plugin-sdk/probe-DO4M1Qd1.js +109 -0
  94. package/dist/plugin-sdk/probe-DbhD54Aw.js +89 -0
  95. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +42 -1
  96. package/dist/plugin-sdk/pw-ai-BgsJH_P8.js +1931 -0
  97. package/dist/plugin-sdk/qmd-manager-D2LMB27z.js +1335 -0
  98. package/dist/plugin-sdk/query-expansion-BM7lmqaP.js +769 -0
  99. package/dist/plugin-sdk/replies-BPFt4O-j.js +107 -0
  100. package/dist/plugin-sdk/reply-prefix-CbPHNXlm.js +171 -0
  101. package/dist/plugin-sdk/resolve-channels-B-dUtZYa.js +4 -0
  102. package/dist/plugin-sdk/resolve-channels-sscr14hU.js +208 -0
  103. package/dist/plugin-sdk/resolve-outbound-target-BP_JscKT.js +40 -0
  104. package/dist/plugin-sdk/resolve-route-wp5xq4Ws.js +249 -0
  105. package/dist/plugin-sdk/resolve-users-B63RqPIO.js +118 -0
  106. package/dist/plugin-sdk/resolve-users-C1sjzEsV.js +125 -0
  107. package/dist/plugin-sdk/retry-policy-BTH89onl.js +70 -0
  108. package/dist/plugin-sdk/run-command-i_W6EFb1.d.ts +99 -0
  109. package/dist/plugin-sdk/runtime-BUpqjZNM.js +6821 -0
  110. package/dist/plugin-sdk/runtime-dependency-pUwxUAJp.js +2110 -0
  111. package/dist/plugin-sdk/sandbox-paths-fc-HFGJr.js +158 -0
  112. package/dist/plugin-sdk/sat-runtime.d.ts +932 -1
  113. package/dist/plugin-sdk/sat-runtime.js +23 -11815
  114. package/dist/plugin-sdk/send-CRI83FPV.js +1353 -0
  115. package/dist/plugin-sdk/send-DGUAXb2b.js +518 -0
  116. package/dist/plugin-sdk/send-DUp9GIX8.js +329 -0
  117. package/dist/plugin-sdk/send-DWB5HFdb.js +547 -0
  118. package/dist/plugin-sdk/send-zn5KBXIN.js +2250 -0
  119. package/dist/plugin-sdk/session-BLyxz03u.js +175 -0
  120. package/dist/plugin-sdk/session-key--_1zVBRB.d.ts +17 -0
  121. package/dist/plugin-sdk/shared-V35XNAbz.js +37 -0
  122. package/dist/plugin-sdk/skill-commands-DCnCOVR_.js +1514 -0
  123. package/dist/plugin-sdk/slack-B6lIY1Jk.js +3742 -0
  124. package/dist/plugin-sdk/slack-actions-Dwy-8Zg7.js +254 -0
  125. package/dist/plugin-sdk/slack.d.ts +73 -1
  126. package/dist/plugin-sdk/slack.js +28 -2568
  127. package/dist/plugin-sdk/ssrf-D_4q0mKh.js +209 -0
  128. package/dist/plugin-sdk/sticker-cache-D4Ljzv1P.js +170 -0
  129. package/dist/plugin-sdk/tables-DX84FwPB.js +55 -0
  130. package/dist/plugin-sdk/tailscale-status-BGBRraZW.js +104 -0
  131. package/dist/plugin-sdk/targets-BgSHco9b.js +101 -0
  132. package/dist/plugin-sdk/targets-CuTZl1mO.js +79 -0
  133. package/dist/plugin-sdk/telegram-actions-tOhBd6st.js +319 -0
  134. package/dist/plugin-sdk/telegram.d.ts +39 -1
  135. package/dist/plugin-sdk/telegram.js +26 -2530
  136. package/dist/plugin-sdk/thread-bindings.lifecycle-DjpMLjhY.js +823 -0
  137. package/dist/plugin-sdk/thread-bindings.state-DYYR9qeT.js +643 -0
  138. package/dist/plugin-sdk/tmp-fased-dir-Be1wBhVz.d.ts +77 -0
  139. package/dist/plugin-sdk/tokens-Do_JU4Rh.js +21 -0
  140. package/dist/plugin-sdk/types-CBCtqtMn.d.ts +54 -0
  141. package/dist/plugin-sdk/types-CJGVZX6j.d.ts +1795 -0
  142. package/dist/plugin-sdk/types-CXLEOrJX.d.ts +3359 -0
  143. package/dist/plugin-sdk/types.plugin-CvUiB3Kh.d.ts +4959 -0
  144. package/dist/plugin-sdk/ui-KGr1WRXC.js +33 -0
  145. package/dist/plugin-sdk/wallet-status-CdxTkLWz.js +11880 -0
  146. package/dist/plugin-sdk/web-CX12Rpz1.js +2238 -0
  147. package/dist/plugin-sdk/whatsapp-actions-DISRDbu1.js +92 -0
  148. package/dist/plugin-sdk/whatsapp-heartbeat-KM3lYpt-.js +70 -0
  149. package/dist/plugin-sdk/whatsapp.d.ts +239 -1
  150. package/dist/plugin-sdk/whatsapp.js +29 -2474
  151. package/dist/plugin-sdk/ws-CxmRDbD9.js +114 -0
  152. package/dist/plugin-sdk/wsl-Cw-xOsqF.js +554 -0
  153. package/dist/plugin-sdk/zod-schema.providers-core-BEbNizPe.d.ts +1773 -0
  154. package/dist/plugins/status-cache.js +112 -0
  155. package/dist/plugins/status-manifest.js +61 -0
  156. package/dist/plugins/status.js +23 -2
  157. package/dist/wizard/onboarding.gateway-config.js +0 -21
  158. package/extensions/acpx/package.json +1 -1
  159. package/extensions/bluebubbles/package.json +1 -1
  160. package/extensions/copilot-proxy/package.json +1 -1
  161. package/extensions/diagnostics-otel/package.json +1 -1
  162. package/extensions/fased-federation/package.json +1 -1
  163. package/extensions/google-gemini-cli-auth/package.json +1 -1
  164. package/extensions/imessage/package.json +1 -1
  165. package/extensions/irc/package.json +1 -1
  166. package/extensions/line/package.json +1 -1
  167. package/extensions/llm-task/package.json +1 -1
  168. package/extensions/lobster/package.json +1 -1
  169. package/extensions/matrix/CHANGELOG.md +6 -0
  170. package/extensions/matrix/package.json +1 -1
  171. package/extensions/mattermost/package.json +1 -1
  172. package/extensions/memory-core/package.json +2 -2
  173. package/extensions/memory-lancedb/package.json +1 -1
  174. package/extensions/minimax-portal-auth/package.json +1 -1
  175. package/extensions/msteams/CHANGELOG.md +6 -0
  176. package/extensions/msteams/package.json +1 -1
  177. package/extensions/nextcloud-talk/package.json +1 -1
  178. package/extensions/nostr/CHANGELOG.md +6 -0
  179. package/extensions/nostr/package.json +1 -1
  180. package/extensions/open-prose/package.json +1 -1
  181. package/extensions/sat-mining/package.json +1 -1
  182. package/extensions/signal/package.json +1 -1
  183. package/extensions/synology-chat/package.json +1 -1
  184. package/extensions/tlon/package.json +1 -1
  185. package/extensions/twitch/CHANGELOG.md +6 -0
  186. package/extensions/twitch/package.json +1 -1
  187. package/extensions/voice-call/CHANGELOG.md +6 -0
  188. package/extensions/voice-call/package.json +1 -1
  189. package/extensions/zalo/CHANGELOG.md +6 -0
  190. package/extensions/zalo/package.json +1 -1
  191. package/extensions/zalouser/CHANGELOG.md +6 -0
  192. package/extensions/zalouser/package.json +1 -1
  193. package/fased.mjs +29 -1
  194. package/package.json +6 -4
  195. package/dist/plugin-sdk/account-helpers-CMvQP0I-.js +0 -38
  196. package/dist/plugin-sdk/accounts-BJFheJNv.js +0 -62
  197. package/dist/plugin-sdk/accounts-BRbbLNW_.js +0 -76
  198. package/dist/plugin-sdk/accounts-BwkH5bTD.js +0 -304
  199. package/dist/plugin-sdk/accounts-COY-15zJ.js +0 -231
  200. package/dist/plugin-sdk/accounts-D7_p-Ivb.js +0 -62
  201. package/dist/plugin-sdk/accounts-DTdM1xcj.js +0 -76
  202. package/dist/plugin-sdk/accounts-RT6y7n3H.js +0 -304
  203. package/dist/plugin-sdk/actions-BrU_JMqM.js +0 -149
  204. package/dist/plugin-sdk/actions-CUdVHzeJ.js +0 -149
  205. package/dist/plugin-sdk/active-listener-CE8t5g6l.js +0 -37
  206. package/dist/plugin-sdk/active-listener-Dx1SEGDn.js +0 -37
  207. package/dist/plugin-sdk/agent-scope-BuTbywla.js +0 -1641
  208. package/dist/plugin-sdk/agent-scope-kIJqg5PA.js +0 -1641
  209. package/dist/plugin-sdk/allow-list-C9N6FKeC.js +0 -479
  210. package/dist/plugin-sdk/allow-list-CBtbuDI8.js +0 -473
  211. package/dist/plugin-sdk/allow-list-Cgjx0Mc-.js +0 -215
  212. package/dist/plugin-sdk/audio-preflight-Chxqjwxe.js +0 -96
  213. package/dist/plugin-sdk/audio-preflight-aupYKWfa.js +0 -96
  214. package/dist/plugin-sdk/audit-DxB2Kml5.js +0 -78
  215. package/dist/plugin-sdk/audit-sSeRDwJb.js +0 -78
  216. package/dist/plugin-sdk/channel-adapters.discord-Chc31YZN.js +0 -35
  217. package/dist/plugin-sdk/channel-adapters.discord-DXVW1q8n.js +0 -35
  218. package/dist/plugin-sdk/chat-type-CH3W-zKy.js +0 -11
  219. package/dist/plugin-sdk/chunk-KCxbJLsV.js +0 -341
  220. package/dist/plugin-sdk/chunk-M2d7r-Zt.js +0 -341
  221. package/dist/plugin-sdk/chunk-items-BDhRe_xU.js +0 -34
  222. package/dist/plugin-sdk/client-DP_eXDIO.js +0 -22
  223. package/dist/plugin-sdk/client-Dn_01zRN.js +0 -28
  224. package/dist/plugin-sdk/command-poll-backoff-q0xAK3nQ.js +0 -65
  225. package/dist/plugin-sdk/commands-registry-CdT-nl7v.js +0 -1337
  226. package/dist/plugin-sdk/commands-registry-DoWdYAJd.js +0 -1337
  227. package/dist/plugin-sdk/common-Cpw-vuuM.js +0 -440
  228. package/dist/plugin-sdk/common-DJWrErdE.js +0 -440
  229. package/dist/plugin-sdk/config-B6SjJFp-.js +0 -20435
  230. package/dist/plugin-sdk/config-BULEb5QB.js +0 -19698
  231. package/dist/plugin-sdk/config-C0qggNKQ.js +0 -20423
  232. package/dist/plugin-sdk/config-CgwTaper.js +0 -22905
  233. package/dist/plugin-sdk/config-DLVjQxOu.js +0 -20435
  234. package/dist/plugin-sdk/config-DgD5T-Ui.js +0 -20656
  235. package/dist/plugin-sdk/config-DtqAN2L3.js +0 -23249
  236. package/dist/plugin-sdk/conversation-label-CDH4rKMG.js +0 -36
  237. package/dist/plugin-sdk/date-time-BtRPVcm7.js +0 -120
  238. package/dist/plugin-sdk/diagnostic-CuhHqubd.js +0 -282
  239. package/dist/plugin-sdk/diagnostic-DpyvOvs2.js +0 -275
  240. package/dist/plugin-sdk/diagnostic-session-state-Zw87xFym.js +0 -59
  241. package/dist/plugin-sdk/directory-live-8umGGN7a.js +0 -88
  242. package/dist/plugin-sdk/directory-live-BC7oHcsY.js +0 -105
  243. package/dist/plugin-sdk/directory-live-BJgud06p.js +0 -105
  244. package/dist/plugin-sdk/directory-live-BxSH0XXX.js +0 -88
  245. package/dist/plugin-sdk/draft-stream-controls-Bfbhumzv.js +0 -323
  246. package/dist/plugin-sdk/draft-stream-controls-v_5gdUYG.js +0 -323
  247. package/dist/plugin-sdk/draft-stream-loop-B3uUPmuU.js +0 -81
  248. package/dist/plugin-sdk/extensions/sat-mining/src/config.d.ts +0 -117
  249. package/dist/plugin-sdk/extensions/sat-mining/src/hash-spec.d.ts +0 -58
  250. package/dist/plugin-sdk/extensions/sat-mining/src/rpc-read.d.ts +0 -648
  251. package/dist/plugin-sdk/extensions/sat-mining/src/sat-bond-layout.d.ts +0 -110
  252. package/dist/plugin-sdk/extensions/sat-mining/src/solana-submit.d.ts +0 -297
  253. package/dist/plugin-sdk/fetch-D70syO9t.js +0 -68
  254. package/dist/plugin-sdk/fetch-guard-BLdujDnt.js +0 -163
  255. package/dist/plugin-sdk/fetch-guard-DTKgMN9f.js +0 -163
  256. package/dist/plugin-sdk/fetch-headers-my7hgV2G.js +0 -26
  257. package/dist/plugin-sdk/fetch-timeout-l_6RdoMw.js +0 -43
  258. package/dist/plugin-sdk/fetch-xfeOsibm.js +0 -68
  259. package/dist/plugin-sdk/filesystem-manager-BEd8NKL9.js +0 -186
  260. package/dist/plugin-sdk/filesystem-manager-D-4lQ3Af.js +0 -186
  261. package/dist/plugin-sdk/fs-safe-BDnJzutp.js +0 -192
  262. package/dist/plugin-sdk/fs-safe-BPYS6-j1.js +0 -192
  263. package/dist/plugin-sdk/gateway-registry-w_Z-PHGf.js +0 -58
  264. package/dist/plugin-sdk/github-copilot-token-Djqpy66R.js +0 -127
  265. package/dist/plugin-sdk/globals-BtKmaIS3.js +0 -439
  266. package/dist/plugin-sdk/guilds-BdkvRFue.js +0 -13
  267. package/dist/plugin-sdk/guilds-DmzO7n0X.js +0 -13
  268. package/dist/plugin-sdk/guilds-iTYlgBat.js +0 -13
  269. package/dist/plugin-sdk/handle-action-B61D85yo.js +0 -1445
  270. package/dist/plugin-sdk/handle-action-CjcxGzQD.js +0 -1445
  271. package/dist/plugin-sdk/inbound-context-CeJDjLk-.js +0 -68
  272. package/dist/plugin-sdk/internal-DMTDEiDF.js +0 -247
  273. package/dist/plugin-sdk/ip-Ddk9SPR-.js +0 -47
  274. package/dist/plugin-sdk/login-CB_nCjX3.js +0 -61
  275. package/dist/plugin-sdk/login-CzUuDd1v.js +0 -61
  276. package/dist/plugin-sdk/login-YveoqEvH.js +0 -268
  277. package/dist/plugin-sdk/login-qr-D7MEpFza.js +0 -324
  278. package/dist/plugin-sdk/login-qr-DgxfBFVN.js +0 -324
  279. package/dist/plugin-sdk/manager-9see0IX5.js +0 -3792
  280. package/dist/plugin-sdk/manager-D2kZ0Cps.js +0 -3792
  281. package/dist/plugin-sdk/markdown-tables-CCSD52rA.js +0 -29
  282. package/dist/plugin-sdk/markdown-tables-DWUNvLrc.js +0 -29
  283. package/dist/plugin-sdk/media-C7YT4DeU.js +0 -1641
  284. package/dist/plugin-sdk/media-Cxw-xLGU.js +0 -1641
  285. package/dist/plugin-sdk/memory-search-B-0Fwnrp.js +0 -242
  286. package/dist/plugin-sdk/memory-search-J6AYuENR.js +0 -242
  287. package/dist/plugin-sdk/monitor-38DGeIwS.js +0 -4528
  288. package/dist/plugin-sdk/monitor-CYCSEVee.js +0 -7743
  289. package/dist/plugin-sdk/monitor-Ceu-Wayc.js +0 -4528
  290. package/dist/plugin-sdk/monitor-DCyBaUCs.js +0 -7728
  291. package/dist/plugin-sdk/openresponses-http-CCfimy89.js +0 -912
  292. package/dist/plugin-sdk/openresponses-http-DAL_9jE-.js +0 -912
  293. package/dist/plugin-sdk/optional-runtime-dependency-szS49voX.js +0 -426
  294. package/dist/plugin-sdk/outbound-BCxOxdi-.js +0 -224
  295. package/dist/plugin-sdk/outbound-JIwQbpRY.js +0 -224
  296. package/dist/plugin-sdk/outbound-attachment-C-jSFaEB.js +0 -94
  297. package/dist/plugin-sdk/outbound-attachment-D6tj5Y5H.js +0 -78
  298. package/dist/plugin-sdk/path-alias-guards-C76pC928.js +0 -43
  299. package/dist/plugin-sdk/path-alias-guards-CcQroDXQ.js +0 -43
  300. package/dist/plugin-sdk/paths-DTurNPnO.js +0 -158
  301. package/dist/plugin-sdk/paths-GdhK5mV_.js +0 -191
  302. package/dist/plugin-sdk/pi-embedded-runner-Dum71Tdo.js +0 -107134
  303. package/dist/plugin-sdk/pi-model-discovery-DadlvsZW.js +0 -134
  304. package/dist/plugin-sdk/pi-model-discovery-G2L8gMcs.js +0 -22703
  305. package/dist/plugin-sdk/pi-model-discovery-runtime-BpR1pe7K.js +0 -3
  306. package/dist/plugin-sdk/pi-model-discovery-runtime-C5ssE6EW.js +0 -127
  307. package/dist/plugin-sdk/pi-model-discovery-runtime-CQOauapl.js +0 -127
  308. package/dist/plugin-sdk/pi-model-discovery-runtime-DAaOPt64.js +0 -12
  309. package/dist/plugin-sdk/pi-model-discovery-runtime-DYfUuqPN.js +0 -127
  310. package/dist/plugin-sdk/pi-model-discovery-runtime-DyOIGBor.js +0 -127
  311. package/dist/plugin-sdk/pi-model-discovery-runtime-gd77b0UF.js +0 -12
  312. package/dist/plugin-sdk/pi-model-discovery-runtime-w4DRRv53.js +0 -128
  313. package/dist/plugin-sdk/pi-model-discovery-yifTIDIn.js +0 -134
  314. package/dist/plugin-sdk/polls-D0YNJBfc.js +0 -33
  315. package/dist/plugin-sdk/probe-0Xt6fbw2.js +0 -109
  316. package/dist/plugin-sdk/probe-1paqsAk5.js +0 -89
  317. package/dist/plugin-sdk/probe-BPYqD-cg.js +0 -68
  318. package/dist/plugin-sdk/probe-Ba4KG8Vi.js +0 -41
  319. package/dist/plugin-sdk/probe-BfzwvkxZ.js +0 -68
  320. package/dist/plugin-sdk/probe-CsFmvxbr.js +0 -89
  321. package/dist/plugin-sdk/probe-Dqx0N4uk.js +0 -109
  322. package/dist/plugin-sdk/probe-DrTulmwQ.js +0 -41
  323. package/dist/plugin-sdk/proxy-CV9uL4Wi.js +0 -16
  324. package/dist/plugin-sdk/pw-ai-SNCI9UXT.js +0 -1926
  325. package/dist/plugin-sdk/pw-ai-sH1Pi-Fh.js +0 -1926
  326. package/dist/plugin-sdk/qmd-manager-BfJXNhlO.js +0 -1333
  327. package/dist/plugin-sdk/qmd-manager-QNVr__Z6.js +0 -1333
  328. package/dist/plugin-sdk/qmd-scope-Cei2-7Q5.js +0 -78
  329. package/dist/plugin-sdk/query-expansion-DjJAUtDU.js +0 -769
  330. package/dist/plugin-sdk/query-expansion-VePrajug.js +0 -769
  331. package/dist/plugin-sdk/redact-Ck-wgswc.js +0 -188
  332. package/dist/plugin-sdk/redact-identifier-DdQO7P4_.js +0 -15
  333. package/dist/plugin-sdk/registry-DNkJsNsz.js +0 -6463
  334. package/dist/plugin-sdk/replies-fvzN5wnU.js +0 -107
  335. package/dist/plugin-sdk/replies-zebgZCHX.js +0 -107
  336. package/dist/plugin-sdk/reply-prefix-DqlCqHXT.js +0 -171
  337. package/dist/plugin-sdk/reply-prefix-Y14LY6Rn.js +0 -171
  338. package/dist/plugin-sdk/reply-reference-mUSl_ExV.js +0 -35
  339. package/dist/plugin-sdk/resolve-channels-CGCkchAo.js +0 -208
  340. package/dist/plugin-sdk/resolve-channels-CHkzoB7d.js +0 -4
  341. package/dist/plugin-sdk/resolve-channels-CIoMOUEH.js +0 -88
  342. package/dist/plugin-sdk/resolve-channels-CU3vZXOG.js +0 -4
  343. package/dist/plugin-sdk/resolve-channels-J5m_-ZOk.js +0 -208
  344. package/dist/plugin-sdk/resolve-channels-gIpOj1wt.js +0 -206
  345. package/dist/plugin-sdk/resolve-route-CNhTJG_2.js +0 -248
  346. package/dist/plugin-sdk/resolve-route-DO0WR4nB.js +0 -248
  347. package/dist/plugin-sdk/resolve-users-Bm78yvE3.js +0 -123
  348. package/dist/plugin-sdk/resolve-users-C0F3LQs2.js +0 -118
  349. package/dist/plugin-sdk/resolve-users-CTKaESmf.js +0 -116
  350. package/dist/plugin-sdk/resolve-users-Ct0fO5kP.js +0 -125
  351. package/dist/plugin-sdk/resolve-users-DlpsBzVS.js +0 -118
  352. package/dist/plugin-sdk/resolve-users-sv9og6yh.js +0 -125
  353. package/dist/plugin-sdk/resolve-utils-r6ef8mj8.js +0 -147
  354. package/dist/plugin-sdk/retry-CB29XXbz.js +0 -780
  355. package/dist/plugin-sdk/retry-Cq65ROXv.js +0 -77
  356. package/dist/plugin-sdk/retry-policy-BLYEgIwP.js +0 -70
  357. package/dist/plugin-sdk/retry-policy-sM01QZT2.js +0 -70
  358. package/dist/plugin-sdk/run-with-concurrency-CavAFhML.js +0 -42
  359. package/dist/plugin-sdk/runtime-BPyuAmka.js +0 -6577
  360. package/dist/plugin-sdk/runtime-dependency-B-1u41Ph.js +0 -2217
  361. package/dist/plugin-sdk/runtime-dependency-Csswyv5r.js +0 -2217
  362. package/dist/plugin-sdk/sandbox-paths-CkTERCrj.js +0 -158
  363. package/dist/plugin-sdk/sandbox-paths-DMnFyOaA.js +0 -158
  364. package/dist/plugin-sdk/secure-random-DLpYiUzR.js +0 -12
  365. package/dist/plugin-sdk/send-B09HRfHN.js +0 -1351
  366. package/dist/plugin-sdk/send-BBYcgXA4.js +0 -546
  367. package/dist/plugin-sdk/send-BQXQA81e.js +0 -2249
  368. package/dist/plugin-sdk/send-BzFdvD_i.js +0 -1351
  369. package/dist/plugin-sdk/send-C3u-F_8s.js +0 -2249
  370. package/dist/plugin-sdk/send-D3836_UN.js +0 -505
  371. package/dist/plugin-sdk/send-D7tr-EsH.js +0 -546
  372. package/dist/plugin-sdk/send-DRGzRdI3.js +0 -518
  373. package/dist/plugin-sdk/send-DfkPKz_0.js +0 -356
  374. package/dist/plugin-sdk/send-DsxFXrCO.js +0 -356
  375. package/dist/plugin-sdk/session-DG_bYisw.js +0 -175
  376. package/dist/plugin-sdk/session-EIStzK0E.js +0 -175
  377. package/dist/plugin-sdk/session-key-Bp3qq3bm.js +0 -228
  378. package/dist/plugin-sdk/skill-commands-CkgGmWBS.js +0 -1600
  379. package/dist/plugin-sdk/skill-commands-hyZA0LE3.js +0 -1571
  380. package/dist/plugin-sdk/slack-B0dLDyHM.js +0 -3731
  381. package/dist/plugin-sdk/slack-Dv4zCw-x.js +0 -3730
  382. package/dist/plugin-sdk/slack-actions-BQawWGTJ.js +0 -248
  383. package/dist/plugin-sdk/slack-actions-DDMszx56.js +0 -248
  384. package/dist/plugin-sdk/src/acp/acpx-mutating-wrapper-policy.d.ts +0 -35
  385. package/dist/plugin-sdk/src/acp/acpx-push-test-approval-contract.d.ts +0 -62
  386. package/dist/plugin-sdk/src/acp/acpx-push-test-execution-adapter.d.ts +0 -44
  387. package/dist/plugin-sdk/src/acp/control-plane/manager.core.d.ts +0 -74
  388. package/dist/plugin-sdk/src/acp/control-plane/manager.d.ts +0 -7
  389. package/dist/plugin-sdk/src/acp/control-plane/manager.identity-reconcile.d.ts +0 -23
  390. package/dist/plugin-sdk/src/acp/control-plane/manager.runtime-controls.d.ts +0 -14
  391. package/dist/plugin-sdk/src/acp/control-plane/manager.types.d.ts +0 -103
  392. package/dist/plugin-sdk/src/acp/control-plane/manager.utils.d.ts +0 -14
  393. package/dist/plugin-sdk/src/acp/control-plane/runtime-cache.d.ts +0 -38
  394. package/dist/plugin-sdk/src/acp/control-plane/runtime-options.d.ts +0 -23
  395. package/dist/plugin-sdk/src/acp/control-plane/session-actor-queue.d.ts +0 -8
  396. package/dist/plugin-sdk/src/acp/control-plane/spawn.d.ts +0 -25
  397. package/dist/plugin-sdk/src/acp/policy.d.ts +0 -10
  398. package/dist/plugin-sdk/src/acp/runtime/error-text.d.ts +0 -7
  399. package/dist/plugin-sdk/src/acp/runtime/errors.d.ts +0 -20
  400. package/dist/plugin-sdk/src/acp/runtime/registry.d.ts +0 -18
  401. package/dist/plugin-sdk/src/acp/runtime/session-identifiers.d.ts +0 -17
  402. package/dist/plugin-sdk/src/acp/runtime/session-identity.d.ts +0 -23
  403. package/dist/plugin-sdk/src/acp/runtime/session-meta.d.ts +0 -30
  404. package/dist/plugin-sdk/src/acp/runtime/types.d.ts +0 -102
  405. package/dist/plugin-sdk/src/acp/status-snapshot.d.ts +0 -54
  406. package/dist/plugin-sdk/src/agents/acp-spawn-parent-stream.d.ts +0 -20
  407. package/dist/plugin-sdk/src/agents/acp-spawn.d.ts +0 -39
  408. package/dist/plugin-sdk/src/agents/agent-model-providers.d.ts +0 -47
  409. package/dist/plugin-sdk/src/agents/agent-paths.d.ts +0 -4
  410. package/dist/plugin-sdk/src/agents/agent-scope.d.ts +0 -71
  411. package/dist/plugin-sdk/src/agents/announce-idempotency.d.ts +0 -11
  412. package/dist/plugin-sdk/src/agents/anthropic-payload-log.d.ts +0 -20
  413. package/dist/plugin-sdk/src/agents/api-key-rotation.d.ts +0 -22
  414. package/dist/plugin-sdk/src/agents/apply-patch-update.d.ts +0 -10
  415. package/dist/plugin-sdk/src/agents/apply-patch.d.ts +0 -35
  416. package/dist/plugin-sdk/src/agents/auth-health.d.ts +0 -40
  417. package/dist/plugin-sdk/src/agents/auth-profiles/constants.d.ts +0 -19
  418. package/dist/plugin-sdk/src/agents/auth-profiles/display.d.ts +0 -7
  419. package/dist/plugin-sdk/src/agents/auth-profiles/doctor.d.ts +0 -8
  420. package/dist/plugin-sdk/src/agents/auth-profiles/external-cli-sync.d.ts +0 -7
  421. package/dist/plugin-sdk/src/agents/auth-profiles/oauth.d.ts +0 -14
  422. package/dist/plugin-sdk/src/agents/auth-profiles/order.d.ts +0 -8
  423. package/dist/plugin-sdk/src/agents/auth-profiles/paths.d.ts +0 -4
  424. package/dist/plugin-sdk/src/agents/auth-profiles/profiles.d.ts +0 -25
  425. package/dist/plugin-sdk/src/agents/auth-profiles/repair.d.ts +0 -14
  426. package/dist/plugin-sdk/src/agents/auth-profiles/session-override.d.ts +0 -19
  427. package/dist/plugin-sdk/src/agents/auth-profiles/store.d.ts +0 -24
  428. package/dist/plugin-sdk/src/agents/auth-profiles/types.d.ts +0 -65
  429. package/dist/plugin-sdk/src/agents/auth-profiles/usage.d.ts +0 -85
  430. package/dist/plugin-sdk/src/agents/auth-profiles.d.ts +0 -11
  431. package/dist/plugin-sdk/src/agents/bash-process-registry.d.ts +0 -72
  432. package/dist/plugin-sdk/src/agents/bash-tools.d.ts +0 -4
  433. package/dist/plugin-sdk/src/agents/bash-tools.exec-approval-followup.d.ts +0 -12
  434. package/dist/plugin-sdk/src/agents/bash-tools.exec-approval-request.d.ts +0 -70
  435. package/dist/plugin-sdk/src/agents/bash-tools.exec-host-gateway.d.ts +0 -34
  436. package/dist/plugin-sdk/src/agents/bash-tools.exec-host-node.d.ts +0 -26
  437. package/dist/plugin-sdk/src/agents/bash-tools.exec-host-shared.d.ts +0 -155
  438. package/dist/plugin-sdk/src/agents/bash-tools.exec-runtime.d.ts +0 -116
  439. package/dist/plugin-sdk/src/agents/bash-tools.exec-types.d.ts +0 -76
  440. package/dist/plugin-sdk/src/agents/bash-tools.exec.d.ts +0 -6
  441. package/dist/plugin-sdk/src/agents/bash-tools.process.d.ts +0 -11
  442. package/dist/plugin-sdk/src/agents/bash-tools.shared.d.ts +0 -56
  443. package/dist/plugin-sdk/src/agents/bootstrap-budget.d.ts +0 -87
  444. package/dist/plugin-sdk/src/agents/bootstrap-cache.d.ts +0 -11
  445. package/dist/plugin-sdk/src/agents/bootstrap-files.d.ts +0 -32
  446. package/dist/plugin-sdk/src/agents/bootstrap-hooks.d.ts +0 -10
  447. package/dist/plugin-sdk/src/agents/byteplus-models.d.ts +0 -128
  448. package/dist/plugin-sdk/src/agents/cache-trace.d.ts +0 -49
  449. package/dist/plugin-sdk/src/agents/channel-tools.d.ts +0 -30
  450. package/dist/plugin-sdk/src/agents/chutes-models.d.ts +0 -25
  451. package/dist/plugin-sdk/src/agents/chutes-oauth.d.ts +0 -46
  452. package/dist/plugin-sdk/src/agents/cli-backends.d.ts +0 -8
  453. package/dist/plugin-sdk/src/agents/cli-credentials.d.ts +0 -72
  454. package/dist/plugin-sdk/src/agents/cli-runner/helpers.d.ts +0 -72
  455. package/dist/plugin-sdk/src/agents/cli-runner/reliability.d.ts +0 -11
  456. package/dist/plugin-sdk/src/agents/cli-runner.d.ts +0 -42
  457. package/dist/plugin-sdk/src/agents/cli-session.d.ts +0 -3
  458. package/dist/plugin-sdk/src/agents/cli-watchdog-defaults.d.ts +0 -11
  459. package/dist/plugin-sdk/src/agents/cloudflare-ai-gateway.d.ts +0 -1
  460. package/dist/plugin-sdk/src/agents/command-poll-backoff.d.ts +0 -28
  461. package/dist/plugin-sdk/src/agents/compaction.d.ts +0 -72
  462. package/dist/plugin-sdk/src/agents/content-blocks.d.ts +0 -1
  463. package/dist/plugin-sdk/src/agents/context-window-guard.d.ts +0 -25
  464. package/dist/plugin-sdk/src/agents/context.d.ts +0 -38
  465. package/dist/plugin-sdk/src/agents/current-model-catalog.d.ts +0 -5
  466. package/dist/plugin-sdk/src/agents/current-time.d.ts +0 -17
  467. package/dist/plugin-sdk/src/agents/date-time.d.ts +0 -13
  468. package/dist/plugin-sdk/src/agents/defaults.d.ts +0 -3
  469. package/dist/plugin-sdk/src/agents/docs-path.d.ts +0 -6
  470. package/dist/plugin-sdk/src/agents/doubao-models.d.ts +0 -128
  471. package/dist/plugin-sdk/src/agents/embedded-pi-mcp.d.ts +0 -13
  472. package/dist/plugin-sdk/src/agents/exec-approval-result.d.ts +0 -21
  473. package/dist/plugin-sdk/src/agents/failover-error.d.ts +0 -33
  474. package/dist/plugin-sdk/src/agents/fased-tools.d.ts +0 -58
  475. package/dist/plugin-sdk/src/agents/glob-pattern.d.ts +0 -18
  476. package/dist/plugin-sdk/src/agents/huggingface-models.d.ts +0 -14
  477. package/dist/plugin-sdk/src/agents/identity-avatar.d.ts +0 -17
  478. package/dist/plugin-sdk/src/agents/identity-file.d.ts +0 -12
  479. package/dist/plugin-sdk/src/agents/identity.d.ts +0 -28
  480. package/dist/plugin-sdk/src/agents/image-sanitization.d.ts +0 -8
  481. package/dist/plugin-sdk/src/agents/lanes.d.ts +0 -4
  482. package/dist/plugin-sdk/src/agents/live-auth-keys.d.ts +0 -6
  483. package/dist/plugin-sdk/src/agents/mcp-config-shared.d.ts +0 -5
  484. package/dist/plugin-sdk/src/agents/mcp-http.d.ts +0 -19
  485. package/dist/plugin-sdk/src/agents/mcp-stdio.d.ts +0 -16
  486. package/dist/plugin-sdk/src/agents/mcp-transport-config.d.ts +0 -23
  487. package/dist/plugin-sdk/src/agents/mcp-transport.d.ts +0 -9
  488. package/dist/plugin-sdk/src/agents/memory-search.d.ts +0 -80
  489. package/dist/plugin-sdk/src/agents/minimax-vlm.d.ts +0 -8
  490. package/dist/plugin-sdk/src/agents/model-alias-lines.d.ts +0 -2
  491. package/dist/plugin-sdk/src/agents/model-auth-label.d.ts +0 -8
  492. package/dist/plugin-sdk/src/agents/model-auth.d.ts +0 -37
  493. package/dist/plugin-sdk/src/agents/model-catalog-access.d.ts +0 -30
  494. package/dist/plugin-sdk/src/agents/model-catalog-normalized.d.ts +0 -27
  495. package/dist/plugin-sdk/src/agents/model-catalog-source.d.ts +0 -41
  496. package/dist/plugin-sdk/src/agents/model-catalog-status.d.ts +0 -92
  497. package/dist/plugin-sdk/src/agents/model-catalog.d.ts +0 -35
  498. package/dist/plugin-sdk/src/agents/model-compat.d.ts +0 -2
  499. package/dist/plugin-sdk/src/agents/model-fallback.d.ts +0 -54
  500. package/dist/plugin-sdk/src/agents/model-forward-compat.d.ts +0 -3
  501. package/dist/plugin-sdk/src/agents/model-metadata.d.ts +0 -49
  502. package/dist/plugin-sdk/src/agents/model-ref-profile.d.ts +0 -4
  503. package/dist/plugin-sdk/src/agents/model-selection.d.ts +0 -130
  504. package/dist/plugin-sdk/src/agents/models-config.d.ts +0 -9
  505. package/dist/plugin-sdk/src/agents/models-config.providers.d.ts +0 -40
  506. package/dist/plugin-sdk/src/agents/opencode-zen-models.d.ts +0 -46
  507. package/dist/plugin-sdk/src/agents/owner-display.d.ts +0 -19
  508. package/dist/plugin-sdk/src/agents/payload-redaction.d.ts +0 -10
  509. package/dist/plugin-sdk/src/agents/pi-auth-credentials.d.ts +0 -16
  510. package/dist/plugin-sdk/src/agents/pi-bundle-mcp-materialize.d.ts +0 -12
  511. package/dist/plugin-sdk/src/agents/pi-bundle-mcp-names.d.ts +0 -9
  512. package/dist/plugin-sdk/src/agents/pi-bundle-mcp-runtime.d.ts +0 -21
  513. package/dist/plugin-sdk/src/agents/pi-bundle-mcp-tools.d.ts +0 -3
  514. package/dist/plugin-sdk/src/agents/pi-bundle-mcp-types.d.ts +0 -52
  515. package/dist/plugin-sdk/src/agents/pi-embedded-block-chunker.d.ts +0 -19
  516. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/bootstrap.d.ts +0 -33
  517. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/errors.d.ts +0 -70
  518. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/google.d.ts +0 -3
  519. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/images.d.ts +0 -22
  520. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/messaging-dedupe.d.ts +0 -10
  521. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/openai.d.ts +0 -17
  522. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/thinking.d.ts +0 -5
  523. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/turns.d.ts +0 -21
  524. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/types.d.ts +0 -5
  525. package/dist/plugin-sdk/src/agents/pi-embedded-helpers.d.ts +0 -11
  526. package/dist/plugin-sdk/src/agents/pi-embedded-messaging.d.ts +0 -9
  527. package/dist/plugin-sdk/src/agents/pi-embedded-payloads.d.ts +0 -9
  528. package/dist/plugin-sdk/src/agents/pi-embedded-runner/abort.d.ts +0 -6
  529. package/dist/plugin-sdk/src/agents/pi-embedded-runner/cache-ttl.d.ts +0 -17
  530. package/dist/plugin-sdk/src/agents/pi-embedded-runner/compact.d.ts +0 -57
  531. package/dist/plugin-sdk/src/agents/pi-embedded-runner/compaction-safety-timeout.d.ts +0 -7
  532. package/dist/plugin-sdk/src/agents/pi-embedded-runner/extensions.d.ts +0 -12
  533. package/dist/plugin-sdk/src/agents/pi-embedded-runner/extra-params.d.ts +0 -76
  534. package/dist/plugin-sdk/src/agents/pi-embedded-runner/google.d.ts +0 -42
  535. package/dist/plugin-sdk/src/agents/pi-embedded-runner/history.d.ts +0 -18
  536. package/dist/plugin-sdk/src/agents/pi-embedded-runner/lanes.d.ts +0 -3
  537. package/dist/plugin-sdk/src/agents/pi-embedded-runner/logger.d.ts +0 -1
  538. package/dist/plugin-sdk/src/agents/pi-embedded-runner/model.d.ts +0 -30
  539. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/attempt.d.ts +0 -30
  540. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/compaction-timeout.d.ts +0 -20
  541. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/history-image-prune.d.ts +0 -7
  542. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/images.d.ts +0 -83
  543. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/llm-idle-timeout.d.ts +0 -9
  544. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/params.d.ts +0 -128
  545. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/payloads.d.ts +0 -42
  546. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/types.d.ts +0 -67
  547. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run.d.ts +0 -3
  548. package/dist/plugin-sdk/src/agents/pi-embedded-runner/runs.d.ts +0 -32
  549. package/dist/plugin-sdk/src/agents/pi-embedded-runner/sandbox-info.d.ts +0 -4
  550. package/dist/plugin-sdk/src/agents/pi-embedded-runner/session-manager-cache.d.ts +0 -2
  551. package/dist/plugin-sdk/src/agents/pi-embedded-runner/session-manager-init.d.ts +0 -17
  552. package/dist/plugin-sdk/src/agents/pi-embedded-runner/system-prompt.d.ts +0 -55
  553. package/dist/plugin-sdk/src/agents/pi-embedded-runner/thinking.d.ts +0 -17
  554. package/dist/plugin-sdk/src/agents/pi-embedded-runner/tool-name-allowlist.d.ts +0 -6
  555. package/dist/plugin-sdk/src/agents/pi-embedded-runner/tool-result-context-guard.d.ts +0 -8
  556. package/dist/plugin-sdk/src/agents/pi-embedded-runner/tool-result-truncation.d.ts +0 -79
  557. package/dist/plugin-sdk/src/agents/pi-embedded-runner/tool-split.d.ts +0 -11
  558. package/dist/plugin-sdk/src/agents/pi-embedded-runner/types.d.ts +0 -95
  559. package/dist/plugin-sdk/src/agents/pi-embedded-runner/utils.d.ts +0 -5
  560. package/dist/plugin-sdk/src/agents/pi-embedded-runner/wait-for-idle-before-flush.d.ts +0 -14
  561. package/dist/plugin-sdk/src/agents/pi-embedded-runner.d.ts +0 -12
  562. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.d.ts +0 -34
  563. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.compaction.d.ts +0 -6
  564. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.d.ts +0 -2
  565. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.lifecycle.d.ts +0 -4
  566. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.messages.d.ts +0 -16
  567. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.tools.d.ts +0 -18
  568. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.types.d.ts +0 -152
  569. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.raw-stream.d.ts +0 -1
  570. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.tools.d.ts +0 -20
  571. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.types.d.ts +0 -45
  572. package/dist/plugin-sdk/src/agents/pi-embedded-utils.d.ts +0 -42
  573. package/dist/plugin-sdk/src/agents/pi-embedded.d.ts +0 -2
  574. package/dist/plugin-sdk/src/agents/pi-extensions/compaction-safeguard-runtime.d.ts +0 -16
  575. package/dist/plugin-sdk/src/agents/pi-extensions/compaction-safeguard.d.ts +0 -22
  576. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning/extension.d.ts +0 -7
  577. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning/pruner.d.ts +0 -10
  578. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning/runtime.d.ts +0 -9
  579. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning/settings.d.ts +0 -44
  580. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning/tools.d.ts +0 -2
  581. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning.d.ts +0 -10
  582. package/dist/plugin-sdk/src/agents/pi-extensions/session-manager-runtime-registry.d.ts +0 -4
  583. package/dist/plugin-sdk/src/agents/pi-model-discovery-runtime.d.ts +0 -1
  584. package/dist/plugin-sdk/src/agents/pi-model-discovery.d.ts +0 -7
  585. package/dist/plugin-sdk/src/agents/pi-project-settings.d.ts +0 -28
  586. package/dist/plugin-sdk/src/agents/pi-settings.d.ts +0 -45
  587. package/dist/plugin-sdk/src/agents/pi-tool-definition-adapter.d.ts +0 -8
  588. package/dist/plugin-sdk/src/agents/pi-tools.abort.d.ts +0 -2
  589. package/dist/plugin-sdk/src/agents/pi-tools.before-tool-call.d.ts +0 -31
  590. package/dist/plugin-sdk/src/agents/pi-tools.d.ts +0 -84
  591. package/dist/plugin-sdk/src/agents/pi-tools.policy.d.ts +0 -38
  592. package/dist/plugin-sdk/src/agents/pi-tools.read.d.ts +0 -61
  593. package/dist/plugin-sdk/src/agents/pi-tools.schema.d.ts +0 -9
  594. package/dist/plugin-sdk/src/agents/pi-tools.types.d.ts +0 -2
  595. package/dist/plugin-sdk/src/agents/prompt-cache-stability.d.ts +0 -2
  596. package/dist/plugin-sdk/src/agents/provider-attribution.d.ts +0 -70
  597. package/dist/plugin-sdk/src/agents/provider-auth-aliases.d.ts +0 -9
  598. package/dist/plugin-sdk/src/agents/provider-extension-catalog-index.d.ts +0 -37
  599. package/dist/plugin-sdk/src/agents/provider-extension-catalog-manifest.d.ts +0 -29
  600. package/dist/plugin-sdk/src/agents/provider-id.d.ts +0 -5
  601. package/dist/plugin-sdk/src/agents/provider-request-config.d.ts +0 -194
  602. package/dist/plugin-sdk/src/agents/pty-dsr.d.ts +0 -5
  603. package/dist/plugin-sdk/src/agents/pty-keys.d.ts +0 -14
  604. package/dist/plugin-sdk/src/agents/queued-file-writer.d.ts +0 -5
  605. package/dist/plugin-sdk/src/agents/sandbox/backend.d.ts +0 -29
  606. package/dist/plugin-sdk/src/agents/sandbox/bind-spec.d.ts +0 -7
  607. package/dist/plugin-sdk/src/agents/sandbox/browser-bridges.d.ts +0 -7
  608. package/dist/plugin-sdk/src/agents/sandbox/browser.d.ts +0 -12
  609. package/dist/plugin-sdk/src/agents/sandbox/config-hash.d.ts +0 -18
  610. package/dist/plugin-sdk/src/agents/sandbox/config.d.ts +0 -32
  611. package/dist/plugin-sdk/src/agents/sandbox/constants.d.ts +0 -21
  612. package/dist/plugin-sdk/src/agents/sandbox/context.d.ts +0 -20
  613. package/dist/plugin-sdk/src/agents/sandbox/docker.d.ts +0 -48
  614. package/dist/plugin-sdk/src/agents/sandbox/fs-bridge.d.ts +0 -56
  615. package/dist/plugin-sdk/src/agents/sandbox/fs-paths.d.ts +0 -28
  616. package/dist/plugin-sdk/src/agents/sandbox/hash.d.ts +0 -1
  617. package/dist/plugin-sdk/src/agents/sandbox/host-paths.d.ts +0 -9
  618. package/dist/plugin-sdk/src/agents/sandbox/manage.d.ts +0 -13
  619. package/dist/plugin-sdk/src/agents/sandbox/network-mode.d.ts +0 -7
  620. package/dist/plugin-sdk/src/agents/sandbox/novnc-auth.d.ts +0 -15
  621. package/dist/plugin-sdk/src/agents/sandbox/path-utils.d.ts +0 -2
  622. package/dist/plugin-sdk/src/agents/sandbox/prune.d.ts +0 -3
  623. package/dist/plugin-sdk/src/agents/sandbox/registry.d.ts +0 -31
  624. package/dist/plugin-sdk/src/agents/sandbox/runtime-status.d.ts +0 -18
  625. package/dist/plugin-sdk/src/agents/sandbox/sanitize-env-vars.d.ts +0 -14
  626. package/dist/plugin-sdk/src/agents/sandbox/shared.d.ts +0 -4
  627. package/dist/plugin-sdk/src/agents/sandbox/tool-policy.d.ts +0 -4
  628. package/dist/plugin-sdk/src/agents/sandbox/types.d.ts +0 -91
  629. package/dist/plugin-sdk/src/agents/sandbox/types.docker.d.ts +0 -4
  630. package/dist/plugin-sdk/src/agents/sandbox/validate-sandbox-security.d.ts +0 -68
  631. package/dist/plugin-sdk/src/agents/sandbox/workspace.d.ts +0 -1
  632. package/dist/plugin-sdk/src/agents/sandbox-media-paths.d.ts +0 -17
  633. package/dist/plugin-sdk/src/agents/sandbox-paths.d.ts +0 -24
  634. package/dist/plugin-sdk/src/agents/sandbox-tool-policy.d.ts +0 -8
  635. package/dist/plugin-sdk/src/agents/sandbox.d.ts +0 -8
  636. package/dist/plugin-sdk/src/agents/sanitize-for-prompt.d.ts +0 -21
  637. package/dist/plugin-sdk/src/agents/schema/clean-for-gemini.d.ts +0 -2
  638. package/dist/plugin-sdk/src/agents/schema/typebox.d.ts +0 -14
  639. package/dist/plugin-sdk/src/agents/session-dirs.d.ts +0 -3
  640. package/dist/plugin-sdk/src/agents/session-file-repair.d.ts +0 -11
  641. package/dist/plugin-sdk/src/agents/session-slug.d.ts +0 -1
  642. package/dist/plugin-sdk/src/agents/session-tool-result-guard-wrapper.d.ts +0 -19
  643. package/dist/plugin-sdk/src/agents/session-tool-result-guard.d.ts +0 -40
  644. package/dist/plugin-sdk/src/agents/session-transcript-repair.d.ts +0 -34
  645. package/dist/plugin-sdk/src/agents/session-write-lock.d.ts +0 -54
  646. package/dist/plugin-sdk/src/agents/shell-utils.d.ts +0 -9
  647. package/dist/plugin-sdk/src/agents/skills/agent-filter.d.ts +0 -6
  648. package/dist/plugin-sdk/src/agents/skills/bundled-context.d.ts +0 -6
  649. package/dist/plugin-sdk/src/agents/skills/bundled-dir.d.ts +0 -7
  650. package/dist/plugin-sdk/src/agents/skills/config.d.ts +0 -13
  651. package/dist/plugin-sdk/src/agents/skills/env-overrides.d.ts +0 -11
  652. package/dist/plugin-sdk/src/agents/skills/filter.d.ts +0 -3
  653. package/dist/plugin-sdk/src/agents/skills/frontmatter.d.ts +0 -6
  654. package/dist/plugin-sdk/src/agents/skills/local-loader.d.ts +0 -13
  655. package/dist/plugin-sdk/src/agents/skills/plugin-skills.d.ts +0 -5
  656. package/dist/plugin-sdk/src/agents/skills/refresh-state.d.ts +0 -15
  657. package/dist/plugin-sdk/src/agents/skills/refresh.d.ts +0 -8
  658. package/dist/plugin-sdk/src/agents/skills/serialize.d.ts +0 -1
  659. package/dist/plugin-sdk/src/agents/skills/skill-contract.d.ts +0 -27
  660. package/dist/plugin-sdk/src/agents/skills/source.d.ts +0 -2
  661. package/dist/plugin-sdk/src/agents/skills/types.d.ts +0 -105
  662. package/dist/plugin-sdk/src/agents/skills/workspace.d.ts +0 -54
  663. package/dist/plugin-sdk/src/agents/skills-clawhub.d.ts +0 -150
  664. package/dist/plugin-sdk/src/agents/skills-install-plan.d.ts +0 -25
  665. package/dist/plugin-sdk/src/agents/skills-install-trust.d.ts +0 -8
  666. package/dist/plugin-sdk/src/agents/skills-marketplace-policy.d.ts +0 -29
  667. package/dist/plugin-sdk/src/agents/skills-marketplace-scan.d.ts +0 -17
  668. package/dist/plugin-sdk/src/agents/skills-status.d.ts +0 -65
  669. package/dist/plugin-sdk/src/agents/skills.d.ts +0 -7
  670. package/dist/plugin-sdk/src/agents/spawned-context.d.ts +0 -30
  671. package/dist/plugin-sdk/src/agents/stable-stringify.d.ts +0 -1
  672. package/dist/plugin-sdk/src/agents/subagent-announce-dispatch.d.ts +0 -22
  673. package/dist/plugin-sdk/src/agents/subagent-announce-output.d.ts +0 -97
  674. package/dist/plugin-sdk/src/agents/subagent-announce-queue.d.ts +0 -24
  675. package/dist/plugin-sdk/src/agents/subagent-announce.d.ts +0 -51
  676. package/dist/plugin-sdk/src/agents/subagent-announce.runtime.d.ts +0 -4
  677. package/dist/plugin-sdk/src/agents/subagent-depth.d.ts +0 -11
  678. package/dist/plugin-sdk/src/agents/subagent-lifecycle-events.d.ts +0 -18
  679. package/dist/plugin-sdk/src/agents/subagent-registry-cleanup.d.ts +0 -25
  680. package/dist/plugin-sdk/src/agents/subagent-registry-completion.d.ts +0 -15
  681. package/dist/plugin-sdk/src/agents/subagent-registry-queries.d.ts +0 -17
  682. package/dist/plugin-sdk/src/agents/subagent-registry-state.d.ts +0 -7
  683. package/dist/plugin-sdk/src/agents/subagent-registry.d.ts +0 -67
  684. package/dist/plugin-sdk/src/agents/subagent-registry.store.d.ts +0 -5
  685. package/dist/plugin-sdk/src/agents/subagent-registry.types.d.ts +0 -62
  686. package/dist/plugin-sdk/src/agents/subagent-spawn.d.ts +0 -49
  687. package/dist/plugin-sdk/src/agents/synthetic-models.d.ts +0 -1
  688. package/dist/plugin-sdk/src/agents/system-prompt-cache-boundary.d.ts +0 -10
  689. package/dist/plugin-sdk/src/agents/system-prompt-params.d.ts +0 -30
  690. package/dist/plugin-sdk/src/agents/system-prompt-report.d.ts +0 -22
  691. package/dist/plugin-sdk/src/agents/system-prompt.d.ts +0 -77
  692. package/dist/plugin-sdk/src/agents/timeout.d.ts +0 -8
  693. package/dist/plugin-sdk/src/agents/together-models.d.ts +0 -1
  694. package/dist/plugin-sdk/src/agents/tool-call-id.d.ts +0 -29
  695. package/dist/plugin-sdk/src/agents/tool-catalog.d.ts +0 -35
  696. package/dist/plugin-sdk/src/agents/tool-description-presets.d.ts +0 -15
  697. package/dist/plugin-sdk/src/agents/tool-description-summary.d.ts +0 -11
  698. package/dist/plugin-sdk/src/agents/tool-display-common.d.ts +0 -70
  699. package/dist/plugin-sdk/src/agents/tool-display-config.d.ts +0 -11
  700. package/dist/plugin-sdk/src/agents/tool-display-exec-shell.d.ts +0 -17
  701. package/dist/plugin-sdk/src/agents/tool-display-exec.d.ts +0 -1
  702. package/dist/plugin-sdk/src/agents/tool-display.d.ts +0 -15
  703. package/dist/plugin-sdk/src/agents/tool-fs-policy.d.ts +0 -21
  704. package/dist/plugin-sdk/src/agents/tool-images.d.ts +0 -11
  705. package/dist/plugin-sdk/src/agents/tool-loop-detection.d.ts +0 -55
  706. package/dist/plugin-sdk/src/agents/tool-mutation.d.ts +0 -14
  707. package/dist/plugin-sdk/src/agents/tool-policy-match.d.ts +0 -3
  708. package/dist/plugin-sdk/src/agents/tool-policy-pipeline.d.ts +0 -32
  709. package/dist/plugin-sdk/src/agents/tool-policy-shared.d.ts +0 -11
  710. package/dist/plugin-sdk/src/agents/tool-policy.d.ts +0 -35
  711. package/dist/plugin-sdk/src/agents/tool-summaries.d.ts +0 -2
  712. package/dist/plugin-sdk/src/agents/tools/agent-step.d.ts +0 -23
  713. package/dist/plugin-sdk/src/agents/tools/agents-list-tool.d.ts +0 -6
  714. package/dist/plugin-sdk/src/agents/tools/browser-tool.d.ts +0 -5
  715. package/dist/plugin-sdk/src/agents/tools/browser-tool.schema.d.ts +0 -50
  716. package/dist/plugin-sdk/src/agents/tools/canvas-tool.d.ts +0 -5
  717. package/dist/plugin-sdk/src/agents/tools/common.d.ts +0 -86
  718. package/dist/plugin-sdk/src/agents/tools/cron-tool.d.ts +0 -11
  719. package/dist/plugin-sdk/src/agents/tools/diff-view-tool.d.ts +0 -2
  720. package/dist/plugin-sdk/src/agents/tools/discord-actions-guild.d.ts +0 -4
  721. package/dist/plugin-sdk/src/agents/tools/discord-actions-messaging.d.ts +0 -6
  722. package/dist/plugin-sdk/src/agents/tools/discord-actions-moderation-shared.d.ts +0 -13
  723. package/dist/plugin-sdk/src/agents/tools/discord-actions-moderation.d.ts +0 -4
  724. package/dist/plugin-sdk/src/agents/tools/discord-actions-presence.d.ts +0 -4
  725. package/dist/plugin-sdk/src/agents/tools/discord-actions.d.ts +0 -5
  726. package/dist/plugin-sdk/src/agents/tools/gateway-tool.d.ts +0 -14
  727. package/dist/plugin-sdk/src/agents/tools/gateway.d.ts +0 -20
  728. package/dist/plugin-sdk/src/agents/tools/image-tool.d.ts +0 -37
  729. package/dist/plugin-sdk/src/agents/tools/image-tool.helpers.d.ts +0 -21
  730. package/dist/plugin-sdk/src/agents/tools/marketplace-offer-draft-tool.d.ts +0 -5
  731. package/dist/plugin-sdk/src/agents/tools/memory-tool.d.ts +0 -10
  732. package/dist/plugin-sdk/src/agents/tools/message-tool.d.ts +0 -26
  733. package/dist/plugin-sdk/src/agents/tools/mining-tool.d.ts +0 -8
  734. package/dist/plugin-sdk/src/agents/tools/nodes-tool.d.ts +0 -13
  735. package/dist/plugin-sdk/src/agents/tools/nodes-utils.d.ts +0 -13
  736. package/dist/plugin-sdk/src/agents/tools/session-status-tool.d.ts +0 -7
  737. package/dist/plugin-sdk/src/agents/tools/sessions-access.d.ts +0 -42
  738. package/dist/plugin-sdk/src/agents/tools/sessions-announce-target.d.ts +0 -5
  739. package/dist/plugin-sdk/src/agents/tools/sessions-helpers.d.ts +0 -54
  740. package/dist/plugin-sdk/src/agents/tools/sessions-history-tool.d.ts +0 -11
  741. package/dist/plugin-sdk/src/agents/tools/sessions-list-tool.d.ts +0 -11
  742. package/dist/plugin-sdk/src/agents/tools/sessions-resolution.d.ts +0 -67
  743. package/dist/plugin-sdk/src/agents/tools/sessions-send-helpers.d.ts +0 -34
  744. package/dist/plugin-sdk/src/agents/tools/sessions-send-tool.a2a.d.ts +0 -20
  745. package/dist/plugin-sdk/src/agents/tools/sessions-send-tool.d.ts +0 -13
  746. package/dist/plugin-sdk/src/agents/tools/sessions-spawn-tool.d.ts +0 -16
  747. package/dist/plugin-sdk/src/agents/tools/slack-actions.d.ts +0 -15
  748. package/dist/plugin-sdk/src/agents/tools/subagents-tool.d.ts +0 -4
  749. package/dist/plugin-sdk/src/agents/tools/telegram-actions.d.ts +0 -7
  750. package/dist/plugin-sdk/src/agents/tools/tts-tool.d.ts +0 -7
  751. package/dist/plugin-sdk/src/agents/tools/wallet-action-tool.d.ts +0 -9
  752. package/dist/plugin-sdk/src/agents/tools/wallet-skill-policy.d.ts +0 -39
  753. package/dist/plugin-sdk/src/agents/tools/wallet-tool.d.ts +0 -9
  754. package/dist/plugin-sdk/src/agents/tools/web-fetch-utils.d.ts +0 -18
  755. package/dist/plugin-sdk/src/agents/tools/web-fetch-visibility.d.ts +0 -2
  756. package/dist/plugin-sdk/src/agents/tools/web-fetch.d.ts +0 -25
  757. package/dist/plugin-sdk/src/agents/tools/web-guarded-fetch.d.ts +0 -12
  758. package/dist/plugin-sdk/src/agents/tools/web-search.d.ts +0 -148
  759. package/dist/plugin-sdk/src/agents/tools/web-shared.d.ts +0 -24
  760. package/dist/plugin-sdk/src/agents/tools/web-tools.d.ts +0 -2
  761. package/dist/plugin-sdk/src/agents/tools/whatsapp-actions.d.ts +0 -3
  762. package/dist/plugin-sdk/src/agents/tools/whatsapp-target-auth.d.ts +0 -10
  763. package/dist/plugin-sdk/src/agents/tools-effective-inventory.d.ts +0 -49
  764. package/dist/plugin-sdk/src/agents/trace-base.d.ts +0 -10
  765. package/dist/plugin-sdk/src/agents/transcript-policy.d.ts +0 -25
  766. package/dist/plugin-sdk/src/agents/usage.d.ts +0 -65
  767. package/dist/plugin-sdk/src/agents/venice-models.d.ts +0 -7
  768. package/dist/plugin-sdk/src/agents/volc-models.shared.d.ts +0 -90
  769. package/dist/plugin-sdk/src/agents/workspace-dir.d.ts +0 -2
  770. package/dist/plugin-sdk/src/agents/workspace-dirs.d.ts +0 -2
  771. package/dist/plugin-sdk/src/agents/workspace-run.d.ts +0 -18
  772. package/dist/plugin-sdk/src/agents/workspace-templates.d.ts +0 -6
  773. package/dist/plugin-sdk/src/agents/workspace.d.ts +0 -45
  774. package/dist/plugin-sdk/src/auto-reply/chunk.d.ts +0 -45
  775. package/dist/plugin-sdk/src/auto-reply/command-auth.d.ts +0 -17
  776. package/dist/plugin-sdk/src/auto-reply/command-detection.d.ts +0 -13
  777. package/dist/plugin-sdk/src/auto-reply/commands-args.d.ts +0 -3
  778. package/dist/plugin-sdk/src/auto-reply/commands-registry.d.ts +0 -55
  779. package/dist/plugin-sdk/src/auto-reply/commands-registry.data.d.ts +0 -3
  780. package/dist/plugin-sdk/src/auto-reply/commands-registry.types.d.ts +0 -66
  781. package/dist/plugin-sdk/src/auto-reply/dispatch.d.ts +0 -32
  782. package/dist/plugin-sdk/src/auto-reply/envelope.d.ts +0 -58
  783. package/dist/plugin-sdk/src/auto-reply/fallback-state.d.ts +0 -55
  784. package/dist/plugin-sdk/src/auto-reply/group-activation.d.ts +0 -6
  785. package/dist/plugin-sdk/src/auto-reply/heartbeat-reply-payload.d.ts +0 -2
  786. package/dist/plugin-sdk/src/auto-reply/heartbeat.d.ts +0 -26
  787. package/dist/plugin-sdk/src/auto-reply/inbound-debounce.d.ts +0 -17
  788. package/dist/plugin-sdk/src/auto-reply/media-note.d.ts +0 -2
  789. package/dist/plugin-sdk/src/auto-reply/model-runtime.d.ts +0 -17
  790. package/dist/plugin-sdk/src/auto-reply/model.d.ts +0 -8
  791. package/dist/plugin-sdk/src/auto-reply/reply/abort-cutoff.d.ts +0 -28
  792. package/dist/plugin-sdk/src/auto-reply/reply/abort.d.ts +0 -33
  793. package/dist/plugin-sdk/src/auto-reply/reply/acp-projector.d.ts +0 -15
  794. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner-execution.d.ts +0 -59
  795. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner-helpers.d.ts +0 -15
  796. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner-memory.d.ts +0 -20
  797. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner-payloads.d.ts +0 -27
  798. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner-utils.d.ts +0 -148
  799. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner.d.ts +0 -38
  800. package/dist/plugin-sdk/src/auto-reply/reply/bash-command.d.ts +0 -19
  801. package/dist/plugin-sdk/src/auto-reply/reply/block-reply-coalescer.d.ts +0 -15
  802. package/dist/plugin-sdk/src/auto-reply/reply/block-reply-pipeline.d.ts +0 -31
  803. package/dist/plugin-sdk/src/auto-reply/reply/block-streaming.d.ts +0 -36
  804. package/dist/plugin-sdk/src/auto-reply/reply/body.d.ts +0 -10
  805. package/dist/plugin-sdk/src/auto-reply/reply/command-gates.d.ts +0 -18
  806. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/context.d.ts +0 -12
  807. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/diagnostics.d.ts +0 -4
  808. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/lifecycle.d.ts +0 -5
  809. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/runtime-options.d.ts +0 -9
  810. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/shared.d.ts +0 -97
  811. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/targets.d.ts +0 -12
  812. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp.d.ts +0 -2
  813. package/dist/plugin-sdk/src/auto-reply/reply/commands-allowlist.d.ts +0 -2
  814. package/dist/plugin-sdk/src/auto-reply/reply/commands-approve.d.ts +0 -2
  815. package/dist/plugin-sdk/src/auto-reply/reply/commands-bash.d.ts +0 -2
  816. package/dist/plugin-sdk/src/auto-reply/reply/commands-compact.d.ts +0 -2
  817. package/dist/plugin-sdk/src/auto-reply/reply/commands-config.d.ts +0 -3
  818. package/dist/plugin-sdk/src/auto-reply/reply/commands-context-report.d.ts +0 -3
  819. package/dist/plugin-sdk/src/auto-reply/reply/commands-context.d.ts +0 -12
  820. package/dist/plugin-sdk/src/auto-reply/reply/commands-control.d.ts +0 -5
  821. package/dist/plugin-sdk/src/auto-reply/reply/commands-core.d.ts +0 -13
  822. package/dist/plugin-sdk/src/auto-reply/reply/commands-export-session.d.ts +0 -3
  823. package/dist/plugin-sdk/src/auto-reply/reply/commands-info.d.ts +0 -11
  824. package/dist/plugin-sdk/src/auto-reply/reply/commands-models.d.ts +0 -36
  825. package/dist/plugin-sdk/src/auto-reply/reply/commands-plugin.d.ts +0 -13
  826. package/dist/plugin-sdk/src/auto-reply/reply/commands-session-abort.d.ts +0 -3
  827. package/dist/plugin-sdk/src/auto-reply/reply/commands-session-store.d.ts +0 -13
  828. package/dist/plugin-sdk/src/auto-reply/reply/commands-session.d.ts +0 -8
  829. package/dist/plugin-sdk/src/auto-reply/reply/commands-setunset-standard.d.ts +0 -10
  830. package/dist/plugin-sdk/src/auto-reply/reply/commands-setunset.d.ts +0 -34
  831. package/dist/plugin-sdk/src/auto-reply/reply/commands-slash-parse.d.ts +0 -24
  832. package/dist/plugin-sdk/src/auto-reply/reply/commands-status.d.ts +0 -26
  833. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-agents.d.ts +0 -3
  834. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-focus.d.ts +0 -3
  835. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-help.d.ts +0 -2
  836. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-info.d.ts +0 -3
  837. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-kill.d.ts +0 -3
  838. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-list.d.ts +0 -3
  839. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-log.d.ts +0 -3
  840. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-send.d.ts +0 -3
  841. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-spawn.d.ts +0 -3
  842. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-unfocus.d.ts +0 -3
  843. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/shared.d.ts +0 -81
  844. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents.d.ts +0 -4
  845. package/dist/plugin-sdk/src/auto-reply/reply/commands-system-prompt.d.ts +0 -14
  846. package/dist/plugin-sdk/src/auto-reply/reply/commands-tts.d.ts +0 -2
  847. package/dist/plugin-sdk/src/auto-reply/reply/commands-types.d.ts +0 -63
  848. package/dist/plugin-sdk/src/auto-reply/reply/commands.d.ts +0 -4
  849. package/dist/plugin-sdk/src/auto-reply/reply/config-commands.d.ts +0 -15
  850. package/dist/plugin-sdk/src/auto-reply/reply/config-value.d.ts +0 -4
  851. package/dist/plugin-sdk/src/auto-reply/reply/debug-commands.d.ts +0 -16
  852. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.auth.d.ts +0 -19
  853. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.d.ts +0 -6
  854. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.fast-lane.d.ts +0 -7
  855. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.impl.d.ts +0 -3
  856. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.levels.d.ts +0 -20
  857. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.model-picker.d.ts +0 -13
  858. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.model.d.ts +0 -44
  859. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.params.d.ts +0 -51
  860. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.parse.d.ts +0 -62
  861. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.persist.d.ts +0 -37
  862. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.queue-validation.d.ts +0 -10
  863. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.shared.d.ts +0 -28
  864. package/dist/plugin-sdk/src/auto-reply/reply/directive-parsing.d.ts +0 -5
  865. package/dist/plugin-sdk/src/auto-reply/reply/directives.d.ts +0 -38
  866. package/dist/plugin-sdk/src/auto-reply/reply/dispatch-acp.d.ts +0 -30
  867. package/dist/plugin-sdk/src/auto-reply/reply/dispatch-from-config.d.ts +0 -16
  868. package/dist/plugin-sdk/src/auto-reply/reply/dispatcher-registry.d.ts +0 -24
  869. package/dist/plugin-sdk/src/auto-reply/reply/elevated-allowlist-matcher.d.ts +0 -20
  870. package/dist/plugin-sdk/src/auto-reply/reply/elevated-unavailable.d.ts +0 -8
  871. package/dist/plugin-sdk/src/auto-reply/reply/exec/directive.d.ts +0 -20
  872. package/dist/plugin-sdk/src/auto-reply/reply/exec.d.ts +0 -1
  873. package/dist/plugin-sdk/src/auto-reply/reply/followup-runner.d.ts +0 -16
  874. package/dist/plugin-sdk/src/auto-reply/reply/get-reply-directives-apply.d.ts +0 -64
  875. package/dist/plugin-sdk/src/auto-reply/reply/get-reply-directives-utils.d.ts +0 -3
  876. package/dist/plugin-sdk/src/auto-reply/reply/get-reply-directives.d.ts +0 -92
  877. package/dist/plugin-sdk/src/auto-reply/reply/get-reply-inline-actions.d.ts +0 -59
  878. package/dist/plugin-sdk/src/auto-reply/reply/get-reply-run.d.ts +0 -69
  879. package/dist/plugin-sdk/src/auto-reply/reply/get-reply.d.ts +0 -4
  880. package/dist/plugin-sdk/src/auto-reply/reply/groups.d.ts +0 -26
  881. package/dist/plugin-sdk/src/auto-reply/reply/history.d.ts +0 -72
  882. package/dist/plugin-sdk/src/auto-reply/reply/inbound-context.d.ts +0 -8
  883. package/dist/plugin-sdk/src/auto-reply/reply/inbound-dedupe.d.ts +0 -8
  884. package/dist/plugin-sdk/src/auto-reply/reply/inbound-meta.d.ts +0 -3
  885. package/dist/plugin-sdk/src/auto-reply/reply/inbound-text.d.ts +0 -2
  886. package/dist/plugin-sdk/src/auto-reply/reply/line-directives.d.ts +0 -22
  887. package/dist/plugin-sdk/src/auto-reply/reply/memory-flush.d.ts +0 -28
  888. package/dist/plugin-sdk/src/auto-reply/reply/mentions.d.ts +0 -19
  889. package/dist/plugin-sdk/src/auto-reply/reply/model-selection.d.ts +0 -67
  890. package/dist/plugin-sdk/src/auto-reply/reply/normalize-reply.d.ts +0 -13
  891. package/dist/plugin-sdk/src/auto-reply/reply/origin-routing.d.ts +0 -13
  892. package/dist/plugin-sdk/src/auto-reply/reply/post-compaction-audit.d.ts +0 -26
  893. package/dist/plugin-sdk/src/auto-reply/reply/post-compaction-context.d.ts +0 -12
  894. package/dist/plugin-sdk/src/auto-reply/reply/provider-dispatcher.d.ts +0 -19
  895. package/dist/plugin-sdk/src/auto-reply/reply/queue/cleanup.d.ts +0 -11
  896. package/dist/plugin-sdk/src/auto-reply/reply/queue/directive.d.ts +0 -15
  897. package/dist/plugin-sdk/src/auto-reply/reply/queue/drain.d.ts +0 -2
  898. package/dist/plugin-sdk/src/auto-reply/reply/queue/enqueue.d.ts +0 -3
  899. package/dist/plugin-sdk/src/auto-reply/reply/queue/normalize.d.ts +0 -3
  900. package/dist/plugin-sdk/src/auto-reply/reply/queue/settings.d.ts +0 -2
  901. package/dist/plugin-sdk/src/auto-reply/reply/queue/state.d.ts +0 -20
  902. package/dist/plugin-sdk/src/auto-reply/reply/queue/types.d.ts +0 -85
  903. package/dist/plugin-sdk/src/auto-reply/reply/queue-policy.d.ts +0 -8
  904. package/dist/plugin-sdk/src/auto-reply/reply/queue.d.ts +0 -8
  905. package/dist/plugin-sdk/src/auto-reply/reply/reply-delivery.d.ts +0 -27
  906. package/dist/plugin-sdk/src/auto-reply/reply/reply-directives.d.ts +0 -14
  907. package/dist/plugin-sdk/src/auto-reply/reply/reply-dispatcher.d.ts +0 -54
  908. package/dist/plugin-sdk/src/auto-reply/reply/reply-elevated.d.ts +0 -16
  909. package/dist/plugin-sdk/src/auto-reply/reply/reply-inline.d.ts +0 -8
  910. package/dist/plugin-sdk/src/auto-reply/reply/reply-payloads.d.ts +0 -27
  911. package/dist/plugin-sdk/src/auto-reply/reply/reply-reference.d.ts +0 -22
  912. package/dist/plugin-sdk/src/auto-reply/reply/reply-tags.d.ts +0 -6
  913. package/dist/plugin-sdk/src/auto-reply/reply/reply-threading.d.ts +0 -9
  914. package/dist/plugin-sdk/src/auto-reply/reply/response-prefix-template.d.ts +0 -51
  915. package/dist/plugin-sdk/src/auto-reply/reply/route-reply.d.ts +0 -56
  916. package/dist/plugin-sdk/src/auto-reply/reply/session-reset-model.d.ts +0 -24
  917. package/dist/plugin-sdk/src/auto-reply/reply/session-reset-prompt.d.ts +0 -1
  918. package/dist/plugin-sdk/src/auto-reply/reply/session-run-accounting.d.ts +0 -12
  919. package/dist/plugin-sdk/src/auto-reply/reply/session-updates.d.ts +0 -34
  920. package/dist/plugin-sdk/src/auto-reply/reply/session-usage.d.ts +0 -21
  921. package/dist/plugin-sdk/src/auto-reply/reply/session.d.ts +0 -26
  922. package/dist/plugin-sdk/src/auto-reply/reply/stage-sandbox-media.d.ts +0 -9
  923. package/dist/plugin-sdk/src/auto-reply/reply/streaming-directives.d.ts +0 -10
  924. package/dist/plugin-sdk/src/auto-reply/reply/strip-inbound-meta.d.ts +0 -27
  925. package/dist/plugin-sdk/src/auto-reply/reply/subagents-utils.d.ts +0 -27
  926. package/dist/plugin-sdk/src/auto-reply/reply/typing-mode.d.ts +0 -30
  927. package/dist/plugin-sdk/src/auto-reply/reply/typing-policy.d.ts +0 -13
  928. package/dist/plugin-sdk/src/auto-reply/reply/typing.d.ts +0 -18
  929. package/dist/plugin-sdk/src/auto-reply/reply/untrusted-context.d.ts +0 -1
  930. package/dist/plugin-sdk/src/auto-reply/reply.d.ts +0 -6
  931. package/dist/plugin-sdk/src/auto-reply/send-policy.d.ts +0 -6
  932. package/dist/plugin-sdk/src/auto-reply/skill-commands.d.ts +0 -19
  933. package/dist/plugin-sdk/src/auto-reply/status.d.ts +0 -60
  934. package/dist/plugin-sdk/src/auto-reply/templating.d.ts +0 -161
  935. package/dist/plugin-sdk/src/auto-reply/thinking.d.ts +0 -16
  936. package/dist/plugin-sdk/src/auto-reply/tokens.d.ts +0 -4
  937. package/dist/plugin-sdk/src/auto-reply/tool-meta.d.ts +0 -8
  938. package/dist/plugin-sdk/src/auto-reply/types.d.ts +0 -85
  939. package/dist/plugin-sdk/src/brand.d.ts +0 -6
  940. package/dist/plugin-sdk/src/browser/bridge-auth-registry.d.ts +0 -8
  941. package/dist/plugin-sdk/src/browser/bridge-server.d.ts +0 -19
  942. package/dist/plugin-sdk/src/browser/cdp.d.ts +0 -125
  943. package/dist/plugin-sdk/src/browser/cdp.helpers.d.ts +0 -13
  944. package/dist/plugin-sdk/src/browser/chrome.d.ts +0 -20
  945. package/dist/plugin-sdk/src/browser/chrome.executables.d.ts +0 -9
  946. package/dist/plugin-sdk/src/browser/chrome.profile-decoration.d.ts +0 -10
  947. package/dist/plugin-sdk/src/browser/client-actions-core.d.ts +0 -142
  948. package/dist/plugin-sdk/src/browser/client-actions-observe.d.ts +0 -68
  949. package/dist/plugin-sdk/src/browser/client-actions-state.d.ts +0 -90
  950. package/dist/plugin-sdk/src/browser/client-actions-types.d.ts +0 -18
  951. package/dist/plugin-sdk/src/browser/client-actions-url.d.ts +0 -2
  952. package/dist/plugin-sdk/src/browser/client-actions.d.ts +0 -4
  953. package/dist/plugin-sdk/src/browser/client-fetch.d.ts +0 -20
  954. package/dist/plugin-sdk/src/browser/client.d.ts +0 -147
  955. package/dist/plugin-sdk/src/browser/config.d.ts +0 -43
  956. package/dist/plugin-sdk/src/browser/constants.d.ts +0 -8
  957. package/dist/plugin-sdk/src/browser/control-auth.d.ts +0 -13
  958. package/dist/plugin-sdk/src/browser/control-service.d.ts +0 -5
  959. package/dist/plugin-sdk/src/browser/csrf.d.ts +0 -8
  960. package/dist/plugin-sdk/src/browser/extension-relay-auth.d.ts +0 -8
  961. package/dist/plugin-sdk/src/browser/extension-relay.d.ts +0 -15
  962. package/dist/plugin-sdk/src/browser/form-fields.d.ts +0 -8
  963. package/dist/plugin-sdk/src/browser/http-auth.d.ts +0 -5
  964. package/dist/plugin-sdk/src/browser/navigation-guard.d.ts +0 -21
  965. package/dist/plugin-sdk/src/browser/paths.d.ts +0 -61
  966. package/dist/plugin-sdk/src/browser/profiles-service.d.ts +0 -25
  967. package/dist/plugin-sdk/src/browser/profiles.d.ts +0 -30
  968. package/dist/plugin-sdk/src/browser/proxy-files.d.ts +0 -7
  969. package/dist/plugin-sdk/src/browser/pw-ai-module.d.ts +0 -6
  970. package/dist/plugin-sdk/src/browser/pw-ai-state.d.ts +0 -2
  971. package/dist/plugin-sdk/src/browser/pw-ai.d.ts +0 -2
  972. package/dist/plugin-sdk/src/browser/pw-role-snapshot.d.ts +0 -35
  973. package/dist/plugin-sdk/src/browser/pw-session.d.ts +0 -162
  974. package/dist/plugin-sdk/src/browser/pw-tools-core.activity.d.ts +0 -21
  975. package/dist/plugin-sdk/src/browser/pw-tools-core.d.ts +0 -8
  976. package/dist/plugin-sdk/src/browser/pw-tools-core.downloads.d.ts +0 -34
  977. package/dist/plugin-sdk/src/browser/pw-tools-core.interactions.d.ts +0 -114
  978. package/dist/plugin-sdk/src/browser/pw-tools-core.responses.d.ts +0 -13
  979. package/dist/plugin-sdk/src/browser/pw-tools-core.shared.d.ts +0 -6
  980. package/dist/plugin-sdk/src/browser/pw-tools-core.snapshot.d.ts +0 -66
  981. package/dist/plugin-sdk/src/browser/pw-tools-core.state.d.ts +0 -46
  982. package/dist/plugin-sdk/src/browser/pw-tools-core.storage.d.ts +0 -47
  983. package/dist/plugin-sdk/src/browser/pw-tools-core.trace.d.ts +0 -12
  984. package/dist/plugin-sdk/src/browser/resolved-config-refresh.d.ts +0 -12
  985. package/dist/plugin-sdk/src/browser/routes/agent.act.d.ts +0 -3
  986. package/dist/plugin-sdk/src/browser/routes/agent.act.download.d.ts +0 -3
  987. package/dist/plugin-sdk/src/browser/routes/agent.act.hooks.d.ts +0 -3
  988. package/dist/plugin-sdk/src/browser/routes/agent.act.shared.d.ts +0 -10
  989. package/dist/plugin-sdk/src/browser/routes/agent.d.ts +0 -3
  990. package/dist/plugin-sdk/src/browser/routes/agent.debug.d.ts +0 -3
  991. package/dist/plugin-sdk/src/browser/routes/agent.shared.d.ts +0 -37
  992. package/dist/plugin-sdk/src/browser/routes/agent.snapshot.d.ts +0 -3
  993. package/dist/plugin-sdk/src/browser/routes/agent.storage.d.ts +0 -14
  994. package/dist/plugin-sdk/src/browser/routes/basic.d.ts +0 -3
  995. package/dist/plugin-sdk/src/browser/routes/dispatcher.d.ts +0 -16
  996. package/dist/plugin-sdk/src/browser/routes/index.d.ts +0 -3
  997. package/dist/plugin-sdk/src/browser/routes/output-paths.d.ts +0 -10
  998. package/dist/plugin-sdk/src/browser/routes/path-output.d.ts +0 -1
  999. package/dist/plugin-sdk/src/browser/routes/tabs.d.ts +0 -3
  1000. package/dist/plugin-sdk/src/browser/routes/types.d.ts +0 -20
  1001. package/dist/plugin-sdk/src/browser/routes/utils.d.ts +0 -15
  1002. package/dist/plugin-sdk/src/browser/runtime-dependency.d.ts +0 -3
  1003. package/dist/plugin-sdk/src/browser/screenshot.d.ts +0 -9
  1004. package/dist/plugin-sdk/src/browser/server-context.d.ts +0 -4
  1005. package/dist/plugin-sdk/src/browser/server-context.types.d.ts +0 -65
  1006. package/dist/plugin-sdk/src/browser/server-lifecycle.d.ts +0 -10
  1007. package/dist/plugin-sdk/src/browser/server-middleware.d.ts +0 -6
  1008. package/dist/plugin-sdk/src/browser/target-id.d.ts +0 -11
  1009. package/dist/plugin-sdk/src/browser/trash.d.ts +0 -1
  1010. package/dist/plugin-sdk/src/canvas-host/a2ui.d.ts +0 -6
  1011. package/dist/plugin-sdk/src/canvas-host/file-resolver.d.ts +0 -3
  1012. package/dist/plugin-sdk/src/canvas-host/server.d.ts +0 -36
  1013. package/dist/plugin-sdk/src/channel-web.d.ts +0 -6
  1014. package/dist/plugin-sdk/src/channels/account-snapshot-fields.d.ts +0 -2
  1015. package/dist/plugin-sdk/src/channels/account-summary.d.ts +0 -17
  1016. package/dist/plugin-sdk/src/channels/ack-reactions.d.ts +0 -29
  1017. package/dist/plugin-sdk/src/channels/allow-from.d.ts +0 -16
  1018. package/dist/plugin-sdk/src/channels/allowlist-match.d.ts +0 -16
  1019. package/dist/plugin-sdk/src/channels/allowlists/resolve-utils.d.ts +0 -33
  1020. package/dist/plugin-sdk/src/channels/channel-config.d.ts +0 -39
  1021. package/dist/plugin-sdk/src/channels/chat-type.d.ts +0 -2
  1022. package/dist/plugin-sdk/src/channels/command-gating.d.ts +0 -20
  1023. package/dist/plugin-sdk/src/channels/conversation-label.d.ts +0 -2
  1024. package/dist/plugin-sdk/src/channels/dock.d.ts +0 -25
  1025. package/dist/plugin-sdk/src/channels/draft-stream-controls.d.ts +0 -54
  1026. package/dist/plugin-sdk/src/channels/draft-stream-loop.d.ts +0 -13
  1027. package/dist/plugin-sdk/src/channels/ids.d.ts +0 -9
  1028. package/dist/plugin-sdk/src/channels/location.d.ts +0 -21
  1029. package/dist/plugin-sdk/src/channels/logging.d.ts +0 -20
  1030. package/dist/plugin-sdk/src/channels/mention-gating.d.ts +0 -27
  1031. package/dist/plugin-sdk/src/channels/model-overrides.d.ts +0 -18
  1032. package/dist/plugin-sdk/src/channels/plugins/account-action-gate.d.ts +0 -5
  1033. package/dist/plugin-sdk/src/channels/plugins/account-helpers.d.ts +0 -6
  1034. package/dist/plugin-sdk/src/channels/plugins/actions/discord/handle-action.d.ts +0 -3
  1035. package/dist/plugin-sdk/src/channels/plugins/actions/discord/handle-action.guild-admin.d.ts +0 -9
  1036. package/dist/plugin-sdk/src/channels/plugins/actions/discord.d.ts +0 -2
  1037. package/dist/plugin-sdk/src/channels/plugins/actions/shared.d.ts +0 -7
  1038. package/dist/plugin-sdk/src/channels/plugins/actions/signal.d.ts +0 -2
  1039. package/dist/plugin-sdk/src/channels/plugins/actions/telegram.d.ts +0 -2
  1040. package/dist/plugin-sdk/src/channels/plugins/agent-tools/whatsapp-login.d.ts +0 -2
  1041. package/dist/plugin-sdk/src/channels/plugins/allowlist-match.d.ts +0 -2
  1042. package/dist/plugin-sdk/src/channels/plugins/bluebubbles-actions.d.ts +0 -48
  1043. package/dist/plugin-sdk/src/channels/plugins/catalog.d.ts +0 -50
  1044. package/dist/plugin-sdk/src/channels/plugins/channel-config.d.ts +0 -2
  1045. package/dist/plugin-sdk/src/channels/plugins/config-helpers.d.ts +0 -14
  1046. package/dist/plugin-sdk/src/channels/plugins/config-schema.d.ts +0 -3
  1047. package/dist/plugin-sdk/src/channels/plugins/config-writes.d.ts +0 -7
  1048. package/dist/plugin-sdk/src/channels/plugins/directory-config.d.ts +0 -16
  1049. package/dist/plugin-sdk/src/channels/plugins/group-mentions.d.ts +0 -18
  1050. package/dist/plugin-sdk/src/channels/plugins/helpers.d.ts +0 -8
  1051. package/dist/plugin-sdk/src/channels/plugins/index.d.ts +0 -8
  1052. package/dist/plugin-sdk/src/channels/plugins/media-limits.d.ts +0 -9
  1053. package/dist/plugin-sdk/src/channels/plugins/media-payload.d.ts +0 -15
  1054. package/dist/plugin-sdk/src/channels/plugins/message-action-names.d.ts +0 -2
  1055. package/dist/plugin-sdk/src/channels/plugins/message-actions.d.ts +0 -15
  1056. package/dist/plugin-sdk/src/channels/plugins/normalize/discord.d.ts +0 -14
  1057. package/dist/plugin-sdk/src/channels/plugins/normalize/imessage.d.ts +0 -2
  1058. package/dist/plugin-sdk/src/channels/plugins/normalize/shared.d.ts +0 -6
  1059. package/dist/plugin-sdk/src/channels/plugins/normalize/signal.d.ts +0 -2
  1060. package/dist/plugin-sdk/src/channels/plugins/normalize/slack.d.ts +0 -2
  1061. package/dist/plugin-sdk/src/channels/plugins/normalize/telegram.d.ts +0 -2
  1062. package/dist/plugin-sdk/src/channels/plugins/normalize/whatsapp.d.ts +0 -3
  1063. package/dist/plugin-sdk/src/channels/plugins/onboarding/channel-access-configure.d.ts +0 -21
  1064. package/dist/plugin-sdk/src/channels/plugins/onboarding/channel-access.d.ts +0 -31
  1065. package/dist/plugin-sdk/src/channels/plugins/onboarding/discord.d.ts +0 -2
  1066. package/dist/plugin-sdk/src/channels/plugins/onboarding/helpers.d.ts +0 -177
  1067. package/dist/plugin-sdk/src/channels/plugins/onboarding/imessage.d.ts +0 -6
  1068. package/dist/plugin-sdk/src/channels/plugins/onboarding/signal.d.ts +0 -7
  1069. package/dist/plugin-sdk/src/channels/plugins/onboarding/slack.d.ts +0 -2
  1070. package/dist/plugin-sdk/src/channels/plugins/onboarding/telegram.d.ts +0 -4
  1071. package/dist/plugin-sdk/src/channels/plugins/onboarding/whatsapp.d.ts +0 -2
  1072. package/dist/plugin-sdk/src/channels/plugins/onboarding-types.d.ts +0 -149
  1073. package/dist/plugin-sdk/src/channels/plugins/outbound/load.d.ts +0 -2
  1074. package/dist/plugin-sdk/src/channels/plugins/pairing-message.d.ts +0 -1
  1075. package/dist/plugin-sdk/src/channels/plugins/pairing.d.ts +0 -16
  1076. package/dist/plugin-sdk/src/channels/plugins/registry-loader.d.ts +0 -5
  1077. package/dist/plugin-sdk/src/channels/plugins/setup-helpers.d.ts +0 -21
  1078. package/dist/plugin-sdk/src/channels/plugins/status-issues/bluebubbles.d.ts +0 -2
  1079. package/dist/plugin-sdk/src/channels/plugins/status-issues/discord.d.ts +0 -2
  1080. package/dist/plugin-sdk/src/channels/plugins/status-issues/shared.d.ts +0 -29
  1081. package/dist/plugin-sdk/src/channels/plugins/status-issues/telegram.d.ts +0 -2
  1082. package/dist/plugin-sdk/src/channels/plugins/status-issues/whatsapp.d.ts +0 -2
  1083. package/dist/plugin-sdk/src/channels/plugins/types.adapters.d.ts +0 -294
  1084. package/dist/plugin-sdk/src/channels/plugins/types.core.d.ts +0 -357
  1085. package/dist/plugin-sdk/src/channels/plugins/types.d.ts +0 -6
  1086. package/dist/plugin-sdk/src/channels/plugins/types.plugin.d.ts +0 -54
  1087. package/dist/plugin-sdk/src/channels/plugins/whatsapp-heartbeat.d.ts +0 -11
  1088. package/dist/plugin-sdk/src/channels/plugins/whatsapp-shared.d.ts +0 -5
  1089. package/dist/plugin-sdk/src/channels/registry.d.ts +0 -12
  1090. package/dist/plugin-sdk/src/channels/reply-prefix.d.ts +0 -24
  1091. package/dist/plugin-sdk/src/channels/sender-label.d.ts +0 -9
  1092. package/dist/plugin-sdk/src/channels/session.d.ts +0 -18
  1093. package/dist/plugin-sdk/src/channels/status-reactions.d.ts +0 -62
  1094. package/dist/plugin-sdk/src/channels/targets.d.ts +0 -42
  1095. package/dist/plugin-sdk/src/channels/telegram/allow-from.d.ts +0 -2
  1096. package/dist/plugin-sdk/src/channels/telegram/api.d.ts +0 -5
  1097. package/dist/plugin-sdk/src/channels/thread-bindings-messages.d.ts +0 -19
  1098. package/dist/plugin-sdk/src/channels/thread-bindings-policy.d.ts +0 -68
  1099. package/dist/plugin-sdk/src/channels/typing-lifecycle.d.ts +0 -12
  1100. package/dist/plugin-sdk/src/channels/typing-start-guard.d.ts +0 -13
  1101. package/dist/plugin-sdk/src/channels/typing.d.ts +0 -18
  1102. package/dist/plugin-sdk/src/channels/web/index.d.ts +0 -1
  1103. package/dist/plugin-sdk/src/cli/argv.d.ts +0 -17
  1104. package/dist/plugin-sdk/src/cli/banner.d.ts +0 -11
  1105. package/dist/plugin-sdk/src/cli/cli-name.d.ts +0 -3
  1106. package/dist/plugin-sdk/src/cli/cli-utils.d.ts +0 -19
  1107. package/dist/plugin-sdk/src/cli/command-format.d.ts +0 -1
  1108. package/dist/plugin-sdk/src/cli/deps.d.ts +0 -18
  1109. package/dist/plugin-sdk/src/cli/help-format.d.ts +0 -5
  1110. package/dist/plugin-sdk/src/cli/memory-cli.d.ts +0 -21
  1111. package/dist/plugin-sdk/src/cli/nodes-camera.d.ts +0 -38
  1112. package/dist/plugin-sdk/src/cli/nodes-canvas.d.ts +0 -10
  1113. package/dist/plugin-sdk/src/cli/nodes-media-utils.d.ts +0 -13
  1114. package/dist/plugin-sdk/src/cli/nodes-run.d.ts +0 -3
  1115. package/dist/plugin-sdk/src/cli/nodes-screen.d.ts +0 -18
  1116. package/dist/plugin-sdk/src/cli/outbound-send-deps.d.ts +0 -4
  1117. package/dist/plugin-sdk/src/cli/outbound-send-mapping.d.ts +0 -10
  1118. package/dist/plugin-sdk/src/cli/parse-bytes.d.ts +0 -4
  1119. package/dist/plugin-sdk/src/cli/parse-duration.d.ts +0 -4
  1120. package/dist/plugin-sdk/src/cli/parse-timeout.d.ts +0 -1
  1121. package/dist/plugin-sdk/src/cli/profile-utils.d.ts +0 -2
  1122. package/dist/plugin-sdk/src/cli/progress.d.ts +0 -24
  1123. package/dist/plugin-sdk/src/cli/prompt.d.ts +0 -1
  1124. package/dist/plugin-sdk/src/cli/wait.d.ts +0 -1
  1125. package/dist/plugin-sdk/src/commands/agent/attempt.d.ts +0 -39
  1126. package/dist/plugin-sdk/src/commands/agent/delivery.d.ts +0 -21
  1127. package/dist/plugin-sdk/src/commands/agent/lifecycle.d.ts +0 -17
  1128. package/dist/plugin-sdk/src/commands/agent/run-context.d.ts +0 -2
  1129. package/dist/plugin-sdk/src/commands/agent/session-store.d.ts +0 -17
  1130. package/dist/plugin-sdk/src/commands/agent/session.d.ts +0 -33
  1131. package/dist/plugin-sdk/src/commands/agent/strict-agentic-contract.d.ts +0 -44
  1132. package/dist/plugin-sdk/src/commands/agent/types.d.ts +0 -77
  1133. package/dist/plugin-sdk/src/commands/agent.d.ts +0 -7
  1134. package/dist/plugin-sdk/src/commands/agents.config.d.ts +0 -42
  1135. package/dist/plugin-sdk/src/commands/channel-account-context.d.ts +0 -10
  1136. package/dist/plugin-sdk/src/commands/cleanup-utils.d.ts +0 -37
  1137. package/dist/plugin-sdk/src/commands/daemon-runtime.d.ts +0 -8
  1138. package/dist/plugin-sdk/src/commands/gateway-presence.d.ts +0 -7
  1139. package/dist/plugin-sdk/src/commands/health.d.ts +0 -74
  1140. package/dist/plugin-sdk/src/commands/hosted-dashboard-probe.d.ts +0 -40
  1141. package/dist/plugin-sdk/src/commands/oauth-flow.d.ts +0 -21
  1142. package/dist/plugin-sdk/src/commands/onboard-helpers.d.ts +0 -84
  1143. package/dist/plugin-sdk/src/commands/onboard-types.d.ts +0 -119
  1144. package/dist/plugin-sdk/src/commands/signal-install.d.ts +0 -30
  1145. package/dist/plugin-sdk/src/commands/status-all/agents.d.ts +0 -16
  1146. package/dist/plugin-sdk/src/commands/status-all/channels.d.ts +0 -19
  1147. package/dist/plugin-sdk/src/commands/status-all/diagnosis.d.ts +0 -62
  1148. package/dist/plugin-sdk/src/commands/status-all/format.d.ts +0 -7
  1149. package/dist/plugin-sdk/src/commands/status-all/gateway.d.ts +0 -5
  1150. package/dist/plugin-sdk/src/commands/status-all/report-lines.d.ts +0 -44
  1151. package/dist/plugin-sdk/src/commands/status-all.d.ts +0 -4
  1152. package/dist/plugin-sdk/src/commands/status.acpx-bridge.d.ts +0 -19
  1153. package/dist/plugin-sdk/src/commands/status.agent-local.d.ts +0 -16
  1154. package/dist/plugin-sdk/src/commands/status.command.d.ts +0 -9
  1155. package/dist/plugin-sdk/src/commands/status.d.ts +0 -3
  1156. package/dist/plugin-sdk/src/commands/status.daemon.d.ts +0 -9
  1157. package/dist/plugin-sdk/src/commands/status.format.d.ts +0 -12
  1158. package/dist/plugin-sdk/src/commands/status.gateway-probe.d.ts +0 -6
  1159. package/dist/plugin-sdk/src/commands/status.link-channel.d.ts +0 -10
  1160. package/dist/plugin-sdk/src/commands/status.scan.d.ts +0 -46
  1161. package/dist/plugin-sdk/src/commands/status.strict-agentic.d.ts +0 -18
  1162. package/dist/plugin-sdk/src/commands/status.summary.d.ts +0 -5
  1163. package/dist/plugin-sdk/src/commands/status.types.d.ts +0 -67
  1164. package/dist/plugin-sdk/src/commands/status.update.d.ts +0 -23
  1165. package/dist/plugin-sdk/src/commands/text-format.d.ts +0 -1
  1166. package/dist/plugin-sdk/src/commands/wallet.d.ts +0 -300
  1167. package/dist/plugin-sdk/src/commands/xai-oauth.d.ts +0 -17
  1168. package/dist/plugin-sdk/src/config/agent-dirs.d.ts +0 -14
  1169. package/dist/plugin-sdk/src/config/agent-limits.d.ts +0 -6
  1170. package/dist/plugin-sdk/src/config/backup-rotation.d.ts +0 -5
  1171. package/dist/plugin-sdk/src/config/cache-utils.d.ts +0 -6
  1172. package/dist/plugin-sdk/src/config/channel-capabilities.d.ts +0 -6
  1173. package/dist/plugin-sdk/src/config/commands.d.ts +0 -25
  1174. package/dist/plugin-sdk/src/config/config-paths.d.ts +0 -10
  1175. package/dist/plugin-sdk/src/config/config.d.ts +0 -7
  1176. package/dist/plugin-sdk/src/config/dangerous-name-matching.d.ts +0 -12
  1177. package/dist/plugin-sdk/src/config/defaults.d.ts +0 -19
  1178. package/dist/plugin-sdk/src/config/discord-preview-streaming.d.ts +0 -25
  1179. package/dist/plugin-sdk/src/config/env-preserve.d.ts +0 -10
  1180. package/dist/plugin-sdk/src/config/env-substitution.d.ts +0 -36
  1181. package/dist/plugin-sdk/src/config/env-vars.d.ts +0 -6
  1182. package/dist/plugin-sdk/src/config/group-policy.d.ts +0 -49
  1183. package/dist/plugin-sdk/src/config/includes-scan.d.ts +0 -4
  1184. package/dist/plugin-sdk/src/config/includes.d.ts +0 -43
  1185. package/dist/plugin-sdk/src/config/io.d.ts +0 -63
  1186. package/dist/plugin-sdk/src/config/legacy-migrate.d.ts +0 -5
  1187. package/dist/plugin-sdk/src/config/legacy.d.ts +0 -6
  1188. package/dist/plugin-sdk/src/config/legacy.migrations.d.ts +0 -1
  1189. package/dist/plugin-sdk/src/config/legacy.migrations.part-1.d.ts +0 -2
  1190. package/dist/plugin-sdk/src/config/legacy.migrations.part-2.d.ts +0 -2
  1191. package/dist/plugin-sdk/src/config/legacy.migrations.part-3.d.ts +0 -2
  1192. package/dist/plugin-sdk/src/config/legacy.rules.d.ts +0 -2
  1193. package/dist/plugin-sdk/src/config/legacy.shared.d.ts +0 -19
  1194. package/dist/plugin-sdk/src/config/markdown-tables.d.ts +0 -7
  1195. package/dist/plugin-sdk/src/config/merge-config.d.ts +0 -7
  1196. package/dist/plugin-sdk/src/config/merge-patch.d.ts +0 -5
  1197. package/dist/plugin-sdk/src/config/model-input.d.ts +0 -11
  1198. package/dist/plugin-sdk/src/config/normalize-exec-safe-bin.d.ts +0 -2
  1199. package/dist/plugin-sdk/src/config/normalize-paths.d.ts +0 -8
  1200. package/dist/plugin-sdk/src/config/paths.d.ts +0 -57
  1201. package/dist/plugin-sdk/src/config/plugin-auto-enable.d.ts +0 -15
  1202. package/dist/plugin-sdk/src/config/plugins-allowlist.d.ts +0 -12
  1203. package/dist/plugin-sdk/src/config/port-defaults.d.ts +0 -13
  1204. package/dist/plugin-sdk/src/config/prototype-keys.d.ts +0 -1
  1205. package/dist/plugin-sdk/src/config/runtime-group-policy.d.ts +0 -56
  1206. package/dist/plugin-sdk/src/config/runtime-overrides.d.ts +0 -15
  1207. package/dist/plugin-sdk/src/config/sat-runtime-ids.d.ts +0 -23
  1208. package/dist/plugin-sdk/src/config/sessions/artifacts.d.ts +0 -6
  1209. package/dist/plugin-sdk/src/config/sessions/delivery-info.d.ts +0 -16
  1210. package/dist/plugin-sdk/src/config/sessions/disk-budget.d.ts +0 -28
  1211. package/dist/plugin-sdk/src/config/sessions/group.d.ts +0 -11
  1212. package/dist/plugin-sdk/src/config/sessions/main-session.d.ts +0 -43
  1213. package/dist/plugin-sdk/src/config/sessions/metadata.d.ts +0 -16
  1214. package/dist/plugin-sdk/src/config/sessions/paths.d.ts +0 -21
  1215. package/dist/plugin-sdk/src/config/sessions/reset.d.ts +0 -43
  1216. package/dist/plugin-sdk/src/config/sessions/session-file.d.ts +0 -15
  1217. package/dist/plugin-sdk/src/config/sessions/session-key.d.ts +0 -8
  1218. package/dist/plugin-sdk/src/config/sessions/store.d.ts +0 -124
  1219. package/dist/plugin-sdk/src/config/sessions/transcript.d.ts +0 -32
  1220. package/dist/plugin-sdk/src/config/sessions/types.d.ts +0 -273
  1221. package/dist/plugin-sdk/src/config/sessions.d.ts +0 -13
  1222. package/dist/plugin-sdk/src/config/talk.d.ts +0 -22
  1223. package/dist/plugin-sdk/src/config/telegram-custom-commands.d.ts +0 -24
  1224. package/dist/plugin-sdk/src/config/types.acp.d.ts +0 -28
  1225. package/dist/plugin-sdk/src/config/types.agent-defaults.d.ts +0 -322
  1226. package/dist/plugin-sdk/src/config/types.agents-shared.d.ts +0 -53
  1227. package/dist/plugin-sdk/src/config/types.agents.d.ts +0 -71
  1228. package/dist/plugin-sdk/src/config/types.approvals.d.ts +0 -26
  1229. package/dist/plugin-sdk/src/config/types.auth.d.ts +0 -34
  1230. package/dist/plugin-sdk/src/config/types.base.d.ts +0 -227
  1231. package/dist/plugin-sdk/src/config/types.browser.d.ts +0 -65
  1232. package/dist/plugin-sdk/src/config/types.channel-messaging-common.d.ts +0 -44
  1233. package/dist/plugin-sdk/src/config/types.channels.d.ts +0 -53
  1234. package/dist/plugin-sdk/src/config/types.cron.d.ts +0 -26
  1235. package/dist/plugin-sdk/src/config/types.d.ts +0 -35
  1236. package/dist/plugin-sdk/src/config/types.discord.d.ts +0 -283
  1237. package/dist/plugin-sdk/src/config/types.fased.d.ts +0 -134
  1238. package/dist/plugin-sdk/src/config/types.federation.d.ts +0 -319
  1239. package/dist/plugin-sdk/src/config/types.gateway.d.ts +0 -313
  1240. package/dist/plugin-sdk/src/config/types.googlechat.d.ts +0 -110
  1241. package/dist/plugin-sdk/src/config/types.hooks.d.ts +0 -141
  1242. package/dist/plugin-sdk/src/config/types.imessage.d.ts +0 -77
  1243. package/dist/plugin-sdk/src/config/types.installs.d.ts +0 -36
  1244. package/dist/plugin-sdk/src/config/types.irc.d.ts +0 -54
  1245. package/dist/plugin-sdk/src/config/types.mcp.d.ts +0 -5
  1246. package/dist/plugin-sdk/src/config/types.memory.d.ts +0 -59
  1247. package/dist/plugin-sdk/src/config/types.messages.d.ts +0 -151
  1248. package/dist/plugin-sdk/src/config/types.models.d.ts +0 -70
  1249. package/dist/plugin-sdk/src/config/types.msteams.d.ts +0 -110
  1250. package/dist/plugin-sdk/src/config/types.node-host.d.ts +0 -10
  1251. package/dist/plugin-sdk/src/config/types.plugins.d.ts +0 -48
  1252. package/dist/plugin-sdk/src/config/types.queue.d.ts +0 -14
  1253. package/dist/plugin-sdk/src/config/types.sandbox.d.ts +0 -97
  1254. package/dist/plugin-sdk/src/config/types.secrets.d.ts +0 -67
  1255. package/dist/plugin-sdk/src/config/types.signal.d.ts +0 -46
  1256. package/dist/plugin-sdk/src/config/types.skills.d.ts +0 -47
  1257. package/dist/plugin-sdk/src/config/types.slack.d.ts +0 -181
  1258. package/dist/plugin-sdk/src/config/types.telegram.d.ts +0 -199
  1259. package/dist/plugin-sdk/src/config/types.tools.d.ts +0 -637
  1260. package/dist/plugin-sdk/src/config/types.tts.d.ts +0 -78
  1261. package/dist/plugin-sdk/src/config/types.wallet.d.ts +0 -88
  1262. package/dist/plugin-sdk/src/config/types.whatsapp.d.ts +0 -101
  1263. package/dist/plugin-sdk/src/config/validation.d.ts +0 -37
  1264. package/dist/plugin-sdk/src/config/version.d.ts +0 -9
  1265. package/dist/plugin-sdk/src/config/zod-schema.agent-defaults.d.ts +0 -308
  1266. package/dist/plugin-sdk/src/config/zod-schema.agent-model.d.ts +0 -24
  1267. package/dist/plugin-sdk/src/config/zod-schema.agent-runtime.d.ts +0 -1439
  1268. package/dist/plugin-sdk/src/config/zod-schema.agents.d.ts +0 -621
  1269. package/dist/plugin-sdk/src/config/zod-schema.allowdeny.d.ts +0 -13
  1270. package/dist/plugin-sdk/src/config/zod-schema.approvals.d.ts +0 -15
  1271. package/dist/plugin-sdk/src/config/zod-schema.channels.d.ts +0 -6
  1272. package/dist/plugin-sdk/src/config/zod-schema.core.d.ts +0 -926
  1273. package/dist/plugin-sdk/src/config/zod-schema.d.ts +0 -4763
  1274. package/dist/plugin-sdk/src/config/zod-schema.hooks.d.ts +0 -83
  1275. package/dist/plugin-sdk/src/config/zod-schema.installs.d.ts +0 -38
  1276. package/dist/plugin-sdk/src/config/zod-schema.providers-core.d.ts +0 -3785
  1277. package/dist/plugin-sdk/src/config/zod-schema.providers-whatsapp.d.ts +0 -235
  1278. package/dist/plugin-sdk/src/config/zod-schema.providers.d.ts +0 -2261
  1279. package/dist/plugin-sdk/src/config/zod-schema.sensitive.d.ts +0 -2
  1280. package/dist/plugin-sdk/src/config/zod-schema.session.d.ts +0 -237
  1281. package/dist/plugin-sdk/src/context-engine/types.d.ts +0 -6
  1282. package/dist/plugin-sdk/src/cron/access-block.d.ts +0 -22
  1283. package/dist/plugin-sdk/src/cron/delivery.d.ts +0 -10
  1284. package/dist/plugin-sdk/src/cron/graph-context.d.ts +0 -45
  1285. package/dist/plugin-sdk/src/cron/legacy-delivery.d.ts +0 -3
  1286. package/dist/plugin-sdk/src/cron/normalize.d.ts +0 -9
  1287. package/dist/plugin-sdk/src/cron/parse.d.ts +0 -1
  1288. package/dist/plugin-sdk/src/cron/payload-migration.d.ts +0 -3
  1289. package/dist/plugin-sdk/src/cron/run-detail-format.d.ts +0 -28
  1290. package/dist/plugin-sdk/src/cron/run-detail.d.ts +0 -95
  1291. package/dist/plugin-sdk/src/cron/run-log.d.ts +0 -65
  1292. package/dist/plugin-sdk/src/cron/schedule.d.ts +0 -2
  1293. package/dist/plugin-sdk/src/cron/service/jobs.d.ts +0 -23
  1294. package/dist/plugin-sdk/src/cron/service/locked.d.ts +0 -2
  1295. package/dist/plugin-sdk/src/cron/service/normalize.d.ts +0 -18
  1296. package/dist/plugin-sdk/src/cron/service/ops.d.ts +0 -152
  1297. package/dist/plugin-sdk/src/cron/service/run-lease.d.ts +0 -15
  1298. package/dist/plugin-sdk/src/cron/service/state.d.ts +0 -154
  1299. package/dist/plugin-sdk/src/cron/service/store.d.ts +0 -9
  1300. package/dist/plugin-sdk/src/cron/service/timeout-policy.d.ts +0 -13
  1301. package/dist/plugin-sdk/src/cron/service/timer.d.ts +0 -80
  1302. package/dist/plugin-sdk/src/cron/service.d.ts +0 -122
  1303. package/dist/plugin-sdk/src/cron/session-reaper.d.ts +0 -35
  1304. package/dist/plugin-sdk/src/cron/stagger.d.ts +0 -8
  1305. package/dist/plugin-sdk/src/cron/store.d.ts +0 -6
  1306. package/dist/plugin-sdk/src/cron/task-adaptive-routing.d.ts +0 -21
  1307. package/dist/plugin-sdk/src/cron/task-evaluator.d.ts +0 -28
  1308. package/dist/plugin-sdk/src/cron/task-model-roles.d.ts +0 -21
  1309. package/dist/plugin-sdk/src/cron/task-planner.d.ts +0 -37
  1310. package/dist/plugin-sdk/src/cron/task-run-queue.d.ts +0 -270
  1311. package/dist/plugin-sdk/src/cron/trusted-sources.d.ts +0 -28
  1312. package/dist/plugin-sdk/src/cron/types.d.ts +0 -673
  1313. package/dist/plugin-sdk/src/cron/webhook-url.d.ts +0 -1
  1314. package/dist/plugin-sdk/src/daemon/arg-split.d.ts +0 -4
  1315. package/dist/plugin-sdk/src/daemon/cmd-argv.d.ts +0 -3
  1316. package/dist/plugin-sdk/src/daemon/cmd-set.d.ts +0 -7
  1317. package/dist/plugin-sdk/src/daemon/constants.d.ts +0 -63
  1318. package/dist/plugin-sdk/src/daemon/diagnostics.d.ts +0 -1
  1319. package/dist/plugin-sdk/src/daemon/exec-file.d.ts +0 -7
  1320. package/dist/plugin-sdk/src/daemon/launchd-plist.d.ts +0 -15
  1321. package/dist/plugin-sdk/src/daemon/launchd.d.ts +0 -49
  1322. package/dist/plugin-sdk/src/daemon/node-service.d.ts +0 -2
  1323. package/dist/plugin-sdk/src/daemon/output.d.ts +0 -8
  1324. package/dist/plugin-sdk/src/daemon/paths.d.ts +0 -3
  1325. package/dist/plugin-sdk/src/daemon/runtime-binary.d.ts +0 -2
  1326. package/dist/plugin-sdk/src/daemon/runtime-parse.d.ts +0 -1
  1327. package/dist/plugin-sdk/src/daemon/schtasks-exec.d.ts +0 -5
  1328. package/dist/plugin-sdk/src/daemon/schtasks.d.ts +0 -18
  1329. package/dist/plugin-sdk/src/daemon/service-runtime.d.ts +0 -13
  1330. package/dist/plugin-sdk/src/daemon/service-types.d.ts +0 -32
  1331. package/dist/plugin-sdk/src/daemon/service.d.ts +0 -16
  1332. package/dist/plugin-sdk/src/daemon/systemd-linger.d.ts +0 -15
  1333. package/dist/plugin-sdk/src/daemon/systemd-system.d.ts +0 -28
  1334. package/dist/plugin-sdk/src/daemon/systemd-unit.d.ts +0 -7
  1335. package/dist/plugin-sdk/src/daemon/systemd.d.ts +0 -32
  1336. package/dist/plugin-sdk/src/discord/accounts.d.ts +0 -21
  1337. package/dist/plugin-sdk/src/discord/api.d.ts +0 -11
  1338. package/dist/plugin-sdk/src/discord/audit.d.ts +0 -29
  1339. package/dist/plugin-sdk/src/discord/chunk.d.ts +0 -20
  1340. package/dist/plugin-sdk/src/discord/client.d.ts +0 -21
  1341. package/dist/plugin-sdk/src/discord/components-registry.d.ts +0 -16
  1342. package/dist/plugin-sdk/src/discord/components.d.ts +0 -196
  1343. package/dist/plugin-sdk/src/discord/directory-live.d.ts +0 -4
  1344. package/dist/plugin-sdk/src/discord/draft-chunking.d.ts +0 -6
  1345. package/dist/plugin-sdk/src/discord/draft-stream.d.ts +0 -21
  1346. package/dist/plugin-sdk/src/discord/gateway-logging.d.ts +0 -8
  1347. package/dist/plugin-sdk/src/discord/guilds.d.ts +0 -6
  1348. package/dist/plugin-sdk/src/discord/monitor/agent-components.d.ts +0 -55
  1349. package/dist/plugin-sdk/src/discord/monitor/allow-list.d.ts +0 -176
  1350. package/dist/plugin-sdk/src/discord/monitor/commands.d.ts +0 -2
  1351. package/dist/plugin-sdk/src/discord/monitor/exec-approvals.d.ts +0 -55
  1352. package/dist/plugin-sdk/src/discord/monitor/format.d.ts +0 -13
  1353. package/dist/plugin-sdk/src/discord/monitor/gateway-error-guard.d.ts +0 -6
  1354. package/dist/plugin-sdk/src/discord/monitor/gateway-plugin.d.ts +0 -8
  1355. package/dist/plugin-sdk/src/discord/monitor/gateway-registry.d.ts +0 -9
  1356. package/dist/plugin-sdk/src/discord/monitor/listeners.d.ts +0 -50
  1357. package/dist/plugin-sdk/src/discord/monitor/message-handler.d.ts +0 -5
  1358. package/dist/plugin-sdk/src/discord/monitor/message-handler.preflight.d.ts +0 -14
  1359. package/dist/plugin-sdk/src/discord/monitor/message-handler.preflight.types.d.ts +0 -96
  1360. package/dist/plugin-sdk/src/discord/monitor/message-handler.process.d.ts +0 -2
  1361. package/dist/plugin-sdk/src/discord/monitor/message-utils.d.ts +0 -44
  1362. package/dist/plugin-sdk/src/discord/monitor/model-picker-preferences.d.ts +0 -18
  1363. package/dist/plugin-sdk/src/discord/monitor/model-picker.d.ts +0 -117
  1364. package/dist/plugin-sdk/src/discord/monitor/native-command.d.ts +0 -26
  1365. package/dist/plugin-sdk/src/discord/monitor/presence-cache.d.ts +0 -9
  1366. package/dist/plugin-sdk/src/discord/monitor/presence.d.ts +0 -5
  1367. package/dist/plugin-sdk/src/discord/monitor/provider.allowlist.d.ts +0 -14
  1368. package/dist/plugin-sdk/src/discord/monitor/provider.d.ts +0 -34
  1369. package/dist/plugin-sdk/src/discord/monitor/provider.lifecycle.d.ts +0 -28
  1370. package/dist/plugin-sdk/src/discord/monitor/reply-context.d.ts +0 -17
  1371. package/dist/plugin-sdk/src/discord/monitor/reply-delivery.d.ts +0 -37
  1372. package/dist/plugin-sdk/src/discord/monitor/rest-fetch.d.ts +0 -2
  1373. package/dist/plugin-sdk/src/discord/monitor/sender-identity.d.ts +0 -31
  1374. package/dist/plugin-sdk/src/discord/monitor/system-events.d.ts +0 -2
  1375. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.config.d.ts +0 -11
  1376. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.d.ts +0 -8
  1377. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.discord-api.d.ts +0 -36
  1378. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.lifecycle.d.ts +0 -46
  1379. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.manager.d.ts +0 -18
  1380. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.messages.d.ts +0 -1
  1381. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.persona.d.ts +0 -6
  1382. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.state.d.ts +0 -80
  1383. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.types.d.ts +0 -77
  1384. package/dist/plugin-sdk/src/discord/monitor/threading.d.ts +0 -106
  1385. package/dist/plugin-sdk/src/discord/monitor/typing.d.ts +0 -5
  1386. package/dist/plugin-sdk/src/discord/monitor.d.ts +0 -10
  1387. package/dist/plugin-sdk/src/discord/monitor.gateway.d.ts +0 -12
  1388. package/dist/plugin-sdk/src/discord/pluralkit.d.ts +0 -26
  1389. package/dist/plugin-sdk/src/discord/probe.d.ts +0 -28
  1390. package/dist/plugin-sdk/src/discord/resolve-channels.d.ts +0 -15
  1391. package/dist/plugin-sdk/src/discord/resolve-users.d.ts +0 -14
  1392. package/dist/plugin-sdk/src/discord/send.channels.d.ts +0 -17
  1393. package/dist/plugin-sdk/src/discord/send.components.d.ts +0 -17
  1394. package/dist/plugin-sdk/src/discord/send.d.ts +0 -10
  1395. package/dist/plugin-sdk/src/discord/send.emojis-stickers.d.ts +0 -4
  1396. package/dist/plugin-sdk/src/discord/send.guild.d.ts +0 -24
  1397. package/dist/plugin-sdk/src/discord/send.messages.d.ts +0 -20
  1398. package/dist/plugin-sdk/src/discord/send.outbound.d.ts +0 -57
  1399. package/dist/plugin-sdk/src/discord/send.permissions.d.ts +0 -20
  1400. package/dist/plugin-sdk/src/discord/send.reactions.d.ts +0 -15
  1401. package/dist/plugin-sdk/src/discord/send.shared.d.ts +0 -85
  1402. package/dist/plugin-sdk/src/discord/send.types.d.ts +0 -144
  1403. package/dist/plugin-sdk/src/discord/targets.d.ts +0 -18
  1404. package/dist/plugin-sdk/src/discord/token.d.ts +0 -11
  1405. package/dist/plugin-sdk/src/discord/ui.d.ts +0 -19
  1406. package/dist/plugin-sdk/src/discord/voice/command.d.ts +0 -15
  1407. package/dist/plugin-sdk/src/discord/voice/manager.d.ts +0 -52
  1408. package/dist/plugin-sdk/src/discord/voice-message.d.ts +0 -50
  1409. package/dist/plugin-sdk/src/federation/access-token.d.ts +0 -34
  1410. package/dist/plugin-sdk/src/federation/attestation.d.ts +0 -37
  1411. package/dist/plugin-sdk/src/federation/auto-connect.d.ts +0 -103
  1412. package/dist/plugin-sdk/src/federation/marketplace-capability-adapter.d.ts +0 -31
  1413. package/dist/plugin-sdk/src/federation/marketplace-chat-command.d.ts +0 -13
  1414. package/dist/plugin-sdk/src/federation/marketplace-delivery.d.ts +0 -61
  1415. package/dist/plugin-sdk/src/federation/marketplace-direct-payment.d.ts +0 -36
  1416. package/dist/plugin-sdk/src/federation/marketplace-escrow.d.ts +0 -58
  1417. package/dist/plugin-sdk/src/federation/marketplace-service-kinds.d.ts +0 -23
  1418. package/dist/plugin-sdk/src/federation/marketplace-task-ledger.d.ts +0 -12
  1419. package/dist/plugin-sdk/src/federation/offers.d.ts +0 -258
  1420. package/dist/plugin-sdk/src/federation/runtime.d.ts +0 -14
  1421. package/dist/plugin-sdk/src/federation/settlement-evidence.d.ts +0 -27
  1422. package/dist/plugin-sdk/src/gateway/a2a-http.d.ts +0 -25
  1423. package/dist/plugin-sdk/src/gateway/a2a-settlement.d.ts +0 -36
  1424. package/dist/plugin-sdk/src/gateway/agent-event-assistant-text.d.ts +0 -2
  1425. package/dist/plugin-sdk/src/gateway/agent-prompt.d.ts +0 -6
  1426. package/dist/plugin-sdk/src/gateway/assistant-identity.d.ts +0 -13
  1427. package/dist/plugin-sdk/src/gateway/auth-rate-limit.d.ts +0 -67
  1428. package/dist/plugin-sdk/src/gateway/auth.d.ts +0 -63
  1429. package/dist/plugin-sdk/src/gateway/call.d.ts +0 -82
  1430. package/dist/plugin-sdk/src/gateway/canvas-capability.d.ts +0 -14
  1431. package/dist/plugin-sdk/src/gateway/chat-abort.d.ts +0 -70
  1432. package/dist/plugin-sdk/src/gateway/chat-sanitize.d.ts +0 -4
  1433. package/dist/plugin-sdk/src/gateway/client.d.ts +0 -66
  1434. package/dist/plugin-sdk/src/gateway/control-plane-audit.d.ts +0 -10
  1435. package/dist/plugin-sdk/src/gateway/control-ui-boot-check.d.ts +0 -22
  1436. package/dist/plugin-sdk/src/gateway/control-ui-contract.d.ts +0 -7
  1437. package/dist/plugin-sdk/src/gateway/control-ui-csp.d.ts +0 -1
  1438. package/dist/plugin-sdk/src/gateway/control-ui-login.d.ts +0 -115
  1439. package/dist/plugin-sdk/src/gateway/control-ui-shared.d.ts +0 -9
  1440. package/dist/plugin-sdk/src/gateway/control-ui.d.ts +0 -36
  1441. package/dist/plugin-sdk/src/gateway/credentials.d.ts +0 -34
  1442. package/dist/plugin-sdk/src/gateway/device-auth.d.ts +0 -17
  1443. package/dist/plugin-sdk/src/gateway/exec-approval-manager.d.ts +0 -38
  1444. package/dist/plugin-sdk/src/gateway/federation-http.d.ts +0 -7
  1445. package/dist/plugin-sdk/src/gateway/federation-marketplace.d.ts +0 -90
  1446. package/dist/plugin-sdk/src/gateway/fedify-http.d.ts +0 -5
  1447. package/dist/plugin-sdk/src/gateway/gateway-identity.d.ts +0 -5
  1448. package/dist/plugin-sdk/src/gateway/hooks-mapping.d.ts +0 -80
  1449. package/dist/plugin-sdk/src/gateway/hooks.d.ts +0 -102
  1450. package/dist/plugin-sdk/src/gateway/http-auth-helpers.d.ts +0 -11
  1451. package/dist/plugin-sdk/src/gateway/http-common.d.ts +0 -21
  1452. package/dist/plugin-sdk/src/gateway/http-endpoint-helpers.d.ts +0 -13
  1453. package/dist/plugin-sdk/src/gateway/http-utils.d.ts +0 -15
  1454. package/dist/plugin-sdk/src/gateway/internal-call-auth.d.ts +0 -3
  1455. package/dist/plugin-sdk/src/gateway/method-scopes.d.ts +0 -22
  1456. package/dist/plugin-sdk/src/gateway/mutating-admin-rpc-rate-limit.d.ts +0 -29
  1457. package/dist/plugin-sdk/src/gateway/net.d.ts +0 -83
  1458. package/dist/plugin-sdk/src/gateway/node-command-policy.d.ts +0 -14
  1459. package/dist/plugin-sdk/src/gateway/node-registry.d.ts +0 -60
  1460. package/dist/plugin-sdk/src/gateway/open-responses.schema.d.ts +0 -765
  1461. package/dist/plugin-sdk/src/gateway/openai-http.d.ts +0 -12
  1462. package/dist/plugin-sdk/src/gateway/openresponses-http.d.ts +0 -21
  1463. package/dist/plugin-sdk/src/gateway/openresponses-prompt.d.ts +0 -5
  1464. package/dist/plugin-sdk/src/gateway/probe-auth.d.ts +0 -9
  1465. package/dist/plugin-sdk/src/gateway/probe.d.ts +0 -26
  1466. package/dist/plugin-sdk/src/gateway/protocol/client-info.d.ts +0 -58
  1467. package/dist/plugin-sdk/src/gateway/protocol/index.d.ts +0 -1048
  1468. package/dist/plugin-sdk/src/gateway/protocol/schema/agent.d.ts +0 -91
  1469. package/dist/plugin-sdk/src/gateway/protocol/schema/agents-models-skills.d.ts +0 -1400
  1470. package/dist/plugin-sdk/src/gateway/protocol/schema/channels.d.ts +0 -158
  1471. package/dist/plugin-sdk/src/gateway/protocol/schema/commands.d.ts +0 -68
  1472. package/dist/plugin-sdk/src/gateway/protocol/schema/config.d.ts +0 -115
  1473. package/dist/plugin-sdk/src/gateway/protocol/schema/cron.d.ts +0 -1551
  1474. package/dist/plugin-sdk/src/gateway/protocol/schema/devices.d.ts +0 -42
  1475. package/dist/plugin-sdk/src/gateway/protocol/schema/error-codes.d.ts +0 -15
  1476. package/dist/plugin-sdk/src/gateway/protocol/schema/exec-approvals.d.ts +0 -182
  1477. package/dist/plugin-sdk/src/gateway/protocol/schema/frames.d.ts +0 -168
  1478. package/dist/plugin-sdk/src/gateway/protocol/schema/logs-chat.d.ts +0 -45
  1479. package/dist/plugin-sdk/src/gateway/protocol/schema/nodes.d.ts +0 -85
  1480. package/dist/plugin-sdk/src/gateway/protocol/schema/primitives.d.ts +0 -4
  1481. package/dist/plugin-sdk/src/gateway/protocol/schema/protocol-schemas.d.ts +0 -3
  1482. package/dist/plugin-sdk/src/gateway/protocol/schema/push.d.ts +0 -15
  1483. package/dist/plugin-sdk/src/gateway/protocol/schema/sessions.d.ts +0 -134
  1484. package/dist/plugin-sdk/src/gateway/protocol/schema/snapshot.d.ts +0 -69
  1485. package/dist/plugin-sdk/src/gateway/protocol/schema/types.d.ts +0 -245
  1486. package/dist/plugin-sdk/src/gateway/protocol/schema/wizard.d.ts +0 -86
  1487. package/dist/plugin-sdk/src/gateway/protocol/schema.d.ts +0 -18
  1488. package/dist/plugin-sdk/src/gateway/security-path.d.ts +0 -15
  1489. package/dist/plugin-sdk/src/gateway/server/readiness.d.ts +0 -6
  1490. package/dist/plugin-sdk/src/gateway/server/ws-types.d.ts +0 -12
  1491. package/dist/plugin-sdk/src/gateway/server-broadcast.d.ts +0 -17
  1492. package/dist/plugin-sdk/src/gateway/server-channels.d.ts +0 -26
  1493. package/dist/plugin-sdk/src/gateway/server-constants.d.ts +0 -10
  1494. package/dist/plugin-sdk/src/gateway/server-http.d.ts +0 -131
  1495. package/dist/plugin-sdk/src/gateway/server-methods/commands.d.ts +0 -11
  1496. package/dist/plugin-sdk/src/gateway/server-methods/mutating-admin-rpc-audit.d.ts +0 -41
  1497. package/dist/plugin-sdk/src/gateway/server-methods/nodes.helpers.d.ts +0 -20
  1498. package/dist/plugin-sdk/src/gateway/server-methods/push.d.ts +0 -2
  1499. package/dist/plugin-sdk/src/gateway/server-methods/types.d.ts +0 -106
  1500. package/dist/plugin-sdk/src/gateway/server-model-catalog.d.ts +0 -17
  1501. package/dist/plugin-sdk/src/gateway/server-shared.d.ts +0 -7
  1502. package/dist/plugin-sdk/src/gateway/server-startup-readiness.d.ts +0 -21
  1503. package/dist/plugin-sdk/src/gateway/server-startup-trace.d.ts +0 -29
  1504. package/dist/plugin-sdk/src/gateway/session-compaction-checkpoints.d.ts +0 -24
  1505. package/dist/plugin-sdk/src/gateway/session-utils.d.ts +0 -80
  1506. package/dist/plugin-sdk/src/gateway/session-utils.fs.d.ts +0 -48
  1507. package/dist/plugin-sdk/src/gateway/session-utils.types.d.ts +0 -106
  1508. package/dist/plugin-sdk/src/gateway/tools-invoke-http.d.ts +0 -10
  1509. package/dist/plugin-sdk/src/gateway/update-status.d.ts +0 -27
  1510. package/dist/plugin-sdk/src/gateway/ws-log.d.ts +0 -5
  1511. package/dist/plugin-sdk/src/gateway/ws-logging.d.ts +0 -4
  1512. package/dist/plugin-sdk/src/globals.d.ts +0 -11
  1513. package/dist/plugin-sdk/src/hooks/config.d.ts +0 -11
  1514. package/dist/plugin-sdk/src/hooks/frontmatter.d.ts +0 -5
  1515. package/dist/plugin-sdk/src/hooks/internal-hooks.d.ts +0 -155
  1516. package/dist/plugin-sdk/src/hooks/module-loader.d.ts +0 -18
  1517. package/dist/plugin-sdk/src/hooks/types.d.ts +0 -62
  1518. package/dist/plugin-sdk/src/image-generation/types.d.ts +0 -74
  1519. package/dist/plugin-sdk/src/imessage/accounts.d.ts +0 -16
  1520. package/dist/plugin-sdk/src/imessage/client.d.ts +0 -46
  1521. package/dist/plugin-sdk/src/imessage/constants.d.ts +0 -2
  1522. package/dist/plugin-sdk/src/imessage/monitor/abort-handler.d.ts +0 -9
  1523. package/dist/plugin-sdk/src/imessage/monitor/deliver.d.ts +0 -14
  1524. package/dist/plugin-sdk/src/imessage/monitor/echo-cache.d.ts +0 -9
  1525. package/dist/plugin-sdk/src/imessage/monitor/inbound-processing.d.ts +0 -96
  1526. package/dist/plugin-sdk/src/imessage/monitor/monitor-provider.d.ts +0 -7
  1527. package/dist/plugin-sdk/src/imessage/monitor/parse-notification.d.ts +0 -2
  1528. package/dist/plugin-sdk/src/imessage/monitor/runtime.d.ts +0 -4
  1529. package/dist/plugin-sdk/src/imessage/monitor/types.d.ts +0 -37
  1530. package/dist/plugin-sdk/src/imessage/monitor.d.ts +0 -2
  1531. package/dist/plugin-sdk/src/imessage/probe.d.ts +0 -17
  1532. package/dist/plugin-sdk/src/imessage/send.d.ts +0 -34
  1533. package/dist/plugin-sdk/src/imessage/target-parsing-helpers.d.ts +0 -45
  1534. package/dist/plugin-sdk/src/imessage/targets.d.ts +0 -40
  1535. package/dist/plugin-sdk/src/infra/abort-signal.d.ts +0 -1
  1536. package/dist/plugin-sdk/src/infra/agent-events.d.ts +0 -24
  1537. package/dist/plugin-sdk/src/infra/archive-path.d.ts +0 -12
  1538. package/dist/plugin-sdk/src/infra/archive.d.ts +0 -46
  1539. package/dist/plugin-sdk/src/infra/backoff.d.ts +0 -8
  1540. package/dist/plugin-sdk/src/infra/binaries.d.ts +0 -3
  1541. package/dist/plugin-sdk/src/infra/boundary-file-read.d.ts +0 -33
  1542. package/dist/plugin-sdk/src/infra/boundary-path.d.ts +0 -38
  1543. package/dist/plugin-sdk/src/infra/brew.d.ts +0 -8
  1544. package/dist/plugin-sdk/src/infra/channel-activity.d.ts +0 -18
  1545. package/dist/plugin-sdk/src/infra/channel-summary.d.ts +0 -6
  1546. package/dist/plugin-sdk/src/infra/channels-status-issues.d.ts +0 -2
  1547. package/dist/plugin-sdk/src/infra/clawhub.d.ts +0 -1
  1548. package/dist/plugin-sdk/src/infra/control-ui-assets.d.ts +0 -32
  1549. package/dist/plugin-sdk/src/infra/dedupe.d.ts +0 -12
  1550. package/dist/plugin-sdk/src/infra/detect-package-manager.d.ts +0 -2
  1551. package/dist/plugin-sdk/src/infra/device-auth-store.d.ts +0 -19
  1552. package/dist/plugin-sdk/src/infra/device-identity.d.ts +0 -13
  1553. package/dist/plugin-sdk/src/infra/device-pairing.d.ts +0 -103
  1554. package/dist/plugin-sdk/src/infra/diagnostic-events.d.ts +0 -140
  1555. package/dist/plugin-sdk/src/infra/diagnostic-flags.d.ts +0 -4
  1556. package/dist/plugin-sdk/src/infra/dotenv.d.ts +0 -13
  1557. package/dist/plugin-sdk/src/infra/env.d.ts +0 -11
  1558. package/dist/plugin-sdk/src/infra/errors.d.ts +0 -11
  1559. package/dist/plugin-sdk/src/infra/exec-approval-reply.d.ts +0 -11
  1560. package/dist/plugin-sdk/src/infra/exec-approval-surface.d.ts +0 -38
  1561. package/dist/plugin-sdk/src/infra/exec-approvals-allowlist.d.ts +0 -69
  1562. package/dist/plugin-sdk/src/infra/exec-approvals-analysis.d.ts +0 -78
  1563. package/dist/plugin-sdk/src/infra/exec-approvals.d.ts +0 -147
  1564. package/dist/plugin-sdk/src/infra/exec-command-resolution.d.ts +0 -45
  1565. package/dist/plugin-sdk/src/infra/exec-obfuscation-detect.d.ts +0 -12
  1566. package/dist/plugin-sdk/src/infra/exec-safe-bin-policy-profiles.d.ts +0 -24
  1567. package/dist/plugin-sdk/src/infra/exec-safe-bin-policy-validator.d.ts +0 -2
  1568. package/dist/plugin-sdk/src/infra/exec-safe-bin-policy.d.ts +0 -2
  1569. package/dist/plugin-sdk/src/infra/exec-safe-bin-runtime-policy.d.ts +0 -25
  1570. package/dist/plugin-sdk/src/infra/exec-safe-bin-trust.d.ts +0 -23
  1571. package/dist/plugin-sdk/src/infra/exec-safety.d.ts +0 -1
  1572. package/dist/plugin-sdk/src/infra/exec-wrapper-resolution.d.ts +0 -48
  1573. package/dist/plugin-sdk/src/infra/fased-exec-env.d.ts +0 -1
  1574. package/dist/plugin-sdk/src/infra/fased-root.d.ts +0 -10
  1575. package/dist/plugin-sdk/src/infra/fasedhub.d.ts +0 -114
  1576. package/dist/plugin-sdk/src/infra/fetch-headers.d.ts +0 -4
  1577. package/dist/plugin-sdk/src/infra/fetch.d.ts +0 -2
  1578. package/dist/plugin-sdk/src/infra/file-identity.d.ts +0 -5
  1579. package/dist/plugin-sdk/src/infra/file-lock.d.ts +0 -2
  1580. package/dist/plugin-sdk/src/infra/format-time/format-datetime.d.ts +0 -35
  1581. package/dist/plugin-sdk/src/infra/format-time/format-duration.d.ts +0 -23
  1582. package/dist/plugin-sdk/src/infra/format-time/format-relative.d.ts +0 -39
  1583. package/dist/plugin-sdk/src/infra/fs-safe.d.ts +0 -43
  1584. package/dist/plugin-sdk/src/infra/gemini-auth.d.ts +0 -16
  1585. package/dist/plugin-sdk/src/infra/git-commit.d.ts +0 -4
  1586. package/dist/plugin-sdk/src/infra/git-root.d.ts +0 -7
  1587. package/dist/plugin-sdk/src/infra/hardlink-guards.d.ts +0 -6
  1588. package/dist/plugin-sdk/src/infra/heartbeat-active-hours.d.ts +0 -5
  1589. package/dist/plugin-sdk/src/infra/heartbeat-events-filter.d.ts +0 -8
  1590. package/dist/plugin-sdk/src/infra/heartbeat-events.d.ts +0 -21
  1591. package/dist/plugin-sdk/src/infra/heartbeat-reason.d.ts +0 -5
  1592. package/dist/plugin-sdk/src/infra/heartbeat-runner.d.ts +0 -46
  1593. package/dist/plugin-sdk/src/infra/heartbeat-visibility.d.ts +0 -17
  1594. package/dist/plugin-sdk/src/infra/heartbeat-wake.d.ts +0 -32
  1595. package/dist/plugin-sdk/src/infra/home-dir.d.ts +0 -7
  1596. package/dist/plugin-sdk/src/infra/host-env-security.d.ts +0 -26
  1597. package/dist/plugin-sdk/src/infra/http-body.d.ts +0 -46
  1598. package/dist/plugin-sdk/src/infra/install-flow.d.ts +0 -24
  1599. package/dist/plugin-sdk/src/infra/install-mode-options.d.ts +0 -20
  1600. package/dist/plugin-sdk/src/infra/install-package-dir.d.ts +0 -19
  1601. package/dist/plugin-sdk/src/infra/install-safe-path.d.ts +0 -14
  1602. package/dist/plugin-sdk/src/infra/install-source-utils.d.ts +0 -32
  1603. package/dist/plugin-sdk/src/infra/json-file.d.ts +0 -2
  1604. package/dist/plugin-sdk/src/infra/json-files.d.ts +0 -5
  1605. package/dist/plugin-sdk/src/infra/jsonl-socket.d.ts +0 -6
  1606. package/dist/plugin-sdk/src/infra/machine-name.d.ts +0 -1
  1607. package/dist/plugin-sdk/src/infra/map-size.d.ts +0 -1
  1608. package/dist/plugin-sdk/src/infra/net/fetch-guard.d.ts +0 -28
  1609. package/dist/plugin-sdk/src/infra/net/hostname.d.ts +0 -1
  1610. package/dist/plugin-sdk/src/infra/net/ssrf.d.ts +0 -35
  1611. package/dist/plugin-sdk/src/infra/node-commands.d.ts +0 -4
  1612. package/dist/plugin-sdk/src/infra/node-pairing.d.ts +0 -65
  1613. package/dist/plugin-sdk/src/infra/node-shell.d.ts +0 -1
  1614. package/dist/plugin-sdk/src/infra/npm-integrity.d.ts +0 -38
  1615. package/dist/plugin-sdk/src/infra/npm-pack-install.d.ts +0 -56
  1616. package/dist/plugin-sdk/src/infra/npm-registry-spec.d.ts +0 -1
  1617. package/dist/plugin-sdk/src/infra/optional-runtime-dependency.d.ts +0 -6
  1618. package/dist/plugin-sdk/src/infra/os-summary.d.ts +0 -7
  1619. package/dist/plugin-sdk/src/infra/outbound/abort.d.ts +0 -8
  1620. package/dist/plugin-sdk/src/infra/outbound/agent-delivery.d.ts +0 -46
  1621. package/dist/plugin-sdk/src/infra/outbound/best-effort-delivery.d.ts +0 -13
  1622. package/dist/plugin-sdk/src/infra/outbound/bound-delivery-router.d.ts +0 -16
  1623. package/dist/plugin-sdk/src/infra/outbound/channel-adapters.d.ts +0 -15
  1624. package/dist/plugin-sdk/src/infra/outbound/channel-adapters.discord.d.ts +0 -2
  1625. package/dist/plugin-sdk/src/infra/outbound/channel-resolution.d.ts +0 -8
  1626. package/dist/plugin-sdk/src/infra/outbound/channel-selection.d.ts +0 -11
  1627. package/dist/plugin-sdk/src/infra/outbound/channel-target.d.ts +0 -6
  1628. package/dist/plugin-sdk/src/infra/outbound/conversation-id.d.ts +0 -4
  1629. package/dist/plugin-sdk/src/infra/outbound/deliver.d.ts +0 -80
  1630. package/dist/plugin-sdk/src/infra/outbound/delivery-queue.d.ts +0 -85
  1631. package/dist/plugin-sdk/src/infra/outbound/directory-cache.d.ts +0 -24
  1632. package/dist/plugin-sdk/src/infra/outbound/envelope.d.ts +0 -16
  1633. package/dist/plugin-sdk/src/infra/outbound/format.d.ts +0 -41
  1634. package/dist/plugin-sdk/src/infra/outbound/identity.d.ts +0 -8
  1635. package/dist/plugin-sdk/src/infra/outbound/message-action-params.d.ts +0 -54
  1636. package/dist/plugin-sdk/src/infra/outbound/message-action-runner.d.ts +0 -81
  1637. package/dist/plugin-sdk/src/infra/outbound/message-action-spec.d.ts +0 -5
  1638. package/dist/plugin-sdk/src/infra/outbound/message.d.ts +0 -87
  1639. package/dist/plugin-sdk/src/infra/outbound/outbound-policy.d.ts +0 -32
  1640. package/dist/plugin-sdk/src/infra/outbound/outbound-send-service.d.ts +0 -74
  1641. package/dist/plugin-sdk/src/infra/outbound/outbound-session.d.ts +0 -31
  1642. package/dist/plugin-sdk/src/infra/outbound/payloads.d.ts +0 -18
  1643. package/dist/plugin-sdk/src/infra/outbound/session-binding-service.d.ts +0 -89
  1644. package/dist/plugin-sdk/src/infra/outbound/session-context.d.ts +0 -12
  1645. package/dist/plugin-sdk/src/infra/outbound/target-errors.d.ts +0 -6
  1646. package/dist/plugin-sdk/src/infra/outbound/target-normalization.d.ts +0 -4
  1647. package/dist/plugin-sdk/src/infra/outbound/target-resolver.d.ts +0 -53
  1648. package/dist/plugin-sdk/src/infra/outbound/targets.d.ts +0 -87
  1649. package/dist/plugin-sdk/src/infra/outbound/tool-payload.d.ts +0 -2
  1650. package/dist/plugin-sdk/src/infra/pairing-files.d.ts +0 -23
  1651. package/dist/plugin-sdk/src/infra/pairing-pending.d.ts +0 -13
  1652. package/dist/plugin-sdk/src/infra/pairing-token.d.ts +0 -3
  1653. package/dist/plugin-sdk/src/infra/path-alias-guards.d.ts +0 -18
  1654. package/dist/plugin-sdk/src/infra/path-guards.d.ts +0 -5
  1655. package/dist/plugin-sdk/src/infra/path-prepend.d.ts +0 -6
  1656. package/dist/plugin-sdk/src/infra/path-safety.d.ts +0 -2
  1657. package/dist/plugin-sdk/src/infra/plain-object.d.ts +0 -4
  1658. package/dist/plugin-sdk/src/infra/ports-format.d.ts +0 -5
  1659. package/dist/plugin-sdk/src/infra/ports-inspect.d.ts +0 -2
  1660. package/dist/plugin-sdk/src/infra/ports-lsof.d.ts +0 -2
  1661. package/dist/plugin-sdk/src/infra/ports-probe.d.ts +0 -5
  1662. package/dist/plugin-sdk/src/infra/ports-types.d.ts +0 -18
  1663. package/dist/plugin-sdk/src/infra/ports.d.ts +0 -14
  1664. package/dist/plugin-sdk/src/infra/prototype-keys.d.ts +0 -1
  1665. package/dist/plugin-sdk/src/infra/provider-usage.auth.d.ts +0 -11
  1666. package/dist/plugin-sdk/src/infra/provider-usage.d.ts +0 -4
  1667. package/dist/plugin-sdk/src/infra/provider-usage.fetch.claude.d.ts +0 -2
  1668. package/dist/plugin-sdk/src/infra/provider-usage.fetch.codex.d.ts +0 -2
  1669. package/dist/plugin-sdk/src/infra/provider-usage.fetch.copilot.d.ts +0 -2
  1670. package/dist/plugin-sdk/src/infra/provider-usage.fetch.d.ts +0 -6
  1671. package/dist/plugin-sdk/src/infra/provider-usage.fetch.gemini.d.ts +0 -2
  1672. package/dist/plugin-sdk/src/infra/provider-usage.fetch.minimax.d.ts +0 -2
  1673. package/dist/plugin-sdk/src/infra/provider-usage.fetch.shared.d.ts +0 -12
  1674. package/dist/plugin-sdk/src/infra/provider-usage.fetch.zai.d.ts +0 -2
  1675. package/dist/plugin-sdk/src/infra/provider-usage.format.d.ts +0 -13
  1676. package/dist/plugin-sdk/src/infra/provider-usage.load.d.ts +0 -12
  1677. package/dist/plugin-sdk/src/infra/provider-usage.shared.d.ts +0 -8
  1678. package/dist/plugin-sdk/src/infra/provider-usage.types.d.ts +0 -17
  1679. package/dist/plugin-sdk/src/infra/push-apns.d.ts +0 -83
  1680. package/dist/plugin-sdk/src/infra/restart-sentinel.d.ts +0 -50
  1681. package/dist/plugin-sdk/src/infra/restart-stale-pids.d.ts +0 -13
  1682. package/dist/plugin-sdk/src/infra/restart.d.ts +0 -72
  1683. package/dist/plugin-sdk/src/infra/retry-policy.d.ts +0 -25
  1684. package/dist/plugin-sdk/src/infra/retry.d.ts +0 -21
  1685. package/dist/plugin-sdk/src/infra/runtime-guard.d.ts +0 -21
  1686. package/dist/plugin-sdk/src/infra/runtime-status.d.ts +0 -8
  1687. package/dist/plugin-sdk/src/infra/safe-open-sync.d.ts +0 -23
  1688. package/dist/plugin-sdk/src/infra/scp-host.d.ts +0 -2
  1689. package/dist/plugin-sdk/src/infra/secure-random.d.ts +0 -2
  1690. package/dist/plugin-sdk/src/infra/session-cost-usage.d.ts +0 -45
  1691. package/dist/plugin-sdk/src/infra/session-cost-usage.types.d.ts +0 -153
  1692. package/dist/plugin-sdk/src/infra/session-maintenance-warning.d.ts +0 -10
  1693. package/dist/plugin-sdk/src/infra/shell-env.d.ts +0 -34
  1694. package/dist/plugin-sdk/src/infra/skills-remote.d.ts +0 -25
  1695. package/dist/plugin-sdk/src/infra/system-events.d.ts +0 -20
  1696. package/dist/plugin-sdk/src/infra/system-message.d.ts +0 -3
  1697. package/dist/plugin-sdk/src/infra/system-presence.d.ts +0 -45
  1698. package/dist/plugin-sdk/src/infra/system-run-command.d.ts +0 -30
  1699. package/dist/plugin-sdk/src/infra/tailnet.d.ts +0 -7
  1700. package/dist/plugin-sdk/src/infra/tailscale.d.ts +0 -34
  1701. package/dist/plugin-sdk/src/infra/tls/fingerprint.d.ts +0 -1
  1702. package/dist/plugin-sdk/src/infra/tls/gateway.d.ts +0 -16
  1703. package/dist/plugin-sdk/src/infra/tmp-fased-dir.d.ts +0 -20
  1704. package/dist/plugin-sdk/src/infra/transport-ready.d.ts +0 -16
  1705. package/dist/plugin-sdk/src/infra/unhandled-rejections.d.ts +0 -15
  1706. package/dist/plugin-sdk/src/infra/update-channels.d.ts +0 -36
  1707. package/dist/plugin-sdk/src/infra/update-check.d.ts +0 -69
  1708. package/dist/plugin-sdk/src/infra/update-global.d.ts +0 -29
  1709. package/dist/plugin-sdk/src/infra/warning-filter.d.ts +0 -7
  1710. package/dist/plugin-sdk/src/infra/ws.d.ts +0 -2
  1711. package/dist/plugin-sdk/src/infra/wsl.d.ts +0 -11
  1712. package/dist/plugin-sdk/src/line/accounts.d.ts +0 -10
  1713. package/dist/plugin-sdk/src/line/actions.d.ts +0 -22
  1714. package/dist/plugin-sdk/src/line/auto-reply-delivery.d.ts +0 -38
  1715. package/dist/plugin-sdk/src/line/bot-access.d.ts +0 -17
  1716. package/dist/plugin-sdk/src/line/bot-handlers.d.ts +0 -13
  1717. package/dist/plugin-sdk/src/line/bot-message-context.d.ts +0 -118
  1718. package/dist/plugin-sdk/src/line/bot.d.ts +0 -24
  1719. package/dist/plugin-sdk/src/line/channel-access-token.d.ts +0 -4
  1720. package/dist/plugin-sdk/src/line/config-schema.d.ts +0 -64
  1721. package/dist/plugin-sdk/src/line/download.d.ts +0 -7
  1722. package/dist/plugin-sdk/src/line/flex-templates/basic-cards.d.ts +0 -46
  1723. package/dist/plugin-sdk/src/line/flex-templates/common.d.ts +0 -2
  1724. package/dist/plugin-sdk/src/line/flex-templates/media-control-cards.d.ts +0 -73
  1725. package/dist/plugin-sdk/src/line/flex-templates/message.d.ts +0 -6
  1726. package/dist/plugin-sdk/src/line/flex-templates/schedule-cards.d.ts +0 -55
  1727. package/dist/plugin-sdk/src/line/flex-templates/types.d.ts +0 -19
  1728. package/dist/plugin-sdk/src/line/flex-templates.d.ts +0 -5
  1729. package/dist/plugin-sdk/src/line/logging.d.ts +0 -2
  1730. package/dist/plugin-sdk/src/line/markdown-to-line.d.ts +0 -72
  1731. package/dist/plugin-sdk/src/line/monitor.d.ts +0 -28
  1732. package/dist/plugin-sdk/src/line/probe.d.ts +0 -2
  1733. package/dist/plugin-sdk/src/line/reply-chunks.d.ts +0 -24
  1734. package/dist/plugin-sdk/src/line/send.d.ts +0 -91
  1735. package/dist/plugin-sdk/src/line/signature.d.ts +0 -1
  1736. package/dist/plugin-sdk/src/line/template-messages.d.ts +0 -100
  1737. package/dist/plugin-sdk/src/line/types.d.ts +0 -113
  1738. package/dist/plugin-sdk/src/line/webhook-node.d.ts +0 -15
  1739. package/dist/plugin-sdk/src/line/webhook-utils.d.ts +0 -3
  1740. package/dist/plugin-sdk/src/line/webhook.d.ts +0 -19
  1741. package/dist/plugin-sdk/src/link-understanding/apply.d.ts +0 -10
  1742. package/dist/plugin-sdk/src/link-understanding/defaults.d.ts +0 -2
  1743. package/dist/plugin-sdk/src/link-understanding/detect.d.ts +0 -3
  1744. package/dist/plugin-sdk/src/link-understanding/format.d.ts +0 -4
  1745. package/dist/plugin-sdk/src/link-understanding/runner.d.ts +0 -13
  1746. package/dist/plugin-sdk/src/logger.d.ts +0 -6
  1747. package/dist/plugin-sdk/src/logging/config.d.ts +0 -4
  1748. package/dist/plugin-sdk/src/logging/console.d.ts +0 -23
  1749. package/dist/plugin-sdk/src/logging/diagnostic-session-state.d.ts +0 -30
  1750. package/dist/plugin-sdk/src/logging/diagnostic-stability.d.ts +0 -85
  1751. package/dist/plugin-sdk/src/logging/diagnostic.d.ts +0 -65
  1752. package/dist/plugin-sdk/src/logging/env-log-level.d.ts +0 -2
  1753. package/dist/plugin-sdk/src/logging/levels.d.ts +0 -5
  1754. package/dist/plugin-sdk/src/logging/logger.d.ts +0 -44
  1755. package/dist/plugin-sdk/src/logging/node-require.d.ts +0 -1
  1756. package/dist/plugin-sdk/src/logging/redact-identifier.d.ts +0 -4
  1757. package/dist/plugin-sdk/src/logging/redact.d.ts +0 -9
  1758. package/dist/plugin-sdk/src/logging/state.d.ts +0 -19
  1759. package/dist/plugin-sdk/src/logging/subsystem.d.ts +0 -18
  1760. package/dist/plugin-sdk/src/logging/timestamps.d.ts +0 -1
  1761. package/dist/plugin-sdk/src/logging.d.ts +0 -10
  1762. package/dist/plugin-sdk/src/managed/federation.d.ts +0 -16
  1763. package/dist/plugin-sdk/src/markdown/code-spans.d.ts +0 -10
  1764. package/dist/plugin-sdk/src/markdown/fences.d.ts +0 -10
  1765. package/dist/plugin-sdk/src/markdown/frontmatter.d.ts +0 -2
  1766. package/dist/plugin-sdk/src/markdown/ir.d.ts +0 -32
  1767. package/dist/plugin-sdk/src/markdown/render.d.ts +0 -18
  1768. package/dist/plugin-sdk/src/markdown/tables.d.ts +0 -2
  1769. package/dist/plugin-sdk/src/markdown/whatsapp.d.ts +0 -14
  1770. package/dist/plugin-sdk/src/media/audio-tags.d.ts +0 -10
  1771. package/dist/plugin-sdk/src/media/audio.d.ts +0 -19
  1772. package/dist/plugin-sdk/src/media/base64.d.ts +0 -6
  1773. package/dist/plugin-sdk/src/media/constants.d.ts +0 -7
  1774. package/dist/plugin-sdk/src/media/fetch.d.ts +0 -24
  1775. package/dist/plugin-sdk/src/media/image-ops.d.ts +0 -41
  1776. package/dist/plugin-sdk/src/media/inbound-path-policy.d.ts +0 -18
  1777. package/dist/plugin-sdk/src/media/input-files.d.ts +0 -95
  1778. package/dist/plugin-sdk/src/media/local-roots.d.ts +0 -3
  1779. package/dist/plugin-sdk/src/media/mime.d.ts +0 -16
  1780. package/dist/plugin-sdk/src/media/outbound-attachment.d.ts +0 -6
  1781. package/dist/plugin-sdk/src/media/parse.d.ts +0 -8
  1782. package/dist/plugin-sdk/src/media/png-encode.d.ts +0 -8
  1783. package/dist/plugin-sdk/src/media/read-response-with-limit.d.ts +0 -7
  1784. package/dist/plugin-sdk/src/media/sniff-mime-from-base64.d.ts +0 -1
  1785. package/dist/plugin-sdk/src/media/store.d.ts +0 -33
  1786. package/dist/plugin-sdk/src/media-understanding/apply.d.ts +0 -19
  1787. package/dist/plugin-sdk/src/media-understanding/attachments.d.ts +0 -49
  1788. package/dist/plugin-sdk/src/media-understanding/audio-preflight.d.ts +0 -16
  1789. package/dist/plugin-sdk/src/media-understanding/concurrency.d.ts +0 -1
  1790. package/dist/plugin-sdk/src/media-understanding/defaults.d.ts +0 -14
  1791. package/dist/plugin-sdk/src/media-understanding/errors.d.ts +0 -6
  1792. package/dist/plugin-sdk/src/media-understanding/format.d.ts +0 -7
  1793. package/dist/plugin-sdk/src/media-understanding/fs.d.ts +0 -1
  1794. package/dist/plugin-sdk/src/media-understanding/output-extract.d.ts +0 -2
  1795. package/dist/plugin-sdk/src/media-understanding/providers/anthropic/index.d.ts +0 -2
  1796. package/dist/plugin-sdk/src/media-understanding/providers/deepgram/audio.d.ts +0 -4
  1797. package/dist/plugin-sdk/src/media-understanding/providers/deepgram/index.d.ts +0 -2
  1798. package/dist/plugin-sdk/src/media-understanding/providers/google/audio.d.ts +0 -3
  1799. package/dist/plugin-sdk/src/media-understanding/providers/google/index.d.ts +0 -2
  1800. package/dist/plugin-sdk/src/media-understanding/providers/google/inline-data.d.ts +0 -20
  1801. package/dist/plugin-sdk/src/media-understanding/providers/google/video.d.ts +0 -3
  1802. package/dist/plugin-sdk/src/media-understanding/providers/groq/index.d.ts +0 -2
  1803. package/dist/plugin-sdk/src/media-understanding/providers/image.d.ts +0 -2
  1804. package/dist/plugin-sdk/src/media-understanding/providers/index.d.ts +0 -4
  1805. package/dist/plugin-sdk/src/media-understanding/providers/minimax/index.d.ts +0 -2
  1806. package/dist/plugin-sdk/src/media-understanding/providers/mistral/index.d.ts +0 -2
  1807. package/dist/plugin-sdk/src/media-understanding/providers/moonshot/index.d.ts +0 -2
  1808. package/dist/plugin-sdk/src/media-understanding/providers/moonshot/video.d.ts +0 -3
  1809. package/dist/plugin-sdk/src/media-understanding/providers/openai/audio.d.ts +0 -3
  1810. package/dist/plugin-sdk/src/media-understanding/providers/openai/index.d.ts +0 -3
  1811. package/dist/plugin-sdk/src/media-understanding/providers/shared.d.ts +0 -20
  1812. package/dist/plugin-sdk/src/media-understanding/providers/zai/index.d.ts +0 -2
  1813. package/dist/plugin-sdk/src/media-understanding/resolve.d.ts +0 -44
  1814. package/dist/plugin-sdk/src/media-understanding/runner.d.ts +0 -39
  1815. package/dist/plugin-sdk/src/media-understanding/runner.entries.d.ts +0 -33
  1816. package/dist/plugin-sdk/src/media-understanding/scope.d.ts +0 -9
  1817. package/dist/plugin-sdk/src/media-understanding/types.d.ts +0 -93
  1818. package/dist/plugin-sdk/src/media-understanding/video.d.ts +0 -2
  1819. package/dist/plugin-sdk/src/memory/backend-config.d.ts +0 -55
  1820. package/dist/plugin-sdk/src/memory/batch-error-utils.d.ts +0 -15
  1821. package/dist/plugin-sdk/src/memory/batch-gemini.d.ts +0 -51
  1822. package/dist/plugin-sdk/src/memory/batch-http.d.ts +0 -8
  1823. package/dist/plugin-sdk/src/memory/batch-openai.d.ts +0 -20
  1824. package/dist/plugin-sdk/src/memory/batch-output.d.ts +0 -23
  1825. package/dist/plugin-sdk/src/memory/batch-provider-common.d.ts +0 -9
  1826. package/dist/plugin-sdk/src/memory/batch-runner.d.ts +0 -38
  1827. package/dist/plugin-sdk/src/memory/batch-upload.d.ts +0 -6
  1828. package/dist/plugin-sdk/src/memory/batch-utils.d.ts +0 -11
  1829. package/dist/plugin-sdk/src/memory/batch-voyage.d.ts +0 -21
  1830. package/dist/plugin-sdk/src/memory/embedding-chunk-limits.d.ts +0 -3
  1831. package/dist/plugin-sdk/src/memory/embedding-input-limits.d.ts +0 -2
  1832. package/dist/plugin-sdk/src/memory/embedding-model-limits.d.ts +0 -2
  1833. package/dist/plugin-sdk/src/memory/embeddings-debug.d.ts +0 -1
  1834. package/dist/plugin-sdk/src/memory/embeddings-gemini.d.ts +0 -16
  1835. package/dist/plugin-sdk/src/memory/embeddings-mistral.d.ts +0 -15
  1836. package/dist/plugin-sdk/src/memory/embeddings-openai.d.ts +0 -15
  1837. package/dist/plugin-sdk/src/memory/embeddings-remote-client.d.ts +0 -12
  1838. package/dist/plugin-sdk/src/memory/embeddings-remote-fetch.d.ts +0 -8
  1839. package/dist/plugin-sdk/src/memory/embeddings-remote-provider.d.ts +0 -21
  1840. package/dist/plugin-sdk/src/memory/embeddings-voyage.d.ts +0 -15
  1841. package/dist/plugin-sdk/src/memory/embeddings.d.ts +0 -48
  1842. package/dist/plugin-sdk/src/memory/filesystem-manager.d.ts +0 -38
  1843. package/dist/plugin-sdk/src/memory/fs-utils.d.ts +0 -11
  1844. package/dist/plugin-sdk/src/memory/hybrid.d.ts +0 -45
  1845. package/dist/plugin-sdk/src/memory/index.d.ts +0 -4
  1846. package/dist/plugin-sdk/src/memory/internal.d.ts +0 -38
  1847. package/dist/plugin-sdk/src/memory/inventory.d.ts +0 -150
  1848. package/dist/plugin-sdk/src/memory/manager-embedding-ops.d.ts +0 -42
  1849. package/dist/plugin-sdk/src/memory/manager-search.d.ts +0 -60
  1850. package/dist/plugin-sdk/src/memory/manager-sync-ops.d.ts +0 -137
  1851. package/dist/plugin-sdk/src/memory/manager.d.ts +0 -111
  1852. package/dist/plugin-sdk/src/memory/memory-schema.d.ts +0 -10
  1853. package/dist/plugin-sdk/src/memory/mmr.d.ts +0 -62
  1854. package/dist/plugin-sdk/src/memory/node-llama.d.ts +0 -8
  1855. package/dist/plugin-sdk/src/memory/post-json.d.ts +0 -10
  1856. package/dist/plugin-sdk/src/memory/qmd-manager.d.ts +0 -134
  1857. package/dist/plugin-sdk/src/memory/qmd-query-parser.d.ts +0 -9
  1858. package/dist/plugin-sdk/src/memory/qmd-scope.d.ts +0 -5
  1859. package/dist/plugin-sdk/src/memory/query-expansion.d.ts +0 -40
  1860. package/dist/plugin-sdk/src/memory/remote-http.d.ts +0 -9
  1861. package/dist/plugin-sdk/src/memory/repair-audit-plan.d.ts +0 -68
  1862. package/dist/plugin-sdk/src/memory/repair-cli-preview-contract.d.ts +0 -22
  1863. package/dist/plugin-sdk/src/memory/repair-contracts.d.ts +0 -80
  1864. package/dist/plugin-sdk/src/memory/repair-dashboard-preview-contract.d.ts +0 -65
  1865. package/dist/plugin-sdk/src/memory/repair-execution-policy.d.ts +0 -36
  1866. package/dist/plugin-sdk/src/memory/repair-execution-request-contract.d.ts +0 -43
  1867. package/dist/plugin-sdk/src/memory/repair-executor-fs-safety-contract.d.ts +0 -33
  1868. package/dist/plugin-sdk/src/memory/repair-executor-gate.d.ts +0 -27
  1869. package/dist/plugin-sdk/src/memory/repair-executor-lock-contract.d.ts +0 -40
  1870. package/dist/plugin-sdk/src/memory/repair-executor-result-contract.d.ts +0 -72
  1871. package/dist/plugin-sdk/src/memory/repair-executor.d.ts +0 -60
  1872. package/dist/plugin-sdk/src/memory/repair-preflight-cli-preview-contract.d.ts +0 -15
  1873. package/dist/plugin-sdk/src/memory/repair-preflight-dashboard-preview-contract.d.ts +0 -50
  1874. package/dist/plugin-sdk/src/memory/repair-preflight-pipeline-contract.d.ts +0 -35
  1875. package/dist/plugin-sdk/src/memory/search-manager.d.ts +0 -11
  1876. package/dist/plugin-sdk/src/memory/session-files.d.ts +0 -14
  1877. package/dist/plugin-sdk/src/memory/sqlite-vec.d.ts +0 -9
  1878. package/dist/plugin-sdk/src/memory/sqlite.d.ts +0 -1
  1879. package/dist/plugin-sdk/src/memory/status-format.d.ts +0 -28
  1880. package/dist/plugin-sdk/src/memory/temporal-decay.d.ts +0 -25
  1881. package/dist/plugin-sdk/src/memory/types.d.ts +0 -94
  1882. package/dist/plugin-sdk/src/mining/chat-command.d.ts +0 -19
  1883. package/dist/plugin-sdk/src/mining/mainnet-sync.d.ts +0 -32
  1884. package/dist/plugin-sdk/src/pairing/pairing-challenge.d.ts +0 -32
  1885. package/dist/plugin-sdk/src/pairing/pairing-labels.d.ts +0 -2
  1886. package/dist/plugin-sdk/src/pairing/pairing-messages.d.ts +0 -6
  1887. package/dist/plugin-sdk/src/pairing/pairing-store.d.ts +0 -50
  1888. package/dist/plugin-sdk/src/plugin-sdk/account-id.d.ts +0 -1
  1889. package/dist/plugin-sdk/src/plugin-sdk/agent-media-payload.d.ts +0 -12
  1890. package/dist/plugin-sdk/src/plugin-sdk/allow-from.d.ts +0 -32
  1891. package/dist/plugin-sdk/src/plugin-sdk/channel-core.d.ts +0 -18
  1892. package/dist/plugin-sdk/src/plugin-sdk/command-auth.d.ts +0 -27
  1893. package/dist/plugin-sdk/src/plugin-sdk/config-paths.d.ts +0 -6
  1894. package/dist/plugin-sdk/src/plugin-sdk/device-pair.d.ts +0 -5
  1895. package/dist/plugin-sdk/src/plugin-sdk/discord.d.ts +0 -10
  1896. package/dist/plugin-sdk/src/plugin-sdk/fetch-auth.d.ts +0 -13
  1897. package/dist/plugin-sdk/src/plugin-sdk/file-lock.d.ts +0 -16
  1898. package/dist/plugin-sdk/src/plugin-sdk/group-access.d.ts +0 -16
  1899. package/dist/plugin-sdk/src/plugin-sdk/image-generation.d.ts +0 -2
  1900. package/dist/plugin-sdk/src/plugin-sdk/index.d.ts +0 -163
  1901. package/dist/plugin-sdk/src/plugin-sdk/json-store.d.ts +0 -5
  1902. package/dist/plugin-sdk/src/plugin-sdk/onboarding.d.ts +0 -11
  1903. package/dist/plugin-sdk/src/plugin-sdk/pairing-access.d.ts +0 -18
  1904. package/dist/plugin-sdk/src/plugin-sdk/persistent-dedupe.d.ts +0 -20
  1905. package/dist/plugin-sdk/src/plugin-sdk/provider-auth-result.d.ts +0 -14
  1906. package/dist/plugin-sdk/src/plugin-sdk/realtime-transcription.d.ts +0 -3
  1907. package/dist/plugin-sdk/src/plugin-sdk/realtime-voice.d.ts +0 -3
  1908. package/dist/plugin-sdk/src/plugin-sdk/reply-payload.d.ts +0 -22
  1909. package/dist/plugin-sdk/src/plugin-sdk/run-command.d.ts +0 -12
  1910. package/dist/plugin-sdk/src/plugin-sdk/runtime.d.ts +0 -10
  1911. package/dist/plugin-sdk/src/plugin-sdk/sat-runtime.d.ts +0 -32
  1912. package/dist/plugin-sdk/src/plugin-sdk/slack-message-actions.d.ts +0 -11
  1913. package/dist/plugin-sdk/src/plugin-sdk/slack.d.ts +0 -9
  1914. package/dist/plugin-sdk/src/plugin-sdk/ssrf-policy.d.ts +0 -12
  1915. package/dist/plugin-sdk/src/plugin-sdk/status-helpers.d.ts +0 -88
  1916. package/dist/plugin-sdk/src/plugin-sdk/telegram.d.ts +0 -9
  1917. package/dist/plugin-sdk/src/plugin-sdk/temp-path.d.ts +0 -12
  1918. package/dist/plugin-sdk/src/plugin-sdk/text-chunking.d.ts +0 -1
  1919. package/dist/plugin-sdk/src/plugin-sdk/tool-send.d.ts +0 -4
  1920. package/dist/plugin-sdk/src/plugin-sdk/video-generation.d.ts +0 -4
  1921. package/dist/plugin-sdk/src/plugin-sdk/webhook-path.d.ts +0 -6
  1922. package/dist/plugin-sdk/src/plugin-sdk/webhook-targets.d.ts +0 -23
  1923. package/dist/plugin-sdk/src/plugin-sdk/whatsapp.d.ts +0 -11
  1924. package/dist/plugin-sdk/src/plugins/bundled-dir.d.ts +0 -7
  1925. package/dist/plugin-sdk/src/plugins/capability-provider-runtime.d.ts +0 -9
  1926. package/dist/plugin-sdk/src/plugins/commands.d.ts +0 -85
  1927. package/dist/plugin-sdk/src/plugins/config-schema.d.ts +0 -2
  1928. package/dist/plugin-sdk/src/plugins/config-state.d.ts +0 -86
  1929. package/dist/plugin-sdk/src/plugins/discovery.d.ts +0 -25
  1930. package/dist/plugin-sdk/src/plugins/hook-runner-global.d.ts +0 -37
  1931. package/dist/plugin-sdk/src/plugins/hooks.d.ts +0 -55
  1932. package/dist/plugin-sdk/src/plugins/http-path.d.ts +0 -1
  1933. package/dist/plugin-sdk/src/plugins/http-registry.d.ts +0 -13
  1934. package/dist/plugin-sdk/src/plugins/install.d.ts +0 -93
  1935. package/dist/plugin-sdk/src/plugins/loader.d.ts +0 -35
  1936. package/dist/plugin-sdk/src/plugins/logger.d.ts +0 -9
  1937. package/dist/plugin-sdk/src/plugins/manifest-registry.d.ts +0 -53
  1938. package/dist/plugin-sdk/src/plugins/manifest.d.ts +0 -136
  1939. package/dist/plugin-sdk/src/plugins/memory-embedding-providers.d.ts +0 -15
  1940. package/dist/plugin-sdk/src/plugins/min-host-version.d.ts +0 -28
  1941. package/dist/plugin-sdk/src/plugins/package-extensions.d.ts +0 -23
  1942. package/dist/plugin-sdk/src/plugins/path-safety.d.ts +0 -5
  1943. package/dist/plugin-sdk/src/plugins/provider-discovery.d.ts +0 -13
  1944. package/dist/plugin-sdk/src/plugins/provider-runtime.runtime.d.ts +0 -8
  1945. package/dist/plugin-sdk/src/plugins/providers.d.ts +0 -28
  1946. package/dist/plugin-sdk/src/plugins/registry.d.ts +0 -171
  1947. package/dist/plugin-sdk/src/plugins/runtime/admin-rpc-helper.d.ts +0 -71
  1948. package/dist/plugin-sdk/src/plugins/runtime/index.d.ts +0 -4
  1949. package/dist/plugin-sdk/src/plugins/runtime/native-deps.d.ts +0 -8
  1950. package/dist/plugin-sdk/src/plugins/runtime/scoped.d.ts +0 -6
  1951. package/dist/plugin-sdk/src/plugins/runtime/session-read-helper.d.ts +0 -115
  1952. package/dist/plugin-sdk/src/plugins/runtime/types.d.ts +0 -370
  1953. package/dist/plugin-sdk/src/plugins/runtime.d.ts +0 -6
  1954. package/dist/plugin-sdk/src/plugins/schema-validator.d.ts +0 -10
  1955. package/dist/plugin-sdk/src/plugins/slots.d.ts +0 -24
  1956. package/dist/plugin-sdk/src/plugins/tools.d.ts +0 -14
  1957. package/dist/plugin-sdk/src/plugins/types.d.ts +0 -684
  1958. package/dist/plugin-sdk/src/plugins/uninstall.d.ts +0 -45
  1959. package/dist/plugin-sdk/src/polls.d.ts +0 -31
  1960. package/dist/plugin-sdk/src/process/command-queue.d.ts +0 -63
  1961. package/dist/plugin-sdk/src/process/exec.d.ts +0 -31
  1962. package/dist/plugin-sdk/src/process/kill-tree.d.ts +0 -12
  1963. package/dist/plugin-sdk/src/process/lanes.d.ts +0 -6
  1964. package/dist/plugin-sdk/src/process/spawn-utils.d.ts +0 -26
  1965. package/dist/plugin-sdk/src/process/supervisor/adapters/child.d.ts +0 -10
  1966. package/dist/plugin-sdk/src/process/supervisor/adapters/env.d.ts +0 -1
  1967. package/dist/plugin-sdk/src/process/supervisor/adapters/pty.d.ts +0 -11
  1968. package/dist/plugin-sdk/src/process/supervisor/index.d.ts +0 -4
  1969. package/dist/plugin-sdk/src/process/supervisor/registry.d.ts +0 -21
  1970. package/dist/plugin-sdk/src/process/supervisor/supervisor.d.ts +0 -2
  1971. package/dist/plugin-sdk/src/process/supervisor/types.d.ts +0 -92
  1972. package/dist/plugin-sdk/src/project.d.ts +0 -3
  1973. package/dist/plugin-sdk/src/providers/cloudflare-ai-gateway-shared.d.ts +0 -84
  1974. package/dist/plugin-sdk/src/providers/github-copilot-models.d.ts +0 -5
  1975. package/dist/plugin-sdk/src/providers/github-copilot-token.d.ts +0 -22
  1976. package/dist/plugin-sdk/src/providers/health.d.ts +0 -15
  1977. package/dist/plugin-sdk/src/providers/huggingface-models.d.ts +0 -47
  1978. package/dist/plugin-sdk/src/providers/litellm-models.d.ts +0 -30
  1979. package/dist/plugin-sdk/src/providers/opencode-zen-shared.d.ts +0 -7
  1980. package/dist/plugin-sdk/src/providers/refreshed-model-capabilities.d.ts +0 -14
  1981. package/dist/plugin-sdk/src/providers/registry.d.ts +0 -204
  1982. package/dist/plugin-sdk/src/providers/synthetic-models.d.ts +0 -31
  1983. package/dist/plugin-sdk/src/providers/together-models.d.ts +0 -38
  1984. package/dist/plugin-sdk/src/providers/venice-models.d.ts +0 -175
  1985. package/dist/plugin-sdk/src/providers/vercel-ai-gateway-models.d.ts +0 -113
  1986. package/dist/plugin-sdk/src/providers/xiaomi-models.d.ts +0 -21
  1987. package/dist/plugin-sdk/src/realtime-transcription/provider-registry.d.ts +0 -7
  1988. package/dist/plugin-sdk/src/realtime-transcription/provider-types.d.ts +0 -26
  1989. package/dist/plugin-sdk/src/realtime-voice/provider-registry.d.ts +0 -7
  1990. package/dist/plugin-sdk/src/realtime-voice/provider-types.d.ts +0 -55
  1991. package/dist/plugin-sdk/src/routing/account-id.d.ts +0 -3
  1992. package/dist/plugin-sdk/src/routing/account-lookup.d.ts +0 -1
  1993. package/dist/plugin-sdk/src/routing/bindings.d.ts +0 -11
  1994. package/dist/plugin-sdk/src/routing/resolve-route.d.ts +0 -42
  1995. package/dist/plugin-sdk/src/routing/session-key.d.ts +0 -48
  1996. package/dist/plugin-sdk/src/runtime.d.ts +0 -7
  1997. package/dist/plugin-sdk/src/secrets/json-pointer.d.ts +0 -6
  1998. package/dist/plugin-sdk/src/secrets/ref-contract.d.ts +0 -19
  1999. package/dist/plugin-sdk/src/secrets/resolve.d.ts +0 -15
  2000. package/dist/plugin-sdk/src/secrets/runtime-web-tools.types.d.ts +0 -26
  2001. package/dist/plugin-sdk/src/secrets/shared.d.ts +0 -7
  2002. package/dist/plugin-sdk/src/security/audit-channel.d.ts +0 -7
  2003. package/dist/plugin-sdk/src/security/audit-extra.async.d.ts +0 -47
  2004. package/dist/plugin-sdk/src/security/audit-extra.d.ts +0 -10
  2005. package/dist/plugin-sdk/src/security/audit-extra.sync.d.ts +0 -25
  2006. package/dist/plugin-sdk/src/security/audit-fs.d.ts +0 -44
  2007. package/dist/plugin-sdk/src/security/audit-tool-policy.d.ts +0 -1
  2008. package/dist/plugin-sdk/src/security/audit.d.ts +0 -57
  2009. package/dist/plugin-sdk/src/security/channel-metadata.d.ts +0 -6
  2010. package/dist/plugin-sdk/src/security/dangerous-config-flags.d.ts +0 -2
  2011. package/dist/plugin-sdk/src/security/dangerous-tools.d.ts +0 -12
  2012. package/dist/plugin-sdk/src/security/dm-policy-shared.d.ts +0 -93
  2013. package/dist/plugin-sdk/src/security/external-content.d.ts +0 -58
  2014. package/dist/plugin-sdk/src/security/mutable-allowlist-detectors.d.ts +0 -6
  2015. package/dist/plugin-sdk/src/security/safe-regex.d.ts +0 -2
  2016. package/dist/plugin-sdk/src/security/scan-paths.d.ts +0 -5
  2017. package/dist/plugin-sdk/src/security/secret-equal.d.ts +0 -1
  2018. package/dist/plugin-sdk/src/security/skill-scanner.d.ts +0 -25
  2019. package/dist/plugin-sdk/src/security/windows-acl.d.ts +0 -37
  2020. package/dist/plugin-sdk/src/sessions/input-provenance.d.ts +0 -16
  2021. package/dist/plugin-sdk/src/sessions/level-overrides.d.ts +0 -10
  2022. package/dist/plugin-sdk/src/sessions/model-overrides.d.ts +0 -16
  2023. package/dist/plugin-sdk/src/sessions/send-policy.d.ts +0 -11
  2024. package/dist/plugin-sdk/src/sessions/session-key-utils.d.ts +0 -20
  2025. package/dist/plugin-sdk/src/sessions/session-label.d.ts +0 -9
  2026. package/dist/plugin-sdk/src/sessions/transcript-events.d.ts +0 -9
  2027. package/dist/plugin-sdk/src/shared/avatar-policy.d.ts +0 -16
  2028. package/dist/plugin-sdk/src/shared/chat-content.d.ts +0 -5
  2029. package/dist/plugin-sdk/src/shared/chat-envelope.d.ts +0 -2
  2030. package/dist/plugin-sdk/src/shared/config-eval.d.ts +0 -27
  2031. package/dist/plugin-sdk/src/shared/device-auth.d.ts +0 -13
  2032. package/dist/plugin-sdk/src/shared/entry-metadata.d.ts +0 -15
  2033. package/dist/plugin-sdk/src/shared/entry-status.d.ts +0 -47
  2034. package/dist/plugin-sdk/src/shared/frontmatter.d.ts +0 -24
  2035. package/dist/plugin-sdk/src/shared/gateway-bind-url.d.ts +0 -14
  2036. package/dist/plugin-sdk/src/shared/gateway-method-policy.d.ts +0 -8
  2037. package/dist/plugin-sdk/src/shared/model-param-b.d.ts +0 -1
  2038. package/dist/plugin-sdk/src/shared/model-thinking.d.ts +0 -31
  2039. package/dist/plugin-sdk/src/shared/net/ip.d.ts +0 -20
  2040. package/dist/plugin-sdk/src/shared/net/redact-sensitive-url.d.ts +0 -2
  2041. package/dist/plugin-sdk/src/shared/node-list-parse.d.ts +0 -3
  2042. package/dist/plugin-sdk/src/shared/node-list-types.d.ts +0 -48
  2043. package/dist/plugin-sdk/src/shared/node-match.d.ts +0 -9
  2044. package/dist/plugin-sdk/src/shared/operator-scope-compat.d.ts +0 -5
  2045. package/dist/plugin-sdk/src/shared/pid-alive.d.ts +0 -1
  2046. package/dist/plugin-sdk/src/shared/process-scoped-map.d.ts +0 -1
  2047. package/dist/plugin-sdk/src/shared/requirements.d.ts +0 -80
  2048. package/dist/plugin-sdk/src/shared/string-normalization.d.ts +0 -4
  2049. package/dist/plugin-sdk/src/shared/subagents-format.d.ts +0 -15
  2050. package/dist/plugin-sdk/src/shared/tailscale-status.d.ts +0 -8
  2051. package/dist/plugin-sdk/src/shared/text/code-regions.d.ts +0 -6
  2052. package/dist/plugin-sdk/src/shared/text/reasoning-tags.d.ts +0 -6
  2053. package/dist/plugin-sdk/src/shared/text-chunking.d.ts +0 -1
  2054. package/dist/plugin-sdk/src/signal/accounts.d.ts +0 -17
  2055. package/dist/plugin-sdk/src/signal/client.d.ts +0 -32
  2056. package/dist/plugin-sdk/src/signal/daemon.d.ts +0 -26
  2057. package/dist/plugin-sdk/src/signal/format.d.ts +0 -17
  2058. package/dist/plugin-sdk/src/signal/identity.d.ts +0 -24
  2059. package/dist/plugin-sdk/src/signal/index.d.ts +0 -5
  2060. package/dist/plugin-sdk/src/signal/monitor/access-policy.d.ts +0 -40
  2061. package/dist/plugin-sdk/src/signal/monitor/event-handler.d.ts +0 -5
  2062. package/dist/plugin-sdk/src/signal/monitor/event-handler.types.d.ts +0 -125
  2063. package/dist/plugin-sdk/src/signal/monitor/mentions.d.ts +0 -2
  2064. package/dist/plugin-sdk/src/signal/monitor.d.ts +0 -25
  2065. package/dist/plugin-sdk/src/signal/probe.d.ts +0 -7
  2066. package/dist/plugin-sdk/src/signal/reaction-level.d.ts +0 -17
  2067. package/dist/plugin-sdk/src/signal/rpc-context.d.ts +0 -9
  2068. package/dist/plugin-sdk/src/signal/send-reactions.d.ts +0 -32
  2069. package/dist/plugin-sdk/src/signal/send.d.ts +0 -25
  2070. package/dist/plugin-sdk/src/signal/sse-reconnect.d.ts +0 -13
  2071. package/dist/plugin-sdk/src/slack/accounts.d.ts +0 -32
  2072. package/dist/plugin-sdk/src/slack/actions.d.ts +0 -56
  2073. package/dist/plugin-sdk/src/slack/blocks-fallback.d.ts +0 -2
  2074. package/dist/plugin-sdk/src/slack/blocks-input.d.ts +0 -3
  2075. package/dist/plugin-sdk/src/slack/channel-migration.d.ts +0 -20
  2076. package/dist/plugin-sdk/src/slack/client.d.ts +0 -4
  2077. package/dist/plugin-sdk/src/slack/directory-live.d.ts +0 -4
  2078. package/dist/plugin-sdk/src/slack/draft-stream.d.ts +0 -25
  2079. package/dist/plugin-sdk/src/slack/format.d.ts +0 -7
  2080. package/dist/plugin-sdk/src/slack/http/index.d.ts +0 -1
  2081. package/dist/plugin-sdk/src/slack/http/registry.d.ts +0 -12
  2082. package/dist/plugin-sdk/src/slack/index.d.ts +0 -6
  2083. package/dist/plugin-sdk/src/slack/message-actions.d.ts +0 -4
  2084. package/dist/plugin-sdk/src/slack/modal-metadata.d.ts +0 -8
  2085. package/dist/plugin-sdk/src/slack/monitor/allow-list.d.ts +0 -23
  2086. package/dist/plugin-sdk/src/slack/monitor/auth.d.ts +0 -26
  2087. package/dist/plugin-sdk/src/slack/monitor/channel-config.d.ts +0 -43
  2088. package/dist/plugin-sdk/src/slack/monitor/commands.d.ts +0 -9
  2089. package/dist/plugin-sdk/src/slack/monitor/context.d.ts +0 -104
  2090. package/dist/plugin-sdk/src/slack/monitor/dm-auth.d.ts +0 -17
  2091. package/dist/plugin-sdk/src/slack/monitor/events/channels.d.ts +0 -4
  2092. package/dist/plugin-sdk/src/slack/monitor/events/interactions.d.ts +0 -4
  2093. package/dist/plugin-sdk/src/slack/monitor/events/members.d.ts +0 -4
  2094. package/dist/plugin-sdk/src/slack/monitor/events/messages.d.ts +0 -6
  2095. package/dist/plugin-sdk/src/slack/monitor/events/pins.d.ts +0 -4
  2096. package/dist/plugin-sdk/src/slack/monitor/events/reactions.d.ts +0 -4
  2097. package/dist/plugin-sdk/src/slack/monitor/events/system-event-context.d.ts +0 -12
  2098. package/dist/plugin-sdk/src/slack/monitor/events.d.ts +0 -8
  2099. package/dist/plugin-sdk/src/slack/monitor/external-arg-menu-store.d.ts +0 -18
  2100. package/dist/plugin-sdk/src/slack/monitor/media.d.ts +0 -66
  2101. package/dist/plugin-sdk/src/slack/monitor/message-handler/dispatch.d.ts +0 -12
  2102. package/dist/plugin-sdk/src/slack/monitor/message-handler/prepare.d.ts +0 -13
  2103. package/dist/plugin-sdk/src/slack/monitor/message-handler/types.d.ts +0 -22
  2104. package/dist/plugin-sdk/src/slack/monitor/message-handler.d.ts +0 -11
  2105. package/dist/plugin-sdk/src/slack/monitor/mrkdwn.d.ts +0 -1
  2106. package/dist/plugin-sdk/src/slack/monitor/policy.d.ts +0 -5
  2107. package/dist/plugin-sdk/src/slack/monitor/provider.d.ts +0 -7
  2108. package/dist/plugin-sdk/src/slack/monitor/replies.d.ts +0 -54
  2109. package/dist/plugin-sdk/src/slack/monitor/room-context.d.ts +0 -14
  2110. package/dist/plugin-sdk/src/slack/monitor/slash.d.ts +0 -6
  2111. package/dist/plugin-sdk/src/slack/monitor/thread-resolution.d.ts +0 -12
  2112. package/dist/plugin-sdk/src/slack/monitor/types.d.ts +0 -109
  2113. package/dist/plugin-sdk/src/slack/monitor.d.ts +0 -5
  2114. package/dist/plugin-sdk/src/slack/probe.d.ts +0 -14
  2115. package/dist/plugin-sdk/src/slack/resolve-channels.d.ts +0 -19
  2116. package/dist/plugin-sdk/src/slack/resolve-users.d.ts +0 -26
  2117. package/dist/plugin-sdk/src/slack/send.d.ts +0 -22
  2118. package/dist/plugin-sdk/src/slack/stream-mode.d.ts +0 -23
  2119. package/dist/plugin-sdk/src/slack/streaming.d.ts +0 -72
  2120. package/dist/plugin-sdk/src/slack/targets.d.ts +0 -7
  2121. package/dist/plugin-sdk/src/slack/threading-tool-context.d.ts +0 -10
  2122. package/dist/plugin-sdk/src/slack/threading.d.ts +0 -29
  2123. package/dist/plugin-sdk/src/slack/token.d.ts +0 -3
  2124. package/dist/plugin-sdk/src/slack/types.d.ts +0 -58
  2125. package/dist/plugin-sdk/src/tasks/channel-task-ledger.d.ts +0 -9
  2126. package/dist/plugin-sdk/src/tasks/task-executor.d.ts +0 -86
  2127. package/dist/plugin-sdk/src/tasks/task-owner-access.d.ts +0 -12
  2128. package/dist/plugin-sdk/src/tasks/task-registry.d.ts +0 -35
  2129. package/dist/plugin-sdk/src/tasks/task-registry.types.d.ts +0 -114
  2130. package/dist/plugin-sdk/src/tasks/task-status.d.ts +0 -11
  2131. package/dist/plugin-sdk/src/telegram/accounts.d.ts +0 -21
  2132. package/dist/plugin-sdk/src/telegram/allowed-updates.d.ts +0 -4
  2133. package/dist/plugin-sdk/src/telegram/api-logging.d.ts +0 -11
  2134. package/dist/plugin-sdk/src/telegram/audit.d.ts +0 -29
  2135. package/dist/plugin-sdk/src/telegram/bot/delivery.d.ts +0 -35
  2136. package/dist/plugin-sdk/src/telegram/bot/helpers.d.ts +0 -127
  2137. package/dist/plugin-sdk/src/telegram/bot/types.d.ts +0 -28
  2138. package/dist/plugin-sdk/src/telegram/bot-access.d.ts +0 -26
  2139. package/dist/plugin-sdk/src/telegram/bot-handlers.d.ts +0 -2
  2140. package/dist/plugin-sdk/src/telegram/bot-message-context.d.ts +0 -149
  2141. package/dist/plugin-sdk/src/telegram/bot-message-dispatch.d.ts +0 -29
  2142. package/dist/plugin-sdk/src/telegram/bot-message.d.ts +0 -20
  2143. package/dist/plugin-sdk/src/telegram/bot-native-command-menu.d.ts +0 -33
  2144. package/dist/plugin-sdk/src/telegram/bot-native-commands.d.ts +0 -58
  2145. package/dist/plugin-sdk/src/telegram/bot-updates.d.ts +0 -31
  2146. package/dist/plugin-sdk/src/telegram/bot.d.ts +0 -62
  2147. package/dist/plugin-sdk/src/telegram/button-types.d.ts +0 -7
  2148. package/dist/plugin-sdk/src/telegram/caption.d.ts +0 -5
  2149. package/dist/plugin-sdk/src/telegram/dm-access.d.ts +0 -18
  2150. package/dist/plugin-sdk/src/telegram/draft-stream.d.ts +0 -37
  2151. package/dist/plugin-sdk/src/telegram/fetch.d.ts +0 -5
  2152. package/dist/plugin-sdk/src/telegram/format.d.ts +0 -18
  2153. package/dist/plugin-sdk/src/telegram/group-access.d.ts +0 -54
  2154. package/dist/plugin-sdk/src/telegram/group-config-helpers.d.ts +0 -8
  2155. package/dist/plugin-sdk/src/telegram/group-migration.d.ts +0 -20
  2156. package/dist/plugin-sdk/src/telegram/inline-buttons.d.ts +0 -11
  2157. package/dist/plugin-sdk/src/telegram/lane-delivery.d.ts +0 -56
  2158. package/dist/plugin-sdk/src/telegram/model-buttons.d.ts +0 -63
  2159. package/dist/plugin-sdk/src/telegram/monitor.d.ts +0 -19
  2160. package/dist/plugin-sdk/src/telegram/network-config.d.ts +0 -33
  2161. package/dist/plugin-sdk/src/telegram/network-errors.d.ts +0 -5
  2162. package/dist/plugin-sdk/src/telegram/outbound-params.d.ts +0 -2
  2163. package/dist/plugin-sdk/src/telegram/probe.d.ts +0 -17
  2164. package/dist/plugin-sdk/src/telegram/proxy.d.ts +0 -1
  2165. package/dist/plugin-sdk/src/telegram/reaction-level.d.ts +0 -11
  2166. package/dist/plugin-sdk/src/telegram/reasoning-lane-coordinator.d.ts +0 -18
  2167. package/dist/plugin-sdk/src/telegram/send.d.ts +0 -153
  2168. package/dist/plugin-sdk/src/telegram/sendchataction-401-backoff.d.ts +0 -28
  2169. package/dist/plugin-sdk/src/telegram/sent-message-cache.d.ts +0 -16
  2170. package/dist/plugin-sdk/src/telegram/status-reaction-variants.d.ts +0 -21
  2171. package/dist/plugin-sdk/src/telegram/sticker-cache.d.ts +0 -46
  2172. package/dist/plugin-sdk/src/telegram/target-writeback.d.ts +0 -7
  2173. package/dist/plugin-sdk/src/telegram/targets.d.ts +0 -11
  2174. package/dist/plugin-sdk/src/telegram/token.d.ts +0 -13
  2175. package/dist/plugin-sdk/src/telegram/update-offset-store.d.ts +0 -15
  2176. package/dist/plugin-sdk/src/telegram/voice.d.ts +0 -16
  2177. package/dist/plugin-sdk/src/telegram/webhook.d.ts +0 -20
  2178. package/dist/plugin-sdk/src/terminal/ansi.d.ts +0 -2
  2179. package/dist/plugin-sdk/src/terminal/health-style.d.ts +0 -1
  2180. package/dist/plugin-sdk/src/terminal/links.d.ts +0 -6
  2181. package/dist/plugin-sdk/src/terminal/palette.d.ts +0 -10
  2182. package/dist/plugin-sdk/src/terminal/progress-line.d.ts +0 -3
  2183. package/dist/plugin-sdk/src/terminal/prompt-style.d.ts +0 -6
  2184. package/dist/plugin-sdk/src/terminal/restore.d.ts +0 -17
  2185. package/dist/plugin-sdk/src/terminal/table.d.ts +0 -18
  2186. package/dist/plugin-sdk/src/terminal/theme.d.ts +0 -18
  2187. package/dist/plugin-sdk/src/tts/tts-core.d.ts +0 -52
  2188. package/dist/plugin-sdk/src/tts/tts.d.ts +0 -194
  2189. package/dist/plugin-sdk/src/utils/account-id.d.ts +0 -1
  2190. package/dist/plugin-sdk/src/utils/boolean.d.ts +0 -5
  2191. package/dist/plugin-sdk/src/utils/chunk-items.d.ts +0 -1
  2192. package/dist/plugin-sdk/src/utils/delivery-context.d.ts +0 -29
  2193. package/dist/plugin-sdk/src/utils/directive-tags.d.ts +0 -29
  2194. package/dist/plugin-sdk/src/utils/fetch-timeout.d.ts +0 -13
  2195. package/dist/plugin-sdk/src/utils/mask-api-key.d.ts +0 -1
  2196. package/dist/plugin-sdk/src/utils/message-channel.d.ts +0 -27
  2197. package/dist/plugin-sdk/src/utils/normalize-secret-input.d.ts +0 -11
  2198. package/dist/plugin-sdk/src/utils/private-network-url.d.ts +0 -1
  2199. package/dist/plugin-sdk/src/utils/provider-utils.d.ts +0 -9
  2200. package/dist/plugin-sdk/src/utils/queue-helpers.d.ts +0 -80
  2201. package/dist/plugin-sdk/src/utils/reaction-level.d.ts +0 -15
  2202. package/dist/plugin-sdk/src/utils/run-with-concurrency.d.ts +0 -11
  2203. package/dist/plugin-sdk/src/utils/safe-json.d.ts +0 -1
  2204. package/dist/plugin-sdk/src/utils/shell-argv.d.ts +0 -1
  2205. package/dist/plugin-sdk/src/utils/transcript-tools.d.ts +0 -8
  2206. package/dist/plugin-sdk/src/utils/usage-format.d.ts +0 -26
  2207. package/dist/plugin-sdk/src/utils/with-timeout.d.ts +0 -1
  2208. package/dist/plugin-sdk/src/utils.d.ts +0 -63
  2209. package/dist/plugin-sdk/src/version.d.ts +0 -8
  2210. package/dist/plugin-sdk/src/video-generation/dashscope-compatible.d.ts +0 -45
  2211. package/dist/plugin-sdk/src/video-generation/types.d.ts +0 -79
  2212. package/dist/plugin-sdk/src/wallet/chat-command.d.ts +0 -17
  2213. package/dist/plugin-sdk/src/wallet/local-socket-signer-broker.d.ts +0 -13
  2214. package/dist/plugin-sdk/src/wallet/local-socket-signer-custody.d.ts +0 -35
  2215. package/dist/plugin-sdk/src/wallet/local-socket-signer-protocol.d.ts +0 -191
  2216. package/dist/plugin-sdk/src/wallet/providers/alchemy-adapter.d.ts +0 -29
  2217. package/dist/plugin-sdk/src/wallet/providers/embedded-keystore-adapter.d.ts +0 -37
  2218. package/dist/plugin-sdk/src/wallet/providers/local-socket-signer-adapter.d.ts +0 -44
  2219. package/dist/plugin-sdk/src/wallet/providers/privy-adapter.d.ts +0 -31
  2220. package/dist/plugin-sdk/src/wallet/providers/turnkey-adapter.d.ts +0 -33
  2221. package/dist/plugin-sdk/src/wallet/solana-address.d.ts +0 -2
  2222. package/dist/plugin-sdk/src/wallet/solana-assets.d.ts +0 -80
  2223. package/dist/plugin-sdk/src/wallet/solana-bond-signing.d.ts +0 -20
  2224. package/dist/plugin-sdk/src/wallet/solana-spl-transfer.d.ts +0 -33
  2225. package/dist/plugin-sdk/src/wallet/solana-swap.d.ts +0 -93
  2226. package/dist/plugin-sdk/src/wallet/solana-token-resolver.d.ts +0 -36
  2227. package/dist/plugin-sdk/src/wallet/solana-transaction-inspection.d.ts +0 -16
  2228. package/dist/plugin-sdk/src/wallet/solana-trigger.d.ts +0 -74
  2229. package/dist/plugin-sdk/src/wallet/trade-chat-command.d.ts +0 -18
  2230. package/dist/plugin-sdk/src/wallet/wallet-agent-selection.d.ts +0 -43
  2231. package/dist/plugin-sdk/src/wallet/wallet-approval-auth.d.ts +0 -212
  2232. package/dist/plugin-sdk/src/wallet/wallet-audit-log.d.ts +0 -18
  2233. package/dist/plugin-sdk/src/wallet/wallet-canary.d.ts +0 -47
  2234. package/dist/plugin-sdk/src/wallet/wallet-custody.d.ts +0 -313
  2235. package/dist/plugin-sdk/src/wallet/wallet-inbound-events.d.ts +0 -88
  2236. package/dist/plugin-sdk/src/wallet/wallet-observability.d.ts +0 -16
  2237. package/dist/plugin-sdk/src/wallet/wallet-policy-simulation.d.ts +0 -61
  2238. package/dist/plugin-sdk/src/wallet/wallet-policy.d.ts +0 -144
  2239. package/dist/plugin-sdk/src/wallet/wallet-provider-adapter.d.ts +0 -111
  2240. package/dist/plugin-sdk/src/wallet/wallet-provider-capabilities.d.ts +0 -51
  2241. package/dist/plugin-sdk/src/wallet/wallet-provider-registry.d.ts +0 -128
  2242. package/dist/plugin-sdk/src/wallet/wallet-provider-resolver.d.ts +0 -17
  2243. package/dist/plugin-sdk/src/wallet/wallet-redaction.d.ts +0 -3
  2244. package/dist/plugin-sdk/src/wallet/wallet-runtime-config.d.ts +0 -93
  2245. package/dist/plugin-sdk/src/wallet/wallet-secrets-store.d.ts +0 -63
  2246. package/dist/plugin-sdk/src/wallet/wallet-send-approvals.d.ts +0 -165
  2247. package/dist/plugin-sdk/src/wallet/wallet-settlement-links.d.ts +0 -57
  2248. package/dist/plugin-sdk/src/wallet/wallet-status.d.ts +0 -106
  2249. package/dist/plugin-sdk/src/wallet/wallet-task-ledger.d.ts +0 -7
  2250. package/dist/plugin-sdk/src/web/accounts.d.ts +0 -39
  2251. package/dist/plugin-sdk/src/web/active-listener.d.ts +0 -26
  2252. package/dist/plugin-sdk/src/web/auth-store.d.ts +0 -26
  2253. package/dist/plugin-sdk/src/web/auto-reply/constants.d.ts +0 -1
  2254. package/dist/plugin-sdk/src/web/auto-reply/deliver-reply.d.ts +0 -19
  2255. package/dist/plugin-sdk/src/web/auto-reply/heartbeat-runner.d.ts +0 -20
  2256. package/dist/plugin-sdk/src/web/auto-reply/loggers.d.ts +0 -4
  2257. package/dist/plugin-sdk/src/web/auto-reply/mentions.d.ts +0 -19
  2258. package/dist/plugin-sdk/src/web/auto-reply/monitor/ack-reaction.d.ts +0 -13
  2259. package/dist/plugin-sdk/src/web/auto-reply/monitor/broadcast.d.ts +0 -16
  2260. package/dist/plugin-sdk/src/web/auto-reply/monitor/commands.d.ts +0 -2
  2261. package/dist/plugin-sdk/src/web/auto-reply/monitor/echo.d.ts +0 -17
  2262. package/dist/plugin-sdk/src/web/auto-reply/monitor/group-activation.d.ts +0 -9
  2263. package/dist/plugin-sdk/src/web/auto-reply/monitor/group-gating.d.ts +0 -33
  2264. package/dist/plugin-sdk/src/web/auto-reply/monitor/group-members.d.ts +0 -6
  2265. package/dist/plugin-sdk/src/web/auto-reply/monitor/last-route.d.ts +0 -15
  2266. package/dist/plugin-sdk/src/web/auto-reply/monitor/message-line.d.ts +0 -11
  2267. package/dist/plugin-sdk/src/web/auto-reply/monitor/on-message.d.ts +0 -24
  2268. package/dist/plugin-sdk/src/web/auto-reply/monitor/peer.d.ts +0 -2
  2269. package/dist/plugin-sdk/src/web/auto-reply/monitor/process-message.d.ts +0 -40
  2270. package/dist/plugin-sdk/src/web/auto-reply/monitor.d.ts +0 -5
  2271. package/dist/plugin-sdk/src/web/auto-reply/session-snapshot.d.ts +0 -17
  2272. package/dist/plugin-sdk/src/web/auto-reply/types.d.ts +0 -30
  2273. package/dist/plugin-sdk/src/web/auto-reply/util.d.ts +0 -2
  2274. package/dist/plugin-sdk/src/web/auto-reply.d.ts +0 -1
  2275. package/dist/plugin-sdk/src/web/auto-reply.impl.d.ts +0 -6
  2276. package/dist/plugin-sdk/src/web/inbound/access-control.d.ts +0 -36
  2277. package/dist/plugin-sdk/src/web/inbound/dedupe.d.ts +0 -2
  2278. package/dist/plugin-sdk/src/web/inbound/extract.d.ts +0 -13
  2279. package/dist/plugin-sdk/src/web/inbound/media.d.ts +0 -7
  2280. package/dist/plugin-sdk/src/web/inbound/monitor.d.ts +0 -30
  2281. package/dist/plugin-sdk/src/web/inbound/send-api.d.ts +0 -22
  2282. package/dist/plugin-sdk/src/web/inbound/types.d.ts +0 -41
  2283. package/dist/plugin-sdk/src/web/inbound.d.ts +0 -4
  2284. package/dist/plugin-sdk/src/web/login-qr.d.ts +0 -19
  2285. package/dist/plugin-sdk/src/web/login.d.ts +0 -3
  2286. package/dist/plugin-sdk/src/web/media.d.ts +0 -43
  2287. package/dist/plugin-sdk/src/web/outbound.d.ts +0 -25
  2288. package/dist/plugin-sdk/src/web/qr-image.d.ts +0 -4
  2289. package/dist/plugin-sdk/src/web/reconnect.d.ts +0 -12
  2290. package/dist/plugin-sdk/src/web/session.d.ts +0 -14
  2291. package/dist/plugin-sdk/src/web/vcard.d.ts +0 -6
  2292. package/dist/plugin-sdk/src/whatsapp/normalize.d.ts +0 -6
  2293. package/dist/plugin-sdk/src/whatsapp/resolve-outbound-target.d.ts +0 -12
  2294. package/dist/plugin-sdk/src/wizard/onboarding.types.d.ts +0 -31
  2295. package/dist/plugin-sdk/src/wizard/onboarding.wallet.d.ts +0 -45
  2296. package/dist/plugin-sdk/src/wizard/prompts.d.ts +0 -45
  2297. package/dist/plugin-sdk/src/wizard/session.d.ts +0 -42
  2298. package/dist/plugin-sdk/ssrf-Cce6LubA.js +0 -421
  2299. package/dist/plugin-sdk/ssrf-Cg5wg0v3.js +0 -4
  2300. package/dist/plugin-sdk/status-B2vb7zNW.js +0 -106417
  2301. package/dist/plugin-sdk/sticker-cache-C1vOWkzA.js +0 -170
  2302. package/dist/plugin-sdk/sticker-cache-CJDzqowL.js +0 -170
  2303. package/dist/plugin-sdk/subsystem-BmpnSVOu.js +0 -358
  2304. package/dist/plugin-sdk/tables-BD7H5ug-.js +0 -55
  2305. package/dist/plugin-sdk/tables-CJE8kB35.js +0 -55
  2306. package/dist/plugin-sdk/target-errors-kz4lDpCF.js +0 -26
  2307. package/dist/plugin-sdk/targets-4QTk4tTz.js +0 -45
  2308. package/dist/plugin-sdk/targets-DmSpDM4F.js +0 -45
  2309. package/dist/plugin-sdk/targets-cA134MEE.js +0 -101
  2310. package/dist/plugin-sdk/targets-t1hbjHdJ.js +0 -101
  2311. package/dist/plugin-sdk/telegram-actions-BoiC9J7L.js +0 -307
  2312. package/dist/plugin-sdk/telegram-actions-CwAsKaNz.js +0 -307
  2313. package/dist/plugin-sdk/thread-bindings.lifecycle-Djem8FWF.js +0 -737
  2314. package/dist/plugin-sdk/thread-bindings.lifecycle-gmHv3hc7.js +0 -737
  2315. package/dist/plugin-sdk/thread-bindings.state-CNT2vxm3.js +0 -643
  2316. package/dist/plugin-sdk/thread-bindings.state-D8kN2X6H.js +0 -643
  2317. package/dist/plugin-sdk/token-BWZYO8QR.js +0 -36
  2318. package/dist/plugin-sdk/tokens-BK5rrwBB.js +0 -72
  2319. package/dist/plugin-sdk/tokens-CQRTq-NN.js +0 -72
  2320. package/dist/plugin-sdk/tool-loop-detection-Ci_YYA7P.js +0 -352
  2321. package/dist/plugin-sdk/transcript-events-BJQWUdmU.js +0 -24
  2322. package/dist/plugin-sdk/ui-7sxJ-x37.js +0 -33
  2323. package/dist/plugin-sdk/ui-BQ-Vvq_c.js +0 -33
  2324. package/dist/plugin-sdk/utils-LGKVujSU.js +0 -237
  2325. package/dist/plugin-sdk/web-BjV7ROeA.js +0 -2226
  2326. package/dist/plugin-sdk/web-DjTSgU98.js +0 -2226
  2327. package/dist/plugin-sdk/whatsapp-actions-68Mfs2dJ.js +0 -123
  2328. package/dist/plugin-sdk/whatsapp-actions-DRqtzvTO.js +0 -123
  2329. package/dist/plugin-sdk/wsl-DcM2PgSS.js +0 -1016
  2330. package/dist/plugin-sdk/wsl-PXrdWitE.js +0 -1016
  2331. /package/dist/plugin-sdk/{channel-activity-Cf5sKkfd.js → channel-activity-B7MIaDei.js} +0 -0
  2332. /package/dist/plugin-sdk/{client-DWTXscox.js → client-BTUzO_8g.js} +0 -0
  2333. /package/dist/plugin-sdk/{command-poll-backoff-C2vOB38t.js → command-poll-backoff-CBq0jVRw.js} +0 -0
  2334. /package/dist/plugin-sdk/{date-time-Bo5FVB7G.js → date-time-Bbp5JvNw.js} +0 -0
  2335. /package/dist/plugin-sdk/{diagnostic-session-state-CT36_PCE.js → diagnostic-session-state-B-9PL5r7.js} +0 -0
  2336. /package/dist/plugin-sdk/{draft-stream-loop-2KC6-8CG.js → draft-stream-loop-DZ1OAyye.js} +0 -0
  2337. /package/dist/plugin-sdk/{fetch-headers-BTcaUCW6.js → fetch-headers-DvXyXtoI.js} +0 -0
  2338. /package/dist/plugin-sdk/{fetch-timeout-Dyj5Y_Ss.js → fetch-timeout-jOIu9Xud.js} +0 -0
  2339. /package/dist/plugin-sdk/{gateway-registry-CtUjFG3Q.js → gateway-registry-C-MTEdvG.js} +0 -0
  2340. /package/dist/plugin-sdk/{inbound-context-Daf9i2Me.js → inbound-context-BNCTzgjG.js} +0 -0
  2341. /package/dist/plugin-sdk/{internal-DFhCtnuk.js → internal-CC6TMTtc.js} +0 -0
  2342. /package/dist/plugin-sdk/{media-payload-CcW51vQj.js → media-payload-DpYEcV-X.js} +0 -0
  2343. /package/dist/plugin-sdk/{polls-B4cMiwMo.js → polls-Dy1NsYKT.js} +0 -0
  2344. /package/dist/plugin-sdk/{proxy-CKQOQYAl.js → proxy-R5TjOIFS.js} +0 -0
  2345. /package/dist/plugin-sdk/{qmd-scope-ubzoBMhc.js → qmd-scope-C9tRnohc.js} +0 -0
  2346. /package/dist/plugin-sdk/{redact-identifier-BAD7jXcr.js → redact-identifier-CDvAeiFm.js} +0 -0
  2347. /package/dist/plugin-sdk/{redact-sensitive-url-DK8OUExz.js → redact-sensitive-url-B0RJQqO7.js} +0 -0
  2348. /package/dist/plugin-sdk/{render-C9LkRUhd.js → render-K7NwXvVu.js} +0 -0
  2349. /package/dist/plugin-sdk/{reply-reference-DxIu2vr0.js → reply-reference-CWEIswqw.js} +0 -0
  2350. /package/dist/plugin-sdk/{secure-random-CO1VkMEt.js → secure-random-C2EhANj2.js} +0 -0
  2351. /package/dist/plugin-sdk/{target-errors-Dn4aykSV.js → target-errors-C0yNDbGS.js} +0 -0
  2352. /package/dist/plugin-sdk/{tool-loop-detection-D6OX2-I9.js → tool-loop-detection-P5u2k0_f.js} +0 -0
  2353. /package/dist/plugin-sdk/{with-timeout-DqkblR98.js → with-timeout-Dl513q34.js} +0 -0
@@ -0,0 +1,3742 @@
1
+ import { A as clearHistoryEntriesIfEnabled, E as DEFAULT_GROUP_HISTORY_LIMIT, Et as resolveChannelConfigWrites, F as removeAckReactionAfterReply, G as resolveEnvelopeFormatOptions, Gn as createDedupeCache, H as resolveInboundDebounceMs, I as shouldAckReaction, K as dispatchInboundMessage, Kn as pruneMapToMaxSize, Kt as hasControlCommand, N as recordPendingHistoryEntryIfEnabled, O as buildPendingHistoryContextFromMap, P as recordInboundSession, U as formatInboundEnvelope, V as createInboundDebouncer, Xn as readStoreAllowFromForDmPolicy, Xt as matchesMentionWithExplicit, Yt as buildMentionRegexes, b as logInboundDrop, d as issuePairingChallenge, dt as normalizeAllowListLower, er as resolveCommandAuthorizedFromAuthorizers, f as createTypingCallbacks, ft as normalizeSlackSlug, lt as allowListMatches, m as resolveMentionGatingWithBypass, mt as resolveSlackUserAllowed, pt as resolveSlackAllowListMatch, q as createReplyDispatcherWithTyping, tr as resolveControlCommandGate, ut as normalizeAllowList, wt as enqueueSystemEvent, x as logTypingFailure, xn as installRequestBodyLimitGuard, y as logAckFailure } from "./pi-embedded-runner-DMfkIj60.js";
2
+ import { K as resolveSessionKey, S as readSessionUpdatedAt, w as updateLastRoute } from "./runtime-BUpqjZNM.js";
3
+ import { r as createNonExitingRuntime } from "./subsystem-DBPNbQDQ.js";
4
+ import { i as logVerbose, l as warn, p as getChildLogger, s as shouldLogVerbose, t as danger } from "./globals-B_jjtAje.js";
5
+ import "./paths-BEmvSyOV.js";
6
+ import "./utils-CYk9EKoq.js";
7
+ import { Nt as resolveSlackNativeStreaming, Pt as resolveSlackStreamingMode, jt as mapStreamingModeToSlackLegacyDraftStreamMode, n as loadConfig, s as writeConfigFile } from "./config-DKNrb8oT.js";
8
+ import "./agent-scope-BbgPlhtw.js";
9
+ import { n as resolveConversationLabel } from "./conversation-label-BoVqak2R.js";
10
+ import { c as normalizeMainKey, p as normalizeAccountId, u as resolveThreadSessionKeys } from "./session-key-HSJ2KQTc.js";
11
+ import "./accounts-RHZyaB73.js";
12
+ import { i as resolveSlackAccount, n as listSlackAccountIds, o as resolveSlackAppToken, r as resolveDefaultSlackAccountId, s as resolveSlackBotToken, t as listEnabledSlackAccounts } from "./accounts-CuqIKU8X.js";
13
+ import "./logger-BbFvCoKk.js";
14
+ import "./exec-DQ8j4Fm3.js";
15
+ import "./accounts-Bz_2QZSt.js";
16
+ import { S as resolveChannelEntryMatchWithFallback, v as applyChannelMatchMeta, y as buildChannelKeyCandidates } from "./allow-list-yqasgPpz.js";
17
+ import { a as patchAllowlistUsersInConfigEntries, c as formatAllowlistMatchMeta, i as mergeAllowlist, n as buildAllowlistResolutionSummary, o as summarizeMapping, s as isDangerousNameMatchingEnabled, t as addAllowlistUserEntriesFromConfigEntry } from "./resolve-utils-DrvLA82C.js";
18
+ import "./redact-CwCz68Mi.js";
19
+ import "./github-copilot-token-Dgug856m.js";
20
+ import "./retry-DycQ4ymF.js";
21
+ import { l as resolveStorePath } from "./paths-B88DQEK8.js";
22
+ import "./ip-BkeyFRJr.js";
23
+ import { c as normalizeHostname } from "./ssrf-D_4q0mKh.js";
24
+ import "./fetch-guard-CxXvFYq5.js";
25
+ import "./send-DGUAXb2b.js";
26
+ import { a as resolveOpenProviderRuntimeGroupPolicy, i as resolveDefaultGroupPolicy, o as warnMissingProviderGroupPolicyFallbackOnce } from "./links-D5ecKoG9.js";
27
+ import "./wsl-Cw-xOsqF.js";
28
+ import { a as upsertChannelPairingRequest } from "./pairing-store-BdOcH_GA.js";
29
+ import { l as resolveTextChunkLimit } from "./chunk-CuJIMshx.js";
30
+ import { a as resolveAckReaction, c as resolveHumanDelayConfig, n as createReplyPrefixOptions } from "./reply-prefix-CbPHNXlm.js";
31
+ import "./tokens-Do_JU4Rh.js";
32
+ import "./device-pairing-J1IH1jFl.js";
33
+ import "./pairing-token-HQpaqod5.js";
34
+ import { t as generateSecureToken } from "./secure-random-C2EhANj2.js";
35
+ import "./diagnostic-C16gioN6.js";
36
+ import "./diagnostic-session-state-B-9PL5r7.js";
37
+ import "./optional-runtime-dependency-Bt_3Yigu.js";
38
+ import "./image-ops-BSQmb-17.js";
39
+ import "./wallet-status-CdxTkLWz.js";
40
+ import "./pi-model-discovery-DQdXL_-F.js";
41
+ import "./runtime-dependency-pUwxUAJp.js";
42
+ import "./ws-CxmRDbD9.js";
43
+ import "./path-alias-guards-BlIJ0AmG.js";
44
+ import "./fs-safe-DztQeyQe.js";
45
+ import "./markdown-tables-DrB-IM8r.js";
46
+ import { a as fetchRemoteMedia } from "./media-D8pWjqEt.js";
47
+ import "./send-DWB5HFdb.js";
48
+ import { a as saveMediaBuffer } from "./outbound-attachment-C9oadpUP.js";
49
+ import "./fetch-RV7QDF43.js";
50
+ import "./thread-bindings.state-DYYR9qeT.js";
51
+ import "./memory-search-DHSeU4pJ.js";
52
+ import "./manager-DQ1dH8OM.js";
53
+ import "./query-expansion-BM7lmqaP.js";
54
+ import "./common-C90EHP1w.js";
55
+ import { E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, g as shouldHandleTextCommands } from "./commands-registry-DwQIFJmL.js";
56
+ import "./skill-commands-DCnCOVR_.js";
57
+ import { t as finalizeInboundContext } from "./inbound-context-BNCTzgjG.js";
58
+ import "./directory-live-G7AN8y8N.js";
59
+ import "./targets-BgSHco9b.js";
60
+ import "./sandbox-paths-fc-HFGJr.js";
61
+ import { n as resolveAgentRoute } from "./resolve-route-wp5xq4Ws.js";
62
+ import "./render-K7NwXvVu.js";
63
+ import "./tables-DX84FwPB.js";
64
+ import { t as sendMessageSlack } from "./send-DUp9GIX8.js";
65
+ import { r as resolveSlackWebClientOptions } from "./client-BTUzO_8g.js";
66
+ import { a as listSlackPins, c as reactSlackMessage, d as removeSlackReaction, f as sendSlackMessage, i as listSlackEmojis, l as readSlackMessages, n as editSlackMessage, o as listSlackReactions, p as unpinSlackMessage, r as getSlackMemberInfo, s as pinSlackMessage, t as deleteSlackMessage, u as removeOwnSlackReactions } from "./actions-CysoQjk1.js";
67
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-CxRDAM7m.js";
68
+ import { t as createDraftStreamLoop } from "./draft-stream-loop-DZ1OAyye.js";
69
+ import { t as resolveSlackUserAllowlist } from "./resolve-users-C1sjzEsV.js";
70
+ import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-BPFt4O-j.js";
71
+ import { t as resolveSlackChannelAllowlist } from "./probe-DbhD54Aw.js";
72
+ import { t as probeSlack } from "./probe-CJ6lN-jD.js";
73
+ import SlackBolt from "@slack/bolt";
74
+
75
+ //#region src/slack/http/registry.ts
76
+ const slackHttpRoutes = /* @__PURE__ */ new Map();
77
+ function normalizeSlackWebhookPath(path) {
78
+ const trimmed = path?.trim();
79
+ if (!trimmed) return "/slack/events";
80
+ return trimmed.startsWith("/") ? trimmed : `/${trimmed}`;
81
+ }
82
+ function registerSlackHttpHandler(params) {
83
+ const normalizedPath = normalizeSlackWebhookPath(params.path);
84
+ if (slackHttpRoutes.has(normalizedPath)) {
85
+ const suffix = params.accountId ? ` for account "${params.accountId}"` : "";
86
+ params.log?.(`slack: webhook path ${normalizedPath} already registered${suffix}`);
87
+ return () => {};
88
+ }
89
+ slackHttpRoutes.set(normalizedPath, params.handler);
90
+ return () => {
91
+ slackHttpRoutes.delete(normalizedPath);
92
+ };
93
+ }
94
+
95
+ //#endregion
96
+ //#region src/slack/monitor/commands.ts
97
+ /**
98
+ * Strip Slack mentions (<@U123>, <@U123|name>) so command detection works on
99
+ * normalized text. Use in both prepare and debounce gate for consistency.
100
+ */
101
+ function stripSlackMentionsForCommandDetection(text) {
102
+ return (text ?? "").replace(/<@[^>]+>/g, " ").replace(/\s+/g, " ").trim();
103
+ }
104
+ function normalizeSlackSlashCommandName(raw) {
105
+ return raw.replace(/^\/+/, "");
106
+ }
107
+ function resolveSlackSlashCommandConfig(raw) {
108
+ const name = normalizeSlackSlashCommandName(raw?.name?.trim() || "fased") || "fased";
109
+ return {
110
+ enabled: raw?.enabled === true,
111
+ name,
112
+ sessionPrefix: raw?.sessionPrefix?.trim() || "slack:slash",
113
+ ephemeral: raw?.ephemeral !== false
114
+ };
115
+ }
116
+ function buildSlackSlashCommandMatcher(name) {
117
+ const escaped = normalizeSlackSlashCommandName(name).replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
118
+ return new RegExp(`^/?${escaped}$`);
119
+ }
120
+
121
+ //#endregion
122
+ //#region src/slack/monitor/policy.ts
123
+ function isSlackChannelAllowedByPolicy(params) {
124
+ const { groupPolicy, channelAllowlistConfigured, channelAllowed } = params;
125
+ if (groupPolicy === "disabled") return false;
126
+ if (groupPolicy === "open") return true;
127
+ if (!channelAllowlistConfigured) return false;
128
+ return channelAllowed;
129
+ }
130
+
131
+ //#endregion
132
+ //#region src/slack/monitor/channel-config.ts
133
+ function firstDefined(...values) {
134
+ for (const value of values) if (typeof value !== "undefined") return value;
135
+ }
136
+ function resolveSlackChannelLabel(params) {
137
+ const channelName = params.channelName?.trim();
138
+ if (channelName) return `#${normalizeSlackSlug(channelName) || channelName}`;
139
+ const channelId = params.channelId?.trim();
140
+ return channelId ? `#${channelId}` : "unknown channel";
141
+ }
142
+ function resolveSlackChannelConfig(params) {
143
+ const { channelId, channelName, channels, defaultRequireMention } = params;
144
+ const entries = channels ?? {};
145
+ const keys = Object.keys(entries);
146
+ const normalizedName = channelName ? normalizeSlackSlug(channelName) : "";
147
+ const directName = channelName ? channelName.trim() : "";
148
+ const channelIdLower = channelId.toLowerCase();
149
+ const channelIdUpper = channelId.toUpperCase();
150
+ const match = resolveChannelEntryMatchWithFallback({
151
+ entries,
152
+ keys: buildChannelKeyCandidates(channelId, channelIdLower !== channelId ? channelIdLower : void 0, channelIdUpper !== channelId ? channelIdUpper : void 0, channelName ? `#${directName}` : void 0, directName, normalizedName),
153
+ wildcardKey: "*"
154
+ });
155
+ const { entry: matched, wildcardEntry: fallback } = match;
156
+ const requireMentionDefault = defaultRequireMention ?? true;
157
+ if (keys.length === 0) return {
158
+ allowed: true,
159
+ requireMention: requireMentionDefault
160
+ };
161
+ if (!matched && !fallback) return {
162
+ allowed: false,
163
+ requireMention: requireMentionDefault
164
+ };
165
+ const resolved = matched ?? fallback ?? {};
166
+ return applyChannelMatchMeta({
167
+ allowed: firstDefined(resolved.enabled, resolved.allow, fallback?.enabled, fallback?.allow, true) ?? true,
168
+ requireMention: firstDefined(resolved.requireMention, fallback?.requireMention, requireMentionDefault) ?? requireMentionDefault,
169
+ allowBots: firstDefined(resolved.allowBots, fallback?.allowBots),
170
+ users: firstDefined(resolved.users, fallback?.users),
171
+ skills: firstDefined(resolved.skills, fallback?.skills),
172
+ systemPrompt: firstDefined(resolved.systemPrompt, fallback?.systemPrompt)
173
+ }, match);
174
+ }
175
+
176
+ //#endregion
177
+ //#region src/slack/monitor/context.ts
178
+ function inferSlackChannelType(channelId) {
179
+ const trimmed = channelId?.trim();
180
+ if (!trimmed) return;
181
+ if (trimmed.startsWith("D")) return "im";
182
+ if (trimmed.startsWith("C")) return "channel";
183
+ if (trimmed.startsWith("G")) return "group";
184
+ }
185
+ function normalizeSlackChannelType(channelType, channelId) {
186
+ const normalized = channelType?.trim().toLowerCase();
187
+ const inferred = inferSlackChannelType(channelId);
188
+ if (normalized === "im" || normalized === "mpim" || normalized === "channel" || normalized === "group") {
189
+ if (inferred === "im" && normalized !== "im") return "im";
190
+ return normalized;
191
+ }
192
+ return inferred ?? "channel";
193
+ }
194
+ function createSlackMonitorContext(params) {
195
+ const channelHistories = /* @__PURE__ */ new Map();
196
+ const logger = getChildLogger({ module: "slack-auto-reply" });
197
+ const channelCache = /* @__PURE__ */ new Map();
198
+ const userCache = /* @__PURE__ */ new Map();
199
+ const seenMessages = createDedupeCache({
200
+ ttlMs: 6e4,
201
+ maxSize: 500
202
+ });
203
+ const allowFrom = normalizeAllowList(params.allowFrom);
204
+ const groupDmChannels = normalizeAllowList(params.groupDmChannels);
205
+ const defaultRequireMention = params.defaultRequireMention ?? true;
206
+ const markMessageSeen = (channelId, ts) => {
207
+ if (!channelId || !ts) return false;
208
+ return seenMessages.check(`${channelId}:${ts}`);
209
+ };
210
+ const resolveSlackSystemEventSessionKey = (p) => {
211
+ const channelId = p.channelId?.trim() ?? "";
212
+ if (!channelId) return params.mainKey;
213
+ const channelType = normalizeSlackChannelType(p.channelType, channelId);
214
+ const isDirectMessage = channelType === "im";
215
+ const isGroup = channelType === "mpim";
216
+ const from = isDirectMessage ? `slack:${channelId}` : isGroup ? `slack:group:${channelId}` : `slack:channel:${channelId}`;
217
+ const chatType = isDirectMessage ? "direct" : isGroup ? "group" : "channel";
218
+ return resolveSessionKey(params.sessionScope, {
219
+ From: from,
220
+ ChatType: chatType,
221
+ Provider: "slack"
222
+ }, params.mainKey);
223
+ };
224
+ const resolveChannelName = async (channelId) => {
225
+ const cached = channelCache.get(channelId);
226
+ if (cached) return cached;
227
+ try {
228
+ const info = await params.app.client.conversations.info({
229
+ token: params.botToken,
230
+ channel: channelId
231
+ });
232
+ const name = info.channel && "name" in info.channel ? info.channel.name : void 0;
233
+ const channel = info.channel ?? void 0;
234
+ const entry = {
235
+ name,
236
+ type: channel?.is_im ? "im" : channel?.is_mpim ? "mpim" : channel?.is_channel ? "channel" : channel?.is_group ? "group" : void 0,
237
+ topic: channel && "topic" in channel ? channel.topic?.value ?? void 0 : void 0,
238
+ purpose: channel && "purpose" in channel ? channel.purpose?.value ?? void 0 : void 0
239
+ };
240
+ channelCache.set(channelId, entry);
241
+ return entry;
242
+ } catch {
243
+ return {};
244
+ }
245
+ };
246
+ const resolveUserName = async (userId) => {
247
+ const cached = userCache.get(userId);
248
+ if (cached) return cached;
249
+ try {
250
+ const info = await params.app.client.users.info({
251
+ token: params.botToken,
252
+ user: userId
253
+ });
254
+ const profile = info.user?.profile;
255
+ const entry = { name: profile?.display_name || profile?.real_name || info.user?.name || void 0 };
256
+ userCache.set(userId, entry);
257
+ return entry;
258
+ } catch {
259
+ return {};
260
+ }
261
+ };
262
+ const setSlackThreadStatus = async (p) => {
263
+ if (!p.threadTs) return;
264
+ const payload = {
265
+ token: params.botToken,
266
+ channel_id: p.channelId,
267
+ thread_ts: p.threadTs,
268
+ status: p.status
269
+ };
270
+ const client = params.app.client;
271
+ try {
272
+ if (client.assistant?.threads?.setStatus) {
273
+ await client.assistant.threads.setStatus(payload);
274
+ return;
275
+ }
276
+ if (typeof client.apiCall === "function") await client.apiCall("assistant.threads.setStatus", payload);
277
+ } catch (err) {
278
+ logVerbose(`slack status update failed for channel ${p.channelId}: ${String(err)}`);
279
+ }
280
+ };
281
+ const isChannelAllowed = (p) => {
282
+ const channelType = normalizeSlackChannelType(p.channelType, p.channelId);
283
+ const isDirectMessage = channelType === "im";
284
+ const isGroupDm = channelType === "mpim";
285
+ const isRoom = channelType === "channel" || channelType === "group";
286
+ if (isDirectMessage && !params.dmEnabled) return false;
287
+ if (isGroupDm && !params.groupDmEnabled) return false;
288
+ if (isGroupDm && groupDmChannels.length > 0) {
289
+ const allowList = normalizeAllowListLower(groupDmChannels);
290
+ const candidates = [
291
+ p.channelId,
292
+ p.channelName ? `#${p.channelName}` : void 0,
293
+ p.channelName,
294
+ p.channelName ? normalizeSlackSlug(p.channelName) : void 0
295
+ ].filter((value) => Boolean(value)).map((value) => value.toLowerCase());
296
+ if (!(allowList.includes("*") || candidates.some((candidate) => allowList.includes(candidate)))) return false;
297
+ }
298
+ if (isRoom && p.channelId) {
299
+ const channelConfig = resolveSlackChannelConfig({
300
+ channelId: p.channelId,
301
+ channelName: p.channelName,
302
+ channels: params.channelsConfig,
303
+ defaultRequireMention
304
+ });
305
+ const channelMatchMeta = formatAllowlistMatchMeta(channelConfig);
306
+ const channelAllowed = channelConfig?.allowed !== false;
307
+ const channelAllowlistConfigured = Boolean(params.channelsConfig) && Object.keys(params.channelsConfig ?? {}).length > 0;
308
+ if (!isSlackChannelAllowedByPolicy({
309
+ groupPolicy: params.groupPolicy,
310
+ channelAllowlistConfigured,
311
+ channelAllowed
312
+ })) {
313
+ logVerbose(`slack: drop channel ${p.channelId} (groupPolicy=${params.groupPolicy}, ${channelMatchMeta})`);
314
+ return false;
315
+ }
316
+ const hasExplicitConfig = Boolean(channelConfig?.matchSource);
317
+ if (!channelAllowed && (params.groupPolicy !== "open" || hasExplicitConfig)) {
318
+ logVerbose(`slack: drop channel ${p.channelId} (${channelMatchMeta})`);
319
+ return false;
320
+ }
321
+ logVerbose(`slack: allow channel ${p.channelId} (${channelMatchMeta})`);
322
+ }
323
+ return true;
324
+ };
325
+ const shouldDropMismatchedSlackEvent = (body) => {
326
+ if (!body || typeof body !== "object") return false;
327
+ const raw = body;
328
+ const incomingApiAppId = typeof raw.api_app_id === "string" ? raw.api_app_id : "";
329
+ const incomingTeamId = typeof raw.team_id === "string" ? raw.team_id : "";
330
+ if (params.apiAppId && incomingApiAppId && incomingApiAppId !== params.apiAppId) {
331
+ logVerbose(`slack: drop event with api_app_id=${incomingApiAppId} (expected ${params.apiAppId})`);
332
+ return true;
333
+ }
334
+ if (params.teamId && incomingTeamId && incomingTeamId !== params.teamId) {
335
+ logVerbose(`slack: drop event with team_id=${incomingTeamId} (expected ${params.teamId})`);
336
+ return true;
337
+ }
338
+ return false;
339
+ };
340
+ return {
341
+ cfg: params.cfg,
342
+ accountId: params.accountId,
343
+ botToken: params.botToken,
344
+ app: params.app,
345
+ runtime: params.runtime,
346
+ botUserId: params.botUserId,
347
+ teamId: params.teamId,
348
+ apiAppId: params.apiAppId,
349
+ historyLimit: params.historyLimit,
350
+ channelHistories,
351
+ sessionScope: params.sessionScope,
352
+ mainKey: params.mainKey,
353
+ dmEnabled: params.dmEnabled,
354
+ dmPolicy: params.dmPolicy,
355
+ allowFrom,
356
+ allowNameMatching: params.allowNameMatching,
357
+ groupDmEnabled: params.groupDmEnabled,
358
+ groupDmChannels,
359
+ defaultRequireMention,
360
+ channelsConfig: params.channelsConfig,
361
+ groupPolicy: params.groupPolicy,
362
+ useAccessGroups: params.useAccessGroups,
363
+ reactionMode: params.reactionMode,
364
+ reactionAllowlist: params.reactionAllowlist,
365
+ replyToMode: params.replyToMode,
366
+ threadHistoryScope: params.threadHistoryScope,
367
+ threadInheritParent: params.threadInheritParent,
368
+ slashCommand: params.slashCommand,
369
+ textLimit: params.textLimit,
370
+ ackReactionScope: params.ackReactionScope,
371
+ mediaMaxBytes: params.mediaMaxBytes,
372
+ removeAckAfterReply: params.removeAckAfterReply,
373
+ logger,
374
+ markMessageSeen,
375
+ shouldDropMismatchedSlackEvent,
376
+ resolveSlackSystemEventSessionKey,
377
+ isChannelAllowed,
378
+ resolveChannelName,
379
+ resolveUserName,
380
+ setSlackThreadStatus
381
+ };
382
+ }
383
+
384
+ //#endregion
385
+ //#region src/slack/channel-migration.ts
386
+ function resolveAccountChannels(cfg, accountId) {
387
+ if (!accountId) return {};
388
+ const normalized = normalizeAccountId(accountId);
389
+ const accounts = cfg.channels?.slack?.accounts;
390
+ if (!accounts || typeof accounts !== "object") return {};
391
+ const exact = accounts[normalized];
392
+ if (exact?.channels) return { channels: exact.channels };
393
+ const matchKey = Object.keys(accounts).find((key) => key.toLowerCase() === normalized.toLowerCase());
394
+ return { channels: matchKey ? accounts[matchKey]?.channels : void 0 };
395
+ }
396
+ function migrateSlackChannelsInPlace(channels, oldChannelId, newChannelId) {
397
+ if (!channels) return {
398
+ migrated: false,
399
+ skippedExisting: false
400
+ };
401
+ if (oldChannelId === newChannelId) return {
402
+ migrated: false,
403
+ skippedExisting: false
404
+ };
405
+ if (!Object.hasOwn(channels, oldChannelId)) return {
406
+ migrated: false,
407
+ skippedExisting: false
408
+ };
409
+ if (Object.hasOwn(channels, newChannelId)) return {
410
+ migrated: false,
411
+ skippedExisting: true
412
+ };
413
+ channels[newChannelId] = channels[oldChannelId];
414
+ delete channels[oldChannelId];
415
+ return {
416
+ migrated: true,
417
+ skippedExisting: false
418
+ };
419
+ }
420
+ function migrateSlackChannelConfig(params) {
421
+ const scopes = [];
422
+ let migrated = false;
423
+ let skippedExisting = false;
424
+ const accountChannels = resolveAccountChannels(params.cfg, params.accountId).channels;
425
+ if (accountChannels) {
426
+ const result = migrateSlackChannelsInPlace(accountChannels, params.oldChannelId, params.newChannelId);
427
+ if (result.migrated) {
428
+ migrated = true;
429
+ scopes.push("account");
430
+ }
431
+ if (result.skippedExisting) skippedExisting = true;
432
+ }
433
+ const globalChannels = params.cfg.channels?.slack?.channels;
434
+ if (globalChannels) {
435
+ const result = migrateSlackChannelsInPlace(globalChannels, params.oldChannelId, params.newChannelId);
436
+ if (result.migrated) {
437
+ migrated = true;
438
+ scopes.push("global");
439
+ }
440
+ if (result.skippedExisting) skippedExisting = true;
441
+ }
442
+ return {
443
+ migrated,
444
+ skippedExisting,
445
+ scopes
446
+ };
447
+ }
448
+
449
+ //#endregion
450
+ //#region src/slack/monitor/events/channels.ts
451
+ function registerSlackChannelEvents(params) {
452
+ const { ctx } = params;
453
+ const enqueueChannelSystemEvent = (params) => {
454
+ if (!ctx.isChannelAllowed({
455
+ channelId: params.channelId,
456
+ channelName: params.channelName,
457
+ channelType: "channel"
458
+ })) return;
459
+ const label = resolveSlackChannelLabel({
460
+ channelId: params.channelId,
461
+ channelName: params.channelName
462
+ });
463
+ const sessionKey = ctx.resolveSlackSystemEventSessionKey({
464
+ channelId: params.channelId,
465
+ channelType: "channel"
466
+ });
467
+ enqueueSystemEvent(`Slack channel ${params.kind}: ${label}.`, {
468
+ sessionKey,
469
+ contextKey: `slack:channel:${params.kind}:${params.channelId ?? params.channelName ?? "unknown"}`
470
+ });
471
+ };
472
+ ctx.app.event("channel_created", async ({ event, body }) => {
473
+ try {
474
+ if (ctx.shouldDropMismatchedSlackEvent(body)) return;
475
+ const payload = event;
476
+ const channelId = payload.channel?.id;
477
+ const channelName = payload.channel?.name;
478
+ enqueueChannelSystemEvent({
479
+ kind: "created",
480
+ channelId,
481
+ channelName
482
+ });
483
+ } catch (err) {
484
+ ctx.runtime.error?.(danger(`slack channel created handler failed: ${String(err)}`));
485
+ }
486
+ });
487
+ ctx.app.event("channel_rename", async ({ event, body }) => {
488
+ try {
489
+ if (ctx.shouldDropMismatchedSlackEvent(body)) return;
490
+ const payload = event;
491
+ const channelId = payload.channel?.id;
492
+ enqueueChannelSystemEvent({
493
+ kind: "renamed",
494
+ channelId,
495
+ channelName: payload.channel?.name_normalized ?? payload.channel?.name
496
+ });
497
+ } catch (err) {
498
+ ctx.runtime.error?.(danger(`slack channel rename handler failed: ${String(err)}`));
499
+ }
500
+ });
501
+ ctx.app.event("channel_id_changed", async ({ event, body }) => {
502
+ try {
503
+ if (ctx.shouldDropMismatchedSlackEvent(body)) return;
504
+ const payload = event;
505
+ const oldChannelId = payload.old_channel_id;
506
+ const newChannelId = payload.new_channel_id;
507
+ if (!oldChannelId || !newChannelId) return;
508
+ const label = resolveSlackChannelLabel({
509
+ channelId: newChannelId,
510
+ channelName: (await ctx.resolveChannelName(newChannelId))?.name
511
+ });
512
+ ctx.runtime.log?.(warn(`[slack] Channel ID changed: ${oldChannelId} → ${newChannelId} (${label})`));
513
+ if (!resolveChannelConfigWrites({
514
+ cfg: ctx.cfg,
515
+ channelId: "slack",
516
+ accountId: ctx.accountId
517
+ })) {
518
+ ctx.runtime.log?.(warn("[slack] Config writes disabled; skipping channel config migration."));
519
+ return;
520
+ }
521
+ const currentConfig = loadConfig();
522
+ const migration = migrateSlackChannelConfig({
523
+ cfg: currentConfig,
524
+ accountId: ctx.accountId,
525
+ oldChannelId,
526
+ newChannelId
527
+ });
528
+ if (migration.migrated) {
529
+ migrateSlackChannelConfig({
530
+ cfg: ctx.cfg,
531
+ accountId: ctx.accountId,
532
+ oldChannelId,
533
+ newChannelId
534
+ });
535
+ await writeConfigFile(currentConfig);
536
+ ctx.runtime.log?.(warn("[slack] Channel config migrated and saved successfully."));
537
+ } else if (migration.skippedExisting) ctx.runtime.log?.(warn(`[slack] Channel config already exists for ${newChannelId}; leaving ${oldChannelId} unchanged`));
538
+ else ctx.runtime.log?.(warn(`[slack] No config found for old channel ID ${oldChannelId}; migration logged only`));
539
+ } catch (err) {
540
+ ctx.runtime.error?.(danger(`slack channel_id_changed handler failed: ${String(err)}`));
541
+ }
542
+ });
543
+ }
544
+
545
+ //#endregion
546
+ //#region src/slack/modal-metadata.ts
547
+ function normalizeString(value) {
548
+ return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
549
+ }
550
+ function parseSlackModalPrivateMetadata(raw) {
551
+ if (typeof raw !== "string" || raw.trim().length === 0) return {};
552
+ try {
553
+ const parsed = JSON.parse(raw);
554
+ return {
555
+ sessionKey: normalizeString(parsed.sessionKey),
556
+ channelId: normalizeString(parsed.channelId),
557
+ channelType: normalizeString(parsed.channelType),
558
+ userId: normalizeString(parsed.userId)
559
+ };
560
+ } catch {
561
+ return {};
562
+ }
563
+ }
564
+
565
+ //#endregion
566
+ //#region src/slack/monitor/auth.ts
567
+ async function resolveSlackEffectiveAllowFrom(ctx, options) {
568
+ const storeAllowFrom = options?.includePairingStore === true ? await readStoreAllowFromForDmPolicy({
569
+ provider: "slack",
570
+ accountId: ctx.accountId,
571
+ dmPolicy: ctx.dmPolicy
572
+ }) : [];
573
+ const allowFrom = normalizeAllowList([...ctx.allowFrom, ...storeAllowFrom]);
574
+ return {
575
+ allowFrom,
576
+ allowFromLower: normalizeAllowListLower(allowFrom)
577
+ };
578
+ }
579
+ function isSlackSenderAllowListed(params) {
580
+ const { allowListLower, senderId, senderName, allowNameMatching } = params;
581
+ return allowListLower.length === 0 || allowListMatches({
582
+ allowList: allowListLower,
583
+ id: senderId,
584
+ name: senderName,
585
+ allowNameMatching
586
+ });
587
+ }
588
+ async function authorizeSlackSystemEventSender(params) {
589
+ const senderId = params.senderId?.trim();
590
+ if (!senderId) return {
591
+ allowed: false,
592
+ reason: "missing-sender"
593
+ };
594
+ const expectedSenderId = params.expectedSenderId?.trim();
595
+ if (expectedSenderId && expectedSenderId !== senderId) return {
596
+ allowed: false,
597
+ reason: "sender-mismatch"
598
+ };
599
+ const channelId = params.channelId?.trim();
600
+ let channelType = normalizeSlackChannelType(params.channelType, channelId);
601
+ let channelName;
602
+ if (channelId) {
603
+ const info = await params.ctx.resolveChannelName(channelId).catch(() => ({}));
604
+ channelName = info.name;
605
+ channelType = normalizeSlackChannelType(params.channelType ?? info.type, channelId);
606
+ if (!params.ctx.isChannelAllowed({
607
+ channelId,
608
+ channelName,
609
+ channelType
610
+ })) return {
611
+ allowed: false,
612
+ reason: "channel-not-allowed",
613
+ channelType,
614
+ channelName
615
+ };
616
+ }
617
+ const senderName = (await params.ctx.resolveUserName(senderId).catch(() => ({}))).name;
618
+ const resolveAllowFromLower = async (includePairingStore = false) => (await resolveSlackEffectiveAllowFrom(params.ctx, { includePairingStore })).allowFromLower;
619
+ if (channelType === "im") {
620
+ if (!params.ctx.dmEnabled || params.ctx.dmPolicy === "disabled") return {
621
+ allowed: false,
622
+ reason: "dm-disabled",
623
+ channelType,
624
+ channelName
625
+ };
626
+ if (params.ctx.dmPolicy !== "open") {
627
+ if (!isSlackSenderAllowListed({
628
+ allowListLower: await resolveAllowFromLower(true),
629
+ senderId,
630
+ senderName,
631
+ allowNameMatching: params.ctx.allowNameMatching
632
+ })) return {
633
+ allowed: false,
634
+ reason: "sender-not-allowlisted",
635
+ channelType,
636
+ channelName
637
+ };
638
+ }
639
+ } else if (!channelId) {
640
+ const allowFromLower = await resolveAllowFromLower(false);
641
+ if (allowFromLower.length > 0) {
642
+ if (!isSlackSenderAllowListed({
643
+ allowListLower: allowFromLower,
644
+ senderId,
645
+ senderName,
646
+ allowNameMatching: params.ctx.allowNameMatching
647
+ })) return {
648
+ allowed: false,
649
+ reason: "sender-not-allowlisted"
650
+ };
651
+ }
652
+ } else {
653
+ const channelConfig = resolveSlackChannelConfig({
654
+ channelId,
655
+ channelName,
656
+ channels: params.ctx.channelsConfig,
657
+ defaultRequireMention: params.ctx.defaultRequireMention
658
+ });
659
+ if (Array.isArray(channelConfig?.users) && channelConfig.users.length > 0) {
660
+ if (!resolveSlackUserAllowed({
661
+ allowList: channelConfig?.users,
662
+ userId: senderId,
663
+ userName: senderName,
664
+ allowNameMatching: params.ctx.allowNameMatching
665
+ })) return {
666
+ allowed: false,
667
+ reason: "sender-not-channel-allowed",
668
+ channelType,
669
+ channelName
670
+ };
671
+ }
672
+ }
673
+ return {
674
+ allowed: true,
675
+ channelType,
676
+ channelName
677
+ };
678
+ }
679
+
680
+ //#endregion
681
+ //#region src/slack/monitor/mrkdwn.ts
682
+ function escapeSlackMrkdwn(value) {
683
+ return value.replaceAll("\\", "\\\\").replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replace(/([*_`~])/g, "\\$1");
684
+ }
685
+
686
+ //#endregion
687
+ //#region src/slack/monitor/events/interactions.ts
688
+ const FASED_ACTION_PREFIX = "fased:";
689
+ function readOptionValues(options) {
690
+ if (!Array.isArray(options)) return;
691
+ const values = options.map((option) => option && typeof option === "object" ? option.value : null).filter((value) => typeof value === "string" && value.trim().length > 0);
692
+ return values.length > 0 ? values : void 0;
693
+ }
694
+ function readOptionLabels(options) {
695
+ if (!Array.isArray(options)) return;
696
+ const labels = options.map((option) => option && typeof option === "object" ? option.text?.text ?? null : null).filter((label) => typeof label === "string" && label.trim().length > 0);
697
+ return labels.length > 0 ? labels : void 0;
698
+ }
699
+ function uniqueNonEmptyStrings(values) {
700
+ const unique = [];
701
+ const seen = /* @__PURE__ */ new Set();
702
+ for (const entry of values) {
703
+ if (typeof entry !== "string") continue;
704
+ const trimmed = entry.trim();
705
+ if (!trimmed || seen.has(trimmed)) continue;
706
+ seen.add(trimmed);
707
+ unique.push(trimmed);
708
+ }
709
+ return unique;
710
+ }
711
+ function collectRichTextFragments(value, out) {
712
+ if (!value || typeof value !== "object") return;
713
+ const typed = value;
714
+ if (typeof typed.text === "string" && typed.text.trim().length > 0) out.push(typed.text.trim());
715
+ if (Array.isArray(typed.elements)) for (const child of typed.elements) collectRichTextFragments(child, out);
716
+ }
717
+ function summarizeRichTextPreview(value) {
718
+ const fragments = [];
719
+ collectRichTextFragments(value, fragments);
720
+ if (fragments.length === 0) return;
721
+ const joined = fragments.join(" ").replace(/\s+/g, " ").trim();
722
+ if (!joined) return;
723
+ const max = 120;
724
+ return joined.length <= max ? joined : `${joined.slice(0, max - 1)}…`;
725
+ }
726
+ function readInteractionAction(raw) {
727
+ if (!raw || typeof raw !== "object" || Array.isArray(raw)) return;
728
+ return raw;
729
+ }
730
+ function summarizeAction(action) {
731
+ const typed = action;
732
+ const actionType = typed.type;
733
+ const selectedUsers = uniqueNonEmptyStrings([...typed.selected_user ? [typed.selected_user] : [], ...Array.isArray(typed.selected_users) ? typed.selected_users : []]);
734
+ const selectedChannels = uniqueNonEmptyStrings([...typed.selected_channel ? [typed.selected_channel] : [], ...Array.isArray(typed.selected_channels) ? typed.selected_channels : []]);
735
+ const selectedConversations = uniqueNonEmptyStrings([...typed.selected_conversation ? [typed.selected_conversation] : [], ...Array.isArray(typed.selected_conversations) ? typed.selected_conversations : []]);
736
+ const selectedValues = uniqueNonEmptyStrings([
737
+ ...typed.selected_option?.value ? [typed.selected_option.value] : [],
738
+ ...readOptionValues(typed.selected_options) ?? [],
739
+ ...selectedUsers,
740
+ ...selectedChannels,
741
+ ...selectedConversations
742
+ ]);
743
+ const selectedLabels = uniqueNonEmptyStrings([...typed.selected_option?.text?.text ? [typed.selected_option.text.text] : [], ...readOptionLabels(typed.selected_options) ?? []]);
744
+ const inputValue = typeof typed.value === "string" ? typed.value : void 0;
745
+ const inputNumber = actionType === "number_input" && inputValue != null ? Number.parseFloat(inputValue) : void 0;
746
+ const parsedNumber = Number.isFinite(inputNumber) ? inputNumber : void 0;
747
+ const inputEmail = actionType === "email_text_input" && inputValue?.includes("@") ? inputValue : void 0;
748
+ let inputUrl;
749
+ if (actionType === "url_text_input" && inputValue) try {
750
+ inputUrl = new URL(inputValue).toString();
751
+ } catch {
752
+ inputUrl = void 0;
753
+ }
754
+ const richTextValue = actionType === "rich_text_input" ? typed.rich_text_value : void 0;
755
+ const richTextPreview = summarizeRichTextPreview(richTextValue);
756
+ return {
757
+ actionType,
758
+ inputKind: actionType === "number_input" ? "number" : actionType === "email_text_input" ? "email" : actionType === "url_text_input" ? "url" : actionType === "rich_text_input" ? "rich_text" : inputValue != null ? "text" : void 0,
759
+ value: typed.value,
760
+ selectedValues: selectedValues.length > 0 ? selectedValues : void 0,
761
+ selectedUsers: selectedUsers.length > 0 ? selectedUsers : void 0,
762
+ selectedChannels: selectedChannels.length > 0 ? selectedChannels : void 0,
763
+ selectedConversations: selectedConversations.length > 0 ? selectedConversations : void 0,
764
+ selectedLabels: selectedLabels.length > 0 ? selectedLabels : void 0,
765
+ selectedDate: typed.selected_date,
766
+ selectedTime: typed.selected_time,
767
+ selectedDateTime: typeof typed.selected_date_time === "number" ? typed.selected_date_time : void 0,
768
+ inputValue,
769
+ inputNumber: parsedNumber,
770
+ inputEmail,
771
+ inputUrl,
772
+ richTextValue,
773
+ richTextPreview,
774
+ workflowTriggerUrl: typed.workflow?.trigger_url,
775
+ workflowId: typed.workflow?.workflow_id
776
+ };
777
+ }
778
+ function isBulkActionsBlock(block) {
779
+ return block.type === "actions" && Array.isArray(block.elements) && block.elements.length > 0 && block.elements.every((el) => typeof el.action_id === "string" && el.action_id.includes("_all_"));
780
+ }
781
+ function formatInteractionSelectionLabel(params) {
782
+ if (params.summary.actionType === "button" && params.buttonText?.trim()) return params.buttonText.trim();
783
+ if (params.summary.selectedLabels?.length) {
784
+ if (params.summary.selectedLabels.length <= 3) return params.summary.selectedLabels.join(", ");
785
+ return `${params.summary.selectedLabels.slice(0, 3).join(", ")} +${params.summary.selectedLabels.length - 3}`;
786
+ }
787
+ if (params.summary.selectedValues?.length) {
788
+ if (params.summary.selectedValues.length <= 3) return params.summary.selectedValues.join(", ");
789
+ return `${params.summary.selectedValues.slice(0, 3).join(", ")} +${params.summary.selectedValues.length - 3}`;
790
+ }
791
+ if (params.summary.selectedDate) return params.summary.selectedDate;
792
+ if (params.summary.selectedTime) return params.summary.selectedTime;
793
+ if (typeof params.summary.selectedDateTime === "number") return (/* @__PURE__ */ new Date(params.summary.selectedDateTime * 1e3)).toISOString();
794
+ if (params.summary.richTextPreview) return params.summary.richTextPreview;
795
+ if (params.summary.value?.trim()) return params.summary.value.trim();
796
+ return params.actionId;
797
+ }
798
+ function formatInteractionConfirmationText(params) {
799
+ const actor = params.userId?.trim() ? ` by <@${params.userId.trim()}>` : "";
800
+ return `:white_check_mark: *${escapeSlackMrkdwn(params.selectedLabel)}* selected${actor}`;
801
+ }
802
+ function summarizeViewState(values) {
803
+ if (!values || typeof values !== "object") return [];
804
+ const entries = [];
805
+ for (const [blockId, blockValue] of Object.entries(values)) {
806
+ if (!blockValue || typeof blockValue !== "object") continue;
807
+ for (const [actionId, rawAction] of Object.entries(blockValue)) {
808
+ if (!rawAction || typeof rawAction !== "object") continue;
809
+ const actionSummary = summarizeAction(rawAction);
810
+ entries.push({
811
+ blockId,
812
+ actionId,
813
+ ...actionSummary
814
+ });
815
+ }
816
+ }
817
+ return entries;
818
+ }
819
+ function resolveModalSessionRouting(params) {
820
+ const metadata = params.metadata;
821
+ if (metadata.sessionKey) return {
822
+ sessionKey: metadata.sessionKey,
823
+ channelId: metadata.channelId,
824
+ channelType: metadata.channelType
825
+ };
826
+ if (metadata.channelId) return {
827
+ sessionKey: params.ctx.resolveSlackSystemEventSessionKey({
828
+ channelId: metadata.channelId,
829
+ channelType: metadata.channelType
830
+ }),
831
+ channelId: metadata.channelId,
832
+ channelType: metadata.channelType
833
+ };
834
+ return { sessionKey: params.ctx.resolveSlackSystemEventSessionKey({}) };
835
+ }
836
+ function summarizeSlackViewLifecycleContext(view) {
837
+ const rootViewId = view.root_view_id;
838
+ const previousViewId = view.previous_view_id;
839
+ return {
840
+ rootViewId,
841
+ previousViewId,
842
+ externalId: view.external_id,
843
+ viewHash: view.hash,
844
+ isStackedView: Boolean(previousViewId)
845
+ };
846
+ }
847
+ function resolveSlackModalEventBase(params) {
848
+ const metadata = parseSlackModalPrivateMetadata(params.body.view?.private_metadata);
849
+ const callbackId = params.body.view?.callback_id ?? "unknown";
850
+ const userId = params.body.user?.id ?? "unknown";
851
+ const viewId = params.body.view?.id;
852
+ const inputs = summarizeViewState(params.body.view?.state?.values);
853
+ const sessionRouting = resolveModalSessionRouting({
854
+ ctx: params.ctx,
855
+ metadata
856
+ });
857
+ return {
858
+ callbackId,
859
+ userId,
860
+ expectedUserId: metadata.userId,
861
+ viewId,
862
+ sessionRouting,
863
+ payload: {
864
+ actionId: `view:${callbackId}`,
865
+ callbackId,
866
+ viewId,
867
+ userId,
868
+ teamId: params.body.team?.id,
869
+ ...summarizeSlackViewLifecycleContext({
870
+ root_view_id: params.body.view?.root_view_id,
871
+ previous_view_id: params.body.view?.previous_view_id,
872
+ external_id: params.body.view?.external_id,
873
+ hash: params.body.view?.hash
874
+ }),
875
+ privateMetadata: params.body.view?.private_metadata,
876
+ routedChannelId: sessionRouting.channelId,
877
+ routedChannelType: sessionRouting.channelType,
878
+ inputs
879
+ }
880
+ };
881
+ }
882
+ async function emitSlackModalLifecycleEvent(params) {
883
+ const { callbackId, userId, expectedUserId, viewId, sessionRouting, payload } = resolveSlackModalEventBase({
884
+ ctx: params.ctx,
885
+ body: params.body
886
+ });
887
+ const isViewClosed = params.interactionType === "view_closed";
888
+ const isCleared = params.body.is_cleared === true;
889
+ const eventPayload = isViewClosed ? {
890
+ interactionType: params.interactionType,
891
+ ...payload,
892
+ isCleared
893
+ } : {
894
+ interactionType: params.interactionType,
895
+ ...payload
896
+ };
897
+ if (isViewClosed) params.ctx.runtime.log?.(`slack:interaction view_closed callback=${callbackId} user=${userId} cleared=${isCleared}`);
898
+ else params.ctx.runtime.log?.(`slack:interaction view_submission callback=${callbackId} user=${userId} inputs=${payload.inputs.length}`);
899
+ if (!expectedUserId) {
900
+ params.ctx.runtime.log?.(`slack:interaction drop modal callback=${callbackId} user=${userId} reason=missing-expected-user`);
901
+ return;
902
+ }
903
+ const auth = await authorizeSlackSystemEventSender({
904
+ ctx: params.ctx,
905
+ senderId: userId,
906
+ channelId: sessionRouting.channelId,
907
+ channelType: sessionRouting.channelType,
908
+ expectedSenderId: expectedUserId
909
+ });
910
+ if (!auth.allowed) {
911
+ params.ctx.runtime.log?.(`slack:interaction drop modal callback=${callbackId} user=${userId} reason=${auth.reason ?? "unauthorized"}`);
912
+ return;
913
+ }
914
+ enqueueSystemEvent(`Slack interaction: ${JSON.stringify(eventPayload)}`, {
915
+ sessionKey: sessionRouting.sessionKey,
916
+ contextKey: [
917
+ params.contextPrefix,
918
+ callbackId,
919
+ viewId,
920
+ userId
921
+ ].filter(Boolean).join(":")
922
+ });
923
+ }
924
+ function registerModalLifecycleHandler(params) {
925
+ params.register(params.matcher, async ({ ack, body }) => {
926
+ await ack();
927
+ await emitSlackModalLifecycleEvent({
928
+ ctx: params.ctx,
929
+ body,
930
+ interactionType: params.interactionType,
931
+ contextPrefix: params.contextPrefix
932
+ });
933
+ });
934
+ }
935
+ function registerSlackInteractionEvents(params) {
936
+ const { ctx } = params;
937
+ if (typeof ctx.app.action !== "function") return;
938
+ ctx.app.action(new RegExp(`^${FASED_ACTION_PREFIX}`), async (args) => {
939
+ const { ack, body, action, respond } = args;
940
+ const typedBody = body;
941
+ await ack();
942
+ const typedAction = readInteractionAction(action);
943
+ if (!typedAction) {
944
+ ctx.runtime.log?.(`slack:interaction malformed action payload channel=${typedBody.channel?.id ?? typedBody.container?.channel_id ?? "unknown"} user=${typedBody.user?.id ?? "unknown"}`);
945
+ return;
946
+ }
947
+ const typedActionWithText = typedAction;
948
+ const actionId = typeof typedActionWithText.action_id === "string" ? typedActionWithText.action_id : "unknown";
949
+ const blockId = typedActionWithText.block_id;
950
+ const userId = typedBody.user?.id ?? "unknown";
951
+ const channelId = typedBody.channel?.id ?? typedBody.container?.channel_id;
952
+ const messageTs = typedBody.message?.ts ?? typedBody.container?.message_ts;
953
+ const threadTs = typedBody.container?.thread_ts;
954
+ const auth = await authorizeSlackSystemEventSender({
955
+ ctx,
956
+ senderId: userId,
957
+ channelId
958
+ });
959
+ if (!auth.allowed) {
960
+ ctx.runtime.log?.(`slack:interaction drop action=${actionId} user=${userId} channel=${channelId ?? "unknown"} reason=${auth.reason ?? "unauthorized"}`);
961
+ if (respond) try {
962
+ await respond({
963
+ text: "You are not authorized to use this control.",
964
+ response_type: "ephemeral"
965
+ });
966
+ } catch {}
967
+ return;
968
+ }
969
+ const actionSummary = summarizeAction(typedAction);
970
+ const eventPayload = {
971
+ interactionType: "block_action",
972
+ actionId,
973
+ blockId,
974
+ ...actionSummary,
975
+ userId,
976
+ teamId: typedBody.team?.id,
977
+ triggerId: typedBody.trigger_id,
978
+ responseUrl: typedBody.response_url,
979
+ channelId,
980
+ messageTs,
981
+ threadTs
982
+ };
983
+ ctx.runtime.log?.(`slack:interaction action=${actionId} type=${actionSummary.actionType ?? "unknown"} user=${userId} channel=${channelId}`);
984
+ const sessionKey = ctx.resolveSlackSystemEventSessionKey({
985
+ channelId,
986
+ channelType: auth.channelType
987
+ });
988
+ const contextKey = [
989
+ "slack:interaction",
990
+ channelId,
991
+ messageTs,
992
+ actionId
993
+ ].filter(Boolean).join(":");
994
+ enqueueSystemEvent(`Slack interaction: ${JSON.stringify(eventPayload)}`, {
995
+ sessionKey,
996
+ contextKey
997
+ });
998
+ const originalBlocks = typedBody.message?.blocks;
999
+ if (!Array.isArray(originalBlocks) || !channelId || !messageTs) return;
1000
+ if (!blockId) return;
1001
+ const selectedLabel = formatInteractionSelectionLabel({
1002
+ actionId,
1003
+ summary: actionSummary,
1004
+ buttonText: typedActionWithText.text?.text
1005
+ });
1006
+ let updatedBlocks = originalBlocks.map((block) => {
1007
+ const typedBlock = block;
1008
+ if (typedBlock.type === "actions" && typedBlock.block_id === blockId) return {
1009
+ type: "context",
1010
+ elements: [{
1011
+ type: "mrkdwn",
1012
+ text: formatInteractionConfirmationText({
1013
+ selectedLabel,
1014
+ userId
1015
+ })
1016
+ }]
1017
+ };
1018
+ return block;
1019
+ });
1020
+ if (!updatedBlocks.some((block) => {
1021
+ const typedBlock = block;
1022
+ return typedBlock.type === "actions" && !isBulkActionsBlock(typedBlock);
1023
+ })) updatedBlocks = updatedBlocks.filter((block, index) => {
1024
+ const typedBlock = block;
1025
+ if (isBulkActionsBlock(typedBlock)) return false;
1026
+ if (typedBlock.type !== "divider") return true;
1027
+ const next = updatedBlocks[index + 1];
1028
+ return !next || !isBulkActionsBlock(next);
1029
+ });
1030
+ try {
1031
+ await ctx.app.client.chat.update({
1032
+ channel: channelId,
1033
+ ts: messageTs,
1034
+ text: typedBody.message?.text ?? "",
1035
+ blocks: updatedBlocks
1036
+ });
1037
+ } catch {
1038
+ if (!respond) return;
1039
+ try {
1040
+ await respond({
1041
+ text: `Button "${actionId}" clicked!`,
1042
+ response_type: "ephemeral"
1043
+ });
1044
+ } catch {}
1045
+ }
1046
+ });
1047
+ if (typeof ctx.app.view !== "function") return;
1048
+ const modalMatcher = new RegExp(`^${FASED_ACTION_PREFIX}`);
1049
+ registerModalLifecycleHandler({
1050
+ register: (matcher, handler) => ctx.app.view(matcher, handler),
1051
+ matcher: modalMatcher,
1052
+ ctx,
1053
+ interactionType: "view_submission",
1054
+ contextPrefix: "slack:interaction:view"
1055
+ });
1056
+ const viewClosed = ctx.app.viewClosed;
1057
+ if (typeof viewClosed !== "function") return;
1058
+ registerModalLifecycleHandler({
1059
+ register: viewClosed,
1060
+ matcher: modalMatcher,
1061
+ ctx,
1062
+ interactionType: "view_closed",
1063
+ contextPrefix: "slack:interaction:view-closed"
1064
+ });
1065
+ }
1066
+
1067
+ //#endregion
1068
+ //#region src/slack/monitor/events/system-event-context.ts
1069
+ async function authorizeAndResolveSlackSystemEventContext(params) {
1070
+ const { ctx, senderId, channelId, channelType, eventKind } = params;
1071
+ const auth = await authorizeSlackSystemEventSender({
1072
+ ctx,
1073
+ senderId,
1074
+ channelId,
1075
+ channelType
1076
+ });
1077
+ if (!auth.allowed) {
1078
+ logVerbose(`slack: drop ${eventKind} sender ${senderId ?? "unknown"} channel=${channelId ?? "unknown"} reason=${auth.reason ?? "unauthorized"}`);
1079
+ return;
1080
+ }
1081
+ return {
1082
+ channelLabel: resolveSlackChannelLabel({
1083
+ channelId,
1084
+ channelName: auth.channelName
1085
+ }),
1086
+ sessionKey: ctx.resolveSlackSystemEventSessionKey({
1087
+ channelId,
1088
+ channelType: auth.channelType
1089
+ })
1090
+ };
1091
+ }
1092
+
1093
+ //#endregion
1094
+ //#region src/slack/monitor/events/members.ts
1095
+ function registerSlackMemberEvents(params) {
1096
+ const { ctx } = params;
1097
+ const handleMemberChannelEvent = async (params) => {
1098
+ try {
1099
+ if (ctx.shouldDropMismatchedSlackEvent(params.body)) return;
1100
+ const payload = params.event;
1101
+ const channelId = payload.channel;
1102
+ const channelInfo = channelId ? await ctx.resolveChannelName(channelId) : {};
1103
+ const channelType = payload.channel_type ?? channelInfo?.type;
1104
+ const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1105
+ ctx,
1106
+ senderId: payload.user,
1107
+ channelId,
1108
+ channelType,
1109
+ eventKind: `member-${params.verb}`
1110
+ });
1111
+ if (!ingressContext) return;
1112
+ enqueueSystemEvent(`Slack: ${(payload.user ? await ctx.resolveUserName(payload.user) : {})?.name ?? payload.user ?? "someone"} ${params.verb} ${ingressContext.channelLabel}.`, {
1113
+ sessionKey: ingressContext.sessionKey,
1114
+ contextKey: `slack:member:${params.verb}:${channelId ?? "unknown"}:${payload.user ?? "unknown"}`
1115
+ });
1116
+ } catch (err) {
1117
+ ctx.runtime.error?.(danger(`slack ${params.verb} handler failed: ${String(err)}`));
1118
+ }
1119
+ };
1120
+ ctx.app.event("member_joined_channel", async ({ event, body }) => {
1121
+ await handleMemberChannelEvent({
1122
+ verb: "joined",
1123
+ event,
1124
+ body
1125
+ });
1126
+ });
1127
+ ctx.app.event("member_left_channel", async ({ event, body }) => {
1128
+ await handleMemberChannelEvent({
1129
+ verb: "left",
1130
+ event,
1131
+ body
1132
+ });
1133
+ });
1134
+ }
1135
+
1136
+ //#endregion
1137
+ //#region src/slack/monitor/events/messages.ts
1138
+ function registerSlackMessageEvents(params) {
1139
+ const { ctx, handleSlackMessage } = params;
1140
+ const resolveChangedSenderId = (changed) => changed.message?.user ?? changed.previous_message?.user ?? changed.message?.bot_id ?? changed.previous_message?.bot_id;
1141
+ const resolveDeletedSenderId = (deleted) => deleted.previous_message?.user ?? deleted.previous_message?.bot_id;
1142
+ const resolveThreadBroadcastSenderId = (thread) => thread.user ?? thread.message?.user ?? thread.message?.bot_id;
1143
+ ctx.app.event("message", async ({ event, body }) => {
1144
+ try {
1145
+ if (ctx.shouldDropMismatchedSlackEvent(body)) return;
1146
+ const message = event;
1147
+ if (message.subtype === "message_changed") {
1148
+ const changed = event;
1149
+ const channelId = changed.channel;
1150
+ const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1151
+ ctx,
1152
+ senderId: resolveChangedSenderId(changed),
1153
+ channelId,
1154
+ eventKind: "message_changed"
1155
+ });
1156
+ if (!ingressContext) return;
1157
+ const messageId = changed.message?.ts ?? changed.previous_message?.ts;
1158
+ enqueueSystemEvent(`Slack message edited in ${ingressContext.channelLabel}.`, {
1159
+ sessionKey: ingressContext.sessionKey,
1160
+ contextKey: `slack:message:changed:${channelId ?? "unknown"}:${messageId ?? changed.event_ts ?? "unknown"}`
1161
+ });
1162
+ return;
1163
+ }
1164
+ if (message.subtype === "message_deleted") {
1165
+ const deleted = event;
1166
+ const channelId = deleted.channel;
1167
+ const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1168
+ ctx,
1169
+ senderId: resolveDeletedSenderId(deleted),
1170
+ channelId,
1171
+ eventKind: "message_deleted"
1172
+ });
1173
+ if (!ingressContext) return;
1174
+ enqueueSystemEvent(`Slack message deleted in ${ingressContext.channelLabel}.`, {
1175
+ sessionKey: ingressContext.sessionKey,
1176
+ contextKey: `slack:message:deleted:${channelId ?? "unknown"}:${deleted.deleted_ts ?? deleted.event_ts ?? "unknown"}`
1177
+ });
1178
+ return;
1179
+ }
1180
+ if (message.subtype === "thread_broadcast") {
1181
+ const thread = event;
1182
+ const channelId = thread.channel;
1183
+ const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1184
+ ctx,
1185
+ senderId: resolveThreadBroadcastSenderId(thread),
1186
+ channelId,
1187
+ eventKind: "thread_broadcast"
1188
+ });
1189
+ if (!ingressContext) return;
1190
+ const messageId = thread.message?.ts ?? thread.event_ts;
1191
+ enqueueSystemEvent(`Slack thread reply broadcast in ${ingressContext.channelLabel}.`, {
1192
+ sessionKey: ingressContext.sessionKey,
1193
+ contextKey: `slack:thread:broadcast:${channelId ?? "unknown"}:${messageId ?? "unknown"}`
1194
+ });
1195
+ return;
1196
+ }
1197
+ await handleSlackMessage(message, { source: "message" });
1198
+ } catch (err) {
1199
+ ctx.runtime.error?.(danger(`slack handler failed: ${String(err)}`));
1200
+ }
1201
+ });
1202
+ ctx.app.event("app_mention", async ({ event, body }) => {
1203
+ try {
1204
+ if (ctx.shouldDropMismatchedSlackEvent(body)) return;
1205
+ await handleSlackMessage(event, {
1206
+ source: "app_mention",
1207
+ wasMentioned: true
1208
+ });
1209
+ } catch (err) {
1210
+ ctx.runtime.error?.(danger(`slack mention handler failed: ${String(err)}`));
1211
+ }
1212
+ });
1213
+ }
1214
+
1215
+ //#endregion
1216
+ //#region src/slack/monitor/events/pins.ts
1217
+ async function handleSlackPinEvent(params) {
1218
+ const { ctx, body, event, action, contextKeySuffix, errorLabel } = params;
1219
+ try {
1220
+ if (ctx.shouldDropMismatchedSlackEvent(body)) return;
1221
+ const payload = event;
1222
+ const channelId = payload.channel_id;
1223
+ const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1224
+ ctx,
1225
+ senderId: payload.user,
1226
+ channelId,
1227
+ eventKind: "pin"
1228
+ });
1229
+ if (!ingressContext) return;
1230
+ const userLabel = (payload.user ? await ctx.resolveUserName(payload.user) : {})?.name ?? payload.user ?? "someone";
1231
+ const itemType = payload.item?.type ?? "item";
1232
+ const messageId = payload.item?.message?.ts ?? payload.event_ts;
1233
+ enqueueSystemEvent(`Slack: ${userLabel} ${action} a ${itemType} in ${ingressContext.channelLabel}.`, {
1234
+ sessionKey: ingressContext.sessionKey,
1235
+ contextKey: `slack:pin:${contextKeySuffix}:${channelId ?? "unknown"}:${messageId ?? "unknown"}`
1236
+ });
1237
+ } catch (err) {
1238
+ ctx.runtime.error?.(danger(`slack ${errorLabel} handler failed: ${String(err)}`));
1239
+ }
1240
+ }
1241
+ function registerSlackPinEvents(params) {
1242
+ const { ctx } = params;
1243
+ ctx.app.event("pin_added", async ({ event, body }) => {
1244
+ await handleSlackPinEvent({
1245
+ ctx,
1246
+ body,
1247
+ event,
1248
+ action: "pinned",
1249
+ contextKeySuffix: "added",
1250
+ errorLabel: "pin added"
1251
+ });
1252
+ });
1253
+ ctx.app.event("pin_removed", async ({ event, body }) => {
1254
+ await handleSlackPinEvent({
1255
+ ctx,
1256
+ body,
1257
+ event,
1258
+ action: "unpinned",
1259
+ contextKeySuffix: "removed",
1260
+ errorLabel: "pin removed"
1261
+ });
1262
+ });
1263
+ }
1264
+
1265
+ //#endregion
1266
+ //#region src/slack/monitor/events/reactions.ts
1267
+ function registerSlackReactionEvents(params) {
1268
+ const { ctx } = params;
1269
+ const handleReactionEvent = async (event, action) => {
1270
+ try {
1271
+ const item = event.item;
1272
+ if (!item || item.type !== "message") return;
1273
+ const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1274
+ ctx,
1275
+ senderId: event.user,
1276
+ channelId: item.channel,
1277
+ eventKind: "reaction"
1278
+ });
1279
+ if (!ingressContext) return;
1280
+ const actorInfoPromise = event.user ? ctx.resolveUserName(event.user) : Promise.resolve(void 0);
1281
+ const authorInfoPromise = event.item_user ? ctx.resolveUserName(event.item_user) : Promise.resolve(void 0);
1282
+ const [actorInfo, authorInfo] = await Promise.all([actorInfoPromise, authorInfoPromise]);
1283
+ const actorLabel = actorInfo?.name ?? event.user;
1284
+ const emojiLabel = event.reaction ?? "emoji";
1285
+ const authorLabel = authorInfo?.name ?? event.item_user;
1286
+ const baseText = `Slack reaction ${action}: :${emojiLabel}: by ${actorLabel} in ${ingressContext.channelLabel} msg ${item.ts}`;
1287
+ enqueueSystemEvent(authorLabel ? `${baseText} from ${authorLabel}` : baseText, {
1288
+ sessionKey: ingressContext.sessionKey,
1289
+ contextKey: `slack:reaction:${action}:${item.channel}:${item.ts}:${event.user}:${emojiLabel}`
1290
+ });
1291
+ } catch (err) {
1292
+ ctx.runtime.error?.(danger(`slack reaction handler failed: ${String(err)}`));
1293
+ }
1294
+ };
1295
+ ctx.app.event("reaction_added", async ({ event, body }) => {
1296
+ if (ctx.shouldDropMismatchedSlackEvent(body)) return;
1297
+ await handleReactionEvent(event, "added");
1298
+ });
1299
+ ctx.app.event("reaction_removed", async ({ event, body }) => {
1300
+ if (ctx.shouldDropMismatchedSlackEvent(body)) return;
1301
+ await handleReactionEvent(event, "removed");
1302
+ });
1303
+ }
1304
+
1305
+ //#endregion
1306
+ //#region src/slack/monitor/events.ts
1307
+ function registerSlackMonitorEvents(params) {
1308
+ registerSlackMessageEvents({
1309
+ ctx: params.ctx,
1310
+ handleSlackMessage: params.handleSlackMessage
1311
+ });
1312
+ registerSlackReactionEvents({ ctx: params.ctx });
1313
+ registerSlackMemberEvents({ ctx: params.ctx });
1314
+ registerSlackChannelEvents({ ctx: params.ctx });
1315
+ registerSlackPinEvents({ ctx: params.ctx });
1316
+ registerSlackInteractionEvents({ ctx: params.ctx });
1317
+ }
1318
+
1319
+ //#endregion
1320
+ //#region src/slack/draft-stream.ts
1321
+ const SLACK_STREAM_MAX_CHARS = 4e3;
1322
+ const DEFAULT_THROTTLE_MS = 1e3;
1323
+ function createSlackDraftStream(params) {
1324
+ const maxChars = Math.min(params.maxChars ?? SLACK_STREAM_MAX_CHARS, SLACK_STREAM_MAX_CHARS);
1325
+ const throttleMs = Math.max(250, params.throttleMs ?? DEFAULT_THROTTLE_MS);
1326
+ const send = params.send ?? sendMessageSlack;
1327
+ const edit = params.edit ?? editSlackMessage;
1328
+ const remove = params.remove ?? deleteSlackMessage;
1329
+ let streamMessageId;
1330
+ let streamChannelId;
1331
+ let lastSentText = "";
1332
+ let stopped = false;
1333
+ const sendOrEditStreamMessage = async (text) => {
1334
+ if (stopped) return;
1335
+ const trimmed = text.trimEnd();
1336
+ if (!trimmed) return;
1337
+ if (trimmed.length > maxChars) {
1338
+ stopped = true;
1339
+ params.warn?.(`slack stream preview stopped (text length ${trimmed.length} > ${maxChars})`);
1340
+ return;
1341
+ }
1342
+ if (trimmed === lastSentText) return;
1343
+ lastSentText = trimmed;
1344
+ try {
1345
+ if (streamChannelId && streamMessageId) {
1346
+ await edit(streamChannelId, streamMessageId, trimmed, {
1347
+ token: params.token,
1348
+ accountId: params.accountId
1349
+ });
1350
+ return;
1351
+ }
1352
+ const sent = await send(params.target, trimmed, {
1353
+ token: params.token,
1354
+ accountId: params.accountId,
1355
+ threadTs: params.resolveThreadTs?.()
1356
+ });
1357
+ streamChannelId = sent.channelId || streamChannelId;
1358
+ streamMessageId = sent.messageId || streamMessageId;
1359
+ if (!streamChannelId || !streamMessageId) {
1360
+ stopped = true;
1361
+ params.warn?.("slack stream preview stopped (missing identifiers from sendMessage)");
1362
+ return;
1363
+ }
1364
+ params.onMessageSent?.();
1365
+ } catch (err) {
1366
+ stopped = true;
1367
+ params.warn?.(`slack stream preview failed: ${err instanceof Error ? err.message : String(err)}`);
1368
+ }
1369
+ };
1370
+ const loop = createDraftStreamLoop({
1371
+ throttleMs,
1372
+ isStopped: () => stopped,
1373
+ sendOrEditStreamMessage
1374
+ });
1375
+ const stop = () => {
1376
+ stopped = true;
1377
+ loop.stop();
1378
+ };
1379
+ const clear = async () => {
1380
+ stop();
1381
+ await loop.waitForInFlight();
1382
+ const channelId = streamChannelId;
1383
+ const messageId = streamMessageId;
1384
+ streamChannelId = void 0;
1385
+ streamMessageId = void 0;
1386
+ lastSentText = "";
1387
+ if (!channelId || !messageId) return;
1388
+ try {
1389
+ await remove(channelId, messageId, {
1390
+ token: params.token,
1391
+ accountId: params.accountId
1392
+ });
1393
+ } catch (err) {
1394
+ params.warn?.(`slack stream preview cleanup failed: ${err instanceof Error ? err.message : String(err)}`);
1395
+ }
1396
+ };
1397
+ const forceNewMessage = () => {
1398
+ streamMessageId = void 0;
1399
+ streamChannelId = void 0;
1400
+ lastSentText = "";
1401
+ loop.resetPending();
1402
+ };
1403
+ params.log?.(`slack stream preview ready (maxChars=${maxChars}, throttleMs=${throttleMs})`);
1404
+ return {
1405
+ update: loop.update,
1406
+ flush: loop.flush,
1407
+ clear,
1408
+ stop,
1409
+ forceNewMessage,
1410
+ messageId: () => streamMessageId,
1411
+ channelId: () => streamChannelId
1412
+ };
1413
+ }
1414
+
1415
+ //#endregion
1416
+ //#region src/slack/stream-mode.ts
1417
+ function resolveSlackStreamingConfig(params) {
1418
+ const mode = resolveSlackStreamingMode(params);
1419
+ return {
1420
+ mode,
1421
+ nativeStreaming: resolveSlackNativeStreaming(params),
1422
+ draftMode: mapStreamingModeToSlackLegacyDraftStreamMode(mode)
1423
+ };
1424
+ }
1425
+ function applyAppendOnlyStreamUpdate(params) {
1426
+ const incoming = params.incoming.trimEnd();
1427
+ if (!incoming) return {
1428
+ rendered: params.rendered,
1429
+ source: params.source,
1430
+ changed: false
1431
+ };
1432
+ if (!params.rendered) return {
1433
+ rendered: incoming,
1434
+ source: incoming,
1435
+ changed: true
1436
+ };
1437
+ if (incoming === params.source) return {
1438
+ rendered: params.rendered,
1439
+ source: params.source,
1440
+ changed: false
1441
+ };
1442
+ if (incoming.startsWith(params.source) || incoming.startsWith(params.rendered)) return {
1443
+ rendered: incoming,
1444
+ source: incoming,
1445
+ changed: incoming !== params.rendered
1446
+ };
1447
+ if (params.source.startsWith(incoming)) return {
1448
+ rendered: params.rendered,
1449
+ source: params.source,
1450
+ changed: false
1451
+ };
1452
+ const separator = params.rendered.endsWith("\n") ? "" : "\n";
1453
+ return {
1454
+ rendered: `${params.rendered}${separator}${incoming}`,
1455
+ source: incoming,
1456
+ changed: true
1457
+ };
1458
+ }
1459
+ function buildStatusFinalPreviewText(updateCount) {
1460
+ return `Status: thinking${".".repeat(Math.max(1, updateCount) % 3 + 1)}`;
1461
+ }
1462
+
1463
+ //#endregion
1464
+ //#region src/slack/streaming.ts
1465
+ /**
1466
+ * Start a new Slack text stream.
1467
+ *
1468
+ * Returns a {@link SlackStreamSession} that should be passed to
1469
+ * {@link appendSlackStream} and {@link stopSlackStream}.
1470
+ *
1471
+ * The first chunk of text can optionally be included via `text`.
1472
+ */
1473
+ async function startSlackStream(params) {
1474
+ const { client, channel, threadTs, text, teamId, userId } = params;
1475
+ logVerbose(`slack-stream: starting stream in ${channel} thread=${threadTs}${teamId ? ` team=${teamId}` : ""}${userId ? ` user=${userId}` : ""}`);
1476
+ const streamer = client.chatStream({
1477
+ channel,
1478
+ thread_ts: threadTs,
1479
+ ...teamId ? { recipient_team_id: teamId } : {},
1480
+ ...userId ? { recipient_user_id: userId } : {}
1481
+ });
1482
+ const session = {
1483
+ streamer,
1484
+ channel,
1485
+ threadTs,
1486
+ stopped: false
1487
+ };
1488
+ if (text) {
1489
+ await streamer.append({ markdown_text: text });
1490
+ logVerbose(`slack-stream: appended initial text (${text.length} chars)`);
1491
+ }
1492
+ return session;
1493
+ }
1494
+ /**
1495
+ * Append markdown text to an active Slack stream.
1496
+ */
1497
+ async function appendSlackStream(params) {
1498
+ const { session, text } = params;
1499
+ if (session.stopped) {
1500
+ logVerbose("slack-stream: attempted to append to a stopped stream, ignoring");
1501
+ return;
1502
+ }
1503
+ if (!text) return;
1504
+ await session.streamer.append({ markdown_text: text });
1505
+ logVerbose(`slack-stream: appended ${text.length} chars`);
1506
+ }
1507
+ /**
1508
+ * Stop (finalize) a Slack stream.
1509
+ *
1510
+ * After calling this the stream message becomes a normal Slack message.
1511
+ * Optionally include final text to append before stopping.
1512
+ */
1513
+ async function stopSlackStream(params) {
1514
+ const { session, text } = params;
1515
+ if (session.stopped) {
1516
+ logVerbose("slack-stream: stream already stopped, ignoring duplicate stop");
1517
+ return;
1518
+ }
1519
+ session.stopped = true;
1520
+ logVerbose(`slack-stream: stopping stream in ${session.channel} thread=${session.threadTs}${text ? ` (final text: ${text.length} chars)` : ""}`);
1521
+ await session.streamer.stop(text ? { markdown_text: text } : void 0);
1522
+ logVerbose("slack-stream: stream stopped");
1523
+ }
1524
+
1525
+ //#endregion
1526
+ //#region src/slack/threading.ts
1527
+ function resolveSlackThreadContext(params) {
1528
+ const incomingThreadTs = params.message.thread_ts;
1529
+ const eventTs = params.message.event_ts;
1530
+ const messageTs = params.message.ts ?? eventTs;
1531
+ const isThreadReply = typeof incomingThreadTs === "string" && incomingThreadTs.length > 0 && (incomingThreadTs !== messageTs || Boolean(params.message.parent_user_id));
1532
+ return {
1533
+ incomingThreadTs,
1534
+ messageTs,
1535
+ isThreadReply,
1536
+ replyToId: incomingThreadTs ?? messageTs,
1537
+ messageThreadId: isThreadReply ? incomingThreadTs : params.replyToMode === "all" ? messageTs : void 0
1538
+ };
1539
+ }
1540
+ /**
1541
+ * Resolves Slack thread targeting for replies and status indicators.
1542
+ *
1543
+ * @returns replyThreadTs - Thread timestamp for reply messages
1544
+ * @returns statusThreadTs - Thread timestamp for status indicators (typing, etc.)
1545
+ * @returns isThreadReply - true if this is a genuine user reply in a thread,
1546
+ * false if thread_ts comes from a bot status message (e.g. typing indicator)
1547
+ */
1548
+ function resolveSlackThreadTargets(params) {
1549
+ const { incomingThreadTs, messageTs, isThreadReply } = resolveSlackThreadContext(params);
1550
+ const replyThreadTs = isThreadReply ? incomingThreadTs : params.replyToMode === "all" ? messageTs : void 0;
1551
+ return {
1552
+ replyThreadTs,
1553
+ statusThreadTs: replyThreadTs,
1554
+ isThreadReply
1555
+ };
1556
+ }
1557
+
1558
+ //#endregion
1559
+ //#region src/slack/monitor/message-handler/dispatch.ts
1560
+ function hasMedia(payload) {
1561
+ return Boolean(payload.mediaUrl) || (payload.mediaUrls?.length ?? 0) > 0;
1562
+ }
1563
+ function isSlackStreamingEnabled(params) {
1564
+ if (params.mode !== "partial") return false;
1565
+ return params.nativeStreaming;
1566
+ }
1567
+ function resolveSlackStreamingThreadHint(params) {
1568
+ return resolveSlackThreadTs({
1569
+ replyToMode: params.replyToMode,
1570
+ incomingThreadTs: params.incomingThreadTs,
1571
+ messageTs: params.messageTs,
1572
+ hasReplied: false,
1573
+ isThreadReply: params.isThreadReply
1574
+ });
1575
+ }
1576
+ function shouldUseStreaming(params) {
1577
+ if (!params.streamingEnabled) return false;
1578
+ if (!params.threadTs) {
1579
+ logVerbose("slack-stream: streaming disabled — no reply thread target available");
1580
+ return false;
1581
+ }
1582
+ return true;
1583
+ }
1584
+ async function dispatchPreparedSlackMessage(prepared) {
1585
+ const { ctx, account, message, route } = prepared;
1586
+ const cfg = ctx.cfg;
1587
+ const runtime = ctx.runtime;
1588
+ if (prepared.isDirectMessage) {
1589
+ const sessionCfg = cfg.session;
1590
+ await updateLastRoute({
1591
+ storePath: resolveStorePath(sessionCfg?.store, { agentId: route.agentId }),
1592
+ sessionKey: route.mainSessionKey,
1593
+ deliveryContext: {
1594
+ channel: "slack",
1595
+ to: `user:${message.user}`,
1596
+ accountId: route.accountId,
1597
+ threadId: prepared.ctxPayload.MessageThreadId
1598
+ },
1599
+ ctx: prepared.ctxPayload
1600
+ });
1601
+ }
1602
+ const { statusThreadTs, isThreadReply } = resolveSlackThreadTargets({
1603
+ message,
1604
+ replyToMode: ctx.replyToMode
1605
+ });
1606
+ const messageTs = message.ts ?? message.event_ts;
1607
+ const incomingThreadTs = message.thread_ts;
1608
+ let didSetStatus = false;
1609
+ const hasRepliedRef = { value: false };
1610
+ const replyPlan = createSlackReplyDeliveryPlan({
1611
+ replyToMode: ctx.replyToMode,
1612
+ incomingThreadTs,
1613
+ messageTs,
1614
+ hasRepliedRef,
1615
+ isThreadReply
1616
+ });
1617
+ const typingTarget = statusThreadTs ? `${message.channel}/${statusThreadTs}` : message.channel;
1618
+ const typingCallbacks = createTypingCallbacks({
1619
+ start: async () => {
1620
+ didSetStatus = true;
1621
+ await ctx.setSlackThreadStatus({
1622
+ channelId: message.channel,
1623
+ threadTs: statusThreadTs,
1624
+ status: "is typing..."
1625
+ });
1626
+ },
1627
+ stop: async () => {
1628
+ if (!didSetStatus) return;
1629
+ didSetStatus = false;
1630
+ await ctx.setSlackThreadStatus({
1631
+ channelId: message.channel,
1632
+ threadTs: statusThreadTs,
1633
+ status: ""
1634
+ });
1635
+ },
1636
+ onStartError: (err) => {
1637
+ logTypingFailure({
1638
+ log: (message) => runtime.error?.(danger(message)),
1639
+ channel: "slack",
1640
+ action: "start",
1641
+ target: typingTarget,
1642
+ error: err
1643
+ });
1644
+ },
1645
+ onStopError: (err) => {
1646
+ logTypingFailure({
1647
+ log: (message) => runtime.error?.(danger(message)),
1648
+ channel: "slack",
1649
+ action: "stop",
1650
+ target: typingTarget,
1651
+ error: err
1652
+ });
1653
+ }
1654
+ });
1655
+ const { onModelSelected, ...prefixOptions } = createReplyPrefixOptions({
1656
+ cfg,
1657
+ agentId: route.agentId,
1658
+ channel: "slack",
1659
+ accountId: route.accountId
1660
+ });
1661
+ const slackStreaming = resolveSlackStreamingConfig({
1662
+ streaming: account.config.streaming,
1663
+ streamMode: account.config.streamMode,
1664
+ nativeStreaming: account.config.nativeStreaming
1665
+ });
1666
+ const previewStreamingEnabled = slackStreaming.mode !== "off";
1667
+ const useStreaming = shouldUseStreaming({
1668
+ streamingEnabled: isSlackStreamingEnabled({
1669
+ mode: slackStreaming.mode,
1670
+ nativeStreaming: slackStreaming.nativeStreaming
1671
+ }),
1672
+ threadTs: resolveSlackStreamingThreadHint({
1673
+ replyToMode: ctx.replyToMode,
1674
+ incomingThreadTs,
1675
+ messageTs,
1676
+ isThreadReply
1677
+ })
1678
+ });
1679
+ let streamSession = null;
1680
+ let streamFailed = false;
1681
+ const deliverNormally = async (payload, forcedThreadTs) => {
1682
+ const replyThreadTs = forcedThreadTs ?? replyPlan.nextThreadTs();
1683
+ await deliverReplies({
1684
+ replies: [payload],
1685
+ target: prepared.replyTarget,
1686
+ token: ctx.botToken,
1687
+ accountId: account.accountId,
1688
+ runtime,
1689
+ textLimit: ctx.textLimit,
1690
+ replyThreadTs,
1691
+ replyToMode: ctx.replyToMode
1692
+ });
1693
+ replyPlan.markSent();
1694
+ };
1695
+ const deliverWithStreaming = async (payload) => {
1696
+ if (streamFailed || hasMedia(payload) || !payload.text?.trim()) {
1697
+ await deliverNormally(payload, streamSession?.threadTs);
1698
+ return;
1699
+ }
1700
+ const text = payload.text.trim();
1701
+ let plannedThreadTs;
1702
+ try {
1703
+ if (!streamSession) {
1704
+ const streamThreadTs = replyPlan.nextThreadTs();
1705
+ plannedThreadTs = streamThreadTs;
1706
+ if (!streamThreadTs) {
1707
+ logVerbose("slack-stream: no reply thread target for stream start, falling back to normal delivery");
1708
+ streamFailed = true;
1709
+ await deliverNormally(payload);
1710
+ return;
1711
+ }
1712
+ streamSession = await startSlackStream({
1713
+ client: ctx.app.client,
1714
+ channel: message.channel,
1715
+ threadTs: streamThreadTs,
1716
+ text,
1717
+ teamId: ctx.teamId,
1718
+ userId: message.user
1719
+ });
1720
+ replyPlan.markSent();
1721
+ return;
1722
+ }
1723
+ await appendSlackStream({
1724
+ session: streamSession,
1725
+ text: "\n" + text
1726
+ });
1727
+ } catch (err) {
1728
+ runtime.error?.(danger(`slack-stream: streaming API call failed: ${String(err)}, falling back`));
1729
+ streamFailed = true;
1730
+ await deliverNormally(payload, streamSession?.threadTs ?? plannedThreadTs);
1731
+ }
1732
+ };
1733
+ const { dispatcher, replyOptions, markDispatchIdle } = createReplyDispatcherWithTyping({
1734
+ ...prefixOptions,
1735
+ humanDelay: resolveHumanDelayConfig(cfg, route.agentId),
1736
+ typingCallbacks,
1737
+ deliver: async (payload) => {
1738
+ if (useStreaming) {
1739
+ await deliverWithStreaming(payload);
1740
+ return;
1741
+ }
1742
+ const mediaCount = payload.mediaUrls?.length ?? (payload.mediaUrl ? 1 : 0);
1743
+ const draftMessageId = draftStream?.messageId();
1744
+ const draftChannelId = draftStream?.channelId();
1745
+ const finalText = payload.text;
1746
+ if (previewStreamingEnabled && streamMode !== "status_final" && mediaCount === 0 && !payload.isError && typeof finalText === "string" && finalText.trim().length > 0 && typeof draftMessageId === "string" && typeof draftChannelId === "string") {
1747
+ draftStream?.stop();
1748
+ try {
1749
+ await ctx.app.client.chat.update({
1750
+ token: ctx.botToken,
1751
+ channel: draftChannelId,
1752
+ ts: draftMessageId,
1753
+ text: finalText.trim()
1754
+ });
1755
+ return;
1756
+ } catch (err) {
1757
+ logVerbose(`slack: preview final edit failed; falling back to standard send (${String(err)})`);
1758
+ }
1759
+ } else if (previewStreamingEnabled && streamMode === "status_final" && hasStreamedMessage) try {
1760
+ const statusChannelId = draftStream?.channelId();
1761
+ const statusMessageId = draftStream?.messageId();
1762
+ if (statusChannelId && statusMessageId) await ctx.app.client.chat.update({
1763
+ token: ctx.botToken,
1764
+ channel: statusChannelId,
1765
+ ts: statusMessageId,
1766
+ text: "Status: complete. Final answer posted below."
1767
+ });
1768
+ } catch (err) {
1769
+ logVerbose(`slack: status_final completion update failed (${String(err)})`);
1770
+ }
1771
+ else if (mediaCount > 0) {
1772
+ await draftStream?.clear();
1773
+ hasStreamedMessage = false;
1774
+ }
1775
+ await deliverNormally(payload);
1776
+ },
1777
+ onError: (err, info) => {
1778
+ runtime.error?.(danger(`slack ${info.kind} reply failed: ${String(err)}`));
1779
+ typingCallbacks.onIdle?.();
1780
+ }
1781
+ });
1782
+ const draftStream = createSlackDraftStream({
1783
+ target: prepared.replyTarget,
1784
+ token: ctx.botToken,
1785
+ accountId: account.accountId,
1786
+ maxChars: Math.min(ctx.textLimit, 4e3),
1787
+ resolveThreadTs: () => replyPlan.peekThreadTs(),
1788
+ log: logVerbose,
1789
+ warn: logVerbose
1790
+ });
1791
+ let hasStreamedMessage = false;
1792
+ const streamMode = slackStreaming.draftMode;
1793
+ let appendRenderedText = "";
1794
+ let appendSourceText = "";
1795
+ let statusUpdateCount = 0;
1796
+ const updateDraftFromPartial = (text) => {
1797
+ const trimmed = text?.trimEnd();
1798
+ if (!trimmed) return;
1799
+ if (streamMode === "append") {
1800
+ const next = applyAppendOnlyStreamUpdate({
1801
+ incoming: trimmed,
1802
+ rendered: appendRenderedText,
1803
+ source: appendSourceText
1804
+ });
1805
+ appendRenderedText = next.rendered;
1806
+ appendSourceText = next.source;
1807
+ if (!next.changed) return;
1808
+ draftStream.update(next.rendered);
1809
+ hasStreamedMessage = true;
1810
+ return;
1811
+ }
1812
+ if (streamMode === "status_final") {
1813
+ statusUpdateCount += 1;
1814
+ if (statusUpdateCount > 1 && statusUpdateCount % 4 !== 0) return;
1815
+ draftStream.update(buildStatusFinalPreviewText(statusUpdateCount));
1816
+ hasStreamedMessage = true;
1817
+ return;
1818
+ }
1819
+ draftStream.update(trimmed);
1820
+ hasStreamedMessage = true;
1821
+ };
1822
+ const onDraftBoundary = useStreaming || !previewStreamingEnabled ? void 0 : async () => {
1823
+ if (hasStreamedMessage) {
1824
+ draftStream.forceNewMessage();
1825
+ hasStreamedMessage = false;
1826
+ appendRenderedText = "";
1827
+ appendSourceText = "";
1828
+ statusUpdateCount = 0;
1829
+ }
1830
+ };
1831
+ const { queuedFinal, counts } = await dispatchInboundMessage({
1832
+ ctx: prepared.ctxPayload,
1833
+ cfg,
1834
+ dispatcher,
1835
+ replyOptions: {
1836
+ ...replyOptions,
1837
+ skillFilter: prepared.channelConfig?.skills,
1838
+ hasRepliedRef,
1839
+ disableBlockStreaming: useStreaming ? true : typeof account.config.blockStreaming === "boolean" ? !account.config.blockStreaming : void 0,
1840
+ onModelSelected,
1841
+ onPartialReply: useStreaming ? void 0 : !previewStreamingEnabled ? void 0 : async (payload) => {
1842
+ updateDraftFromPartial(payload.text);
1843
+ },
1844
+ onAssistantMessageStart: onDraftBoundary,
1845
+ onReasoningEnd: onDraftBoundary
1846
+ }
1847
+ });
1848
+ await draftStream.flush();
1849
+ draftStream.stop();
1850
+ markDispatchIdle();
1851
+ const finalStream = streamSession;
1852
+ if (finalStream && !finalStream.stopped) try {
1853
+ await stopSlackStream({ session: finalStream });
1854
+ } catch (err) {
1855
+ runtime.error?.(danger(`slack-stream: failed to stop stream: ${String(err)}`));
1856
+ }
1857
+ if (!(queuedFinal || (counts.block ?? 0) > 0 || (counts.final ?? 0) > 0)) {
1858
+ await draftStream.clear();
1859
+ if (prepared.isRoomish) clearHistoryEntriesIfEnabled({
1860
+ historyMap: ctx.channelHistories,
1861
+ historyKey: prepared.historyKey,
1862
+ limit: ctx.historyLimit
1863
+ });
1864
+ return;
1865
+ }
1866
+ if (shouldLogVerbose()) {
1867
+ const finalCount = counts.final;
1868
+ logVerbose(`slack: delivered ${finalCount} reply${finalCount === 1 ? "" : "ies"} to ${prepared.replyTarget}`);
1869
+ }
1870
+ removeAckReactionAfterReply({
1871
+ removeAfterReply: ctx.removeAckAfterReply,
1872
+ ackReactionPromise: prepared.ackReactionPromise,
1873
+ ackReactionValue: prepared.ackReactionValue,
1874
+ remove: () => removeSlackReaction(message.channel, prepared.ackReactionMessageTs ?? "", prepared.ackReactionValue, {
1875
+ token: ctx.botToken,
1876
+ client: ctx.app.client
1877
+ }),
1878
+ onError: (err) => {
1879
+ logAckFailure({
1880
+ log: logVerbose,
1881
+ channel: "slack",
1882
+ target: `${message.channel}/${message.ts}`,
1883
+ error: err
1884
+ });
1885
+ }
1886
+ });
1887
+ if (prepared.isRoomish) clearHistoryEntriesIfEnabled({
1888
+ historyMap: ctx.channelHistories,
1889
+ historyKey: prepared.historyKey,
1890
+ limit: ctx.historyLimit
1891
+ });
1892
+ }
1893
+
1894
+ //#endregion
1895
+ //#region src/slack/monitor/dm-auth.ts
1896
+ async function authorizeSlackDirectMessage(params) {
1897
+ if (!params.ctx.dmEnabled || params.ctx.dmPolicy === "disabled") {
1898
+ await params.onDisabled();
1899
+ return false;
1900
+ }
1901
+ if (params.ctx.dmPolicy === "open") return true;
1902
+ const senderName = (await params.resolveSenderName(params.senderId))?.name ?? void 0;
1903
+ const allowMatch = resolveSlackAllowListMatch({
1904
+ allowList: params.allowFromLower,
1905
+ id: params.senderId,
1906
+ name: senderName,
1907
+ allowNameMatching: params.ctx.allowNameMatching
1908
+ });
1909
+ const allowMatchMeta = formatAllowlistMatchMeta(allowMatch);
1910
+ if (allowMatch.allowed) return true;
1911
+ if (params.ctx.dmPolicy === "pairing") {
1912
+ await issuePairingChallenge({
1913
+ channel: "slack",
1914
+ senderId: params.senderId,
1915
+ senderIdLine: `Your Slack user id: ${params.senderId}`,
1916
+ meta: { name: senderName },
1917
+ upsertPairingRequest: async ({ id, meta }) => await upsertChannelPairingRequest({
1918
+ channel: "slack",
1919
+ id,
1920
+ accountId: params.accountId,
1921
+ meta
1922
+ }),
1923
+ sendPairingReply: params.sendPairingReply,
1924
+ onCreated: () => {
1925
+ params.log(`slack pairing request sender=${params.senderId} name=${senderName ?? "unknown"} (${allowMatchMeta})`);
1926
+ },
1927
+ onReplyError: (err) => {
1928
+ params.log(`slack pairing reply failed for ${params.senderId}: ${String(err)}`);
1929
+ }
1930
+ });
1931
+ return false;
1932
+ }
1933
+ await params.onUnauthorized({
1934
+ allowMatchMeta,
1935
+ senderName
1936
+ });
1937
+ return false;
1938
+ }
1939
+
1940
+ //#endregion
1941
+ //#region src/slack/monitor/media.ts
1942
+ function isSlackHostname(hostname) {
1943
+ const normalized = normalizeHostname(hostname);
1944
+ if (!normalized) return false;
1945
+ return [
1946
+ "slack.com",
1947
+ "slack-edge.com",
1948
+ "slack-files.com"
1949
+ ].some((suffix) => normalized === suffix || normalized.endsWith(`.${suffix}`));
1950
+ }
1951
+ function assertSlackFileUrl(rawUrl) {
1952
+ let parsed;
1953
+ try {
1954
+ parsed = new URL(rawUrl);
1955
+ } catch {
1956
+ throw new Error(`Invalid Slack file URL: ${rawUrl}`);
1957
+ }
1958
+ if (parsed.protocol !== "https:") throw new Error(`Refusing Slack file URL with non-HTTPS protocol: ${parsed.protocol}`);
1959
+ if (!isSlackHostname(parsed.hostname)) throw new Error(`Refusing to send Slack token to non-Slack host "${parsed.hostname}" (url: ${rawUrl})`);
1960
+ return parsed;
1961
+ }
1962
+ function resolveRequestUrl(input) {
1963
+ if (typeof input === "string") return input;
1964
+ if (input instanceof URL) return input.toString();
1965
+ if ("url" in input && typeof input.url === "string") return input.url;
1966
+ throw new Error("Unsupported fetch input: expected string, URL, or Request");
1967
+ }
1968
+ function createSlackMediaFetch(token) {
1969
+ let includeAuth = true;
1970
+ return async (input, init) => {
1971
+ const url = resolveRequestUrl(input);
1972
+ const { headers: initHeaders, redirect: _redirect, ...rest } = init ?? {};
1973
+ const headers = new Headers(initHeaders);
1974
+ if (includeAuth) {
1975
+ includeAuth = false;
1976
+ const parsed = assertSlackFileUrl(url);
1977
+ headers.set("Authorization", `Bearer ${token}`);
1978
+ return fetch(parsed.href, {
1979
+ ...rest,
1980
+ headers,
1981
+ redirect: "manual"
1982
+ });
1983
+ }
1984
+ headers.delete("Authorization");
1985
+ return fetch(url, {
1986
+ ...rest,
1987
+ headers,
1988
+ redirect: "manual"
1989
+ });
1990
+ };
1991
+ }
1992
+ /**
1993
+ * Slack voice messages (audio clips, huddle recordings) carry a `subtype` of
1994
+ * `"slack_audio"` but are served with a `video/*` MIME type (e.g. `video/mp4`,
1995
+ * `video/webm`). Override the primary type to `audio/` so the
1996
+ * media-understanding pipeline routes them to transcription.
1997
+ */
1998
+ function resolveSlackMediaMimetype(file, fetchedContentType) {
1999
+ const mime = fetchedContentType ?? file.mimetype;
2000
+ if (file.subtype === "slack_audio" && mime?.startsWith("video/")) return mime.replace("video/", "audio/");
2001
+ return mime;
2002
+ }
2003
+ const MAX_SLACK_MEDIA_FILES = 8;
2004
+ const MAX_SLACK_MEDIA_CONCURRENCY = 3;
2005
+ const MAX_SLACK_FORWARDED_ATTACHMENTS = 8;
2006
+ function isForwardedSlackAttachment(attachment) {
2007
+ return attachment.is_share === true;
2008
+ }
2009
+ function resolveForwardedAttachmentImageUrl(attachment) {
2010
+ const rawUrl = attachment.image_url?.trim();
2011
+ if (!rawUrl) return null;
2012
+ try {
2013
+ const parsed = new URL(rawUrl);
2014
+ if (parsed.protocol !== "https:" || !isSlackHostname(parsed.hostname)) return null;
2015
+ return parsed.toString();
2016
+ } catch {
2017
+ return null;
2018
+ }
2019
+ }
2020
+ async function mapLimit(items, limit, fn) {
2021
+ if (items.length === 0) return [];
2022
+ const results = [];
2023
+ results.length = items.length;
2024
+ let nextIndex = 0;
2025
+ const workerCount = Math.max(1, Math.min(limit, items.length));
2026
+ await Promise.all(Array.from({ length: workerCount }, async () => {
2027
+ while (true) {
2028
+ const idx = nextIndex++;
2029
+ if (idx >= items.length) return;
2030
+ results[idx] = await fn(items[idx]);
2031
+ }
2032
+ }));
2033
+ return results;
2034
+ }
2035
+ /**
2036
+ * Downloads all files attached to a Slack message and returns them as an array.
2037
+ * Returns `null` when no files could be downloaded.
2038
+ */
2039
+ async function resolveSlackMedia(params) {
2040
+ const files = params.files ?? [];
2041
+ const results = (await mapLimit(files.length > MAX_SLACK_MEDIA_FILES ? files.slice(0, MAX_SLACK_MEDIA_FILES) : files, MAX_SLACK_MEDIA_CONCURRENCY, async (file) => {
2042
+ const url = file.url_private_download ?? file.url_private;
2043
+ if (!url) return null;
2044
+ try {
2045
+ const fetched = await fetchRemoteMedia({
2046
+ url,
2047
+ fetchImpl: createSlackMediaFetch(params.token),
2048
+ filePathHint: file.name,
2049
+ maxBytes: params.maxBytes
2050
+ });
2051
+ if (fetched.buffer.byteLength > params.maxBytes) return null;
2052
+ const effectiveMime = resolveSlackMediaMimetype(file, fetched.contentType);
2053
+ const saved = await saveMediaBuffer(fetched.buffer, effectiveMime, "inbound", params.maxBytes);
2054
+ const label = fetched.fileName ?? file.name;
2055
+ const contentType = effectiveMime ?? saved.contentType;
2056
+ return {
2057
+ path: saved.path,
2058
+ ...contentType ? { contentType } : {},
2059
+ placeholder: label ? `[Slack file: ${label}]` : "[Slack file]"
2060
+ };
2061
+ } catch {
2062
+ return null;
2063
+ }
2064
+ })).filter((entry) => Boolean(entry));
2065
+ return results.length > 0 ? results : null;
2066
+ }
2067
+ /** Extracts text and media from forwarded-message attachments. Returns null when empty. */
2068
+ async function resolveSlackAttachmentContent(params) {
2069
+ const attachments = params.attachments;
2070
+ if (!attachments || attachments.length === 0) return null;
2071
+ const forwardedAttachments = attachments.filter((attachment) => isForwardedSlackAttachment(attachment)).slice(0, MAX_SLACK_FORWARDED_ATTACHMENTS);
2072
+ if (forwardedAttachments.length === 0) return null;
2073
+ const textBlocks = [];
2074
+ const allMedia = [];
2075
+ for (const att of forwardedAttachments) {
2076
+ const text = att.text?.trim() || att.fallback?.trim();
2077
+ if (text) {
2078
+ const author = att.author_name;
2079
+ const heading = author ? `[Forwarded message from ${author}]` : "[Forwarded message]";
2080
+ textBlocks.push(`${heading}\n${text}`);
2081
+ }
2082
+ const imageUrl = resolveForwardedAttachmentImageUrl(att);
2083
+ if (imageUrl) try {
2084
+ const fetched = await fetchRemoteMedia({
2085
+ url: imageUrl,
2086
+ maxBytes: params.maxBytes
2087
+ });
2088
+ if (fetched.buffer.byteLength <= params.maxBytes) {
2089
+ const saved = await saveMediaBuffer(fetched.buffer, fetched.contentType, "inbound", params.maxBytes);
2090
+ const label = fetched.fileName ?? "forwarded image";
2091
+ allMedia.push({
2092
+ path: saved.path,
2093
+ contentType: fetched.contentType ?? saved.contentType,
2094
+ placeholder: `[Forwarded image: ${label}]`
2095
+ });
2096
+ }
2097
+ } catch {}
2098
+ if (att.files && att.files.length > 0) {
2099
+ const fileMedia = await resolveSlackMedia({
2100
+ files: att.files,
2101
+ token: params.token,
2102
+ maxBytes: params.maxBytes
2103
+ });
2104
+ if (fileMedia) allMedia.push(...fileMedia);
2105
+ }
2106
+ }
2107
+ const combinedText = textBlocks.join("\n\n");
2108
+ if (!combinedText && allMedia.length === 0) return null;
2109
+ return {
2110
+ text: combinedText,
2111
+ media: allMedia
2112
+ };
2113
+ }
2114
+ const THREAD_STARTER_CACHE = /* @__PURE__ */ new Map();
2115
+ const THREAD_STARTER_CACHE_TTL_MS = 360 * 6e4;
2116
+ const THREAD_STARTER_CACHE_MAX = 2e3;
2117
+ function evictThreadStarterCache() {
2118
+ const now = Date.now();
2119
+ for (const [cacheKey, entry] of THREAD_STARTER_CACHE.entries()) if (now - entry.cachedAt > THREAD_STARTER_CACHE_TTL_MS) THREAD_STARTER_CACHE.delete(cacheKey);
2120
+ if (THREAD_STARTER_CACHE.size <= THREAD_STARTER_CACHE_MAX) return;
2121
+ const excess = THREAD_STARTER_CACHE.size - THREAD_STARTER_CACHE_MAX;
2122
+ let removed = 0;
2123
+ for (const cacheKey of THREAD_STARTER_CACHE.keys()) {
2124
+ THREAD_STARTER_CACHE.delete(cacheKey);
2125
+ removed += 1;
2126
+ if (removed >= excess) break;
2127
+ }
2128
+ }
2129
+ async function resolveSlackThreadStarter(params) {
2130
+ evictThreadStarterCache();
2131
+ const cacheKey = `${params.channelId}:${params.threadTs}`;
2132
+ const cached = THREAD_STARTER_CACHE.get(cacheKey);
2133
+ if (cached && Date.now() - cached.cachedAt <= THREAD_STARTER_CACHE_TTL_MS) return cached.value;
2134
+ if (cached) THREAD_STARTER_CACHE.delete(cacheKey);
2135
+ try {
2136
+ const message = (await params.client.conversations.replies({
2137
+ channel: params.channelId,
2138
+ ts: params.threadTs,
2139
+ limit: 1,
2140
+ inclusive: true
2141
+ }))?.messages?.[0];
2142
+ const text = (message?.text ?? "").trim();
2143
+ if (!message || !text) return null;
2144
+ const starter = {
2145
+ text,
2146
+ userId: message.user,
2147
+ ts: message.ts,
2148
+ files: message.files
2149
+ };
2150
+ if (THREAD_STARTER_CACHE.has(cacheKey)) THREAD_STARTER_CACHE.delete(cacheKey);
2151
+ THREAD_STARTER_CACHE.set(cacheKey, {
2152
+ value: starter,
2153
+ cachedAt: Date.now()
2154
+ });
2155
+ evictThreadStarterCache();
2156
+ return starter;
2157
+ } catch {
2158
+ return null;
2159
+ }
2160
+ }
2161
+ /**
2162
+ * Fetches the most recent messages in a Slack thread (excluding the current message).
2163
+ * Used to populate thread context when a new thread session starts.
2164
+ *
2165
+ * Uses cursor pagination and keeps only the latest N retained messages so long threads
2166
+ * still produce up-to-date context without unbounded memory growth.
2167
+ */
2168
+ async function resolveSlackThreadHistory(params) {
2169
+ const maxMessages = params.limit ?? 20;
2170
+ if (!Number.isFinite(maxMessages) || maxMessages <= 0) return [];
2171
+ const fetchLimit = 200;
2172
+ const retained = [];
2173
+ let cursor;
2174
+ try {
2175
+ do {
2176
+ const response = await params.client.conversations.replies({
2177
+ channel: params.channelId,
2178
+ ts: params.threadTs,
2179
+ limit: fetchLimit,
2180
+ inclusive: true,
2181
+ ...cursor ? { cursor } : {}
2182
+ });
2183
+ for (const msg of response.messages ?? []) {
2184
+ if (!msg.text?.trim() && !msg.files?.length) continue;
2185
+ if (params.currentMessageTs && msg.ts === params.currentMessageTs) continue;
2186
+ retained.push(msg);
2187
+ if (retained.length > maxMessages) retained.shift();
2188
+ }
2189
+ const next = response.response_metadata?.next_cursor;
2190
+ cursor = typeof next === "string" && next.trim().length > 0 ? next.trim() : void 0;
2191
+ } while (cursor);
2192
+ return retained.map((msg) => ({
2193
+ text: msg.text?.trim() ? msg.text : `[attached: ${msg.files?.map((f) => f.name ?? "file").join(", ")}]`,
2194
+ userId: msg.user,
2195
+ botId: msg.bot_id,
2196
+ ts: msg.ts,
2197
+ files: msg.files
2198
+ }));
2199
+ } catch {
2200
+ return [];
2201
+ }
2202
+ }
2203
+
2204
+ //#endregion
2205
+ //#region src/slack/monitor/room-context.ts
2206
+ function resolveSlackRoomContextHints(params) {
2207
+ if (!params.isRoomish) return {};
2208
+ const untrustedChannelMetadata = buildUntrustedChannelMetadata({
2209
+ source: "slack",
2210
+ label: "Slack channel description",
2211
+ entries: [params.channelInfo?.topic, params.channelInfo?.purpose]
2212
+ });
2213
+ const systemPromptParts = [params.channelConfig?.systemPrompt?.trim() || null].filter((entry) => Boolean(entry));
2214
+ return {
2215
+ untrustedChannelMetadata,
2216
+ groupSystemPrompt: systemPromptParts.length > 0 ? systemPromptParts.join("\n\n") : void 0
2217
+ };
2218
+ }
2219
+
2220
+ //#endregion
2221
+ //#region src/slack/monitor/message-handler/prepare.ts
2222
+ async function prepareSlackMessage(params) {
2223
+ const { ctx, account, message, opts } = params;
2224
+ const cfg = ctx.cfg;
2225
+ let channelInfo = {};
2226
+ let channelType = message.channel_type;
2227
+ if (!channelType || channelType !== "im") {
2228
+ channelInfo = await ctx.resolveChannelName(message.channel);
2229
+ channelType = channelType ?? channelInfo.type;
2230
+ }
2231
+ const channelName = channelInfo?.name;
2232
+ const resolvedChannelType = normalizeSlackChannelType(channelType, message.channel);
2233
+ const isDirectMessage = resolvedChannelType === "im";
2234
+ const isGroupDm = resolvedChannelType === "mpim";
2235
+ const isRoom = resolvedChannelType === "channel" || resolvedChannelType === "group";
2236
+ const isRoomish = isRoom || isGroupDm;
2237
+ const channelConfig = isRoom ? resolveSlackChannelConfig({
2238
+ channelId: message.channel,
2239
+ channelName,
2240
+ channels: ctx.channelsConfig,
2241
+ defaultRequireMention: ctx.defaultRequireMention
2242
+ }) : null;
2243
+ const allowBots = channelConfig?.allowBots ?? account.config?.allowBots ?? cfg.channels?.slack?.allowBots ?? false;
2244
+ const isBotMessage = Boolean(message.bot_id);
2245
+ if (isBotMessage) {
2246
+ if (message.user && ctx.botUserId && message.user === ctx.botUserId) return null;
2247
+ if (!allowBots) {
2248
+ logVerbose(`slack: drop bot message ${message.bot_id ?? "unknown"} (allowBots=false)`);
2249
+ return null;
2250
+ }
2251
+ }
2252
+ if (isDirectMessage && !message.user) {
2253
+ logVerbose("slack: drop dm message (missing user id)");
2254
+ return null;
2255
+ }
2256
+ const senderId = message.user ?? (isBotMessage ? message.bot_id : void 0);
2257
+ if (!senderId) {
2258
+ logVerbose("slack: drop message (missing sender id)");
2259
+ return null;
2260
+ }
2261
+ if (!ctx.isChannelAllowed({
2262
+ channelId: message.channel,
2263
+ channelName,
2264
+ channelType: resolvedChannelType
2265
+ })) {
2266
+ logVerbose("slack: drop message (channel not allowed)");
2267
+ return null;
2268
+ }
2269
+ const { allowFromLower } = await resolveSlackEffectiveAllowFrom(ctx, { includePairingStore: isDirectMessage });
2270
+ if (isDirectMessage) {
2271
+ const directUserId = message.user;
2272
+ if (!directUserId) {
2273
+ logVerbose("slack: drop dm message (missing user id)");
2274
+ return null;
2275
+ }
2276
+ if (!await authorizeSlackDirectMessage({
2277
+ ctx,
2278
+ accountId: account.accountId,
2279
+ senderId: directUserId,
2280
+ allowFromLower,
2281
+ resolveSenderName: ctx.resolveUserName,
2282
+ sendPairingReply: async (text) => {
2283
+ await sendMessageSlack(message.channel, text, {
2284
+ token: ctx.botToken,
2285
+ client: ctx.app.client,
2286
+ accountId: account.accountId
2287
+ });
2288
+ },
2289
+ onDisabled: () => {
2290
+ logVerbose("slack: drop dm (dms disabled)");
2291
+ },
2292
+ onUnauthorized: ({ allowMatchMeta }) => {
2293
+ logVerbose(`Blocked unauthorized slack sender ${message.user} (dmPolicy=${ctx.dmPolicy}, ${allowMatchMeta})`);
2294
+ },
2295
+ log: logVerbose
2296
+ })) return null;
2297
+ }
2298
+ const route = resolveAgentRoute({
2299
+ cfg,
2300
+ channel: "slack",
2301
+ accountId: account.accountId,
2302
+ teamId: ctx.teamId || void 0,
2303
+ peer: {
2304
+ kind: isDirectMessage ? "direct" : isRoom ? "channel" : "group",
2305
+ id: isDirectMessage ? message.user ?? "unknown" : message.channel
2306
+ }
2307
+ });
2308
+ const baseSessionKey = route.sessionKey;
2309
+ const threadContext = resolveSlackThreadContext({
2310
+ message,
2311
+ replyToMode: ctx.replyToMode
2312
+ });
2313
+ const threadTs = threadContext.incomingThreadTs;
2314
+ const isThreadReply = threadContext.isThreadReply;
2315
+ const threadKeys = resolveThreadSessionKeys({
2316
+ baseSessionKey,
2317
+ threadId: isThreadReply ? threadTs : void 0,
2318
+ parentSessionKey: isThreadReply && ctx.threadInheritParent ? baseSessionKey : void 0
2319
+ });
2320
+ const sessionKey = threadKeys.sessionKey;
2321
+ const historyKey = isThreadReply && ctx.threadHistoryScope === "thread" ? sessionKey : message.channel;
2322
+ const mentionRegexes = buildMentionRegexes(cfg, route.agentId);
2323
+ const hasAnyMention = /<@[^>]+>/.test(message.text ?? "");
2324
+ const explicitlyMentioned = Boolean(ctx.botUserId && message.text?.includes(`<@${ctx.botUserId}>`));
2325
+ const wasMentioned = opts.wasMentioned ?? (!isDirectMessage && matchesMentionWithExplicit({
2326
+ text: message.text ?? "",
2327
+ mentionRegexes,
2328
+ explicit: {
2329
+ hasAnyMention,
2330
+ isExplicitlyMentioned: explicitlyMentioned,
2331
+ canResolveExplicit: Boolean(ctx.botUserId)
2332
+ }
2333
+ }));
2334
+ const implicitMention = Boolean(!isDirectMessage && ctx.botUserId && message.thread_ts && message.parent_user_id === ctx.botUserId);
2335
+ const senderName = (message.user ? await ctx.resolveUserName(message.user) : null)?.name ?? message.username?.trim() ?? message.user ?? message.bot_id ?? "unknown";
2336
+ const channelUserAuthorized = isRoom ? resolveSlackUserAllowed({
2337
+ allowList: channelConfig?.users,
2338
+ userId: senderId,
2339
+ userName: senderName,
2340
+ allowNameMatching: ctx.allowNameMatching
2341
+ }) : true;
2342
+ if (isRoom && !channelUserAuthorized) {
2343
+ logVerbose(`Blocked unauthorized slack sender ${senderId} (not in channel users)`);
2344
+ return null;
2345
+ }
2346
+ const allowTextCommands = shouldHandleTextCommands({
2347
+ cfg,
2348
+ surface: "slack"
2349
+ });
2350
+ const hasControlCommandInMessage = hasControlCommand(stripSlackMentionsForCommandDetection(message.text ?? ""), cfg);
2351
+ const ownerAuthorized = resolveSlackAllowListMatch({
2352
+ allowList: allowFromLower,
2353
+ id: senderId,
2354
+ name: senderName,
2355
+ allowNameMatching: ctx.allowNameMatching
2356
+ }).allowed;
2357
+ const channelUsersAllowlistConfigured = isRoom && Array.isArray(channelConfig?.users) && channelConfig.users.length > 0;
2358
+ const channelCommandAuthorized = isRoom && channelUsersAllowlistConfigured ? resolveSlackUserAllowed({
2359
+ allowList: channelConfig?.users,
2360
+ userId: senderId,
2361
+ userName: senderName,
2362
+ allowNameMatching: ctx.allowNameMatching
2363
+ }) : false;
2364
+ const commandGate = resolveControlCommandGate({
2365
+ useAccessGroups: ctx.useAccessGroups,
2366
+ authorizers: [{
2367
+ configured: allowFromLower.length > 0,
2368
+ allowed: ownerAuthorized
2369
+ }, {
2370
+ configured: channelUsersAllowlistConfigured,
2371
+ allowed: channelCommandAuthorized
2372
+ }],
2373
+ allowTextCommands,
2374
+ hasControlCommand: hasControlCommandInMessage
2375
+ });
2376
+ const commandAuthorized = commandGate.commandAuthorized;
2377
+ if (isRoomish && commandGate.shouldBlock) {
2378
+ logInboundDrop({
2379
+ log: logVerbose,
2380
+ channel: "slack",
2381
+ reason: "control command (unauthorized)",
2382
+ target: senderId
2383
+ });
2384
+ return null;
2385
+ }
2386
+ const shouldRequireMention = isRoom ? channelConfig?.requireMention ?? ctx.defaultRequireMention : false;
2387
+ const canDetectMention = Boolean(ctx.botUserId) || mentionRegexes.length > 0;
2388
+ const mentionGate = resolveMentionGatingWithBypass({
2389
+ isGroup: isRoom,
2390
+ requireMention: Boolean(shouldRequireMention),
2391
+ canDetectMention,
2392
+ wasMentioned,
2393
+ implicitMention,
2394
+ hasAnyMention,
2395
+ allowTextCommands,
2396
+ hasControlCommand: hasControlCommandInMessage,
2397
+ commandAuthorized
2398
+ });
2399
+ const effectiveWasMentioned = mentionGate.effectiveWasMentioned;
2400
+ if (isRoom && shouldRequireMention && mentionGate.shouldSkip) {
2401
+ ctx.logger.info({
2402
+ channel: message.channel,
2403
+ reason: "no-mention"
2404
+ }, "skipping channel message");
2405
+ const pendingText = (message.text ?? "").trim();
2406
+ const fallbackFile = message.files?.[0]?.name ? `[Slack file: ${message.files[0].name}]` : message.files?.length ? "[Slack file]" : "";
2407
+ const pendingBody = pendingText || fallbackFile;
2408
+ recordPendingHistoryEntryIfEnabled({
2409
+ historyMap: ctx.channelHistories,
2410
+ historyKey,
2411
+ limit: ctx.historyLimit,
2412
+ entry: pendingBody ? {
2413
+ sender: senderName,
2414
+ body: pendingBody,
2415
+ timestamp: message.ts ? Math.round(Number(message.ts) * 1e3) : void 0,
2416
+ messageId: message.ts
2417
+ } : null
2418
+ });
2419
+ return null;
2420
+ }
2421
+ const media = await resolveSlackMedia({
2422
+ files: message.files,
2423
+ token: ctx.botToken,
2424
+ maxBytes: ctx.mediaMaxBytes
2425
+ });
2426
+ const attachmentContent = await resolveSlackAttachmentContent({
2427
+ attachments: message.attachments,
2428
+ token: ctx.botToken,
2429
+ maxBytes: ctx.mediaMaxBytes
2430
+ });
2431
+ const mergedMedia = [...media ?? [], ...attachmentContent?.media ?? []];
2432
+ const effectiveDirectMedia = mergedMedia.length > 0 ? mergedMedia : null;
2433
+ const mediaPlaceholder = effectiveDirectMedia ? effectiveDirectMedia.map((m) => m.placeholder).join(" ") : void 0;
2434
+ const fileOnlyFallback = !mediaPlaceholder && (message.files?.length ?? 0) > 0 ? message.files.slice(0, MAX_SLACK_MEDIA_FILES).map((f) => f.name?.trim() || "file").join(", ") : void 0;
2435
+ const fileOnlyPlaceholder = fileOnlyFallback ? `[Slack file: ${fileOnlyFallback}]` : void 0;
2436
+ const rawBody = [
2437
+ (message.text ?? "").trim(),
2438
+ attachmentContent?.text,
2439
+ mediaPlaceholder,
2440
+ fileOnlyPlaceholder
2441
+ ].filter(Boolean).join("\n") || "";
2442
+ if (!rawBody) return null;
2443
+ const ackReaction = resolveAckReaction(cfg, route.agentId, {
2444
+ channel: "slack",
2445
+ accountId: account.accountId
2446
+ });
2447
+ const ackReactionValue = ackReaction ?? "";
2448
+ const shouldAckReaction$1 = () => Boolean(ackReaction && shouldAckReaction({
2449
+ scope: ctx.ackReactionScope,
2450
+ isDirect: isDirectMessage,
2451
+ isGroup: isRoomish,
2452
+ isMentionableGroup: isRoom,
2453
+ requireMention: Boolean(shouldRequireMention),
2454
+ canDetectMention,
2455
+ effectiveWasMentioned,
2456
+ shouldBypassMention: mentionGate.shouldBypassMention
2457
+ }));
2458
+ const ackReactionMessageTs = message.ts;
2459
+ const ackReactionPromise = shouldAckReaction$1() && ackReactionMessageTs && ackReactionValue ? reactSlackMessage(message.channel, ackReactionMessageTs, ackReactionValue, {
2460
+ token: ctx.botToken,
2461
+ client: ctx.app.client
2462
+ }).then(() => true, (err) => {
2463
+ logVerbose(`slack react failed for channel ${message.channel}: ${String(err)}`);
2464
+ return false;
2465
+ }) : null;
2466
+ const roomLabel = channelName ? `#${channelName}` : `#${message.channel}`;
2467
+ const preview = rawBody.replace(/\s+/g, " ").slice(0, 160);
2468
+ const inboundLabel = isDirectMessage ? `Slack DM from ${senderName}` : `Slack message in ${roomLabel} from ${senderName}`;
2469
+ const slackFrom = isDirectMessage ? `slack:${message.user}` : isRoom ? `slack:channel:${message.channel}` : `slack:group:${message.channel}`;
2470
+ enqueueSystemEvent(`${inboundLabel}: ${preview}`, {
2471
+ sessionKey,
2472
+ contextKey: `slack:message:${message.channel}:${message.ts ?? "unknown"}`
2473
+ });
2474
+ const envelopeFrom = resolveConversationLabel({
2475
+ ChatType: isDirectMessage ? "direct" : "channel",
2476
+ SenderName: senderName,
2477
+ GroupSubject: isRoomish ? roomLabel : void 0,
2478
+ From: slackFrom
2479
+ }) ?? (isDirectMessage ? senderName : roomLabel);
2480
+ const threadInfo = isThreadReply && threadTs ? ` thread_ts: ${threadTs}${message.parent_user_id ? ` parent_user_id: ${message.parent_user_id}` : ""}` : "";
2481
+ const textWithId = `${rawBody}\n[slack message id: ${message.ts} channel: ${message.channel}${threadInfo}]`;
2482
+ const storePath = resolveStorePath(ctx.cfg.session?.store, { agentId: route.agentId });
2483
+ const envelopeOptions = resolveEnvelopeFormatOptions(ctx.cfg);
2484
+ const previousTimestamp = readSessionUpdatedAt({
2485
+ storePath,
2486
+ sessionKey: route.sessionKey
2487
+ });
2488
+ let combinedBody = formatInboundEnvelope({
2489
+ channel: "Slack",
2490
+ from: envelopeFrom,
2491
+ timestamp: message.ts ? Math.round(Number(message.ts) * 1e3) : void 0,
2492
+ body: textWithId,
2493
+ chatType: isDirectMessage ? "direct" : "channel",
2494
+ sender: {
2495
+ name: senderName,
2496
+ id: senderId
2497
+ },
2498
+ previousTimestamp,
2499
+ envelope: envelopeOptions
2500
+ });
2501
+ if (isRoomish && ctx.historyLimit > 0) combinedBody = buildPendingHistoryContextFromMap({
2502
+ historyMap: ctx.channelHistories,
2503
+ historyKey,
2504
+ limit: ctx.historyLimit,
2505
+ currentMessage: combinedBody,
2506
+ formatEntry: (entry) => formatInboundEnvelope({
2507
+ channel: "Slack",
2508
+ from: roomLabel,
2509
+ timestamp: entry.timestamp,
2510
+ body: `${entry.body}${entry.messageId ? ` [id:${entry.messageId} channel:${message.channel}]` : ""}`,
2511
+ chatType: "channel",
2512
+ senderLabel: entry.sender,
2513
+ envelope: envelopeOptions
2514
+ })
2515
+ });
2516
+ const slackTo = isDirectMessage ? `user:${message.user}` : `channel:${message.channel}`;
2517
+ const { untrustedChannelMetadata, groupSystemPrompt } = resolveSlackRoomContextHints({
2518
+ isRoomish,
2519
+ channelInfo,
2520
+ channelConfig
2521
+ });
2522
+ let threadStarterBody;
2523
+ let threadHistoryBody;
2524
+ let threadSessionPreviousTimestamp;
2525
+ let threadLabel;
2526
+ let threadStarterMedia = null;
2527
+ if (isThreadReply && threadTs) {
2528
+ const starter = await resolveSlackThreadStarter({
2529
+ channelId: message.channel,
2530
+ threadTs,
2531
+ client: ctx.app.client
2532
+ });
2533
+ if (starter?.text) {
2534
+ threadStarterBody = starter.text;
2535
+ const snippet = starter.text.replace(/\s+/g, " ").slice(0, 80);
2536
+ threadLabel = `Slack thread ${roomLabel}${snippet ? `: ${snippet}` : ""}`;
2537
+ if (!effectiveDirectMedia && starter.files && starter.files.length > 0) {
2538
+ threadStarterMedia = await resolveSlackMedia({
2539
+ files: starter.files,
2540
+ token: ctx.botToken,
2541
+ maxBytes: ctx.mediaMaxBytes
2542
+ });
2543
+ if (threadStarterMedia) logVerbose(`slack: hydrated thread starter file ${threadStarterMedia.map((m) => m.placeholder).join(", ")} from root message`);
2544
+ }
2545
+ } else threadLabel = `Slack thread ${roomLabel}`;
2546
+ const threadInitialHistoryLimit = account.config?.thread?.initialHistoryLimit ?? 20;
2547
+ threadSessionPreviousTimestamp = readSessionUpdatedAt({
2548
+ storePath,
2549
+ sessionKey
2550
+ });
2551
+ if (threadInitialHistoryLimit > 0) {
2552
+ const threadHistory = await resolveSlackThreadHistory({
2553
+ channelId: message.channel,
2554
+ threadTs,
2555
+ client: ctx.app.client,
2556
+ currentMessageTs: message.ts,
2557
+ limit: threadInitialHistoryLimit
2558
+ });
2559
+ if (threadHistory.length > 0) {
2560
+ const uniqueUserIds = [...new Set(threadHistory.map((m) => m.userId).filter((id) => Boolean(id)))];
2561
+ const userMap = /* @__PURE__ */ new Map();
2562
+ await Promise.all(uniqueUserIds.map(async (id) => {
2563
+ const user = await ctx.resolveUserName(id);
2564
+ if (user) userMap.set(id, user);
2565
+ }));
2566
+ const historyParts = [];
2567
+ for (const historyMsg of threadHistory) {
2568
+ const msgSenderName = (historyMsg.userId ? userMap.get(historyMsg.userId) : null)?.name ?? (historyMsg.botId ? `Bot (${historyMsg.botId})` : "Unknown");
2569
+ const role = Boolean(historyMsg.botId) ? "assistant" : "user";
2570
+ const msgWithId = `${historyMsg.text}\n[slack message id: ${historyMsg.ts ?? "unknown"} channel: ${message.channel}]`;
2571
+ historyParts.push(formatInboundEnvelope({
2572
+ channel: "Slack",
2573
+ from: `${msgSenderName} (${role})`,
2574
+ timestamp: historyMsg.ts ? Math.round(Number(historyMsg.ts) * 1e3) : void 0,
2575
+ body: msgWithId,
2576
+ chatType: "channel",
2577
+ envelope: envelopeOptions
2578
+ }));
2579
+ }
2580
+ threadHistoryBody = historyParts.join("\n\n");
2581
+ logVerbose(`slack: populated thread history with ${threadHistory.length} messages for new session`);
2582
+ }
2583
+ }
2584
+ }
2585
+ const effectiveMedia = effectiveDirectMedia ?? threadStarterMedia;
2586
+ const firstMedia = effectiveMedia?.[0];
2587
+ const inboundHistory = isRoomish && ctx.historyLimit > 0 ? (ctx.channelHistories.get(historyKey) ?? []).map((entry) => ({
2588
+ sender: entry.sender,
2589
+ body: entry.body,
2590
+ timestamp: entry.timestamp
2591
+ })) : void 0;
2592
+ const ctxPayload = finalizeInboundContext({
2593
+ Body: combinedBody,
2594
+ BodyForAgent: rawBody,
2595
+ InboundHistory: inboundHistory,
2596
+ RawBody: rawBody,
2597
+ CommandBody: rawBody,
2598
+ From: slackFrom,
2599
+ To: slackTo,
2600
+ SessionKey: sessionKey,
2601
+ AccountId: route.accountId,
2602
+ ChatType: isDirectMessage ? "direct" : "channel",
2603
+ ConversationLabel: envelopeFrom,
2604
+ GroupSubject: isRoomish ? roomLabel : void 0,
2605
+ GroupSystemPrompt: isRoomish ? groupSystemPrompt : void 0,
2606
+ UntrustedContext: untrustedChannelMetadata ? [untrustedChannelMetadata] : void 0,
2607
+ SenderName: senderName,
2608
+ SenderId: senderId,
2609
+ Provider: "slack",
2610
+ Surface: "slack",
2611
+ MessageSid: message.ts,
2612
+ ReplyToId: threadContext.replyToId,
2613
+ MessageThreadId: threadContext.messageThreadId,
2614
+ ParentSessionKey: threadKeys.parentSessionKey,
2615
+ ThreadStarterBody: threadStarterBody,
2616
+ ThreadHistoryBody: threadHistoryBody,
2617
+ IsFirstThreadTurn: isThreadReply && threadTs && !threadSessionPreviousTimestamp ? true : void 0,
2618
+ ThreadLabel: threadLabel,
2619
+ Timestamp: message.ts ? Math.round(Number(message.ts) * 1e3) : void 0,
2620
+ WasMentioned: isRoomish ? effectiveWasMentioned : void 0,
2621
+ MediaPath: firstMedia?.path,
2622
+ MediaType: firstMedia?.contentType,
2623
+ MediaUrl: firstMedia?.path,
2624
+ MediaPaths: effectiveMedia && effectiveMedia.length > 0 ? effectiveMedia.map((m) => m.path) : void 0,
2625
+ MediaUrls: effectiveMedia && effectiveMedia.length > 0 ? effectiveMedia.map((m) => m.path) : void 0,
2626
+ MediaTypes: effectiveMedia && effectiveMedia.length > 0 ? effectiveMedia.map((m) => m.contentType ?? "") : void 0,
2627
+ CommandAuthorized: commandAuthorized,
2628
+ OriginatingChannel: "slack",
2629
+ OriginatingTo: slackTo
2630
+ });
2631
+ await recordInboundSession({
2632
+ storePath,
2633
+ sessionKey,
2634
+ ctx: ctxPayload,
2635
+ updateLastRoute: isDirectMessage ? {
2636
+ sessionKey: route.mainSessionKey,
2637
+ channel: "slack",
2638
+ to: `user:${message.user}`,
2639
+ accountId: route.accountId,
2640
+ threadId: threadContext.messageThreadId
2641
+ } : void 0,
2642
+ onRecordError: (err) => {
2643
+ ctx.logger.warn({
2644
+ error: String(err),
2645
+ storePath,
2646
+ sessionKey
2647
+ }, "failed updating session meta");
2648
+ }
2649
+ });
2650
+ const replyTarget = ctxPayload.To ?? void 0;
2651
+ if (!replyTarget) return null;
2652
+ if (shouldLogVerbose()) logVerbose(`slack inbound: channel=${message.channel} from=${slackFrom} preview="${preview}"`);
2653
+ return {
2654
+ ctx,
2655
+ account,
2656
+ message,
2657
+ route,
2658
+ channelConfig,
2659
+ replyTarget,
2660
+ ctxPayload,
2661
+ isDirectMessage,
2662
+ isRoomish,
2663
+ historyKey,
2664
+ preview,
2665
+ ackReactionMessageTs,
2666
+ ackReactionValue,
2667
+ ackReactionPromise
2668
+ };
2669
+ }
2670
+
2671
+ //#endregion
2672
+ //#region src/slack/monitor/thread-resolution.ts
2673
+ const DEFAULT_THREAD_TS_CACHE_TTL_MS = 6e4;
2674
+ const DEFAULT_THREAD_TS_CACHE_MAX = 500;
2675
+ const normalizeThreadTs = (threadTs) => {
2676
+ const trimmed = threadTs?.trim();
2677
+ return trimmed ? trimmed : void 0;
2678
+ };
2679
+ async function resolveThreadTsFromHistory(params) {
2680
+ try {
2681
+ const response = await params.client.conversations.history({
2682
+ channel: params.channelId,
2683
+ latest: params.messageTs,
2684
+ oldest: params.messageTs,
2685
+ inclusive: true,
2686
+ limit: 1
2687
+ });
2688
+ return normalizeThreadTs((response.messages?.find((entry) => entry.ts === params.messageTs) ?? response.messages?.[0])?.thread_ts);
2689
+ } catch (err) {
2690
+ if (shouldLogVerbose()) logVerbose(`slack inbound: failed to resolve thread_ts via conversations.history for channel=${params.channelId} ts=${params.messageTs}: ${String(err)}`);
2691
+ return;
2692
+ }
2693
+ }
2694
+ function createSlackThreadTsResolver(params) {
2695
+ const ttlMs = Math.max(0, params.cacheTtlMs ?? DEFAULT_THREAD_TS_CACHE_TTL_MS);
2696
+ const maxSize = Math.max(0, params.maxSize ?? DEFAULT_THREAD_TS_CACHE_MAX);
2697
+ const cache = /* @__PURE__ */ new Map();
2698
+ const inflight = /* @__PURE__ */ new Map();
2699
+ const getCached = (key, now) => {
2700
+ const entry = cache.get(key);
2701
+ if (!entry) return;
2702
+ if (ttlMs > 0 && now - entry.updatedAt > ttlMs) {
2703
+ cache.delete(key);
2704
+ return;
2705
+ }
2706
+ cache.delete(key);
2707
+ cache.set(key, {
2708
+ ...entry,
2709
+ updatedAt: now
2710
+ });
2711
+ return entry.threadTs;
2712
+ };
2713
+ const setCached = (key, threadTs, now) => {
2714
+ cache.delete(key);
2715
+ cache.set(key, {
2716
+ threadTs,
2717
+ updatedAt: now
2718
+ });
2719
+ pruneMapToMaxSize(cache, maxSize);
2720
+ };
2721
+ return { resolve: async (request) => {
2722
+ const { message } = request;
2723
+ if (!message.parent_user_id || message.thread_ts || !message.ts) return message;
2724
+ const cacheKey = `${message.channel}:${message.ts}`;
2725
+ const cached = getCached(cacheKey, Date.now());
2726
+ if (cached !== void 0) return cached ? {
2727
+ ...message,
2728
+ thread_ts: cached
2729
+ } : message;
2730
+ if (shouldLogVerbose()) logVerbose(`slack inbound: missing thread_ts for thread reply channel=${message.channel} ts=${message.ts} source=${request.source}`);
2731
+ let pending = inflight.get(cacheKey);
2732
+ if (!pending) {
2733
+ pending = resolveThreadTsFromHistory({
2734
+ client: params.client,
2735
+ channelId: message.channel,
2736
+ messageTs: message.ts
2737
+ });
2738
+ inflight.set(cacheKey, pending);
2739
+ }
2740
+ let resolved;
2741
+ try {
2742
+ resolved = await pending;
2743
+ } finally {
2744
+ inflight.delete(cacheKey);
2745
+ }
2746
+ setCached(cacheKey, resolved ?? null, Date.now());
2747
+ if (resolved) {
2748
+ if (shouldLogVerbose()) logVerbose(`slack inbound: resolved missing thread_ts channel=${message.channel} ts=${message.ts} -> thread_ts=${resolved}`);
2749
+ return {
2750
+ ...message,
2751
+ thread_ts: resolved
2752
+ };
2753
+ }
2754
+ if (shouldLogVerbose()) logVerbose(`slack inbound: could not resolve missing thread_ts channel=${message.channel} ts=${message.ts}`);
2755
+ return message;
2756
+ } };
2757
+ }
2758
+
2759
+ //#endregion
2760
+ //#region src/slack/monitor/message-handler.ts
2761
+ function createSlackMessageHandler(params) {
2762
+ const { ctx, account } = params;
2763
+ const debounceMs = resolveInboundDebounceMs({
2764
+ cfg: ctx.cfg,
2765
+ channel: "slack"
2766
+ });
2767
+ const threadTsResolver = createSlackThreadTsResolver({ client: ctx.app.client });
2768
+ const debouncer = createInboundDebouncer({
2769
+ debounceMs,
2770
+ buildKey: (entry) => {
2771
+ const senderId = entry.message.user ?? entry.message.bot_id;
2772
+ if (!senderId) return null;
2773
+ const messageTs = entry.message.ts ?? entry.message.event_ts;
2774
+ const threadKey = entry.message.thread_ts ? `${entry.message.channel}:${entry.message.thread_ts}` : entry.message.parent_user_id && messageTs ? `${entry.message.channel}:maybe-thread:${messageTs}` : entry.message.channel;
2775
+ return `slack:${ctx.accountId}:${threadKey}:${senderId}`;
2776
+ },
2777
+ shouldDebounce: (entry) => {
2778
+ const text = entry.message.text ?? "";
2779
+ if (!text.trim()) return false;
2780
+ if (entry.message.files && entry.message.files.length > 0) return false;
2781
+ return !hasControlCommand(stripSlackMentionsForCommandDetection(text), ctx.cfg);
2782
+ },
2783
+ onFlush: async (entries) => {
2784
+ const last = entries.at(-1);
2785
+ if (!last) return;
2786
+ const combinedText = entries.length === 1 ? last.message.text ?? "" : entries.map((entry) => entry.message.text ?? "").filter(Boolean).join("\n");
2787
+ const combinedMentioned = entries.some((entry) => Boolean(entry.opts.wasMentioned));
2788
+ const prepared = await prepareSlackMessage({
2789
+ ctx,
2790
+ account,
2791
+ message: {
2792
+ ...last.message,
2793
+ text: combinedText
2794
+ },
2795
+ opts: {
2796
+ ...last.opts,
2797
+ wasMentioned: combinedMentioned || last.opts.wasMentioned
2798
+ }
2799
+ });
2800
+ if (!prepared) return;
2801
+ if (entries.length > 1) {
2802
+ const ids = entries.map((entry) => entry.message.ts).filter(Boolean);
2803
+ if (ids.length > 0) {
2804
+ prepared.ctxPayload.MessageSids = ids;
2805
+ prepared.ctxPayload.MessageSidFirst = ids[0];
2806
+ prepared.ctxPayload.MessageSidLast = ids[ids.length - 1];
2807
+ }
2808
+ }
2809
+ await dispatchPreparedSlackMessage(prepared);
2810
+ },
2811
+ onError: (err) => {
2812
+ ctx.runtime.error?.(`slack inbound debounce flush failed: ${String(err)}`);
2813
+ }
2814
+ });
2815
+ return async (message, opts) => {
2816
+ if (opts.source === "message" && message.type !== "message") return;
2817
+ if (opts.source === "message" && message.subtype && message.subtype !== "file_share" && message.subtype !== "bot_message") return;
2818
+ if (ctx.markMessageSeen(message.channel, message.ts)) return;
2819
+ const resolvedMessage = await threadTsResolver.resolve({
2820
+ message,
2821
+ source: opts.source
2822
+ });
2823
+ await debouncer.enqueue({
2824
+ message: resolvedMessage,
2825
+ opts
2826
+ });
2827
+ };
2828
+ }
2829
+
2830
+ //#endregion
2831
+ //#region src/slack/monitor/external-arg-menu-store.ts
2832
+ const SLACK_EXTERNAL_ARG_MENU_TOKEN_BYTES = 18;
2833
+ const SLACK_EXTERNAL_ARG_MENU_TOKEN_LENGTH = Math.ceil(SLACK_EXTERNAL_ARG_MENU_TOKEN_BYTES * 8 / 6);
2834
+ const SLACK_EXTERNAL_ARG_MENU_TOKEN_PATTERN = new RegExp(`^[A-Za-z0-9_-]{${SLACK_EXTERNAL_ARG_MENU_TOKEN_LENGTH}}$`);
2835
+ const SLACK_EXTERNAL_ARG_MENU_TTL_MS = 600 * 1e3;
2836
+ const SLACK_EXTERNAL_ARG_MENU_PREFIX = "fased_cmdarg_ext:";
2837
+ function pruneSlackExternalArgMenuStore(store, now) {
2838
+ for (const [token, entry] of store.entries()) if (entry.expiresAt <= now) store.delete(token);
2839
+ }
2840
+ function createSlackExternalArgMenuToken(store) {
2841
+ let token = "";
2842
+ do
2843
+ token = generateSecureToken(SLACK_EXTERNAL_ARG_MENU_TOKEN_BYTES);
2844
+ while (store.has(token));
2845
+ return token;
2846
+ }
2847
+ function createSlackExternalArgMenuStore() {
2848
+ const store = /* @__PURE__ */ new Map();
2849
+ return {
2850
+ create(params, now = Date.now()) {
2851
+ pruneSlackExternalArgMenuStore(store, now);
2852
+ const token = createSlackExternalArgMenuToken(store);
2853
+ store.set(token, {
2854
+ choices: params.choices,
2855
+ userId: params.userId,
2856
+ expiresAt: now + SLACK_EXTERNAL_ARG_MENU_TTL_MS
2857
+ });
2858
+ return token;
2859
+ },
2860
+ readToken(raw) {
2861
+ if (typeof raw !== "string" || !raw.startsWith(SLACK_EXTERNAL_ARG_MENU_PREFIX)) return;
2862
+ const token = raw.slice(17).trim();
2863
+ return SLACK_EXTERNAL_ARG_MENU_TOKEN_PATTERN.test(token) ? token : void 0;
2864
+ },
2865
+ get(token, now = Date.now()) {
2866
+ pruneSlackExternalArgMenuStore(store, now);
2867
+ return store.get(token);
2868
+ }
2869
+ };
2870
+ }
2871
+
2872
+ //#endregion
2873
+ //#region src/slack/monitor/slash.ts
2874
+ const SLACK_COMMAND_ARG_ACTION_ID = "fased_cmdarg";
2875
+ const SLACK_COMMAND_ARG_VALUE_PREFIX = "cmdarg";
2876
+ const SLACK_COMMAND_ARG_BUTTON_ROW_SIZE = 5;
2877
+ const SLACK_COMMAND_ARG_OVERFLOW_MIN = 3;
2878
+ const SLACK_COMMAND_ARG_OVERFLOW_MAX = 5;
2879
+ const SLACK_COMMAND_ARG_SELECT_OPTIONS_MAX = 100;
2880
+ const SLACK_COMMAND_ARG_SELECT_OPTION_VALUE_MAX = 75;
2881
+ const SLACK_HEADER_TEXT_MAX = 150;
2882
+ const slackExternalArgMenuStore = createSlackExternalArgMenuStore();
2883
+ function truncatePlainText(value, max) {
2884
+ const trimmed = value.trim();
2885
+ if (trimmed.length <= max) return trimmed;
2886
+ if (max <= 1) return trimmed.slice(0, max);
2887
+ return `${trimmed.slice(0, max - 1)}…`;
2888
+ }
2889
+ function buildSlackArgMenuConfirm(params) {
2890
+ return {
2891
+ title: {
2892
+ type: "plain_text",
2893
+ text: "Confirm selection"
2894
+ },
2895
+ text: {
2896
+ type: "mrkdwn",
2897
+ text: `Run */${escapeSlackMrkdwn(params.command)}* with *${escapeSlackMrkdwn(params.arg)}* set to this value?`
2898
+ },
2899
+ confirm: {
2900
+ type: "plain_text",
2901
+ text: "Run command"
2902
+ },
2903
+ deny: {
2904
+ type: "plain_text",
2905
+ text: "Cancel"
2906
+ }
2907
+ };
2908
+ }
2909
+ function storeSlackExternalArgMenu(params) {
2910
+ return slackExternalArgMenuStore.create({
2911
+ choices: params.choices,
2912
+ userId: params.userId
2913
+ });
2914
+ }
2915
+ function readSlackExternalArgMenuToken(raw) {
2916
+ return slackExternalArgMenuStore.readToken(raw);
2917
+ }
2918
+ let commandsRegistry;
2919
+ async function getCommandsRegistry() {
2920
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DwQIFJmL.js").then((n) => n.n);
2921
+ return commandsRegistry;
2922
+ }
2923
+ function encodeSlackCommandArgValue(parts) {
2924
+ return [
2925
+ SLACK_COMMAND_ARG_VALUE_PREFIX,
2926
+ encodeURIComponent(parts.command),
2927
+ encodeURIComponent(parts.arg),
2928
+ encodeURIComponent(parts.value),
2929
+ encodeURIComponent(parts.userId)
2930
+ ].join("|");
2931
+ }
2932
+ function parseSlackCommandArgValue(raw) {
2933
+ if (!raw) return null;
2934
+ const parts = raw.split("|");
2935
+ if (parts.length !== 5 || parts[0] !== SLACK_COMMAND_ARG_VALUE_PREFIX) return null;
2936
+ const [, command, arg, value, userId] = parts;
2937
+ if (!command || !arg || !value || !userId) return null;
2938
+ const decode = (text) => {
2939
+ try {
2940
+ return decodeURIComponent(text);
2941
+ } catch {
2942
+ return null;
2943
+ }
2944
+ };
2945
+ const decodedCommand = decode(command);
2946
+ const decodedArg = decode(arg);
2947
+ const decodedValue = decode(value);
2948
+ const decodedUserId = decode(userId);
2949
+ if (!decodedCommand || !decodedArg || !decodedValue || !decodedUserId) return null;
2950
+ return {
2951
+ command: decodedCommand,
2952
+ arg: decodedArg,
2953
+ value: decodedValue,
2954
+ userId: decodedUserId
2955
+ };
2956
+ }
2957
+ function buildSlackArgMenuOptions(choices) {
2958
+ return choices.map((choice) => ({
2959
+ text: {
2960
+ type: "plain_text",
2961
+ text: choice.label.slice(0, 75)
2962
+ },
2963
+ value: choice.value
2964
+ }));
2965
+ }
2966
+ function buildSlackCommandArgMenuBlocks(params) {
2967
+ const encodedChoices = params.choices.map((choice) => ({
2968
+ label: choice.label,
2969
+ value: encodeSlackCommandArgValue({
2970
+ command: params.command,
2971
+ arg: params.arg,
2972
+ value: choice.value,
2973
+ userId: params.userId
2974
+ })
2975
+ }));
2976
+ const canUseStaticSelect = encodedChoices.every((choice) => choice.value.length <= SLACK_COMMAND_ARG_SELECT_OPTION_VALUE_MAX);
2977
+ const canUseOverflow = canUseStaticSelect && encodedChoices.length >= SLACK_COMMAND_ARG_OVERFLOW_MIN && encodedChoices.length <= SLACK_COMMAND_ARG_OVERFLOW_MAX;
2978
+ const canUseExternalSelect = params.supportsExternalSelect && canUseStaticSelect && encodedChoices.length > SLACK_COMMAND_ARG_SELECT_OPTIONS_MAX;
2979
+ const rows = canUseOverflow ? [{
2980
+ type: "actions",
2981
+ elements: [{
2982
+ type: "overflow",
2983
+ action_id: SLACK_COMMAND_ARG_ACTION_ID,
2984
+ confirm: buildSlackArgMenuConfirm({
2985
+ command: params.command,
2986
+ arg: params.arg
2987
+ }),
2988
+ options: buildSlackArgMenuOptions(encodedChoices)
2989
+ }]
2990
+ }] : canUseExternalSelect ? [{
2991
+ type: "actions",
2992
+ block_id: `${SLACK_EXTERNAL_ARG_MENU_PREFIX}${params.createExternalMenuToken(encodedChoices)}`,
2993
+ elements: [{
2994
+ type: "external_select",
2995
+ action_id: SLACK_COMMAND_ARG_ACTION_ID,
2996
+ confirm: buildSlackArgMenuConfirm({
2997
+ command: params.command,
2998
+ arg: params.arg
2999
+ }),
3000
+ min_query_length: 0,
3001
+ placeholder: {
3002
+ type: "plain_text",
3003
+ text: `Search ${params.arg}`
3004
+ }
3005
+ }]
3006
+ }] : encodedChoices.length <= SLACK_COMMAND_ARG_BUTTON_ROW_SIZE || !canUseStaticSelect ? chunkItems(encodedChoices, SLACK_COMMAND_ARG_BUTTON_ROW_SIZE).map((choices) => ({
3007
+ type: "actions",
3008
+ elements: choices.map((choice) => ({
3009
+ type: "button",
3010
+ action_id: SLACK_COMMAND_ARG_ACTION_ID,
3011
+ text: {
3012
+ type: "plain_text",
3013
+ text: choice.label
3014
+ },
3015
+ value: choice.value,
3016
+ confirm: buildSlackArgMenuConfirm({
3017
+ command: params.command,
3018
+ arg: params.arg
3019
+ })
3020
+ }))
3021
+ })) : chunkItems(encodedChoices, SLACK_COMMAND_ARG_SELECT_OPTIONS_MAX).map((choices, index) => ({
3022
+ type: "actions",
3023
+ elements: [{
3024
+ type: "static_select",
3025
+ action_id: SLACK_COMMAND_ARG_ACTION_ID,
3026
+ confirm: buildSlackArgMenuConfirm({
3027
+ command: params.command,
3028
+ arg: params.arg
3029
+ }),
3030
+ placeholder: {
3031
+ type: "plain_text",
3032
+ text: index === 0 ? `Choose ${params.arg}` : `Choose ${params.arg} (${index + 1})`
3033
+ },
3034
+ options: buildSlackArgMenuOptions(choices)
3035
+ }]
3036
+ }));
3037
+ const headerText = truncatePlainText(`/${params.command}: choose ${params.arg}`, SLACK_HEADER_TEXT_MAX);
3038
+ const sectionText = truncatePlainText(params.title, 3e3);
3039
+ const contextText = truncatePlainText(`Select one option to continue /${params.command} (${params.arg})`, 3e3);
3040
+ return [
3041
+ {
3042
+ type: "header",
3043
+ text: {
3044
+ type: "plain_text",
3045
+ text: headerText
3046
+ }
3047
+ },
3048
+ {
3049
+ type: "section",
3050
+ text: {
3051
+ type: "mrkdwn",
3052
+ text: sectionText
3053
+ }
3054
+ },
3055
+ {
3056
+ type: "context",
3057
+ elements: [{
3058
+ type: "mrkdwn",
3059
+ text: contextText
3060
+ }]
3061
+ },
3062
+ ...rows
3063
+ ];
3064
+ }
3065
+ async function registerSlackMonitorSlashCommands(params) {
3066
+ const { ctx, account } = params;
3067
+ const cfg = ctx.cfg;
3068
+ const runtime = ctx.runtime;
3069
+ const supportsInteractiveArgMenus = typeof ctx.app.action === "function";
3070
+ const supportsExternalArgMenus = typeof ctx.app.options === "function";
3071
+ const slashCommand = resolveSlackSlashCommandConfig(ctx.slashCommand ?? account.config.slashCommand);
3072
+ const handleSlashCommand = async (p) => {
3073
+ const { command, ack, respond, prompt, commandArgs, commandDefinition } = p;
3074
+ try {
3075
+ if (!prompt.trim()) {
3076
+ await ack({
3077
+ text: "Message required.",
3078
+ response_type: "ephemeral"
3079
+ });
3080
+ return;
3081
+ }
3082
+ await ack();
3083
+ if (ctx.botUserId && command.user_id === ctx.botUserId) return;
3084
+ const channelInfo = await ctx.resolveChannelName(command.channel_id);
3085
+ const channelType = normalizeSlackChannelType(channelInfo?.type ?? (command.channel_name === "directmessage" ? "im" : void 0), command.channel_id);
3086
+ const isDirectMessage = channelType === "im";
3087
+ const isGroupDm = channelType === "mpim";
3088
+ const isRoom = channelType === "channel" || channelType === "group";
3089
+ const isRoomish = isRoom || isGroupDm;
3090
+ if (!ctx.isChannelAllowed({
3091
+ channelId: command.channel_id,
3092
+ channelName: channelInfo?.name,
3093
+ channelType
3094
+ })) {
3095
+ await respond({
3096
+ text: "This channel is not allowed.",
3097
+ response_type: "ephemeral"
3098
+ });
3099
+ return;
3100
+ }
3101
+ const { allowFromLower: effectiveAllowFromLower } = await resolveSlackEffectiveAllowFrom(ctx, { includePairingStore: isDirectMessage });
3102
+ let commandAuthorized = false;
3103
+ let channelConfig = null;
3104
+ if (isDirectMessage) {
3105
+ if (!await authorizeSlackDirectMessage({
3106
+ ctx,
3107
+ accountId: ctx.accountId,
3108
+ senderId: command.user_id,
3109
+ allowFromLower: effectiveAllowFromLower,
3110
+ resolveSenderName: ctx.resolveUserName,
3111
+ sendPairingReply: async (text) => {
3112
+ await respond({
3113
+ text,
3114
+ response_type: "ephemeral"
3115
+ });
3116
+ },
3117
+ onDisabled: async () => {
3118
+ await respond({
3119
+ text: "Slack DMs are disabled.",
3120
+ response_type: "ephemeral"
3121
+ });
3122
+ },
3123
+ onUnauthorized: async ({ allowMatchMeta }) => {
3124
+ logVerbose(`slack: blocked slash sender ${command.user_id} (dmPolicy=${ctx.dmPolicy}, ${allowMatchMeta})`);
3125
+ await respond({
3126
+ text: "You are not authorized to use this command.",
3127
+ response_type: "ephemeral"
3128
+ });
3129
+ },
3130
+ log: logVerbose
3131
+ })) return;
3132
+ }
3133
+ if (isRoom) {
3134
+ channelConfig = resolveSlackChannelConfig({
3135
+ channelId: command.channel_id,
3136
+ channelName: channelInfo?.name,
3137
+ channels: ctx.channelsConfig,
3138
+ defaultRequireMention: ctx.defaultRequireMention
3139
+ });
3140
+ if (ctx.useAccessGroups) {
3141
+ const channelAllowlistConfigured = Boolean(ctx.channelsConfig) && Object.keys(ctx.channelsConfig ?? {}).length > 0;
3142
+ const channelAllowed = channelConfig?.allowed !== false;
3143
+ if (!isSlackChannelAllowedByPolicy({
3144
+ groupPolicy: ctx.groupPolicy,
3145
+ channelAllowlistConfigured,
3146
+ channelAllowed
3147
+ })) {
3148
+ await respond({
3149
+ text: "This channel is not allowed.",
3150
+ response_type: "ephemeral"
3151
+ });
3152
+ return;
3153
+ }
3154
+ const hasExplicitConfig = Boolean(channelConfig?.matchSource);
3155
+ if (!channelAllowed && (ctx.groupPolicy !== "open" || hasExplicitConfig)) {
3156
+ await respond({
3157
+ text: "This channel is not allowed.",
3158
+ response_type: "ephemeral"
3159
+ });
3160
+ return;
3161
+ }
3162
+ }
3163
+ }
3164
+ const senderName = (await ctx.resolveUserName(command.user_id))?.name ?? command.user_name ?? command.user_id;
3165
+ const channelUsersAllowlistConfigured = isRoom && Array.isArray(channelConfig?.users) && channelConfig.users.length > 0;
3166
+ const channelUserAllowed = channelUsersAllowlistConfigured ? resolveSlackUserAllowed({
3167
+ allowList: channelConfig?.users,
3168
+ userId: command.user_id,
3169
+ userName: senderName,
3170
+ allowNameMatching: ctx.allowNameMatching
3171
+ }) : false;
3172
+ if (channelUsersAllowlistConfigured && !channelUserAllowed) {
3173
+ await respond({
3174
+ text: "You are not authorized to use this command here.",
3175
+ response_type: "ephemeral"
3176
+ });
3177
+ return;
3178
+ }
3179
+ const ownerAllowed = resolveSlackAllowListMatch({
3180
+ allowList: effectiveAllowFromLower,
3181
+ id: command.user_id,
3182
+ name: senderName,
3183
+ allowNameMatching: ctx.allowNameMatching
3184
+ }).allowed;
3185
+ commandAuthorized = resolveCommandAuthorizedFromAuthorizers({
3186
+ useAccessGroups: ctx.useAccessGroups,
3187
+ authorizers: [{
3188
+ configured: effectiveAllowFromLower.length > 0,
3189
+ allowed: ownerAllowed
3190
+ }],
3191
+ modeWhenAccessGroupsOff: "configured"
3192
+ });
3193
+ if (isRoomish) {
3194
+ commandAuthorized = resolveCommandAuthorizedFromAuthorizers({
3195
+ useAccessGroups: ctx.useAccessGroups,
3196
+ authorizers: [{
3197
+ configured: effectiveAllowFromLower.length > 0,
3198
+ allowed: ownerAllowed
3199
+ }, {
3200
+ configured: channelUsersAllowlistConfigured,
3201
+ allowed: channelUserAllowed
3202
+ }],
3203
+ modeWhenAccessGroupsOff: "configured"
3204
+ });
3205
+ if (ctx.useAccessGroups && !commandAuthorized) {
3206
+ await respond({
3207
+ text: "You are not authorized to use this command.",
3208
+ response_type: "ephemeral"
3209
+ });
3210
+ return;
3211
+ }
3212
+ }
3213
+ if (commandDefinition && supportsInteractiveArgMenus) {
3214
+ const menu = (await getCommandsRegistry()).resolveCommandArgMenu({
3215
+ command: commandDefinition,
3216
+ args: commandArgs,
3217
+ cfg
3218
+ });
3219
+ if (menu) {
3220
+ const commandLabel = commandDefinition.nativeName ?? commandDefinition.key;
3221
+ const title = menu.title ?? `Choose ${menu.arg.description || menu.arg.name} for /${commandLabel}.`;
3222
+ await respond({
3223
+ text: title,
3224
+ blocks: buildSlackCommandArgMenuBlocks({
3225
+ title,
3226
+ command: commandLabel,
3227
+ arg: menu.arg.name,
3228
+ choices: menu.choices,
3229
+ userId: command.user_id,
3230
+ supportsExternalSelect: supportsExternalArgMenus,
3231
+ createExternalMenuToken: (choices) => storeSlackExternalArgMenu({
3232
+ choices,
3233
+ userId: command.user_id
3234
+ })
3235
+ }),
3236
+ response_type: "ephemeral"
3237
+ });
3238
+ return;
3239
+ }
3240
+ }
3241
+ const channelName = channelInfo?.name;
3242
+ const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
3243
+ const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
3244
+ import("./resolve-route-wp5xq4Ws.js").then((n) => n.r),
3245
+ import("./inbound-context-BNCTzgjG.js").then((n) => n.n),
3246
+ import("./pi-embedded-runner-DMfkIj60.js").then((n) => n.B)
3247
+ ]);
3248
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
3249
+ import("./conversation-label-BoVqak2R.js").then((n) => n.t),
3250
+ import("./reply-prefix-CbPHNXlm.js").then((n) => n.r),
3251
+ import("./runtime-BUpqjZNM.js").then((n) => n.m)
3252
+ ]);
3253
+ const route = resolveAgentRoute({
3254
+ cfg,
3255
+ channel: "slack",
3256
+ accountId: account.accountId,
3257
+ teamId: ctx.teamId || void 0,
3258
+ peer: {
3259
+ kind: isDirectMessage ? "direct" : isRoom ? "channel" : "group",
3260
+ id: isDirectMessage ? command.user_id : command.channel_id
3261
+ }
3262
+ });
3263
+ const { untrustedChannelMetadata, groupSystemPrompt } = resolveSlackRoomContextHints({
3264
+ isRoomish,
3265
+ channelInfo,
3266
+ channelConfig
3267
+ });
3268
+ const ctxPayload = finalizeInboundContext({
3269
+ Body: prompt,
3270
+ BodyForAgent: prompt,
3271
+ RawBody: prompt,
3272
+ CommandBody: prompt,
3273
+ CommandArgs: commandArgs,
3274
+ From: isDirectMessage ? `slack:${command.user_id}` : isRoom ? `slack:channel:${command.channel_id}` : `slack:group:${command.channel_id}`,
3275
+ To: `slash:${command.user_id}`,
3276
+ ChatType: isDirectMessage ? "direct" : "channel",
3277
+ ConversationLabel: resolveConversationLabel({
3278
+ ChatType: isDirectMessage ? "direct" : "channel",
3279
+ SenderName: senderName,
3280
+ GroupSubject: isRoomish ? roomLabel : void 0,
3281
+ From: isDirectMessage ? `slack:${command.user_id}` : isRoom ? `slack:channel:${command.channel_id}` : `slack:group:${command.channel_id}`
3282
+ }) ?? (isDirectMessage ? senderName : roomLabel),
3283
+ GroupSubject: isRoomish ? roomLabel : void 0,
3284
+ GroupSystemPrompt: isRoomish ? groupSystemPrompt : void 0,
3285
+ UntrustedContext: untrustedChannelMetadata ? [untrustedChannelMetadata] : void 0,
3286
+ SenderName: senderName,
3287
+ SenderId: command.user_id,
3288
+ Provider: "slack",
3289
+ Surface: "slack",
3290
+ WasMentioned: true,
3291
+ MessageSid: command.trigger_id,
3292
+ Timestamp: Date.now(),
3293
+ SessionKey: `agent:${route.agentId}:${slashCommand.sessionPrefix}:${command.user_id}`.toLowerCase(),
3294
+ CommandTargetSessionKey: route.sessionKey,
3295
+ AccountId: route.accountId,
3296
+ CommandSource: "native",
3297
+ CommandAuthorized: commandAuthorized,
3298
+ OriginatingChannel: "slack",
3299
+ OriginatingTo: `user:${command.user_id}`
3300
+ });
3301
+ const storePath = resolveStorePath(cfg.session?.store, { agentId: route.agentId });
3302
+ try {
3303
+ await recordSessionMetaFromInbound({
3304
+ storePath,
3305
+ sessionKey: ctxPayload.SessionKey ?? route.sessionKey,
3306
+ ctx: ctxPayload
3307
+ });
3308
+ } catch (err) {
3309
+ runtime.error?.(danger(`slack slash: failed updating session meta: ${String(err)}`));
3310
+ }
3311
+ const { onModelSelected, ...prefixOptions } = createReplyPrefixOptions({
3312
+ cfg,
3313
+ agentId: route.agentId,
3314
+ channel: "slack",
3315
+ accountId: route.accountId
3316
+ });
3317
+ const deliverSlashPayloads = async (replies) => {
3318
+ const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
3319
+ import("./replies-BPFt4O-j.js").then((n) => n.r),
3320
+ import("./chunk-CuJIMshx.js").then((n) => n.s),
3321
+ import("./markdown-tables-DrB-IM8r.js").then((n) => n.t)
3322
+ ]);
3323
+ await deliverSlackSlashReplies({
3324
+ replies,
3325
+ respond,
3326
+ ephemeral: slashCommand.ephemeral,
3327
+ textLimit: ctx.textLimit,
3328
+ chunkMode: resolveChunkMode(cfg, "slack", route.accountId),
3329
+ tableMode: resolveMarkdownTableMode({
3330
+ cfg,
3331
+ channel: "slack",
3332
+ accountId: route.accountId
3333
+ })
3334
+ });
3335
+ };
3336
+ const { counts } = await dispatchReplyWithDispatcher({
3337
+ ctx: ctxPayload,
3338
+ cfg,
3339
+ dispatcherOptions: {
3340
+ ...prefixOptions,
3341
+ deliver: async (payload) => deliverSlashPayloads([payload]),
3342
+ onError: (err, info) => {
3343
+ runtime.error?.(danger(`slack slash ${info.kind} reply failed: ${String(err)}`));
3344
+ }
3345
+ },
3346
+ replyOptions: {
3347
+ skillFilter: channelConfig?.skills,
3348
+ onModelSelected
3349
+ }
3350
+ });
3351
+ if (counts.final + counts.tool + counts.block === 0) await deliverSlashPayloads([]);
3352
+ } catch (err) {
3353
+ runtime.error?.(danger(`slack slash handler failed: ${String(err)}`));
3354
+ await respond({
3355
+ text: "Sorry, something went wrong handling that command.",
3356
+ response_type: "ephemeral"
3357
+ });
3358
+ }
3359
+ };
3360
+ const nativeEnabled = resolveNativeCommandsEnabled({
3361
+ providerId: "slack",
3362
+ providerSetting: account.config.commands?.native,
3363
+ globalSetting: cfg.commands?.native
3364
+ });
3365
+ const nativeSkillsEnabled = resolveNativeSkillsEnabled({
3366
+ providerId: "slack",
3367
+ providerSetting: account.config.commands?.nativeSkills,
3368
+ globalSetting: cfg.commands?.nativeSkills
3369
+ });
3370
+ let reg;
3371
+ let nativeCommands = [];
3372
+ if (nativeEnabled) {
3373
+ reg = await getCommandsRegistry();
3374
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DCnCOVR_.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
3375
+ nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
3376
+ skillCommands,
3377
+ provider: "slack"
3378
+ });
3379
+ }
3380
+ if (nativeCommands.length > 0) {
3381
+ const registry = reg;
3382
+ if (!registry) throw new Error("Missing commands registry for native Slack commands.");
3383
+ for (const command of nativeCommands) ctx.app.command(`/${command.name}`, async ({ command: cmd, ack, respond }) => {
3384
+ const commandDefinition = registry.findCommandByNativeName(command.name, "slack");
3385
+ const rawText = cmd.text?.trim() ?? "";
3386
+ const commandArgs = commandDefinition ? registry.parseCommandArgs(commandDefinition, rawText) : rawText ? { raw: rawText } : void 0;
3387
+ await handleSlashCommand({
3388
+ command: cmd,
3389
+ ack,
3390
+ respond,
3391
+ prompt: commandDefinition ? registry.buildCommandTextFromArgs(commandDefinition, commandArgs) : rawText ? `/${command.name} ${rawText}` : `/${command.name}`,
3392
+ commandArgs,
3393
+ commandDefinition: commandDefinition ?? void 0
3394
+ });
3395
+ });
3396
+ } else if (slashCommand.enabled) ctx.app.command(buildSlackSlashCommandMatcher(slashCommand.name), async ({ command, ack, respond }) => {
3397
+ await handleSlashCommand({
3398
+ command,
3399
+ ack,
3400
+ respond,
3401
+ prompt: command.text?.trim() ?? ""
3402
+ });
3403
+ });
3404
+ else logVerbose("slack: slash commands disabled");
3405
+ if (nativeCommands.length === 0 || !supportsInteractiveArgMenus) return;
3406
+ const registerArgOptions = () => {
3407
+ const appWithOptions = ctx.app;
3408
+ if (typeof appWithOptions.options !== "function") return;
3409
+ appWithOptions.options(SLACK_COMMAND_ARG_ACTION_ID, async ({ ack, body }) => {
3410
+ const typedBody = body;
3411
+ const token = readSlackExternalArgMenuToken(typedBody.actions?.[0]?.block_id ?? typedBody.block_id);
3412
+ if (!token) {
3413
+ await ack({ options: [] });
3414
+ return;
3415
+ }
3416
+ const entry = slackExternalArgMenuStore.get(token);
3417
+ if (!entry) {
3418
+ await ack({ options: [] });
3419
+ return;
3420
+ }
3421
+ const requesterUserId = typedBody.user?.id?.trim();
3422
+ if (!requesterUserId || requesterUserId !== entry.userId) {
3423
+ await ack({ options: [] });
3424
+ return;
3425
+ }
3426
+ const query = typedBody.value?.trim().toLowerCase() ?? "";
3427
+ await ack({ options: entry.choices.filter((choice) => !query || choice.label.toLowerCase().includes(query)).slice(0, SLACK_COMMAND_ARG_SELECT_OPTIONS_MAX).map((choice) => ({
3428
+ text: {
3429
+ type: "plain_text",
3430
+ text: choice.label.slice(0, 75)
3431
+ },
3432
+ value: choice.value
3433
+ })) });
3434
+ });
3435
+ };
3436
+ registerArgOptions();
3437
+ const registerArgAction = (actionId) => {
3438
+ ctx.app.action(actionId, async (args) => {
3439
+ const { ack, body, respond } = args;
3440
+ const action = args.action;
3441
+ await ack();
3442
+ const respondFn = respond ?? (async (payload) => {
3443
+ if (!body.channel?.id || !body.user?.id) return;
3444
+ await ctx.app.client.chat.postEphemeral({
3445
+ token: ctx.botToken,
3446
+ channel: body.channel.id,
3447
+ user: body.user.id,
3448
+ text: payload.text,
3449
+ blocks: payload.blocks
3450
+ });
3451
+ });
3452
+ const parsed = parseSlackCommandArgValue(action?.value ?? action?.selected_option?.value);
3453
+ if (!parsed) {
3454
+ await respondFn({
3455
+ text: "Sorry, that button is no longer valid.",
3456
+ response_type: "ephemeral"
3457
+ });
3458
+ return;
3459
+ }
3460
+ if (body.user?.id && parsed.userId !== body.user.id) {
3461
+ await respondFn({
3462
+ text: "That menu is for another user.",
3463
+ response_type: "ephemeral"
3464
+ });
3465
+ return;
3466
+ }
3467
+ const reg = await getCommandsRegistry();
3468
+ const commandDefinition = reg.findCommandByNativeName(parsed.command, "slack");
3469
+ const commandArgs = { values: { [parsed.arg]: parsed.value } };
3470
+ const prompt = commandDefinition ? reg.buildCommandTextFromArgs(commandDefinition, commandArgs) : `/${parsed.command} ${parsed.value}`;
3471
+ const user = body.user;
3472
+ const userName = user && "name" in user && user.name ? user.name : user && "username" in user && user.username ? user.username : user?.id ?? "";
3473
+ const triggerId = "trigger_id" in body ? body.trigger_id : void 0;
3474
+ await handleSlashCommand({
3475
+ command: {
3476
+ user_id: user?.id ?? "",
3477
+ user_name: userName,
3478
+ channel_id: body.channel?.id ?? "",
3479
+ channel_name: body.channel?.name ?? body.channel?.id ?? "",
3480
+ trigger_id: triggerId
3481
+ },
3482
+ ack: async () => {},
3483
+ respond: respondFn,
3484
+ prompt,
3485
+ commandArgs,
3486
+ commandDefinition: commandDefinition ?? void 0
3487
+ });
3488
+ });
3489
+ };
3490
+ registerArgAction(SLACK_COMMAND_ARG_ACTION_ID);
3491
+ }
3492
+
3493
+ //#endregion
3494
+ //#region src/slack/monitor/provider.ts
3495
+ const slackBoltModule = SlackBolt;
3496
+ const { App, HTTPReceiver } = (slackBoltModule.App ? slackBoltModule : slackBoltModule.default) ?? slackBoltModule;
3497
+ const SLACK_WEBHOOK_MAX_BODY_BYTES = 1024 * 1024;
3498
+ const SLACK_WEBHOOK_BODY_TIMEOUT_MS = 3e4;
3499
+ function parseApiAppIdFromAppToken(raw) {
3500
+ const token = raw?.trim();
3501
+ if (!token) return;
3502
+ return /^xapp-\d-([a-z0-9]+)-/i.exec(token)?.[1]?.toUpperCase();
3503
+ }
3504
+ async function monitorSlackProvider(opts = {}) {
3505
+ const cfg = opts.config ?? loadConfig();
3506
+ let account = resolveSlackAccount({
3507
+ cfg,
3508
+ accountId: opts.accountId
3509
+ });
3510
+ const historyLimit = Math.max(0, account.config.historyLimit ?? cfg.messages?.groupChat?.historyLimit ?? DEFAULT_GROUP_HISTORY_LIMIT);
3511
+ const sessionCfg = cfg.session;
3512
+ const sessionScope = sessionCfg?.scope ?? "per-sender";
3513
+ const mainKey = normalizeMainKey(sessionCfg?.mainKey);
3514
+ const slackMode = opts.mode ?? account.config.mode ?? "socket";
3515
+ const slackWebhookPath = normalizeSlackWebhookPath(account.config.webhookPath);
3516
+ const signingSecret = account.config.signingSecret?.trim();
3517
+ const botToken = resolveSlackBotToken(opts.botToken ?? account.botToken);
3518
+ const appToken = resolveSlackAppToken(opts.appToken ?? account.appToken);
3519
+ if (!botToken || slackMode !== "http" && !appToken) {
3520
+ const missing = slackMode === "http" ? `Slack bot token missing for account "${account.accountId}" (set channels.slack.accounts.${account.accountId}.botToken or SLACK_BOT_TOKEN for default).` : `Slack bot + app tokens missing for account "${account.accountId}" (set channels.slack.accounts.${account.accountId}.botToken/appToken or SLACK_BOT_TOKEN/SLACK_APP_TOKEN for default).`;
3521
+ throw new Error(missing);
3522
+ }
3523
+ if (slackMode === "http" && !signingSecret) throw new Error(`Slack signing secret missing for account "${account.accountId}" (set channels.slack.signingSecret or channels.slack.accounts.${account.accountId}.signingSecret).`);
3524
+ const runtime = opts.runtime ?? createNonExitingRuntime();
3525
+ const slackCfg = account.config;
3526
+ const dmConfig = slackCfg.dm;
3527
+ const dmEnabled = dmConfig?.enabled ?? true;
3528
+ const dmPolicy = slackCfg.dmPolicy ?? dmConfig?.policy ?? "pairing";
3529
+ let allowFrom = slackCfg.allowFrom ?? dmConfig?.allowFrom;
3530
+ const groupDmEnabled = dmConfig?.groupEnabled ?? false;
3531
+ const groupDmChannels = dmConfig?.groupChannels;
3532
+ let channelsConfig = slackCfg.channels;
3533
+ const defaultGroupPolicy = resolveDefaultGroupPolicy(cfg);
3534
+ const { groupPolicy, providerMissingFallbackApplied } = resolveOpenProviderRuntimeGroupPolicy({
3535
+ providerConfigPresent: cfg.channels?.slack !== void 0,
3536
+ groupPolicy: slackCfg.groupPolicy,
3537
+ defaultGroupPolicy
3538
+ });
3539
+ warnMissingProviderGroupPolicyFallbackOnce({
3540
+ providerMissingFallbackApplied,
3541
+ providerKey: "slack",
3542
+ accountId: account.accountId,
3543
+ log: (message) => runtime.log?.(warn(message))
3544
+ });
3545
+ const resolveToken = slackCfg.userToken?.trim() || botToken;
3546
+ const useAccessGroups = cfg.commands?.useAccessGroups !== false;
3547
+ const reactionMode = slackCfg.reactionNotifications ?? "own";
3548
+ const reactionAllowlist = slackCfg.reactionAllowlist ?? [];
3549
+ const replyToMode = slackCfg.replyToMode ?? "off";
3550
+ const threadHistoryScope = slackCfg.thread?.historyScope ?? "thread";
3551
+ const threadInheritParent = slackCfg.thread?.inheritParent ?? false;
3552
+ const slashCommand = resolveSlackSlashCommandConfig(opts.slashCommand ?? slackCfg.slashCommand);
3553
+ const textLimit = resolveTextChunkLimit(cfg, "slack", account.accountId);
3554
+ const ackReactionScope = cfg.messages?.ackReactionScope ?? "group-mentions";
3555
+ const mediaMaxBytes = (opts.mediaMaxMb ?? slackCfg.mediaMaxMb ?? 20) * 1024 * 1024;
3556
+ const removeAckAfterReply = cfg.messages?.removeAckAfterReply ?? false;
3557
+ const receiver = slackMode === "http" ? new HTTPReceiver({
3558
+ signingSecret: signingSecret ?? "",
3559
+ endpoints: slackWebhookPath
3560
+ }) : null;
3561
+ const clientOptions = resolveSlackWebClientOptions();
3562
+ const app = new App(slackMode === "socket" ? {
3563
+ token: botToken,
3564
+ appToken,
3565
+ socketMode: true,
3566
+ clientOptions
3567
+ } : {
3568
+ token: botToken,
3569
+ receiver: receiver ?? void 0,
3570
+ clientOptions
3571
+ });
3572
+ const slackHttpHandler = slackMode === "http" && receiver ? async (req, res) => {
3573
+ const guard = installRequestBodyLimitGuard(req, res, {
3574
+ maxBytes: SLACK_WEBHOOK_MAX_BODY_BYTES,
3575
+ timeoutMs: SLACK_WEBHOOK_BODY_TIMEOUT_MS,
3576
+ responseFormat: "text"
3577
+ });
3578
+ if (guard.isTripped()) return;
3579
+ try {
3580
+ await Promise.resolve(receiver.requestListener(req, res));
3581
+ } catch (err) {
3582
+ if (!guard.isTripped()) throw err;
3583
+ } finally {
3584
+ guard.dispose();
3585
+ }
3586
+ } : null;
3587
+ let unregisterHttpHandler = null;
3588
+ let botUserId = "";
3589
+ let teamId = "";
3590
+ let apiAppId = "";
3591
+ const expectedApiAppIdFromAppToken = parseApiAppIdFromAppToken(appToken);
3592
+ try {
3593
+ const auth = await app.client.auth.test({ token: botToken });
3594
+ botUserId = auth.user_id ?? "";
3595
+ teamId = auth.team_id ?? "";
3596
+ apiAppId = auth.api_app_id ?? "";
3597
+ } catch {}
3598
+ if (apiAppId && expectedApiAppIdFromAppToken && apiAppId !== expectedApiAppIdFromAppToken) runtime.error?.(`slack token mismatch: bot token api_app_id=${apiAppId} but app token looks like api_app_id=${expectedApiAppIdFromAppToken}`);
3599
+ const ctx = createSlackMonitorContext({
3600
+ cfg,
3601
+ accountId: account.accountId,
3602
+ botToken,
3603
+ app,
3604
+ runtime,
3605
+ botUserId,
3606
+ teamId,
3607
+ apiAppId,
3608
+ historyLimit,
3609
+ sessionScope,
3610
+ mainKey,
3611
+ dmEnabled,
3612
+ dmPolicy,
3613
+ allowFrom,
3614
+ allowNameMatching: isDangerousNameMatchingEnabled(slackCfg),
3615
+ groupDmEnabled,
3616
+ groupDmChannels,
3617
+ defaultRequireMention: slackCfg.requireMention,
3618
+ channelsConfig,
3619
+ groupPolicy,
3620
+ useAccessGroups,
3621
+ reactionMode,
3622
+ reactionAllowlist,
3623
+ replyToMode,
3624
+ threadHistoryScope,
3625
+ threadInheritParent,
3626
+ slashCommand,
3627
+ textLimit,
3628
+ ackReactionScope,
3629
+ mediaMaxBytes,
3630
+ removeAckAfterReply
3631
+ });
3632
+ registerSlackMonitorEvents({
3633
+ ctx,
3634
+ account,
3635
+ handleSlackMessage: createSlackMessageHandler({
3636
+ ctx,
3637
+ account
3638
+ })
3639
+ });
3640
+ await registerSlackMonitorSlashCommands({
3641
+ ctx,
3642
+ account
3643
+ });
3644
+ if (slackMode === "http" && slackHttpHandler) unregisterHttpHandler = registerSlackHttpHandler({
3645
+ path: slackWebhookPath,
3646
+ handler: slackHttpHandler,
3647
+ log: runtime.log,
3648
+ accountId: account.accountId
3649
+ });
3650
+ if (resolveToken) (async () => {
3651
+ if (opts.abortSignal?.aborted) return;
3652
+ if (channelsConfig && Object.keys(channelsConfig).length > 0) try {
3653
+ const entries = Object.keys(channelsConfig).filter((key) => key !== "*");
3654
+ if (entries.length > 0) {
3655
+ const resolved = await resolveSlackChannelAllowlist({
3656
+ token: resolveToken,
3657
+ entries
3658
+ });
3659
+ const nextChannels = { ...channelsConfig };
3660
+ const mapping = [];
3661
+ const unresolved = [];
3662
+ for (const entry of resolved) {
3663
+ const source = channelsConfig?.[entry.input];
3664
+ if (!source) continue;
3665
+ if (!entry.resolved || !entry.id) {
3666
+ unresolved.push(entry.input);
3667
+ continue;
3668
+ }
3669
+ mapping.push(`${entry.input}→${entry.id}${entry.archived ? " (archived)" : ""}`);
3670
+ const existing = nextChannels[entry.id] ?? {};
3671
+ nextChannels[entry.id] = {
3672
+ ...source,
3673
+ ...existing
3674
+ };
3675
+ }
3676
+ channelsConfig = nextChannels;
3677
+ ctx.channelsConfig = nextChannels;
3678
+ summarizeMapping("slack channels", mapping, unresolved, runtime);
3679
+ }
3680
+ } catch (err) {
3681
+ runtime.log?.(`slack channel resolve failed; using config entries. ${String(err)}`);
3682
+ }
3683
+ const allowEntries = allowFrom?.filter((entry) => String(entry).trim() && String(entry).trim() !== "*") ?? [];
3684
+ if (allowEntries.length > 0) try {
3685
+ const { mapping, unresolved, additions } = buildAllowlistResolutionSummary(await resolveSlackUserAllowlist({
3686
+ token: resolveToken,
3687
+ entries: allowEntries.map((entry) => String(entry))
3688
+ }), { formatResolved: (entry) => {
3689
+ const note = entry.note ? ` (${entry.note})` : "";
3690
+ return `${entry.input}→${entry.id}${note}`;
3691
+ } });
3692
+ allowFrom = mergeAllowlist({
3693
+ existing: allowFrom,
3694
+ additions
3695
+ });
3696
+ ctx.allowFrom = normalizeAllowList(allowFrom);
3697
+ summarizeMapping("slack users", mapping, unresolved, runtime);
3698
+ } catch (err) {
3699
+ runtime.log?.(`slack user resolve failed; using config entries. ${String(err)}`);
3700
+ }
3701
+ if (channelsConfig && Object.keys(channelsConfig).length > 0) {
3702
+ const userEntries = /* @__PURE__ */ new Set();
3703
+ for (const channel of Object.values(channelsConfig)) addAllowlistUserEntriesFromConfigEntry(userEntries, channel);
3704
+ if (userEntries.size > 0) try {
3705
+ const { resolvedMap, mapping, unresolved } = buildAllowlistResolutionSummary(await resolveSlackUserAllowlist({
3706
+ token: resolveToken,
3707
+ entries: Array.from(userEntries)
3708
+ }));
3709
+ const nextChannels = patchAllowlistUsersInConfigEntries({
3710
+ entries: channelsConfig,
3711
+ resolvedMap
3712
+ });
3713
+ channelsConfig = nextChannels;
3714
+ ctx.channelsConfig = nextChannels;
3715
+ summarizeMapping("slack channel users", mapping, unresolved, runtime);
3716
+ } catch (err) {
3717
+ runtime.log?.(`slack channel user resolve failed; using config entries. ${String(err)}`);
3718
+ }
3719
+ }
3720
+ })();
3721
+ const stopOnAbort = () => {
3722
+ if (opts.abortSignal?.aborted && slackMode === "socket") app.stop();
3723
+ };
3724
+ opts.abortSignal?.addEventListener("abort", stopOnAbort, { once: true });
3725
+ try {
3726
+ if (slackMode === "socket") {
3727
+ await app.start();
3728
+ runtime.log?.("slack socket mode connected");
3729
+ } else runtime.log?.(`slack http mode listening at ${slackWebhookPath}`);
3730
+ if (opts.abortSignal?.aborted) return;
3731
+ await new Promise((resolve) => {
3732
+ opts.abortSignal?.addEventListener("abort", () => resolve(), { once: true });
3733
+ });
3734
+ } finally {
3735
+ opts.abortSignal?.removeEventListener("abort", stopOnAbort);
3736
+ unregisterHttpHandler?.();
3737
+ await app.stop().catch(() => void 0);
3738
+ }
3739
+ }
3740
+
3741
+ //#endregion
3742
+ export { monitorSlackProvider };