@fased/fased 0.1.41 → 0.1.42

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 (2538) hide show
  1. package/dist/acp/client.js +2 -2
  2. package/dist/acp/secret-file.js +2 -2
  3. package/dist/agents/agent-scope.js +2 -2
  4. package/dist/agents/apply-patch.js +8 -8
  5. package/dist/agents/auth-profiles/paths.js +2 -2
  6. package/dist/agents/auth-profiles/store.js +2 -2
  7. package/dist/agents/bash-tools.shared.js +2 -2
  8. package/dist/agents/cli-credentials.js +4 -4
  9. package/dist/agents/docs-path.js +3 -3
  10. package/dist/agents/embedded-pi-mcp.js +4 -4
  11. package/dist/agents/identity-avatar.js +3 -3
  12. package/dist/agents/identity-file.js +2 -2
  13. package/dist/agents/pi-embedded-subscribe.raw-stream.js +3 -3
  14. package/dist/agents/pi-extensions/compaction-safeguard.js +3 -3
  15. package/dist/agents/pi-model-discovery.js +6 -6
  16. package/dist/agents/pi-project-settings.js +3 -3
  17. package/dist/agents/sandbox/fs-bridge.js +2 -2
  18. package/dist/agents/session-dirs.js +4 -4
  19. package/dist/agents/session-write-lock.js +13 -13
  20. package/dist/agents/shell-utils.js +5 -5
  21. package/dist/agents/skills/bundled-dir.js +4 -4
  22. package/dist/agents/skills/local-loader.js +6 -6
  23. package/dist/agents/skills/plugin-skills.js +2 -2
  24. package/dist/agents/skills/workspace.js +13 -13
  25. package/dist/agents/skills-install-download.js +7 -7
  26. package/dist/agents/skills-install-plan.js +2 -2
  27. package/dist/agents/skills-install.js +2 -2
  28. package/dist/agents/skills-status.js +2 -2
  29. package/dist/agents/subagent-depth.js +2 -2
  30. package/dist/agents/system-prompt-params.js +2 -2
  31. package/dist/agents/workspace.js +22 -22
  32. package/dist/auto-reply/reply/agent-runner-execution.js +2 -2
  33. package/dist/auto-reply/reply/agent-runner.js +2 -2
  34. package/dist/auto-reply/reply/commands-export-session.js +7 -7
  35. package/dist/auto-reply/reply/post-compaction-audit.js +3 -3
  36. package/dist/auto-reply/reply/post-compaction-context.js +3 -3
  37. package/dist/auto-reply/reply/session.js +3 -3
  38. package/dist/auto-reply/skill-commands.js +3 -3
  39. package/dist/auto-reply/status.js +6 -6
  40. package/dist/brand.js +1 -1
  41. package/dist/browser/chrome.executables.js +3 -3
  42. package/dist/browser/chrome.js +3 -3
  43. package/dist/browser/chrome.profile-decoration.js +6 -6
  44. package/dist/browser/profiles-service.js +2 -2
  45. package/dist/browser/server-context.js +2 -2
  46. package/dist/browser/trash.js +4 -4
  47. package/dist/build-info.json +3 -3
  48. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  49. package/dist/canvas-host/server.js +4 -4
  50. package/dist/capabilities/catalog.js +3 -3
  51. package/dist/channels/plugins/catalog.js +3 -3
  52. package/dist/cli/browser-cli-extension.js +6 -6
  53. package/dist/cli/command-format.js +2 -2
  54. package/dist/cli/cron-cli/register.cron-simple.js +2 -2
  55. package/dist/cli/dns-cli.js +9 -9
  56. package/dist/cli/gateway-cli/dev.js +5 -5
  57. package/dist/cli/gateway-cli/run.js +2 -2
  58. package/dist/cli/hooks-cli.js +5 -5
  59. package/dist/cli/memory-cli.js +7 -7
  60. package/dist/cli/nodes-media-utils.js +2 -2
  61. package/dist/cli/plugins-cli.js +8 -105
  62. package/dist/cli/plugins-doctor-cli.js +45 -0
  63. package/dist/cli/plugins-info-cli.js +50 -0
  64. package/dist/cli/plugins-status-cli.js +4 -0
  65. package/dist/cli/program/routes.js +38 -0
  66. package/dist/cli/secrets-cli.js +3 -3
  67. package/dist/cli/update-cli/update-command.js +91 -29
  68. package/dist/cli/windows-argv.js +2 -2
  69. package/dist/commands/dashboard-link.js +3 -3
  70. package/dist/commands/doctor-install.js +5 -5
  71. package/dist/commands/doctor-memory-search.js +2 -2
  72. package/dist/commands/doctor-platform-notes.js +2 -2
  73. package/dist/commands/doctor-sandbox.js +2 -2
  74. package/dist/commands/doctor-state-integrity.js +23 -23
  75. package/dist/commands/doctor-workspace.js +3 -3
  76. package/dist/commands/doctor.js +3 -3
  77. package/dist/commands/managed-up.js +2 -2
  78. package/dist/commands/onboard-auth.credentials.js +3 -3
  79. package/dist/commands/onboarding/plugin-install.js +2 -2
  80. package/dist/commands/sessions-cleanup.js +2 -2
  81. package/dist/commands/signal-install.js +6 -6
  82. package/dist/commands/status-all/channels.js +2 -2
  83. package/dist/commands/wallet.js +47 -47
  84. package/dist/config/cache-utils.js +2 -2
  85. package/dist/config/includes.js +5 -5
  86. package/dist/config/io.js +2 -2
  87. package/dist/config/legacy.migrations.part-3.js +25 -0
  88. package/dist/config/paths.js +3 -3
  89. package/dist/config/sat-runtime-ids.js +3 -3
  90. package/dist/config/sessions/disk-budget.js +6 -6
  91. package/dist/config/sessions/paths.js +2 -2
  92. package/dist/config/sessions/store.js +17 -17
  93. package/dist/config/sessions/transcript.js +4 -4
  94. package/dist/config/talk.js +2 -2
  95. package/dist/cron/service/store.js +2 -2
  96. package/dist/cron/store.js +6 -6
  97. package/dist/daemon/systemd-system.js +5 -5
  98. package/dist/discord/monitor/thread-bindings.state.js +2 -2
  99. package/dist/extensions/sat-mining/src/sat-bond-layout.js +9 -9
  100. package/dist/gateway/control-ui-boot-check.js +6 -6
  101. package/dist/gateway/control-ui-login.js +7 -7
  102. package/dist/gateway/control-ui.js +9 -9
  103. package/dist/gateway/hooks-mapping.js +4 -4
  104. package/dist/gateway/server-discovery.js +2 -2
  105. package/dist/gateway/server-http.js +4 -4
  106. package/dist/gateway/server-methods/chat.js +6 -6
  107. package/dist/gateway/server-methods/sessions.js +6 -6
  108. package/dist/gateway/server-methods/usage.js +2 -2
  109. package/dist/gateway/server-plugins.js +12 -0
  110. package/dist/gateway/server.impl.js +3 -3
  111. package/dist/gateway/session-compaction-checkpoints.js +4 -4
  112. package/dist/gateway/session-utils.fs.js +24 -24
  113. package/dist/gateway/session-utils.js +6 -6
  114. package/dist/hooks/bundled-dir.js +4 -4
  115. package/dist/hooks/gmail-setup-utils.js +6 -6
  116. package/dist/hooks/import-url.js +2 -2
  117. package/dist/hooks/loader.js +4 -4
  118. package/dist/hooks/workspace.js +7 -7
  119. package/dist/infra/archive.js +17 -17
  120. package/dist/infra/boundary-file-read.js +2 -2
  121. package/dist/infra/boundary-path.js +15 -15
  122. package/dist/infra/brew.js +2 -2
  123. package/dist/infra/control-ui-assets.js +14 -14
  124. package/dist/infra/device-auth-store.js +8 -8
  125. package/dist/infra/device-identity.js +8 -8
  126. package/dist/infra/dotenv.js +2 -2
  127. package/dist/infra/exec-approvals.js +8 -8
  128. package/dist/infra/exec-command-resolution.js +4 -4
  129. package/dist/infra/exec-safe-bin-trust.js +2 -2
  130. package/dist/infra/fased-root.js +5 -5
  131. package/dist/infra/fs-safe.js +14 -14
  132. package/dist/infra/gateway-lock.js +11 -11
  133. package/dist/infra/git-commit.js +5 -5
  134. package/dist/infra/git-root.js +4 -4
  135. package/dist/infra/hosted-runtime-artifact.js +43 -4
  136. package/dist/infra/is-main.js +2 -2
  137. package/dist/infra/json-file.js +7 -7
  138. package/dist/infra/outbound/delivery-queue.js +16 -16
  139. package/dist/infra/path-env.js +3 -3
  140. package/dist/infra/ports-lsof.js +4 -4
  141. package/dist/infra/provider-usage.auth.js +3 -3
  142. package/dist/infra/safe-open-sync.js +2 -2
  143. package/dist/infra/session-cost-usage.js +9 -9
  144. package/dist/infra/shell-env.js +2 -2
  145. package/dist/infra/state-migrations.fs.js +6 -6
  146. package/dist/infra/state-migrations.js +23 -23
  147. package/dist/infra/tmp-fased-dir.js +6 -6
  148. package/dist/infra/update-runner.js +235 -2
  149. package/dist/infra/widearea-dns.js +3 -3
  150. package/dist/infra/wsl.js +2 -2
  151. package/dist/light-plugin-doctor.js +1 -0
  152. package/dist/light-plugin-info.js +2 -0
  153. package/dist/light-update-precheck.js +1 -0
  154. package/dist/light-update-status.js +12 -0
  155. package/dist/line/accounts.js +2 -2
  156. package/dist/line/download.js +2 -2
  157. package/dist/logging/config.js +3 -3
  158. package/dist/logging/logger.js +7 -7
  159. package/dist/managed/federation.js +3 -3
  160. package/dist/managed/tunnel.js +3 -3
  161. package/dist/media/store.js +13 -13
  162. package/dist/media-understanding/runner.js +3 -3
  163. package/dist/memory/embeddings.js +2 -2
  164. package/dist/memory/internal.js +10 -10
  165. package/dist/memory/manager-sync-ops.js +7 -7
  166. package/dist/memory/repair-executor.js +17 -17
  167. package/dist/node-host/invoke-system-run-plan.js +8 -8
  168. package/dist/node-host/invoke.js +2 -2
  169. package/dist/node-host/runner.js +3 -3
  170. package/dist/pairing/pairing-store.js +3 -3
  171. package/dist/plugin-sdk/account-id.d.ts +2 -1
  172. package/dist/plugin-sdk/account-id.js +1 -32
  173. package/dist/plugin-sdk/accounts-Bz_2QZSt.js +305 -0
  174. package/dist/plugin-sdk/accounts-CuqIKU8X.js +84 -0
  175. package/dist/plugin-sdk/accounts-RHZyaB73.js +63 -0
  176. package/dist/plugin-sdk/actions-CysoQjk1.js +150 -0
  177. package/dist/plugin-sdk/active-listener-C5ALSs7Y.js +37 -0
  178. package/dist/plugin-sdk/agent-scope-BbgPlhtw.js +1372 -0
  179. package/dist/plugin-sdk/allow-list-yqasgPpz.js +479 -0
  180. package/dist/plugin-sdk/audio-preflight-XJNZUuhw.js +107 -0
  181. package/dist/plugin-sdk/audit-BFnu5TVB.js +90 -0
  182. package/dist/plugin-sdk/blocks-input-DdQwSVtP.js +30 -0
  183. package/dist/plugin-sdk/channel-access-BiWxa3LR.js +68 -0
  184. package/dist/plugin-sdk/channel-access-configure-gJvqbbXB.js +28 -0
  185. package/dist/plugin-sdk/channel-adapters.discord-g8Do3f5N.js +35 -0
  186. package/dist/plugin-sdk/channel-core-CMPoGCik.js +1 -0
  187. package/dist/plugin-sdk/channel-plugin-common.d.ts +5 -1
  188. package/dist/plugin-sdk/channel-plugin-common.js +18 -1014
  189. package/dist/plugin-sdk/chat-type-CK5stkc4.d.ts +4 -0
  190. package/dist/plugin-sdk/chunk-CuJIMshx.js +341 -0
  191. package/dist/plugin-sdk/chunk-items-me0j1xjK.js +34 -0
  192. package/dist/plugin-sdk/command-status.d.ts +20 -1
  193. package/dist/plugin-sdk/command-status.js +58 -47
  194. package/dist/plugin-sdk/commands-registry-DwQIFJmL.js +1337 -0
  195. package/dist/plugin-sdk/common-C90EHP1w.js +440 -0
  196. package/dist/plugin-sdk/config-DKNrb8oT.js +23271 -0
  197. package/dist/plugin-sdk/device-pair.d.ts +3 -1
  198. package/dist/plugin-sdk/device-pair.js +8 -840
  199. package/dist/plugin-sdk/device-pairing-J1IH1jFl.js +156 -0
  200. package/dist/plugin-sdk/diagnostic-C16gioN6.js +282 -0
  201. package/dist/plugin-sdk/directory-live-DK_83362.js +105 -0
  202. package/dist/plugin-sdk/directory-live-G7AN8y8N.js +88 -0
  203. package/dist/plugin-sdk/discord.d.ts +91 -1
  204. package/dist/plugin-sdk/discord.js +71 -3287
  205. package/dist/plugin-sdk/draft-stream-controls-DGYBMJYc.js +323 -0
  206. package/dist/plugin-sdk/exec-DQ8j4Fm3.js +230 -0
  207. package/dist/plugin-sdk/fetch-RV7QDF43.js +68 -0
  208. package/dist/plugin-sdk/fetch-guard-CxXvFYq5.js +168 -0
  209. package/dist/plugin-sdk/filesystem-manager-CeSmCA_A.js +188 -0
  210. package/dist/plugin-sdk/fs-safe-DztQeyQe.js +192 -0
  211. package/dist/plugin-sdk/group-mentions-DLOOve8d.d.ts +108 -0
  212. package/dist/plugin-sdk/guilds-n7MMnX1c.js +13 -0
  213. package/dist/plugin-sdk/handle-action-DkfMckah.js +1450 -0
  214. package/dist/plugin-sdk/helpers-C1pcZJsv.js +439 -0
  215. package/dist/plugin-sdk/image-ops-BSQmb-17.js +510 -0
  216. package/dist/plugin-sdk/index.d.ts +2575 -1
  217. package/dist/plugin-sdk/index.js +61 -782
  218. package/dist/plugin-sdk/ip-BkeyFRJr.js +181 -0
  219. package/dist/plugin-sdk/json-store.js +6 -6
  220. package/dist/plugin-sdk/links-D5ecKoG9.js +74 -0
  221. package/dist/plugin-sdk/logger-BbFvCoKk.js +48 -0
  222. package/dist/plugin-sdk/login-YbYyMkkE.js +61 -0
  223. package/dist/plugin-sdk/login-qr-DvJw8_2g.js +326 -0
  224. package/dist/plugin-sdk/manager-DQ1dH8OM.js +3792 -0
  225. package/dist/plugin-sdk/markdown-tables-DrB-IM8r.js +29 -0
  226. package/dist/plugin-sdk/media-D8pWjqEt.js +1137 -0
  227. package/dist/plugin-sdk/memory-search-DHSeU4pJ.js +242 -0
  228. package/dist/plugin-sdk/monitor-C7si_bKw.js +4539 -0
  229. package/dist/plugin-sdk/monitor-DUyt6cCK.js +7739 -0
  230. package/dist/plugin-sdk/openresponses-http-sYsdEjGP.js +923 -0
  231. package/dist/plugin-sdk/optional-runtime-dependency-Bt_3Yigu.js +41 -0
  232. package/dist/plugin-sdk/outbound-B5ukMdUv.js +224 -0
  233. package/dist/plugin-sdk/outbound-attachment-C9oadpUP.js +95 -0
  234. package/dist/plugin-sdk/pairing-message-B787pcJI.js +293 -0
  235. package/dist/plugin-sdk/pairing-message-C5m-8Evp.d.ts +46 -0
  236. package/dist/plugin-sdk/pairing-store-BdOcH_GA.js +437 -0
  237. package/dist/plugin-sdk/pairing-token-HQpaqod5.js +91 -0
  238. package/dist/plugin-sdk/path-alias-guards-BlIJ0AmG.js +43 -0
  239. package/dist/plugin-sdk/pi-embedded-runner-C6HkZJ5E.js +95517 -0
  240. package/dist/plugin-sdk/pi-model-discovery-DQdXL_-F.js +134 -0
  241. package/dist/plugin-sdk/pi-model-discovery-runtime-IwiWDCQ3.js +14 -0
  242. package/dist/plugin-sdk/probe-CJ6lN-jD.js +41 -0
  243. package/dist/plugin-sdk/probe-CvXWxzag.js +68 -0
  244. package/dist/plugin-sdk/probe-DO4M1Qd1.js +109 -0
  245. package/dist/plugin-sdk/probe-DbhD54Aw.js +89 -0
  246. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +42 -1
  247. package/dist/plugin-sdk/pw-ai-BFHYmEIx.js +1931 -0
  248. package/dist/plugin-sdk/qmd-manager-D2LMB27z.js +1335 -0
  249. package/dist/plugin-sdk/query-expansion-BM7lmqaP.js +769 -0
  250. package/dist/plugin-sdk/replies-BPFt4O-j.js +107 -0
  251. package/dist/plugin-sdk/reply-prefix-CbPHNXlm.js +171 -0
  252. package/dist/plugin-sdk/resolve-channels-B-dUtZYa.js +4 -0
  253. package/dist/plugin-sdk/resolve-channels-sscr14hU.js +208 -0
  254. package/dist/plugin-sdk/resolve-outbound-target-BP_JscKT.js +40 -0
  255. package/dist/plugin-sdk/resolve-route-wp5xq4Ws.js +249 -0
  256. package/dist/plugin-sdk/resolve-users-B63RqPIO.js +118 -0
  257. package/dist/plugin-sdk/resolve-users-C1sjzEsV.js +125 -0
  258. package/dist/plugin-sdk/retry-policy-BTH89onl.js +70 -0
  259. package/dist/plugin-sdk/run-command-i_W6EFb1.d.ts +99 -0
  260. package/dist/plugin-sdk/runtime-BUpqjZNM.js +6821 -0
  261. package/dist/plugin-sdk/runtime-dependency-B5Fut2tT.js +2110 -0
  262. package/dist/plugin-sdk/sandbox-paths-fc-HFGJr.js +158 -0
  263. package/dist/plugin-sdk/sat-runtime.d.ts +932 -1
  264. package/dist/plugin-sdk/sat-runtime.js +23 -11815
  265. package/dist/plugin-sdk/send-CRI83FPV.js +1353 -0
  266. package/dist/plugin-sdk/send-DGUAXb2b.js +518 -0
  267. package/dist/plugin-sdk/send-DUp9GIX8.js +329 -0
  268. package/dist/plugin-sdk/send-DWB5HFdb.js +547 -0
  269. package/dist/plugin-sdk/send-zn5KBXIN.js +2250 -0
  270. package/dist/plugin-sdk/session-BLyxz03u.js +175 -0
  271. package/dist/plugin-sdk/session-key--_1zVBRB.d.ts +17 -0
  272. package/dist/plugin-sdk/shared-V35XNAbz.js +37 -0
  273. package/dist/plugin-sdk/skill-commands-DCnCOVR_.js +1514 -0
  274. package/dist/plugin-sdk/slack-CEoLScM7.js +3742 -0
  275. package/dist/plugin-sdk/slack-actions-Dwy-8Zg7.js +254 -0
  276. package/dist/plugin-sdk/slack.d.ts +73 -1
  277. package/dist/plugin-sdk/slack.js +28 -2568
  278. package/dist/plugin-sdk/ssrf-D_4q0mKh.js +209 -0
  279. package/dist/plugin-sdk/sticker-cache-PRfvBRnv.js +170 -0
  280. package/dist/plugin-sdk/tables-DX84FwPB.js +55 -0
  281. package/dist/plugin-sdk/tailscale-status-BGBRraZW.js +104 -0
  282. package/dist/plugin-sdk/targets-BgSHco9b.js +101 -0
  283. package/dist/plugin-sdk/targets-CuTZl1mO.js +79 -0
  284. package/dist/plugin-sdk/telegram-actions-D4PNLPEZ.js +319 -0
  285. package/dist/plugin-sdk/telegram.d.ts +39 -1
  286. package/dist/plugin-sdk/telegram.js +26 -2530
  287. package/dist/plugin-sdk/thread-bindings.lifecycle-DjpMLjhY.js +823 -0
  288. package/dist/plugin-sdk/thread-bindings.state-DYYR9qeT.js +643 -0
  289. package/dist/plugin-sdk/tmp-fased-dir-B-AAdaCr.d.ts +77 -0
  290. package/dist/plugin-sdk/tokens-Do_JU4Rh.js +21 -0
  291. package/dist/plugin-sdk/types-56R2vXgt.d.ts +3359 -0
  292. package/dist/plugin-sdk/types-CBCtqtMn.d.ts +54 -0
  293. package/dist/plugin-sdk/types-ZT0DGnls.d.ts +1795 -0
  294. package/dist/plugin-sdk/types.plugin-CvUiB3Kh.d.ts +4959 -0
  295. package/dist/plugin-sdk/ui-KGr1WRXC.js +33 -0
  296. package/dist/plugin-sdk/wallet-status-D9UVH6k9.js +11880 -0
  297. package/dist/plugin-sdk/web-CSpyzE3P.js +2238 -0
  298. package/dist/plugin-sdk/whatsapp-actions-DISRDbu1.js +92 -0
  299. package/dist/plugin-sdk/whatsapp-heartbeat-KM3lYpt-.js +70 -0
  300. package/dist/plugin-sdk/whatsapp.d.ts +239 -1
  301. package/dist/plugin-sdk/whatsapp.js +29 -2474
  302. package/dist/plugin-sdk/ws-CxmRDbD9.js +114 -0
  303. package/dist/plugin-sdk/wsl-Cw-xOsqF.js +554 -0
  304. package/dist/plugin-sdk/zod-schema.providers-core-FaYR6KdD.d.ts +1773 -0
  305. package/dist/plugins/bundled-dir.js +3 -3
  306. package/dist/plugins/discovery.js +11 -11
  307. package/dist/plugins/loader.js +13 -13
  308. package/dist/plugins/manifest-registry.js +2 -2
  309. package/dist/plugins/manifest.js +4 -4
  310. package/dist/plugins/path-safety.js +3 -3
  311. package/dist/plugins/status-cache.js +112 -0
  312. package/dist/plugins/status-manifest.js +61 -0
  313. package/dist/plugins/status.js +23 -2
  314. package/dist/plugins/update.js +3 -3
  315. package/dist/plugins/web-search-install-catalog.js +3 -3
  316. package/dist/secrets/apply.js +16 -16
  317. package/dist/secrets/audit.js +11 -11
  318. package/dist/secrets/shared.js +9 -9
  319. package/dist/security/scan-paths.js +2 -2
  320. package/dist/shared/config-eval.js +2 -2
  321. package/dist/shared/pid-alive.js +2 -2
  322. package/dist/tasks/standing-orders.js +5 -5
  323. package/dist/tasks/task-flow-registry.js +5 -5
  324. package/dist/tasks/task-registry.js +5 -5
  325. package/dist/tasks/workflow-definitions.js +6 -6
  326. package/dist/telegram/token.js +5 -5
  327. package/dist/utils.js +5 -5
  328. package/dist/wallet/local-socket-signer-broker.js +16 -16
  329. package/dist/wallet/providers/embedded-keystore-adapter.js +5 -5
  330. package/dist/wallet/providers/local-socket-signer-adapter.js +2 -2
  331. package/dist/wallet/wallet-approval-auth.js +5 -5
  332. package/dist/wallet/wallet-audit-log.js +5 -5
  333. package/dist/wallet/wallet-custody.js +21 -21
  334. package/dist/wallet/wallet-inbound-events.js +5 -5
  335. package/dist/wallet/wallet-observability.js +5 -5
  336. package/dist/wallet/wallet-policy.js +9 -9
  337. package/dist/wallet/wallet-provider-registry.js +7 -7
  338. package/dist/wallet/wallet-runtime-config.js +3 -3
  339. package/dist/wallet/wallet-secrets-store.js +22 -22
  340. package/dist/wallet/wallet-send-approvals.js +5 -5
  341. package/dist/wallet/wallet-settlement-links.js +5 -5
  342. package/dist/web/accounts.js +3 -3
  343. package/dist/web/auth-store.js +18 -18
  344. package/dist/web/session.js +4 -4
  345. package/dist/wizard/host-security-capability.js +2 -2
  346. package/dist/wizard/onboarding.gateway-config.js +0 -21
  347. package/dist/wizard/onboarding.host-security.js +7 -7
  348. package/dist/wizard/onboarding.js +7 -7
  349. package/dist/wizard/onboarding.wallet.js +44 -44
  350. package/extensions/acpx/package.json +1 -1
  351. package/extensions/bluebubbles/package.json +1 -1
  352. package/extensions/copilot-proxy/package.json +1 -1
  353. package/extensions/diagnostics-otel/package.json +1 -1
  354. package/extensions/fased-federation/package.json +1 -1
  355. package/extensions/google-gemini-cli-auth/package.json +1 -1
  356. package/extensions/imessage/package.json +1 -1
  357. package/extensions/irc/package.json +1 -1
  358. package/extensions/line/package.json +1 -1
  359. package/extensions/llm-task/package.json +1 -1
  360. package/extensions/lobster/package.json +1 -1
  361. package/extensions/matrix/package.json +1 -1
  362. package/extensions/mattermost/package.json +1 -1
  363. package/extensions/memory-core/package.json +2 -2
  364. package/extensions/memory-lancedb/package.json +1 -1
  365. package/extensions/minimax-portal-auth/package.json +1 -1
  366. package/extensions/msteams/package.json +1 -1
  367. package/extensions/nextcloud-talk/package.json +1 -1
  368. package/extensions/nostr/package.json +1 -1
  369. package/extensions/open-prose/package.json +1 -1
  370. package/extensions/sat-mining/package.json +1 -1
  371. package/extensions/signal/package.json +1 -1
  372. package/extensions/synology-chat/package.json +1 -1
  373. package/extensions/tlon/package.json +1 -1
  374. package/extensions/twitch/package.json +1 -1
  375. package/extensions/voice-call/package.json +1 -1
  376. package/extensions/zalo/package.json +1 -1
  377. package/extensions/zalouser/package.json +1 -1
  378. package/fased.mjs +29 -1
  379. package/package.json +6 -4
  380. package/dist/plugin-sdk/account-helpers-CMvQP0I-.js +0 -38
  381. package/dist/plugin-sdk/accounts-BJFheJNv.js +0 -62
  382. package/dist/plugin-sdk/accounts-BRbbLNW_.js +0 -76
  383. package/dist/plugin-sdk/accounts-BwkH5bTD.js +0 -304
  384. package/dist/plugin-sdk/accounts-COY-15zJ.js +0 -231
  385. package/dist/plugin-sdk/accounts-D7_p-Ivb.js +0 -62
  386. package/dist/plugin-sdk/accounts-DTdM1xcj.js +0 -76
  387. package/dist/plugin-sdk/accounts-RT6y7n3H.js +0 -304
  388. package/dist/plugin-sdk/actions-BrU_JMqM.js +0 -149
  389. package/dist/plugin-sdk/actions-CUdVHzeJ.js +0 -149
  390. package/dist/plugin-sdk/active-listener-CE8t5g6l.js +0 -37
  391. package/dist/plugin-sdk/active-listener-Dx1SEGDn.js +0 -37
  392. package/dist/plugin-sdk/agent-scope-BuTbywla.js +0 -1641
  393. package/dist/plugin-sdk/agent-scope-kIJqg5PA.js +0 -1641
  394. package/dist/plugin-sdk/allow-list-C9N6FKeC.js +0 -479
  395. package/dist/plugin-sdk/allow-list-CBtbuDI8.js +0 -473
  396. package/dist/plugin-sdk/allow-list-Cgjx0Mc-.js +0 -215
  397. package/dist/plugin-sdk/audio-preflight-Chxqjwxe.js +0 -96
  398. package/dist/plugin-sdk/audio-preflight-aupYKWfa.js +0 -96
  399. package/dist/plugin-sdk/audit-DxB2Kml5.js +0 -78
  400. package/dist/plugin-sdk/audit-sSeRDwJb.js +0 -78
  401. package/dist/plugin-sdk/channel-adapters.discord-Chc31YZN.js +0 -35
  402. package/dist/plugin-sdk/channel-adapters.discord-DXVW1q8n.js +0 -35
  403. package/dist/plugin-sdk/chat-type-CH3W-zKy.js +0 -11
  404. package/dist/plugin-sdk/chunk-KCxbJLsV.js +0 -341
  405. package/dist/plugin-sdk/chunk-M2d7r-Zt.js +0 -341
  406. package/dist/plugin-sdk/chunk-items-BDhRe_xU.js +0 -34
  407. package/dist/plugin-sdk/client-DP_eXDIO.js +0 -22
  408. package/dist/plugin-sdk/client-Dn_01zRN.js +0 -28
  409. package/dist/plugin-sdk/command-poll-backoff-q0xAK3nQ.js +0 -65
  410. package/dist/plugin-sdk/commands-registry-CdT-nl7v.js +0 -1337
  411. package/dist/plugin-sdk/commands-registry-DoWdYAJd.js +0 -1337
  412. package/dist/plugin-sdk/common-Cpw-vuuM.js +0 -440
  413. package/dist/plugin-sdk/common-DJWrErdE.js +0 -440
  414. package/dist/plugin-sdk/config-B6SjJFp-.js +0 -20435
  415. package/dist/plugin-sdk/config-BULEb5QB.js +0 -19698
  416. package/dist/plugin-sdk/config-C0qggNKQ.js +0 -20423
  417. package/dist/plugin-sdk/config-CgwTaper.js +0 -22905
  418. package/dist/plugin-sdk/config-DLVjQxOu.js +0 -20435
  419. package/dist/plugin-sdk/config-DgD5T-Ui.js +0 -20656
  420. package/dist/plugin-sdk/config-DtqAN2L3.js +0 -23249
  421. package/dist/plugin-sdk/conversation-label-CDH4rKMG.js +0 -36
  422. package/dist/plugin-sdk/date-time-BtRPVcm7.js +0 -120
  423. package/dist/plugin-sdk/diagnostic-CuhHqubd.js +0 -282
  424. package/dist/plugin-sdk/diagnostic-DpyvOvs2.js +0 -275
  425. package/dist/plugin-sdk/diagnostic-session-state-Zw87xFym.js +0 -59
  426. package/dist/plugin-sdk/directory-live-8umGGN7a.js +0 -88
  427. package/dist/plugin-sdk/directory-live-BC7oHcsY.js +0 -105
  428. package/dist/plugin-sdk/directory-live-BJgud06p.js +0 -105
  429. package/dist/plugin-sdk/directory-live-BxSH0XXX.js +0 -88
  430. package/dist/plugin-sdk/draft-stream-controls-Bfbhumzv.js +0 -323
  431. package/dist/plugin-sdk/draft-stream-controls-v_5gdUYG.js +0 -323
  432. package/dist/plugin-sdk/draft-stream-loop-B3uUPmuU.js +0 -81
  433. package/dist/plugin-sdk/extensions/sat-mining/src/config.d.ts +0 -117
  434. package/dist/plugin-sdk/extensions/sat-mining/src/hash-spec.d.ts +0 -58
  435. package/dist/plugin-sdk/extensions/sat-mining/src/rpc-read.d.ts +0 -648
  436. package/dist/plugin-sdk/extensions/sat-mining/src/sat-bond-layout.d.ts +0 -110
  437. package/dist/plugin-sdk/extensions/sat-mining/src/solana-submit.d.ts +0 -297
  438. package/dist/plugin-sdk/fetch-D70syO9t.js +0 -68
  439. package/dist/plugin-sdk/fetch-guard-BLdujDnt.js +0 -163
  440. package/dist/plugin-sdk/fetch-guard-DTKgMN9f.js +0 -163
  441. package/dist/plugin-sdk/fetch-headers-my7hgV2G.js +0 -26
  442. package/dist/plugin-sdk/fetch-timeout-l_6RdoMw.js +0 -43
  443. package/dist/plugin-sdk/fetch-xfeOsibm.js +0 -68
  444. package/dist/plugin-sdk/filesystem-manager-BEd8NKL9.js +0 -186
  445. package/dist/plugin-sdk/filesystem-manager-D-4lQ3Af.js +0 -186
  446. package/dist/plugin-sdk/fs-safe-BDnJzutp.js +0 -192
  447. package/dist/plugin-sdk/fs-safe-BPYS6-j1.js +0 -192
  448. package/dist/plugin-sdk/gateway-registry-w_Z-PHGf.js +0 -58
  449. package/dist/plugin-sdk/github-copilot-token-Djqpy66R.js +0 -127
  450. package/dist/plugin-sdk/globals-BtKmaIS3.js +0 -439
  451. package/dist/plugin-sdk/guilds-BdkvRFue.js +0 -13
  452. package/dist/plugin-sdk/guilds-DmzO7n0X.js +0 -13
  453. package/dist/plugin-sdk/guilds-iTYlgBat.js +0 -13
  454. package/dist/plugin-sdk/handle-action-B61D85yo.js +0 -1445
  455. package/dist/plugin-sdk/handle-action-CjcxGzQD.js +0 -1445
  456. package/dist/plugin-sdk/inbound-context-CeJDjLk-.js +0 -68
  457. package/dist/plugin-sdk/internal-DMTDEiDF.js +0 -247
  458. package/dist/plugin-sdk/ip-Ddk9SPR-.js +0 -47
  459. package/dist/plugin-sdk/login-CB_nCjX3.js +0 -61
  460. package/dist/plugin-sdk/login-CzUuDd1v.js +0 -61
  461. package/dist/plugin-sdk/login-YveoqEvH.js +0 -268
  462. package/dist/plugin-sdk/login-qr-D7MEpFza.js +0 -324
  463. package/dist/plugin-sdk/login-qr-DgxfBFVN.js +0 -324
  464. package/dist/plugin-sdk/manager-9see0IX5.js +0 -3792
  465. package/dist/plugin-sdk/manager-D2kZ0Cps.js +0 -3792
  466. package/dist/plugin-sdk/markdown-tables-CCSD52rA.js +0 -29
  467. package/dist/plugin-sdk/markdown-tables-DWUNvLrc.js +0 -29
  468. package/dist/plugin-sdk/media-C7YT4DeU.js +0 -1641
  469. package/dist/plugin-sdk/media-Cxw-xLGU.js +0 -1641
  470. package/dist/plugin-sdk/memory-search-B-0Fwnrp.js +0 -242
  471. package/dist/plugin-sdk/memory-search-J6AYuENR.js +0 -242
  472. package/dist/plugin-sdk/monitor-38DGeIwS.js +0 -4528
  473. package/dist/plugin-sdk/monitor-CYCSEVee.js +0 -7743
  474. package/dist/plugin-sdk/monitor-Ceu-Wayc.js +0 -4528
  475. package/dist/plugin-sdk/monitor-DCyBaUCs.js +0 -7728
  476. package/dist/plugin-sdk/openresponses-http-CCfimy89.js +0 -912
  477. package/dist/plugin-sdk/openresponses-http-DAL_9jE-.js +0 -912
  478. package/dist/plugin-sdk/optional-runtime-dependency-szS49voX.js +0 -426
  479. package/dist/plugin-sdk/outbound-BCxOxdi-.js +0 -224
  480. package/dist/plugin-sdk/outbound-JIwQbpRY.js +0 -224
  481. package/dist/plugin-sdk/outbound-attachment-C-jSFaEB.js +0 -94
  482. package/dist/plugin-sdk/outbound-attachment-D6tj5Y5H.js +0 -78
  483. package/dist/plugin-sdk/path-alias-guards-C76pC928.js +0 -43
  484. package/dist/plugin-sdk/path-alias-guards-CcQroDXQ.js +0 -43
  485. package/dist/plugin-sdk/paths-DTurNPnO.js +0 -158
  486. package/dist/plugin-sdk/paths-GdhK5mV_.js +0 -191
  487. package/dist/plugin-sdk/pi-embedded-runner-Dum71Tdo.js +0 -107134
  488. package/dist/plugin-sdk/pi-model-discovery-DadlvsZW.js +0 -134
  489. package/dist/plugin-sdk/pi-model-discovery-G2L8gMcs.js +0 -22703
  490. package/dist/plugin-sdk/pi-model-discovery-runtime-BpR1pe7K.js +0 -3
  491. package/dist/plugin-sdk/pi-model-discovery-runtime-C5ssE6EW.js +0 -127
  492. package/dist/plugin-sdk/pi-model-discovery-runtime-CQOauapl.js +0 -127
  493. package/dist/plugin-sdk/pi-model-discovery-runtime-DAaOPt64.js +0 -12
  494. package/dist/plugin-sdk/pi-model-discovery-runtime-DYfUuqPN.js +0 -127
  495. package/dist/plugin-sdk/pi-model-discovery-runtime-DyOIGBor.js +0 -127
  496. package/dist/plugin-sdk/pi-model-discovery-runtime-gd77b0UF.js +0 -12
  497. package/dist/plugin-sdk/pi-model-discovery-runtime-w4DRRv53.js +0 -128
  498. package/dist/plugin-sdk/pi-model-discovery-yifTIDIn.js +0 -134
  499. package/dist/plugin-sdk/polls-D0YNJBfc.js +0 -33
  500. package/dist/plugin-sdk/probe-0Xt6fbw2.js +0 -109
  501. package/dist/plugin-sdk/probe-1paqsAk5.js +0 -89
  502. package/dist/plugin-sdk/probe-BPYqD-cg.js +0 -68
  503. package/dist/plugin-sdk/probe-Ba4KG8Vi.js +0 -41
  504. package/dist/plugin-sdk/probe-BfzwvkxZ.js +0 -68
  505. package/dist/plugin-sdk/probe-CsFmvxbr.js +0 -89
  506. package/dist/plugin-sdk/probe-Dqx0N4uk.js +0 -109
  507. package/dist/plugin-sdk/probe-DrTulmwQ.js +0 -41
  508. package/dist/plugin-sdk/proxy-CV9uL4Wi.js +0 -16
  509. package/dist/plugin-sdk/pw-ai-SNCI9UXT.js +0 -1926
  510. package/dist/plugin-sdk/pw-ai-sH1Pi-Fh.js +0 -1926
  511. package/dist/plugin-sdk/qmd-manager-BfJXNhlO.js +0 -1333
  512. package/dist/plugin-sdk/qmd-manager-QNVr__Z6.js +0 -1333
  513. package/dist/plugin-sdk/qmd-scope-Cei2-7Q5.js +0 -78
  514. package/dist/plugin-sdk/query-expansion-DjJAUtDU.js +0 -769
  515. package/dist/plugin-sdk/query-expansion-VePrajug.js +0 -769
  516. package/dist/plugin-sdk/redact-Ck-wgswc.js +0 -188
  517. package/dist/plugin-sdk/redact-identifier-DdQO7P4_.js +0 -15
  518. package/dist/plugin-sdk/registry-DNkJsNsz.js +0 -6463
  519. package/dist/plugin-sdk/replies-fvzN5wnU.js +0 -107
  520. package/dist/plugin-sdk/replies-zebgZCHX.js +0 -107
  521. package/dist/plugin-sdk/reply-prefix-DqlCqHXT.js +0 -171
  522. package/dist/plugin-sdk/reply-prefix-Y14LY6Rn.js +0 -171
  523. package/dist/plugin-sdk/reply-reference-mUSl_ExV.js +0 -35
  524. package/dist/plugin-sdk/resolve-channels-CGCkchAo.js +0 -208
  525. package/dist/plugin-sdk/resolve-channels-CHkzoB7d.js +0 -4
  526. package/dist/plugin-sdk/resolve-channels-CIoMOUEH.js +0 -88
  527. package/dist/plugin-sdk/resolve-channels-CU3vZXOG.js +0 -4
  528. package/dist/plugin-sdk/resolve-channels-J5m_-ZOk.js +0 -208
  529. package/dist/plugin-sdk/resolve-channels-gIpOj1wt.js +0 -206
  530. package/dist/plugin-sdk/resolve-route-CNhTJG_2.js +0 -248
  531. package/dist/plugin-sdk/resolve-route-DO0WR4nB.js +0 -248
  532. package/dist/plugin-sdk/resolve-users-Bm78yvE3.js +0 -123
  533. package/dist/plugin-sdk/resolve-users-C0F3LQs2.js +0 -118
  534. package/dist/plugin-sdk/resolve-users-CTKaESmf.js +0 -116
  535. package/dist/plugin-sdk/resolve-users-Ct0fO5kP.js +0 -125
  536. package/dist/plugin-sdk/resolve-users-DlpsBzVS.js +0 -118
  537. package/dist/plugin-sdk/resolve-users-sv9og6yh.js +0 -125
  538. package/dist/plugin-sdk/resolve-utils-r6ef8mj8.js +0 -147
  539. package/dist/plugin-sdk/retry-CB29XXbz.js +0 -780
  540. package/dist/plugin-sdk/retry-Cq65ROXv.js +0 -77
  541. package/dist/plugin-sdk/retry-policy-BLYEgIwP.js +0 -70
  542. package/dist/plugin-sdk/retry-policy-sM01QZT2.js +0 -70
  543. package/dist/plugin-sdk/run-with-concurrency-CavAFhML.js +0 -42
  544. package/dist/plugin-sdk/runtime-BPyuAmka.js +0 -6577
  545. package/dist/plugin-sdk/runtime-dependency-B-1u41Ph.js +0 -2217
  546. package/dist/plugin-sdk/runtime-dependency-Csswyv5r.js +0 -2217
  547. package/dist/plugin-sdk/sandbox-paths-CkTERCrj.js +0 -158
  548. package/dist/plugin-sdk/sandbox-paths-DMnFyOaA.js +0 -158
  549. package/dist/plugin-sdk/secure-random-DLpYiUzR.js +0 -12
  550. package/dist/plugin-sdk/send-B09HRfHN.js +0 -1351
  551. package/dist/plugin-sdk/send-BBYcgXA4.js +0 -546
  552. package/dist/plugin-sdk/send-BQXQA81e.js +0 -2249
  553. package/dist/plugin-sdk/send-BzFdvD_i.js +0 -1351
  554. package/dist/plugin-sdk/send-C3u-F_8s.js +0 -2249
  555. package/dist/plugin-sdk/send-D3836_UN.js +0 -505
  556. package/dist/plugin-sdk/send-D7tr-EsH.js +0 -546
  557. package/dist/plugin-sdk/send-DRGzRdI3.js +0 -518
  558. package/dist/plugin-sdk/send-DfkPKz_0.js +0 -356
  559. package/dist/plugin-sdk/send-DsxFXrCO.js +0 -356
  560. package/dist/plugin-sdk/session-DG_bYisw.js +0 -175
  561. package/dist/plugin-sdk/session-EIStzK0E.js +0 -175
  562. package/dist/plugin-sdk/session-key-Bp3qq3bm.js +0 -228
  563. package/dist/plugin-sdk/skill-commands-CkgGmWBS.js +0 -1600
  564. package/dist/plugin-sdk/skill-commands-hyZA0LE3.js +0 -1571
  565. package/dist/plugin-sdk/slack-B0dLDyHM.js +0 -3731
  566. package/dist/plugin-sdk/slack-Dv4zCw-x.js +0 -3730
  567. package/dist/plugin-sdk/slack-actions-BQawWGTJ.js +0 -248
  568. package/dist/plugin-sdk/slack-actions-DDMszx56.js +0 -248
  569. package/dist/plugin-sdk/src/acp/acpx-mutating-wrapper-policy.d.ts +0 -35
  570. package/dist/plugin-sdk/src/acp/acpx-push-test-approval-contract.d.ts +0 -62
  571. package/dist/plugin-sdk/src/acp/acpx-push-test-execution-adapter.d.ts +0 -44
  572. package/dist/plugin-sdk/src/acp/control-plane/manager.core.d.ts +0 -74
  573. package/dist/plugin-sdk/src/acp/control-plane/manager.d.ts +0 -7
  574. package/dist/plugin-sdk/src/acp/control-plane/manager.identity-reconcile.d.ts +0 -23
  575. package/dist/plugin-sdk/src/acp/control-plane/manager.runtime-controls.d.ts +0 -14
  576. package/dist/plugin-sdk/src/acp/control-plane/manager.types.d.ts +0 -103
  577. package/dist/plugin-sdk/src/acp/control-plane/manager.utils.d.ts +0 -14
  578. package/dist/plugin-sdk/src/acp/control-plane/runtime-cache.d.ts +0 -38
  579. package/dist/plugin-sdk/src/acp/control-plane/runtime-options.d.ts +0 -23
  580. package/dist/plugin-sdk/src/acp/control-plane/session-actor-queue.d.ts +0 -8
  581. package/dist/plugin-sdk/src/acp/control-plane/spawn.d.ts +0 -25
  582. package/dist/plugin-sdk/src/acp/policy.d.ts +0 -10
  583. package/dist/plugin-sdk/src/acp/runtime/error-text.d.ts +0 -7
  584. package/dist/plugin-sdk/src/acp/runtime/errors.d.ts +0 -20
  585. package/dist/plugin-sdk/src/acp/runtime/registry.d.ts +0 -18
  586. package/dist/plugin-sdk/src/acp/runtime/session-identifiers.d.ts +0 -17
  587. package/dist/plugin-sdk/src/acp/runtime/session-identity.d.ts +0 -23
  588. package/dist/plugin-sdk/src/acp/runtime/session-meta.d.ts +0 -30
  589. package/dist/plugin-sdk/src/acp/runtime/types.d.ts +0 -102
  590. package/dist/plugin-sdk/src/acp/status-snapshot.d.ts +0 -54
  591. package/dist/plugin-sdk/src/agents/acp-spawn-parent-stream.d.ts +0 -20
  592. package/dist/plugin-sdk/src/agents/acp-spawn.d.ts +0 -39
  593. package/dist/plugin-sdk/src/agents/agent-model-providers.d.ts +0 -47
  594. package/dist/plugin-sdk/src/agents/agent-paths.d.ts +0 -4
  595. package/dist/plugin-sdk/src/agents/agent-scope.d.ts +0 -71
  596. package/dist/plugin-sdk/src/agents/announce-idempotency.d.ts +0 -11
  597. package/dist/plugin-sdk/src/agents/anthropic-payload-log.d.ts +0 -20
  598. package/dist/plugin-sdk/src/agents/api-key-rotation.d.ts +0 -22
  599. package/dist/plugin-sdk/src/agents/apply-patch-update.d.ts +0 -10
  600. package/dist/plugin-sdk/src/agents/apply-patch.d.ts +0 -35
  601. package/dist/plugin-sdk/src/agents/auth-health.d.ts +0 -40
  602. package/dist/plugin-sdk/src/agents/auth-profiles/constants.d.ts +0 -19
  603. package/dist/plugin-sdk/src/agents/auth-profiles/display.d.ts +0 -7
  604. package/dist/plugin-sdk/src/agents/auth-profiles/doctor.d.ts +0 -8
  605. package/dist/plugin-sdk/src/agents/auth-profiles/external-cli-sync.d.ts +0 -7
  606. package/dist/plugin-sdk/src/agents/auth-profiles/oauth.d.ts +0 -14
  607. package/dist/plugin-sdk/src/agents/auth-profiles/order.d.ts +0 -8
  608. package/dist/plugin-sdk/src/agents/auth-profiles/paths.d.ts +0 -4
  609. package/dist/plugin-sdk/src/agents/auth-profiles/profiles.d.ts +0 -25
  610. package/dist/plugin-sdk/src/agents/auth-profiles/repair.d.ts +0 -14
  611. package/dist/plugin-sdk/src/agents/auth-profiles/session-override.d.ts +0 -19
  612. package/dist/plugin-sdk/src/agents/auth-profiles/store.d.ts +0 -24
  613. package/dist/plugin-sdk/src/agents/auth-profiles/types.d.ts +0 -65
  614. package/dist/plugin-sdk/src/agents/auth-profiles/usage.d.ts +0 -85
  615. package/dist/plugin-sdk/src/agents/auth-profiles.d.ts +0 -11
  616. package/dist/plugin-sdk/src/agents/bash-process-registry.d.ts +0 -72
  617. package/dist/plugin-sdk/src/agents/bash-tools.d.ts +0 -4
  618. package/dist/plugin-sdk/src/agents/bash-tools.exec-approval-followup.d.ts +0 -12
  619. package/dist/plugin-sdk/src/agents/bash-tools.exec-approval-request.d.ts +0 -70
  620. package/dist/plugin-sdk/src/agents/bash-tools.exec-host-gateway.d.ts +0 -34
  621. package/dist/plugin-sdk/src/agents/bash-tools.exec-host-node.d.ts +0 -26
  622. package/dist/plugin-sdk/src/agents/bash-tools.exec-host-shared.d.ts +0 -155
  623. package/dist/plugin-sdk/src/agents/bash-tools.exec-runtime.d.ts +0 -116
  624. package/dist/plugin-sdk/src/agents/bash-tools.exec-types.d.ts +0 -76
  625. package/dist/plugin-sdk/src/agents/bash-tools.exec.d.ts +0 -6
  626. package/dist/plugin-sdk/src/agents/bash-tools.process.d.ts +0 -11
  627. package/dist/plugin-sdk/src/agents/bash-tools.shared.d.ts +0 -56
  628. package/dist/plugin-sdk/src/agents/bootstrap-budget.d.ts +0 -87
  629. package/dist/plugin-sdk/src/agents/bootstrap-cache.d.ts +0 -11
  630. package/dist/plugin-sdk/src/agents/bootstrap-files.d.ts +0 -32
  631. package/dist/plugin-sdk/src/agents/bootstrap-hooks.d.ts +0 -10
  632. package/dist/plugin-sdk/src/agents/byteplus-models.d.ts +0 -128
  633. package/dist/plugin-sdk/src/agents/cache-trace.d.ts +0 -49
  634. package/dist/plugin-sdk/src/agents/channel-tools.d.ts +0 -30
  635. package/dist/plugin-sdk/src/agents/chutes-models.d.ts +0 -25
  636. package/dist/plugin-sdk/src/agents/chutes-oauth.d.ts +0 -46
  637. package/dist/plugin-sdk/src/agents/cli-backends.d.ts +0 -8
  638. package/dist/plugin-sdk/src/agents/cli-credentials.d.ts +0 -72
  639. package/dist/plugin-sdk/src/agents/cli-runner/helpers.d.ts +0 -72
  640. package/dist/plugin-sdk/src/agents/cli-runner/reliability.d.ts +0 -11
  641. package/dist/plugin-sdk/src/agents/cli-runner.d.ts +0 -42
  642. package/dist/plugin-sdk/src/agents/cli-session.d.ts +0 -3
  643. package/dist/plugin-sdk/src/agents/cli-watchdog-defaults.d.ts +0 -11
  644. package/dist/plugin-sdk/src/agents/cloudflare-ai-gateway.d.ts +0 -1
  645. package/dist/plugin-sdk/src/agents/command-poll-backoff.d.ts +0 -28
  646. package/dist/plugin-sdk/src/agents/compaction.d.ts +0 -72
  647. package/dist/plugin-sdk/src/agents/content-blocks.d.ts +0 -1
  648. package/dist/plugin-sdk/src/agents/context-window-guard.d.ts +0 -25
  649. package/dist/plugin-sdk/src/agents/context.d.ts +0 -38
  650. package/dist/plugin-sdk/src/agents/current-model-catalog.d.ts +0 -5
  651. package/dist/plugin-sdk/src/agents/current-time.d.ts +0 -17
  652. package/dist/plugin-sdk/src/agents/date-time.d.ts +0 -13
  653. package/dist/plugin-sdk/src/agents/defaults.d.ts +0 -3
  654. package/dist/plugin-sdk/src/agents/docs-path.d.ts +0 -6
  655. package/dist/plugin-sdk/src/agents/doubao-models.d.ts +0 -128
  656. package/dist/plugin-sdk/src/agents/embedded-pi-mcp.d.ts +0 -13
  657. package/dist/plugin-sdk/src/agents/exec-approval-result.d.ts +0 -21
  658. package/dist/plugin-sdk/src/agents/failover-error.d.ts +0 -33
  659. package/dist/plugin-sdk/src/agents/fased-tools.d.ts +0 -58
  660. package/dist/plugin-sdk/src/agents/glob-pattern.d.ts +0 -18
  661. package/dist/plugin-sdk/src/agents/huggingface-models.d.ts +0 -14
  662. package/dist/plugin-sdk/src/agents/identity-avatar.d.ts +0 -17
  663. package/dist/plugin-sdk/src/agents/identity-file.d.ts +0 -12
  664. package/dist/plugin-sdk/src/agents/identity.d.ts +0 -28
  665. package/dist/plugin-sdk/src/agents/image-sanitization.d.ts +0 -8
  666. package/dist/plugin-sdk/src/agents/lanes.d.ts +0 -4
  667. package/dist/plugin-sdk/src/agents/live-auth-keys.d.ts +0 -6
  668. package/dist/plugin-sdk/src/agents/mcp-config-shared.d.ts +0 -5
  669. package/dist/plugin-sdk/src/agents/mcp-http.d.ts +0 -19
  670. package/dist/plugin-sdk/src/agents/mcp-stdio.d.ts +0 -16
  671. package/dist/plugin-sdk/src/agents/mcp-transport-config.d.ts +0 -23
  672. package/dist/plugin-sdk/src/agents/mcp-transport.d.ts +0 -9
  673. package/dist/plugin-sdk/src/agents/memory-search.d.ts +0 -80
  674. package/dist/plugin-sdk/src/agents/minimax-vlm.d.ts +0 -8
  675. package/dist/plugin-sdk/src/agents/model-alias-lines.d.ts +0 -2
  676. package/dist/plugin-sdk/src/agents/model-auth-label.d.ts +0 -8
  677. package/dist/plugin-sdk/src/agents/model-auth.d.ts +0 -37
  678. package/dist/plugin-sdk/src/agents/model-catalog-access.d.ts +0 -30
  679. package/dist/plugin-sdk/src/agents/model-catalog-normalized.d.ts +0 -27
  680. package/dist/plugin-sdk/src/agents/model-catalog-source.d.ts +0 -41
  681. package/dist/plugin-sdk/src/agents/model-catalog-status.d.ts +0 -92
  682. package/dist/plugin-sdk/src/agents/model-catalog.d.ts +0 -35
  683. package/dist/plugin-sdk/src/agents/model-compat.d.ts +0 -2
  684. package/dist/plugin-sdk/src/agents/model-fallback.d.ts +0 -54
  685. package/dist/plugin-sdk/src/agents/model-forward-compat.d.ts +0 -3
  686. package/dist/plugin-sdk/src/agents/model-metadata.d.ts +0 -49
  687. package/dist/plugin-sdk/src/agents/model-ref-profile.d.ts +0 -4
  688. package/dist/plugin-sdk/src/agents/model-selection.d.ts +0 -130
  689. package/dist/plugin-sdk/src/agents/models-config.d.ts +0 -9
  690. package/dist/plugin-sdk/src/agents/models-config.providers.d.ts +0 -40
  691. package/dist/plugin-sdk/src/agents/opencode-zen-models.d.ts +0 -46
  692. package/dist/plugin-sdk/src/agents/owner-display.d.ts +0 -19
  693. package/dist/plugin-sdk/src/agents/payload-redaction.d.ts +0 -10
  694. package/dist/plugin-sdk/src/agents/pi-auth-credentials.d.ts +0 -16
  695. package/dist/plugin-sdk/src/agents/pi-bundle-mcp-materialize.d.ts +0 -12
  696. package/dist/plugin-sdk/src/agents/pi-bundle-mcp-names.d.ts +0 -9
  697. package/dist/plugin-sdk/src/agents/pi-bundle-mcp-runtime.d.ts +0 -21
  698. package/dist/plugin-sdk/src/agents/pi-bundle-mcp-tools.d.ts +0 -3
  699. package/dist/plugin-sdk/src/agents/pi-bundle-mcp-types.d.ts +0 -52
  700. package/dist/plugin-sdk/src/agents/pi-embedded-block-chunker.d.ts +0 -19
  701. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/bootstrap.d.ts +0 -33
  702. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/errors.d.ts +0 -70
  703. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/google.d.ts +0 -3
  704. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/images.d.ts +0 -22
  705. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/messaging-dedupe.d.ts +0 -10
  706. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/openai.d.ts +0 -17
  707. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/thinking.d.ts +0 -5
  708. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/turns.d.ts +0 -21
  709. package/dist/plugin-sdk/src/agents/pi-embedded-helpers/types.d.ts +0 -5
  710. package/dist/plugin-sdk/src/agents/pi-embedded-helpers.d.ts +0 -11
  711. package/dist/plugin-sdk/src/agents/pi-embedded-messaging.d.ts +0 -9
  712. package/dist/plugin-sdk/src/agents/pi-embedded-payloads.d.ts +0 -9
  713. package/dist/plugin-sdk/src/agents/pi-embedded-runner/abort.d.ts +0 -6
  714. package/dist/plugin-sdk/src/agents/pi-embedded-runner/cache-ttl.d.ts +0 -17
  715. package/dist/plugin-sdk/src/agents/pi-embedded-runner/compact.d.ts +0 -57
  716. package/dist/plugin-sdk/src/agents/pi-embedded-runner/compaction-safety-timeout.d.ts +0 -7
  717. package/dist/plugin-sdk/src/agents/pi-embedded-runner/extensions.d.ts +0 -12
  718. package/dist/plugin-sdk/src/agents/pi-embedded-runner/extra-params.d.ts +0 -76
  719. package/dist/plugin-sdk/src/agents/pi-embedded-runner/google.d.ts +0 -42
  720. package/dist/plugin-sdk/src/agents/pi-embedded-runner/history.d.ts +0 -18
  721. package/dist/plugin-sdk/src/agents/pi-embedded-runner/lanes.d.ts +0 -3
  722. package/dist/plugin-sdk/src/agents/pi-embedded-runner/logger.d.ts +0 -1
  723. package/dist/plugin-sdk/src/agents/pi-embedded-runner/model.d.ts +0 -30
  724. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/attempt.d.ts +0 -30
  725. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/compaction-timeout.d.ts +0 -20
  726. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/history-image-prune.d.ts +0 -7
  727. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/images.d.ts +0 -83
  728. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/llm-idle-timeout.d.ts +0 -9
  729. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/params.d.ts +0 -128
  730. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/payloads.d.ts +0 -42
  731. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run/types.d.ts +0 -67
  732. package/dist/plugin-sdk/src/agents/pi-embedded-runner/run.d.ts +0 -3
  733. package/dist/plugin-sdk/src/agents/pi-embedded-runner/runs.d.ts +0 -32
  734. package/dist/plugin-sdk/src/agents/pi-embedded-runner/sandbox-info.d.ts +0 -4
  735. package/dist/plugin-sdk/src/agents/pi-embedded-runner/session-manager-cache.d.ts +0 -2
  736. package/dist/plugin-sdk/src/agents/pi-embedded-runner/session-manager-init.d.ts +0 -17
  737. package/dist/plugin-sdk/src/agents/pi-embedded-runner/system-prompt.d.ts +0 -55
  738. package/dist/plugin-sdk/src/agents/pi-embedded-runner/thinking.d.ts +0 -17
  739. package/dist/plugin-sdk/src/agents/pi-embedded-runner/tool-name-allowlist.d.ts +0 -6
  740. package/dist/plugin-sdk/src/agents/pi-embedded-runner/tool-result-context-guard.d.ts +0 -8
  741. package/dist/plugin-sdk/src/agents/pi-embedded-runner/tool-result-truncation.d.ts +0 -79
  742. package/dist/plugin-sdk/src/agents/pi-embedded-runner/tool-split.d.ts +0 -11
  743. package/dist/plugin-sdk/src/agents/pi-embedded-runner/types.d.ts +0 -95
  744. package/dist/plugin-sdk/src/agents/pi-embedded-runner/utils.d.ts +0 -5
  745. package/dist/plugin-sdk/src/agents/pi-embedded-runner/wait-for-idle-before-flush.d.ts +0 -14
  746. package/dist/plugin-sdk/src/agents/pi-embedded-runner.d.ts +0 -12
  747. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.d.ts +0 -34
  748. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.compaction.d.ts +0 -6
  749. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.d.ts +0 -2
  750. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.lifecycle.d.ts +0 -4
  751. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.messages.d.ts +0 -16
  752. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.tools.d.ts +0 -18
  753. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.handlers.types.d.ts +0 -152
  754. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.raw-stream.d.ts +0 -1
  755. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.tools.d.ts +0 -20
  756. package/dist/plugin-sdk/src/agents/pi-embedded-subscribe.types.d.ts +0 -45
  757. package/dist/plugin-sdk/src/agents/pi-embedded-utils.d.ts +0 -42
  758. package/dist/plugin-sdk/src/agents/pi-embedded.d.ts +0 -2
  759. package/dist/plugin-sdk/src/agents/pi-extensions/compaction-safeguard-runtime.d.ts +0 -16
  760. package/dist/plugin-sdk/src/agents/pi-extensions/compaction-safeguard.d.ts +0 -22
  761. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning/extension.d.ts +0 -7
  762. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning/pruner.d.ts +0 -10
  763. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning/runtime.d.ts +0 -9
  764. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning/settings.d.ts +0 -44
  765. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning/tools.d.ts +0 -2
  766. package/dist/plugin-sdk/src/agents/pi-extensions/context-pruning.d.ts +0 -10
  767. package/dist/plugin-sdk/src/agents/pi-extensions/session-manager-runtime-registry.d.ts +0 -4
  768. package/dist/plugin-sdk/src/agents/pi-model-discovery-runtime.d.ts +0 -1
  769. package/dist/plugin-sdk/src/agents/pi-model-discovery.d.ts +0 -7
  770. package/dist/plugin-sdk/src/agents/pi-project-settings.d.ts +0 -28
  771. package/dist/plugin-sdk/src/agents/pi-settings.d.ts +0 -45
  772. package/dist/plugin-sdk/src/agents/pi-tool-definition-adapter.d.ts +0 -8
  773. package/dist/plugin-sdk/src/agents/pi-tools.abort.d.ts +0 -2
  774. package/dist/plugin-sdk/src/agents/pi-tools.before-tool-call.d.ts +0 -31
  775. package/dist/plugin-sdk/src/agents/pi-tools.d.ts +0 -84
  776. package/dist/plugin-sdk/src/agents/pi-tools.policy.d.ts +0 -38
  777. package/dist/plugin-sdk/src/agents/pi-tools.read.d.ts +0 -61
  778. package/dist/plugin-sdk/src/agents/pi-tools.schema.d.ts +0 -9
  779. package/dist/plugin-sdk/src/agents/pi-tools.types.d.ts +0 -2
  780. package/dist/plugin-sdk/src/agents/prompt-cache-stability.d.ts +0 -2
  781. package/dist/plugin-sdk/src/agents/provider-attribution.d.ts +0 -70
  782. package/dist/plugin-sdk/src/agents/provider-auth-aliases.d.ts +0 -9
  783. package/dist/plugin-sdk/src/agents/provider-extension-catalog-index.d.ts +0 -37
  784. package/dist/plugin-sdk/src/agents/provider-extension-catalog-manifest.d.ts +0 -29
  785. package/dist/plugin-sdk/src/agents/provider-id.d.ts +0 -5
  786. package/dist/plugin-sdk/src/agents/provider-request-config.d.ts +0 -194
  787. package/dist/plugin-sdk/src/agents/pty-dsr.d.ts +0 -5
  788. package/dist/plugin-sdk/src/agents/pty-keys.d.ts +0 -14
  789. package/dist/plugin-sdk/src/agents/queued-file-writer.d.ts +0 -5
  790. package/dist/plugin-sdk/src/agents/sandbox/backend.d.ts +0 -29
  791. package/dist/plugin-sdk/src/agents/sandbox/bind-spec.d.ts +0 -7
  792. package/dist/plugin-sdk/src/agents/sandbox/browser-bridges.d.ts +0 -7
  793. package/dist/plugin-sdk/src/agents/sandbox/browser.d.ts +0 -12
  794. package/dist/plugin-sdk/src/agents/sandbox/config-hash.d.ts +0 -18
  795. package/dist/plugin-sdk/src/agents/sandbox/config.d.ts +0 -32
  796. package/dist/plugin-sdk/src/agents/sandbox/constants.d.ts +0 -21
  797. package/dist/plugin-sdk/src/agents/sandbox/context.d.ts +0 -20
  798. package/dist/plugin-sdk/src/agents/sandbox/docker.d.ts +0 -48
  799. package/dist/plugin-sdk/src/agents/sandbox/fs-bridge.d.ts +0 -56
  800. package/dist/plugin-sdk/src/agents/sandbox/fs-paths.d.ts +0 -28
  801. package/dist/plugin-sdk/src/agents/sandbox/hash.d.ts +0 -1
  802. package/dist/plugin-sdk/src/agents/sandbox/host-paths.d.ts +0 -9
  803. package/dist/plugin-sdk/src/agents/sandbox/manage.d.ts +0 -13
  804. package/dist/plugin-sdk/src/agents/sandbox/network-mode.d.ts +0 -7
  805. package/dist/plugin-sdk/src/agents/sandbox/novnc-auth.d.ts +0 -15
  806. package/dist/plugin-sdk/src/agents/sandbox/path-utils.d.ts +0 -2
  807. package/dist/plugin-sdk/src/agents/sandbox/prune.d.ts +0 -3
  808. package/dist/plugin-sdk/src/agents/sandbox/registry.d.ts +0 -31
  809. package/dist/plugin-sdk/src/agents/sandbox/runtime-status.d.ts +0 -18
  810. package/dist/plugin-sdk/src/agents/sandbox/sanitize-env-vars.d.ts +0 -14
  811. package/dist/plugin-sdk/src/agents/sandbox/shared.d.ts +0 -4
  812. package/dist/plugin-sdk/src/agents/sandbox/tool-policy.d.ts +0 -4
  813. package/dist/plugin-sdk/src/agents/sandbox/types.d.ts +0 -91
  814. package/dist/plugin-sdk/src/agents/sandbox/types.docker.d.ts +0 -4
  815. package/dist/plugin-sdk/src/agents/sandbox/validate-sandbox-security.d.ts +0 -68
  816. package/dist/plugin-sdk/src/agents/sandbox/workspace.d.ts +0 -1
  817. package/dist/plugin-sdk/src/agents/sandbox-media-paths.d.ts +0 -17
  818. package/dist/plugin-sdk/src/agents/sandbox-paths.d.ts +0 -24
  819. package/dist/plugin-sdk/src/agents/sandbox-tool-policy.d.ts +0 -8
  820. package/dist/plugin-sdk/src/agents/sandbox.d.ts +0 -8
  821. package/dist/plugin-sdk/src/agents/sanitize-for-prompt.d.ts +0 -21
  822. package/dist/plugin-sdk/src/agents/schema/clean-for-gemini.d.ts +0 -2
  823. package/dist/plugin-sdk/src/agents/schema/typebox.d.ts +0 -14
  824. package/dist/plugin-sdk/src/agents/session-dirs.d.ts +0 -3
  825. package/dist/plugin-sdk/src/agents/session-file-repair.d.ts +0 -11
  826. package/dist/plugin-sdk/src/agents/session-slug.d.ts +0 -1
  827. package/dist/plugin-sdk/src/agents/session-tool-result-guard-wrapper.d.ts +0 -19
  828. package/dist/plugin-sdk/src/agents/session-tool-result-guard.d.ts +0 -40
  829. package/dist/plugin-sdk/src/agents/session-transcript-repair.d.ts +0 -34
  830. package/dist/plugin-sdk/src/agents/session-write-lock.d.ts +0 -54
  831. package/dist/plugin-sdk/src/agents/shell-utils.d.ts +0 -9
  832. package/dist/plugin-sdk/src/agents/skills/agent-filter.d.ts +0 -6
  833. package/dist/plugin-sdk/src/agents/skills/bundled-context.d.ts +0 -6
  834. package/dist/plugin-sdk/src/agents/skills/bundled-dir.d.ts +0 -7
  835. package/dist/plugin-sdk/src/agents/skills/config.d.ts +0 -13
  836. package/dist/plugin-sdk/src/agents/skills/env-overrides.d.ts +0 -11
  837. package/dist/plugin-sdk/src/agents/skills/filter.d.ts +0 -3
  838. package/dist/plugin-sdk/src/agents/skills/frontmatter.d.ts +0 -6
  839. package/dist/plugin-sdk/src/agents/skills/local-loader.d.ts +0 -13
  840. package/dist/plugin-sdk/src/agents/skills/plugin-skills.d.ts +0 -5
  841. package/dist/plugin-sdk/src/agents/skills/refresh-state.d.ts +0 -15
  842. package/dist/plugin-sdk/src/agents/skills/refresh.d.ts +0 -8
  843. package/dist/plugin-sdk/src/agents/skills/serialize.d.ts +0 -1
  844. package/dist/plugin-sdk/src/agents/skills/skill-contract.d.ts +0 -27
  845. package/dist/plugin-sdk/src/agents/skills/source.d.ts +0 -2
  846. package/dist/plugin-sdk/src/agents/skills/types.d.ts +0 -105
  847. package/dist/plugin-sdk/src/agents/skills/workspace.d.ts +0 -54
  848. package/dist/plugin-sdk/src/agents/skills-clawhub.d.ts +0 -150
  849. package/dist/plugin-sdk/src/agents/skills-install-plan.d.ts +0 -25
  850. package/dist/plugin-sdk/src/agents/skills-install-trust.d.ts +0 -8
  851. package/dist/plugin-sdk/src/agents/skills-marketplace-policy.d.ts +0 -29
  852. package/dist/plugin-sdk/src/agents/skills-marketplace-scan.d.ts +0 -17
  853. package/dist/plugin-sdk/src/agents/skills-status.d.ts +0 -65
  854. package/dist/plugin-sdk/src/agents/skills.d.ts +0 -7
  855. package/dist/plugin-sdk/src/agents/spawned-context.d.ts +0 -30
  856. package/dist/plugin-sdk/src/agents/stable-stringify.d.ts +0 -1
  857. package/dist/plugin-sdk/src/agents/subagent-announce-dispatch.d.ts +0 -22
  858. package/dist/plugin-sdk/src/agents/subagent-announce-output.d.ts +0 -97
  859. package/dist/plugin-sdk/src/agents/subagent-announce-queue.d.ts +0 -24
  860. package/dist/plugin-sdk/src/agents/subagent-announce.d.ts +0 -51
  861. package/dist/plugin-sdk/src/agents/subagent-announce.runtime.d.ts +0 -4
  862. package/dist/plugin-sdk/src/agents/subagent-depth.d.ts +0 -11
  863. package/dist/plugin-sdk/src/agents/subagent-lifecycle-events.d.ts +0 -18
  864. package/dist/plugin-sdk/src/agents/subagent-registry-cleanup.d.ts +0 -25
  865. package/dist/plugin-sdk/src/agents/subagent-registry-completion.d.ts +0 -15
  866. package/dist/plugin-sdk/src/agents/subagent-registry-queries.d.ts +0 -17
  867. package/dist/plugin-sdk/src/agents/subagent-registry-state.d.ts +0 -7
  868. package/dist/plugin-sdk/src/agents/subagent-registry.d.ts +0 -67
  869. package/dist/plugin-sdk/src/agents/subagent-registry.store.d.ts +0 -5
  870. package/dist/plugin-sdk/src/agents/subagent-registry.types.d.ts +0 -62
  871. package/dist/plugin-sdk/src/agents/subagent-spawn.d.ts +0 -49
  872. package/dist/plugin-sdk/src/agents/synthetic-models.d.ts +0 -1
  873. package/dist/plugin-sdk/src/agents/system-prompt-cache-boundary.d.ts +0 -10
  874. package/dist/plugin-sdk/src/agents/system-prompt-params.d.ts +0 -30
  875. package/dist/plugin-sdk/src/agents/system-prompt-report.d.ts +0 -22
  876. package/dist/plugin-sdk/src/agents/system-prompt.d.ts +0 -77
  877. package/dist/plugin-sdk/src/agents/timeout.d.ts +0 -8
  878. package/dist/plugin-sdk/src/agents/together-models.d.ts +0 -1
  879. package/dist/plugin-sdk/src/agents/tool-call-id.d.ts +0 -29
  880. package/dist/plugin-sdk/src/agents/tool-catalog.d.ts +0 -35
  881. package/dist/plugin-sdk/src/agents/tool-description-presets.d.ts +0 -15
  882. package/dist/plugin-sdk/src/agents/tool-description-summary.d.ts +0 -11
  883. package/dist/plugin-sdk/src/agents/tool-display-common.d.ts +0 -70
  884. package/dist/plugin-sdk/src/agents/tool-display-config.d.ts +0 -11
  885. package/dist/plugin-sdk/src/agents/tool-display-exec-shell.d.ts +0 -17
  886. package/dist/plugin-sdk/src/agents/tool-display-exec.d.ts +0 -1
  887. package/dist/plugin-sdk/src/agents/tool-display.d.ts +0 -15
  888. package/dist/plugin-sdk/src/agents/tool-fs-policy.d.ts +0 -21
  889. package/dist/plugin-sdk/src/agents/tool-images.d.ts +0 -11
  890. package/dist/plugin-sdk/src/agents/tool-loop-detection.d.ts +0 -55
  891. package/dist/plugin-sdk/src/agents/tool-mutation.d.ts +0 -14
  892. package/dist/plugin-sdk/src/agents/tool-policy-match.d.ts +0 -3
  893. package/dist/plugin-sdk/src/agents/tool-policy-pipeline.d.ts +0 -32
  894. package/dist/plugin-sdk/src/agents/tool-policy-shared.d.ts +0 -11
  895. package/dist/plugin-sdk/src/agents/tool-policy.d.ts +0 -35
  896. package/dist/plugin-sdk/src/agents/tool-summaries.d.ts +0 -2
  897. package/dist/plugin-sdk/src/agents/tools/agent-step.d.ts +0 -23
  898. package/dist/plugin-sdk/src/agents/tools/agents-list-tool.d.ts +0 -6
  899. package/dist/plugin-sdk/src/agents/tools/browser-tool.d.ts +0 -5
  900. package/dist/plugin-sdk/src/agents/tools/browser-tool.schema.d.ts +0 -50
  901. package/dist/plugin-sdk/src/agents/tools/canvas-tool.d.ts +0 -5
  902. package/dist/plugin-sdk/src/agents/tools/common.d.ts +0 -86
  903. package/dist/plugin-sdk/src/agents/tools/cron-tool.d.ts +0 -11
  904. package/dist/plugin-sdk/src/agents/tools/diff-view-tool.d.ts +0 -2
  905. package/dist/plugin-sdk/src/agents/tools/discord-actions-guild.d.ts +0 -4
  906. package/dist/plugin-sdk/src/agents/tools/discord-actions-messaging.d.ts +0 -6
  907. package/dist/plugin-sdk/src/agents/tools/discord-actions-moderation-shared.d.ts +0 -13
  908. package/dist/plugin-sdk/src/agents/tools/discord-actions-moderation.d.ts +0 -4
  909. package/dist/plugin-sdk/src/agents/tools/discord-actions-presence.d.ts +0 -4
  910. package/dist/plugin-sdk/src/agents/tools/discord-actions.d.ts +0 -5
  911. package/dist/plugin-sdk/src/agents/tools/gateway-tool.d.ts +0 -14
  912. package/dist/plugin-sdk/src/agents/tools/gateway.d.ts +0 -20
  913. package/dist/plugin-sdk/src/agents/tools/image-tool.d.ts +0 -37
  914. package/dist/plugin-sdk/src/agents/tools/image-tool.helpers.d.ts +0 -21
  915. package/dist/plugin-sdk/src/agents/tools/marketplace-offer-draft-tool.d.ts +0 -5
  916. package/dist/plugin-sdk/src/agents/tools/memory-tool.d.ts +0 -10
  917. package/dist/plugin-sdk/src/agents/tools/message-tool.d.ts +0 -26
  918. package/dist/plugin-sdk/src/agents/tools/mining-tool.d.ts +0 -8
  919. package/dist/plugin-sdk/src/agents/tools/nodes-tool.d.ts +0 -13
  920. package/dist/plugin-sdk/src/agents/tools/nodes-utils.d.ts +0 -13
  921. package/dist/plugin-sdk/src/agents/tools/session-status-tool.d.ts +0 -7
  922. package/dist/plugin-sdk/src/agents/tools/sessions-access.d.ts +0 -42
  923. package/dist/plugin-sdk/src/agents/tools/sessions-announce-target.d.ts +0 -5
  924. package/dist/plugin-sdk/src/agents/tools/sessions-helpers.d.ts +0 -54
  925. package/dist/plugin-sdk/src/agents/tools/sessions-history-tool.d.ts +0 -11
  926. package/dist/plugin-sdk/src/agents/tools/sessions-list-tool.d.ts +0 -11
  927. package/dist/plugin-sdk/src/agents/tools/sessions-resolution.d.ts +0 -67
  928. package/dist/plugin-sdk/src/agents/tools/sessions-send-helpers.d.ts +0 -34
  929. package/dist/plugin-sdk/src/agents/tools/sessions-send-tool.a2a.d.ts +0 -20
  930. package/dist/plugin-sdk/src/agents/tools/sessions-send-tool.d.ts +0 -13
  931. package/dist/plugin-sdk/src/agents/tools/sessions-spawn-tool.d.ts +0 -16
  932. package/dist/plugin-sdk/src/agents/tools/slack-actions.d.ts +0 -15
  933. package/dist/plugin-sdk/src/agents/tools/subagents-tool.d.ts +0 -4
  934. package/dist/plugin-sdk/src/agents/tools/telegram-actions.d.ts +0 -7
  935. package/dist/plugin-sdk/src/agents/tools/tts-tool.d.ts +0 -7
  936. package/dist/plugin-sdk/src/agents/tools/wallet-action-tool.d.ts +0 -9
  937. package/dist/plugin-sdk/src/agents/tools/wallet-skill-policy.d.ts +0 -39
  938. package/dist/plugin-sdk/src/agents/tools/wallet-tool.d.ts +0 -9
  939. package/dist/plugin-sdk/src/agents/tools/web-fetch-utils.d.ts +0 -18
  940. package/dist/plugin-sdk/src/agents/tools/web-fetch-visibility.d.ts +0 -2
  941. package/dist/plugin-sdk/src/agents/tools/web-fetch.d.ts +0 -25
  942. package/dist/plugin-sdk/src/agents/tools/web-guarded-fetch.d.ts +0 -12
  943. package/dist/plugin-sdk/src/agents/tools/web-search.d.ts +0 -148
  944. package/dist/plugin-sdk/src/agents/tools/web-shared.d.ts +0 -24
  945. package/dist/plugin-sdk/src/agents/tools/web-tools.d.ts +0 -2
  946. package/dist/plugin-sdk/src/agents/tools/whatsapp-actions.d.ts +0 -3
  947. package/dist/plugin-sdk/src/agents/tools/whatsapp-target-auth.d.ts +0 -10
  948. package/dist/plugin-sdk/src/agents/tools-effective-inventory.d.ts +0 -49
  949. package/dist/plugin-sdk/src/agents/trace-base.d.ts +0 -10
  950. package/dist/plugin-sdk/src/agents/transcript-policy.d.ts +0 -25
  951. package/dist/plugin-sdk/src/agents/usage.d.ts +0 -65
  952. package/dist/plugin-sdk/src/agents/venice-models.d.ts +0 -7
  953. package/dist/plugin-sdk/src/agents/volc-models.shared.d.ts +0 -90
  954. package/dist/plugin-sdk/src/agents/workspace-dir.d.ts +0 -2
  955. package/dist/plugin-sdk/src/agents/workspace-dirs.d.ts +0 -2
  956. package/dist/plugin-sdk/src/agents/workspace-run.d.ts +0 -18
  957. package/dist/plugin-sdk/src/agents/workspace-templates.d.ts +0 -6
  958. package/dist/plugin-sdk/src/agents/workspace.d.ts +0 -45
  959. package/dist/plugin-sdk/src/auto-reply/chunk.d.ts +0 -45
  960. package/dist/plugin-sdk/src/auto-reply/command-auth.d.ts +0 -17
  961. package/dist/plugin-sdk/src/auto-reply/command-detection.d.ts +0 -13
  962. package/dist/plugin-sdk/src/auto-reply/commands-args.d.ts +0 -3
  963. package/dist/plugin-sdk/src/auto-reply/commands-registry.d.ts +0 -55
  964. package/dist/plugin-sdk/src/auto-reply/commands-registry.data.d.ts +0 -3
  965. package/dist/plugin-sdk/src/auto-reply/commands-registry.types.d.ts +0 -66
  966. package/dist/plugin-sdk/src/auto-reply/dispatch.d.ts +0 -32
  967. package/dist/plugin-sdk/src/auto-reply/envelope.d.ts +0 -58
  968. package/dist/plugin-sdk/src/auto-reply/fallback-state.d.ts +0 -55
  969. package/dist/plugin-sdk/src/auto-reply/group-activation.d.ts +0 -6
  970. package/dist/plugin-sdk/src/auto-reply/heartbeat-reply-payload.d.ts +0 -2
  971. package/dist/plugin-sdk/src/auto-reply/heartbeat.d.ts +0 -26
  972. package/dist/plugin-sdk/src/auto-reply/inbound-debounce.d.ts +0 -17
  973. package/dist/plugin-sdk/src/auto-reply/media-note.d.ts +0 -2
  974. package/dist/plugin-sdk/src/auto-reply/model-runtime.d.ts +0 -17
  975. package/dist/plugin-sdk/src/auto-reply/model.d.ts +0 -8
  976. package/dist/plugin-sdk/src/auto-reply/reply/abort-cutoff.d.ts +0 -28
  977. package/dist/plugin-sdk/src/auto-reply/reply/abort.d.ts +0 -33
  978. package/dist/plugin-sdk/src/auto-reply/reply/acp-projector.d.ts +0 -15
  979. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner-execution.d.ts +0 -59
  980. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner-helpers.d.ts +0 -15
  981. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner-memory.d.ts +0 -20
  982. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner-payloads.d.ts +0 -27
  983. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner-utils.d.ts +0 -148
  984. package/dist/plugin-sdk/src/auto-reply/reply/agent-runner.d.ts +0 -38
  985. package/dist/plugin-sdk/src/auto-reply/reply/bash-command.d.ts +0 -19
  986. package/dist/plugin-sdk/src/auto-reply/reply/block-reply-coalescer.d.ts +0 -15
  987. package/dist/plugin-sdk/src/auto-reply/reply/block-reply-pipeline.d.ts +0 -31
  988. package/dist/plugin-sdk/src/auto-reply/reply/block-streaming.d.ts +0 -36
  989. package/dist/plugin-sdk/src/auto-reply/reply/body.d.ts +0 -10
  990. package/dist/plugin-sdk/src/auto-reply/reply/command-gates.d.ts +0 -18
  991. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/context.d.ts +0 -12
  992. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/diagnostics.d.ts +0 -4
  993. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/lifecycle.d.ts +0 -5
  994. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/runtime-options.d.ts +0 -9
  995. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/shared.d.ts +0 -97
  996. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp/targets.d.ts +0 -12
  997. package/dist/plugin-sdk/src/auto-reply/reply/commands-acp.d.ts +0 -2
  998. package/dist/plugin-sdk/src/auto-reply/reply/commands-allowlist.d.ts +0 -2
  999. package/dist/plugin-sdk/src/auto-reply/reply/commands-approve.d.ts +0 -2
  1000. package/dist/plugin-sdk/src/auto-reply/reply/commands-bash.d.ts +0 -2
  1001. package/dist/plugin-sdk/src/auto-reply/reply/commands-compact.d.ts +0 -2
  1002. package/dist/plugin-sdk/src/auto-reply/reply/commands-config.d.ts +0 -3
  1003. package/dist/plugin-sdk/src/auto-reply/reply/commands-context-report.d.ts +0 -3
  1004. package/dist/plugin-sdk/src/auto-reply/reply/commands-context.d.ts +0 -12
  1005. package/dist/plugin-sdk/src/auto-reply/reply/commands-control.d.ts +0 -5
  1006. package/dist/plugin-sdk/src/auto-reply/reply/commands-core.d.ts +0 -13
  1007. package/dist/plugin-sdk/src/auto-reply/reply/commands-export-session.d.ts +0 -3
  1008. package/dist/plugin-sdk/src/auto-reply/reply/commands-info.d.ts +0 -11
  1009. package/dist/plugin-sdk/src/auto-reply/reply/commands-models.d.ts +0 -36
  1010. package/dist/plugin-sdk/src/auto-reply/reply/commands-plugin.d.ts +0 -13
  1011. package/dist/plugin-sdk/src/auto-reply/reply/commands-session-abort.d.ts +0 -3
  1012. package/dist/plugin-sdk/src/auto-reply/reply/commands-session-store.d.ts +0 -13
  1013. package/dist/plugin-sdk/src/auto-reply/reply/commands-session.d.ts +0 -8
  1014. package/dist/plugin-sdk/src/auto-reply/reply/commands-setunset-standard.d.ts +0 -10
  1015. package/dist/plugin-sdk/src/auto-reply/reply/commands-setunset.d.ts +0 -34
  1016. package/dist/plugin-sdk/src/auto-reply/reply/commands-slash-parse.d.ts +0 -24
  1017. package/dist/plugin-sdk/src/auto-reply/reply/commands-status.d.ts +0 -26
  1018. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-agents.d.ts +0 -3
  1019. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-focus.d.ts +0 -3
  1020. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-help.d.ts +0 -2
  1021. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-info.d.ts +0 -3
  1022. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-kill.d.ts +0 -3
  1023. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-list.d.ts +0 -3
  1024. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-log.d.ts +0 -3
  1025. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-send.d.ts +0 -3
  1026. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-spawn.d.ts +0 -3
  1027. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/action-unfocus.d.ts +0 -3
  1028. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents/shared.d.ts +0 -81
  1029. package/dist/plugin-sdk/src/auto-reply/reply/commands-subagents.d.ts +0 -4
  1030. package/dist/plugin-sdk/src/auto-reply/reply/commands-system-prompt.d.ts +0 -14
  1031. package/dist/plugin-sdk/src/auto-reply/reply/commands-tts.d.ts +0 -2
  1032. package/dist/plugin-sdk/src/auto-reply/reply/commands-types.d.ts +0 -63
  1033. package/dist/plugin-sdk/src/auto-reply/reply/commands.d.ts +0 -4
  1034. package/dist/plugin-sdk/src/auto-reply/reply/config-commands.d.ts +0 -15
  1035. package/dist/plugin-sdk/src/auto-reply/reply/config-value.d.ts +0 -4
  1036. package/dist/plugin-sdk/src/auto-reply/reply/debug-commands.d.ts +0 -16
  1037. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.auth.d.ts +0 -19
  1038. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.d.ts +0 -6
  1039. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.fast-lane.d.ts +0 -7
  1040. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.impl.d.ts +0 -3
  1041. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.levels.d.ts +0 -20
  1042. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.model-picker.d.ts +0 -13
  1043. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.model.d.ts +0 -44
  1044. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.params.d.ts +0 -51
  1045. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.parse.d.ts +0 -62
  1046. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.persist.d.ts +0 -37
  1047. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.queue-validation.d.ts +0 -10
  1048. package/dist/plugin-sdk/src/auto-reply/reply/directive-handling.shared.d.ts +0 -28
  1049. package/dist/plugin-sdk/src/auto-reply/reply/directive-parsing.d.ts +0 -5
  1050. package/dist/plugin-sdk/src/auto-reply/reply/directives.d.ts +0 -38
  1051. package/dist/plugin-sdk/src/auto-reply/reply/dispatch-acp.d.ts +0 -30
  1052. package/dist/plugin-sdk/src/auto-reply/reply/dispatch-from-config.d.ts +0 -16
  1053. package/dist/plugin-sdk/src/auto-reply/reply/dispatcher-registry.d.ts +0 -24
  1054. package/dist/plugin-sdk/src/auto-reply/reply/elevated-allowlist-matcher.d.ts +0 -20
  1055. package/dist/plugin-sdk/src/auto-reply/reply/elevated-unavailable.d.ts +0 -8
  1056. package/dist/plugin-sdk/src/auto-reply/reply/exec/directive.d.ts +0 -20
  1057. package/dist/plugin-sdk/src/auto-reply/reply/exec.d.ts +0 -1
  1058. package/dist/plugin-sdk/src/auto-reply/reply/followup-runner.d.ts +0 -16
  1059. package/dist/plugin-sdk/src/auto-reply/reply/get-reply-directives-apply.d.ts +0 -64
  1060. package/dist/plugin-sdk/src/auto-reply/reply/get-reply-directives-utils.d.ts +0 -3
  1061. package/dist/plugin-sdk/src/auto-reply/reply/get-reply-directives.d.ts +0 -92
  1062. package/dist/plugin-sdk/src/auto-reply/reply/get-reply-inline-actions.d.ts +0 -59
  1063. package/dist/plugin-sdk/src/auto-reply/reply/get-reply-run.d.ts +0 -69
  1064. package/dist/plugin-sdk/src/auto-reply/reply/get-reply.d.ts +0 -4
  1065. package/dist/plugin-sdk/src/auto-reply/reply/groups.d.ts +0 -26
  1066. package/dist/plugin-sdk/src/auto-reply/reply/history.d.ts +0 -72
  1067. package/dist/plugin-sdk/src/auto-reply/reply/inbound-context.d.ts +0 -8
  1068. package/dist/plugin-sdk/src/auto-reply/reply/inbound-dedupe.d.ts +0 -8
  1069. package/dist/plugin-sdk/src/auto-reply/reply/inbound-meta.d.ts +0 -3
  1070. package/dist/plugin-sdk/src/auto-reply/reply/inbound-text.d.ts +0 -2
  1071. package/dist/plugin-sdk/src/auto-reply/reply/line-directives.d.ts +0 -22
  1072. package/dist/plugin-sdk/src/auto-reply/reply/memory-flush.d.ts +0 -28
  1073. package/dist/plugin-sdk/src/auto-reply/reply/mentions.d.ts +0 -19
  1074. package/dist/plugin-sdk/src/auto-reply/reply/model-selection.d.ts +0 -67
  1075. package/dist/plugin-sdk/src/auto-reply/reply/normalize-reply.d.ts +0 -13
  1076. package/dist/plugin-sdk/src/auto-reply/reply/origin-routing.d.ts +0 -13
  1077. package/dist/plugin-sdk/src/auto-reply/reply/post-compaction-audit.d.ts +0 -26
  1078. package/dist/plugin-sdk/src/auto-reply/reply/post-compaction-context.d.ts +0 -12
  1079. package/dist/plugin-sdk/src/auto-reply/reply/provider-dispatcher.d.ts +0 -19
  1080. package/dist/plugin-sdk/src/auto-reply/reply/queue/cleanup.d.ts +0 -11
  1081. package/dist/plugin-sdk/src/auto-reply/reply/queue/directive.d.ts +0 -15
  1082. package/dist/plugin-sdk/src/auto-reply/reply/queue/drain.d.ts +0 -2
  1083. package/dist/plugin-sdk/src/auto-reply/reply/queue/enqueue.d.ts +0 -3
  1084. package/dist/plugin-sdk/src/auto-reply/reply/queue/normalize.d.ts +0 -3
  1085. package/dist/plugin-sdk/src/auto-reply/reply/queue/settings.d.ts +0 -2
  1086. package/dist/plugin-sdk/src/auto-reply/reply/queue/state.d.ts +0 -20
  1087. package/dist/plugin-sdk/src/auto-reply/reply/queue/types.d.ts +0 -85
  1088. package/dist/plugin-sdk/src/auto-reply/reply/queue-policy.d.ts +0 -8
  1089. package/dist/plugin-sdk/src/auto-reply/reply/queue.d.ts +0 -8
  1090. package/dist/plugin-sdk/src/auto-reply/reply/reply-delivery.d.ts +0 -27
  1091. package/dist/plugin-sdk/src/auto-reply/reply/reply-directives.d.ts +0 -14
  1092. package/dist/plugin-sdk/src/auto-reply/reply/reply-dispatcher.d.ts +0 -54
  1093. package/dist/plugin-sdk/src/auto-reply/reply/reply-elevated.d.ts +0 -16
  1094. package/dist/plugin-sdk/src/auto-reply/reply/reply-inline.d.ts +0 -8
  1095. package/dist/plugin-sdk/src/auto-reply/reply/reply-payloads.d.ts +0 -27
  1096. package/dist/plugin-sdk/src/auto-reply/reply/reply-reference.d.ts +0 -22
  1097. package/dist/plugin-sdk/src/auto-reply/reply/reply-tags.d.ts +0 -6
  1098. package/dist/plugin-sdk/src/auto-reply/reply/reply-threading.d.ts +0 -9
  1099. package/dist/plugin-sdk/src/auto-reply/reply/response-prefix-template.d.ts +0 -51
  1100. package/dist/plugin-sdk/src/auto-reply/reply/route-reply.d.ts +0 -56
  1101. package/dist/plugin-sdk/src/auto-reply/reply/session-reset-model.d.ts +0 -24
  1102. package/dist/plugin-sdk/src/auto-reply/reply/session-reset-prompt.d.ts +0 -1
  1103. package/dist/plugin-sdk/src/auto-reply/reply/session-run-accounting.d.ts +0 -12
  1104. package/dist/plugin-sdk/src/auto-reply/reply/session-updates.d.ts +0 -34
  1105. package/dist/plugin-sdk/src/auto-reply/reply/session-usage.d.ts +0 -21
  1106. package/dist/plugin-sdk/src/auto-reply/reply/session.d.ts +0 -26
  1107. package/dist/plugin-sdk/src/auto-reply/reply/stage-sandbox-media.d.ts +0 -9
  1108. package/dist/plugin-sdk/src/auto-reply/reply/streaming-directives.d.ts +0 -10
  1109. package/dist/plugin-sdk/src/auto-reply/reply/strip-inbound-meta.d.ts +0 -27
  1110. package/dist/plugin-sdk/src/auto-reply/reply/subagents-utils.d.ts +0 -27
  1111. package/dist/plugin-sdk/src/auto-reply/reply/typing-mode.d.ts +0 -30
  1112. package/dist/plugin-sdk/src/auto-reply/reply/typing-policy.d.ts +0 -13
  1113. package/dist/plugin-sdk/src/auto-reply/reply/typing.d.ts +0 -18
  1114. package/dist/plugin-sdk/src/auto-reply/reply/untrusted-context.d.ts +0 -1
  1115. package/dist/plugin-sdk/src/auto-reply/reply.d.ts +0 -6
  1116. package/dist/plugin-sdk/src/auto-reply/send-policy.d.ts +0 -6
  1117. package/dist/plugin-sdk/src/auto-reply/skill-commands.d.ts +0 -19
  1118. package/dist/plugin-sdk/src/auto-reply/status.d.ts +0 -60
  1119. package/dist/plugin-sdk/src/auto-reply/templating.d.ts +0 -161
  1120. package/dist/plugin-sdk/src/auto-reply/thinking.d.ts +0 -16
  1121. package/dist/plugin-sdk/src/auto-reply/tokens.d.ts +0 -4
  1122. package/dist/plugin-sdk/src/auto-reply/tool-meta.d.ts +0 -8
  1123. package/dist/plugin-sdk/src/auto-reply/types.d.ts +0 -85
  1124. package/dist/plugin-sdk/src/brand.d.ts +0 -6
  1125. package/dist/plugin-sdk/src/browser/bridge-auth-registry.d.ts +0 -8
  1126. package/dist/plugin-sdk/src/browser/bridge-server.d.ts +0 -19
  1127. package/dist/plugin-sdk/src/browser/cdp.d.ts +0 -125
  1128. package/dist/plugin-sdk/src/browser/cdp.helpers.d.ts +0 -13
  1129. package/dist/plugin-sdk/src/browser/chrome.d.ts +0 -20
  1130. package/dist/plugin-sdk/src/browser/chrome.executables.d.ts +0 -9
  1131. package/dist/plugin-sdk/src/browser/chrome.profile-decoration.d.ts +0 -10
  1132. package/dist/plugin-sdk/src/browser/client-actions-core.d.ts +0 -142
  1133. package/dist/plugin-sdk/src/browser/client-actions-observe.d.ts +0 -68
  1134. package/dist/plugin-sdk/src/browser/client-actions-state.d.ts +0 -90
  1135. package/dist/plugin-sdk/src/browser/client-actions-types.d.ts +0 -18
  1136. package/dist/plugin-sdk/src/browser/client-actions-url.d.ts +0 -2
  1137. package/dist/plugin-sdk/src/browser/client-actions.d.ts +0 -4
  1138. package/dist/plugin-sdk/src/browser/client-fetch.d.ts +0 -20
  1139. package/dist/plugin-sdk/src/browser/client.d.ts +0 -147
  1140. package/dist/plugin-sdk/src/browser/config.d.ts +0 -43
  1141. package/dist/plugin-sdk/src/browser/constants.d.ts +0 -8
  1142. package/dist/plugin-sdk/src/browser/control-auth.d.ts +0 -13
  1143. package/dist/plugin-sdk/src/browser/control-service.d.ts +0 -5
  1144. package/dist/plugin-sdk/src/browser/csrf.d.ts +0 -8
  1145. package/dist/plugin-sdk/src/browser/extension-relay-auth.d.ts +0 -8
  1146. package/dist/plugin-sdk/src/browser/extension-relay.d.ts +0 -15
  1147. package/dist/plugin-sdk/src/browser/form-fields.d.ts +0 -8
  1148. package/dist/plugin-sdk/src/browser/http-auth.d.ts +0 -5
  1149. package/dist/plugin-sdk/src/browser/navigation-guard.d.ts +0 -21
  1150. package/dist/plugin-sdk/src/browser/paths.d.ts +0 -61
  1151. package/dist/plugin-sdk/src/browser/profiles-service.d.ts +0 -25
  1152. package/dist/plugin-sdk/src/browser/profiles.d.ts +0 -30
  1153. package/dist/plugin-sdk/src/browser/proxy-files.d.ts +0 -7
  1154. package/dist/plugin-sdk/src/browser/pw-ai-module.d.ts +0 -6
  1155. package/dist/plugin-sdk/src/browser/pw-ai-state.d.ts +0 -2
  1156. package/dist/plugin-sdk/src/browser/pw-ai.d.ts +0 -2
  1157. package/dist/plugin-sdk/src/browser/pw-role-snapshot.d.ts +0 -35
  1158. package/dist/plugin-sdk/src/browser/pw-session.d.ts +0 -162
  1159. package/dist/plugin-sdk/src/browser/pw-tools-core.activity.d.ts +0 -21
  1160. package/dist/plugin-sdk/src/browser/pw-tools-core.d.ts +0 -8
  1161. package/dist/plugin-sdk/src/browser/pw-tools-core.downloads.d.ts +0 -34
  1162. package/dist/plugin-sdk/src/browser/pw-tools-core.interactions.d.ts +0 -114
  1163. package/dist/plugin-sdk/src/browser/pw-tools-core.responses.d.ts +0 -13
  1164. package/dist/plugin-sdk/src/browser/pw-tools-core.shared.d.ts +0 -6
  1165. package/dist/plugin-sdk/src/browser/pw-tools-core.snapshot.d.ts +0 -66
  1166. package/dist/plugin-sdk/src/browser/pw-tools-core.state.d.ts +0 -46
  1167. package/dist/plugin-sdk/src/browser/pw-tools-core.storage.d.ts +0 -47
  1168. package/dist/plugin-sdk/src/browser/pw-tools-core.trace.d.ts +0 -12
  1169. package/dist/plugin-sdk/src/browser/resolved-config-refresh.d.ts +0 -12
  1170. package/dist/plugin-sdk/src/browser/routes/agent.act.d.ts +0 -3
  1171. package/dist/plugin-sdk/src/browser/routes/agent.act.download.d.ts +0 -3
  1172. package/dist/plugin-sdk/src/browser/routes/agent.act.hooks.d.ts +0 -3
  1173. package/dist/plugin-sdk/src/browser/routes/agent.act.shared.d.ts +0 -10
  1174. package/dist/plugin-sdk/src/browser/routes/agent.d.ts +0 -3
  1175. package/dist/plugin-sdk/src/browser/routes/agent.debug.d.ts +0 -3
  1176. package/dist/plugin-sdk/src/browser/routes/agent.shared.d.ts +0 -37
  1177. package/dist/plugin-sdk/src/browser/routes/agent.snapshot.d.ts +0 -3
  1178. package/dist/plugin-sdk/src/browser/routes/agent.storage.d.ts +0 -14
  1179. package/dist/plugin-sdk/src/browser/routes/basic.d.ts +0 -3
  1180. package/dist/plugin-sdk/src/browser/routes/dispatcher.d.ts +0 -16
  1181. package/dist/plugin-sdk/src/browser/routes/index.d.ts +0 -3
  1182. package/dist/plugin-sdk/src/browser/routes/output-paths.d.ts +0 -10
  1183. package/dist/plugin-sdk/src/browser/routes/path-output.d.ts +0 -1
  1184. package/dist/plugin-sdk/src/browser/routes/tabs.d.ts +0 -3
  1185. package/dist/plugin-sdk/src/browser/routes/types.d.ts +0 -20
  1186. package/dist/plugin-sdk/src/browser/routes/utils.d.ts +0 -15
  1187. package/dist/plugin-sdk/src/browser/runtime-dependency.d.ts +0 -3
  1188. package/dist/plugin-sdk/src/browser/screenshot.d.ts +0 -9
  1189. package/dist/plugin-sdk/src/browser/server-context.d.ts +0 -4
  1190. package/dist/plugin-sdk/src/browser/server-context.types.d.ts +0 -65
  1191. package/dist/plugin-sdk/src/browser/server-lifecycle.d.ts +0 -10
  1192. package/dist/plugin-sdk/src/browser/server-middleware.d.ts +0 -6
  1193. package/dist/plugin-sdk/src/browser/target-id.d.ts +0 -11
  1194. package/dist/plugin-sdk/src/browser/trash.d.ts +0 -1
  1195. package/dist/plugin-sdk/src/canvas-host/a2ui.d.ts +0 -6
  1196. package/dist/plugin-sdk/src/canvas-host/file-resolver.d.ts +0 -3
  1197. package/dist/plugin-sdk/src/canvas-host/server.d.ts +0 -36
  1198. package/dist/plugin-sdk/src/channel-web.d.ts +0 -6
  1199. package/dist/plugin-sdk/src/channels/account-snapshot-fields.d.ts +0 -2
  1200. package/dist/plugin-sdk/src/channels/account-summary.d.ts +0 -17
  1201. package/dist/plugin-sdk/src/channels/ack-reactions.d.ts +0 -29
  1202. package/dist/plugin-sdk/src/channels/allow-from.d.ts +0 -16
  1203. package/dist/plugin-sdk/src/channels/allowlist-match.d.ts +0 -16
  1204. package/dist/plugin-sdk/src/channels/allowlists/resolve-utils.d.ts +0 -33
  1205. package/dist/plugin-sdk/src/channels/channel-config.d.ts +0 -39
  1206. package/dist/plugin-sdk/src/channels/chat-type.d.ts +0 -2
  1207. package/dist/plugin-sdk/src/channels/command-gating.d.ts +0 -20
  1208. package/dist/plugin-sdk/src/channels/conversation-label.d.ts +0 -2
  1209. package/dist/plugin-sdk/src/channels/dock.d.ts +0 -25
  1210. package/dist/plugin-sdk/src/channels/draft-stream-controls.d.ts +0 -54
  1211. package/dist/plugin-sdk/src/channels/draft-stream-loop.d.ts +0 -13
  1212. package/dist/plugin-sdk/src/channels/ids.d.ts +0 -9
  1213. package/dist/plugin-sdk/src/channels/location.d.ts +0 -21
  1214. package/dist/plugin-sdk/src/channels/logging.d.ts +0 -20
  1215. package/dist/plugin-sdk/src/channels/mention-gating.d.ts +0 -27
  1216. package/dist/plugin-sdk/src/channels/model-overrides.d.ts +0 -18
  1217. package/dist/plugin-sdk/src/channels/plugins/account-action-gate.d.ts +0 -5
  1218. package/dist/plugin-sdk/src/channels/plugins/account-helpers.d.ts +0 -6
  1219. package/dist/plugin-sdk/src/channels/plugins/actions/discord/handle-action.d.ts +0 -3
  1220. package/dist/plugin-sdk/src/channels/plugins/actions/discord/handle-action.guild-admin.d.ts +0 -9
  1221. package/dist/plugin-sdk/src/channels/plugins/actions/discord.d.ts +0 -2
  1222. package/dist/plugin-sdk/src/channels/plugins/actions/shared.d.ts +0 -7
  1223. package/dist/plugin-sdk/src/channels/plugins/actions/signal.d.ts +0 -2
  1224. package/dist/plugin-sdk/src/channels/plugins/actions/telegram.d.ts +0 -2
  1225. package/dist/plugin-sdk/src/channels/plugins/agent-tools/whatsapp-login.d.ts +0 -2
  1226. package/dist/plugin-sdk/src/channels/plugins/allowlist-match.d.ts +0 -2
  1227. package/dist/plugin-sdk/src/channels/plugins/bluebubbles-actions.d.ts +0 -48
  1228. package/dist/plugin-sdk/src/channels/plugins/catalog.d.ts +0 -50
  1229. package/dist/plugin-sdk/src/channels/plugins/channel-config.d.ts +0 -2
  1230. package/dist/plugin-sdk/src/channels/plugins/config-helpers.d.ts +0 -14
  1231. package/dist/plugin-sdk/src/channels/plugins/config-schema.d.ts +0 -3
  1232. package/dist/plugin-sdk/src/channels/plugins/config-writes.d.ts +0 -7
  1233. package/dist/plugin-sdk/src/channels/plugins/directory-config.d.ts +0 -16
  1234. package/dist/plugin-sdk/src/channels/plugins/group-mentions.d.ts +0 -18
  1235. package/dist/plugin-sdk/src/channels/plugins/helpers.d.ts +0 -8
  1236. package/dist/plugin-sdk/src/channels/plugins/index.d.ts +0 -8
  1237. package/dist/plugin-sdk/src/channels/plugins/media-limits.d.ts +0 -9
  1238. package/dist/plugin-sdk/src/channels/plugins/media-payload.d.ts +0 -15
  1239. package/dist/plugin-sdk/src/channels/plugins/message-action-names.d.ts +0 -2
  1240. package/dist/plugin-sdk/src/channels/plugins/message-actions.d.ts +0 -15
  1241. package/dist/plugin-sdk/src/channels/plugins/normalize/discord.d.ts +0 -14
  1242. package/dist/plugin-sdk/src/channels/plugins/normalize/imessage.d.ts +0 -2
  1243. package/dist/plugin-sdk/src/channels/plugins/normalize/shared.d.ts +0 -6
  1244. package/dist/plugin-sdk/src/channels/plugins/normalize/signal.d.ts +0 -2
  1245. package/dist/plugin-sdk/src/channels/plugins/normalize/slack.d.ts +0 -2
  1246. package/dist/plugin-sdk/src/channels/plugins/normalize/telegram.d.ts +0 -2
  1247. package/dist/plugin-sdk/src/channels/plugins/normalize/whatsapp.d.ts +0 -3
  1248. package/dist/plugin-sdk/src/channels/plugins/onboarding/channel-access-configure.d.ts +0 -21
  1249. package/dist/plugin-sdk/src/channels/plugins/onboarding/channel-access.d.ts +0 -31
  1250. package/dist/plugin-sdk/src/channels/plugins/onboarding/discord.d.ts +0 -2
  1251. package/dist/plugin-sdk/src/channels/plugins/onboarding/helpers.d.ts +0 -177
  1252. package/dist/plugin-sdk/src/channels/plugins/onboarding/imessage.d.ts +0 -6
  1253. package/dist/plugin-sdk/src/channels/plugins/onboarding/signal.d.ts +0 -7
  1254. package/dist/plugin-sdk/src/channels/plugins/onboarding/slack.d.ts +0 -2
  1255. package/dist/plugin-sdk/src/channels/plugins/onboarding/telegram.d.ts +0 -4
  1256. package/dist/plugin-sdk/src/channels/plugins/onboarding/whatsapp.d.ts +0 -2
  1257. package/dist/plugin-sdk/src/channels/plugins/onboarding-types.d.ts +0 -149
  1258. package/dist/plugin-sdk/src/channels/plugins/outbound/load.d.ts +0 -2
  1259. package/dist/plugin-sdk/src/channels/plugins/pairing-message.d.ts +0 -1
  1260. package/dist/plugin-sdk/src/channels/plugins/pairing.d.ts +0 -16
  1261. package/dist/plugin-sdk/src/channels/plugins/registry-loader.d.ts +0 -5
  1262. package/dist/plugin-sdk/src/channels/plugins/setup-helpers.d.ts +0 -21
  1263. package/dist/plugin-sdk/src/channels/plugins/status-issues/bluebubbles.d.ts +0 -2
  1264. package/dist/plugin-sdk/src/channels/plugins/status-issues/discord.d.ts +0 -2
  1265. package/dist/plugin-sdk/src/channels/plugins/status-issues/shared.d.ts +0 -29
  1266. package/dist/plugin-sdk/src/channels/plugins/status-issues/telegram.d.ts +0 -2
  1267. package/dist/plugin-sdk/src/channels/plugins/status-issues/whatsapp.d.ts +0 -2
  1268. package/dist/plugin-sdk/src/channels/plugins/types.adapters.d.ts +0 -294
  1269. package/dist/plugin-sdk/src/channels/plugins/types.core.d.ts +0 -357
  1270. package/dist/plugin-sdk/src/channels/plugins/types.d.ts +0 -6
  1271. package/dist/plugin-sdk/src/channels/plugins/types.plugin.d.ts +0 -54
  1272. package/dist/plugin-sdk/src/channels/plugins/whatsapp-heartbeat.d.ts +0 -11
  1273. package/dist/plugin-sdk/src/channels/plugins/whatsapp-shared.d.ts +0 -5
  1274. package/dist/plugin-sdk/src/channels/registry.d.ts +0 -12
  1275. package/dist/plugin-sdk/src/channels/reply-prefix.d.ts +0 -24
  1276. package/dist/plugin-sdk/src/channels/sender-label.d.ts +0 -9
  1277. package/dist/plugin-sdk/src/channels/session.d.ts +0 -18
  1278. package/dist/plugin-sdk/src/channels/status-reactions.d.ts +0 -62
  1279. package/dist/plugin-sdk/src/channels/targets.d.ts +0 -42
  1280. package/dist/plugin-sdk/src/channels/telegram/allow-from.d.ts +0 -2
  1281. package/dist/plugin-sdk/src/channels/telegram/api.d.ts +0 -5
  1282. package/dist/plugin-sdk/src/channels/thread-bindings-messages.d.ts +0 -19
  1283. package/dist/plugin-sdk/src/channels/thread-bindings-policy.d.ts +0 -68
  1284. package/dist/plugin-sdk/src/channels/typing-lifecycle.d.ts +0 -12
  1285. package/dist/plugin-sdk/src/channels/typing-start-guard.d.ts +0 -13
  1286. package/dist/plugin-sdk/src/channels/typing.d.ts +0 -18
  1287. package/dist/plugin-sdk/src/channels/web/index.d.ts +0 -1
  1288. package/dist/plugin-sdk/src/cli/argv.d.ts +0 -17
  1289. package/dist/plugin-sdk/src/cli/banner.d.ts +0 -11
  1290. package/dist/plugin-sdk/src/cli/cli-name.d.ts +0 -3
  1291. package/dist/plugin-sdk/src/cli/cli-utils.d.ts +0 -19
  1292. package/dist/plugin-sdk/src/cli/command-format.d.ts +0 -1
  1293. package/dist/plugin-sdk/src/cli/deps.d.ts +0 -18
  1294. package/dist/plugin-sdk/src/cli/help-format.d.ts +0 -5
  1295. package/dist/plugin-sdk/src/cli/memory-cli.d.ts +0 -21
  1296. package/dist/plugin-sdk/src/cli/nodes-camera.d.ts +0 -38
  1297. package/dist/plugin-sdk/src/cli/nodes-canvas.d.ts +0 -10
  1298. package/dist/plugin-sdk/src/cli/nodes-media-utils.d.ts +0 -13
  1299. package/dist/plugin-sdk/src/cli/nodes-run.d.ts +0 -3
  1300. package/dist/plugin-sdk/src/cli/nodes-screen.d.ts +0 -18
  1301. package/dist/plugin-sdk/src/cli/outbound-send-deps.d.ts +0 -4
  1302. package/dist/plugin-sdk/src/cli/outbound-send-mapping.d.ts +0 -10
  1303. package/dist/plugin-sdk/src/cli/parse-bytes.d.ts +0 -4
  1304. package/dist/plugin-sdk/src/cli/parse-duration.d.ts +0 -4
  1305. package/dist/plugin-sdk/src/cli/parse-timeout.d.ts +0 -1
  1306. package/dist/plugin-sdk/src/cli/profile-utils.d.ts +0 -2
  1307. package/dist/plugin-sdk/src/cli/progress.d.ts +0 -24
  1308. package/dist/plugin-sdk/src/cli/prompt.d.ts +0 -1
  1309. package/dist/plugin-sdk/src/cli/wait.d.ts +0 -1
  1310. package/dist/plugin-sdk/src/commands/agent/attempt.d.ts +0 -39
  1311. package/dist/plugin-sdk/src/commands/agent/delivery.d.ts +0 -21
  1312. package/dist/plugin-sdk/src/commands/agent/lifecycle.d.ts +0 -17
  1313. package/dist/plugin-sdk/src/commands/agent/run-context.d.ts +0 -2
  1314. package/dist/plugin-sdk/src/commands/agent/session-store.d.ts +0 -17
  1315. package/dist/plugin-sdk/src/commands/agent/session.d.ts +0 -33
  1316. package/dist/plugin-sdk/src/commands/agent/strict-agentic-contract.d.ts +0 -44
  1317. package/dist/plugin-sdk/src/commands/agent/types.d.ts +0 -77
  1318. package/dist/plugin-sdk/src/commands/agent.d.ts +0 -7
  1319. package/dist/plugin-sdk/src/commands/agents.config.d.ts +0 -42
  1320. package/dist/plugin-sdk/src/commands/channel-account-context.d.ts +0 -10
  1321. package/dist/plugin-sdk/src/commands/cleanup-utils.d.ts +0 -37
  1322. package/dist/plugin-sdk/src/commands/daemon-runtime.d.ts +0 -8
  1323. package/dist/plugin-sdk/src/commands/gateway-presence.d.ts +0 -7
  1324. package/dist/plugin-sdk/src/commands/health.d.ts +0 -74
  1325. package/dist/plugin-sdk/src/commands/hosted-dashboard-probe.d.ts +0 -40
  1326. package/dist/plugin-sdk/src/commands/oauth-flow.d.ts +0 -21
  1327. package/dist/plugin-sdk/src/commands/onboard-helpers.d.ts +0 -84
  1328. package/dist/plugin-sdk/src/commands/onboard-types.d.ts +0 -119
  1329. package/dist/plugin-sdk/src/commands/signal-install.d.ts +0 -30
  1330. package/dist/plugin-sdk/src/commands/status-all/agents.d.ts +0 -16
  1331. package/dist/plugin-sdk/src/commands/status-all/channels.d.ts +0 -19
  1332. package/dist/plugin-sdk/src/commands/status-all/diagnosis.d.ts +0 -62
  1333. package/dist/plugin-sdk/src/commands/status-all/format.d.ts +0 -7
  1334. package/dist/plugin-sdk/src/commands/status-all/gateway.d.ts +0 -5
  1335. package/dist/plugin-sdk/src/commands/status-all/report-lines.d.ts +0 -44
  1336. package/dist/plugin-sdk/src/commands/status-all.d.ts +0 -4
  1337. package/dist/plugin-sdk/src/commands/status.acpx-bridge.d.ts +0 -19
  1338. package/dist/plugin-sdk/src/commands/status.agent-local.d.ts +0 -16
  1339. package/dist/plugin-sdk/src/commands/status.command.d.ts +0 -9
  1340. package/dist/plugin-sdk/src/commands/status.d.ts +0 -3
  1341. package/dist/plugin-sdk/src/commands/status.daemon.d.ts +0 -9
  1342. package/dist/plugin-sdk/src/commands/status.format.d.ts +0 -12
  1343. package/dist/plugin-sdk/src/commands/status.gateway-probe.d.ts +0 -6
  1344. package/dist/plugin-sdk/src/commands/status.link-channel.d.ts +0 -10
  1345. package/dist/plugin-sdk/src/commands/status.scan.d.ts +0 -46
  1346. package/dist/plugin-sdk/src/commands/status.strict-agentic.d.ts +0 -18
  1347. package/dist/plugin-sdk/src/commands/status.summary.d.ts +0 -5
  1348. package/dist/plugin-sdk/src/commands/status.types.d.ts +0 -67
  1349. package/dist/plugin-sdk/src/commands/status.update.d.ts +0 -23
  1350. package/dist/plugin-sdk/src/commands/text-format.d.ts +0 -1
  1351. package/dist/plugin-sdk/src/commands/wallet.d.ts +0 -300
  1352. package/dist/plugin-sdk/src/commands/xai-oauth.d.ts +0 -17
  1353. package/dist/plugin-sdk/src/config/agent-dirs.d.ts +0 -14
  1354. package/dist/plugin-sdk/src/config/agent-limits.d.ts +0 -6
  1355. package/dist/plugin-sdk/src/config/backup-rotation.d.ts +0 -5
  1356. package/dist/plugin-sdk/src/config/cache-utils.d.ts +0 -6
  1357. package/dist/plugin-sdk/src/config/channel-capabilities.d.ts +0 -6
  1358. package/dist/plugin-sdk/src/config/commands.d.ts +0 -25
  1359. package/dist/plugin-sdk/src/config/config-paths.d.ts +0 -10
  1360. package/dist/plugin-sdk/src/config/config.d.ts +0 -7
  1361. package/dist/plugin-sdk/src/config/dangerous-name-matching.d.ts +0 -12
  1362. package/dist/plugin-sdk/src/config/defaults.d.ts +0 -19
  1363. package/dist/plugin-sdk/src/config/discord-preview-streaming.d.ts +0 -25
  1364. package/dist/plugin-sdk/src/config/env-preserve.d.ts +0 -10
  1365. package/dist/plugin-sdk/src/config/env-substitution.d.ts +0 -36
  1366. package/dist/plugin-sdk/src/config/env-vars.d.ts +0 -6
  1367. package/dist/plugin-sdk/src/config/group-policy.d.ts +0 -49
  1368. package/dist/plugin-sdk/src/config/includes-scan.d.ts +0 -4
  1369. package/dist/plugin-sdk/src/config/includes.d.ts +0 -43
  1370. package/dist/plugin-sdk/src/config/io.d.ts +0 -63
  1371. package/dist/plugin-sdk/src/config/legacy-migrate.d.ts +0 -5
  1372. package/dist/plugin-sdk/src/config/legacy.d.ts +0 -6
  1373. package/dist/plugin-sdk/src/config/legacy.migrations.d.ts +0 -1
  1374. package/dist/plugin-sdk/src/config/legacy.migrations.part-1.d.ts +0 -2
  1375. package/dist/plugin-sdk/src/config/legacy.migrations.part-2.d.ts +0 -2
  1376. package/dist/plugin-sdk/src/config/legacy.migrations.part-3.d.ts +0 -2
  1377. package/dist/plugin-sdk/src/config/legacy.rules.d.ts +0 -2
  1378. package/dist/plugin-sdk/src/config/legacy.shared.d.ts +0 -19
  1379. package/dist/plugin-sdk/src/config/markdown-tables.d.ts +0 -7
  1380. package/dist/plugin-sdk/src/config/merge-config.d.ts +0 -7
  1381. package/dist/plugin-sdk/src/config/merge-patch.d.ts +0 -5
  1382. package/dist/plugin-sdk/src/config/model-input.d.ts +0 -11
  1383. package/dist/plugin-sdk/src/config/normalize-exec-safe-bin.d.ts +0 -2
  1384. package/dist/plugin-sdk/src/config/normalize-paths.d.ts +0 -8
  1385. package/dist/plugin-sdk/src/config/paths.d.ts +0 -57
  1386. package/dist/plugin-sdk/src/config/plugin-auto-enable.d.ts +0 -15
  1387. package/dist/plugin-sdk/src/config/plugins-allowlist.d.ts +0 -12
  1388. package/dist/plugin-sdk/src/config/port-defaults.d.ts +0 -13
  1389. package/dist/plugin-sdk/src/config/prototype-keys.d.ts +0 -1
  1390. package/dist/plugin-sdk/src/config/runtime-group-policy.d.ts +0 -56
  1391. package/dist/plugin-sdk/src/config/runtime-overrides.d.ts +0 -15
  1392. package/dist/plugin-sdk/src/config/sat-runtime-ids.d.ts +0 -23
  1393. package/dist/plugin-sdk/src/config/sessions/artifacts.d.ts +0 -6
  1394. package/dist/plugin-sdk/src/config/sessions/delivery-info.d.ts +0 -16
  1395. package/dist/plugin-sdk/src/config/sessions/disk-budget.d.ts +0 -28
  1396. package/dist/plugin-sdk/src/config/sessions/group.d.ts +0 -11
  1397. package/dist/plugin-sdk/src/config/sessions/main-session.d.ts +0 -43
  1398. package/dist/plugin-sdk/src/config/sessions/metadata.d.ts +0 -16
  1399. package/dist/plugin-sdk/src/config/sessions/paths.d.ts +0 -21
  1400. package/dist/plugin-sdk/src/config/sessions/reset.d.ts +0 -43
  1401. package/dist/plugin-sdk/src/config/sessions/session-file.d.ts +0 -15
  1402. package/dist/plugin-sdk/src/config/sessions/session-key.d.ts +0 -8
  1403. package/dist/plugin-sdk/src/config/sessions/store.d.ts +0 -124
  1404. package/dist/plugin-sdk/src/config/sessions/transcript.d.ts +0 -32
  1405. package/dist/plugin-sdk/src/config/sessions/types.d.ts +0 -273
  1406. package/dist/plugin-sdk/src/config/sessions.d.ts +0 -13
  1407. package/dist/plugin-sdk/src/config/talk.d.ts +0 -22
  1408. package/dist/plugin-sdk/src/config/telegram-custom-commands.d.ts +0 -24
  1409. package/dist/plugin-sdk/src/config/types.acp.d.ts +0 -28
  1410. package/dist/plugin-sdk/src/config/types.agent-defaults.d.ts +0 -322
  1411. package/dist/plugin-sdk/src/config/types.agents-shared.d.ts +0 -53
  1412. package/dist/plugin-sdk/src/config/types.agents.d.ts +0 -71
  1413. package/dist/plugin-sdk/src/config/types.approvals.d.ts +0 -26
  1414. package/dist/plugin-sdk/src/config/types.auth.d.ts +0 -34
  1415. package/dist/plugin-sdk/src/config/types.base.d.ts +0 -227
  1416. package/dist/plugin-sdk/src/config/types.browser.d.ts +0 -65
  1417. package/dist/plugin-sdk/src/config/types.channel-messaging-common.d.ts +0 -44
  1418. package/dist/plugin-sdk/src/config/types.channels.d.ts +0 -53
  1419. package/dist/plugin-sdk/src/config/types.cron.d.ts +0 -26
  1420. package/dist/plugin-sdk/src/config/types.d.ts +0 -35
  1421. package/dist/plugin-sdk/src/config/types.discord.d.ts +0 -283
  1422. package/dist/plugin-sdk/src/config/types.fased.d.ts +0 -134
  1423. package/dist/plugin-sdk/src/config/types.federation.d.ts +0 -319
  1424. package/dist/plugin-sdk/src/config/types.gateway.d.ts +0 -313
  1425. package/dist/plugin-sdk/src/config/types.googlechat.d.ts +0 -110
  1426. package/dist/plugin-sdk/src/config/types.hooks.d.ts +0 -141
  1427. package/dist/plugin-sdk/src/config/types.imessage.d.ts +0 -77
  1428. package/dist/plugin-sdk/src/config/types.installs.d.ts +0 -36
  1429. package/dist/plugin-sdk/src/config/types.irc.d.ts +0 -54
  1430. package/dist/plugin-sdk/src/config/types.mcp.d.ts +0 -5
  1431. package/dist/plugin-sdk/src/config/types.memory.d.ts +0 -59
  1432. package/dist/plugin-sdk/src/config/types.messages.d.ts +0 -151
  1433. package/dist/plugin-sdk/src/config/types.models.d.ts +0 -70
  1434. package/dist/plugin-sdk/src/config/types.msteams.d.ts +0 -110
  1435. package/dist/plugin-sdk/src/config/types.node-host.d.ts +0 -10
  1436. package/dist/plugin-sdk/src/config/types.plugins.d.ts +0 -48
  1437. package/dist/plugin-sdk/src/config/types.queue.d.ts +0 -14
  1438. package/dist/plugin-sdk/src/config/types.sandbox.d.ts +0 -97
  1439. package/dist/plugin-sdk/src/config/types.secrets.d.ts +0 -67
  1440. package/dist/plugin-sdk/src/config/types.signal.d.ts +0 -46
  1441. package/dist/plugin-sdk/src/config/types.skills.d.ts +0 -47
  1442. package/dist/plugin-sdk/src/config/types.slack.d.ts +0 -181
  1443. package/dist/plugin-sdk/src/config/types.telegram.d.ts +0 -199
  1444. package/dist/plugin-sdk/src/config/types.tools.d.ts +0 -637
  1445. package/dist/plugin-sdk/src/config/types.tts.d.ts +0 -78
  1446. package/dist/plugin-sdk/src/config/types.wallet.d.ts +0 -88
  1447. package/dist/plugin-sdk/src/config/types.whatsapp.d.ts +0 -101
  1448. package/dist/plugin-sdk/src/config/validation.d.ts +0 -37
  1449. package/dist/plugin-sdk/src/config/version.d.ts +0 -9
  1450. package/dist/plugin-sdk/src/config/zod-schema.agent-defaults.d.ts +0 -308
  1451. package/dist/plugin-sdk/src/config/zod-schema.agent-model.d.ts +0 -24
  1452. package/dist/plugin-sdk/src/config/zod-schema.agent-runtime.d.ts +0 -1439
  1453. package/dist/plugin-sdk/src/config/zod-schema.agents.d.ts +0 -621
  1454. package/dist/plugin-sdk/src/config/zod-schema.allowdeny.d.ts +0 -13
  1455. package/dist/plugin-sdk/src/config/zod-schema.approvals.d.ts +0 -15
  1456. package/dist/plugin-sdk/src/config/zod-schema.channels.d.ts +0 -6
  1457. package/dist/plugin-sdk/src/config/zod-schema.core.d.ts +0 -926
  1458. package/dist/plugin-sdk/src/config/zod-schema.d.ts +0 -4763
  1459. package/dist/plugin-sdk/src/config/zod-schema.hooks.d.ts +0 -83
  1460. package/dist/plugin-sdk/src/config/zod-schema.installs.d.ts +0 -38
  1461. package/dist/plugin-sdk/src/config/zod-schema.providers-core.d.ts +0 -3785
  1462. package/dist/plugin-sdk/src/config/zod-schema.providers-whatsapp.d.ts +0 -235
  1463. package/dist/plugin-sdk/src/config/zod-schema.providers.d.ts +0 -2261
  1464. package/dist/plugin-sdk/src/config/zod-schema.sensitive.d.ts +0 -2
  1465. package/dist/plugin-sdk/src/config/zod-schema.session.d.ts +0 -237
  1466. package/dist/plugin-sdk/src/context-engine/types.d.ts +0 -6
  1467. package/dist/plugin-sdk/src/cron/access-block.d.ts +0 -22
  1468. package/dist/plugin-sdk/src/cron/delivery.d.ts +0 -10
  1469. package/dist/plugin-sdk/src/cron/graph-context.d.ts +0 -45
  1470. package/dist/plugin-sdk/src/cron/legacy-delivery.d.ts +0 -3
  1471. package/dist/plugin-sdk/src/cron/normalize.d.ts +0 -9
  1472. package/dist/plugin-sdk/src/cron/parse.d.ts +0 -1
  1473. package/dist/plugin-sdk/src/cron/payload-migration.d.ts +0 -3
  1474. package/dist/plugin-sdk/src/cron/run-detail-format.d.ts +0 -28
  1475. package/dist/plugin-sdk/src/cron/run-detail.d.ts +0 -95
  1476. package/dist/plugin-sdk/src/cron/run-log.d.ts +0 -65
  1477. package/dist/plugin-sdk/src/cron/schedule.d.ts +0 -2
  1478. package/dist/plugin-sdk/src/cron/service/jobs.d.ts +0 -23
  1479. package/dist/plugin-sdk/src/cron/service/locked.d.ts +0 -2
  1480. package/dist/plugin-sdk/src/cron/service/normalize.d.ts +0 -18
  1481. package/dist/plugin-sdk/src/cron/service/ops.d.ts +0 -152
  1482. package/dist/plugin-sdk/src/cron/service/run-lease.d.ts +0 -15
  1483. package/dist/plugin-sdk/src/cron/service/state.d.ts +0 -154
  1484. package/dist/plugin-sdk/src/cron/service/store.d.ts +0 -9
  1485. package/dist/plugin-sdk/src/cron/service/timeout-policy.d.ts +0 -13
  1486. package/dist/plugin-sdk/src/cron/service/timer.d.ts +0 -80
  1487. package/dist/plugin-sdk/src/cron/service.d.ts +0 -122
  1488. package/dist/plugin-sdk/src/cron/session-reaper.d.ts +0 -35
  1489. package/dist/plugin-sdk/src/cron/stagger.d.ts +0 -8
  1490. package/dist/plugin-sdk/src/cron/store.d.ts +0 -6
  1491. package/dist/plugin-sdk/src/cron/task-adaptive-routing.d.ts +0 -21
  1492. package/dist/plugin-sdk/src/cron/task-evaluator.d.ts +0 -28
  1493. package/dist/plugin-sdk/src/cron/task-model-roles.d.ts +0 -21
  1494. package/dist/plugin-sdk/src/cron/task-planner.d.ts +0 -37
  1495. package/dist/plugin-sdk/src/cron/task-run-queue.d.ts +0 -270
  1496. package/dist/plugin-sdk/src/cron/trusted-sources.d.ts +0 -28
  1497. package/dist/plugin-sdk/src/cron/types.d.ts +0 -673
  1498. package/dist/plugin-sdk/src/cron/webhook-url.d.ts +0 -1
  1499. package/dist/plugin-sdk/src/daemon/arg-split.d.ts +0 -4
  1500. package/dist/plugin-sdk/src/daemon/cmd-argv.d.ts +0 -3
  1501. package/dist/plugin-sdk/src/daemon/cmd-set.d.ts +0 -7
  1502. package/dist/plugin-sdk/src/daemon/constants.d.ts +0 -63
  1503. package/dist/plugin-sdk/src/daemon/diagnostics.d.ts +0 -1
  1504. package/dist/plugin-sdk/src/daemon/exec-file.d.ts +0 -7
  1505. package/dist/plugin-sdk/src/daemon/launchd-plist.d.ts +0 -15
  1506. package/dist/plugin-sdk/src/daemon/launchd.d.ts +0 -49
  1507. package/dist/plugin-sdk/src/daemon/node-service.d.ts +0 -2
  1508. package/dist/plugin-sdk/src/daemon/output.d.ts +0 -8
  1509. package/dist/plugin-sdk/src/daemon/paths.d.ts +0 -3
  1510. package/dist/plugin-sdk/src/daemon/runtime-binary.d.ts +0 -2
  1511. package/dist/plugin-sdk/src/daemon/runtime-parse.d.ts +0 -1
  1512. package/dist/plugin-sdk/src/daemon/schtasks-exec.d.ts +0 -5
  1513. package/dist/plugin-sdk/src/daemon/schtasks.d.ts +0 -18
  1514. package/dist/plugin-sdk/src/daemon/service-runtime.d.ts +0 -13
  1515. package/dist/plugin-sdk/src/daemon/service-types.d.ts +0 -32
  1516. package/dist/plugin-sdk/src/daemon/service.d.ts +0 -16
  1517. package/dist/plugin-sdk/src/daemon/systemd-linger.d.ts +0 -15
  1518. package/dist/plugin-sdk/src/daemon/systemd-system.d.ts +0 -28
  1519. package/dist/plugin-sdk/src/daemon/systemd-unit.d.ts +0 -7
  1520. package/dist/plugin-sdk/src/daemon/systemd.d.ts +0 -32
  1521. package/dist/plugin-sdk/src/discord/accounts.d.ts +0 -21
  1522. package/dist/plugin-sdk/src/discord/api.d.ts +0 -11
  1523. package/dist/plugin-sdk/src/discord/audit.d.ts +0 -29
  1524. package/dist/plugin-sdk/src/discord/chunk.d.ts +0 -20
  1525. package/dist/plugin-sdk/src/discord/client.d.ts +0 -21
  1526. package/dist/plugin-sdk/src/discord/components-registry.d.ts +0 -16
  1527. package/dist/plugin-sdk/src/discord/components.d.ts +0 -196
  1528. package/dist/plugin-sdk/src/discord/directory-live.d.ts +0 -4
  1529. package/dist/plugin-sdk/src/discord/draft-chunking.d.ts +0 -6
  1530. package/dist/plugin-sdk/src/discord/draft-stream.d.ts +0 -21
  1531. package/dist/plugin-sdk/src/discord/gateway-logging.d.ts +0 -8
  1532. package/dist/plugin-sdk/src/discord/guilds.d.ts +0 -6
  1533. package/dist/plugin-sdk/src/discord/monitor/agent-components.d.ts +0 -55
  1534. package/dist/plugin-sdk/src/discord/monitor/allow-list.d.ts +0 -176
  1535. package/dist/plugin-sdk/src/discord/monitor/commands.d.ts +0 -2
  1536. package/dist/plugin-sdk/src/discord/monitor/exec-approvals.d.ts +0 -55
  1537. package/dist/plugin-sdk/src/discord/monitor/format.d.ts +0 -13
  1538. package/dist/plugin-sdk/src/discord/monitor/gateway-error-guard.d.ts +0 -6
  1539. package/dist/plugin-sdk/src/discord/monitor/gateway-plugin.d.ts +0 -8
  1540. package/dist/plugin-sdk/src/discord/monitor/gateway-registry.d.ts +0 -9
  1541. package/dist/plugin-sdk/src/discord/monitor/listeners.d.ts +0 -50
  1542. package/dist/plugin-sdk/src/discord/monitor/message-handler.d.ts +0 -5
  1543. package/dist/plugin-sdk/src/discord/monitor/message-handler.preflight.d.ts +0 -14
  1544. package/dist/plugin-sdk/src/discord/monitor/message-handler.preflight.types.d.ts +0 -96
  1545. package/dist/plugin-sdk/src/discord/monitor/message-handler.process.d.ts +0 -2
  1546. package/dist/plugin-sdk/src/discord/monitor/message-utils.d.ts +0 -44
  1547. package/dist/plugin-sdk/src/discord/monitor/model-picker-preferences.d.ts +0 -18
  1548. package/dist/plugin-sdk/src/discord/monitor/model-picker.d.ts +0 -117
  1549. package/dist/plugin-sdk/src/discord/monitor/native-command.d.ts +0 -26
  1550. package/dist/plugin-sdk/src/discord/monitor/presence-cache.d.ts +0 -9
  1551. package/dist/plugin-sdk/src/discord/monitor/presence.d.ts +0 -5
  1552. package/dist/plugin-sdk/src/discord/monitor/provider.allowlist.d.ts +0 -14
  1553. package/dist/plugin-sdk/src/discord/monitor/provider.d.ts +0 -34
  1554. package/dist/plugin-sdk/src/discord/monitor/provider.lifecycle.d.ts +0 -28
  1555. package/dist/plugin-sdk/src/discord/monitor/reply-context.d.ts +0 -17
  1556. package/dist/plugin-sdk/src/discord/monitor/reply-delivery.d.ts +0 -37
  1557. package/dist/plugin-sdk/src/discord/monitor/rest-fetch.d.ts +0 -2
  1558. package/dist/plugin-sdk/src/discord/monitor/sender-identity.d.ts +0 -31
  1559. package/dist/plugin-sdk/src/discord/monitor/system-events.d.ts +0 -2
  1560. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.config.d.ts +0 -11
  1561. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.d.ts +0 -8
  1562. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.discord-api.d.ts +0 -36
  1563. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.lifecycle.d.ts +0 -46
  1564. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.manager.d.ts +0 -18
  1565. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.messages.d.ts +0 -1
  1566. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.persona.d.ts +0 -6
  1567. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.state.d.ts +0 -80
  1568. package/dist/plugin-sdk/src/discord/monitor/thread-bindings.types.d.ts +0 -77
  1569. package/dist/plugin-sdk/src/discord/monitor/threading.d.ts +0 -106
  1570. package/dist/plugin-sdk/src/discord/monitor/typing.d.ts +0 -5
  1571. package/dist/plugin-sdk/src/discord/monitor.d.ts +0 -10
  1572. package/dist/plugin-sdk/src/discord/monitor.gateway.d.ts +0 -12
  1573. package/dist/plugin-sdk/src/discord/pluralkit.d.ts +0 -26
  1574. package/dist/plugin-sdk/src/discord/probe.d.ts +0 -28
  1575. package/dist/plugin-sdk/src/discord/resolve-channels.d.ts +0 -15
  1576. package/dist/plugin-sdk/src/discord/resolve-users.d.ts +0 -14
  1577. package/dist/plugin-sdk/src/discord/send.channels.d.ts +0 -17
  1578. package/dist/plugin-sdk/src/discord/send.components.d.ts +0 -17
  1579. package/dist/plugin-sdk/src/discord/send.d.ts +0 -10
  1580. package/dist/plugin-sdk/src/discord/send.emojis-stickers.d.ts +0 -4
  1581. package/dist/plugin-sdk/src/discord/send.guild.d.ts +0 -24
  1582. package/dist/plugin-sdk/src/discord/send.messages.d.ts +0 -20
  1583. package/dist/plugin-sdk/src/discord/send.outbound.d.ts +0 -57
  1584. package/dist/plugin-sdk/src/discord/send.permissions.d.ts +0 -20
  1585. package/dist/plugin-sdk/src/discord/send.reactions.d.ts +0 -15
  1586. package/dist/plugin-sdk/src/discord/send.shared.d.ts +0 -85
  1587. package/dist/plugin-sdk/src/discord/send.types.d.ts +0 -144
  1588. package/dist/plugin-sdk/src/discord/targets.d.ts +0 -18
  1589. package/dist/plugin-sdk/src/discord/token.d.ts +0 -11
  1590. package/dist/plugin-sdk/src/discord/ui.d.ts +0 -19
  1591. package/dist/plugin-sdk/src/discord/voice/command.d.ts +0 -15
  1592. package/dist/plugin-sdk/src/discord/voice/manager.d.ts +0 -52
  1593. package/dist/plugin-sdk/src/discord/voice-message.d.ts +0 -50
  1594. package/dist/plugin-sdk/src/federation/access-token.d.ts +0 -34
  1595. package/dist/plugin-sdk/src/federation/attestation.d.ts +0 -37
  1596. package/dist/plugin-sdk/src/federation/auto-connect.d.ts +0 -103
  1597. package/dist/plugin-sdk/src/federation/marketplace-capability-adapter.d.ts +0 -31
  1598. package/dist/plugin-sdk/src/federation/marketplace-chat-command.d.ts +0 -13
  1599. package/dist/plugin-sdk/src/federation/marketplace-delivery.d.ts +0 -61
  1600. package/dist/plugin-sdk/src/federation/marketplace-direct-payment.d.ts +0 -36
  1601. package/dist/plugin-sdk/src/federation/marketplace-escrow.d.ts +0 -58
  1602. package/dist/plugin-sdk/src/federation/marketplace-service-kinds.d.ts +0 -23
  1603. package/dist/plugin-sdk/src/federation/marketplace-task-ledger.d.ts +0 -12
  1604. package/dist/plugin-sdk/src/federation/offers.d.ts +0 -258
  1605. package/dist/plugin-sdk/src/federation/runtime.d.ts +0 -14
  1606. package/dist/plugin-sdk/src/federation/settlement-evidence.d.ts +0 -27
  1607. package/dist/plugin-sdk/src/gateway/a2a-http.d.ts +0 -25
  1608. package/dist/plugin-sdk/src/gateway/a2a-settlement.d.ts +0 -36
  1609. package/dist/plugin-sdk/src/gateway/agent-event-assistant-text.d.ts +0 -2
  1610. package/dist/plugin-sdk/src/gateway/agent-prompt.d.ts +0 -6
  1611. package/dist/plugin-sdk/src/gateway/assistant-identity.d.ts +0 -13
  1612. package/dist/plugin-sdk/src/gateway/auth-rate-limit.d.ts +0 -67
  1613. package/dist/plugin-sdk/src/gateway/auth.d.ts +0 -63
  1614. package/dist/plugin-sdk/src/gateway/call.d.ts +0 -82
  1615. package/dist/plugin-sdk/src/gateway/canvas-capability.d.ts +0 -14
  1616. package/dist/plugin-sdk/src/gateway/chat-abort.d.ts +0 -70
  1617. package/dist/plugin-sdk/src/gateway/chat-sanitize.d.ts +0 -4
  1618. package/dist/plugin-sdk/src/gateway/client.d.ts +0 -66
  1619. package/dist/plugin-sdk/src/gateway/control-plane-audit.d.ts +0 -10
  1620. package/dist/plugin-sdk/src/gateway/control-ui-boot-check.d.ts +0 -22
  1621. package/dist/plugin-sdk/src/gateway/control-ui-contract.d.ts +0 -7
  1622. package/dist/plugin-sdk/src/gateway/control-ui-csp.d.ts +0 -1
  1623. package/dist/plugin-sdk/src/gateway/control-ui-login.d.ts +0 -115
  1624. package/dist/plugin-sdk/src/gateway/control-ui-shared.d.ts +0 -9
  1625. package/dist/plugin-sdk/src/gateway/control-ui.d.ts +0 -36
  1626. package/dist/plugin-sdk/src/gateway/credentials.d.ts +0 -34
  1627. package/dist/plugin-sdk/src/gateway/device-auth.d.ts +0 -17
  1628. package/dist/plugin-sdk/src/gateway/exec-approval-manager.d.ts +0 -38
  1629. package/dist/plugin-sdk/src/gateway/federation-http.d.ts +0 -7
  1630. package/dist/plugin-sdk/src/gateway/federation-marketplace.d.ts +0 -90
  1631. package/dist/plugin-sdk/src/gateway/fedify-http.d.ts +0 -5
  1632. package/dist/plugin-sdk/src/gateway/gateway-identity.d.ts +0 -5
  1633. package/dist/plugin-sdk/src/gateway/hooks-mapping.d.ts +0 -80
  1634. package/dist/plugin-sdk/src/gateway/hooks.d.ts +0 -102
  1635. package/dist/plugin-sdk/src/gateway/http-auth-helpers.d.ts +0 -11
  1636. package/dist/plugin-sdk/src/gateway/http-common.d.ts +0 -21
  1637. package/dist/plugin-sdk/src/gateway/http-endpoint-helpers.d.ts +0 -13
  1638. package/dist/plugin-sdk/src/gateway/http-utils.d.ts +0 -15
  1639. package/dist/plugin-sdk/src/gateway/internal-call-auth.d.ts +0 -3
  1640. package/dist/plugin-sdk/src/gateway/method-scopes.d.ts +0 -22
  1641. package/dist/plugin-sdk/src/gateway/mutating-admin-rpc-rate-limit.d.ts +0 -29
  1642. package/dist/plugin-sdk/src/gateway/net.d.ts +0 -83
  1643. package/dist/plugin-sdk/src/gateway/node-command-policy.d.ts +0 -14
  1644. package/dist/plugin-sdk/src/gateway/node-registry.d.ts +0 -60
  1645. package/dist/plugin-sdk/src/gateway/open-responses.schema.d.ts +0 -765
  1646. package/dist/plugin-sdk/src/gateway/openai-http.d.ts +0 -12
  1647. package/dist/plugin-sdk/src/gateway/openresponses-http.d.ts +0 -21
  1648. package/dist/plugin-sdk/src/gateway/openresponses-prompt.d.ts +0 -5
  1649. package/dist/plugin-sdk/src/gateway/probe-auth.d.ts +0 -9
  1650. package/dist/plugin-sdk/src/gateway/probe.d.ts +0 -26
  1651. package/dist/plugin-sdk/src/gateway/protocol/client-info.d.ts +0 -58
  1652. package/dist/plugin-sdk/src/gateway/protocol/index.d.ts +0 -1048
  1653. package/dist/plugin-sdk/src/gateway/protocol/schema/agent.d.ts +0 -91
  1654. package/dist/plugin-sdk/src/gateway/protocol/schema/agents-models-skills.d.ts +0 -1400
  1655. package/dist/plugin-sdk/src/gateway/protocol/schema/channels.d.ts +0 -158
  1656. package/dist/plugin-sdk/src/gateway/protocol/schema/commands.d.ts +0 -68
  1657. package/dist/plugin-sdk/src/gateway/protocol/schema/config.d.ts +0 -115
  1658. package/dist/plugin-sdk/src/gateway/protocol/schema/cron.d.ts +0 -1551
  1659. package/dist/plugin-sdk/src/gateway/protocol/schema/devices.d.ts +0 -42
  1660. package/dist/plugin-sdk/src/gateway/protocol/schema/error-codes.d.ts +0 -15
  1661. package/dist/plugin-sdk/src/gateway/protocol/schema/exec-approvals.d.ts +0 -182
  1662. package/dist/plugin-sdk/src/gateway/protocol/schema/frames.d.ts +0 -168
  1663. package/dist/plugin-sdk/src/gateway/protocol/schema/logs-chat.d.ts +0 -45
  1664. package/dist/plugin-sdk/src/gateway/protocol/schema/nodes.d.ts +0 -85
  1665. package/dist/plugin-sdk/src/gateway/protocol/schema/primitives.d.ts +0 -4
  1666. package/dist/plugin-sdk/src/gateway/protocol/schema/protocol-schemas.d.ts +0 -3
  1667. package/dist/plugin-sdk/src/gateway/protocol/schema/push.d.ts +0 -15
  1668. package/dist/plugin-sdk/src/gateway/protocol/schema/sessions.d.ts +0 -134
  1669. package/dist/plugin-sdk/src/gateway/protocol/schema/snapshot.d.ts +0 -69
  1670. package/dist/plugin-sdk/src/gateway/protocol/schema/types.d.ts +0 -245
  1671. package/dist/plugin-sdk/src/gateway/protocol/schema/wizard.d.ts +0 -86
  1672. package/dist/plugin-sdk/src/gateway/protocol/schema.d.ts +0 -18
  1673. package/dist/plugin-sdk/src/gateway/security-path.d.ts +0 -15
  1674. package/dist/plugin-sdk/src/gateway/server/readiness.d.ts +0 -6
  1675. package/dist/plugin-sdk/src/gateway/server/ws-types.d.ts +0 -12
  1676. package/dist/plugin-sdk/src/gateway/server-broadcast.d.ts +0 -17
  1677. package/dist/plugin-sdk/src/gateway/server-channels.d.ts +0 -26
  1678. package/dist/plugin-sdk/src/gateway/server-constants.d.ts +0 -10
  1679. package/dist/plugin-sdk/src/gateway/server-http.d.ts +0 -131
  1680. package/dist/plugin-sdk/src/gateway/server-methods/commands.d.ts +0 -11
  1681. package/dist/plugin-sdk/src/gateway/server-methods/mutating-admin-rpc-audit.d.ts +0 -41
  1682. package/dist/plugin-sdk/src/gateway/server-methods/nodes.helpers.d.ts +0 -20
  1683. package/dist/plugin-sdk/src/gateway/server-methods/push.d.ts +0 -2
  1684. package/dist/plugin-sdk/src/gateway/server-methods/types.d.ts +0 -106
  1685. package/dist/plugin-sdk/src/gateway/server-model-catalog.d.ts +0 -17
  1686. package/dist/plugin-sdk/src/gateway/server-shared.d.ts +0 -7
  1687. package/dist/plugin-sdk/src/gateway/server-startup-readiness.d.ts +0 -21
  1688. package/dist/plugin-sdk/src/gateway/server-startup-trace.d.ts +0 -29
  1689. package/dist/plugin-sdk/src/gateway/session-compaction-checkpoints.d.ts +0 -24
  1690. package/dist/plugin-sdk/src/gateway/session-utils.d.ts +0 -80
  1691. package/dist/plugin-sdk/src/gateway/session-utils.fs.d.ts +0 -48
  1692. package/dist/plugin-sdk/src/gateway/session-utils.types.d.ts +0 -106
  1693. package/dist/plugin-sdk/src/gateway/tools-invoke-http.d.ts +0 -10
  1694. package/dist/plugin-sdk/src/gateway/update-status.d.ts +0 -27
  1695. package/dist/plugin-sdk/src/gateway/ws-log.d.ts +0 -5
  1696. package/dist/plugin-sdk/src/gateway/ws-logging.d.ts +0 -4
  1697. package/dist/plugin-sdk/src/globals.d.ts +0 -11
  1698. package/dist/plugin-sdk/src/hooks/config.d.ts +0 -11
  1699. package/dist/plugin-sdk/src/hooks/frontmatter.d.ts +0 -5
  1700. package/dist/plugin-sdk/src/hooks/internal-hooks.d.ts +0 -155
  1701. package/dist/plugin-sdk/src/hooks/module-loader.d.ts +0 -18
  1702. package/dist/plugin-sdk/src/hooks/types.d.ts +0 -62
  1703. package/dist/plugin-sdk/src/image-generation/types.d.ts +0 -74
  1704. package/dist/plugin-sdk/src/imessage/accounts.d.ts +0 -16
  1705. package/dist/plugin-sdk/src/imessage/client.d.ts +0 -46
  1706. package/dist/plugin-sdk/src/imessage/constants.d.ts +0 -2
  1707. package/dist/plugin-sdk/src/imessage/monitor/abort-handler.d.ts +0 -9
  1708. package/dist/plugin-sdk/src/imessage/monitor/deliver.d.ts +0 -14
  1709. package/dist/plugin-sdk/src/imessage/monitor/echo-cache.d.ts +0 -9
  1710. package/dist/plugin-sdk/src/imessage/monitor/inbound-processing.d.ts +0 -96
  1711. package/dist/plugin-sdk/src/imessage/monitor/monitor-provider.d.ts +0 -7
  1712. package/dist/plugin-sdk/src/imessage/monitor/parse-notification.d.ts +0 -2
  1713. package/dist/plugin-sdk/src/imessage/monitor/runtime.d.ts +0 -4
  1714. package/dist/plugin-sdk/src/imessage/monitor/types.d.ts +0 -37
  1715. package/dist/plugin-sdk/src/imessage/monitor.d.ts +0 -2
  1716. package/dist/plugin-sdk/src/imessage/probe.d.ts +0 -17
  1717. package/dist/plugin-sdk/src/imessage/send.d.ts +0 -34
  1718. package/dist/plugin-sdk/src/imessage/target-parsing-helpers.d.ts +0 -45
  1719. package/dist/plugin-sdk/src/imessage/targets.d.ts +0 -40
  1720. package/dist/plugin-sdk/src/infra/abort-signal.d.ts +0 -1
  1721. package/dist/plugin-sdk/src/infra/agent-events.d.ts +0 -24
  1722. package/dist/plugin-sdk/src/infra/archive-path.d.ts +0 -12
  1723. package/dist/plugin-sdk/src/infra/archive.d.ts +0 -46
  1724. package/dist/plugin-sdk/src/infra/backoff.d.ts +0 -8
  1725. package/dist/plugin-sdk/src/infra/binaries.d.ts +0 -3
  1726. package/dist/plugin-sdk/src/infra/boundary-file-read.d.ts +0 -33
  1727. package/dist/plugin-sdk/src/infra/boundary-path.d.ts +0 -38
  1728. package/dist/plugin-sdk/src/infra/brew.d.ts +0 -8
  1729. package/dist/plugin-sdk/src/infra/channel-activity.d.ts +0 -18
  1730. package/dist/plugin-sdk/src/infra/channel-summary.d.ts +0 -6
  1731. package/dist/plugin-sdk/src/infra/channels-status-issues.d.ts +0 -2
  1732. package/dist/plugin-sdk/src/infra/clawhub.d.ts +0 -1
  1733. package/dist/plugin-sdk/src/infra/control-ui-assets.d.ts +0 -32
  1734. package/dist/plugin-sdk/src/infra/dedupe.d.ts +0 -12
  1735. package/dist/plugin-sdk/src/infra/detect-package-manager.d.ts +0 -2
  1736. package/dist/plugin-sdk/src/infra/device-auth-store.d.ts +0 -19
  1737. package/dist/plugin-sdk/src/infra/device-identity.d.ts +0 -13
  1738. package/dist/plugin-sdk/src/infra/device-pairing.d.ts +0 -103
  1739. package/dist/plugin-sdk/src/infra/diagnostic-events.d.ts +0 -140
  1740. package/dist/plugin-sdk/src/infra/diagnostic-flags.d.ts +0 -4
  1741. package/dist/plugin-sdk/src/infra/dotenv.d.ts +0 -13
  1742. package/dist/plugin-sdk/src/infra/env.d.ts +0 -11
  1743. package/dist/plugin-sdk/src/infra/errors.d.ts +0 -11
  1744. package/dist/plugin-sdk/src/infra/exec-approval-reply.d.ts +0 -11
  1745. package/dist/plugin-sdk/src/infra/exec-approval-surface.d.ts +0 -38
  1746. package/dist/plugin-sdk/src/infra/exec-approvals-allowlist.d.ts +0 -69
  1747. package/dist/plugin-sdk/src/infra/exec-approvals-analysis.d.ts +0 -78
  1748. package/dist/plugin-sdk/src/infra/exec-approvals.d.ts +0 -147
  1749. package/dist/plugin-sdk/src/infra/exec-command-resolution.d.ts +0 -45
  1750. package/dist/plugin-sdk/src/infra/exec-obfuscation-detect.d.ts +0 -12
  1751. package/dist/plugin-sdk/src/infra/exec-safe-bin-policy-profiles.d.ts +0 -24
  1752. package/dist/plugin-sdk/src/infra/exec-safe-bin-policy-validator.d.ts +0 -2
  1753. package/dist/plugin-sdk/src/infra/exec-safe-bin-policy.d.ts +0 -2
  1754. package/dist/plugin-sdk/src/infra/exec-safe-bin-runtime-policy.d.ts +0 -25
  1755. package/dist/plugin-sdk/src/infra/exec-safe-bin-trust.d.ts +0 -23
  1756. package/dist/plugin-sdk/src/infra/exec-safety.d.ts +0 -1
  1757. package/dist/plugin-sdk/src/infra/exec-wrapper-resolution.d.ts +0 -48
  1758. package/dist/plugin-sdk/src/infra/fased-exec-env.d.ts +0 -1
  1759. package/dist/plugin-sdk/src/infra/fased-root.d.ts +0 -10
  1760. package/dist/plugin-sdk/src/infra/fasedhub.d.ts +0 -114
  1761. package/dist/plugin-sdk/src/infra/fetch-headers.d.ts +0 -4
  1762. package/dist/plugin-sdk/src/infra/fetch.d.ts +0 -2
  1763. package/dist/plugin-sdk/src/infra/file-identity.d.ts +0 -5
  1764. package/dist/plugin-sdk/src/infra/file-lock.d.ts +0 -2
  1765. package/dist/plugin-sdk/src/infra/format-time/format-datetime.d.ts +0 -35
  1766. package/dist/plugin-sdk/src/infra/format-time/format-duration.d.ts +0 -23
  1767. package/dist/plugin-sdk/src/infra/format-time/format-relative.d.ts +0 -39
  1768. package/dist/plugin-sdk/src/infra/fs-safe.d.ts +0 -43
  1769. package/dist/plugin-sdk/src/infra/gemini-auth.d.ts +0 -16
  1770. package/dist/plugin-sdk/src/infra/git-commit.d.ts +0 -4
  1771. package/dist/plugin-sdk/src/infra/git-root.d.ts +0 -7
  1772. package/dist/plugin-sdk/src/infra/hardlink-guards.d.ts +0 -6
  1773. package/dist/plugin-sdk/src/infra/heartbeat-active-hours.d.ts +0 -5
  1774. package/dist/plugin-sdk/src/infra/heartbeat-events-filter.d.ts +0 -8
  1775. package/dist/plugin-sdk/src/infra/heartbeat-events.d.ts +0 -21
  1776. package/dist/plugin-sdk/src/infra/heartbeat-reason.d.ts +0 -5
  1777. package/dist/plugin-sdk/src/infra/heartbeat-runner.d.ts +0 -46
  1778. package/dist/plugin-sdk/src/infra/heartbeat-visibility.d.ts +0 -17
  1779. package/dist/plugin-sdk/src/infra/heartbeat-wake.d.ts +0 -32
  1780. package/dist/plugin-sdk/src/infra/home-dir.d.ts +0 -7
  1781. package/dist/plugin-sdk/src/infra/host-env-security.d.ts +0 -26
  1782. package/dist/plugin-sdk/src/infra/http-body.d.ts +0 -46
  1783. package/dist/plugin-sdk/src/infra/install-flow.d.ts +0 -24
  1784. package/dist/plugin-sdk/src/infra/install-mode-options.d.ts +0 -20
  1785. package/dist/plugin-sdk/src/infra/install-package-dir.d.ts +0 -19
  1786. package/dist/plugin-sdk/src/infra/install-safe-path.d.ts +0 -14
  1787. package/dist/plugin-sdk/src/infra/install-source-utils.d.ts +0 -32
  1788. package/dist/plugin-sdk/src/infra/json-file.d.ts +0 -2
  1789. package/dist/plugin-sdk/src/infra/json-files.d.ts +0 -5
  1790. package/dist/plugin-sdk/src/infra/jsonl-socket.d.ts +0 -6
  1791. package/dist/plugin-sdk/src/infra/machine-name.d.ts +0 -1
  1792. package/dist/plugin-sdk/src/infra/map-size.d.ts +0 -1
  1793. package/dist/plugin-sdk/src/infra/net/fetch-guard.d.ts +0 -28
  1794. package/dist/plugin-sdk/src/infra/net/hostname.d.ts +0 -1
  1795. package/dist/plugin-sdk/src/infra/net/ssrf.d.ts +0 -35
  1796. package/dist/plugin-sdk/src/infra/node-commands.d.ts +0 -4
  1797. package/dist/plugin-sdk/src/infra/node-pairing.d.ts +0 -65
  1798. package/dist/plugin-sdk/src/infra/node-shell.d.ts +0 -1
  1799. package/dist/plugin-sdk/src/infra/npm-integrity.d.ts +0 -38
  1800. package/dist/plugin-sdk/src/infra/npm-pack-install.d.ts +0 -56
  1801. package/dist/plugin-sdk/src/infra/npm-registry-spec.d.ts +0 -1
  1802. package/dist/plugin-sdk/src/infra/optional-runtime-dependency.d.ts +0 -6
  1803. package/dist/plugin-sdk/src/infra/os-summary.d.ts +0 -7
  1804. package/dist/plugin-sdk/src/infra/outbound/abort.d.ts +0 -8
  1805. package/dist/plugin-sdk/src/infra/outbound/agent-delivery.d.ts +0 -46
  1806. package/dist/plugin-sdk/src/infra/outbound/best-effort-delivery.d.ts +0 -13
  1807. package/dist/plugin-sdk/src/infra/outbound/bound-delivery-router.d.ts +0 -16
  1808. package/dist/plugin-sdk/src/infra/outbound/channel-adapters.d.ts +0 -15
  1809. package/dist/plugin-sdk/src/infra/outbound/channel-adapters.discord.d.ts +0 -2
  1810. package/dist/plugin-sdk/src/infra/outbound/channel-resolution.d.ts +0 -8
  1811. package/dist/plugin-sdk/src/infra/outbound/channel-selection.d.ts +0 -11
  1812. package/dist/plugin-sdk/src/infra/outbound/channel-target.d.ts +0 -6
  1813. package/dist/plugin-sdk/src/infra/outbound/conversation-id.d.ts +0 -4
  1814. package/dist/plugin-sdk/src/infra/outbound/deliver.d.ts +0 -80
  1815. package/dist/plugin-sdk/src/infra/outbound/delivery-queue.d.ts +0 -85
  1816. package/dist/plugin-sdk/src/infra/outbound/directory-cache.d.ts +0 -24
  1817. package/dist/plugin-sdk/src/infra/outbound/envelope.d.ts +0 -16
  1818. package/dist/plugin-sdk/src/infra/outbound/format.d.ts +0 -41
  1819. package/dist/plugin-sdk/src/infra/outbound/identity.d.ts +0 -8
  1820. package/dist/plugin-sdk/src/infra/outbound/message-action-params.d.ts +0 -54
  1821. package/dist/plugin-sdk/src/infra/outbound/message-action-runner.d.ts +0 -81
  1822. package/dist/plugin-sdk/src/infra/outbound/message-action-spec.d.ts +0 -5
  1823. package/dist/plugin-sdk/src/infra/outbound/message.d.ts +0 -87
  1824. package/dist/plugin-sdk/src/infra/outbound/outbound-policy.d.ts +0 -32
  1825. package/dist/plugin-sdk/src/infra/outbound/outbound-send-service.d.ts +0 -74
  1826. package/dist/plugin-sdk/src/infra/outbound/outbound-session.d.ts +0 -31
  1827. package/dist/plugin-sdk/src/infra/outbound/payloads.d.ts +0 -18
  1828. package/dist/plugin-sdk/src/infra/outbound/session-binding-service.d.ts +0 -89
  1829. package/dist/plugin-sdk/src/infra/outbound/session-context.d.ts +0 -12
  1830. package/dist/plugin-sdk/src/infra/outbound/target-errors.d.ts +0 -6
  1831. package/dist/plugin-sdk/src/infra/outbound/target-normalization.d.ts +0 -4
  1832. package/dist/plugin-sdk/src/infra/outbound/target-resolver.d.ts +0 -53
  1833. package/dist/plugin-sdk/src/infra/outbound/targets.d.ts +0 -87
  1834. package/dist/plugin-sdk/src/infra/outbound/tool-payload.d.ts +0 -2
  1835. package/dist/plugin-sdk/src/infra/pairing-files.d.ts +0 -23
  1836. package/dist/plugin-sdk/src/infra/pairing-pending.d.ts +0 -13
  1837. package/dist/plugin-sdk/src/infra/pairing-token.d.ts +0 -3
  1838. package/dist/plugin-sdk/src/infra/path-alias-guards.d.ts +0 -18
  1839. package/dist/plugin-sdk/src/infra/path-guards.d.ts +0 -5
  1840. package/dist/plugin-sdk/src/infra/path-prepend.d.ts +0 -6
  1841. package/dist/plugin-sdk/src/infra/path-safety.d.ts +0 -2
  1842. package/dist/plugin-sdk/src/infra/plain-object.d.ts +0 -4
  1843. package/dist/plugin-sdk/src/infra/ports-format.d.ts +0 -5
  1844. package/dist/plugin-sdk/src/infra/ports-inspect.d.ts +0 -2
  1845. package/dist/plugin-sdk/src/infra/ports-lsof.d.ts +0 -2
  1846. package/dist/plugin-sdk/src/infra/ports-probe.d.ts +0 -5
  1847. package/dist/plugin-sdk/src/infra/ports-types.d.ts +0 -18
  1848. package/dist/plugin-sdk/src/infra/ports.d.ts +0 -14
  1849. package/dist/plugin-sdk/src/infra/prototype-keys.d.ts +0 -1
  1850. package/dist/plugin-sdk/src/infra/provider-usage.auth.d.ts +0 -11
  1851. package/dist/plugin-sdk/src/infra/provider-usage.d.ts +0 -4
  1852. package/dist/plugin-sdk/src/infra/provider-usage.fetch.claude.d.ts +0 -2
  1853. package/dist/plugin-sdk/src/infra/provider-usage.fetch.codex.d.ts +0 -2
  1854. package/dist/plugin-sdk/src/infra/provider-usage.fetch.copilot.d.ts +0 -2
  1855. package/dist/plugin-sdk/src/infra/provider-usage.fetch.d.ts +0 -6
  1856. package/dist/plugin-sdk/src/infra/provider-usage.fetch.gemini.d.ts +0 -2
  1857. package/dist/plugin-sdk/src/infra/provider-usage.fetch.minimax.d.ts +0 -2
  1858. package/dist/plugin-sdk/src/infra/provider-usage.fetch.shared.d.ts +0 -12
  1859. package/dist/plugin-sdk/src/infra/provider-usage.fetch.zai.d.ts +0 -2
  1860. package/dist/plugin-sdk/src/infra/provider-usage.format.d.ts +0 -13
  1861. package/dist/plugin-sdk/src/infra/provider-usage.load.d.ts +0 -12
  1862. package/dist/plugin-sdk/src/infra/provider-usage.shared.d.ts +0 -8
  1863. package/dist/plugin-sdk/src/infra/provider-usage.types.d.ts +0 -17
  1864. package/dist/plugin-sdk/src/infra/push-apns.d.ts +0 -83
  1865. package/dist/plugin-sdk/src/infra/restart-sentinel.d.ts +0 -50
  1866. package/dist/plugin-sdk/src/infra/restart-stale-pids.d.ts +0 -13
  1867. package/dist/plugin-sdk/src/infra/restart.d.ts +0 -72
  1868. package/dist/plugin-sdk/src/infra/retry-policy.d.ts +0 -25
  1869. package/dist/plugin-sdk/src/infra/retry.d.ts +0 -21
  1870. package/dist/plugin-sdk/src/infra/runtime-guard.d.ts +0 -21
  1871. package/dist/plugin-sdk/src/infra/runtime-status.d.ts +0 -8
  1872. package/dist/plugin-sdk/src/infra/safe-open-sync.d.ts +0 -23
  1873. package/dist/plugin-sdk/src/infra/scp-host.d.ts +0 -2
  1874. package/dist/plugin-sdk/src/infra/secure-random.d.ts +0 -2
  1875. package/dist/plugin-sdk/src/infra/session-cost-usage.d.ts +0 -45
  1876. package/dist/plugin-sdk/src/infra/session-cost-usage.types.d.ts +0 -153
  1877. package/dist/plugin-sdk/src/infra/session-maintenance-warning.d.ts +0 -10
  1878. package/dist/plugin-sdk/src/infra/shell-env.d.ts +0 -34
  1879. package/dist/plugin-sdk/src/infra/skills-remote.d.ts +0 -25
  1880. package/dist/plugin-sdk/src/infra/system-events.d.ts +0 -20
  1881. package/dist/plugin-sdk/src/infra/system-message.d.ts +0 -3
  1882. package/dist/plugin-sdk/src/infra/system-presence.d.ts +0 -45
  1883. package/dist/plugin-sdk/src/infra/system-run-command.d.ts +0 -30
  1884. package/dist/plugin-sdk/src/infra/tailnet.d.ts +0 -7
  1885. package/dist/plugin-sdk/src/infra/tailscale.d.ts +0 -34
  1886. package/dist/plugin-sdk/src/infra/tls/fingerprint.d.ts +0 -1
  1887. package/dist/plugin-sdk/src/infra/tls/gateway.d.ts +0 -16
  1888. package/dist/plugin-sdk/src/infra/tmp-fased-dir.d.ts +0 -20
  1889. package/dist/plugin-sdk/src/infra/transport-ready.d.ts +0 -16
  1890. package/dist/plugin-sdk/src/infra/unhandled-rejections.d.ts +0 -15
  1891. package/dist/plugin-sdk/src/infra/update-channels.d.ts +0 -36
  1892. package/dist/plugin-sdk/src/infra/update-check.d.ts +0 -69
  1893. package/dist/plugin-sdk/src/infra/update-global.d.ts +0 -29
  1894. package/dist/plugin-sdk/src/infra/warning-filter.d.ts +0 -7
  1895. package/dist/plugin-sdk/src/infra/ws.d.ts +0 -2
  1896. package/dist/plugin-sdk/src/infra/wsl.d.ts +0 -11
  1897. package/dist/plugin-sdk/src/line/accounts.d.ts +0 -10
  1898. package/dist/plugin-sdk/src/line/actions.d.ts +0 -22
  1899. package/dist/plugin-sdk/src/line/auto-reply-delivery.d.ts +0 -38
  1900. package/dist/plugin-sdk/src/line/bot-access.d.ts +0 -17
  1901. package/dist/plugin-sdk/src/line/bot-handlers.d.ts +0 -13
  1902. package/dist/plugin-sdk/src/line/bot-message-context.d.ts +0 -118
  1903. package/dist/plugin-sdk/src/line/bot.d.ts +0 -24
  1904. package/dist/plugin-sdk/src/line/channel-access-token.d.ts +0 -4
  1905. package/dist/plugin-sdk/src/line/config-schema.d.ts +0 -64
  1906. package/dist/plugin-sdk/src/line/download.d.ts +0 -7
  1907. package/dist/plugin-sdk/src/line/flex-templates/basic-cards.d.ts +0 -46
  1908. package/dist/plugin-sdk/src/line/flex-templates/common.d.ts +0 -2
  1909. package/dist/plugin-sdk/src/line/flex-templates/media-control-cards.d.ts +0 -73
  1910. package/dist/plugin-sdk/src/line/flex-templates/message.d.ts +0 -6
  1911. package/dist/plugin-sdk/src/line/flex-templates/schedule-cards.d.ts +0 -55
  1912. package/dist/plugin-sdk/src/line/flex-templates/types.d.ts +0 -19
  1913. package/dist/plugin-sdk/src/line/flex-templates.d.ts +0 -5
  1914. package/dist/plugin-sdk/src/line/logging.d.ts +0 -2
  1915. package/dist/plugin-sdk/src/line/markdown-to-line.d.ts +0 -72
  1916. package/dist/plugin-sdk/src/line/monitor.d.ts +0 -28
  1917. package/dist/plugin-sdk/src/line/probe.d.ts +0 -2
  1918. package/dist/plugin-sdk/src/line/reply-chunks.d.ts +0 -24
  1919. package/dist/plugin-sdk/src/line/send.d.ts +0 -91
  1920. package/dist/plugin-sdk/src/line/signature.d.ts +0 -1
  1921. package/dist/plugin-sdk/src/line/template-messages.d.ts +0 -100
  1922. package/dist/plugin-sdk/src/line/types.d.ts +0 -113
  1923. package/dist/plugin-sdk/src/line/webhook-node.d.ts +0 -15
  1924. package/dist/plugin-sdk/src/line/webhook-utils.d.ts +0 -3
  1925. package/dist/plugin-sdk/src/line/webhook.d.ts +0 -19
  1926. package/dist/plugin-sdk/src/link-understanding/apply.d.ts +0 -10
  1927. package/dist/plugin-sdk/src/link-understanding/defaults.d.ts +0 -2
  1928. package/dist/plugin-sdk/src/link-understanding/detect.d.ts +0 -3
  1929. package/dist/plugin-sdk/src/link-understanding/format.d.ts +0 -4
  1930. package/dist/plugin-sdk/src/link-understanding/runner.d.ts +0 -13
  1931. package/dist/plugin-sdk/src/logger.d.ts +0 -6
  1932. package/dist/plugin-sdk/src/logging/config.d.ts +0 -4
  1933. package/dist/plugin-sdk/src/logging/console.d.ts +0 -23
  1934. package/dist/plugin-sdk/src/logging/diagnostic-session-state.d.ts +0 -30
  1935. package/dist/plugin-sdk/src/logging/diagnostic-stability.d.ts +0 -85
  1936. package/dist/plugin-sdk/src/logging/diagnostic.d.ts +0 -65
  1937. package/dist/plugin-sdk/src/logging/env-log-level.d.ts +0 -2
  1938. package/dist/plugin-sdk/src/logging/levels.d.ts +0 -5
  1939. package/dist/plugin-sdk/src/logging/logger.d.ts +0 -44
  1940. package/dist/plugin-sdk/src/logging/node-require.d.ts +0 -1
  1941. package/dist/plugin-sdk/src/logging/redact-identifier.d.ts +0 -4
  1942. package/dist/plugin-sdk/src/logging/redact.d.ts +0 -9
  1943. package/dist/plugin-sdk/src/logging/state.d.ts +0 -19
  1944. package/dist/plugin-sdk/src/logging/subsystem.d.ts +0 -18
  1945. package/dist/plugin-sdk/src/logging/timestamps.d.ts +0 -1
  1946. package/dist/plugin-sdk/src/logging.d.ts +0 -10
  1947. package/dist/plugin-sdk/src/managed/federation.d.ts +0 -16
  1948. package/dist/plugin-sdk/src/markdown/code-spans.d.ts +0 -10
  1949. package/dist/plugin-sdk/src/markdown/fences.d.ts +0 -10
  1950. package/dist/plugin-sdk/src/markdown/frontmatter.d.ts +0 -2
  1951. package/dist/plugin-sdk/src/markdown/ir.d.ts +0 -32
  1952. package/dist/plugin-sdk/src/markdown/render.d.ts +0 -18
  1953. package/dist/plugin-sdk/src/markdown/tables.d.ts +0 -2
  1954. package/dist/plugin-sdk/src/markdown/whatsapp.d.ts +0 -14
  1955. package/dist/plugin-sdk/src/media/audio-tags.d.ts +0 -10
  1956. package/dist/plugin-sdk/src/media/audio.d.ts +0 -19
  1957. package/dist/plugin-sdk/src/media/base64.d.ts +0 -6
  1958. package/dist/plugin-sdk/src/media/constants.d.ts +0 -7
  1959. package/dist/plugin-sdk/src/media/fetch.d.ts +0 -24
  1960. package/dist/plugin-sdk/src/media/image-ops.d.ts +0 -41
  1961. package/dist/plugin-sdk/src/media/inbound-path-policy.d.ts +0 -18
  1962. package/dist/plugin-sdk/src/media/input-files.d.ts +0 -95
  1963. package/dist/plugin-sdk/src/media/local-roots.d.ts +0 -3
  1964. package/dist/plugin-sdk/src/media/mime.d.ts +0 -16
  1965. package/dist/plugin-sdk/src/media/outbound-attachment.d.ts +0 -6
  1966. package/dist/plugin-sdk/src/media/parse.d.ts +0 -8
  1967. package/dist/plugin-sdk/src/media/png-encode.d.ts +0 -8
  1968. package/dist/plugin-sdk/src/media/read-response-with-limit.d.ts +0 -7
  1969. package/dist/plugin-sdk/src/media/sniff-mime-from-base64.d.ts +0 -1
  1970. package/dist/plugin-sdk/src/media/store.d.ts +0 -33
  1971. package/dist/plugin-sdk/src/media-understanding/apply.d.ts +0 -19
  1972. package/dist/plugin-sdk/src/media-understanding/attachments.d.ts +0 -49
  1973. package/dist/plugin-sdk/src/media-understanding/audio-preflight.d.ts +0 -16
  1974. package/dist/plugin-sdk/src/media-understanding/concurrency.d.ts +0 -1
  1975. package/dist/plugin-sdk/src/media-understanding/defaults.d.ts +0 -14
  1976. package/dist/plugin-sdk/src/media-understanding/errors.d.ts +0 -6
  1977. package/dist/plugin-sdk/src/media-understanding/format.d.ts +0 -7
  1978. package/dist/plugin-sdk/src/media-understanding/fs.d.ts +0 -1
  1979. package/dist/plugin-sdk/src/media-understanding/output-extract.d.ts +0 -2
  1980. package/dist/plugin-sdk/src/media-understanding/providers/anthropic/index.d.ts +0 -2
  1981. package/dist/plugin-sdk/src/media-understanding/providers/deepgram/audio.d.ts +0 -4
  1982. package/dist/plugin-sdk/src/media-understanding/providers/deepgram/index.d.ts +0 -2
  1983. package/dist/plugin-sdk/src/media-understanding/providers/google/audio.d.ts +0 -3
  1984. package/dist/plugin-sdk/src/media-understanding/providers/google/index.d.ts +0 -2
  1985. package/dist/plugin-sdk/src/media-understanding/providers/google/inline-data.d.ts +0 -20
  1986. package/dist/plugin-sdk/src/media-understanding/providers/google/video.d.ts +0 -3
  1987. package/dist/plugin-sdk/src/media-understanding/providers/groq/index.d.ts +0 -2
  1988. package/dist/plugin-sdk/src/media-understanding/providers/image.d.ts +0 -2
  1989. package/dist/plugin-sdk/src/media-understanding/providers/index.d.ts +0 -4
  1990. package/dist/plugin-sdk/src/media-understanding/providers/minimax/index.d.ts +0 -2
  1991. package/dist/plugin-sdk/src/media-understanding/providers/mistral/index.d.ts +0 -2
  1992. package/dist/plugin-sdk/src/media-understanding/providers/moonshot/index.d.ts +0 -2
  1993. package/dist/plugin-sdk/src/media-understanding/providers/moonshot/video.d.ts +0 -3
  1994. package/dist/plugin-sdk/src/media-understanding/providers/openai/audio.d.ts +0 -3
  1995. package/dist/plugin-sdk/src/media-understanding/providers/openai/index.d.ts +0 -3
  1996. package/dist/plugin-sdk/src/media-understanding/providers/shared.d.ts +0 -20
  1997. package/dist/plugin-sdk/src/media-understanding/providers/zai/index.d.ts +0 -2
  1998. package/dist/plugin-sdk/src/media-understanding/resolve.d.ts +0 -44
  1999. package/dist/plugin-sdk/src/media-understanding/runner.d.ts +0 -39
  2000. package/dist/plugin-sdk/src/media-understanding/runner.entries.d.ts +0 -33
  2001. package/dist/plugin-sdk/src/media-understanding/scope.d.ts +0 -9
  2002. package/dist/plugin-sdk/src/media-understanding/types.d.ts +0 -93
  2003. package/dist/plugin-sdk/src/media-understanding/video.d.ts +0 -2
  2004. package/dist/plugin-sdk/src/memory/backend-config.d.ts +0 -55
  2005. package/dist/plugin-sdk/src/memory/batch-error-utils.d.ts +0 -15
  2006. package/dist/plugin-sdk/src/memory/batch-gemini.d.ts +0 -51
  2007. package/dist/plugin-sdk/src/memory/batch-http.d.ts +0 -8
  2008. package/dist/plugin-sdk/src/memory/batch-openai.d.ts +0 -20
  2009. package/dist/plugin-sdk/src/memory/batch-output.d.ts +0 -23
  2010. package/dist/plugin-sdk/src/memory/batch-provider-common.d.ts +0 -9
  2011. package/dist/plugin-sdk/src/memory/batch-runner.d.ts +0 -38
  2012. package/dist/plugin-sdk/src/memory/batch-upload.d.ts +0 -6
  2013. package/dist/plugin-sdk/src/memory/batch-utils.d.ts +0 -11
  2014. package/dist/plugin-sdk/src/memory/batch-voyage.d.ts +0 -21
  2015. package/dist/plugin-sdk/src/memory/embedding-chunk-limits.d.ts +0 -3
  2016. package/dist/plugin-sdk/src/memory/embedding-input-limits.d.ts +0 -2
  2017. package/dist/plugin-sdk/src/memory/embedding-model-limits.d.ts +0 -2
  2018. package/dist/plugin-sdk/src/memory/embeddings-debug.d.ts +0 -1
  2019. package/dist/plugin-sdk/src/memory/embeddings-gemini.d.ts +0 -16
  2020. package/dist/plugin-sdk/src/memory/embeddings-mistral.d.ts +0 -15
  2021. package/dist/plugin-sdk/src/memory/embeddings-openai.d.ts +0 -15
  2022. package/dist/plugin-sdk/src/memory/embeddings-remote-client.d.ts +0 -12
  2023. package/dist/plugin-sdk/src/memory/embeddings-remote-fetch.d.ts +0 -8
  2024. package/dist/plugin-sdk/src/memory/embeddings-remote-provider.d.ts +0 -21
  2025. package/dist/plugin-sdk/src/memory/embeddings-voyage.d.ts +0 -15
  2026. package/dist/plugin-sdk/src/memory/embeddings.d.ts +0 -48
  2027. package/dist/plugin-sdk/src/memory/filesystem-manager.d.ts +0 -38
  2028. package/dist/plugin-sdk/src/memory/fs-utils.d.ts +0 -11
  2029. package/dist/plugin-sdk/src/memory/hybrid.d.ts +0 -45
  2030. package/dist/plugin-sdk/src/memory/index.d.ts +0 -4
  2031. package/dist/plugin-sdk/src/memory/internal.d.ts +0 -38
  2032. package/dist/plugin-sdk/src/memory/inventory.d.ts +0 -150
  2033. package/dist/plugin-sdk/src/memory/manager-embedding-ops.d.ts +0 -42
  2034. package/dist/plugin-sdk/src/memory/manager-search.d.ts +0 -60
  2035. package/dist/plugin-sdk/src/memory/manager-sync-ops.d.ts +0 -137
  2036. package/dist/plugin-sdk/src/memory/manager.d.ts +0 -111
  2037. package/dist/plugin-sdk/src/memory/memory-schema.d.ts +0 -10
  2038. package/dist/plugin-sdk/src/memory/mmr.d.ts +0 -62
  2039. package/dist/plugin-sdk/src/memory/node-llama.d.ts +0 -8
  2040. package/dist/plugin-sdk/src/memory/post-json.d.ts +0 -10
  2041. package/dist/plugin-sdk/src/memory/qmd-manager.d.ts +0 -134
  2042. package/dist/plugin-sdk/src/memory/qmd-query-parser.d.ts +0 -9
  2043. package/dist/plugin-sdk/src/memory/qmd-scope.d.ts +0 -5
  2044. package/dist/plugin-sdk/src/memory/query-expansion.d.ts +0 -40
  2045. package/dist/plugin-sdk/src/memory/remote-http.d.ts +0 -9
  2046. package/dist/plugin-sdk/src/memory/repair-audit-plan.d.ts +0 -68
  2047. package/dist/plugin-sdk/src/memory/repair-cli-preview-contract.d.ts +0 -22
  2048. package/dist/plugin-sdk/src/memory/repair-contracts.d.ts +0 -80
  2049. package/dist/plugin-sdk/src/memory/repair-dashboard-preview-contract.d.ts +0 -65
  2050. package/dist/plugin-sdk/src/memory/repair-execution-policy.d.ts +0 -36
  2051. package/dist/plugin-sdk/src/memory/repair-execution-request-contract.d.ts +0 -43
  2052. package/dist/plugin-sdk/src/memory/repair-executor-fs-safety-contract.d.ts +0 -33
  2053. package/dist/plugin-sdk/src/memory/repair-executor-gate.d.ts +0 -27
  2054. package/dist/plugin-sdk/src/memory/repair-executor-lock-contract.d.ts +0 -40
  2055. package/dist/plugin-sdk/src/memory/repair-executor-result-contract.d.ts +0 -72
  2056. package/dist/plugin-sdk/src/memory/repair-executor.d.ts +0 -60
  2057. package/dist/plugin-sdk/src/memory/repair-preflight-cli-preview-contract.d.ts +0 -15
  2058. package/dist/plugin-sdk/src/memory/repair-preflight-dashboard-preview-contract.d.ts +0 -50
  2059. package/dist/plugin-sdk/src/memory/repair-preflight-pipeline-contract.d.ts +0 -35
  2060. package/dist/plugin-sdk/src/memory/search-manager.d.ts +0 -11
  2061. package/dist/plugin-sdk/src/memory/session-files.d.ts +0 -14
  2062. package/dist/plugin-sdk/src/memory/sqlite-vec.d.ts +0 -9
  2063. package/dist/plugin-sdk/src/memory/sqlite.d.ts +0 -1
  2064. package/dist/plugin-sdk/src/memory/status-format.d.ts +0 -28
  2065. package/dist/plugin-sdk/src/memory/temporal-decay.d.ts +0 -25
  2066. package/dist/plugin-sdk/src/memory/types.d.ts +0 -94
  2067. package/dist/plugin-sdk/src/mining/chat-command.d.ts +0 -19
  2068. package/dist/plugin-sdk/src/mining/mainnet-sync.d.ts +0 -32
  2069. package/dist/plugin-sdk/src/pairing/pairing-challenge.d.ts +0 -32
  2070. package/dist/plugin-sdk/src/pairing/pairing-labels.d.ts +0 -2
  2071. package/dist/plugin-sdk/src/pairing/pairing-messages.d.ts +0 -6
  2072. package/dist/plugin-sdk/src/pairing/pairing-store.d.ts +0 -50
  2073. package/dist/plugin-sdk/src/plugin-sdk/account-id.d.ts +0 -1
  2074. package/dist/plugin-sdk/src/plugin-sdk/agent-media-payload.d.ts +0 -12
  2075. package/dist/plugin-sdk/src/plugin-sdk/allow-from.d.ts +0 -32
  2076. package/dist/plugin-sdk/src/plugin-sdk/channel-core.d.ts +0 -18
  2077. package/dist/plugin-sdk/src/plugin-sdk/command-auth.d.ts +0 -27
  2078. package/dist/plugin-sdk/src/plugin-sdk/config-paths.d.ts +0 -6
  2079. package/dist/plugin-sdk/src/plugin-sdk/device-pair.d.ts +0 -5
  2080. package/dist/plugin-sdk/src/plugin-sdk/discord.d.ts +0 -10
  2081. package/dist/plugin-sdk/src/plugin-sdk/fetch-auth.d.ts +0 -13
  2082. package/dist/plugin-sdk/src/plugin-sdk/file-lock.d.ts +0 -16
  2083. package/dist/plugin-sdk/src/plugin-sdk/group-access.d.ts +0 -16
  2084. package/dist/plugin-sdk/src/plugin-sdk/image-generation.d.ts +0 -2
  2085. package/dist/plugin-sdk/src/plugin-sdk/index.d.ts +0 -163
  2086. package/dist/plugin-sdk/src/plugin-sdk/json-store.d.ts +0 -5
  2087. package/dist/plugin-sdk/src/plugin-sdk/onboarding.d.ts +0 -11
  2088. package/dist/plugin-sdk/src/plugin-sdk/pairing-access.d.ts +0 -18
  2089. package/dist/plugin-sdk/src/plugin-sdk/persistent-dedupe.d.ts +0 -20
  2090. package/dist/plugin-sdk/src/plugin-sdk/provider-auth-result.d.ts +0 -14
  2091. package/dist/plugin-sdk/src/plugin-sdk/realtime-transcription.d.ts +0 -3
  2092. package/dist/plugin-sdk/src/plugin-sdk/realtime-voice.d.ts +0 -3
  2093. package/dist/plugin-sdk/src/plugin-sdk/reply-payload.d.ts +0 -22
  2094. package/dist/plugin-sdk/src/plugin-sdk/run-command.d.ts +0 -12
  2095. package/dist/plugin-sdk/src/plugin-sdk/runtime.d.ts +0 -10
  2096. package/dist/plugin-sdk/src/plugin-sdk/sat-runtime.d.ts +0 -32
  2097. package/dist/plugin-sdk/src/plugin-sdk/slack-message-actions.d.ts +0 -11
  2098. package/dist/plugin-sdk/src/plugin-sdk/slack.d.ts +0 -9
  2099. package/dist/plugin-sdk/src/plugin-sdk/ssrf-policy.d.ts +0 -12
  2100. package/dist/plugin-sdk/src/plugin-sdk/status-helpers.d.ts +0 -88
  2101. package/dist/plugin-sdk/src/plugin-sdk/telegram.d.ts +0 -9
  2102. package/dist/plugin-sdk/src/plugin-sdk/temp-path.d.ts +0 -12
  2103. package/dist/plugin-sdk/src/plugin-sdk/text-chunking.d.ts +0 -1
  2104. package/dist/plugin-sdk/src/plugin-sdk/tool-send.d.ts +0 -4
  2105. package/dist/plugin-sdk/src/plugin-sdk/video-generation.d.ts +0 -4
  2106. package/dist/plugin-sdk/src/plugin-sdk/webhook-path.d.ts +0 -6
  2107. package/dist/plugin-sdk/src/plugin-sdk/webhook-targets.d.ts +0 -23
  2108. package/dist/plugin-sdk/src/plugin-sdk/whatsapp.d.ts +0 -11
  2109. package/dist/plugin-sdk/src/plugins/bundled-dir.d.ts +0 -7
  2110. package/dist/plugin-sdk/src/plugins/capability-provider-runtime.d.ts +0 -9
  2111. package/dist/plugin-sdk/src/plugins/commands.d.ts +0 -85
  2112. package/dist/plugin-sdk/src/plugins/config-schema.d.ts +0 -2
  2113. package/dist/plugin-sdk/src/plugins/config-state.d.ts +0 -86
  2114. package/dist/plugin-sdk/src/plugins/discovery.d.ts +0 -25
  2115. package/dist/plugin-sdk/src/plugins/hook-runner-global.d.ts +0 -37
  2116. package/dist/plugin-sdk/src/plugins/hooks.d.ts +0 -55
  2117. package/dist/plugin-sdk/src/plugins/http-path.d.ts +0 -1
  2118. package/dist/plugin-sdk/src/plugins/http-registry.d.ts +0 -13
  2119. package/dist/plugin-sdk/src/plugins/install.d.ts +0 -93
  2120. package/dist/plugin-sdk/src/plugins/loader.d.ts +0 -35
  2121. package/dist/plugin-sdk/src/plugins/logger.d.ts +0 -9
  2122. package/dist/plugin-sdk/src/plugins/manifest-registry.d.ts +0 -53
  2123. package/dist/plugin-sdk/src/plugins/manifest.d.ts +0 -136
  2124. package/dist/plugin-sdk/src/plugins/memory-embedding-providers.d.ts +0 -15
  2125. package/dist/plugin-sdk/src/plugins/min-host-version.d.ts +0 -28
  2126. package/dist/plugin-sdk/src/plugins/package-extensions.d.ts +0 -23
  2127. package/dist/plugin-sdk/src/plugins/path-safety.d.ts +0 -5
  2128. package/dist/plugin-sdk/src/plugins/provider-discovery.d.ts +0 -13
  2129. package/dist/plugin-sdk/src/plugins/provider-runtime.runtime.d.ts +0 -8
  2130. package/dist/plugin-sdk/src/plugins/providers.d.ts +0 -28
  2131. package/dist/plugin-sdk/src/plugins/registry.d.ts +0 -171
  2132. package/dist/plugin-sdk/src/plugins/runtime/admin-rpc-helper.d.ts +0 -71
  2133. package/dist/plugin-sdk/src/plugins/runtime/index.d.ts +0 -4
  2134. package/dist/plugin-sdk/src/plugins/runtime/native-deps.d.ts +0 -8
  2135. package/dist/plugin-sdk/src/plugins/runtime/scoped.d.ts +0 -6
  2136. package/dist/plugin-sdk/src/plugins/runtime/session-read-helper.d.ts +0 -115
  2137. package/dist/plugin-sdk/src/plugins/runtime/types.d.ts +0 -370
  2138. package/dist/plugin-sdk/src/plugins/runtime.d.ts +0 -6
  2139. package/dist/plugin-sdk/src/plugins/schema-validator.d.ts +0 -10
  2140. package/dist/plugin-sdk/src/plugins/slots.d.ts +0 -24
  2141. package/dist/plugin-sdk/src/plugins/tools.d.ts +0 -14
  2142. package/dist/plugin-sdk/src/plugins/types.d.ts +0 -684
  2143. package/dist/plugin-sdk/src/plugins/uninstall.d.ts +0 -45
  2144. package/dist/plugin-sdk/src/polls.d.ts +0 -31
  2145. package/dist/plugin-sdk/src/process/command-queue.d.ts +0 -63
  2146. package/dist/plugin-sdk/src/process/exec.d.ts +0 -31
  2147. package/dist/plugin-sdk/src/process/kill-tree.d.ts +0 -12
  2148. package/dist/plugin-sdk/src/process/lanes.d.ts +0 -6
  2149. package/dist/plugin-sdk/src/process/spawn-utils.d.ts +0 -26
  2150. package/dist/plugin-sdk/src/process/supervisor/adapters/child.d.ts +0 -10
  2151. package/dist/plugin-sdk/src/process/supervisor/adapters/env.d.ts +0 -1
  2152. package/dist/plugin-sdk/src/process/supervisor/adapters/pty.d.ts +0 -11
  2153. package/dist/plugin-sdk/src/process/supervisor/index.d.ts +0 -4
  2154. package/dist/plugin-sdk/src/process/supervisor/registry.d.ts +0 -21
  2155. package/dist/plugin-sdk/src/process/supervisor/supervisor.d.ts +0 -2
  2156. package/dist/plugin-sdk/src/process/supervisor/types.d.ts +0 -92
  2157. package/dist/plugin-sdk/src/project.d.ts +0 -3
  2158. package/dist/plugin-sdk/src/providers/cloudflare-ai-gateway-shared.d.ts +0 -84
  2159. package/dist/plugin-sdk/src/providers/github-copilot-models.d.ts +0 -5
  2160. package/dist/plugin-sdk/src/providers/github-copilot-token.d.ts +0 -22
  2161. package/dist/plugin-sdk/src/providers/health.d.ts +0 -15
  2162. package/dist/plugin-sdk/src/providers/huggingface-models.d.ts +0 -47
  2163. package/dist/plugin-sdk/src/providers/litellm-models.d.ts +0 -30
  2164. package/dist/plugin-sdk/src/providers/opencode-zen-shared.d.ts +0 -7
  2165. package/dist/plugin-sdk/src/providers/refreshed-model-capabilities.d.ts +0 -14
  2166. package/dist/plugin-sdk/src/providers/registry.d.ts +0 -204
  2167. package/dist/plugin-sdk/src/providers/synthetic-models.d.ts +0 -31
  2168. package/dist/plugin-sdk/src/providers/together-models.d.ts +0 -38
  2169. package/dist/plugin-sdk/src/providers/venice-models.d.ts +0 -175
  2170. package/dist/plugin-sdk/src/providers/vercel-ai-gateway-models.d.ts +0 -113
  2171. package/dist/plugin-sdk/src/providers/xiaomi-models.d.ts +0 -21
  2172. package/dist/plugin-sdk/src/realtime-transcription/provider-registry.d.ts +0 -7
  2173. package/dist/plugin-sdk/src/realtime-transcription/provider-types.d.ts +0 -26
  2174. package/dist/plugin-sdk/src/realtime-voice/provider-registry.d.ts +0 -7
  2175. package/dist/plugin-sdk/src/realtime-voice/provider-types.d.ts +0 -55
  2176. package/dist/plugin-sdk/src/routing/account-id.d.ts +0 -3
  2177. package/dist/plugin-sdk/src/routing/account-lookup.d.ts +0 -1
  2178. package/dist/plugin-sdk/src/routing/bindings.d.ts +0 -11
  2179. package/dist/plugin-sdk/src/routing/resolve-route.d.ts +0 -42
  2180. package/dist/plugin-sdk/src/routing/session-key.d.ts +0 -48
  2181. package/dist/plugin-sdk/src/runtime.d.ts +0 -7
  2182. package/dist/plugin-sdk/src/secrets/json-pointer.d.ts +0 -6
  2183. package/dist/plugin-sdk/src/secrets/ref-contract.d.ts +0 -19
  2184. package/dist/plugin-sdk/src/secrets/resolve.d.ts +0 -15
  2185. package/dist/plugin-sdk/src/secrets/runtime-web-tools.types.d.ts +0 -26
  2186. package/dist/plugin-sdk/src/secrets/shared.d.ts +0 -7
  2187. package/dist/plugin-sdk/src/security/audit-channel.d.ts +0 -7
  2188. package/dist/plugin-sdk/src/security/audit-extra.async.d.ts +0 -47
  2189. package/dist/plugin-sdk/src/security/audit-extra.d.ts +0 -10
  2190. package/dist/plugin-sdk/src/security/audit-extra.sync.d.ts +0 -25
  2191. package/dist/plugin-sdk/src/security/audit-fs.d.ts +0 -44
  2192. package/dist/plugin-sdk/src/security/audit-tool-policy.d.ts +0 -1
  2193. package/dist/plugin-sdk/src/security/audit.d.ts +0 -57
  2194. package/dist/plugin-sdk/src/security/channel-metadata.d.ts +0 -6
  2195. package/dist/plugin-sdk/src/security/dangerous-config-flags.d.ts +0 -2
  2196. package/dist/plugin-sdk/src/security/dangerous-tools.d.ts +0 -12
  2197. package/dist/plugin-sdk/src/security/dm-policy-shared.d.ts +0 -93
  2198. package/dist/plugin-sdk/src/security/external-content.d.ts +0 -58
  2199. package/dist/plugin-sdk/src/security/mutable-allowlist-detectors.d.ts +0 -6
  2200. package/dist/plugin-sdk/src/security/safe-regex.d.ts +0 -2
  2201. package/dist/plugin-sdk/src/security/scan-paths.d.ts +0 -5
  2202. package/dist/plugin-sdk/src/security/secret-equal.d.ts +0 -1
  2203. package/dist/plugin-sdk/src/security/skill-scanner.d.ts +0 -25
  2204. package/dist/plugin-sdk/src/security/windows-acl.d.ts +0 -37
  2205. package/dist/plugin-sdk/src/sessions/input-provenance.d.ts +0 -16
  2206. package/dist/plugin-sdk/src/sessions/level-overrides.d.ts +0 -10
  2207. package/dist/plugin-sdk/src/sessions/model-overrides.d.ts +0 -16
  2208. package/dist/plugin-sdk/src/sessions/send-policy.d.ts +0 -11
  2209. package/dist/plugin-sdk/src/sessions/session-key-utils.d.ts +0 -20
  2210. package/dist/plugin-sdk/src/sessions/session-label.d.ts +0 -9
  2211. package/dist/plugin-sdk/src/sessions/transcript-events.d.ts +0 -9
  2212. package/dist/plugin-sdk/src/shared/avatar-policy.d.ts +0 -16
  2213. package/dist/plugin-sdk/src/shared/chat-content.d.ts +0 -5
  2214. package/dist/plugin-sdk/src/shared/chat-envelope.d.ts +0 -2
  2215. package/dist/plugin-sdk/src/shared/config-eval.d.ts +0 -27
  2216. package/dist/plugin-sdk/src/shared/device-auth.d.ts +0 -13
  2217. package/dist/plugin-sdk/src/shared/entry-metadata.d.ts +0 -15
  2218. package/dist/plugin-sdk/src/shared/entry-status.d.ts +0 -47
  2219. package/dist/plugin-sdk/src/shared/frontmatter.d.ts +0 -24
  2220. package/dist/plugin-sdk/src/shared/gateway-bind-url.d.ts +0 -14
  2221. package/dist/plugin-sdk/src/shared/gateway-method-policy.d.ts +0 -8
  2222. package/dist/plugin-sdk/src/shared/model-param-b.d.ts +0 -1
  2223. package/dist/plugin-sdk/src/shared/model-thinking.d.ts +0 -31
  2224. package/dist/plugin-sdk/src/shared/net/ip.d.ts +0 -20
  2225. package/dist/plugin-sdk/src/shared/net/redact-sensitive-url.d.ts +0 -2
  2226. package/dist/plugin-sdk/src/shared/node-list-parse.d.ts +0 -3
  2227. package/dist/plugin-sdk/src/shared/node-list-types.d.ts +0 -48
  2228. package/dist/plugin-sdk/src/shared/node-match.d.ts +0 -9
  2229. package/dist/plugin-sdk/src/shared/operator-scope-compat.d.ts +0 -5
  2230. package/dist/plugin-sdk/src/shared/pid-alive.d.ts +0 -1
  2231. package/dist/plugin-sdk/src/shared/process-scoped-map.d.ts +0 -1
  2232. package/dist/plugin-sdk/src/shared/requirements.d.ts +0 -80
  2233. package/dist/plugin-sdk/src/shared/string-normalization.d.ts +0 -4
  2234. package/dist/plugin-sdk/src/shared/subagents-format.d.ts +0 -15
  2235. package/dist/plugin-sdk/src/shared/tailscale-status.d.ts +0 -8
  2236. package/dist/plugin-sdk/src/shared/text/code-regions.d.ts +0 -6
  2237. package/dist/plugin-sdk/src/shared/text/reasoning-tags.d.ts +0 -6
  2238. package/dist/plugin-sdk/src/shared/text-chunking.d.ts +0 -1
  2239. package/dist/plugin-sdk/src/signal/accounts.d.ts +0 -17
  2240. package/dist/plugin-sdk/src/signal/client.d.ts +0 -32
  2241. package/dist/plugin-sdk/src/signal/daemon.d.ts +0 -26
  2242. package/dist/plugin-sdk/src/signal/format.d.ts +0 -17
  2243. package/dist/plugin-sdk/src/signal/identity.d.ts +0 -24
  2244. package/dist/plugin-sdk/src/signal/index.d.ts +0 -5
  2245. package/dist/plugin-sdk/src/signal/monitor/access-policy.d.ts +0 -40
  2246. package/dist/plugin-sdk/src/signal/monitor/event-handler.d.ts +0 -5
  2247. package/dist/plugin-sdk/src/signal/monitor/event-handler.types.d.ts +0 -125
  2248. package/dist/plugin-sdk/src/signal/monitor/mentions.d.ts +0 -2
  2249. package/dist/plugin-sdk/src/signal/monitor.d.ts +0 -25
  2250. package/dist/plugin-sdk/src/signal/probe.d.ts +0 -7
  2251. package/dist/plugin-sdk/src/signal/reaction-level.d.ts +0 -17
  2252. package/dist/plugin-sdk/src/signal/rpc-context.d.ts +0 -9
  2253. package/dist/plugin-sdk/src/signal/send-reactions.d.ts +0 -32
  2254. package/dist/plugin-sdk/src/signal/send.d.ts +0 -25
  2255. package/dist/plugin-sdk/src/signal/sse-reconnect.d.ts +0 -13
  2256. package/dist/plugin-sdk/src/slack/accounts.d.ts +0 -32
  2257. package/dist/plugin-sdk/src/slack/actions.d.ts +0 -56
  2258. package/dist/plugin-sdk/src/slack/blocks-fallback.d.ts +0 -2
  2259. package/dist/plugin-sdk/src/slack/blocks-input.d.ts +0 -3
  2260. package/dist/plugin-sdk/src/slack/channel-migration.d.ts +0 -20
  2261. package/dist/plugin-sdk/src/slack/client.d.ts +0 -4
  2262. package/dist/plugin-sdk/src/slack/directory-live.d.ts +0 -4
  2263. package/dist/plugin-sdk/src/slack/draft-stream.d.ts +0 -25
  2264. package/dist/plugin-sdk/src/slack/format.d.ts +0 -7
  2265. package/dist/plugin-sdk/src/slack/http/index.d.ts +0 -1
  2266. package/dist/plugin-sdk/src/slack/http/registry.d.ts +0 -12
  2267. package/dist/plugin-sdk/src/slack/index.d.ts +0 -6
  2268. package/dist/plugin-sdk/src/slack/message-actions.d.ts +0 -4
  2269. package/dist/plugin-sdk/src/slack/modal-metadata.d.ts +0 -8
  2270. package/dist/plugin-sdk/src/slack/monitor/allow-list.d.ts +0 -23
  2271. package/dist/plugin-sdk/src/slack/monitor/auth.d.ts +0 -26
  2272. package/dist/plugin-sdk/src/slack/monitor/channel-config.d.ts +0 -43
  2273. package/dist/plugin-sdk/src/slack/monitor/commands.d.ts +0 -9
  2274. package/dist/plugin-sdk/src/slack/monitor/context.d.ts +0 -104
  2275. package/dist/plugin-sdk/src/slack/monitor/dm-auth.d.ts +0 -17
  2276. package/dist/plugin-sdk/src/slack/monitor/events/channels.d.ts +0 -4
  2277. package/dist/plugin-sdk/src/slack/monitor/events/interactions.d.ts +0 -4
  2278. package/dist/plugin-sdk/src/slack/monitor/events/members.d.ts +0 -4
  2279. package/dist/plugin-sdk/src/slack/monitor/events/messages.d.ts +0 -6
  2280. package/dist/plugin-sdk/src/slack/monitor/events/pins.d.ts +0 -4
  2281. package/dist/plugin-sdk/src/slack/monitor/events/reactions.d.ts +0 -4
  2282. package/dist/plugin-sdk/src/slack/monitor/events/system-event-context.d.ts +0 -12
  2283. package/dist/plugin-sdk/src/slack/monitor/events.d.ts +0 -8
  2284. package/dist/plugin-sdk/src/slack/monitor/external-arg-menu-store.d.ts +0 -18
  2285. package/dist/plugin-sdk/src/slack/monitor/media.d.ts +0 -66
  2286. package/dist/plugin-sdk/src/slack/monitor/message-handler/dispatch.d.ts +0 -12
  2287. package/dist/plugin-sdk/src/slack/monitor/message-handler/prepare.d.ts +0 -13
  2288. package/dist/plugin-sdk/src/slack/monitor/message-handler/types.d.ts +0 -22
  2289. package/dist/plugin-sdk/src/slack/monitor/message-handler.d.ts +0 -11
  2290. package/dist/plugin-sdk/src/slack/monitor/mrkdwn.d.ts +0 -1
  2291. package/dist/plugin-sdk/src/slack/monitor/policy.d.ts +0 -5
  2292. package/dist/plugin-sdk/src/slack/monitor/provider.d.ts +0 -7
  2293. package/dist/plugin-sdk/src/slack/monitor/replies.d.ts +0 -54
  2294. package/dist/plugin-sdk/src/slack/monitor/room-context.d.ts +0 -14
  2295. package/dist/plugin-sdk/src/slack/monitor/slash.d.ts +0 -6
  2296. package/dist/plugin-sdk/src/slack/monitor/thread-resolution.d.ts +0 -12
  2297. package/dist/plugin-sdk/src/slack/monitor/types.d.ts +0 -109
  2298. package/dist/plugin-sdk/src/slack/monitor.d.ts +0 -5
  2299. package/dist/plugin-sdk/src/slack/probe.d.ts +0 -14
  2300. package/dist/plugin-sdk/src/slack/resolve-channels.d.ts +0 -19
  2301. package/dist/plugin-sdk/src/slack/resolve-users.d.ts +0 -26
  2302. package/dist/plugin-sdk/src/slack/send.d.ts +0 -22
  2303. package/dist/plugin-sdk/src/slack/stream-mode.d.ts +0 -23
  2304. package/dist/plugin-sdk/src/slack/streaming.d.ts +0 -72
  2305. package/dist/plugin-sdk/src/slack/targets.d.ts +0 -7
  2306. package/dist/plugin-sdk/src/slack/threading-tool-context.d.ts +0 -10
  2307. package/dist/plugin-sdk/src/slack/threading.d.ts +0 -29
  2308. package/dist/plugin-sdk/src/slack/token.d.ts +0 -3
  2309. package/dist/plugin-sdk/src/slack/types.d.ts +0 -58
  2310. package/dist/plugin-sdk/src/tasks/channel-task-ledger.d.ts +0 -9
  2311. package/dist/plugin-sdk/src/tasks/task-executor.d.ts +0 -86
  2312. package/dist/plugin-sdk/src/tasks/task-owner-access.d.ts +0 -12
  2313. package/dist/plugin-sdk/src/tasks/task-registry.d.ts +0 -35
  2314. package/dist/plugin-sdk/src/tasks/task-registry.types.d.ts +0 -114
  2315. package/dist/plugin-sdk/src/tasks/task-status.d.ts +0 -11
  2316. package/dist/plugin-sdk/src/telegram/accounts.d.ts +0 -21
  2317. package/dist/plugin-sdk/src/telegram/allowed-updates.d.ts +0 -4
  2318. package/dist/plugin-sdk/src/telegram/api-logging.d.ts +0 -11
  2319. package/dist/plugin-sdk/src/telegram/audit.d.ts +0 -29
  2320. package/dist/plugin-sdk/src/telegram/bot/delivery.d.ts +0 -35
  2321. package/dist/plugin-sdk/src/telegram/bot/helpers.d.ts +0 -127
  2322. package/dist/plugin-sdk/src/telegram/bot/types.d.ts +0 -28
  2323. package/dist/plugin-sdk/src/telegram/bot-access.d.ts +0 -26
  2324. package/dist/plugin-sdk/src/telegram/bot-handlers.d.ts +0 -2
  2325. package/dist/plugin-sdk/src/telegram/bot-message-context.d.ts +0 -149
  2326. package/dist/plugin-sdk/src/telegram/bot-message-dispatch.d.ts +0 -29
  2327. package/dist/plugin-sdk/src/telegram/bot-message.d.ts +0 -20
  2328. package/dist/plugin-sdk/src/telegram/bot-native-command-menu.d.ts +0 -33
  2329. package/dist/plugin-sdk/src/telegram/bot-native-commands.d.ts +0 -58
  2330. package/dist/plugin-sdk/src/telegram/bot-updates.d.ts +0 -31
  2331. package/dist/plugin-sdk/src/telegram/bot.d.ts +0 -62
  2332. package/dist/plugin-sdk/src/telegram/button-types.d.ts +0 -7
  2333. package/dist/plugin-sdk/src/telegram/caption.d.ts +0 -5
  2334. package/dist/plugin-sdk/src/telegram/dm-access.d.ts +0 -18
  2335. package/dist/plugin-sdk/src/telegram/draft-stream.d.ts +0 -37
  2336. package/dist/plugin-sdk/src/telegram/fetch.d.ts +0 -5
  2337. package/dist/plugin-sdk/src/telegram/format.d.ts +0 -18
  2338. package/dist/plugin-sdk/src/telegram/group-access.d.ts +0 -54
  2339. package/dist/plugin-sdk/src/telegram/group-config-helpers.d.ts +0 -8
  2340. package/dist/plugin-sdk/src/telegram/group-migration.d.ts +0 -20
  2341. package/dist/plugin-sdk/src/telegram/inline-buttons.d.ts +0 -11
  2342. package/dist/plugin-sdk/src/telegram/lane-delivery.d.ts +0 -56
  2343. package/dist/plugin-sdk/src/telegram/model-buttons.d.ts +0 -63
  2344. package/dist/plugin-sdk/src/telegram/monitor.d.ts +0 -19
  2345. package/dist/plugin-sdk/src/telegram/network-config.d.ts +0 -33
  2346. package/dist/plugin-sdk/src/telegram/network-errors.d.ts +0 -5
  2347. package/dist/plugin-sdk/src/telegram/outbound-params.d.ts +0 -2
  2348. package/dist/plugin-sdk/src/telegram/probe.d.ts +0 -17
  2349. package/dist/plugin-sdk/src/telegram/proxy.d.ts +0 -1
  2350. package/dist/plugin-sdk/src/telegram/reaction-level.d.ts +0 -11
  2351. package/dist/plugin-sdk/src/telegram/reasoning-lane-coordinator.d.ts +0 -18
  2352. package/dist/plugin-sdk/src/telegram/send.d.ts +0 -153
  2353. package/dist/plugin-sdk/src/telegram/sendchataction-401-backoff.d.ts +0 -28
  2354. package/dist/plugin-sdk/src/telegram/sent-message-cache.d.ts +0 -16
  2355. package/dist/plugin-sdk/src/telegram/status-reaction-variants.d.ts +0 -21
  2356. package/dist/plugin-sdk/src/telegram/sticker-cache.d.ts +0 -46
  2357. package/dist/plugin-sdk/src/telegram/target-writeback.d.ts +0 -7
  2358. package/dist/plugin-sdk/src/telegram/targets.d.ts +0 -11
  2359. package/dist/plugin-sdk/src/telegram/token.d.ts +0 -13
  2360. package/dist/plugin-sdk/src/telegram/update-offset-store.d.ts +0 -15
  2361. package/dist/plugin-sdk/src/telegram/voice.d.ts +0 -16
  2362. package/dist/plugin-sdk/src/telegram/webhook.d.ts +0 -20
  2363. package/dist/plugin-sdk/src/terminal/ansi.d.ts +0 -2
  2364. package/dist/plugin-sdk/src/terminal/health-style.d.ts +0 -1
  2365. package/dist/plugin-sdk/src/terminal/links.d.ts +0 -6
  2366. package/dist/plugin-sdk/src/terminal/palette.d.ts +0 -10
  2367. package/dist/plugin-sdk/src/terminal/progress-line.d.ts +0 -3
  2368. package/dist/plugin-sdk/src/terminal/prompt-style.d.ts +0 -6
  2369. package/dist/plugin-sdk/src/terminal/restore.d.ts +0 -17
  2370. package/dist/plugin-sdk/src/terminal/table.d.ts +0 -18
  2371. package/dist/plugin-sdk/src/terminal/theme.d.ts +0 -18
  2372. package/dist/plugin-sdk/src/tts/tts-core.d.ts +0 -52
  2373. package/dist/plugin-sdk/src/tts/tts.d.ts +0 -194
  2374. package/dist/plugin-sdk/src/utils/account-id.d.ts +0 -1
  2375. package/dist/plugin-sdk/src/utils/boolean.d.ts +0 -5
  2376. package/dist/plugin-sdk/src/utils/chunk-items.d.ts +0 -1
  2377. package/dist/plugin-sdk/src/utils/delivery-context.d.ts +0 -29
  2378. package/dist/plugin-sdk/src/utils/directive-tags.d.ts +0 -29
  2379. package/dist/plugin-sdk/src/utils/fetch-timeout.d.ts +0 -13
  2380. package/dist/plugin-sdk/src/utils/mask-api-key.d.ts +0 -1
  2381. package/dist/plugin-sdk/src/utils/message-channel.d.ts +0 -27
  2382. package/dist/plugin-sdk/src/utils/normalize-secret-input.d.ts +0 -11
  2383. package/dist/plugin-sdk/src/utils/private-network-url.d.ts +0 -1
  2384. package/dist/plugin-sdk/src/utils/provider-utils.d.ts +0 -9
  2385. package/dist/plugin-sdk/src/utils/queue-helpers.d.ts +0 -80
  2386. package/dist/plugin-sdk/src/utils/reaction-level.d.ts +0 -15
  2387. package/dist/plugin-sdk/src/utils/run-with-concurrency.d.ts +0 -11
  2388. package/dist/plugin-sdk/src/utils/safe-json.d.ts +0 -1
  2389. package/dist/plugin-sdk/src/utils/shell-argv.d.ts +0 -1
  2390. package/dist/plugin-sdk/src/utils/transcript-tools.d.ts +0 -8
  2391. package/dist/plugin-sdk/src/utils/usage-format.d.ts +0 -26
  2392. package/dist/plugin-sdk/src/utils/with-timeout.d.ts +0 -1
  2393. package/dist/plugin-sdk/src/utils.d.ts +0 -63
  2394. package/dist/plugin-sdk/src/version.d.ts +0 -8
  2395. package/dist/plugin-sdk/src/video-generation/dashscope-compatible.d.ts +0 -45
  2396. package/dist/plugin-sdk/src/video-generation/types.d.ts +0 -79
  2397. package/dist/plugin-sdk/src/wallet/chat-command.d.ts +0 -17
  2398. package/dist/plugin-sdk/src/wallet/local-socket-signer-broker.d.ts +0 -13
  2399. package/dist/plugin-sdk/src/wallet/local-socket-signer-custody.d.ts +0 -35
  2400. package/dist/plugin-sdk/src/wallet/local-socket-signer-protocol.d.ts +0 -191
  2401. package/dist/plugin-sdk/src/wallet/providers/alchemy-adapter.d.ts +0 -29
  2402. package/dist/plugin-sdk/src/wallet/providers/embedded-keystore-adapter.d.ts +0 -37
  2403. package/dist/plugin-sdk/src/wallet/providers/local-socket-signer-adapter.d.ts +0 -44
  2404. package/dist/plugin-sdk/src/wallet/providers/privy-adapter.d.ts +0 -31
  2405. package/dist/plugin-sdk/src/wallet/providers/turnkey-adapter.d.ts +0 -33
  2406. package/dist/plugin-sdk/src/wallet/solana-address.d.ts +0 -2
  2407. package/dist/plugin-sdk/src/wallet/solana-assets.d.ts +0 -80
  2408. package/dist/plugin-sdk/src/wallet/solana-bond-signing.d.ts +0 -20
  2409. package/dist/plugin-sdk/src/wallet/solana-spl-transfer.d.ts +0 -33
  2410. package/dist/plugin-sdk/src/wallet/solana-swap.d.ts +0 -93
  2411. package/dist/plugin-sdk/src/wallet/solana-token-resolver.d.ts +0 -36
  2412. package/dist/plugin-sdk/src/wallet/solana-transaction-inspection.d.ts +0 -16
  2413. package/dist/plugin-sdk/src/wallet/solana-trigger.d.ts +0 -74
  2414. package/dist/plugin-sdk/src/wallet/trade-chat-command.d.ts +0 -18
  2415. package/dist/plugin-sdk/src/wallet/wallet-agent-selection.d.ts +0 -43
  2416. package/dist/plugin-sdk/src/wallet/wallet-approval-auth.d.ts +0 -212
  2417. package/dist/plugin-sdk/src/wallet/wallet-audit-log.d.ts +0 -18
  2418. package/dist/plugin-sdk/src/wallet/wallet-canary.d.ts +0 -47
  2419. package/dist/plugin-sdk/src/wallet/wallet-custody.d.ts +0 -313
  2420. package/dist/plugin-sdk/src/wallet/wallet-inbound-events.d.ts +0 -88
  2421. package/dist/plugin-sdk/src/wallet/wallet-observability.d.ts +0 -16
  2422. package/dist/plugin-sdk/src/wallet/wallet-policy-simulation.d.ts +0 -61
  2423. package/dist/plugin-sdk/src/wallet/wallet-policy.d.ts +0 -144
  2424. package/dist/plugin-sdk/src/wallet/wallet-provider-adapter.d.ts +0 -111
  2425. package/dist/plugin-sdk/src/wallet/wallet-provider-capabilities.d.ts +0 -51
  2426. package/dist/plugin-sdk/src/wallet/wallet-provider-registry.d.ts +0 -128
  2427. package/dist/plugin-sdk/src/wallet/wallet-provider-resolver.d.ts +0 -17
  2428. package/dist/plugin-sdk/src/wallet/wallet-redaction.d.ts +0 -3
  2429. package/dist/plugin-sdk/src/wallet/wallet-runtime-config.d.ts +0 -93
  2430. package/dist/plugin-sdk/src/wallet/wallet-secrets-store.d.ts +0 -63
  2431. package/dist/plugin-sdk/src/wallet/wallet-send-approvals.d.ts +0 -165
  2432. package/dist/plugin-sdk/src/wallet/wallet-settlement-links.d.ts +0 -57
  2433. package/dist/plugin-sdk/src/wallet/wallet-status.d.ts +0 -106
  2434. package/dist/plugin-sdk/src/wallet/wallet-task-ledger.d.ts +0 -7
  2435. package/dist/plugin-sdk/src/web/accounts.d.ts +0 -39
  2436. package/dist/plugin-sdk/src/web/active-listener.d.ts +0 -26
  2437. package/dist/plugin-sdk/src/web/auth-store.d.ts +0 -26
  2438. package/dist/plugin-sdk/src/web/auto-reply/constants.d.ts +0 -1
  2439. package/dist/plugin-sdk/src/web/auto-reply/deliver-reply.d.ts +0 -19
  2440. package/dist/plugin-sdk/src/web/auto-reply/heartbeat-runner.d.ts +0 -20
  2441. package/dist/plugin-sdk/src/web/auto-reply/loggers.d.ts +0 -4
  2442. package/dist/plugin-sdk/src/web/auto-reply/mentions.d.ts +0 -19
  2443. package/dist/plugin-sdk/src/web/auto-reply/monitor/ack-reaction.d.ts +0 -13
  2444. package/dist/plugin-sdk/src/web/auto-reply/monitor/broadcast.d.ts +0 -16
  2445. package/dist/plugin-sdk/src/web/auto-reply/monitor/commands.d.ts +0 -2
  2446. package/dist/plugin-sdk/src/web/auto-reply/monitor/echo.d.ts +0 -17
  2447. package/dist/plugin-sdk/src/web/auto-reply/monitor/group-activation.d.ts +0 -9
  2448. package/dist/plugin-sdk/src/web/auto-reply/monitor/group-gating.d.ts +0 -33
  2449. package/dist/plugin-sdk/src/web/auto-reply/monitor/group-members.d.ts +0 -6
  2450. package/dist/plugin-sdk/src/web/auto-reply/monitor/last-route.d.ts +0 -15
  2451. package/dist/plugin-sdk/src/web/auto-reply/monitor/message-line.d.ts +0 -11
  2452. package/dist/plugin-sdk/src/web/auto-reply/monitor/on-message.d.ts +0 -24
  2453. package/dist/plugin-sdk/src/web/auto-reply/monitor/peer.d.ts +0 -2
  2454. package/dist/plugin-sdk/src/web/auto-reply/monitor/process-message.d.ts +0 -40
  2455. package/dist/plugin-sdk/src/web/auto-reply/monitor.d.ts +0 -5
  2456. package/dist/plugin-sdk/src/web/auto-reply/session-snapshot.d.ts +0 -17
  2457. package/dist/plugin-sdk/src/web/auto-reply/types.d.ts +0 -30
  2458. package/dist/plugin-sdk/src/web/auto-reply/util.d.ts +0 -2
  2459. package/dist/plugin-sdk/src/web/auto-reply.d.ts +0 -1
  2460. package/dist/plugin-sdk/src/web/auto-reply.impl.d.ts +0 -6
  2461. package/dist/plugin-sdk/src/web/inbound/access-control.d.ts +0 -36
  2462. package/dist/plugin-sdk/src/web/inbound/dedupe.d.ts +0 -2
  2463. package/dist/plugin-sdk/src/web/inbound/extract.d.ts +0 -13
  2464. package/dist/plugin-sdk/src/web/inbound/media.d.ts +0 -7
  2465. package/dist/plugin-sdk/src/web/inbound/monitor.d.ts +0 -30
  2466. package/dist/plugin-sdk/src/web/inbound/send-api.d.ts +0 -22
  2467. package/dist/plugin-sdk/src/web/inbound/types.d.ts +0 -41
  2468. package/dist/plugin-sdk/src/web/inbound.d.ts +0 -4
  2469. package/dist/plugin-sdk/src/web/login-qr.d.ts +0 -19
  2470. package/dist/plugin-sdk/src/web/login.d.ts +0 -3
  2471. package/dist/plugin-sdk/src/web/media.d.ts +0 -43
  2472. package/dist/plugin-sdk/src/web/outbound.d.ts +0 -25
  2473. package/dist/plugin-sdk/src/web/qr-image.d.ts +0 -4
  2474. package/dist/plugin-sdk/src/web/reconnect.d.ts +0 -12
  2475. package/dist/plugin-sdk/src/web/session.d.ts +0 -14
  2476. package/dist/plugin-sdk/src/web/vcard.d.ts +0 -6
  2477. package/dist/plugin-sdk/src/whatsapp/normalize.d.ts +0 -6
  2478. package/dist/plugin-sdk/src/whatsapp/resolve-outbound-target.d.ts +0 -12
  2479. package/dist/plugin-sdk/src/wizard/onboarding.types.d.ts +0 -31
  2480. package/dist/plugin-sdk/src/wizard/onboarding.wallet.d.ts +0 -45
  2481. package/dist/plugin-sdk/src/wizard/prompts.d.ts +0 -45
  2482. package/dist/plugin-sdk/src/wizard/session.d.ts +0 -42
  2483. package/dist/plugin-sdk/ssrf-Cce6LubA.js +0 -421
  2484. package/dist/plugin-sdk/ssrf-Cg5wg0v3.js +0 -4
  2485. package/dist/plugin-sdk/status-B2vb7zNW.js +0 -106417
  2486. package/dist/plugin-sdk/sticker-cache-C1vOWkzA.js +0 -170
  2487. package/dist/plugin-sdk/sticker-cache-CJDzqowL.js +0 -170
  2488. package/dist/plugin-sdk/subsystem-BmpnSVOu.js +0 -358
  2489. package/dist/plugin-sdk/tables-BD7H5ug-.js +0 -55
  2490. package/dist/plugin-sdk/tables-CJE8kB35.js +0 -55
  2491. package/dist/plugin-sdk/target-errors-kz4lDpCF.js +0 -26
  2492. package/dist/plugin-sdk/targets-4QTk4tTz.js +0 -45
  2493. package/dist/plugin-sdk/targets-DmSpDM4F.js +0 -45
  2494. package/dist/plugin-sdk/targets-cA134MEE.js +0 -101
  2495. package/dist/plugin-sdk/targets-t1hbjHdJ.js +0 -101
  2496. package/dist/plugin-sdk/telegram-actions-BoiC9J7L.js +0 -307
  2497. package/dist/plugin-sdk/telegram-actions-CwAsKaNz.js +0 -307
  2498. package/dist/plugin-sdk/thread-bindings.lifecycle-Djem8FWF.js +0 -737
  2499. package/dist/plugin-sdk/thread-bindings.lifecycle-gmHv3hc7.js +0 -737
  2500. package/dist/plugin-sdk/thread-bindings.state-CNT2vxm3.js +0 -643
  2501. package/dist/plugin-sdk/thread-bindings.state-D8kN2X6H.js +0 -643
  2502. package/dist/plugin-sdk/token-BWZYO8QR.js +0 -36
  2503. package/dist/plugin-sdk/tokens-BK5rrwBB.js +0 -72
  2504. package/dist/plugin-sdk/tokens-CQRTq-NN.js +0 -72
  2505. package/dist/plugin-sdk/tool-loop-detection-Ci_YYA7P.js +0 -352
  2506. package/dist/plugin-sdk/transcript-events-BJQWUdmU.js +0 -24
  2507. package/dist/plugin-sdk/ui-7sxJ-x37.js +0 -33
  2508. package/dist/plugin-sdk/ui-BQ-Vvq_c.js +0 -33
  2509. package/dist/plugin-sdk/utils-LGKVujSU.js +0 -237
  2510. package/dist/plugin-sdk/web-BjV7ROeA.js +0 -2226
  2511. package/dist/plugin-sdk/web-DjTSgU98.js +0 -2226
  2512. package/dist/plugin-sdk/whatsapp-actions-68Mfs2dJ.js +0 -123
  2513. package/dist/plugin-sdk/whatsapp-actions-DRqtzvTO.js +0 -123
  2514. package/dist/plugin-sdk/wsl-DcM2PgSS.js +0 -1016
  2515. package/dist/plugin-sdk/wsl-PXrdWitE.js +0 -1016
  2516. /package/dist/plugin-sdk/{channel-activity-Cf5sKkfd.js → channel-activity-B7MIaDei.js} +0 -0
  2517. /package/dist/plugin-sdk/{client-DWTXscox.js → client-BTUzO_8g.js} +0 -0
  2518. /package/dist/plugin-sdk/{command-poll-backoff-C2vOB38t.js → command-poll-backoff-CBq0jVRw.js} +0 -0
  2519. /package/dist/plugin-sdk/{date-time-Bo5FVB7G.js → date-time-Bbp5JvNw.js} +0 -0
  2520. /package/dist/plugin-sdk/{diagnostic-session-state-CT36_PCE.js → diagnostic-session-state-B-9PL5r7.js} +0 -0
  2521. /package/dist/plugin-sdk/{draft-stream-loop-2KC6-8CG.js → draft-stream-loop-DZ1OAyye.js} +0 -0
  2522. /package/dist/plugin-sdk/{fetch-headers-BTcaUCW6.js → fetch-headers-DvXyXtoI.js} +0 -0
  2523. /package/dist/plugin-sdk/{fetch-timeout-Dyj5Y_Ss.js → fetch-timeout-jOIu9Xud.js} +0 -0
  2524. /package/dist/plugin-sdk/{gateway-registry-CtUjFG3Q.js → gateway-registry-C-MTEdvG.js} +0 -0
  2525. /package/dist/plugin-sdk/{inbound-context-Daf9i2Me.js → inbound-context-BNCTzgjG.js} +0 -0
  2526. /package/dist/plugin-sdk/{internal-DFhCtnuk.js → internal-CC6TMTtc.js} +0 -0
  2527. /package/dist/plugin-sdk/{media-payload-CcW51vQj.js → media-payload-DpYEcV-X.js} +0 -0
  2528. /package/dist/plugin-sdk/{polls-B4cMiwMo.js → polls-Dy1NsYKT.js} +0 -0
  2529. /package/dist/plugin-sdk/{proxy-CKQOQYAl.js → proxy-R5TjOIFS.js} +0 -0
  2530. /package/dist/plugin-sdk/{qmd-scope-ubzoBMhc.js → qmd-scope-C9tRnohc.js} +0 -0
  2531. /package/dist/plugin-sdk/{redact-identifier-BAD7jXcr.js → redact-identifier-CDvAeiFm.js} +0 -0
  2532. /package/dist/plugin-sdk/{redact-sensitive-url-DK8OUExz.js → redact-sensitive-url-B0RJQqO7.js} +0 -0
  2533. /package/dist/plugin-sdk/{render-C9LkRUhd.js → render-K7NwXvVu.js} +0 -0
  2534. /package/dist/plugin-sdk/{reply-reference-DxIu2vr0.js → reply-reference-CWEIswqw.js} +0 -0
  2535. /package/dist/plugin-sdk/{secure-random-CO1VkMEt.js → secure-random-C2EhANj2.js} +0 -0
  2536. /package/dist/plugin-sdk/{target-errors-Dn4aykSV.js → target-errors-C0yNDbGS.js} +0 -0
  2537. /package/dist/plugin-sdk/{tool-loop-detection-D6OX2-I9.js → tool-loop-detection-P5u2k0_f.js} +0 -0
  2538. /package/dist/plugin-sdk/{with-timeout-DqkblR98.js → with-timeout-Dl513q34.js} +0 -0
@@ -1,3730 +0,0 @@
1
- import { lt as resolveSlackNativeStreaming, n as loadConfig, s as writeConfigFile, st as mapStreamingModeToSlackLegacyDraftStreamMode, ut as resolveSlackStreamingMode } from "./config-CgwTaper.js";
2
- import "./paths-GdhK5mV_.js";
3
- import { i as logVerbose, l as warn, p as getChildLogger, s as shouldLogVerbose, t as danger } from "./globals-BtKmaIS3.js";
4
- import "./utils-LGKVujSU.js";
5
- import { n as createNonExitingRuntime } from "./subsystem-BmpnSVOu.js";
6
- import "./agent-scope-BuTbywla.js";
7
- import "./redact-Ck-wgswc.js";
8
- import { c as normalizeMainKey, p as normalizeAccountId, u as resolveThreadSessionKeys } from "./session-key-Bp3qq3bm.js";
9
- import "./github-copilot-token-Djqpy66R.js";
10
- import "./retry-Cq65ROXv.js";
11
- import { S as updateLastRoute, W as resolveSessionKey, b as readSessionUpdatedAt } from "./registry-DNkJsNsz.js";
12
- import { n as resolveConversationLabel } from "./conversation-label-CDH4rKMG.js";
13
- import "./accounts-BJFheJNv.js";
14
- import { i as resolveSlackBotToken, r as resolveSlackAppToken, t as resolveSlackAccount } from "./accounts-BRbbLNW_.js";
15
- import "./accounts-BwkH5bTD.js";
16
- import "./tokens-BK5rrwBB.js";
17
- import { v as applyChannelMatchMeta, x as resolveChannelEntryMatchWithFallback, y as buildChannelKeyCandidates } from "./allow-list-CBtbuDI8.js";
18
- import { a as patchAllowlistUsersInConfigEntries, c as buildUntrustedChannelMetadata, i as mergeAllowlist, l as isDangerousNameMatchingEnabled, n as buildAllowlistResolutionSummary, o as summarizeMapping, s as chunkItems, t as addAllowlistUserEntriesFromConfigEntry, u as formatAllowlistMatchMeta } from "./resolve-utils-r6ef8mj8.js";
19
- import { l as resolveStorePath } from "./paths-DTurNPnO.js";
20
- import { Bt as normalizeSlackSlug, D as resolveOpenProviderRuntimeGroupPolicy, Dt as buildMentionRegexes, E as resolveDefaultGroupPolicy, F as resolveCommandAuthorizedFromAuthorizers, G as formatInboundEnvelope, Ht as resolveSlackUserAllowed, I as resolveControlCommandGate, J as createReplyDispatcherWithTyping, K as resolveEnvelopeFormatOptions, L as removeAckReactionAfterReply, Lt as allowListMatches, M as clearHistoryEntriesIfEnabled, N as recordPendingHistoryEntryIfEnabled, O as warnMissingProviderGroupPolicyFallbackOnce, Ot as matchesMentionWithExplicit, P as recordInboundSession, R as shouldAckReaction, Rt as normalizeAllowList, U as createInboundDebouncer, Vt as resolveSlackAllowListMatch, W as resolveInboundDebounceMs, X as pruneMapToMaxSize, Xt as enqueueSystemEvent, Y as createDedupeCache, b as logInboundDrop, cn as installRequestBodyLimitGuard, d as issuePairingChallenge, f as createTypingCallbacks, g as readStoreAllowFromForDmPolicy, j as buildPendingHistoryContextFromMap, k as DEFAULT_GROUP_HISTORY_LIMIT, m as resolveMentionGatingWithBypass, q as dispatchInboundMessage, st as resolveChannelConfigWrites, wt as hasControlCommand, x as logTypingFailure, y as logAckFailure, zt as normalizeAllowListLower } from "./status-B2vb7zNW.js";
21
- import "./runtime-dependency-B-1u41Ph.js";
22
- import { o as normalizeHostname } from "./ssrf-Cce6LubA.js";
23
- import "./skill-commands-hyZA0LE3.js";
24
- import "./pi-model-discovery-DadlvsZW.js";
25
- import { i as resolveAckReaction, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-Y14LY6Rn.js";
26
- import { l as fetchRemoteMedia } from "./media-C7YT4DeU.js";
27
- import "./path-alias-guards-C76pC928.js";
28
- import "./fs-safe-BDnJzutp.js";
29
- import "./diagnostic-DpyvOvs2.js";
30
- import { l as resolveTextChunkLimit } from "./chunk-KCxbJLsV.js";
31
- import "./markdown-tables-DWUNvLrc.js";
32
- import "./send-BBYcgXA4.js";
33
- import "./fetch-guard-BLdujDnt.js";
34
- import { i as saveMediaBuffer } from "./outbound-attachment-D6tj5Y5H.js";
35
- import "./fetch-xfeOsibm.js";
36
- import { t as generateSecureToken } from "./secure-random-CO1VkMEt.js";
37
- import "./common-DJWrErdE.js";
38
- import { b as resolveNativeSkillsEnabled, h as shouldHandleTextCommands, y as resolveNativeCommandsEnabled } from "./commands-registry-DoWdYAJd.js";
39
- import "./thread-bindings.state-D8kN2X6H.js";
40
- import "./memory-search-B-0Fwnrp.js";
41
- import "./manager-9see0IX5.js";
42
- import "./query-expansion-DjJAUtDU.js";
43
- import "./diagnostic-session-state-CT36_PCE.js";
44
- import { F as upsertChannelPairingRequest } from "./wsl-DcM2PgSS.js";
45
- import "./sandbox-paths-DMnFyOaA.js";
46
- import "./directory-live-8umGGN7a.js";
47
- import "./targets-t1hbjHdJ.js";
48
- import "./send-D3836_UN.js";
49
- import { n as resolveAgentRoute } from "./resolve-route-DO0WR4nB.js";
50
- import { t as finalizeInboundContext } from "./inbound-context-CeJDjLk-.js";
51
- import "./render-C9LkRUhd.js";
52
- import "./tables-BD7H5ug-.js";
53
- import { t as sendMessageSlack } from "./send-DsxFXrCO.js";
54
- import { r as resolveSlackWebClientOptions } from "./client-Dn_01zRN.js";
55
- 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-CUdVHzeJ.js";
56
- import { t as createDraftStreamLoop } from "./draft-stream-loop-B3uUPmuU.js";
57
- import { t as resolveSlackUserAllowlist } from "./resolve-users-Ct0fO5kP.js";
58
- import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-zebgZCHX.js";
59
- import { t as resolveSlackChannelAllowlist } from "./probe-1paqsAk5.js";
60
- import { t as probeSlack } from "./probe-DrTulmwQ.js";
61
- import SlackBolt from "@slack/bolt";
62
-
63
- //#region src/slack/http/registry.ts
64
- const slackHttpRoutes = /* @__PURE__ */ new Map();
65
- function normalizeSlackWebhookPath(path) {
66
- const trimmed = path?.trim();
67
- if (!trimmed) return "/slack/events";
68
- return trimmed.startsWith("/") ? trimmed : `/${trimmed}`;
69
- }
70
- function registerSlackHttpHandler(params) {
71
- const normalizedPath = normalizeSlackWebhookPath(params.path);
72
- if (slackHttpRoutes.has(normalizedPath)) {
73
- const suffix = params.accountId ? ` for account "${params.accountId}"` : "";
74
- params.log?.(`slack: webhook path ${normalizedPath} already registered${suffix}`);
75
- return () => {};
76
- }
77
- slackHttpRoutes.set(normalizedPath, params.handler);
78
- return () => {
79
- slackHttpRoutes.delete(normalizedPath);
80
- };
81
- }
82
-
83
- //#endregion
84
- //#region src/slack/monitor/commands.ts
85
- /**
86
- * Strip Slack mentions (<@U123>, <@U123|name>) so command detection works on
87
- * normalized text. Use in both prepare and debounce gate for consistency.
88
- */
89
- function stripSlackMentionsForCommandDetection(text) {
90
- return (text ?? "").replace(/<@[^>]+>/g, " ").replace(/\s+/g, " ").trim();
91
- }
92
- function normalizeSlackSlashCommandName(raw) {
93
- return raw.replace(/^\/+/, "");
94
- }
95
- function resolveSlackSlashCommandConfig(raw) {
96
- const name = normalizeSlackSlashCommandName(raw?.name?.trim() || "fased") || "fased";
97
- return {
98
- enabled: raw?.enabled === true,
99
- name,
100
- sessionPrefix: raw?.sessionPrefix?.trim() || "slack:slash",
101
- ephemeral: raw?.ephemeral !== false
102
- };
103
- }
104
- function buildSlackSlashCommandMatcher(name) {
105
- const escaped = normalizeSlackSlashCommandName(name).replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
106
- return new RegExp(`^/?${escaped}$`);
107
- }
108
-
109
- //#endregion
110
- //#region src/slack/monitor/policy.ts
111
- function isSlackChannelAllowedByPolicy(params) {
112
- const { groupPolicy, channelAllowlistConfigured, channelAllowed } = params;
113
- if (groupPolicy === "disabled") return false;
114
- if (groupPolicy === "open") return true;
115
- if (!channelAllowlistConfigured) return false;
116
- return channelAllowed;
117
- }
118
-
119
- //#endregion
120
- //#region src/slack/monitor/channel-config.ts
121
- function firstDefined(...values) {
122
- for (const value of values) if (typeof value !== "undefined") return value;
123
- }
124
- function resolveSlackChannelLabel(params) {
125
- const channelName = params.channelName?.trim();
126
- if (channelName) return `#${normalizeSlackSlug(channelName) || channelName}`;
127
- const channelId = params.channelId?.trim();
128
- return channelId ? `#${channelId}` : "unknown channel";
129
- }
130
- function resolveSlackChannelConfig(params) {
131
- const { channelId, channelName, channels, defaultRequireMention } = params;
132
- const entries = channels ?? {};
133
- const keys = Object.keys(entries);
134
- const normalizedName = channelName ? normalizeSlackSlug(channelName) : "";
135
- const directName = channelName ? channelName.trim() : "";
136
- const channelIdLower = channelId.toLowerCase();
137
- const channelIdUpper = channelId.toUpperCase();
138
- const match = resolveChannelEntryMatchWithFallback({
139
- entries,
140
- keys: buildChannelKeyCandidates(channelId, channelIdLower !== channelId ? channelIdLower : void 0, channelIdUpper !== channelId ? channelIdUpper : void 0, channelName ? `#${directName}` : void 0, directName, normalizedName),
141
- wildcardKey: "*"
142
- });
143
- const { entry: matched, wildcardEntry: fallback } = match;
144
- const requireMentionDefault = defaultRequireMention ?? true;
145
- if (keys.length === 0) return {
146
- allowed: true,
147
- requireMention: requireMentionDefault
148
- };
149
- if (!matched && !fallback) return {
150
- allowed: false,
151
- requireMention: requireMentionDefault
152
- };
153
- const resolved = matched ?? fallback ?? {};
154
- return applyChannelMatchMeta({
155
- allowed: firstDefined(resolved.enabled, resolved.allow, fallback?.enabled, fallback?.allow, true) ?? true,
156
- requireMention: firstDefined(resolved.requireMention, fallback?.requireMention, requireMentionDefault) ?? requireMentionDefault,
157
- allowBots: firstDefined(resolved.allowBots, fallback?.allowBots),
158
- users: firstDefined(resolved.users, fallback?.users),
159
- skills: firstDefined(resolved.skills, fallback?.skills),
160
- systemPrompt: firstDefined(resolved.systemPrompt, fallback?.systemPrompt)
161
- }, match);
162
- }
163
-
164
- //#endregion
165
- //#region src/slack/monitor/context.ts
166
- function inferSlackChannelType(channelId) {
167
- const trimmed = channelId?.trim();
168
- if (!trimmed) return;
169
- if (trimmed.startsWith("D")) return "im";
170
- if (trimmed.startsWith("C")) return "channel";
171
- if (trimmed.startsWith("G")) return "group";
172
- }
173
- function normalizeSlackChannelType(channelType, channelId) {
174
- const normalized = channelType?.trim().toLowerCase();
175
- const inferred = inferSlackChannelType(channelId);
176
- if (normalized === "im" || normalized === "mpim" || normalized === "channel" || normalized === "group") {
177
- if (inferred === "im" && normalized !== "im") return "im";
178
- return normalized;
179
- }
180
- return inferred ?? "channel";
181
- }
182
- function createSlackMonitorContext(params) {
183
- const channelHistories = /* @__PURE__ */ new Map();
184
- const logger = getChildLogger({ module: "slack-auto-reply" });
185
- const channelCache = /* @__PURE__ */ new Map();
186
- const userCache = /* @__PURE__ */ new Map();
187
- const seenMessages = createDedupeCache({
188
- ttlMs: 6e4,
189
- maxSize: 500
190
- });
191
- const allowFrom = normalizeAllowList(params.allowFrom);
192
- const groupDmChannels = normalizeAllowList(params.groupDmChannels);
193
- const defaultRequireMention = params.defaultRequireMention ?? true;
194
- const markMessageSeen = (channelId, ts) => {
195
- if (!channelId || !ts) return false;
196
- return seenMessages.check(`${channelId}:${ts}`);
197
- };
198
- const resolveSlackSystemEventSessionKey = (p) => {
199
- const channelId = p.channelId?.trim() ?? "";
200
- if (!channelId) return params.mainKey;
201
- const channelType = normalizeSlackChannelType(p.channelType, channelId);
202
- const isDirectMessage = channelType === "im";
203
- const isGroup = channelType === "mpim";
204
- const from = isDirectMessage ? `slack:${channelId}` : isGroup ? `slack:group:${channelId}` : `slack:channel:${channelId}`;
205
- const chatType = isDirectMessage ? "direct" : isGroup ? "group" : "channel";
206
- return resolveSessionKey(params.sessionScope, {
207
- From: from,
208
- ChatType: chatType,
209
- Provider: "slack"
210
- }, params.mainKey);
211
- };
212
- const resolveChannelName = async (channelId) => {
213
- const cached = channelCache.get(channelId);
214
- if (cached) return cached;
215
- try {
216
- const info = await params.app.client.conversations.info({
217
- token: params.botToken,
218
- channel: channelId
219
- });
220
- const name = info.channel && "name" in info.channel ? info.channel.name : void 0;
221
- const channel = info.channel ?? void 0;
222
- const entry = {
223
- name,
224
- type: channel?.is_im ? "im" : channel?.is_mpim ? "mpim" : channel?.is_channel ? "channel" : channel?.is_group ? "group" : void 0,
225
- topic: channel && "topic" in channel ? channel.topic?.value ?? void 0 : void 0,
226
- purpose: channel && "purpose" in channel ? channel.purpose?.value ?? void 0 : void 0
227
- };
228
- channelCache.set(channelId, entry);
229
- return entry;
230
- } catch {
231
- return {};
232
- }
233
- };
234
- const resolveUserName = async (userId) => {
235
- const cached = userCache.get(userId);
236
- if (cached) return cached;
237
- try {
238
- const info = await params.app.client.users.info({
239
- token: params.botToken,
240
- user: userId
241
- });
242
- const profile = info.user?.profile;
243
- const entry = { name: profile?.display_name || profile?.real_name || info.user?.name || void 0 };
244
- userCache.set(userId, entry);
245
- return entry;
246
- } catch {
247
- return {};
248
- }
249
- };
250
- const setSlackThreadStatus = async (p) => {
251
- if (!p.threadTs) return;
252
- const payload = {
253
- token: params.botToken,
254
- channel_id: p.channelId,
255
- thread_ts: p.threadTs,
256
- status: p.status
257
- };
258
- const client = params.app.client;
259
- try {
260
- if (client.assistant?.threads?.setStatus) {
261
- await client.assistant.threads.setStatus(payload);
262
- return;
263
- }
264
- if (typeof client.apiCall === "function") await client.apiCall("assistant.threads.setStatus", payload);
265
- } catch (err) {
266
- logVerbose(`slack status update failed for channel ${p.channelId}: ${String(err)}`);
267
- }
268
- };
269
- const isChannelAllowed = (p) => {
270
- const channelType = normalizeSlackChannelType(p.channelType, p.channelId);
271
- const isDirectMessage = channelType === "im";
272
- const isGroupDm = channelType === "mpim";
273
- const isRoom = channelType === "channel" || channelType === "group";
274
- if (isDirectMessage && !params.dmEnabled) return false;
275
- if (isGroupDm && !params.groupDmEnabled) return false;
276
- if (isGroupDm && groupDmChannels.length > 0) {
277
- const allowList = normalizeAllowListLower(groupDmChannels);
278
- const candidates = [
279
- p.channelId,
280
- p.channelName ? `#${p.channelName}` : void 0,
281
- p.channelName,
282
- p.channelName ? normalizeSlackSlug(p.channelName) : void 0
283
- ].filter((value) => Boolean(value)).map((value) => value.toLowerCase());
284
- if (!(allowList.includes("*") || candidates.some((candidate) => allowList.includes(candidate)))) return false;
285
- }
286
- if (isRoom && p.channelId) {
287
- const channelConfig = resolveSlackChannelConfig({
288
- channelId: p.channelId,
289
- channelName: p.channelName,
290
- channels: params.channelsConfig,
291
- defaultRequireMention
292
- });
293
- const channelMatchMeta = formatAllowlistMatchMeta(channelConfig);
294
- const channelAllowed = channelConfig?.allowed !== false;
295
- const channelAllowlistConfigured = Boolean(params.channelsConfig) && Object.keys(params.channelsConfig ?? {}).length > 0;
296
- if (!isSlackChannelAllowedByPolicy({
297
- groupPolicy: params.groupPolicy,
298
- channelAllowlistConfigured,
299
- channelAllowed
300
- })) {
301
- logVerbose(`slack: drop channel ${p.channelId} (groupPolicy=${params.groupPolicy}, ${channelMatchMeta})`);
302
- return false;
303
- }
304
- const hasExplicitConfig = Boolean(channelConfig?.matchSource);
305
- if (!channelAllowed && (params.groupPolicy !== "open" || hasExplicitConfig)) {
306
- logVerbose(`slack: drop channel ${p.channelId} (${channelMatchMeta})`);
307
- return false;
308
- }
309
- logVerbose(`slack: allow channel ${p.channelId} (${channelMatchMeta})`);
310
- }
311
- return true;
312
- };
313
- const shouldDropMismatchedSlackEvent = (body) => {
314
- if (!body || typeof body !== "object") return false;
315
- const raw = body;
316
- const incomingApiAppId = typeof raw.api_app_id === "string" ? raw.api_app_id : "";
317
- const incomingTeamId = typeof raw.team_id === "string" ? raw.team_id : "";
318
- if (params.apiAppId && incomingApiAppId && incomingApiAppId !== params.apiAppId) {
319
- logVerbose(`slack: drop event with api_app_id=${incomingApiAppId} (expected ${params.apiAppId})`);
320
- return true;
321
- }
322
- if (params.teamId && incomingTeamId && incomingTeamId !== params.teamId) {
323
- logVerbose(`slack: drop event with team_id=${incomingTeamId} (expected ${params.teamId})`);
324
- return true;
325
- }
326
- return false;
327
- };
328
- return {
329
- cfg: params.cfg,
330
- accountId: params.accountId,
331
- botToken: params.botToken,
332
- app: params.app,
333
- runtime: params.runtime,
334
- botUserId: params.botUserId,
335
- teamId: params.teamId,
336
- apiAppId: params.apiAppId,
337
- historyLimit: params.historyLimit,
338
- channelHistories,
339
- sessionScope: params.sessionScope,
340
- mainKey: params.mainKey,
341
- dmEnabled: params.dmEnabled,
342
- dmPolicy: params.dmPolicy,
343
- allowFrom,
344
- allowNameMatching: params.allowNameMatching,
345
- groupDmEnabled: params.groupDmEnabled,
346
- groupDmChannels,
347
- defaultRequireMention,
348
- channelsConfig: params.channelsConfig,
349
- groupPolicy: params.groupPolicy,
350
- useAccessGroups: params.useAccessGroups,
351
- reactionMode: params.reactionMode,
352
- reactionAllowlist: params.reactionAllowlist,
353
- replyToMode: params.replyToMode,
354
- threadHistoryScope: params.threadHistoryScope,
355
- threadInheritParent: params.threadInheritParent,
356
- slashCommand: params.slashCommand,
357
- textLimit: params.textLimit,
358
- ackReactionScope: params.ackReactionScope,
359
- mediaMaxBytes: params.mediaMaxBytes,
360
- removeAckAfterReply: params.removeAckAfterReply,
361
- logger,
362
- markMessageSeen,
363
- shouldDropMismatchedSlackEvent,
364
- resolveSlackSystemEventSessionKey,
365
- isChannelAllowed,
366
- resolveChannelName,
367
- resolveUserName,
368
- setSlackThreadStatus
369
- };
370
- }
371
-
372
- //#endregion
373
- //#region src/slack/channel-migration.ts
374
- function resolveAccountChannels(cfg, accountId) {
375
- if (!accountId) return {};
376
- const normalized = normalizeAccountId(accountId);
377
- const accounts = cfg.channels?.slack?.accounts;
378
- if (!accounts || typeof accounts !== "object") return {};
379
- const exact = accounts[normalized];
380
- if (exact?.channels) return { channels: exact.channels };
381
- const matchKey = Object.keys(accounts).find((key) => key.toLowerCase() === normalized.toLowerCase());
382
- return { channels: matchKey ? accounts[matchKey]?.channels : void 0 };
383
- }
384
- function migrateSlackChannelsInPlace(channels, oldChannelId, newChannelId) {
385
- if (!channels) return {
386
- migrated: false,
387
- skippedExisting: false
388
- };
389
- if (oldChannelId === newChannelId) return {
390
- migrated: false,
391
- skippedExisting: false
392
- };
393
- if (!Object.hasOwn(channels, oldChannelId)) return {
394
- migrated: false,
395
- skippedExisting: false
396
- };
397
- if (Object.hasOwn(channels, newChannelId)) return {
398
- migrated: false,
399
- skippedExisting: true
400
- };
401
- channels[newChannelId] = channels[oldChannelId];
402
- delete channels[oldChannelId];
403
- return {
404
- migrated: true,
405
- skippedExisting: false
406
- };
407
- }
408
- function migrateSlackChannelConfig(params) {
409
- const scopes = [];
410
- let migrated = false;
411
- let skippedExisting = false;
412
- const accountChannels = resolveAccountChannels(params.cfg, params.accountId).channels;
413
- if (accountChannels) {
414
- const result = migrateSlackChannelsInPlace(accountChannels, params.oldChannelId, params.newChannelId);
415
- if (result.migrated) {
416
- migrated = true;
417
- scopes.push("account");
418
- }
419
- if (result.skippedExisting) skippedExisting = true;
420
- }
421
- const globalChannels = params.cfg.channels?.slack?.channels;
422
- if (globalChannels) {
423
- const result = migrateSlackChannelsInPlace(globalChannels, params.oldChannelId, params.newChannelId);
424
- if (result.migrated) {
425
- migrated = true;
426
- scopes.push("global");
427
- }
428
- if (result.skippedExisting) skippedExisting = true;
429
- }
430
- return {
431
- migrated,
432
- skippedExisting,
433
- scopes
434
- };
435
- }
436
-
437
- //#endregion
438
- //#region src/slack/monitor/events/channels.ts
439
- function registerSlackChannelEvents(params) {
440
- const { ctx } = params;
441
- const enqueueChannelSystemEvent = (params) => {
442
- if (!ctx.isChannelAllowed({
443
- channelId: params.channelId,
444
- channelName: params.channelName,
445
- channelType: "channel"
446
- })) return;
447
- const label = resolveSlackChannelLabel({
448
- channelId: params.channelId,
449
- channelName: params.channelName
450
- });
451
- const sessionKey = ctx.resolveSlackSystemEventSessionKey({
452
- channelId: params.channelId,
453
- channelType: "channel"
454
- });
455
- enqueueSystemEvent(`Slack channel ${params.kind}: ${label}.`, {
456
- sessionKey,
457
- contextKey: `slack:channel:${params.kind}:${params.channelId ?? params.channelName ?? "unknown"}`
458
- });
459
- };
460
- ctx.app.event("channel_created", async ({ event, body }) => {
461
- try {
462
- if (ctx.shouldDropMismatchedSlackEvent(body)) return;
463
- const payload = event;
464
- const channelId = payload.channel?.id;
465
- const channelName = payload.channel?.name;
466
- enqueueChannelSystemEvent({
467
- kind: "created",
468
- channelId,
469
- channelName
470
- });
471
- } catch (err) {
472
- ctx.runtime.error?.(danger(`slack channel created handler failed: ${String(err)}`));
473
- }
474
- });
475
- ctx.app.event("channel_rename", async ({ event, body }) => {
476
- try {
477
- if (ctx.shouldDropMismatchedSlackEvent(body)) return;
478
- const payload = event;
479
- const channelId = payload.channel?.id;
480
- enqueueChannelSystemEvent({
481
- kind: "renamed",
482
- channelId,
483
- channelName: payload.channel?.name_normalized ?? payload.channel?.name
484
- });
485
- } catch (err) {
486
- ctx.runtime.error?.(danger(`slack channel rename handler failed: ${String(err)}`));
487
- }
488
- });
489
- ctx.app.event("channel_id_changed", async ({ event, body }) => {
490
- try {
491
- if (ctx.shouldDropMismatchedSlackEvent(body)) return;
492
- const payload = event;
493
- const oldChannelId = payload.old_channel_id;
494
- const newChannelId = payload.new_channel_id;
495
- if (!oldChannelId || !newChannelId) return;
496
- const label = resolveSlackChannelLabel({
497
- channelId: newChannelId,
498
- channelName: (await ctx.resolveChannelName(newChannelId))?.name
499
- });
500
- ctx.runtime.log?.(warn(`[slack] Channel ID changed: ${oldChannelId} → ${newChannelId} (${label})`));
501
- if (!resolveChannelConfigWrites({
502
- cfg: ctx.cfg,
503
- channelId: "slack",
504
- accountId: ctx.accountId
505
- })) {
506
- ctx.runtime.log?.(warn("[slack] Config writes disabled; skipping channel config migration."));
507
- return;
508
- }
509
- const currentConfig = loadConfig();
510
- const migration = migrateSlackChannelConfig({
511
- cfg: currentConfig,
512
- accountId: ctx.accountId,
513
- oldChannelId,
514
- newChannelId
515
- });
516
- if (migration.migrated) {
517
- migrateSlackChannelConfig({
518
- cfg: ctx.cfg,
519
- accountId: ctx.accountId,
520
- oldChannelId,
521
- newChannelId
522
- });
523
- await writeConfigFile(currentConfig);
524
- ctx.runtime.log?.(warn("[slack] Channel config migrated and saved successfully."));
525
- } else if (migration.skippedExisting) ctx.runtime.log?.(warn(`[slack] Channel config already exists for ${newChannelId}; leaving ${oldChannelId} unchanged`));
526
- else ctx.runtime.log?.(warn(`[slack] No config found for old channel ID ${oldChannelId}; migration logged only`));
527
- } catch (err) {
528
- ctx.runtime.error?.(danger(`slack channel_id_changed handler failed: ${String(err)}`));
529
- }
530
- });
531
- }
532
-
533
- //#endregion
534
- //#region src/slack/modal-metadata.ts
535
- function normalizeString(value) {
536
- return typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
537
- }
538
- function parseSlackModalPrivateMetadata(raw) {
539
- if (typeof raw !== "string" || raw.trim().length === 0) return {};
540
- try {
541
- const parsed = JSON.parse(raw);
542
- return {
543
- sessionKey: normalizeString(parsed.sessionKey),
544
- channelId: normalizeString(parsed.channelId),
545
- channelType: normalizeString(parsed.channelType),
546
- userId: normalizeString(parsed.userId)
547
- };
548
- } catch {
549
- return {};
550
- }
551
- }
552
-
553
- //#endregion
554
- //#region src/slack/monitor/auth.ts
555
- async function resolveSlackEffectiveAllowFrom(ctx, options) {
556
- const storeAllowFrom = options?.includePairingStore === true ? await readStoreAllowFromForDmPolicy({
557
- provider: "slack",
558
- accountId: ctx.accountId,
559
- dmPolicy: ctx.dmPolicy
560
- }) : [];
561
- const allowFrom = normalizeAllowList([...ctx.allowFrom, ...storeAllowFrom]);
562
- return {
563
- allowFrom,
564
- allowFromLower: normalizeAllowListLower(allowFrom)
565
- };
566
- }
567
- function isSlackSenderAllowListed(params) {
568
- const { allowListLower, senderId, senderName, allowNameMatching } = params;
569
- return allowListLower.length === 0 || allowListMatches({
570
- allowList: allowListLower,
571
- id: senderId,
572
- name: senderName,
573
- allowNameMatching
574
- });
575
- }
576
- async function authorizeSlackSystemEventSender(params) {
577
- const senderId = params.senderId?.trim();
578
- if (!senderId) return {
579
- allowed: false,
580
- reason: "missing-sender"
581
- };
582
- const expectedSenderId = params.expectedSenderId?.trim();
583
- if (expectedSenderId && expectedSenderId !== senderId) return {
584
- allowed: false,
585
- reason: "sender-mismatch"
586
- };
587
- const channelId = params.channelId?.trim();
588
- let channelType = normalizeSlackChannelType(params.channelType, channelId);
589
- let channelName;
590
- if (channelId) {
591
- const info = await params.ctx.resolveChannelName(channelId).catch(() => ({}));
592
- channelName = info.name;
593
- channelType = normalizeSlackChannelType(params.channelType ?? info.type, channelId);
594
- if (!params.ctx.isChannelAllowed({
595
- channelId,
596
- channelName,
597
- channelType
598
- })) return {
599
- allowed: false,
600
- reason: "channel-not-allowed",
601
- channelType,
602
- channelName
603
- };
604
- }
605
- const senderName = (await params.ctx.resolveUserName(senderId).catch(() => ({}))).name;
606
- const resolveAllowFromLower = async (includePairingStore = false) => (await resolveSlackEffectiveAllowFrom(params.ctx, { includePairingStore })).allowFromLower;
607
- if (channelType === "im") {
608
- if (!params.ctx.dmEnabled || params.ctx.dmPolicy === "disabled") return {
609
- allowed: false,
610
- reason: "dm-disabled",
611
- channelType,
612
- channelName
613
- };
614
- if (params.ctx.dmPolicy !== "open") {
615
- if (!isSlackSenderAllowListed({
616
- allowListLower: await resolveAllowFromLower(true),
617
- senderId,
618
- senderName,
619
- allowNameMatching: params.ctx.allowNameMatching
620
- })) return {
621
- allowed: false,
622
- reason: "sender-not-allowlisted",
623
- channelType,
624
- channelName
625
- };
626
- }
627
- } else if (!channelId) {
628
- const allowFromLower = await resolveAllowFromLower(false);
629
- if (allowFromLower.length > 0) {
630
- if (!isSlackSenderAllowListed({
631
- allowListLower: allowFromLower,
632
- senderId,
633
- senderName,
634
- allowNameMatching: params.ctx.allowNameMatching
635
- })) return {
636
- allowed: false,
637
- reason: "sender-not-allowlisted"
638
- };
639
- }
640
- } else {
641
- const channelConfig = resolveSlackChannelConfig({
642
- channelId,
643
- channelName,
644
- channels: params.ctx.channelsConfig,
645
- defaultRequireMention: params.ctx.defaultRequireMention
646
- });
647
- if (Array.isArray(channelConfig?.users) && channelConfig.users.length > 0) {
648
- if (!resolveSlackUserAllowed({
649
- allowList: channelConfig?.users,
650
- userId: senderId,
651
- userName: senderName,
652
- allowNameMatching: params.ctx.allowNameMatching
653
- })) return {
654
- allowed: false,
655
- reason: "sender-not-channel-allowed",
656
- channelType,
657
- channelName
658
- };
659
- }
660
- }
661
- return {
662
- allowed: true,
663
- channelType,
664
- channelName
665
- };
666
- }
667
-
668
- //#endregion
669
- //#region src/slack/monitor/mrkdwn.ts
670
- function escapeSlackMrkdwn(value) {
671
- return value.replaceAll("\\", "\\\\").replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replace(/([*_`~])/g, "\\$1");
672
- }
673
-
674
- //#endregion
675
- //#region src/slack/monitor/events/interactions.ts
676
- const FASED_ACTION_PREFIX = "fased:";
677
- function readOptionValues(options) {
678
- if (!Array.isArray(options)) return;
679
- const values = options.map((option) => option && typeof option === "object" ? option.value : null).filter((value) => typeof value === "string" && value.trim().length > 0);
680
- return values.length > 0 ? values : void 0;
681
- }
682
- function readOptionLabels(options) {
683
- if (!Array.isArray(options)) return;
684
- const labels = options.map((option) => option && typeof option === "object" ? option.text?.text ?? null : null).filter((label) => typeof label === "string" && label.trim().length > 0);
685
- return labels.length > 0 ? labels : void 0;
686
- }
687
- function uniqueNonEmptyStrings(values) {
688
- const unique = [];
689
- const seen = /* @__PURE__ */ new Set();
690
- for (const entry of values) {
691
- if (typeof entry !== "string") continue;
692
- const trimmed = entry.trim();
693
- if (!trimmed || seen.has(trimmed)) continue;
694
- seen.add(trimmed);
695
- unique.push(trimmed);
696
- }
697
- return unique;
698
- }
699
- function collectRichTextFragments(value, out) {
700
- if (!value || typeof value !== "object") return;
701
- const typed = value;
702
- if (typeof typed.text === "string" && typed.text.trim().length > 0) out.push(typed.text.trim());
703
- if (Array.isArray(typed.elements)) for (const child of typed.elements) collectRichTextFragments(child, out);
704
- }
705
- function summarizeRichTextPreview(value) {
706
- const fragments = [];
707
- collectRichTextFragments(value, fragments);
708
- if (fragments.length === 0) return;
709
- const joined = fragments.join(" ").replace(/\s+/g, " ").trim();
710
- if (!joined) return;
711
- const max = 120;
712
- return joined.length <= max ? joined : `${joined.slice(0, max - 1)}…`;
713
- }
714
- function readInteractionAction(raw) {
715
- if (!raw || typeof raw !== "object" || Array.isArray(raw)) return;
716
- return raw;
717
- }
718
- function summarizeAction(action) {
719
- const typed = action;
720
- const actionType = typed.type;
721
- const selectedUsers = uniqueNonEmptyStrings([...typed.selected_user ? [typed.selected_user] : [], ...Array.isArray(typed.selected_users) ? typed.selected_users : []]);
722
- const selectedChannels = uniqueNonEmptyStrings([...typed.selected_channel ? [typed.selected_channel] : [], ...Array.isArray(typed.selected_channels) ? typed.selected_channels : []]);
723
- const selectedConversations = uniqueNonEmptyStrings([...typed.selected_conversation ? [typed.selected_conversation] : [], ...Array.isArray(typed.selected_conversations) ? typed.selected_conversations : []]);
724
- const selectedValues = uniqueNonEmptyStrings([
725
- ...typed.selected_option?.value ? [typed.selected_option.value] : [],
726
- ...readOptionValues(typed.selected_options) ?? [],
727
- ...selectedUsers,
728
- ...selectedChannels,
729
- ...selectedConversations
730
- ]);
731
- const selectedLabels = uniqueNonEmptyStrings([...typed.selected_option?.text?.text ? [typed.selected_option.text.text] : [], ...readOptionLabels(typed.selected_options) ?? []]);
732
- const inputValue = typeof typed.value === "string" ? typed.value : void 0;
733
- const inputNumber = actionType === "number_input" && inputValue != null ? Number.parseFloat(inputValue) : void 0;
734
- const parsedNumber = Number.isFinite(inputNumber) ? inputNumber : void 0;
735
- const inputEmail = actionType === "email_text_input" && inputValue?.includes("@") ? inputValue : void 0;
736
- let inputUrl;
737
- if (actionType === "url_text_input" && inputValue) try {
738
- inputUrl = new URL(inputValue).toString();
739
- } catch {
740
- inputUrl = void 0;
741
- }
742
- const richTextValue = actionType === "rich_text_input" ? typed.rich_text_value : void 0;
743
- const richTextPreview = summarizeRichTextPreview(richTextValue);
744
- return {
745
- actionType,
746
- 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,
747
- value: typed.value,
748
- selectedValues: selectedValues.length > 0 ? selectedValues : void 0,
749
- selectedUsers: selectedUsers.length > 0 ? selectedUsers : void 0,
750
- selectedChannels: selectedChannels.length > 0 ? selectedChannels : void 0,
751
- selectedConversations: selectedConversations.length > 0 ? selectedConversations : void 0,
752
- selectedLabels: selectedLabels.length > 0 ? selectedLabels : void 0,
753
- selectedDate: typed.selected_date,
754
- selectedTime: typed.selected_time,
755
- selectedDateTime: typeof typed.selected_date_time === "number" ? typed.selected_date_time : void 0,
756
- inputValue,
757
- inputNumber: parsedNumber,
758
- inputEmail,
759
- inputUrl,
760
- richTextValue,
761
- richTextPreview,
762
- workflowTriggerUrl: typed.workflow?.trigger_url,
763
- workflowId: typed.workflow?.workflow_id
764
- };
765
- }
766
- function isBulkActionsBlock(block) {
767
- 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_"));
768
- }
769
- function formatInteractionSelectionLabel(params) {
770
- if (params.summary.actionType === "button" && params.buttonText?.trim()) return params.buttonText.trim();
771
- if (params.summary.selectedLabels?.length) {
772
- if (params.summary.selectedLabels.length <= 3) return params.summary.selectedLabels.join(", ");
773
- return `${params.summary.selectedLabels.slice(0, 3).join(", ")} +${params.summary.selectedLabels.length - 3}`;
774
- }
775
- if (params.summary.selectedValues?.length) {
776
- if (params.summary.selectedValues.length <= 3) return params.summary.selectedValues.join(", ");
777
- return `${params.summary.selectedValues.slice(0, 3).join(", ")} +${params.summary.selectedValues.length - 3}`;
778
- }
779
- if (params.summary.selectedDate) return params.summary.selectedDate;
780
- if (params.summary.selectedTime) return params.summary.selectedTime;
781
- if (typeof params.summary.selectedDateTime === "number") return (/* @__PURE__ */ new Date(params.summary.selectedDateTime * 1e3)).toISOString();
782
- if (params.summary.richTextPreview) return params.summary.richTextPreview;
783
- if (params.summary.value?.trim()) return params.summary.value.trim();
784
- return params.actionId;
785
- }
786
- function formatInteractionConfirmationText(params) {
787
- const actor = params.userId?.trim() ? ` by <@${params.userId.trim()}>` : "";
788
- return `:white_check_mark: *${escapeSlackMrkdwn(params.selectedLabel)}* selected${actor}`;
789
- }
790
- function summarizeViewState(values) {
791
- if (!values || typeof values !== "object") return [];
792
- const entries = [];
793
- for (const [blockId, blockValue] of Object.entries(values)) {
794
- if (!blockValue || typeof blockValue !== "object") continue;
795
- for (const [actionId, rawAction] of Object.entries(blockValue)) {
796
- if (!rawAction || typeof rawAction !== "object") continue;
797
- const actionSummary = summarizeAction(rawAction);
798
- entries.push({
799
- blockId,
800
- actionId,
801
- ...actionSummary
802
- });
803
- }
804
- }
805
- return entries;
806
- }
807
- function resolveModalSessionRouting(params) {
808
- const metadata = params.metadata;
809
- if (metadata.sessionKey) return {
810
- sessionKey: metadata.sessionKey,
811
- channelId: metadata.channelId,
812
- channelType: metadata.channelType
813
- };
814
- if (metadata.channelId) return {
815
- sessionKey: params.ctx.resolveSlackSystemEventSessionKey({
816
- channelId: metadata.channelId,
817
- channelType: metadata.channelType
818
- }),
819
- channelId: metadata.channelId,
820
- channelType: metadata.channelType
821
- };
822
- return { sessionKey: params.ctx.resolveSlackSystemEventSessionKey({}) };
823
- }
824
- function summarizeSlackViewLifecycleContext(view) {
825
- const rootViewId = view.root_view_id;
826
- const previousViewId = view.previous_view_id;
827
- return {
828
- rootViewId,
829
- previousViewId,
830
- externalId: view.external_id,
831
- viewHash: view.hash,
832
- isStackedView: Boolean(previousViewId)
833
- };
834
- }
835
- function resolveSlackModalEventBase(params) {
836
- const metadata = parseSlackModalPrivateMetadata(params.body.view?.private_metadata);
837
- const callbackId = params.body.view?.callback_id ?? "unknown";
838
- const userId = params.body.user?.id ?? "unknown";
839
- const viewId = params.body.view?.id;
840
- const inputs = summarizeViewState(params.body.view?.state?.values);
841
- const sessionRouting = resolveModalSessionRouting({
842
- ctx: params.ctx,
843
- metadata
844
- });
845
- return {
846
- callbackId,
847
- userId,
848
- expectedUserId: metadata.userId,
849
- viewId,
850
- sessionRouting,
851
- payload: {
852
- actionId: `view:${callbackId}`,
853
- callbackId,
854
- viewId,
855
- userId,
856
- teamId: params.body.team?.id,
857
- ...summarizeSlackViewLifecycleContext({
858
- root_view_id: params.body.view?.root_view_id,
859
- previous_view_id: params.body.view?.previous_view_id,
860
- external_id: params.body.view?.external_id,
861
- hash: params.body.view?.hash
862
- }),
863
- privateMetadata: params.body.view?.private_metadata,
864
- routedChannelId: sessionRouting.channelId,
865
- routedChannelType: sessionRouting.channelType,
866
- inputs
867
- }
868
- };
869
- }
870
- async function emitSlackModalLifecycleEvent(params) {
871
- const { callbackId, userId, expectedUserId, viewId, sessionRouting, payload } = resolveSlackModalEventBase({
872
- ctx: params.ctx,
873
- body: params.body
874
- });
875
- const isViewClosed = params.interactionType === "view_closed";
876
- const isCleared = params.body.is_cleared === true;
877
- const eventPayload = isViewClosed ? {
878
- interactionType: params.interactionType,
879
- ...payload,
880
- isCleared
881
- } : {
882
- interactionType: params.interactionType,
883
- ...payload
884
- };
885
- if (isViewClosed) params.ctx.runtime.log?.(`slack:interaction view_closed callback=${callbackId} user=${userId} cleared=${isCleared}`);
886
- else params.ctx.runtime.log?.(`slack:interaction view_submission callback=${callbackId} user=${userId} inputs=${payload.inputs.length}`);
887
- if (!expectedUserId) {
888
- params.ctx.runtime.log?.(`slack:interaction drop modal callback=${callbackId} user=${userId} reason=missing-expected-user`);
889
- return;
890
- }
891
- const auth = await authorizeSlackSystemEventSender({
892
- ctx: params.ctx,
893
- senderId: userId,
894
- channelId: sessionRouting.channelId,
895
- channelType: sessionRouting.channelType,
896
- expectedSenderId: expectedUserId
897
- });
898
- if (!auth.allowed) {
899
- params.ctx.runtime.log?.(`slack:interaction drop modal callback=${callbackId} user=${userId} reason=${auth.reason ?? "unauthorized"}`);
900
- return;
901
- }
902
- enqueueSystemEvent(`Slack interaction: ${JSON.stringify(eventPayload)}`, {
903
- sessionKey: sessionRouting.sessionKey,
904
- contextKey: [
905
- params.contextPrefix,
906
- callbackId,
907
- viewId,
908
- userId
909
- ].filter(Boolean).join(":")
910
- });
911
- }
912
- function registerModalLifecycleHandler(params) {
913
- params.register(params.matcher, async ({ ack, body }) => {
914
- await ack();
915
- await emitSlackModalLifecycleEvent({
916
- ctx: params.ctx,
917
- body,
918
- interactionType: params.interactionType,
919
- contextPrefix: params.contextPrefix
920
- });
921
- });
922
- }
923
- function registerSlackInteractionEvents(params) {
924
- const { ctx } = params;
925
- if (typeof ctx.app.action !== "function") return;
926
- ctx.app.action(new RegExp(`^${FASED_ACTION_PREFIX}`), async (args) => {
927
- const { ack, body, action, respond } = args;
928
- const typedBody = body;
929
- await ack();
930
- const typedAction = readInteractionAction(action);
931
- if (!typedAction) {
932
- ctx.runtime.log?.(`slack:interaction malformed action payload channel=${typedBody.channel?.id ?? typedBody.container?.channel_id ?? "unknown"} user=${typedBody.user?.id ?? "unknown"}`);
933
- return;
934
- }
935
- const typedActionWithText = typedAction;
936
- const actionId = typeof typedActionWithText.action_id === "string" ? typedActionWithText.action_id : "unknown";
937
- const blockId = typedActionWithText.block_id;
938
- const userId = typedBody.user?.id ?? "unknown";
939
- const channelId = typedBody.channel?.id ?? typedBody.container?.channel_id;
940
- const messageTs = typedBody.message?.ts ?? typedBody.container?.message_ts;
941
- const threadTs = typedBody.container?.thread_ts;
942
- const auth = await authorizeSlackSystemEventSender({
943
- ctx,
944
- senderId: userId,
945
- channelId
946
- });
947
- if (!auth.allowed) {
948
- ctx.runtime.log?.(`slack:interaction drop action=${actionId} user=${userId} channel=${channelId ?? "unknown"} reason=${auth.reason ?? "unauthorized"}`);
949
- if (respond) try {
950
- await respond({
951
- text: "You are not authorized to use this control.",
952
- response_type: "ephemeral"
953
- });
954
- } catch {}
955
- return;
956
- }
957
- const actionSummary = summarizeAction(typedAction);
958
- const eventPayload = {
959
- interactionType: "block_action",
960
- actionId,
961
- blockId,
962
- ...actionSummary,
963
- userId,
964
- teamId: typedBody.team?.id,
965
- triggerId: typedBody.trigger_id,
966
- responseUrl: typedBody.response_url,
967
- channelId,
968
- messageTs,
969
- threadTs
970
- };
971
- ctx.runtime.log?.(`slack:interaction action=${actionId} type=${actionSummary.actionType ?? "unknown"} user=${userId} channel=${channelId}`);
972
- const sessionKey = ctx.resolveSlackSystemEventSessionKey({
973
- channelId,
974
- channelType: auth.channelType
975
- });
976
- const contextKey = [
977
- "slack:interaction",
978
- channelId,
979
- messageTs,
980
- actionId
981
- ].filter(Boolean).join(":");
982
- enqueueSystemEvent(`Slack interaction: ${JSON.stringify(eventPayload)}`, {
983
- sessionKey,
984
- contextKey
985
- });
986
- const originalBlocks = typedBody.message?.blocks;
987
- if (!Array.isArray(originalBlocks) || !channelId || !messageTs) return;
988
- if (!blockId) return;
989
- const selectedLabel = formatInteractionSelectionLabel({
990
- actionId,
991
- summary: actionSummary,
992
- buttonText: typedActionWithText.text?.text
993
- });
994
- let updatedBlocks = originalBlocks.map((block) => {
995
- const typedBlock = block;
996
- if (typedBlock.type === "actions" && typedBlock.block_id === blockId) return {
997
- type: "context",
998
- elements: [{
999
- type: "mrkdwn",
1000
- text: formatInteractionConfirmationText({
1001
- selectedLabel,
1002
- userId
1003
- })
1004
- }]
1005
- };
1006
- return block;
1007
- });
1008
- if (!updatedBlocks.some((block) => {
1009
- const typedBlock = block;
1010
- return typedBlock.type === "actions" && !isBulkActionsBlock(typedBlock);
1011
- })) updatedBlocks = updatedBlocks.filter((block, index) => {
1012
- const typedBlock = block;
1013
- if (isBulkActionsBlock(typedBlock)) return false;
1014
- if (typedBlock.type !== "divider") return true;
1015
- const next = updatedBlocks[index + 1];
1016
- return !next || !isBulkActionsBlock(next);
1017
- });
1018
- try {
1019
- await ctx.app.client.chat.update({
1020
- channel: channelId,
1021
- ts: messageTs,
1022
- text: typedBody.message?.text ?? "",
1023
- blocks: updatedBlocks
1024
- });
1025
- } catch {
1026
- if (!respond) return;
1027
- try {
1028
- await respond({
1029
- text: `Button "${actionId}" clicked!`,
1030
- response_type: "ephemeral"
1031
- });
1032
- } catch {}
1033
- }
1034
- });
1035
- if (typeof ctx.app.view !== "function") return;
1036
- const modalMatcher = new RegExp(`^${FASED_ACTION_PREFIX}`);
1037
- registerModalLifecycleHandler({
1038
- register: (matcher, handler) => ctx.app.view(matcher, handler),
1039
- matcher: modalMatcher,
1040
- ctx,
1041
- interactionType: "view_submission",
1042
- contextPrefix: "slack:interaction:view"
1043
- });
1044
- const viewClosed = ctx.app.viewClosed;
1045
- if (typeof viewClosed !== "function") return;
1046
- registerModalLifecycleHandler({
1047
- register: viewClosed,
1048
- matcher: modalMatcher,
1049
- ctx,
1050
- interactionType: "view_closed",
1051
- contextPrefix: "slack:interaction:view-closed"
1052
- });
1053
- }
1054
-
1055
- //#endregion
1056
- //#region src/slack/monitor/events/system-event-context.ts
1057
- async function authorizeAndResolveSlackSystemEventContext(params) {
1058
- const { ctx, senderId, channelId, channelType, eventKind } = params;
1059
- const auth = await authorizeSlackSystemEventSender({
1060
- ctx,
1061
- senderId,
1062
- channelId,
1063
- channelType
1064
- });
1065
- if (!auth.allowed) {
1066
- logVerbose(`slack: drop ${eventKind} sender ${senderId ?? "unknown"} channel=${channelId ?? "unknown"} reason=${auth.reason ?? "unauthorized"}`);
1067
- return;
1068
- }
1069
- return {
1070
- channelLabel: resolveSlackChannelLabel({
1071
- channelId,
1072
- channelName: auth.channelName
1073
- }),
1074
- sessionKey: ctx.resolveSlackSystemEventSessionKey({
1075
- channelId,
1076
- channelType: auth.channelType
1077
- })
1078
- };
1079
- }
1080
-
1081
- //#endregion
1082
- //#region src/slack/monitor/events/members.ts
1083
- function registerSlackMemberEvents(params) {
1084
- const { ctx } = params;
1085
- const handleMemberChannelEvent = async (params) => {
1086
- try {
1087
- if (ctx.shouldDropMismatchedSlackEvent(params.body)) return;
1088
- const payload = params.event;
1089
- const channelId = payload.channel;
1090
- const channelInfo = channelId ? await ctx.resolveChannelName(channelId) : {};
1091
- const channelType = payload.channel_type ?? channelInfo?.type;
1092
- const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1093
- ctx,
1094
- senderId: payload.user,
1095
- channelId,
1096
- channelType,
1097
- eventKind: `member-${params.verb}`
1098
- });
1099
- if (!ingressContext) return;
1100
- enqueueSystemEvent(`Slack: ${(payload.user ? await ctx.resolveUserName(payload.user) : {})?.name ?? payload.user ?? "someone"} ${params.verb} ${ingressContext.channelLabel}.`, {
1101
- sessionKey: ingressContext.sessionKey,
1102
- contextKey: `slack:member:${params.verb}:${channelId ?? "unknown"}:${payload.user ?? "unknown"}`
1103
- });
1104
- } catch (err) {
1105
- ctx.runtime.error?.(danger(`slack ${params.verb} handler failed: ${String(err)}`));
1106
- }
1107
- };
1108
- ctx.app.event("member_joined_channel", async ({ event, body }) => {
1109
- await handleMemberChannelEvent({
1110
- verb: "joined",
1111
- event,
1112
- body
1113
- });
1114
- });
1115
- ctx.app.event("member_left_channel", async ({ event, body }) => {
1116
- await handleMemberChannelEvent({
1117
- verb: "left",
1118
- event,
1119
- body
1120
- });
1121
- });
1122
- }
1123
-
1124
- //#endregion
1125
- //#region src/slack/monitor/events/messages.ts
1126
- function registerSlackMessageEvents(params) {
1127
- const { ctx, handleSlackMessage } = params;
1128
- const resolveChangedSenderId = (changed) => changed.message?.user ?? changed.previous_message?.user ?? changed.message?.bot_id ?? changed.previous_message?.bot_id;
1129
- const resolveDeletedSenderId = (deleted) => deleted.previous_message?.user ?? deleted.previous_message?.bot_id;
1130
- const resolveThreadBroadcastSenderId = (thread) => thread.user ?? thread.message?.user ?? thread.message?.bot_id;
1131
- ctx.app.event("message", async ({ event, body }) => {
1132
- try {
1133
- if (ctx.shouldDropMismatchedSlackEvent(body)) return;
1134
- const message = event;
1135
- if (message.subtype === "message_changed") {
1136
- const changed = event;
1137
- const channelId = changed.channel;
1138
- const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1139
- ctx,
1140
- senderId: resolveChangedSenderId(changed),
1141
- channelId,
1142
- eventKind: "message_changed"
1143
- });
1144
- if (!ingressContext) return;
1145
- const messageId = changed.message?.ts ?? changed.previous_message?.ts;
1146
- enqueueSystemEvent(`Slack message edited in ${ingressContext.channelLabel}.`, {
1147
- sessionKey: ingressContext.sessionKey,
1148
- contextKey: `slack:message:changed:${channelId ?? "unknown"}:${messageId ?? changed.event_ts ?? "unknown"}`
1149
- });
1150
- return;
1151
- }
1152
- if (message.subtype === "message_deleted") {
1153
- const deleted = event;
1154
- const channelId = deleted.channel;
1155
- const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1156
- ctx,
1157
- senderId: resolveDeletedSenderId(deleted),
1158
- channelId,
1159
- eventKind: "message_deleted"
1160
- });
1161
- if (!ingressContext) return;
1162
- enqueueSystemEvent(`Slack message deleted in ${ingressContext.channelLabel}.`, {
1163
- sessionKey: ingressContext.sessionKey,
1164
- contextKey: `slack:message:deleted:${channelId ?? "unknown"}:${deleted.deleted_ts ?? deleted.event_ts ?? "unknown"}`
1165
- });
1166
- return;
1167
- }
1168
- if (message.subtype === "thread_broadcast") {
1169
- const thread = event;
1170
- const channelId = thread.channel;
1171
- const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1172
- ctx,
1173
- senderId: resolveThreadBroadcastSenderId(thread),
1174
- channelId,
1175
- eventKind: "thread_broadcast"
1176
- });
1177
- if (!ingressContext) return;
1178
- const messageId = thread.message?.ts ?? thread.event_ts;
1179
- enqueueSystemEvent(`Slack thread reply broadcast in ${ingressContext.channelLabel}.`, {
1180
- sessionKey: ingressContext.sessionKey,
1181
- contextKey: `slack:thread:broadcast:${channelId ?? "unknown"}:${messageId ?? "unknown"}`
1182
- });
1183
- return;
1184
- }
1185
- await handleSlackMessage(message, { source: "message" });
1186
- } catch (err) {
1187
- ctx.runtime.error?.(danger(`slack handler failed: ${String(err)}`));
1188
- }
1189
- });
1190
- ctx.app.event("app_mention", async ({ event, body }) => {
1191
- try {
1192
- if (ctx.shouldDropMismatchedSlackEvent(body)) return;
1193
- await handleSlackMessage(event, {
1194
- source: "app_mention",
1195
- wasMentioned: true
1196
- });
1197
- } catch (err) {
1198
- ctx.runtime.error?.(danger(`slack mention handler failed: ${String(err)}`));
1199
- }
1200
- });
1201
- }
1202
-
1203
- //#endregion
1204
- //#region src/slack/monitor/events/pins.ts
1205
- async function handleSlackPinEvent(params) {
1206
- const { ctx, body, event, action, contextKeySuffix, errorLabel } = params;
1207
- try {
1208
- if (ctx.shouldDropMismatchedSlackEvent(body)) return;
1209
- const payload = event;
1210
- const channelId = payload.channel_id;
1211
- const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1212
- ctx,
1213
- senderId: payload.user,
1214
- channelId,
1215
- eventKind: "pin"
1216
- });
1217
- if (!ingressContext) return;
1218
- const userLabel = (payload.user ? await ctx.resolveUserName(payload.user) : {})?.name ?? payload.user ?? "someone";
1219
- const itemType = payload.item?.type ?? "item";
1220
- const messageId = payload.item?.message?.ts ?? payload.event_ts;
1221
- enqueueSystemEvent(`Slack: ${userLabel} ${action} a ${itemType} in ${ingressContext.channelLabel}.`, {
1222
- sessionKey: ingressContext.sessionKey,
1223
- contextKey: `slack:pin:${contextKeySuffix}:${channelId ?? "unknown"}:${messageId ?? "unknown"}`
1224
- });
1225
- } catch (err) {
1226
- ctx.runtime.error?.(danger(`slack ${errorLabel} handler failed: ${String(err)}`));
1227
- }
1228
- }
1229
- function registerSlackPinEvents(params) {
1230
- const { ctx } = params;
1231
- ctx.app.event("pin_added", async ({ event, body }) => {
1232
- await handleSlackPinEvent({
1233
- ctx,
1234
- body,
1235
- event,
1236
- action: "pinned",
1237
- contextKeySuffix: "added",
1238
- errorLabel: "pin added"
1239
- });
1240
- });
1241
- ctx.app.event("pin_removed", async ({ event, body }) => {
1242
- await handleSlackPinEvent({
1243
- ctx,
1244
- body,
1245
- event,
1246
- action: "unpinned",
1247
- contextKeySuffix: "removed",
1248
- errorLabel: "pin removed"
1249
- });
1250
- });
1251
- }
1252
-
1253
- //#endregion
1254
- //#region src/slack/monitor/events/reactions.ts
1255
- function registerSlackReactionEvents(params) {
1256
- const { ctx } = params;
1257
- const handleReactionEvent = async (event, action) => {
1258
- try {
1259
- const item = event.item;
1260
- if (!item || item.type !== "message") return;
1261
- const ingressContext = await authorizeAndResolveSlackSystemEventContext({
1262
- ctx,
1263
- senderId: event.user,
1264
- channelId: item.channel,
1265
- eventKind: "reaction"
1266
- });
1267
- if (!ingressContext) return;
1268
- const actorInfoPromise = event.user ? ctx.resolveUserName(event.user) : Promise.resolve(void 0);
1269
- const authorInfoPromise = event.item_user ? ctx.resolveUserName(event.item_user) : Promise.resolve(void 0);
1270
- const [actorInfo, authorInfo] = await Promise.all([actorInfoPromise, authorInfoPromise]);
1271
- const actorLabel = actorInfo?.name ?? event.user;
1272
- const emojiLabel = event.reaction ?? "emoji";
1273
- const authorLabel = authorInfo?.name ?? event.item_user;
1274
- const baseText = `Slack reaction ${action}: :${emojiLabel}: by ${actorLabel} in ${ingressContext.channelLabel} msg ${item.ts}`;
1275
- enqueueSystemEvent(authorLabel ? `${baseText} from ${authorLabel}` : baseText, {
1276
- sessionKey: ingressContext.sessionKey,
1277
- contextKey: `slack:reaction:${action}:${item.channel}:${item.ts}:${event.user}:${emojiLabel}`
1278
- });
1279
- } catch (err) {
1280
- ctx.runtime.error?.(danger(`slack reaction handler failed: ${String(err)}`));
1281
- }
1282
- };
1283
- ctx.app.event("reaction_added", async ({ event, body }) => {
1284
- if (ctx.shouldDropMismatchedSlackEvent(body)) return;
1285
- await handleReactionEvent(event, "added");
1286
- });
1287
- ctx.app.event("reaction_removed", async ({ event, body }) => {
1288
- if (ctx.shouldDropMismatchedSlackEvent(body)) return;
1289
- await handleReactionEvent(event, "removed");
1290
- });
1291
- }
1292
-
1293
- //#endregion
1294
- //#region src/slack/monitor/events.ts
1295
- function registerSlackMonitorEvents(params) {
1296
- registerSlackMessageEvents({
1297
- ctx: params.ctx,
1298
- handleSlackMessage: params.handleSlackMessage
1299
- });
1300
- registerSlackReactionEvents({ ctx: params.ctx });
1301
- registerSlackMemberEvents({ ctx: params.ctx });
1302
- registerSlackChannelEvents({ ctx: params.ctx });
1303
- registerSlackPinEvents({ ctx: params.ctx });
1304
- registerSlackInteractionEvents({ ctx: params.ctx });
1305
- }
1306
-
1307
- //#endregion
1308
- //#region src/slack/draft-stream.ts
1309
- const SLACK_STREAM_MAX_CHARS = 4e3;
1310
- const DEFAULT_THROTTLE_MS = 1e3;
1311
- function createSlackDraftStream(params) {
1312
- const maxChars = Math.min(params.maxChars ?? SLACK_STREAM_MAX_CHARS, SLACK_STREAM_MAX_CHARS);
1313
- const throttleMs = Math.max(250, params.throttleMs ?? DEFAULT_THROTTLE_MS);
1314
- const send = params.send ?? sendMessageSlack;
1315
- const edit = params.edit ?? editSlackMessage;
1316
- const remove = params.remove ?? deleteSlackMessage;
1317
- let streamMessageId;
1318
- let streamChannelId;
1319
- let lastSentText = "";
1320
- let stopped = false;
1321
- const sendOrEditStreamMessage = async (text) => {
1322
- if (stopped) return;
1323
- const trimmed = text.trimEnd();
1324
- if (!trimmed) return;
1325
- if (trimmed.length > maxChars) {
1326
- stopped = true;
1327
- params.warn?.(`slack stream preview stopped (text length ${trimmed.length} > ${maxChars})`);
1328
- return;
1329
- }
1330
- if (trimmed === lastSentText) return;
1331
- lastSentText = trimmed;
1332
- try {
1333
- if (streamChannelId && streamMessageId) {
1334
- await edit(streamChannelId, streamMessageId, trimmed, {
1335
- token: params.token,
1336
- accountId: params.accountId
1337
- });
1338
- return;
1339
- }
1340
- const sent = await send(params.target, trimmed, {
1341
- token: params.token,
1342
- accountId: params.accountId,
1343
- threadTs: params.resolveThreadTs?.()
1344
- });
1345
- streamChannelId = sent.channelId || streamChannelId;
1346
- streamMessageId = sent.messageId || streamMessageId;
1347
- if (!streamChannelId || !streamMessageId) {
1348
- stopped = true;
1349
- params.warn?.("slack stream preview stopped (missing identifiers from sendMessage)");
1350
- return;
1351
- }
1352
- params.onMessageSent?.();
1353
- } catch (err) {
1354
- stopped = true;
1355
- params.warn?.(`slack stream preview failed: ${err instanceof Error ? err.message : String(err)}`);
1356
- }
1357
- };
1358
- const loop = createDraftStreamLoop({
1359
- throttleMs,
1360
- isStopped: () => stopped,
1361
- sendOrEditStreamMessage
1362
- });
1363
- const stop = () => {
1364
- stopped = true;
1365
- loop.stop();
1366
- };
1367
- const clear = async () => {
1368
- stop();
1369
- await loop.waitForInFlight();
1370
- const channelId = streamChannelId;
1371
- const messageId = streamMessageId;
1372
- streamChannelId = void 0;
1373
- streamMessageId = void 0;
1374
- lastSentText = "";
1375
- if (!channelId || !messageId) return;
1376
- try {
1377
- await remove(channelId, messageId, {
1378
- token: params.token,
1379
- accountId: params.accountId
1380
- });
1381
- } catch (err) {
1382
- params.warn?.(`slack stream preview cleanup failed: ${err instanceof Error ? err.message : String(err)}`);
1383
- }
1384
- };
1385
- const forceNewMessage = () => {
1386
- streamMessageId = void 0;
1387
- streamChannelId = void 0;
1388
- lastSentText = "";
1389
- loop.resetPending();
1390
- };
1391
- params.log?.(`slack stream preview ready (maxChars=${maxChars}, throttleMs=${throttleMs})`);
1392
- return {
1393
- update: loop.update,
1394
- flush: loop.flush,
1395
- clear,
1396
- stop,
1397
- forceNewMessage,
1398
- messageId: () => streamMessageId,
1399
- channelId: () => streamChannelId
1400
- };
1401
- }
1402
-
1403
- //#endregion
1404
- //#region src/slack/stream-mode.ts
1405
- function resolveSlackStreamingConfig(params) {
1406
- const mode = resolveSlackStreamingMode(params);
1407
- return {
1408
- mode,
1409
- nativeStreaming: resolveSlackNativeStreaming(params),
1410
- draftMode: mapStreamingModeToSlackLegacyDraftStreamMode(mode)
1411
- };
1412
- }
1413
- function applyAppendOnlyStreamUpdate(params) {
1414
- const incoming = params.incoming.trimEnd();
1415
- if (!incoming) return {
1416
- rendered: params.rendered,
1417
- source: params.source,
1418
- changed: false
1419
- };
1420
- if (!params.rendered) return {
1421
- rendered: incoming,
1422
- source: incoming,
1423
- changed: true
1424
- };
1425
- if (incoming === params.source) return {
1426
- rendered: params.rendered,
1427
- source: params.source,
1428
- changed: false
1429
- };
1430
- if (incoming.startsWith(params.source) || incoming.startsWith(params.rendered)) return {
1431
- rendered: incoming,
1432
- source: incoming,
1433
- changed: incoming !== params.rendered
1434
- };
1435
- if (params.source.startsWith(incoming)) return {
1436
- rendered: params.rendered,
1437
- source: params.source,
1438
- changed: false
1439
- };
1440
- const separator = params.rendered.endsWith("\n") ? "" : "\n";
1441
- return {
1442
- rendered: `${params.rendered}${separator}${incoming}`,
1443
- source: incoming,
1444
- changed: true
1445
- };
1446
- }
1447
- function buildStatusFinalPreviewText(updateCount) {
1448
- return `Status: thinking${".".repeat(Math.max(1, updateCount) % 3 + 1)}`;
1449
- }
1450
-
1451
- //#endregion
1452
- //#region src/slack/streaming.ts
1453
- /**
1454
- * Start a new Slack text stream.
1455
- *
1456
- * Returns a {@link SlackStreamSession} that should be passed to
1457
- * {@link appendSlackStream} and {@link stopSlackStream}.
1458
- *
1459
- * The first chunk of text can optionally be included via `text`.
1460
- */
1461
- async function startSlackStream(params) {
1462
- const { client, channel, threadTs, text, teamId, userId } = params;
1463
- logVerbose(`slack-stream: starting stream in ${channel} thread=${threadTs}${teamId ? ` team=${teamId}` : ""}${userId ? ` user=${userId}` : ""}`);
1464
- const streamer = client.chatStream({
1465
- channel,
1466
- thread_ts: threadTs,
1467
- ...teamId ? { recipient_team_id: teamId } : {},
1468
- ...userId ? { recipient_user_id: userId } : {}
1469
- });
1470
- const session = {
1471
- streamer,
1472
- channel,
1473
- threadTs,
1474
- stopped: false
1475
- };
1476
- if (text) {
1477
- await streamer.append({ markdown_text: text });
1478
- logVerbose(`slack-stream: appended initial text (${text.length} chars)`);
1479
- }
1480
- return session;
1481
- }
1482
- /**
1483
- * Append markdown text to an active Slack stream.
1484
- */
1485
- async function appendSlackStream(params) {
1486
- const { session, text } = params;
1487
- if (session.stopped) {
1488
- logVerbose("slack-stream: attempted to append to a stopped stream, ignoring");
1489
- return;
1490
- }
1491
- if (!text) return;
1492
- await session.streamer.append({ markdown_text: text });
1493
- logVerbose(`slack-stream: appended ${text.length} chars`);
1494
- }
1495
- /**
1496
- * Stop (finalize) a Slack stream.
1497
- *
1498
- * After calling this the stream message becomes a normal Slack message.
1499
- * Optionally include final text to append before stopping.
1500
- */
1501
- async function stopSlackStream(params) {
1502
- const { session, text } = params;
1503
- if (session.stopped) {
1504
- logVerbose("slack-stream: stream already stopped, ignoring duplicate stop");
1505
- return;
1506
- }
1507
- session.stopped = true;
1508
- logVerbose(`slack-stream: stopping stream in ${session.channel} thread=${session.threadTs}${text ? ` (final text: ${text.length} chars)` : ""}`);
1509
- await session.streamer.stop(text ? { markdown_text: text } : void 0);
1510
- logVerbose("slack-stream: stream stopped");
1511
- }
1512
-
1513
- //#endregion
1514
- //#region src/slack/threading.ts
1515
- function resolveSlackThreadContext(params) {
1516
- const incomingThreadTs = params.message.thread_ts;
1517
- const eventTs = params.message.event_ts;
1518
- const messageTs = params.message.ts ?? eventTs;
1519
- const isThreadReply = typeof incomingThreadTs === "string" && incomingThreadTs.length > 0 && (incomingThreadTs !== messageTs || Boolean(params.message.parent_user_id));
1520
- return {
1521
- incomingThreadTs,
1522
- messageTs,
1523
- isThreadReply,
1524
- replyToId: incomingThreadTs ?? messageTs,
1525
- messageThreadId: isThreadReply ? incomingThreadTs : params.replyToMode === "all" ? messageTs : void 0
1526
- };
1527
- }
1528
- /**
1529
- * Resolves Slack thread targeting for replies and status indicators.
1530
- *
1531
- * @returns replyThreadTs - Thread timestamp for reply messages
1532
- * @returns statusThreadTs - Thread timestamp for status indicators (typing, etc.)
1533
- * @returns isThreadReply - true if this is a genuine user reply in a thread,
1534
- * false if thread_ts comes from a bot status message (e.g. typing indicator)
1535
- */
1536
- function resolveSlackThreadTargets(params) {
1537
- const { incomingThreadTs, messageTs, isThreadReply } = resolveSlackThreadContext(params);
1538
- const replyThreadTs = isThreadReply ? incomingThreadTs : params.replyToMode === "all" ? messageTs : void 0;
1539
- return {
1540
- replyThreadTs,
1541
- statusThreadTs: replyThreadTs,
1542
- isThreadReply
1543
- };
1544
- }
1545
-
1546
- //#endregion
1547
- //#region src/slack/monitor/message-handler/dispatch.ts
1548
- function hasMedia(payload) {
1549
- return Boolean(payload.mediaUrl) || (payload.mediaUrls?.length ?? 0) > 0;
1550
- }
1551
- function isSlackStreamingEnabled(params) {
1552
- if (params.mode !== "partial") return false;
1553
- return params.nativeStreaming;
1554
- }
1555
- function resolveSlackStreamingThreadHint(params) {
1556
- return resolveSlackThreadTs({
1557
- replyToMode: params.replyToMode,
1558
- incomingThreadTs: params.incomingThreadTs,
1559
- messageTs: params.messageTs,
1560
- hasReplied: false,
1561
- isThreadReply: params.isThreadReply
1562
- });
1563
- }
1564
- function shouldUseStreaming(params) {
1565
- if (!params.streamingEnabled) return false;
1566
- if (!params.threadTs) {
1567
- logVerbose("slack-stream: streaming disabled — no reply thread target available");
1568
- return false;
1569
- }
1570
- return true;
1571
- }
1572
- async function dispatchPreparedSlackMessage(prepared) {
1573
- const { ctx, account, message, route } = prepared;
1574
- const cfg = ctx.cfg;
1575
- const runtime = ctx.runtime;
1576
- if (prepared.isDirectMessage) {
1577
- const sessionCfg = cfg.session;
1578
- await updateLastRoute({
1579
- storePath: resolveStorePath(sessionCfg?.store, { agentId: route.agentId }),
1580
- sessionKey: route.mainSessionKey,
1581
- deliveryContext: {
1582
- channel: "slack",
1583
- to: `user:${message.user}`,
1584
- accountId: route.accountId,
1585
- threadId: prepared.ctxPayload.MessageThreadId
1586
- },
1587
- ctx: prepared.ctxPayload
1588
- });
1589
- }
1590
- const { statusThreadTs, isThreadReply } = resolveSlackThreadTargets({
1591
- message,
1592
- replyToMode: ctx.replyToMode
1593
- });
1594
- const messageTs = message.ts ?? message.event_ts;
1595
- const incomingThreadTs = message.thread_ts;
1596
- let didSetStatus = false;
1597
- const hasRepliedRef = { value: false };
1598
- const replyPlan = createSlackReplyDeliveryPlan({
1599
- replyToMode: ctx.replyToMode,
1600
- incomingThreadTs,
1601
- messageTs,
1602
- hasRepliedRef,
1603
- isThreadReply
1604
- });
1605
- const typingTarget = statusThreadTs ? `${message.channel}/${statusThreadTs}` : message.channel;
1606
- const typingCallbacks = createTypingCallbacks({
1607
- start: async () => {
1608
- didSetStatus = true;
1609
- await ctx.setSlackThreadStatus({
1610
- channelId: message.channel,
1611
- threadTs: statusThreadTs,
1612
- status: "is typing..."
1613
- });
1614
- },
1615
- stop: async () => {
1616
- if (!didSetStatus) return;
1617
- didSetStatus = false;
1618
- await ctx.setSlackThreadStatus({
1619
- channelId: message.channel,
1620
- threadTs: statusThreadTs,
1621
- status: ""
1622
- });
1623
- },
1624
- onStartError: (err) => {
1625
- logTypingFailure({
1626
- log: (message) => runtime.error?.(danger(message)),
1627
- channel: "slack",
1628
- action: "start",
1629
- target: typingTarget,
1630
- error: err
1631
- });
1632
- },
1633
- onStopError: (err) => {
1634
- logTypingFailure({
1635
- log: (message) => runtime.error?.(danger(message)),
1636
- channel: "slack",
1637
- action: "stop",
1638
- target: typingTarget,
1639
- error: err
1640
- });
1641
- }
1642
- });
1643
- const { onModelSelected, ...prefixOptions } = createReplyPrefixOptions({
1644
- cfg,
1645
- agentId: route.agentId,
1646
- channel: "slack",
1647
- accountId: route.accountId
1648
- });
1649
- const slackStreaming = resolveSlackStreamingConfig({
1650
- streaming: account.config.streaming,
1651
- streamMode: account.config.streamMode,
1652
- nativeStreaming: account.config.nativeStreaming
1653
- });
1654
- const previewStreamingEnabled = slackStreaming.mode !== "off";
1655
- const useStreaming = shouldUseStreaming({
1656
- streamingEnabled: isSlackStreamingEnabled({
1657
- mode: slackStreaming.mode,
1658
- nativeStreaming: slackStreaming.nativeStreaming
1659
- }),
1660
- threadTs: resolveSlackStreamingThreadHint({
1661
- replyToMode: ctx.replyToMode,
1662
- incomingThreadTs,
1663
- messageTs,
1664
- isThreadReply
1665
- })
1666
- });
1667
- let streamSession = null;
1668
- let streamFailed = false;
1669
- const deliverNormally = async (payload, forcedThreadTs) => {
1670
- const replyThreadTs = forcedThreadTs ?? replyPlan.nextThreadTs();
1671
- await deliverReplies({
1672
- replies: [payload],
1673
- target: prepared.replyTarget,
1674
- token: ctx.botToken,
1675
- accountId: account.accountId,
1676
- runtime,
1677
- textLimit: ctx.textLimit,
1678
- replyThreadTs,
1679
- replyToMode: ctx.replyToMode
1680
- });
1681
- replyPlan.markSent();
1682
- };
1683
- const deliverWithStreaming = async (payload) => {
1684
- if (streamFailed || hasMedia(payload) || !payload.text?.trim()) {
1685
- await deliverNormally(payload, streamSession?.threadTs);
1686
- return;
1687
- }
1688
- const text = payload.text.trim();
1689
- let plannedThreadTs;
1690
- try {
1691
- if (!streamSession) {
1692
- const streamThreadTs = replyPlan.nextThreadTs();
1693
- plannedThreadTs = streamThreadTs;
1694
- if (!streamThreadTs) {
1695
- logVerbose("slack-stream: no reply thread target for stream start, falling back to normal delivery");
1696
- streamFailed = true;
1697
- await deliverNormally(payload);
1698
- return;
1699
- }
1700
- streamSession = await startSlackStream({
1701
- client: ctx.app.client,
1702
- channel: message.channel,
1703
- threadTs: streamThreadTs,
1704
- text,
1705
- teamId: ctx.teamId,
1706
- userId: message.user
1707
- });
1708
- replyPlan.markSent();
1709
- return;
1710
- }
1711
- await appendSlackStream({
1712
- session: streamSession,
1713
- text: "\n" + text
1714
- });
1715
- } catch (err) {
1716
- runtime.error?.(danger(`slack-stream: streaming API call failed: ${String(err)}, falling back`));
1717
- streamFailed = true;
1718
- await deliverNormally(payload, streamSession?.threadTs ?? plannedThreadTs);
1719
- }
1720
- };
1721
- const { dispatcher, replyOptions, markDispatchIdle } = createReplyDispatcherWithTyping({
1722
- ...prefixOptions,
1723
- humanDelay: resolveHumanDelayConfig(cfg, route.agentId),
1724
- typingCallbacks,
1725
- deliver: async (payload) => {
1726
- if (useStreaming) {
1727
- await deliverWithStreaming(payload);
1728
- return;
1729
- }
1730
- const mediaCount = payload.mediaUrls?.length ?? (payload.mediaUrl ? 1 : 0);
1731
- const draftMessageId = draftStream?.messageId();
1732
- const draftChannelId = draftStream?.channelId();
1733
- const finalText = payload.text;
1734
- if (previewStreamingEnabled && streamMode !== "status_final" && mediaCount === 0 && !payload.isError && typeof finalText === "string" && finalText.trim().length > 0 && typeof draftMessageId === "string" && typeof draftChannelId === "string") {
1735
- draftStream?.stop();
1736
- try {
1737
- await ctx.app.client.chat.update({
1738
- token: ctx.botToken,
1739
- channel: draftChannelId,
1740
- ts: draftMessageId,
1741
- text: finalText.trim()
1742
- });
1743
- return;
1744
- } catch (err) {
1745
- logVerbose(`slack: preview final edit failed; falling back to standard send (${String(err)})`);
1746
- }
1747
- } else if (previewStreamingEnabled && streamMode === "status_final" && hasStreamedMessage) try {
1748
- const statusChannelId = draftStream?.channelId();
1749
- const statusMessageId = draftStream?.messageId();
1750
- if (statusChannelId && statusMessageId) await ctx.app.client.chat.update({
1751
- token: ctx.botToken,
1752
- channel: statusChannelId,
1753
- ts: statusMessageId,
1754
- text: "Status: complete. Final answer posted below."
1755
- });
1756
- } catch (err) {
1757
- logVerbose(`slack: status_final completion update failed (${String(err)})`);
1758
- }
1759
- else if (mediaCount > 0) {
1760
- await draftStream?.clear();
1761
- hasStreamedMessage = false;
1762
- }
1763
- await deliverNormally(payload);
1764
- },
1765
- onError: (err, info) => {
1766
- runtime.error?.(danger(`slack ${info.kind} reply failed: ${String(err)}`));
1767
- typingCallbacks.onIdle?.();
1768
- }
1769
- });
1770
- const draftStream = createSlackDraftStream({
1771
- target: prepared.replyTarget,
1772
- token: ctx.botToken,
1773
- accountId: account.accountId,
1774
- maxChars: Math.min(ctx.textLimit, 4e3),
1775
- resolveThreadTs: () => replyPlan.peekThreadTs(),
1776
- log: logVerbose,
1777
- warn: logVerbose
1778
- });
1779
- let hasStreamedMessage = false;
1780
- const streamMode = slackStreaming.draftMode;
1781
- let appendRenderedText = "";
1782
- let appendSourceText = "";
1783
- let statusUpdateCount = 0;
1784
- const updateDraftFromPartial = (text) => {
1785
- const trimmed = text?.trimEnd();
1786
- if (!trimmed) return;
1787
- if (streamMode === "append") {
1788
- const next = applyAppendOnlyStreamUpdate({
1789
- incoming: trimmed,
1790
- rendered: appendRenderedText,
1791
- source: appendSourceText
1792
- });
1793
- appendRenderedText = next.rendered;
1794
- appendSourceText = next.source;
1795
- if (!next.changed) return;
1796
- draftStream.update(next.rendered);
1797
- hasStreamedMessage = true;
1798
- return;
1799
- }
1800
- if (streamMode === "status_final") {
1801
- statusUpdateCount += 1;
1802
- if (statusUpdateCount > 1 && statusUpdateCount % 4 !== 0) return;
1803
- draftStream.update(buildStatusFinalPreviewText(statusUpdateCount));
1804
- hasStreamedMessage = true;
1805
- return;
1806
- }
1807
- draftStream.update(trimmed);
1808
- hasStreamedMessage = true;
1809
- };
1810
- const onDraftBoundary = useStreaming || !previewStreamingEnabled ? void 0 : async () => {
1811
- if (hasStreamedMessage) {
1812
- draftStream.forceNewMessage();
1813
- hasStreamedMessage = false;
1814
- appendRenderedText = "";
1815
- appendSourceText = "";
1816
- statusUpdateCount = 0;
1817
- }
1818
- };
1819
- const { queuedFinal, counts } = await dispatchInboundMessage({
1820
- ctx: prepared.ctxPayload,
1821
- cfg,
1822
- dispatcher,
1823
- replyOptions: {
1824
- ...replyOptions,
1825
- skillFilter: prepared.channelConfig?.skills,
1826
- hasRepliedRef,
1827
- disableBlockStreaming: useStreaming ? true : typeof account.config.blockStreaming === "boolean" ? !account.config.blockStreaming : void 0,
1828
- onModelSelected,
1829
- onPartialReply: useStreaming ? void 0 : !previewStreamingEnabled ? void 0 : async (payload) => {
1830
- updateDraftFromPartial(payload.text);
1831
- },
1832
- onAssistantMessageStart: onDraftBoundary,
1833
- onReasoningEnd: onDraftBoundary
1834
- }
1835
- });
1836
- await draftStream.flush();
1837
- draftStream.stop();
1838
- markDispatchIdle();
1839
- const finalStream = streamSession;
1840
- if (finalStream && !finalStream.stopped) try {
1841
- await stopSlackStream({ session: finalStream });
1842
- } catch (err) {
1843
- runtime.error?.(danger(`slack-stream: failed to stop stream: ${String(err)}`));
1844
- }
1845
- if (!(queuedFinal || (counts.block ?? 0) > 0 || (counts.final ?? 0) > 0)) {
1846
- await draftStream.clear();
1847
- if (prepared.isRoomish) clearHistoryEntriesIfEnabled({
1848
- historyMap: ctx.channelHistories,
1849
- historyKey: prepared.historyKey,
1850
- limit: ctx.historyLimit
1851
- });
1852
- return;
1853
- }
1854
- if (shouldLogVerbose()) {
1855
- const finalCount = counts.final;
1856
- logVerbose(`slack: delivered ${finalCount} reply${finalCount === 1 ? "" : "ies"} to ${prepared.replyTarget}`);
1857
- }
1858
- removeAckReactionAfterReply({
1859
- removeAfterReply: ctx.removeAckAfterReply,
1860
- ackReactionPromise: prepared.ackReactionPromise,
1861
- ackReactionValue: prepared.ackReactionValue,
1862
- remove: () => removeSlackReaction(message.channel, prepared.ackReactionMessageTs ?? "", prepared.ackReactionValue, {
1863
- token: ctx.botToken,
1864
- client: ctx.app.client
1865
- }),
1866
- onError: (err) => {
1867
- logAckFailure({
1868
- log: logVerbose,
1869
- channel: "slack",
1870
- target: `${message.channel}/${message.ts}`,
1871
- error: err
1872
- });
1873
- }
1874
- });
1875
- if (prepared.isRoomish) clearHistoryEntriesIfEnabled({
1876
- historyMap: ctx.channelHistories,
1877
- historyKey: prepared.historyKey,
1878
- limit: ctx.historyLimit
1879
- });
1880
- }
1881
-
1882
- //#endregion
1883
- //#region src/slack/monitor/dm-auth.ts
1884
- async function authorizeSlackDirectMessage(params) {
1885
- if (!params.ctx.dmEnabled || params.ctx.dmPolicy === "disabled") {
1886
- await params.onDisabled();
1887
- return false;
1888
- }
1889
- if (params.ctx.dmPolicy === "open") return true;
1890
- const senderName = (await params.resolveSenderName(params.senderId))?.name ?? void 0;
1891
- const allowMatch = resolveSlackAllowListMatch({
1892
- allowList: params.allowFromLower,
1893
- id: params.senderId,
1894
- name: senderName,
1895
- allowNameMatching: params.ctx.allowNameMatching
1896
- });
1897
- const allowMatchMeta = formatAllowlistMatchMeta(allowMatch);
1898
- if (allowMatch.allowed) return true;
1899
- if (params.ctx.dmPolicy === "pairing") {
1900
- await issuePairingChallenge({
1901
- channel: "slack",
1902
- senderId: params.senderId,
1903
- senderIdLine: `Your Slack user id: ${params.senderId}`,
1904
- meta: { name: senderName },
1905
- upsertPairingRequest: async ({ id, meta }) => await upsertChannelPairingRequest({
1906
- channel: "slack",
1907
- id,
1908
- accountId: params.accountId,
1909
- meta
1910
- }),
1911
- sendPairingReply: params.sendPairingReply,
1912
- onCreated: () => {
1913
- params.log(`slack pairing request sender=${params.senderId} name=${senderName ?? "unknown"} (${allowMatchMeta})`);
1914
- },
1915
- onReplyError: (err) => {
1916
- params.log(`slack pairing reply failed for ${params.senderId}: ${String(err)}`);
1917
- }
1918
- });
1919
- return false;
1920
- }
1921
- await params.onUnauthorized({
1922
- allowMatchMeta,
1923
- senderName
1924
- });
1925
- return false;
1926
- }
1927
-
1928
- //#endregion
1929
- //#region src/slack/monitor/media.ts
1930
- function isSlackHostname(hostname) {
1931
- const normalized = normalizeHostname(hostname);
1932
- if (!normalized) return false;
1933
- return [
1934
- "slack.com",
1935
- "slack-edge.com",
1936
- "slack-files.com"
1937
- ].some((suffix) => normalized === suffix || normalized.endsWith(`.${suffix}`));
1938
- }
1939
- function assertSlackFileUrl(rawUrl) {
1940
- let parsed;
1941
- try {
1942
- parsed = new URL(rawUrl);
1943
- } catch {
1944
- throw new Error(`Invalid Slack file URL: ${rawUrl}`);
1945
- }
1946
- if (parsed.protocol !== "https:") throw new Error(`Refusing Slack file URL with non-HTTPS protocol: ${parsed.protocol}`);
1947
- if (!isSlackHostname(parsed.hostname)) throw new Error(`Refusing to send Slack token to non-Slack host "${parsed.hostname}" (url: ${rawUrl})`);
1948
- return parsed;
1949
- }
1950
- function resolveRequestUrl(input) {
1951
- if (typeof input === "string") return input;
1952
- if (input instanceof URL) return input.toString();
1953
- if ("url" in input && typeof input.url === "string") return input.url;
1954
- throw new Error("Unsupported fetch input: expected string, URL, or Request");
1955
- }
1956
- function createSlackMediaFetch(token) {
1957
- let includeAuth = true;
1958
- return async (input, init) => {
1959
- const url = resolveRequestUrl(input);
1960
- const { headers: initHeaders, redirect: _redirect, ...rest } = init ?? {};
1961
- const headers = new Headers(initHeaders);
1962
- if (includeAuth) {
1963
- includeAuth = false;
1964
- const parsed = assertSlackFileUrl(url);
1965
- headers.set("Authorization", `Bearer ${token}`);
1966
- return fetch(parsed.href, {
1967
- ...rest,
1968
- headers,
1969
- redirect: "manual"
1970
- });
1971
- }
1972
- headers.delete("Authorization");
1973
- return fetch(url, {
1974
- ...rest,
1975
- headers,
1976
- redirect: "manual"
1977
- });
1978
- };
1979
- }
1980
- /**
1981
- * Slack voice messages (audio clips, huddle recordings) carry a `subtype` of
1982
- * `"slack_audio"` but are served with a `video/*` MIME type (e.g. `video/mp4`,
1983
- * `video/webm`). Override the primary type to `audio/` so the
1984
- * media-understanding pipeline routes them to transcription.
1985
- */
1986
- function resolveSlackMediaMimetype(file, fetchedContentType) {
1987
- const mime = fetchedContentType ?? file.mimetype;
1988
- if (file.subtype === "slack_audio" && mime?.startsWith("video/")) return mime.replace("video/", "audio/");
1989
- return mime;
1990
- }
1991
- const MAX_SLACK_MEDIA_FILES = 8;
1992
- const MAX_SLACK_MEDIA_CONCURRENCY = 3;
1993
- const MAX_SLACK_FORWARDED_ATTACHMENTS = 8;
1994
- function isForwardedSlackAttachment(attachment) {
1995
- return attachment.is_share === true;
1996
- }
1997
- function resolveForwardedAttachmentImageUrl(attachment) {
1998
- const rawUrl = attachment.image_url?.trim();
1999
- if (!rawUrl) return null;
2000
- try {
2001
- const parsed = new URL(rawUrl);
2002
- if (parsed.protocol !== "https:" || !isSlackHostname(parsed.hostname)) return null;
2003
- return parsed.toString();
2004
- } catch {
2005
- return null;
2006
- }
2007
- }
2008
- async function mapLimit(items, limit, fn) {
2009
- if (items.length === 0) return [];
2010
- const results = [];
2011
- results.length = items.length;
2012
- let nextIndex = 0;
2013
- const workerCount = Math.max(1, Math.min(limit, items.length));
2014
- await Promise.all(Array.from({ length: workerCount }, async () => {
2015
- while (true) {
2016
- const idx = nextIndex++;
2017
- if (idx >= items.length) return;
2018
- results[idx] = await fn(items[idx]);
2019
- }
2020
- }));
2021
- return results;
2022
- }
2023
- /**
2024
- * Downloads all files attached to a Slack message and returns them as an array.
2025
- * Returns `null` when no files could be downloaded.
2026
- */
2027
- async function resolveSlackMedia(params) {
2028
- const files = params.files ?? [];
2029
- const results = (await mapLimit(files.length > MAX_SLACK_MEDIA_FILES ? files.slice(0, MAX_SLACK_MEDIA_FILES) : files, MAX_SLACK_MEDIA_CONCURRENCY, async (file) => {
2030
- const url = file.url_private_download ?? file.url_private;
2031
- if (!url) return null;
2032
- try {
2033
- const fetched = await fetchRemoteMedia({
2034
- url,
2035
- fetchImpl: createSlackMediaFetch(params.token),
2036
- filePathHint: file.name,
2037
- maxBytes: params.maxBytes
2038
- });
2039
- if (fetched.buffer.byteLength > params.maxBytes) return null;
2040
- const effectiveMime = resolveSlackMediaMimetype(file, fetched.contentType);
2041
- const saved = await saveMediaBuffer(fetched.buffer, effectiveMime, "inbound", params.maxBytes);
2042
- const label = fetched.fileName ?? file.name;
2043
- const contentType = effectiveMime ?? saved.contentType;
2044
- return {
2045
- path: saved.path,
2046
- ...contentType ? { contentType } : {},
2047
- placeholder: label ? `[Slack file: ${label}]` : "[Slack file]"
2048
- };
2049
- } catch {
2050
- return null;
2051
- }
2052
- })).filter((entry) => Boolean(entry));
2053
- return results.length > 0 ? results : null;
2054
- }
2055
- /** Extracts text and media from forwarded-message attachments. Returns null when empty. */
2056
- async function resolveSlackAttachmentContent(params) {
2057
- const attachments = params.attachments;
2058
- if (!attachments || attachments.length === 0) return null;
2059
- const forwardedAttachments = attachments.filter((attachment) => isForwardedSlackAttachment(attachment)).slice(0, MAX_SLACK_FORWARDED_ATTACHMENTS);
2060
- if (forwardedAttachments.length === 0) return null;
2061
- const textBlocks = [];
2062
- const allMedia = [];
2063
- for (const att of forwardedAttachments) {
2064
- const text = att.text?.trim() || att.fallback?.trim();
2065
- if (text) {
2066
- const author = att.author_name;
2067
- const heading = author ? `[Forwarded message from ${author}]` : "[Forwarded message]";
2068
- textBlocks.push(`${heading}\n${text}`);
2069
- }
2070
- const imageUrl = resolveForwardedAttachmentImageUrl(att);
2071
- if (imageUrl) try {
2072
- const fetched = await fetchRemoteMedia({
2073
- url: imageUrl,
2074
- maxBytes: params.maxBytes
2075
- });
2076
- if (fetched.buffer.byteLength <= params.maxBytes) {
2077
- const saved = await saveMediaBuffer(fetched.buffer, fetched.contentType, "inbound", params.maxBytes);
2078
- const label = fetched.fileName ?? "forwarded image";
2079
- allMedia.push({
2080
- path: saved.path,
2081
- contentType: fetched.contentType ?? saved.contentType,
2082
- placeholder: `[Forwarded image: ${label}]`
2083
- });
2084
- }
2085
- } catch {}
2086
- if (att.files && att.files.length > 0) {
2087
- const fileMedia = await resolveSlackMedia({
2088
- files: att.files,
2089
- token: params.token,
2090
- maxBytes: params.maxBytes
2091
- });
2092
- if (fileMedia) allMedia.push(...fileMedia);
2093
- }
2094
- }
2095
- const combinedText = textBlocks.join("\n\n");
2096
- if (!combinedText && allMedia.length === 0) return null;
2097
- return {
2098
- text: combinedText,
2099
- media: allMedia
2100
- };
2101
- }
2102
- const THREAD_STARTER_CACHE = /* @__PURE__ */ new Map();
2103
- const THREAD_STARTER_CACHE_TTL_MS = 360 * 6e4;
2104
- const THREAD_STARTER_CACHE_MAX = 2e3;
2105
- function evictThreadStarterCache() {
2106
- const now = Date.now();
2107
- for (const [cacheKey, entry] of THREAD_STARTER_CACHE.entries()) if (now - entry.cachedAt > THREAD_STARTER_CACHE_TTL_MS) THREAD_STARTER_CACHE.delete(cacheKey);
2108
- if (THREAD_STARTER_CACHE.size <= THREAD_STARTER_CACHE_MAX) return;
2109
- const excess = THREAD_STARTER_CACHE.size - THREAD_STARTER_CACHE_MAX;
2110
- let removed = 0;
2111
- for (const cacheKey of THREAD_STARTER_CACHE.keys()) {
2112
- THREAD_STARTER_CACHE.delete(cacheKey);
2113
- removed += 1;
2114
- if (removed >= excess) break;
2115
- }
2116
- }
2117
- async function resolveSlackThreadStarter(params) {
2118
- evictThreadStarterCache();
2119
- const cacheKey = `${params.channelId}:${params.threadTs}`;
2120
- const cached = THREAD_STARTER_CACHE.get(cacheKey);
2121
- if (cached && Date.now() - cached.cachedAt <= THREAD_STARTER_CACHE_TTL_MS) return cached.value;
2122
- if (cached) THREAD_STARTER_CACHE.delete(cacheKey);
2123
- try {
2124
- const message = (await params.client.conversations.replies({
2125
- channel: params.channelId,
2126
- ts: params.threadTs,
2127
- limit: 1,
2128
- inclusive: true
2129
- }))?.messages?.[0];
2130
- const text = (message?.text ?? "").trim();
2131
- if (!message || !text) return null;
2132
- const starter = {
2133
- text,
2134
- userId: message.user,
2135
- ts: message.ts,
2136
- files: message.files
2137
- };
2138
- if (THREAD_STARTER_CACHE.has(cacheKey)) THREAD_STARTER_CACHE.delete(cacheKey);
2139
- THREAD_STARTER_CACHE.set(cacheKey, {
2140
- value: starter,
2141
- cachedAt: Date.now()
2142
- });
2143
- evictThreadStarterCache();
2144
- return starter;
2145
- } catch {
2146
- return null;
2147
- }
2148
- }
2149
- /**
2150
- * Fetches the most recent messages in a Slack thread (excluding the current message).
2151
- * Used to populate thread context when a new thread session starts.
2152
- *
2153
- * Uses cursor pagination and keeps only the latest N retained messages so long threads
2154
- * still produce up-to-date context without unbounded memory growth.
2155
- */
2156
- async function resolveSlackThreadHistory(params) {
2157
- const maxMessages = params.limit ?? 20;
2158
- if (!Number.isFinite(maxMessages) || maxMessages <= 0) return [];
2159
- const fetchLimit = 200;
2160
- const retained = [];
2161
- let cursor;
2162
- try {
2163
- do {
2164
- const response = await params.client.conversations.replies({
2165
- channel: params.channelId,
2166
- ts: params.threadTs,
2167
- limit: fetchLimit,
2168
- inclusive: true,
2169
- ...cursor ? { cursor } : {}
2170
- });
2171
- for (const msg of response.messages ?? []) {
2172
- if (!msg.text?.trim() && !msg.files?.length) continue;
2173
- if (params.currentMessageTs && msg.ts === params.currentMessageTs) continue;
2174
- retained.push(msg);
2175
- if (retained.length > maxMessages) retained.shift();
2176
- }
2177
- const next = response.response_metadata?.next_cursor;
2178
- cursor = typeof next === "string" && next.trim().length > 0 ? next.trim() : void 0;
2179
- } while (cursor);
2180
- return retained.map((msg) => ({
2181
- text: msg.text?.trim() ? msg.text : `[attached: ${msg.files?.map((f) => f.name ?? "file").join(", ")}]`,
2182
- userId: msg.user,
2183
- botId: msg.bot_id,
2184
- ts: msg.ts,
2185
- files: msg.files
2186
- }));
2187
- } catch {
2188
- return [];
2189
- }
2190
- }
2191
-
2192
- //#endregion
2193
- //#region src/slack/monitor/room-context.ts
2194
- function resolveSlackRoomContextHints(params) {
2195
- if (!params.isRoomish) return {};
2196
- const untrustedChannelMetadata = buildUntrustedChannelMetadata({
2197
- source: "slack",
2198
- label: "Slack channel description",
2199
- entries: [params.channelInfo?.topic, params.channelInfo?.purpose]
2200
- });
2201
- const systemPromptParts = [params.channelConfig?.systemPrompt?.trim() || null].filter((entry) => Boolean(entry));
2202
- return {
2203
- untrustedChannelMetadata,
2204
- groupSystemPrompt: systemPromptParts.length > 0 ? systemPromptParts.join("\n\n") : void 0
2205
- };
2206
- }
2207
-
2208
- //#endregion
2209
- //#region src/slack/monitor/message-handler/prepare.ts
2210
- async function prepareSlackMessage(params) {
2211
- const { ctx, account, message, opts } = params;
2212
- const cfg = ctx.cfg;
2213
- let channelInfo = {};
2214
- let channelType = message.channel_type;
2215
- if (!channelType || channelType !== "im") {
2216
- channelInfo = await ctx.resolveChannelName(message.channel);
2217
- channelType = channelType ?? channelInfo.type;
2218
- }
2219
- const channelName = channelInfo?.name;
2220
- const resolvedChannelType = normalizeSlackChannelType(channelType, message.channel);
2221
- const isDirectMessage = resolvedChannelType === "im";
2222
- const isGroupDm = resolvedChannelType === "mpim";
2223
- const isRoom = resolvedChannelType === "channel" || resolvedChannelType === "group";
2224
- const isRoomish = isRoom || isGroupDm;
2225
- const channelConfig = isRoom ? resolveSlackChannelConfig({
2226
- channelId: message.channel,
2227
- channelName,
2228
- channels: ctx.channelsConfig,
2229
- defaultRequireMention: ctx.defaultRequireMention
2230
- }) : null;
2231
- const allowBots = channelConfig?.allowBots ?? account.config?.allowBots ?? cfg.channels?.slack?.allowBots ?? false;
2232
- const isBotMessage = Boolean(message.bot_id);
2233
- if (isBotMessage) {
2234
- if (message.user && ctx.botUserId && message.user === ctx.botUserId) return null;
2235
- if (!allowBots) {
2236
- logVerbose(`slack: drop bot message ${message.bot_id ?? "unknown"} (allowBots=false)`);
2237
- return null;
2238
- }
2239
- }
2240
- if (isDirectMessage && !message.user) {
2241
- logVerbose("slack: drop dm message (missing user id)");
2242
- return null;
2243
- }
2244
- const senderId = message.user ?? (isBotMessage ? message.bot_id : void 0);
2245
- if (!senderId) {
2246
- logVerbose("slack: drop message (missing sender id)");
2247
- return null;
2248
- }
2249
- if (!ctx.isChannelAllowed({
2250
- channelId: message.channel,
2251
- channelName,
2252
- channelType: resolvedChannelType
2253
- })) {
2254
- logVerbose("slack: drop message (channel not allowed)");
2255
- return null;
2256
- }
2257
- const { allowFromLower } = await resolveSlackEffectiveAllowFrom(ctx, { includePairingStore: isDirectMessage });
2258
- if (isDirectMessage) {
2259
- const directUserId = message.user;
2260
- if (!directUserId) {
2261
- logVerbose("slack: drop dm message (missing user id)");
2262
- return null;
2263
- }
2264
- if (!await authorizeSlackDirectMessage({
2265
- ctx,
2266
- accountId: account.accountId,
2267
- senderId: directUserId,
2268
- allowFromLower,
2269
- resolveSenderName: ctx.resolveUserName,
2270
- sendPairingReply: async (text) => {
2271
- await sendMessageSlack(message.channel, text, {
2272
- token: ctx.botToken,
2273
- client: ctx.app.client,
2274
- accountId: account.accountId
2275
- });
2276
- },
2277
- onDisabled: () => {
2278
- logVerbose("slack: drop dm (dms disabled)");
2279
- },
2280
- onUnauthorized: ({ allowMatchMeta }) => {
2281
- logVerbose(`Blocked unauthorized slack sender ${message.user} (dmPolicy=${ctx.dmPolicy}, ${allowMatchMeta})`);
2282
- },
2283
- log: logVerbose
2284
- })) return null;
2285
- }
2286
- const route = resolveAgentRoute({
2287
- cfg,
2288
- channel: "slack",
2289
- accountId: account.accountId,
2290
- teamId: ctx.teamId || void 0,
2291
- peer: {
2292
- kind: isDirectMessage ? "direct" : isRoom ? "channel" : "group",
2293
- id: isDirectMessage ? message.user ?? "unknown" : message.channel
2294
- }
2295
- });
2296
- const baseSessionKey = route.sessionKey;
2297
- const threadContext = resolveSlackThreadContext({
2298
- message,
2299
- replyToMode: ctx.replyToMode
2300
- });
2301
- const threadTs = threadContext.incomingThreadTs;
2302
- const isThreadReply = threadContext.isThreadReply;
2303
- const threadKeys = resolveThreadSessionKeys({
2304
- baseSessionKey,
2305
- threadId: isThreadReply ? threadTs : void 0,
2306
- parentSessionKey: isThreadReply && ctx.threadInheritParent ? baseSessionKey : void 0
2307
- });
2308
- const sessionKey = threadKeys.sessionKey;
2309
- const historyKey = isThreadReply && ctx.threadHistoryScope === "thread" ? sessionKey : message.channel;
2310
- const mentionRegexes = buildMentionRegexes(cfg, route.agentId);
2311
- const hasAnyMention = /<@[^>]+>/.test(message.text ?? "");
2312
- const explicitlyMentioned = Boolean(ctx.botUserId && message.text?.includes(`<@${ctx.botUserId}>`));
2313
- const wasMentioned = opts.wasMentioned ?? (!isDirectMessage && matchesMentionWithExplicit({
2314
- text: message.text ?? "",
2315
- mentionRegexes,
2316
- explicit: {
2317
- hasAnyMention,
2318
- isExplicitlyMentioned: explicitlyMentioned,
2319
- canResolveExplicit: Boolean(ctx.botUserId)
2320
- }
2321
- }));
2322
- const implicitMention = Boolean(!isDirectMessage && ctx.botUserId && message.thread_ts && message.parent_user_id === ctx.botUserId);
2323
- const senderName = (message.user ? await ctx.resolveUserName(message.user) : null)?.name ?? message.username?.trim() ?? message.user ?? message.bot_id ?? "unknown";
2324
- const channelUserAuthorized = isRoom ? resolveSlackUserAllowed({
2325
- allowList: channelConfig?.users,
2326
- userId: senderId,
2327
- userName: senderName,
2328
- allowNameMatching: ctx.allowNameMatching
2329
- }) : true;
2330
- if (isRoom && !channelUserAuthorized) {
2331
- logVerbose(`Blocked unauthorized slack sender ${senderId} (not in channel users)`);
2332
- return null;
2333
- }
2334
- const allowTextCommands = shouldHandleTextCommands({
2335
- cfg,
2336
- surface: "slack"
2337
- });
2338
- const hasControlCommandInMessage = hasControlCommand(stripSlackMentionsForCommandDetection(message.text ?? ""), cfg);
2339
- const ownerAuthorized = resolveSlackAllowListMatch({
2340
- allowList: allowFromLower,
2341
- id: senderId,
2342
- name: senderName,
2343
- allowNameMatching: ctx.allowNameMatching
2344
- }).allowed;
2345
- const channelUsersAllowlistConfigured = isRoom && Array.isArray(channelConfig?.users) && channelConfig.users.length > 0;
2346
- const channelCommandAuthorized = isRoom && channelUsersAllowlistConfigured ? resolveSlackUserAllowed({
2347
- allowList: channelConfig?.users,
2348
- userId: senderId,
2349
- userName: senderName,
2350
- allowNameMatching: ctx.allowNameMatching
2351
- }) : false;
2352
- const commandGate = resolveControlCommandGate({
2353
- useAccessGroups: ctx.useAccessGroups,
2354
- authorizers: [{
2355
- configured: allowFromLower.length > 0,
2356
- allowed: ownerAuthorized
2357
- }, {
2358
- configured: channelUsersAllowlistConfigured,
2359
- allowed: channelCommandAuthorized
2360
- }],
2361
- allowTextCommands,
2362
- hasControlCommand: hasControlCommandInMessage
2363
- });
2364
- const commandAuthorized = commandGate.commandAuthorized;
2365
- if (isRoomish && commandGate.shouldBlock) {
2366
- logInboundDrop({
2367
- log: logVerbose,
2368
- channel: "slack",
2369
- reason: "control command (unauthorized)",
2370
- target: senderId
2371
- });
2372
- return null;
2373
- }
2374
- const shouldRequireMention = isRoom ? channelConfig?.requireMention ?? ctx.defaultRequireMention : false;
2375
- const canDetectMention = Boolean(ctx.botUserId) || mentionRegexes.length > 0;
2376
- const mentionGate = resolveMentionGatingWithBypass({
2377
- isGroup: isRoom,
2378
- requireMention: Boolean(shouldRequireMention),
2379
- canDetectMention,
2380
- wasMentioned,
2381
- implicitMention,
2382
- hasAnyMention,
2383
- allowTextCommands,
2384
- hasControlCommand: hasControlCommandInMessage,
2385
- commandAuthorized
2386
- });
2387
- const effectiveWasMentioned = mentionGate.effectiveWasMentioned;
2388
- if (isRoom && shouldRequireMention && mentionGate.shouldSkip) {
2389
- ctx.logger.info({
2390
- channel: message.channel,
2391
- reason: "no-mention"
2392
- }, "skipping channel message");
2393
- const pendingText = (message.text ?? "").trim();
2394
- const fallbackFile = message.files?.[0]?.name ? `[Slack file: ${message.files[0].name}]` : message.files?.length ? "[Slack file]" : "";
2395
- const pendingBody = pendingText || fallbackFile;
2396
- recordPendingHistoryEntryIfEnabled({
2397
- historyMap: ctx.channelHistories,
2398
- historyKey,
2399
- limit: ctx.historyLimit,
2400
- entry: pendingBody ? {
2401
- sender: senderName,
2402
- body: pendingBody,
2403
- timestamp: message.ts ? Math.round(Number(message.ts) * 1e3) : void 0,
2404
- messageId: message.ts
2405
- } : null
2406
- });
2407
- return null;
2408
- }
2409
- const media = await resolveSlackMedia({
2410
- files: message.files,
2411
- token: ctx.botToken,
2412
- maxBytes: ctx.mediaMaxBytes
2413
- });
2414
- const attachmentContent = await resolveSlackAttachmentContent({
2415
- attachments: message.attachments,
2416
- token: ctx.botToken,
2417
- maxBytes: ctx.mediaMaxBytes
2418
- });
2419
- const mergedMedia = [...media ?? [], ...attachmentContent?.media ?? []];
2420
- const effectiveDirectMedia = mergedMedia.length > 0 ? mergedMedia : null;
2421
- const mediaPlaceholder = effectiveDirectMedia ? effectiveDirectMedia.map((m) => m.placeholder).join(" ") : void 0;
2422
- 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;
2423
- const fileOnlyPlaceholder = fileOnlyFallback ? `[Slack file: ${fileOnlyFallback}]` : void 0;
2424
- const rawBody = [
2425
- (message.text ?? "").trim(),
2426
- attachmentContent?.text,
2427
- mediaPlaceholder,
2428
- fileOnlyPlaceholder
2429
- ].filter(Boolean).join("\n") || "";
2430
- if (!rawBody) return null;
2431
- const ackReaction = resolveAckReaction(cfg, route.agentId, {
2432
- channel: "slack",
2433
- accountId: account.accountId
2434
- });
2435
- const ackReactionValue = ackReaction ?? "";
2436
- const shouldAckReaction$1 = () => Boolean(ackReaction && shouldAckReaction({
2437
- scope: ctx.ackReactionScope,
2438
- isDirect: isDirectMessage,
2439
- isGroup: isRoomish,
2440
- isMentionableGroup: isRoom,
2441
- requireMention: Boolean(shouldRequireMention),
2442
- canDetectMention,
2443
- effectiveWasMentioned,
2444
- shouldBypassMention: mentionGate.shouldBypassMention
2445
- }));
2446
- const ackReactionMessageTs = message.ts;
2447
- const ackReactionPromise = shouldAckReaction$1() && ackReactionMessageTs && ackReactionValue ? reactSlackMessage(message.channel, ackReactionMessageTs, ackReactionValue, {
2448
- token: ctx.botToken,
2449
- client: ctx.app.client
2450
- }).then(() => true, (err) => {
2451
- logVerbose(`slack react failed for channel ${message.channel}: ${String(err)}`);
2452
- return false;
2453
- }) : null;
2454
- const roomLabel = channelName ? `#${channelName}` : `#${message.channel}`;
2455
- const preview = rawBody.replace(/\s+/g, " ").slice(0, 160);
2456
- const inboundLabel = isDirectMessage ? `Slack DM from ${senderName}` : `Slack message in ${roomLabel} from ${senderName}`;
2457
- const slackFrom = isDirectMessage ? `slack:${message.user}` : isRoom ? `slack:channel:${message.channel}` : `slack:group:${message.channel}`;
2458
- enqueueSystemEvent(`${inboundLabel}: ${preview}`, {
2459
- sessionKey,
2460
- contextKey: `slack:message:${message.channel}:${message.ts ?? "unknown"}`
2461
- });
2462
- const envelopeFrom = resolveConversationLabel({
2463
- ChatType: isDirectMessage ? "direct" : "channel",
2464
- SenderName: senderName,
2465
- GroupSubject: isRoomish ? roomLabel : void 0,
2466
- From: slackFrom
2467
- }) ?? (isDirectMessage ? senderName : roomLabel);
2468
- const threadInfo = isThreadReply && threadTs ? ` thread_ts: ${threadTs}${message.parent_user_id ? ` parent_user_id: ${message.parent_user_id}` : ""}` : "";
2469
- const textWithId = `${rawBody}\n[slack message id: ${message.ts} channel: ${message.channel}${threadInfo}]`;
2470
- const storePath = resolveStorePath(ctx.cfg.session?.store, { agentId: route.agentId });
2471
- const envelopeOptions = resolveEnvelopeFormatOptions(ctx.cfg);
2472
- const previousTimestamp = readSessionUpdatedAt({
2473
- storePath,
2474
- sessionKey: route.sessionKey
2475
- });
2476
- let combinedBody = formatInboundEnvelope({
2477
- channel: "Slack",
2478
- from: envelopeFrom,
2479
- timestamp: message.ts ? Math.round(Number(message.ts) * 1e3) : void 0,
2480
- body: textWithId,
2481
- chatType: isDirectMessage ? "direct" : "channel",
2482
- sender: {
2483
- name: senderName,
2484
- id: senderId
2485
- },
2486
- previousTimestamp,
2487
- envelope: envelopeOptions
2488
- });
2489
- if (isRoomish && ctx.historyLimit > 0) combinedBody = buildPendingHistoryContextFromMap({
2490
- historyMap: ctx.channelHistories,
2491
- historyKey,
2492
- limit: ctx.historyLimit,
2493
- currentMessage: combinedBody,
2494
- formatEntry: (entry) => formatInboundEnvelope({
2495
- channel: "Slack",
2496
- from: roomLabel,
2497
- timestamp: entry.timestamp,
2498
- body: `${entry.body}${entry.messageId ? ` [id:${entry.messageId} channel:${message.channel}]` : ""}`,
2499
- chatType: "channel",
2500
- senderLabel: entry.sender,
2501
- envelope: envelopeOptions
2502
- })
2503
- });
2504
- const slackTo = isDirectMessage ? `user:${message.user}` : `channel:${message.channel}`;
2505
- const { untrustedChannelMetadata, groupSystemPrompt } = resolveSlackRoomContextHints({
2506
- isRoomish,
2507
- channelInfo,
2508
- channelConfig
2509
- });
2510
- let threadStarterBody;
2511
- let threadHistoryBody;
2512
- let threadSessionPreviousTimestamp;
2513
- let threadLabel;
2514
- let threadStarterMedia = null;
2515
- if (isThreadReply && threadTs) {
2516
- const starter = await resolveSlackThreadStarter({
2517
- channelId: message.channel,
2518
- threadTs,
2519
- client: ctx.app.client
2520
- });
2521
- if (starter?.text) {
2522
- threadStarterBody = starter.text;
2523
- const snippet = starter.text.replace(/\s+/g, " ").slice(0, 80);
2524
- threadLabel = `Slack thread ${roomLabel}${snippet ? `: ${snippet}` : ""}`;
2525
- if (!effectiveDirectMedia && starter.files && starter.files.length > 0) {
2526
- threadStarterMedia = await resolveSlackMedia({
2527
- files: starter.files,
2528
- token: ctx.botToken,
2529
- maxBytes: ctx.mediaMaxBytes
2530
- });
2531
- if (threadStarterMedia) logVerbose(`slack: hydrated thread starter file ${threadStarterMedia.map((m) => m.placeholder).join(", ")} from root message`);
2532
- }
2533
- } else threadLabel = `Slack thread ${roomLabel}`;
2534
- const threadInitialHistoryLimit = account.config?.thread?.initialHistoryLimit ?? 20;
2535
- threadSessionPreviousTimestamp = readSessionUpdatedAt({
2536
- storePath,
2537
- sessionKey
2538
- });
2539
- if (threadInitialHistoryLimit > 0) {
2540
- const threadHistory = await resolveSlackThreadHistory({
2541
- channelId: message.channel,
2542
- threadTs,
2543
- client: ctx.app.client,
2544
- currentMessageTs: message.ts,
2545
- limit: threadInitialHistoryLimit
2546
- });
2547
- if (threadHistory.length > 0) {
2548
- const uniqueUserIds = [...new Set(threadHistory.map((m) => m.userId).filter((id) => Boolean(id)))];
2549
- const userMap = /* @__PURE__ */ new Map();
2550
- await Promise.all(uniqueUserIds.map(async (id) => {
2551
- const user = await ctx.resolveUserName(id);
2552
- if (user) userMap.set(id, user);
2553
- }));
2554
- const historyParts = [];
2555
- for (const historyMsg of threadHistory) {
2556
- const msgSenderName = (historyMsg.userId ? userMap.get(historyMsg.userId) : null)?.name ?? (historyMsg.botId ? `Bot (${historyMsg.botId})` : "Unknown");
2557
- const role = Boolean(historyMsg.botId) ? "assistant" : "user";
2558
- const msgWithId = `${historyMsg.text}\n[slack message id: ${historyMsg.ts ?? "unknown"} channel: ${message.channel}]`;
2559
- historyParts.push(formatInboundEnvelope({
2560
- channel: "Slack",
2561
- from: `${msgSenderName} (${role})`,
2562
- timestamp: historyMsg.ts ? Math.round(Number(historyMsg.ts) * 1e3) : void 0,
2563
- body: msgWithId,
2564
- chatType: "channel",
2565
- envelope: envelopeOptions
2566
- }));
2567
- }
2568
- threadHistoryBody = historyParts.join("\n\n");
2569
- logVerbose(`slack: populated thread history with ${threadHistory.length} messages for new session`);
2570
- }
2571
- }
2572
- }
2573
- const effectiveMedia = effectiveDirectMedia ?? threadStarterMedia;
2574
- const firstMedia = effectiveMedia?.[0];
2575
- const inboundHistory = isRoomish && ctx.historyLimit > 0 ? (ctx.channelHistories.get(historyKey) ?? []).map((entry) => ({
2576
- sender: entry.sender,
2577
- body: entry.body,
2578
- timestamp: entry.timestamp
2579
- })) : void 0;
2580
- const ctxPayload = finalizeInboundContext({
2581
- Body: combinedBody,
2582
- BodyForAgent: rawBody,
2583
- InboundHistory: inboundHistory,
2584
- RawBody: rawBody,
2585
- CommandBody: rawBody,
2586
- From: slackFrom,
2587
- To: slackTo,
2588
- SessionKey: sessionKey,
2589
- AccountId: route.accountId,
2590
- ChatType: isDirectMessage ? "direct" : "channel",
2591
- ConversationLabel: envelopeFrom,
2592
- GroupSubject: isRoomish ? roomLabel : void 0,
2593
- GroupSystemPrompt: isRoomish ? groupSystemPrompt : void 0,
2594
- UntrustedContext: untrustedChannelMetadata ? [untrustedChannelMetadata] : void 0,
2595
- SenderName: senderName,
2596
- SenderId: senderId,
2597
- Provider: "slack",
2598
- Surface: "slack",
2599
- MessageSid: message.ts,
2600
- ReplyToId: threadContext.replyToId,
2601
- MessageThreadId: threadContext.messageThreadId,
2602
- ParentSessionKey: threadKeys.parentSessionKey,
2603
- ThreadStarterBody: threadStarterBody,
2604
- ThreadHistoryBody: threadHistoryBody,
2605
- IsFirstThreadTurn: isThreadReply && threadTs && !threadSessionPreviousTimestamp ? true : void 0,
2606
- ThreadLabel: threadLabel,
2607
- Timestamp: message.ts ? Math.round(Number(message.ts) * 1e3) : void 0,
2608
- WasMentioned: isRoomish ? effectiveWasMentioned : void 0,
2609
- MediaPath: firstMedia?.path,
2610
- MediaType: firstMedia?.contentType,
2611
- MediaUrl: firstMedia?.path,
2612
- MediaPaths: effectiveMedia && effectiveMedia.length > 0 ? effectiveMedia.map((m) => m.path) : void 0,
2613
- MediaUrls: effectiveMedia && effectiveMedia.length > 0 ? effectiveMedia.map((m) => m.path) : void 0,
2614
- MediaTypes: effectiveMedia && effectiveMedia.length > 0 ? effectiveMedia.map((m) => m.contentType ?? "") : void 0,
2615
- CommandAuthorized: commandAuthorized,
2616
- OriginatingChannel: "slack",
2617
- OriginatingTo: slackTo
2618
- });
2619
- await recordInboundSession({
2620
- storePath,
2621
- sessionKey,
2622
- ctx: ctxPayload,
2623
- updateLastRoute: isDirectMessage ? {
2624
- sessionKey: route.mainSessionKey,
2625
- channel: "slack",
2626
- to: `user:${message.user}`,
2627
- accountId: route.accountId,
2628
- threadId: threadContext.messageThreadId
2629
- } : void 0,
2630
- onRecordError: (err) => {
2631
- ctx.logger.warn({
2632
- error: String(err),
2633
- storePath,
2634
- sessionKey
2635
- }, "failed updating session meta");
2636
- }
2637
- });
2638
- const replyTarget = ctxPayload.To ?? void 0;
2639
- if (!replyTarget) return null;
2640
- if (shouldLogVerbose()) logVerbose(`slack inbound: channel=${message.channel} from=${slackFrom} preview="${preview}"`);
2641
- return {
2642
- ctx,
2643
- account,
2644
- message,
2645
- route,
2646
- channelConfig,
2647
- replyTarget,
2648
- ctxPayload,
2649
- isDirectMessage,
2650
- isRoomish,
2651
- historyKey,
2652
- preview,
2653
- ackReactionMessageTs,
2654
- ackReactionValue,
2655
- ackReactionPromise
2656
- };
2657
- }
2658
-
2659
- //#endregion
2660
- //#region src/slack/monitor/thread-resolution.ts
2661
- const DEFAULT_THREAD_TS_CACHE_TTL_MS = 6e4;
2662
- const DEFAULT_THREAD_TS_CACHE_MAX = 500;
2663
- const normalizeThreadTs = (threadTs) => {
2664
- const trimmed = threadTs?.trim();
2665
- return trimmed ? trimmed : void 0;
2666
- };
2667
- async function resolveThreadTsFromHistory(params) {
2668
- try {
2669
- const response = await params.client.conversations.history({
2670
- channel: params.channelId,
2671
- latest: params.messageTs,
2672
- oldest: params.messageTs,
2673
- inclusive: true,
2674
- limit: 1
2675
- });
2676
- return normalizeThreadTs((response.messages?.find((entry) => entry.ts === params.messageTs) ?? response.messages?.[0])?.thread_ts);
2677
- } catch (err) {
2678
- if (shouldLogVerbose()) logVerbose(`slack inbound: failed to resolve thread_ts via conversations.history for channel=${params.channelId} ts=${params.messageTs}: ${String(err)}`);
2679
- return;
2680
- }
2681
- }
2682
- function createSlackThreadTsResolver(params) {
2683
- const ttlMs = Math.max(0, params.cacheTtlMs ?? DEFAULT_THREAD_TS_CACHE_TTL_MS);
2684
- const maxSize = Math.max(0, params.maxSize ?? DEFAULT_THREAD_TS_CACHE_MAX);
2685
- const cache = /* @__PURE__ */ new Map();
2686
- const inflight = /* @__PURE__ */ new Map();
2687
- const getCached = (key, now) => {
2688
- const entry = cache.get(key);
2689
- if (!entry) return;
2690
- if (ttlMs > 0 && now - entry.updatedAt > ttlMs) {
2691
- cache.delete(key);
2692
- return;
2693
- }
2694
- cache.delete(key);
2695
- cache.set(key, {
2696
- ...entry,
2697
- updatedAt: now
2698
- });
2699
- return entry.threadTs;
2700
- };
2701
- const setCached = (key, threadTs, now) => {
2702
- cache.delete(key);
2703
- cache.set(key, {
2704
- threadTs,
2705
- updatedAt: now
2706
- });
2707
- pruneMapToMaxSize(cache, maxSize);
2708
- };
2709
- return { resolve: async (request) => {
2710
- const { message } = request;
2711
- if (!message.parent_user_id || message.thread_ts || !message.ts) return message;
2712
- const cacheKey = `${message.channel}:${message.ts}`;
2713
- const cached = getCached(cacheKey, Date.now());
2714
- if (cached !== void 0) return cached ? {
2715
- ...message,
2716
- thread_ts: cached
2717
- } : message;
2718
- if (shouldLogVerbose()) logVerbose(`slack inbound: missing thread_ts for thread reply channel=${message.channel} ts=${message.ts} source=${request.source}`);
2719
- let pending = inflight.get(cacheKey);
2720
- if (!pending) {
2721
- pending = resolveThreadTsFromHistory({
2722
- client: params.client,
2723
- channelId: message.channel,
2724
- messageTs: message.ts
2725
- });
2726
- inflight.set(cacheKey, pending);
2727
- }
2728
- let resolved;
2729
- try {
2730
- resolved = await pending;
2731
- } finally {
2732
- inflight.delete(cacheKey);
2733
- }
2734
- setCached(cacheKey, resolved ?? null, Date.now());
2735
- if (resolved) {
2736
- if (shouldLogVerbose()) logVerbose(`slack inbound: resolved missing thread_ts channel=${message.channel} ts=${message.ts} -> thread_ts=${resolved}`);
2737
- return {
2738
- ...message,
2739
- thread_ts: resolved
2740
- };
2741
- }
2742
- if (shouldLogVerbose()) logVerbose(`slack inbound: could not resolve missing thread_ts channel=${message.channel} ts=${message.ts}`);
2743
- return message;
2744
- } };
2745
- }
2746
-
2747
- //#endregion
2748
- //#region src/slack/monitor/message-handler.ts
2749
- function createSlackMessageHandler(params) {
2750
- const { ctx, account } = params;
2751
- const debounceMs = resolveInboundDebounceMs({
2752
- cfg: ctx.cfg,
2753
- channel: "slack"
2754
- });
2755
- const threadTsResolver = createSlackThreadTsResolver({ client: ctx.app.client });
2756
- const debouncer = createInboundDebouncer({
2757
- debounceMs,
2758
- buildKey: (entry) => {
2759
- const senderId = entry.message.user ?? entry.message.bot_id;
2760
- if (!senderId) return null;
2761
- const messageTs = entry.message.ts ?? entry.message.event_ts;
2762
- 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;
2763
- return `slack:${ctx.accountId}:${threadKey}:${senderId}`;
2764
- },
2765
- shouldDebounce: (entry) => {
2766
- const text = entry.message.text ?? "";
2767
- if (!text.trim()) return false;
2768
- if (entry.message.files && entry.message.files.length > 0) return false;
2769
- return !hasControlCommand(stripSlackMentionsForCommandDetection(text), ctx.cfg);
2770
- },
2771
- onFlush: async (entries) => {
2772
- const last = entries.at(-1);
2773
- if (!last) return;
2774
- const combinedText = entries.length === 1 ? last.message.text ?? "" : entries.map((entry) => entry.message.text ?? "").filter(Boolean).join("\n");
2775
- const combinedMentioned = entries.some((entry) => Boolean(entry.opts.wasMentioned));
2776
- const prepared = await prepareSlackMessage({
2777
- ctx,
2778
- account,
2779
- message: {
2780
- ...last.message,
2781
- text: combinedText
2782
- },
2783
- opts: {
2784
- ...last.opts,
2785
- wasMentioned: combinedMentioned || last.opts.wasMentioned
2786
- }
2787
- });
2788
- if (!prepared) return;
2789
- if (entries.length > 1) {
2790
- const ids = entries.map((entry) => entry.message.ts).filter(Boolean);
2791
- if (ids.length > 0) {
2792
- prepared.ctxPayload.MessageSids = ids;
2793
- prepared.ctxPayload.MessageSidFirst = ids[0];
2794
- prepared.ctxPayload.MessageSidLast = ids[ids.length - 1];
2795
- }
2796
- }
2797
- await dispatchPreparedSlackMessage(prepared);
2798
- },
2799
- onError: (err) => {
2800
- ctx.runtime.error?.(`slack inbound debounce flush failed: ${String(err)}`);
2801
- }
2802
- });
2803
- return async (message, opts) => {
2804
- if (opts.source === "message" && message.type !== "message") return;
2805
- if (opts.source === "message" && message.subtype && message.subtype !== "file_share" && message.subtype !== "bot_message") return;
2806
- if (ctx.markMessageSeen(message.channel, message.ts)) return;
2807
- const resolvedMessage = await threadTsResolver.resolve({
2808
- message,
2809
- source: opts.source
2810
- });
2811
- await debouncer.enqueue({
2812
- message: resolvedMessage,
2813
- opts
2814
- });
2815
- };
2816
- }
2817
-
2818
- //#endregion
2819
- //#region src/slack/monitor/external-arg-menu-store.ts
2820
- const SLACK_EXTERNAL_ARG_MENU_TOKEN_BYTES = 18;
2821
- const SLACK_EXTERNAL_ARG_MENU_TOKEN_LENGTH = Math.ceil(SLACK_EXTERNAL_ARG_MENU_TOKEN_BYTES * 8 / 6);
2822
- const SLACK_EXTERNAL_ARG_MENU_TOKEN_PATTERN = new RegExp(`^[A-Za-z0-9_-]{${SLACK_EXTERNAL_ARG_MENU_TOKEN_LENGTH}}$`);
2823
- const SLACK_EXTERNAL_ARG_MENU_TTL_MS = 600 * 1e3;
2824
- const SLACK_EXTERNAL_ARG_MENU_PREFIX = "fased_cmdarg_ext:";
2825
- function pruneSlackExternalArgMenuStore(store, now) {
2826
- for (const [token, entry] of store.entries()) if (entry.expiresAt <= now) store.delete(token);
2827
- }
2828
- function createSlackExternalArgMenuToken(store) {
2829
- let token = "";
2830
- do
2831
- token = generateSecureToken(SLACK_EXTERNAL_ARG_MENU_TOKEN_BYTES);
2832
- while (store.has(token));
2833
- return token;
2834
- }
2835
- function createSlackExternalArgMenuStore() {
2836
- const store = /* @__PURE__ */ new Map();
2837
- return {
2838
- create(params, now = Date.now()) {
2839
- pruneSlackExternalArgMenuStore(store, now);
2840
- const token = createSlackExternalArgMenuToken(store);
2841
- store.set(token, {
2842
- choices: params.choices,
2843
- userId: params.userId,
2844
- expiresAt: now + SLACK_EXTERNAL_ARG_MENU_TTL_MS
2845
- });
2846
- return token;
2847
- },
2848
- readToken(raw) {
2849
- if (typeof raw !== "string" || !raw.startsWith(SLACK_EXTERNAL_ARG_MENU_PREFIX)) return;
2850
- const token = raw.slice(17).trim();
2851
- return SLACK_EXTERNAL_ARG_MENU_TOKEN_PATTERN.test(token) ? token : void 0;
2852
- },
2853
- get(token, now = Date.now()) {
2854
- pruneSlackExternalArgMenuStore(store, now);
2855
- return store.get(token);
2856
- }
2857
- };
2858
- }
2859
-
2860
- //#endregion
2861
- //#region src/slack/monitor/slash.ts
2862
- const SLACK_COMMAND_ARG_ACTION_ID = "fased_cmdarg";
2863
- const SLACK_COMMAND_ARG_VALUE_PREFIX = "cmdarg";
2864
- const SLACK_COMMAND_ARG_BUTTON_ROW_SIZE = 5;
2865
- const SLACK_COMMAND_ARG_OVERFLOW_MIN = 3;
2866
- const SLACK_COMMAND_ARG_OVERFLOW_MAX = 5;
2867
- const SLACK_COMMAND_ARG_SELECT_OPTIONS_MAX = 100;
2868
- const SLACK_COMMAND_ARG_SELECT_OPTION_VALUE_MAX = 75;
2869
- const SLACK_HEADER_TEXT_MAX = 150;
2870
- const slackExternalArgMenuStore = createSlackExternalArgMenuStore();
2871
- function truncatePlainText(value, max) {
2872
- const trimmed = value.trim();
2873
- if (trimmed.length <= max) return trimmed;
2874
- if (max <= 1) return trimmed.slice(0, max);
2875
- return `${trimmed.slice(0, max - 1)}…`;
2876
- }
2877
- function buildSlackArgMenuConfirm(params) {
2878
- return {
2879
- title: {
2880
- type: "plain_text",
2881
- text: "Confirm selection"
2882
- },
2883
- text: {
2884
- type: "mrkdwn",
2885
- text: `Run */${escapeSlackMrkdwn(params.command)}* with *${escapeSlackMrkdwn(params.arg)}* set to this value?`
2886
- },
2887
- confirm: {
2888
- type: "plain_text",
2889
- text: "Run command"
2890
- },
2891
- deny: {
2892
- type: "plain_text",
2893
- text: "Cancel"
2894
- }
2895
- };
2896
- }
2897
- function storeSlackExternalArgMenu(params) {
2898
- return slackExternalArgMenuStore.create({
2899
- choices: params.choices,
2900
- userId: params.userId
2901
- });
2902
- }
2903
- function readSlackExternalArgMenuToken(raw) {
2904
- return slackExternalArgMenuStore.readToken(raw);
2905
- }
2906
- let commandsRegistry;
2907
- async function getCommandsRegistry() {
2908
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-DoWdYAJd.js").then((n) => n.n);
2909
- return commandsRegistry;
2910
- }
2911
- function encodeSlackCommandArgValue(parts) {
2912
- return [
2913
- SLACK_COMMAND_ARG_VALUE_PREFIX,
2914
- encodeURIComponent(parts.command),
2915
- encodeURIComponent(parts.arg),
2916
- encodeURIComponent(parts.value),
2917
- encodeURIComponent(parts.userId)
2918
- ].join("|");
2919
- }
2920
- function parseSlackCommandArgValue(raw) {
2921
- if (!raw) return null;
2922
- const parts = raw.split("|");
2923
- if (parts.length !== 5 || parts[0] !== SLACK_COMMAND_ARG_VALUE_PREFIX) return null;
2924
- const [, command, arg, value, userId] = parts;
2925
- if (!command || !arg || !value || !userId) return null;
2926
- const decode = (text) => {
2927
- try {
2928
- return decodeURIComponent(text);
2929
- } catch {
2930
- return null;
2931
- }
2932
- };
2933
- const decodedCommand = decode(command);
2934
- const decodedArg = decode(arg);
2935
- const decodedValue = decode(value);
2936
- const decodedUserId = decode(userId);
2937
- if (!decodedCommand || !decodedArg || !decodedValue || !decodedUserId) return null;
2938
- return {
2939
- command: decodedCommand,
2940
- arg: decodedArg,
2941
- value: decodedValue,
2942
- userId: decodedUserId
2943
- };
2944
- }
2945
- function buildSlackArgMenuOptions(choices) {
2946
- return choices.map((choice) => ({
2947
- text: {
2948
- type: "plain_text",
2949
- text: choice.label.slice(0, 75)
2950
- },
2951
- value: choice.value
2952
- }));
2953
- }
2954
- function buildSlackCommandArgMenuBlocks(params) {
2955
- const encodedChoices = params.choices.map((choice) => ({
2956
- label: choice.label,
2957
- value: encodeSlackCommandArgValue({
2958
- command: params.command,
2959
- arg: params.arg,
2960
- value: choice.value,
2961
- userId: params.userId
2962
- })
2963
- }));
2964
- const canUseStaticSelect = encodedChoices.every((choice) => choice.value.length <= SLACK_COMMAND_ARG_SELECT_OPTION_VALUE_MAX);
2965
- const canUseOverflow = canUseStaticSelect && encodedChoices.length >= SLACK_COMMAND_ARG_OVERFLOW_MIN && encodedChoices.length <= SLACK_COMMAND_ARG_OVERFLOW_MAX;
2966
- const canUseExternalSelect = params.supportsExternalSelect && canUseStaticSelect && encodedChoices.length > SLACK_COMMAND_ARG_SELECT_OPTIONS_MAX;
2967
- const rows = canUseOverflow ? [{
2968
- type: "actions",
2969
- elements: [{
2970
- type: "overflow",
2971
- action_id: SLACK_COMMAND_ARG_ACTION_ID,
2972
- confirm: buildSlackArgMenuConfirm({
2973
- command: params.command,
2974
- arg: params.arg
2975
- }),
2976
- options: buildSlackArgMenuOptions(encodedChoices)
2977
- }]
2978
- }] : canUseExternalSelect ? [{
2979
- type: "actions",
2980
- block_id: `${SLACK_EXTERNAL_ARG_MENU_PREFIX}${params.createExternalMenuToken(encodedChoices)}`,
2981
- elements: [{
2982
- type: "external_select",
2983
- action_id: SLACK_COMMAND_ARG_ACTION_ID,
2984
- confirm: buildSlackArgMenuConfirm({
2985
- command: params.command,
2986
- arg: params.arg
2987
- }),
2988
- min_query_length: 0,
2989
- placeholder: {
2990
- type: "plain_text",
2991
- text: `Search ${params.arg}`
2992
- }
2993
- }]
2994
- }] : encodedChoices.length <= SLACK_COMMAND_ARG_BUTTON_ROW_SIZE || !canUseStaticSelect ? chunkItems(encodedChoices, SLACK_COMMAND_ARG_BUTTON_ROW_SIZE).map((choices) => ({
2995
- type: "actions",
2996
- elements: choices.map((choice) => ({
2997
- type: "button",
2998
- action_id: SLACK_COMMAND_ARG_ACTION_ID,
2999
- text: {
3000
- type: "plain_text",
3001
- text: choice.label
3002
- },
3003
- value: choice.value,
3004
- confirm: buildSlackArgMenuConfirm({
3005
- command: params.command,
3006
- arg: params.arg
3007
- })
3008
- }))
3009
- })) : chunkItems(encodedChoices, SLACK_COMMAND_ARG_SELECT_OPTIONS_MAX).map((choices, index) => ({
3010
- type: "actions",
3011
- elements: [{
3012
- type: "static_select",
3013
- action_id: SLACK_COMMAND_ARG_ACTION_ID,
3014
- confirm: buildSlackArgMenuConfirm({
3015
- command: params.command,
3016
- arg: params.arg
3017
- }),
3018
- placeholder: {
3019
- type: "plain_text",
3020
- text: index === 0 ? `Choose ${params.arg}` : `Choose ${params.arg} (${index + 1})`
3021
- },
3022
- options: buildSlackArgMenuOptions(choices)
3023
- }]
3024
- }));
3025
- const headerText = truncatePlainText(`/${params.command}: choose ${params.arg}`, SLACK_HEADER_TEXT_MAX);
3026
- const sectionText = truncatePlainText(params.title, 3e3);
3027
- const contextText = truncatePlainText(`Select one option to continue /${params.command} (${params.arg})`, 3e3);
3028
- return [
3029
- {
3030
- type: "header",
3031
- text: {
3032
- type: "plain_text",
3033
- text: headerText
3034
- }
3035
- },
3036
- {
3037
- type: "section",
3038
- text: {
3039
- type: "mrkdwn",
3040
- text: sectionText
3041
- }
3042
- },
3043
- {
3044
- type: "context",
3045
- elements: [{
3046
- type: "mrkdwn",
3047
- text: contextText
3048
- }]
3049
- },
3050
- ...rows
3051
- ];
3052
- }
3053
- async function registerSlackMonitorSlashCommands(params) {
3054
- const { ctx, account } = params;
3055
- const cfg = ctx.cfg;
3056
- const runtime = ctx.runtime;
3057
- const supportsInteractiveArgMenus = typeof ctx.app.action === "function";
3058
- const supportsExternalArgMenus = typeof ctx.app.options === "function";
3059
- const slashCommand = resolveSlackSlashCommandConfig(ctx.slashCommand ?? account.config.slashCommand);
3060
- const handleSlashCommand = async (p) => {
3061
- const { command, ack, respond, prompt, commandArgs, commandDefinition } = p;
3062
- try {
3063
- if (!prompt.trim()) {
3064
- await ack({
3065
- text: "Message required.",
3066
- response_type: "ephemeral"
3067
- });
3068
- return;
3069
- }
3070
- await ack();
3071
- if (ctx.botUserId && command.user_id === ctx.botUserId) return;
3072
- const channelInfo = await ctx.resolveChannelName(command.channel_id);
3073
- const channelType = normalizeSlackChannelType(channelInfo?.type ?? (command.channel_name === "directmessage" ? "im" : void 0), command.channel_id);
3074
- const isDirectMessage = channelType === "im";
3075
- const isGroupDm = channelType === "mpim";
3076
- const isRoom = channelType === "channel" || channelType === "group";
3077
- const isRoomish = isRoom || isGroupDm;
3078
- if (!ctx.isChannelAllowed({
3079
- channelId: command.channel_id,
3080
- channelName: channelInfo?.name,
3081
- channelType
3082
- })) {
3083
- await respond({
3084
- text: "This channel is not allowed.",
3085
- response_type: "ephemeral"
3086
- });
3087
- return;
3088
- }
3089
- const { allowFromLower: effectiveAllowFromLower } = await resolveSlackEffectiveAllowFrom(ctx, { includePairingStore: isDirectMessage });
3090
- let commandAuthorized = false;
3091
- let channelConfig = null;
3092
- if (isDirectMessage) {
3093
- if (!await authorizeSlackDirectMessage({
3094
- ctx,
3095
- accountId: ctx.accountId,
3096
- senderId: command.user_id,
3097
- allowFromLower: effectiveAllowFromLower,
3098
- resolveSenderName: ctx.resolveUserName,
3099
- sendPairingReply: async (text) => {
3100
- await respond({
3101
- text,
3102
- response_type: "ephemeral"
3103
- });
3104
- },
3105
- onDisabled: async () => {
3106
- await respond({
3107
- text: "Slack DMs are disabled.",
3108
- response_type: "ephemeral"
3109
- });
3110
- },
3111
- onUnauthorized: async ({ allowMatchMeta }) => {
3112
- logVerbose(`slack: blocked slash sender ${command.user_id} (dmPolicy=${ctx.dmPolicy}, ${allowMatchMeta})`);
3113
- await respond({
3114
- text: "You are not authorized to use this command.",
3115
- response_type: "ephemeral"
3116
- });
3117
- },
3118
- log: logVerbose
3119
- })) return;
3120
- }
3121
- if (isRoom) {
3122
- channelConfig = resolveSlackChannelConfig({
3123
- channelId: command.channel_id,
3124
- channelName: channelInfo?.name,
3125
- channels: ctx.channelsConfig,
3126
- defaultRequireMention: ctx.defaultRequireMention
3127
- });
3128
- if (ctx.useAccessGroups) {
3129
- const channelAllowlistConfigured = Boolean(ctx.channelsConfig) && Object.keys(ctx.channelsConfig ?? {}).length > 0;
3130
- const channelAllowed = channelConfig?.allowed !== false;
3131
- if (!isSlackChannelAllowedByPolicy({
3132
- groupPolicy: ctx.groupPolicy,
3133
- channelAllowlistConfigured,
3134
- channelAllowed
3135
- })) {
3136
- await respond({
3137
- text: "This channel is not allowed.",
3138
- response_type: "ephemeral"
3139
- });
3140
- return;
3141
- }
3142
- const hasExplicitConfig = Boolean(channelConfig?.matchSource);
3143
- if (!channelAllowed && (ctx.groupPolicy !== "open" || hasExplicitConfig)) {
3144
- await respond({
3145
- text: "This channel is not allowed.",
3146
- response_type: "ephemeral"
3147
- });
3148
- return;
3149
- }
3150
- }
3151
- }
3152
- const senderName = (await ctx.resolveUserName(command.user_id))?.name ?? command.user_name ?? command.user_id;
3153
- const channelUsersAllowlistConfigured = isRoom && Array.isArray(channelConfig?.users) && channelConfig.users.length > 0;
3154
- const channelUserAllowed = channelUsersAllowlistConfigured ? resolveSlackUserAllowed({
3155
- allowList: channelConfig?.users,
3156
- userId: command.user_id,
3157
- userName: senderName,
3158
- allowNameMatching: ctx.allowNameMatching
3159
- }) : false;
3160
- if (channelUsersAllowlistConfigured && !channelUserAllowed) {
3161
- await respond({
3162
- text: "You are not authorized to use this command here.",
3163
- response_type: "ephemeral"
3164
- });
3165
- return;
3166
- }
3167
- const ownerAllowed = resolveSlackAllowListMatch({
3168
- allowList: effectiveAllowFromLower,
3169
- id: command.user_id,
3170
- name: senderName,
3171
- allowNameMatching: ctx.allowNameMatching
3172
- }).allowed;
3173
- commandAuthorized = resolveCommandAuthorizedFromAuthorizers({
3174
- useAccessGroups: ctx.useAccessGroups,
3175
- authorizers: [{
3176
- configured: effectiveAllowFromLower.length > 0,
3177
- allowed: ownerAllowed
3178
- }],
3179
- modeWhenAccessGroupsOff: "configured"
3180
- });
3181
- if (isRoomish) {
3182
- commandAuthorized = resolveCommandAuthorizedFromAuthorizers({
3183
- useAccessGroups: ctx.useAccessGroups,
3184
- authorizers: [{
3185
- configured: effectiveAllowFromLower.length > 0,
3186
- allowed: ownerAllowed
3187
- }, {
3188
- configured: channelUsersAllowlistConfigured,
3189
- allowed: channelUserAllowed
3190
- }],
3191
- modeWhenAccessGroupsOff: "configured"
3192
- });
3193
- if (ctx.useAccessGroups && !commandAuthorized) {
3194
- await respond({
3195
- text: "You are not authorized to use this command.",
3196
- response_type: "ephemeral"
3197
- });
3198
- return;
3199
- }
3200
- }
3201
- if (commandDefinition && supportsInteractiveArgMenus) {
3202
- const menu = (await getCommandsRegistry()).resolveCommandArgMenu({
3203
- command: commandDefinition,
3204
- args: commandArgs,
3205
- cfg
3206
- });
3207
- if (menu) {
3208
- const commandLabel = commandDefinition.nativeName ?? commandDefinition.key;
3209
- const title = menu.title ?? `Choose ${menu.arg.description || menu.arg.name} for /${commandLabel}.`;
3210
- await respond({
3211
- text: title,
3212
- blocks: buildSlackCommandArgMenuBlocks({
3213
- title,
3214
- command: commandLabel,
3215
- arg: menu.arg.name,
3216
- choices: menu.choices,
3217
- userId: command.user_id,
3218
- supportsExternalSelect: supportsExternalArgMenus,
3219
- createExternalMenuToken: (choices) => storeSlackExternalArgMenu({
3220
- choices,
3221
- userId: command.user_id
3222
- })
3223
- }),
3224
- response_type: "ephemeral"
3225
- });
3226
- return;
3227
- }
3228
- }
3229
- const channelName = channelInfo?.name;
3230
- const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
3231
- const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
3232
- import("./resolve-route-DO0WR4nB.js").then((n) => n.r),
3233
- import("./inbound-context-CeJDjLk-.js").then((n) => n.n),
3234
- import("./status-B2vb7zNW.js").then((n) => n.H)
3235
- ]);
3236
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
3237
- import("./conversation-label-CDH4rKMG.js").then((n) => n.t),
3238
- import("./reply-prefix-Y14LY6Rn.js").then((n) => n.n),
3239
- import("./registry-DNkJsNsz.js").then((n) => n.f)
3240
- ]);
3241
- const route = resolveAgentRoute({
3242
- cfg,
3243
- channel: "slack",
3244
- accountId: account.accountId,
3245
- teamId: ctx.teamId || void 0,
3246
- peer: {
3247
- kind: isDirectMessage ? "direct" : isRoom ? "channel" : "group",
3248
- id: isDirectMessage ? command.user_id : command.channel_id
3249
- }
3250
- });
3251
- const { untrustedChannelMetadata, groupSystemPrompt } = resolveSlackRoomContextHints({
3252
- isRoomish,
3253
- channelInfo,
3254
- channelConfig
3255
- });
3256
- const ctxPayload = finalizeInboundContext({
3257
- Body: prompt,
3258
- BodyForAgent: prompt,
3259
- RawBody: prompt,
3260
- CommandBody: prompt,
3261
- CommandArgs: commandArgs,
3262
- From: isDirectMessage ? `slack:${command.user_id}` : isRoom ? `slack:channel:${command.channel_id}` : `slack:group:${command.channel_id}`,
3263
- To: `slash:${command.user_id}`,
3264
- ChatType: isDirectMessage ? "direct" : "channel",
3265
- ConversationLabel: resolveConversationLabel({
3266
- ChatType: isDirectMessage ? "direct" : "channel",
3267
- SenderName: senderName,
3268
- GroupSubject: isRoomish ? roomLabel : void 0,
3269
- From: isDirectMessage ? `slack:${command.user_id}` : isRoom ? `slack:channel:${command.channel_id}` : `slack:group:${command.channel_id}`
3270
- }) ?? (isDirectMessage ? senderName : roomLabel),
3271
- GroupSubject: isRoomish ? roomLabel : void 0,
3272
- GroupSystemPrompt: isRoomish ? groupSystemPrompt : void 0,
3273
- UntrustedContext: untrustedChannelMetadata ? [untrustedChannelMetadata] : void 0,
3274
- SenderName: senderName,
3275
- SenderId: command.user_id,
3276
- Provider: "slack",
3277
- Surface: "slack",
3278
- WasMentioned: true,
3279
- MessageSid: command.trigger_id,
3280
- Timestamp: Date.now(),
3281
- SessionKey: `agent:${route.agentId}:${slashCommand.sessionPrefix}:${command.user_id}`.toLowerCase(),
3282
- CommandTargetSessionKey: route.sessionKey,
3283
- AccountId: route.accountId,
3284
- CommandSource: "native",
3285
- CommandAuthorized: commandAuthorized,
3286
- OriginatingChannel: "slack",
3287
- OriginatingTo: `user:${command.user_id}`
3288
- });
3289
- const storePath = resolveStorePath(cfg.session?.store, { agentId: route.agentId });
3290
- try {
3291
- await recordSessionMetaFromInbound({
3292
- storePath,
3293
- sessionKey: ctxPayload.SessionKey ?? route.sessionKey,
3294
- ctx: ctxPayload
3295
- });
3296
- } catch (err) {
3297
- runtime.error?.(danger(`slack slash: failed updating session meta: ${String(err)}`));
3298
- }
3299
- const { onModelSelected, ...prefixOptions } = createReplyPrefixOptions({
3300
- cfg,
3301
- agentId: route.agentId,
3302
- channel: "slack",
3303
- accountId: route.accountId
3304
- });
3305
- const deliverSlashPayloads = async (replies) => {
3306
- const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
3307
- import("./replies-zebgZCHX.js").then((n) => n.r),
3308
- import("./chunk-KCxbJLsV.js").then((n) => n.s),
3309
- import("./markdown-tables-DWUNvLrc.js").then((n) => n.t)
3310
- ]);
3311
- await deliverSlackSlashReplies({
3312
- replies,
3313
- respond,
3314
- ephemeral: slashCommand.ephemeral,
3315
- textLimit: ctx.textLimit,
3316
- chunkMode: resolveChunkMode(cfg, "slack", route.accountId),
3317
- tableMode: resolveMarkdownTableMode({
3318
- cfg,
3319
- channel: "slack",
3320
- accountId: route.accountId
3321
- })
3322
- });
3323
- };
3324
- const { counts } = await dispatchReplyWithDispatcher({
3325
- ctx: ctxPayload,
3326
- cfg,
3327
- dispatcherOptions: {
3328
- ...prefixOptions,
3329
- deliver: async (payload) => deliverSlashPayloads([payload]),
3330
- onError: (err, info) => {
3331
- runtime.error?.(danger(`slack slash ${info.kind} reply failed: ${String(err)}`));
3332
- }
3333
- },
3334
- replyOptions: {
3335
- skillFilter: channelConfig?.skills,
3336
- onModelSelected
3337
- }
3338
- });
3339
- if (counts.final + counts.tool + counts.block === 0) await deliverSlashPayloads([]);
3340
- } catch (err) {
3341
- runtime.error?.(danger(`slack slash handler failed: ${String(err)}`));
3342
- await respond({
3343
- text: "Sorry, something went wrong handling that command.",
3344
- response_type: "ephemeral"
3345
- });
3346
- }
3347
- };
3348
- const nativeEnabled = resolveNativeCommandsEnabled({
3349
- providerId: "slack",
3350
- providerSetting: account.config.commands?.native,
3351
- globalSetting: cfg.commands?.native
3352
- });
3353
- const nativeSkillsEnabled = resolveNativeSkillsEnabled({
3354
- providerId: "slack",
3355
- providerSetting: account.config.commands?.nativeSkills,
3356
- globalSetting: cfg.commands?.nativeSkills
3357
- });
3358
- let reg;
3359
- let nativeCommands = [];
3360
- if (nativeEnabled) {
3361
- reg = await getCommandsRegistry();
3362
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-hyZA0LE3.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
3363
- nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
3364
- skillCommands,
3365
- provider: "slack"
3366
- });
3367
- }
3368
- if (nativeCommands.length > 0) {
3369
- const registry = reg;
3370
- if (!registry) throw new Error("Missing commands registry for native Slack commands.");
3371
- for (const command of nativeCommands) ctx.app.command(`/${command.name}`, async ({ command: cmd, ack, respond }) => {
3372
- const commandDefinition = registry.findCommandByNativeName(command.name, "slack");
3373
- const rawText = cmd.text?.trim() ?? "";
3374
- const commandArgs = commandDefinition ? registry.parseCommandArgs(commandDefinition, rawText) : rawText ? { raw: rawText } : void 0;
3375
- await handleSlashCommand({
3376
- command: cmd,
3377
- ack,
3378
- respond,
3379
- prompt: commandDefinition ? registry.buildCommandTextFromArgs(commandDefinition, commandArgs) : rawText ? `/${command.name} ${rawText}` : `/${command.name}`,
3380
- commandArgs,
3381
- commandDefinition: commandDefinition ?? void 0
3382
- });
3383
- });
3384
- } else if (slashCommand.enabled) ctx.app.command(buildSlackSlashCommandMatcher(slashCommand.name), async ({ command, ack, respond }) => {
3385
- await handleSlashCommand({
3386
- command,
3387
- ack,
3388
- respond,
3389
- prompt: command.text?.trim() ?? ""
3390
- });
3391
- });
3392
- else logVerbose("slack: slash commands disabled");
3393
- if (nativeCommands.length === 0 || !supportsInteractiveArgMenus) return;
3394
- const registerArgOptions = () => {
3395
- const appWithOptions = ctx.app;
3396
- if (typeof appWithOptions.options !== "function") return;
3397
- appWithOptions.options(SLACK_COMMAND_ARG_ACTION_ID, async ({ ack, body }) => {
3398
- const typedBody = body;
3399
- const token = readSlackExternalArgMenuToken(typedBody.actions?.[0]?.block_id ?? typedBody.block_id);
3400
- if (!token) {
3401
- await ack({ options: [] });
3402
- return;
3403
- }
3404
- const entry = slackExternalArgMenuStore.get(token);
3405
- if (!entry) {
3406
- await ack({ options: [] });
3407
- return;
3408
- }
3409
- const requesterUserId = typedBody.user?.id?.trim();
3410
- if (!requesterUserId || requesterUserId !== entry.userId) {
3411
- await ack({ options: [] });
3412
- return;
3413
- }
3414
- const query = typedBody.value?.trim().toLowerCase() ?? "";
3415
- await ack({ options: entry.choices.filter((choice) => !query || choice.label.toLowerCase().includes(query)).slice(0, SLACK_COMMAND_ARG_SELECT_OPTIONS_MAX).map((choice) => ({
3416
- text: {
3417
- type: "plain_text",
3418
- text: choice.label.slice(0, 75)
3419
- },
3420
- value: choice.value
3421
- })) });
3422
- });
3423
- };
3424
- registerArgOptions();
3425
- const registerArgAction = (actionId) => {
3426
- ctx.app.action(actionId, async (args) => {
3427
- const { ack, body, respond } = args;
3428
- const action = args.action;
3429
- await ack();
3430
- const respondFn = respond ?? (async (payload) => {
3431
- if (!body.channel?.id || !body.user?.id) return;
3432
- await ctx.app.client.chat.postEphemeral({
3433
- token: ctx.botToken,
3434
- channel: body.channel.id,
3435
- user: body.user.id,
3436
- text: payload.text,
3437
- blocks: payload.blocks
3438
- });
3439
- });
3440
- const parsed = parseSlackCommandArgValue(action?.value ?? action?.selected_option?.value);
3441
- if (!parsed) {
3442
- await respondFn({
3443
- text: "Sorry, that button is no longer valid.",
3444
- response_type: "ephemeral"
3445
- });
3446
- return;
3447
- }
3448
- if (body.user?.id && parsed.userId !== body.user.id) {
3449
- await respondFn({
3450
- text: "That menu is for another user.",
3451
- response_type: "ephemeral"
3452
- });
3453
- return;
3454
- }
3455
- const reg = await getCommandsRegistry();
3456
- const commandDefinition = reg.findCommandByNativeName(parsed.command, "slack");
3457
- const commandArgs = { values: { [parsed.arg]: parsed.value } };
3458
- const prompt = commandDefinition ? reg.buildCommandTextFromArgs(commandDefinition, commandArgs) : `/${parsed.command} ${parsed.value}`;
3459
- const user = body.user;
3460
- const userName = user && "name" in user && user.name ? user.name : user && "username" in user && user.username ? user.username : user?.id ?? "";
3461
- const triggerId = "trigger_id" in body ? body.trigger_id : void 0;
3462
- await handleSlashCommand({
3463
- command: {
3464
- user_id: user?.id ?? "",
3465
- user_name: userName,
3466
- channel_id: body.channel?.id ?? "",
3467
- channel_name: body.channel?.name ?? body.channel?.id ?? "",
3468
- trigger_id: triggerId
3469
- },
3470
- ack: async () => {},
3471
- respond: respondFn,
3472
- prompt,
3473
- commandArgs,
3474
- commandDefinition: commandDefinition ?? void 0
3475
- });
3476
- });
3477
- };
3478
- registerArgAction(SLACK_COMMAND_ARG_ACTION_ID);
3479
- }
3480
-
3481
- //#endregion
3482
- //#region src/slack/monitor/provider.ts
3483
- const slackBoltModule = SlackBolt;
3484
- const { App, HTTPReceiver } = (slackBoltModule.App ? slackBoltModule : slackBoltModule.default) ?? slackBoltModule;
3485
- const SLACK_WEBHOOK_MAX_BODY_BYTES = 1024 * 1024;
3486
- const SLACK_WEBHOOK_BODY_TIMEOUT_MS = 3e4;
3487
- function parseApiAppIdFromAppToken(raw) {
3488
- const token = raw?.trim();
3489
- if (!token) return;
3490
- return /^xapp-\d-([a-z0-9]+)-/i.exec(token)?.[1]?.toUpperCase();
3491
- }
3492
- async function monitorSlackProvider(opts = {}) {
3493
- const cfg = opts.config ?? loadConfig();
3494
- let account = resolveSlackAccount({
3495
- cfg,
3496
- accountId: opts.accountId
3497
- });
3498
- const historyLimit = Math.max(0, account.config.historyLimit ?? cfg.messages?.groupChat?.historyLimit ?? DEFAULT_GROUP_HISTORY_LIMIT);
3499
- const sessionCfg = cfg.session;
3500
- const sessionScope = sessionCfg?.scope ?? "per-sender";
3501
- const mainKey = normalizeMainKey(sessionCfg?.mainKey);
3502
- const slackMode = opts.mode ?? account.config.mode ?? "socket";
3503
- const slackWebhookPath = normalizeSlackWebhookPath(account.config.webhookPath);
3504
- const signingSecret = account.config.signingSecret?.trim();
3505
- const botToken = resolveSlackBotToken(opts.botToken ?? account.botToken);
3506
- const appToken = resolveSlackAppToken(opts.appToken ?? account.appToken);
3507
- if (!botToken || slackMode !== "http" && !appToken) {
3508
- 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).`;
3509
- throw new Error(missing);
3510
- }
3511
- 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).`);
3512
- const runtime = opts.runtime ?? createNonExitingRuntime();
3513
- const slackCfg = account.config;
3514
- const dmConfig = slackCfg.dm;
3515
- const dmEnabled = dmConfig?.enabled ?? true;
3516
- const dmPolicy = slackCfg.dmPolicy ?? dmConfig?.policy ?? "pairing";
3517
- let allowFrom = slackCfg.allowFrom ?? dmConfig?.allowFrom;
3518
- const groupDmEnabled = dmConfig?.groupEnabled ?? false;
3519
- const groupDmChannels = dmConfig?.groupChannels;
3520
- let channelsConfig = slackCfg.channels;
3521
- const defaultGroupPolicy = resolveDefaultGroupPolicy(cfg);
3522
- const { groupPolicy, providerMissingFallbackApplied } = resolveOpenProviderRuntimeGroupPolicy({
3523
- providerConfigPresent: cfg.channels?.slack !== void 0,
3524
- groupPolicy: slackCfg.groupPolicy,
3525
- defaultGroupPolicy
3526
- });
3527
- warnMissingProviderGroupPolicyFallbackOnce({
3528
- providerMissingFallbackApplied,
3529
- providerKey: "slack",
3530
- accountId: account.accountId,
3531
- log: (message) => runtime.log?.(warn(message))
3532
- });
3533
- const resolveToken = slackCfg.userToken?.trim() || botToken;
3534
- const useAccessGroups = cfg.commands?.useAccessGroups !== false;
3535
- const reactionMode = slackCfg.reactionNotifications ?? "own";
3536
- const reactionAllowlist = slackCfg.reactionAllowlist ?? [];
3537
- const replyToMode = slackCfg.replyToMode ?? "off";
3538
- const threadHistoryScope = slackCfg.thread?.historyScope ?? "thread";
3539
- const threadInheritParent = slackCfg.thread?.inheritParent ?? false;
3540
- const slashCommand = resolveSlackSlashCommandConfig(opts.slashCommand ?? slackCfg.slashCommand);
3541
- const textLimit = resolveTextChunkLimit(cfg, "slack", account.accountId);
3542
- const ackReactionScope = cfg.messages?.ackReactionScope ?? "group-mentions";
3543
- const mediaMaxBytes = (opts.mediaMaxMb ?? slackCfg.mediaMaxMb ?? 20) * 1024 * 1024;
3544
- const removeAckAfterReply = cfg.messages?.removeAckAfterReply ?? false;
3545
- const receiver = slackMode === "http" ? new HTTPReceiver({
3546
- signingSecret: signingSecret ?? "",
3547
- endpoints: slackWebhookPath
3548
- }) : null;
3549
- const clientOptions = resolveSlackWebClientOptions();
3550
- const app = new App(slackMode === "socket" ? {
3551
- token: botToken,
3552
- appToken,
3553
- socketMode: true,
3554
- clientOptions
3555
- } : {
3556
- token: botToken,
3557
- receiver: receiver ?? void 0,
3558
- clientOptions
3559
- });
3560
- const slackHttpHandler = slackMode === "http" && receiver ? async (req, res) => {
3561
- const guard = installRequestBodyLimitGuard(req, res, {
3562
- maxBytes: SLACK_WEBHOOK_MAX_BODY_BYTES,
3563
- timeoutMs: SLACK_WEBHOOK_BODY_TIMEOUT_MS,
3564
- responseFormat: "text"
3565
- });
3566
- if (guard.isTripped()) return;
3567
- try {
3568
- await Promise.resolve(receiver.requestListener(req, res));
3569
- } catch (err) {
3570
- if (!guard.isTripped()) throw err;
3571
- } finally {
3572
- guard.dispose();
3573
- }
3574
- } : null;
3575
- let unregisterHttpHandler = null;
3576
- let botUserId = "";
3577
- let teamId = "";
3578
- let apiAppId = "";
3579
- const expectedApiAppIdFromAppToken = parseApiAppIdFromAppToken(appToken);
3580
- try {
3581
- const auth = await app.client.auth.test({ token: botToken });
3582
- botUserId = auth.user_id ?? "";
3583
- teamId = auth.team_id ?? "";
3584
- apiAppId = auth.api_app_id ?? "";
3585
- } catch {}
3586
- 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}`);
3587
- const ctx = createSlackMonitorContext({
3588
- cfg,
3589
- accountId: account.accountId,
3590
- botToken,
3591
- app,
3592
- runtime,
3593
- botUserId,
3594
- teamId,
3595
- apiAppId,
3596
- historyLimit,
3597
- sessionScope,
3598
- mainKey,
3599
- dmEnabled,
3600
- dmPolicy,
3601
- allowFrom,
3602
- allowNameMatching: isDangerousNameMatchingEnabled(slackCfg),
3603
- groupDmEnabled,
3604
- groupDmChannels,
3605
- defaultRequireMention: slackCfg.requireMention,
3606
- channelsConfig,
3607
- groupPolicy,
3608
- useAccessGroups,
3609
- reactionMode,
3610
- reactionAllowlist,
3611
- replyToMode,
3612
- threadHistoryScope,
3613
- threadInheritParent,
3614
- slashCommand,
3615
- textLimit,
3616
- ackReactionScope,
3617
- mediaMaxBytes,
3618
- removeAckAfterReply
3619
- });
3620
- registerSlackMonitorEvents({
3621
- ctx,
3622
- account,
3623
- handleSlackMessage: createSlackMessageHandler({
3624
- ctx,
3625
- account
3626
- })
3627
- });
3628
- await registerSlackMonitorSlashCommands({
3629
- ctx,
3630
- account
3631
- });
3632
- if (slackMode === "http" && slackHttpHandler) unregisterHttpHandler = registerSlackHttpHandler({
3633
- path: slackWebhookPath,
3634
- handler: slackHttpHandler,
3635
- log: runtime.log,
3636
- accountId: account.accountId
3637
- });
3638
- if (resolveToken) (async () => {
3639
- if (opts.abortSignal?.aborted) return;
3640
- if (channelsConfig && Object.keys(channelsConfig).length > 0) try {
3641
- const entries = Object.keys(channelsConfig).filter((key) => key !== "*");
3642
- if (entries.length > 0) {
3643
- const resolved = await resolveSlackChannelAllowlist({
3644
- token: resolveToken,
3645
- entries
3646
- });
3647
- const nextChannels = { ...channelsConfig };
3648
- const mapping = [];
3649
- const unresolved = [];
3650
- for (const entry of resolved) {
3651
- const source = channelsConfig?.[entry.input];
3652
- if (!source) continue;
3653
- if (!entry.resolved || !entry.id) {
3654
- unresolved.push(entry.input);
3655
- continue;
3656
- }
3657
- mapping.push(`${entry.input}→${entry.id}${entry.archived ? " (archived)" : ""}`);
3658
- const existing = nextChannels[entry.id] ?? {};
3659
- nextChannels[entry.id] = {
3660
- ...source,
3661
- ...existing
3662
- };
3663
- }
3664
- channelsConfig = nextChannels;
3665
- ctx.channelsConfig = nextChannels;
3666
- summarizeMapping("slack channels", mapping, unresolved, runtime);
3667
- }
3668
- } catch (err) {
3669
- runtime.log?.(`slack channel resolve failed; using config entries. ${String(err)}`);
3670
- }
3671
- const allowEntries = allowFrom?.filter((entry) => String(entry).trim() && String(entry).trim() !== "*") ?? [];
3672
- if (allowEntries.length > 0) try {
3673
- const { mapping, unresolved, additions } = buildAllowlistResolutionSummary(await resolveSlackUserAllowlist({
3674
- token: resolveToken,
3675
- entries: allowEntries.map((entry) => String(entry))
3676
- }), { formatResolved: (entry) => {
3677
- const note = entry.note ? ` (${entry.note})` : "";
3678
- return `${entry.input}→${entry.id}${note}`;
3679
- } });
3680
- allowFrom = mergeAllowlist({
3681
- existing: allowFrom,
3682
- additions
3683
- });
3684
- ctx.allowFrom = normalizeAllowList(allowFrom);
3685
- summarizeMapping("slack users", mapping, unresolved, runtime);
3686
- } catch (err) {
3687
- runtime.log?.(`slack user resolve failed; using config entries. ${String(err)}`);
3688
- }
3689
- if (channelsConfig && Object.keys(channelsConfig).length > 0) {
3690
- const userEntries = /* @__PURE__ */ new Set();
3691
- for (const channel of Object.values(channelsConfig)) addAllowlistUserEntriesFromConfigEntry(userEntries, channel);
3692
- if (userEntries.size > 0) try {
3693
- const { resolvedMap, mapping, unresolved } = buildAllowlistResolutionSummary(await resolveSlackUserAllowlist({
3694
- token: resolveToken,
3695
- entries: Array.from(userEntries)
3696
- }));
3697
- const nextChannels = patchAllowlistUsersInConfigEntries({
3698
- entries: channelsConfig,
3699
- resolvedMap
3700
- });
3701
- channelsConfig = nextChannels;
3702
- ctx.channelsConfig = nextChannels;
3703
- summarizeMapping("slack channel users", mapping, unresolved, runtime);
3704
- } catch (err) {
3705
- runtime.log?.(`slack channel user resolve failed; using config entries. ${String(err)}`);
3706
- }
3707
- }
3708
- })();
3709
- const stopOnAbort = () => {
3710
- if (opts.abortSignal?.aborted && slackMode === "socket") app.stop();
3711
- };
3712
- opts.abortSignal?.addEventListener("abort", stopOnAbort, { once: true });
3713
- try {
3714
- if (slackMode === "socket") {
3715
- await app.start();
3716
- runtime.log?.("slack socket mode connected");
3717
- } else runtime.log?.(`slack http mode listening at ${slackWebhookPath}`);
3718
- if (opts.abortSignal?.aborted) return;
3719
- await new Promise((resolve) => {
3720
- opts.abortSignal?.addEventListener("abort", () => resolve(), { once: true });
3721
- });
3722
- } finally {
3723
- opts.abortSignal?.removeEventListener("abort", stopOnAbort);
3724
- unregisterHttpHandler?.();
3725
- await app.stop().catch(() => void 0);
3726
- }
3727
- }
3728
-
3729
- //#endregion
3730
- export { monitorSlackProvider };