@fased/fased 0.1.36 → 0.1.37

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 (244) hide show
  1. package/config/capability-catalog.json +241 -0
  2. package/config/dependency-ownership.json +130 -0
  3. package/config/official-channel-catalog.json +39 -0
  4. package/dist/agents/tools/web-fetch-utils.js +2 -1
  5. package/dist/agents/tools/web-fetch-visibility.js +3 -1
  6. package/dist/brand.js +1 -1
  7. package/dist/browser/pw-session.js +2 -1
  8. package/dist/browser/pw-tools-core.state.js +3 -2
  9. package/dist/browser/runtime-dependency.js +27 -0
  10. package/dist/build-info.json +3 -3
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/capabilities/catalog.js +228 -0
  13. package/dist/cli/components-cli.js +105 -0
  14. package/dist/cli/hooks-cli.js +1 -1
  15. package/dist/cli/plugins-cli.js +3 -3
  16. package/dist/cli/program/register.subclis.js +9 -0
  17. package/dist/cli/update-cli/update-command.js +1 -1
  18. package/dist/commands/doctor-capabilities.js +26 -0
  19. package/dist/commands/doctor.js +2 -0
  20. package/dist/control-ui/assets/{app-DXYMrRJ9.js → app-JBrTSsNu.js} +1480 -1465
  21. package/dist/control-ui/assets/{index-iGQkJE0l.js → index-H-2DWAnH.js} +3 -3
  22. package/dist/control-ui/index.html +1 -1
  23. package/dist/gateway/method-scopes.js +1 -0
  24. package/dist/gateway/server-methods/plugins-marketplace.js +1 -1
  25. package/dist/gateway/server-methods/services.js +8 -0
  26. package/dist/gateway/server-methods-list.js +1 -0
  27. package/dist/infra/optional-runtime-dependency.js +46 -0
  28. package/dist/media/image-ops.js +6 -1
  29. package/dist/media/input-files.js +11 -2
  30. package/dist/media/mime.js +6 -1
  31. package/dist/memory/sqlite-vec.js +7 -1
  32. package/dist/plugin-sdk/{accounts-VqAX3HJ0.js → accounts-BwkH5bTD.js} +1 -1
  33. package/dist/plugin-sdk/{accounts-COY-15zJ.js → accounts-C5BjfxoO.js} +1 -1
  34. package/dist/plugin-sdk/{accounts-Zgt0NP54.js → accounts-RT6y7n3H.js} +1 -1
  35. package/dist/plugin-sdk/{actions-lB3PCwsz.js → actions-BrU_JMqM.js} +2 -2
  36. package/dist/plugin-sdk/{actions-BI5QViLk.js → actions-CUdVHzeJ.js} +2 -2
  37. package/dist/plugin-sdk/{active-listener-DKZiSaRA.js → active-listener-CE8t5g6l.js} +1 -1
  38. package/dist/plugin-sdk/{active-listener-D6_pdTMC.js → active-listener-Dx1SEGDn.js} +1 -1
  39. package/dist/plugin-sdk/{audio-preflight-Dx8J7XhV.js → audio-preflight-C8SbY4fV.js} +22 -22
  40. package/dist/plugin-sdk/{audio-preflight-CeRstduc.js → audio-preflight-CuABlLDL.js} +22 -22
  41. package/dist/plugin-sdk/{audit-BImNOQvk.js → audit-DxB2Kml5.js} +11 -11
  42. package/dist/plugin-sdk/{audit-CKWkq0Un.js → audit-sSeRDwJb.js} +11 -11
  43. package/dist/plugin-sdk/channel-plugin-common.js +3 -2
  44. package/dist/plugin-sdk/{chunk-skAJZWCT.js → chunk-KCxbJLsV.js} +1 -1
  45. package/dist/plugin-sdk/{chunk-Cjw4712g.js → chunk-M2d7r-Zt.js} +1 -1
  46. package/dist/plugin-sdk/{chunk-items-Df5811D0.js → chunk-items-BGbYyNvO.js} +1 -1
  47. package/dist/plugin-sdk/command-status.js +22 -22
  48. package/dist/plugin-sdk/{commands-registry-5J619bQ2.js → commands-registry-CdT-nl7v.js} +2 -2
  49. package/dist/plugin-sdk/{commands-registry-CoLAT03J.js → commands-registry-DoWdYAJd.js} +2 -2
  50. package/dist/plugin-sdk/{common-CSTxewqY.js → common-Cpw-vuuM.js} +1 -1
  51. package/dist/plugin-sdk/{common-BiF0sTnY.js → common-DJWrErdE.js} +1 -1
  52. package/dist/plugin-sdk/{config-BxVjLTIv.js → config-C0qggNKQ.js} +7 -7
  53. package/dist/plugin-sdk/{config-TFokWwvO.js → config-CgwTaper.js} +45 -2
  54. package/dist/plugin-sdk/{config-DXlISPlx.js → config-DtqAN2L3.js} +45 -2
  55. package/dist/plugin-sdk/{config-DgD5T-Ui.js → config-g1MG9Bet.js} +7 -7
  56. package/dist/plugin-sdk/discord.js +2 -1
  57. package/dist/plugin-sdk/{fetch-guard-DPMynms8.js → fetch-guard-BLdujDnt.js} +1 -1
  58. package/dist/plugin-sdk/{fetch-guard-COLmW2TM.js → fetch-guard-DTKgMN9f.js} +1 -1
  59. package/dist/plugin-sdk/{handle-action-C-UndB8E.js → handle-action-B61D85yo.js} +12 -12
  60. package/dist/plugin-sdk/{handle-action-hhufKxmU.js → handle-action-CjcxGzQD.js} +12 -12
  61. package/dist/plugin-sdk/index.js +22 -22
  62. package/dist/plugin-sdk/{login-DL1oBBfL.js → login-CB_nCjX3.js} +3 -3
  63. package/dist/plugin-sdk/{login-YveoqEvH.js → login-CfRfRNc7.js} +2 -2
  64. package/dist/plugin-sdk/{login-Dnxas1dI.js → login-CzUuDd1v.js} +3 -3
  65. package/dist/plugin-sdk/{login-qr-CVQsGWKq.js → login-qr-D7MEpFza.js} +3 -3
  66. package/dist/plugin-sdk/{login-qr-B343JNXJ.js → login-qr-DgxfBFVN.js} +3 -3
  67. package/dist/plugin-sdk/{manager-BytwRIfK.js → manager-9see0IX5.js} +8 -3
  68. package/dist/plugin-sdk/{manager-BZjd_PCt.js → manager-D2kZ0Cps.js} +8 -3
  69. package/dist/plugin-sdk/{markdown-tables-krKiU4cT.js → markdown-tables-CCSD52rA.js} +1 -1
  70. package/dist/plugin-sdk/{markdown-tables-9rJDQ1X-.js → markdown-tables-DWUNvLrc.js} +1 -1
  71. package/dist/plugin-sdk/{media-D7ZkWU-A.js → media-C7YT4DeU.js} +13 -4
  72. package/dist/plugin-sdk/{media-C6C2c9a4.js → media-Cxw-xLGU.js} +13 -4
  73. package/dist/plugin-sdk/{monitor-CVQNDfhs.js → monitor-9X7wapUN.js} +27 -27
  74. package/dist/plugin-sdk/{monitor-BCxkQBoh.js → monitor-B3IfJzKX.js} +26 -26
  75. package/dist/plugin-sdk/{monitor-BzDW50H6.js → monitor-CTjAST_W.js} +27 -27
  76. package/dist/plugin-sdk/{monitor-BsLMfn3U.js → monitor-tYFfy2u-.js} +26 -26
  77. package/dist/plugin-sdk/{openresponses-http-BB67Z4QM.js → openresponses-http-DEB2fEya.js} +22 -22
  78. package/dist/plugin-sdk/{openresponses-http-NE76GGhj.js → openresponses-http-YgMg1jnp.js} +22 -22
  79. package/dist/plugin-sdk/{ssrf-u0Ul7okY.js → optional-runtime-dependency-szS49voX.js} +46 -2
  80. package/dist/plugin-sdk/{outbound-PGNWU6T-.js → outbound-BCxOxdi-.js} +6 -6
  81. package/dist/plugin-sdk/{outbound-BHWJD9q0.js → outbound-JIwQbpRY.js} +6 -6
  82. package/dist/plugin-sdk/{outbound-attachment-BVzfhqnk.js → outbound-attachment-C-jSFaEB.js} +1 -1
  83. package/dist/plugin-sdk/{outbound-attachment-ClMvNW17.js → outbound-attachment-D6tj5Y5H.js} +1 -1
  84. package/dist/plugin-sdk/{pi-embedded-runner-DQ6UPx6-.js → pi-embedded-runner-CUVk8CIj.js} +72 -60
  85. package/dist/plugin-sdk/{pi-model-discovery-D51L5E9I.js → pi-model-discovery-DadlvsZW.js} +1 -1
  86. package/dist/plugin-sdk/{pi-model-discovery-runtime-DxoFm4Vd.js → pi-model-discovery-runtime-C5ssE6EW.js} +1 -1
  87. package/dist/plugin-sdk/{pi-model-discovery-runtime-DRuh4PNV.js → pi-model-discovery-runtime-DAaOPt64.js} +2 -2
  88. package/dist/plugin-sdk/{pi-model-discovery-runtime-CQOauapl.js → pi-model-discovery-runtime-LB-5lX5L.js} +1 -1
  89. package/dist/plugin-sdk/{pi-model-discovery-runtime-BTWgkx4x.js → pi-model-discovery-runtime-gd77b0UF.js} +2 -2
  90. package/dist/plugin-sdk/{pi-model-discovery-CkH5l9X5.js → pi-model-discovery-yifTIDIn.js} +1 -1
  91. package/dist/plugin-sdk/{pw-ai-DZs6uYRd.js → pw-ai-SNCI9UXT.js} +6 -5
  92. package/dist/plugin-sdk/{pw-ai-Cn-EUPZK.js → pw-ai-sH1Pi-Fh.js} +6 -5
  93. package/dist/plugin-sdk/{registry-B4HvWzob.js → registry-DNkJsNsz.js} +4 -3
  94. package/dist/plugin-sdk/{replies-jDMUBsNO.js → replies-fvzN5wnU.js} +2 -2
  95. package/dist/plugin-sdk/{replies-B_LW9c9f.js → replies-zebgZCHX.js} +2 -2
  96. package/dist/plugin-sdk/{resolve-route-_YZHbS-z.js → resolve-route-CNhTJG_2.js} +1 -1
  97. package/dist/plugin-sdk/{resolve-route-DlHzggnG.js → resolve-route-DO0WR4nB.js} +1 -1
  98. package/dist/plugin-sdk/{resolve-utils-zBhVX3Vx.js → resolve-utils-EFP1DYqG.js} +1 -1
  99. package/dist/plugin-sdk/{retry-policy-DGLs5ebP.js → retry-policy-BLYEgIwP.js} +1 -1
  100. package/dist/plugin-sdk/{retry-policy-DaodShGa.js → retry-policy-sM01QZT2.js} +1 -1
  101. package/dist/plugin-sdk/{runtime-Dd0sswuW.js → runtime-BPyuAmka.js} +4 -3
  102. package/dist/plugin-sdk/{paths-DW-U2r7Y.js → runtime-dependency-B-1u41Ph.js} +27 -3
  103. package/dist/plugin-sdk/{paths-CBCpJ5bu.js → runtime-dependency-Csswyv5r.js} +27 -3
  104. package/dist/plugin-sdk/sat-runtime.js +1 -0
  105. package/dist/plugin-sdk/{send-8remZhsH.js → send-B09HRfHN.js} +6 -6
  106. package/dist/plugin-sdk/{send-DaaAscWj.js → send-BBYcgXA4.js} +5 -5
  107. package/dist/plugin-sdk/{send-DFTB0cnx.js → send-BQXQA81e.js} +6 -6
  108. package/dist/plugin-sdk/{send-CtMVvMJs.js → send-BzFdvD_i.js} +6 -6
  109. package/dist/plugin-sdk/{send-Di9irjS-.js → send-C3u-F_8s.js} +6 -6
  110. package/dist/plugin-sdk/{send-Dl88ZKq2.js → send-D3836_UN.js} +6 -6
  111. package/dist/plugin-sdk/{send-ifgZCHVB.js → send-D7tr-EsH.js} +5 -5
  112. package/dist/plugin-sdk/{send-DvUpYh0d.js → send-DRGzRdI3.js} +6 -6
  113. package/dist/plugin-sdk/{send-D2jlPeKH.js → send-DfkPKz_0.js} +4 -4
  114. package/dist/plugin-sdk/{send-QSt6nbny.js → send-DsxFXrCO.js} +4 -4
  115. package/dist/plugin-sdk/{session-CknrceVU.js → session-DG_bYisw.js} +2 -2
  116. package/dist/plugin-sdk/{session-CyRTcJ8N.js → session-EIStzK0E.js} +2 -2
  117. package/dist/plugin-sdk/{skill-commands-DHxkTA0s.js → skill-commands-CkgGmWBS.js} +2 -2
  118. package/dist/plugin-sdk/{skill-commands-CLXAG5sU.js → skill-commands-hyZA0LE3.js} +2 -2
  119. package/dist/plugin-sdk/{slack-BpJXkwxF.js → slack-C0WZVJPZ.js} +34 -34
  120. package/dist/plugin-sdk/{slack-Br9c6Yzs.js → slack-DtlPw_PN.js} +34 -34
  121. package/dist/plugin-sdk/{slack-actions-8tLGt1Ht.js → slack-actions-BQawWGTJ.js} +11 -11
  122. package/dist/plugin-sdk/{slack-actions-CDSSRo8Y.js → slack-actions-DDMszx56.js} +11 -11
  123. package/dist/plugin-sdk/slack.js +2 -1
  124. package/dist/plugin-sdk/src/brand.d.ts +2 -2
  125. package/dist/plugin-sdk/src/browser/runtime-dependency.d.ts +3 -0
  126. package/dist/plugin-sdk/src/infra/optional-runtime-dependency.d.ts +6 -0
  127. package/dist/plugin-sdk/{ssrf-fG4UHKBw.js → ssrf-Cce6LubA.js} +41 -7
  128. package/dist/plugin-sdk/{status-DoxnzyMC.js → status-CIiBeb9B.js} +72 -60
  129. package/dist/plugin-sdk/{sticker-cache-zmJ39ByC.js → sticker-cache-9houHChV.js} +3 -3
  130. package/dist/plugin-sdk/{sticker-cache-D7WcMYsF.js → sticker-cache-Dwi-XsgB.js} +3 -3
  131. package/dist/plugin-sdk/{tables-CkxblF0u.js → tables-BD7H5ug-.js} +1 -1
  132. package/dist/plugin-sdk/{tables-RBtf8G4P.js → tables-CJE8kB35.js} +1 -1
  133. package/dist/plugin-sdk/{telegram-actions-DAeYXSLk.js → telegram-actions-Bu1edXF2.js} +25 -25
  134. package/dist/plugin-sdk/{telegram-actions-BDeS3ocd.js → telegram-actions-CRXVO8lG.js} +25 -25
  135. package/dist/plugin-sdk/telegram.js +2 -1
  136. package/dist/plugin-sdk/{thread-bindings.lifecycle-DsB94WbE.js → thread-bindings.lifecycle-Djem8FWF.js} +2 -2
  137. package/dist/plugin-sdk/{thread-bindings.lifecycle-DMhV3TsR.js → thread-bindings.lifecycle-gmHv3hc7.js} +2 -2
  138. package/dist/plugin-sdk/{thread-bindings.state-DYWpy7hJ.js → thread-bindings.state-CNT2vxm3.js} +2 -2
  139. package/dist/plugin-sdk/{thread-bindings.state-DG5cBaRn.js → thread-bindings.state-D8kN2X6H.js} +2 -2
  140. package/dist/plugin-sdk/{web-IJ4NoGPJ.js → web-DCrVQr6y.js} +26 -26
  141. package/dist/plugin-sdk/{web-DJwacWQo.js → web-Ds6OWw3C.js} +26 -26
  142. package/dist/plugin-sdk/{whatsapp-actions-DAY8hWpD.js → whatsapp-actions-68Mfs2dJ.js} +12 -12
  143. package/dist/plugin-sdk/{whatsapp-actions-6opfo-oB.js → whatsapp-actions-DRqtzvTO.js} +12 -12
  144. package/dist/plugin-sdk/whatsapp.js +6 -5
  145. package/dist/plugin-sdk/{wsl-B2euLEc2.js → wsl-DcM2PgSS.js} +3 -3
  146. package/dist/plugin-sdk/{wsl-B8eyviuv.js → wsl-PXrdWitE.js} +3 -3
  147. package/dist/plugins/update.js +1 -1
  148. package/dist/tts/tts-core.js +6 -1
  149. package/dist/wizard/onboarding.finalize.js +9 -0
  150. package/extensions/acpx/package.json +1 -1
  151. package/extensions/bluebubbles/package.json +1 -1
  152. package/extensions/copilot-proxy/package.json +1 -1
  153. package/extensions/diagnostics-otel/package.json +1 -1
  154. package/extensions/fased-federation/package.json +1 -1
  155. package/extensions/google-gemini-cli-auth/package.json +1 -1
  156. package/extensions/imessage/package.json +1 -1
  157. package/extensions/irc/package.json +1 -1
  158. package/extensions/line/package.json +1 -1
  159. package/extensions/llm-task/package.json +1 -1
  160. package/extensions/lobster/package.json +1 -1
  161. package/extensions/matrix/CHANGELOG.md +6 -0
  162. package/extensions/matrix/package.json +1 -1
  163. package/extensions/mattermost/package.json +1 -1
  164. package/extensions/memory-core/package.json +2 -2
  165. package/extensions/memory-lancedb/package.json +1 -1
  166. package/extensions/minimax-portal-auth/package.json +1 -1
  167. package/extensions/msteams/CHANGELOG.md +6 -0
  168. package/extensions/msteams/package.json +1 -1
  169. package/extensions/nextcloud-talk/package.json +1 -1
  170. package/extensions/nostr/CHANGELOG.md +6 -0
  171. package/extensions/nostr/package.json +1 -1
  172. package/extensions/open-prose/package.json +1 -1
  173. package/extensions/sat-mining/package.json +1 -1
  174. package/extensions/signal/package.json +1 -1
  175. package/extensions/synology-chat/package.json +1 -1
  176. package/extensions/tlon/package.json +1 -1
  177. package/extensions/twitch/CHANGELOG.md +6 -0
  178. package/extensions/twitch/package.json +1 -1
  179. package/extensions/voice-call/CHANGELOG.md +6 -0
  180. package/extensions/voice-call/package.json +1 -1
  181. package/extensions/zalo/CHANGELOG.md +6 -0
  182. package/extensions/zalo/package.json +1 -1
  183. package/extensions/zalouser/CHANGELOG.md +6 -0
  184. package/extensions/zalouser/package.json +1 -1
  185. package/package.json +22 -15
  186. package/extensions/feishu/fased.plugin.json +0 -10
  187. package/extensions/feishu/index.ts +0 -63
  188. package/extensions/feishu/package.json +0 -33
  189. package/extensions/feishu/skills/feishu-doc/SKILL.md +0 -211
  190. package/extensions/feishu/skills/feishu-doc/references/block-types.md +0 -103
  191. package/extensions/feishu/skills/feishu-drive/SKILL.md +0 -97
  192. package/extensions/feishu/skills/feishu-perm/SKILL.md +0 -119
  193. package/extensions/feishu/skills/feishu-wiki/SKILL.md +0 -111
  194. package/extensions/feishu/src/accounts.ts +0 -159
  195. package/extensions/feishu/src/bitable.ts +0 -713
  196. package/extensions/feishu/src/bot.ts +0 -979
  197. package/extensions/feishu/src/channel.ts +0 -359
  198. package/extensions/feishu/src/client.ts +0 -118
  199. package/extensions/feishu/src/config-schema.ts +0 -226
  200. package/extensions/feishu/src/dedup.ts +0 -54
  201. package/extensions/feishu/src/directory.ts +0 -177
  202. package/extensions/feishu/src/doc-schema.ts +0 -122
  203. package/extensions/feishu/src/docx.ts +0 -998
  204. package/extensions/feishu/src/drive-schema.ts +0 -46
  205. package/extensions/feishu/src/drive.ts +0 -232
  206. package/extensions/feishu/src/dynamic-agent.ts +0 -131
  207. package/extensions/feishu/src/external-keys.ts +0 -19
  208. package/extensions/feishu/src/media.ts +0 -447
  209. package/extensions/feishu/src/mention.ts +0 -133
  210. package/extensions/feishu/src/monitor.ts +0 -434
  211. package/extensions/feishu/src/onboarding.ts +0 -430
  212. package/extensions/feishu/src/outbound.ts +0 -56
  213. package/extensions/feishu/src/perm-schema.ts +0 -52
  214. package/extensions/feishu/src/perm.ts +0 -180
  215. package/extensions/feishu/src/policy.ts +0 -116
  216. package/extensions/feishu/src/probe.ts +0 -44
  217. package/extensions/feishu/src/reactions.ts +0 -160
  218. package/extensions/feishu/src/reply-dispatcher.ts +0 -239
  219. package/extensions/feishu/src/runtime.ts +0 -14
  220. package/extensions/feishu/src/send-result.ts +0 -29
  221. package/extensions/feishu/src/send-target.ts +0 -25
  222. package/extensions/feishu/src/send.ts +0 -313
  223. package/extensions/feishu/src/streaming-card.ts +0 -218
  224. package/extensions/feishu/src/targets.ts +0 -78
  225. package/extensions/feishu/src/tool-account.ts +0 -58
  226. package/extensions/feishu/src/tools-config.ts +0 -21
  227. package/extensions/feishu/src/types.ts +0 -81
  228. package/extensions/feishu/src/typing.ts +0 -80
  229. package/extensions/feishu/src/wiki-schema.ts +0 -55
  230. package/extensions/feishu/src/wiki.ts +0 -237
  231. package/extensions/googlechat/fased.plugin.json +0 -9
  232. package/extensions/googlechat/index.ts +0 -19
  233. package/extensions/googlechat/package.json +0 -37
  234. package/extensions/googlechat/src/accounts.ts +0 -147
  235. package/extensions/googlechat/src/actions.ts +0 -176
  236. package/extensions/googlechat/src/api.ts +0 -282
  237. package/extensions/googlechat/src/auth.ts +0 -137
  238. package/extensions/googlechat/src/channel.ts +0 -591
  239. package/extensions/googlechat/src/monitor.ts +0 -996
  240. package/extensions/googlechat/src/onboarding.ts +0 -344
  241. package/extensions/googlechat/src/runtime.ts +0 -14
  242. package/extensions/googlechat/src/targets.ts +0 -65
  243. package/extensions/googlechat/src/types.config.ts +0 -3
  244. package/extensions/googlechat/src/types.ts +0 -73
@@ -1,15 +1,15 @@
1
- import { $t as resolveToolDisplay, A as clearHistoryEntriesIfEnabled, An as DEFAULT_FEDERATION_BASE_URL, Bn as validatePushTestParams, Cn as readRequestBodyWithLimit, Cr as assertOkOrThrowHttpError, Dn as runFederationAutoConnectOnce, Dr as BLUEBUBBLES_GROUP_ACTIONS, E as DEFAULT_GROUP_HISTORY_LIMIT, En as resolveChannelMediaMaxBytes, Er as BLUEBUBBLES_ACTION_NAMES, F as recordInboundSession, G as formatInboundFromLabel, Hn as errorShape, I as removeAckReactionAfterReply, Jn as processLineMessage, Kn as resolveModel, L as shouldAckReaction, Ln as loadOrCreateDeviceIdentity, M as recordPendingHistoryEntry, Mn as resolveAgentPublicOrigin, N as recordPendingHistoryEntryIfEnabled, Nn as resolveFederationBaseUrl, O as buildPendingHistoryContextFromMap, On as startFederationAutoConnect, Or as CHANNEL_MESSAGE_ACTION_NAMES, P as formatDocsLink, Pn as resolveFederationHandle, R as shouldAckReactionForWhatsApp, Rn as publicKeyRawBase64UrlFromPem, S as detectBinary, Sn as readJsonBodyWithLimit, Sr as warnMissingProviderGroupPolicyFallbackOnce, Tr as BLUEBUBBLES_ACTIONS, Ut as optionalStringEnum, Vn as ErrorCodes, Wt as stringEnum, Xn as createReceiptCard, Yn as stripMarkdown, Zn as attachFooterText, _ as resolveDefaultLineAccountId, _n as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, _r as resolveControlCommandGate, _t as getChannelAgentToolMeta, an as getAcpSessionManager, ar as listDevicePairing, b as logInboundDrop, bn as installRequestBodyLimitGuard, br as resolveDefaultGroupPolicy, c as loadModelCatalog, cn as unregisterAcpRuntimeBackend, d as issuePairingChallenge, dr as DM_GROUP_ACCESS_REASON, er as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, f as createTypingCallbacks, fr as readStoreAllowFromForDmPolicy, g as normalizeAccountId$1, h as listLineAccountIds, hr as resolveEffectiveAllowFromLists, ir as approveDevicePairing, j as evictOldHistoryKeys, jn as normalizeHandle, k as clearHistoryEntries, ln as resolveRuntimeOptionsFromMeta, lr as extractToolSend, m as resolveMentionGatingWithBypass, mr as resolveDmGroupAccessWithLists, nr as resolveHeartbeatPrompt, o as resolveStrictAgenticRuntimeMode, on as getAcpRuntimeBackend, or as rejectDevicePairing, ot as createFasedAgentCodingTools, p as resolveMentionGating, pr as resolveDmGroupAccessWithCommandGate, qn as hasMarkdownToConvert, rr as waitForAbortSignal, sn as registerAcpRuntimeBackend, sr as createDedupeCache, st as resolveEffectiveToolPolicy, t as runEmbeddedPiAgent, tr as DEFAULT_HEARTBEAT_EVERY, u as deriveModelMetadata, un as AcpRuntimeError, ur as withTempDownloadPath, v as resolveLineAccount, vn as DEFAULT_WEBHOOK_MAX_BODY_BYTES, vr as GROUP_POLICY_BLOCKED_LABEL, vt as getPluginToolMeta, wn as requestBodyErrorToText, wr as registerPluginHttpRoute, wt as peekSystemEvents, x as logTypingFailure, xn as isRequestBodyLimitError, xr as resolveOpenProviderRuntimeGroupPolicy, y as logAckFailure, yn as RequestBodyLimitError, yr as resolveAllowlistProviderRuntimeGroupPolicy, yt as buildChannelSummary, zn as formatValidationErrors } from "./pi-embedded-runner-DQ6UPx6-.js";
2
- import { Ct as resolveIMessageGroupToolPolicy, Ft as listIMessageAccountIds, It as resolveDefaultIMessageAccountId, Lt as resolveIMessageAccount, Mt as listSignalAccountIds, Nt as resolveDefaultSignalAccountId, Pt as resolveSignalAccount, St as resolveIMessageGroupRequireMention, Vt as resolveToolsBySender, _t as normalizeSignalMessagingTarget, an as logMutatingAdminRpcAudit, at as resolveMainSessionKey, bt as resolveGoogleChatGroupRequireMention, c as listAgentsForGateway, ct as listChannelPlugins, et as resolveFreshSessionTotalTokens, f as resolveContextTokensForModel, ft as looksLikeHandleOrPhoneTarget, gt as looksLikeSignalTargetId, ln as authorizeOperatorScopesForMethod, mn as listPluginCommands, on as consumeMutatingAdminRpcBudget, pn as getPluginCommandSpecs, pt as trimMessagingTarget, s as classifySessionKey, t as getActivePluginRegistry, tn as getChatChannelMeta, u as resolveSessionModelRef, vn as normalizePluginHttpPath, vt as resolveBlueBubblesGroupRequireMention, x as loadSessionStore, xt as resolveGoogleChatGroupToolPolicy, yt as resolveBlueBubblesGroupToolPolicy } from "./runtime-Dd0sswuW.js";
1
+ import { $t as resolveToolDisplay, A as clearHistoryEntriesIfEnabled, An as DEFAULT_FEDERATION_BASE_URL, Bn as validatePushTestParams, Cn as readRequestBodyWithLimit, Cr as assertOkOrThrowHttpError, Dn as runFederationAutoConnectOnce, Dr as BLUEBUBBLES_GROUP_ACTIONS, E as DEFAULT_GROUP_HISTORY_LIMIT, En as resolveChannelMediaMaxBytes, Er as BLUEBUBBLES_ACTION_NAMES, F as recordInboundSession, G as formatInboundFromLabel, Hn as errorShape, I as removeAckReactionAfterReply, Jn as processLineMessage, Kn as resolveModel, L as shouldAckReaction, Ln as loadOrCreateDeviceIdentity, M as recordPendingHistoryEntry, Mn as resolveAgentPublicOrigin, N as recordPendingHistoryEntryIfEnabled, Nn as resolveFederationBaseUrl, O as buildPendingHistoryContextFromMap, On as startFederationAutoConnect, Or as CHANNEL_MESSAGE_ACTION_NAMES, P as formatDocsLink, Pn as resolveFederationHandle, R as shouldAckReactionForWhatsApp, Rn as publicKeyRawBase64UrlFromPem, S as detectBinary, Sn as readJsonBodyWithLimit, Sr as warnMissingProviderGroupPolicyFallbackOnce, Tr as BLUEBUBBLES_ACTIONS, Ut as optionalStringEnum, Vn as ErrorCodes, Wt as stringEnum, Xn as createReceiptCard, Yn as stripMarkdown, Zn as attachFooterText, _ as resolveDefaultLineAccountId, _n as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, _r as resolveControlCommandGate, _t as getChannelAgentToolMeta, an as getAcpSessionManager, ar as listDevicePairing, b as logInboundDrop, bn as installRequestBodyLimitGuard, br as resolveDefaultGroupPolicy, c as loadModelCatalog, cn as unregisterAcpRuntimeBackend, d as issuePairingChallenge, dr as DM_GROUP_ACCESS_REASON, er as DEFAULT_HEARTBEAT_ACK_MAX_CHARS, f as createTypingCallbacks, fr as readStoreAllowFromForDmPolicy, g as normalizeAccountId$1, h as listLineAccountIds, hr as resolveEffectiveAllowFromLists, ir as approveDevicePairing, j as evictOldHistoryKeys, jn as normalizeHandle, k as clearHistoryEntries, ln as resolveRuntimeOptionsFromMeta, lr as extractToolSend, m as resolveMentionGatingWithBypass, mr as resolveDmGroupAccessWithLists, nr as resolveHeartbeatPrompt, o as resolveStrictAgenticRuntimeMode, on as getAcpRuntimeBackend, or as rejectDevicePairing, ot as createFasedAgentCodingTools, p as resolveMentionGating, pr as resolveDmGroupAccessWithCommandGate, qn as hasMarkdownToConvert, rr as waitForAbortSignal, sn as registerAcpRuntimeBackend, sr as createDedupeCache, st as resolveEffectiveToolPolicy, t as runEmbeddedPiAgent, tr as DEFAULT_HEARTBEAT_EVERY, u as deriveModelMetadata, un as AcpRuntimeError, ur as withTempDownloadPath, v as resolveLineAccount, vn as DEFAULT_WEBHOOK_MAX_BODY_BYTES, vr as GROUP_POLICY_BLOCKED_LABEL, vt as getPluginToolMeta, wn as requestBodyErrorToText, wr as registerPluginHttpRoute, wt as peekSystemEvents, x as logTypingFailure, xn as isRequestBodyLimitError, xr as resolveOpenProviderRuntimeGroupPolicy, y as logAckFailure, yn as RequestBodyLimitError, yr as resolveAllowlistProviderRuntimeGroupPolicy, yt as buildChannelSummary, zn as formatValidationErrors } from "./pi-embedded-runner-CUVk8CIj.js";
2
+ import { Ct as resolveIMessageGroupToolPolicy, Ft as listIMessageAccountIds, It as resolveDefaultIMessageAccountId, Lt as resolveIMessageAccount, Mt as listSignalAccountIds, Nt as resolveDefaultSignalAccountId, Pt as resolveSignalAccount, St as resolveIMessageGroupRequireMention, Vt as resolveToolsBySender, _t as normalizeSignalMessagingTarget, an as logMutatingAdminRpcAudit, at as resolveMainSessionKey, bt as resolveGoogleChatGroupRequireMention, c as listAgentsForGateway, ct as listChannelPlugins, et as resolveFreshSessionTotalTokens, f as resolveContextTokensForModel, ft as looksLikeHandleOrPhoneTarget, gt as looksLikeSignalTargetId, ln as authorizeOperatorScopesForMethod, mn as listPluginCommands, on as consumeMutatingAdminRpcBudget, pn as getPluginCommandSpecs, pt as trimMessagingTarget, s as classifySessionKey, t as getActivePluginRegistry, tn as getChatChannelMeta, u as resolveSessionModelRef, vn as normalizePluginHttpPath, vt as resolveBlueBubblesGroupRequireMention, x as loadSessionStore, xt as resolveGoogleChatGroupToolPolicy, yt as resolveBlueBubblesGroupToolPolicy } from "./runtime-BPyuAmka.js";
3
3
  import { n as stripAnsi, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { g as registerLogTransport, w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
5
5
  import { s as resolveStateDir } from "./paths-BEmvSyOV.js";
6
6
  import { c as isRecord, d as normalizeE164, g as safeParseJson, n as clamp, o as escapeRegExp, t as CONFIG_DIR, y as sleep } from "./utils-CYk9EKoq.js";
7
- import { A as TtsAutoSchema, An as acquireFileLock, C as BlockStreamingCoalesceSchema, D as MarkdownConfigSchema, E as GroupPolicySchema, F as requireOpenAllowFrom, Fn as normalizeProviderId, M as TtsModeSchema, N as TtsProviderSchema, O as MarkdownTableModeSchema, P as normalizeAllowFrom, R as parseDurationMs, S as ToolPolicySchema, T as DmPolicySchema, Wt as resolveConfiguredModelRef, br as isTruthyEnvValue, d as MSTeamsConfigSchema, er as DEFAULT_CONTEXT_TOKENS, f as SignalConfigSchema, i as readConfigFileSnapshot, j as TtsConfigSchema, jn as withFileLock, k as ReplyRuntimeConfigSchemaShape, l as GoogleChatConfigSchema, n as loadConfig, nr as DEFAULT_PROVIDER, rr as VERSION, sr as formatErrorMessage, tr as DEFAULT_MODEL, u as IMessageConfigSchema, ur as extractArchive, vr as formatCliCommand, w as DmConfigSchema } from "./config-DXlISPlx.js";
7
+ import { A as TtsAutoSchema, An as acquireFileLock, C as BlockStreamingCoalesceSchema, D as MarkdownConfigSchema, E as GroupPolicySchema, F as requireOpenAllowFrom, Fn as normalizeProviderId, M as TtsModeSchema, N as TtsProviderSchema, O as MarkdownTableModeSchema, P as normalizeAllowFrom, R as parseDurationMs, S as ToolPolicySchema, T as DmPolicySchema, Wt as resolveConfiguredModelRef, cr as formatErrorMessage, d as MSTeamsConfigSchema, dr as extractArchive, er as DEFAULT_CONTEXT_TOKENS, f as SignalConfigSchema, i as readConfigFileSnapshot, j as TtsConfigSchema, jn as withFileLock, k as ReplyRuntimeConfigSchemaShape, l as GoogleChatConfigSchema, n as loadConfig, nr as DEFAULT_PROVIDER, rr as VERSION, tr as DEFAULT_MODEL, u as IMessageConfigSchema, w as DmConfigSchema, xr as isTruthyEnvValue, yr as formatCliCommand } from "./config-DtqAN2L3.js";
8
8
  import { E as resolveFasedAgentPackageRoot, O as runCommandWithTimeout, a as resolveAgentDir, i as resolveAgentConfig, l as resolveAgentWorkspaceDir, p as resolveSessionAgentId, r as listAgentIds, u as resolveDefaultAgentId } from "./agent-scope-kIJqg5PA.js";
9
9
  import { S as parseAgentSessionKey, f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId, s as normalizeAgentId, u as resolveThreadSessionKeys } from "./session-key-HSJ2KQTc.js";
10
10
  import "./accounts-D7_p-Ivb.js";
11
11
  import "./accounts-DTdM1xcj.js";
12
- import "./accounts-Zgt0NP54.js";
12
+ import "./accounts-RT6y7n3H.js";
13
13
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-CQRTq-NN.js";
14
14
  import { C as resolveNestedAllowlistDecision, S as resolveChannelEntryMatchWithFallback, b as normalizeChannelSlug, x as resolveChannelEntryMatch, y as buildChannelKeyCandidates } from "./allow-list-C9N6FKeC.js";
15
15
  import { c as formatAllowlistMatchMeta, i as mergeAllowlist, l as resolveAllowlistMatchSimple, o as summarizeMapping, s as isDangerousNameMatchingEnabled } from "./resolve-utils-DrvLA82C.js";
@@ -19,38 +19,38 @@ import "./retry-DycQ4ymF.js";
19
19
  import { l as resolveStorePath } from "./paths-B88DQEK8.js";
20
20
  import { n as fetchWithTimeout } from "./fetch-timeout-l_6RdoMw.js";
21
21
  import { t as normalizeRequestInitHeadersForFetch } from "./fetch-headers-my7hgV2G.js";
22
- import { a as isBlockedHostnameOrIp, i as isBlockedHostname, o as isPrivateIpAddress, t as SsrFBlockedError } from "./ssrf-fG4UHKBw.js";
23
- import { t as fetchWithSsrFGuard } from "./fetch-guard-COLmW2TM.js";
22
+ import { a as isBlockedHostname, n as SsrFBlockedError, o as isBlockedHostnameOrIp, s as isPrivateIpAddress } from "./optional-runtime-dependency-szS49voX.js";
23
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-DTKgMN9f.js";
24
24
  import { t as redactSensitiveUrl } from "./redact-sensitive-url-DK8OUExz.js";
25
- import { c as normalizeIMessageHandle, d as parseChatTargetPrefixesOrThrow, f as resolveServicePrefixedAllowTarget, g as isNormalizedSenderAllowed, h as isAllowedParsedChatSender, m as formatAllowFromLowercase, p as resolveServicePrefixedTarget, u as parseChatAllowTargetPrefixes } from "./send-DvUpYh0d.js";
26
- import { D as formatLocationText, H as readJsonFileWithFallback, O as toLocationContext, U as writeJsonFileAtomically, n as isWSLEnv, r as isWSLSync, t as isWSL2Sync } from "./wsl-B8eyviuv.js";
27
- import { p as chunkTextByBreakResolver } from "./chunk-Cjw4712g.js";
25
+ import { c as normalizeIMessageHandle, d as parseChatTargetPrefixesOrThrow, f as resolveServicePrefixedAllowTarget, g as isNormalizedSenderAllowed, h as isAllowedParsedChatSender, m as formatAllowFromLowercase, p as resolveServicePrefixedTarget, u as parseChatAllowTargetPrefixes } from "./send-DRGzRdI3.js";
26
+ import { D as formatLocationText, H as readJsonFileWithFallback, O as toLocationContext, U as writeJsonFileAtomically, n as isWSLEnv, r as isWSLSync, t as isWSL2Sync } from "./wsl-PXrdWitE.js";
27
+ import { p as chunkTextByBreakResolver } from "./chunk-M2d7r-Zt.js";
28
28
  import { a as resolveAckReaction, n as createReplyPrefixOptions, t as createReplyPrefixContext } from "./reply-prefix-DqlCqHXT.js";
29
- import { S as readJsonFile, n as listSkillCommandsForAgents, x as createAsyncLock } from "./skill-commands-DHxkTA0s.js";
29
+ import { S as readJsonFile, n as listSkillCommandsForAgents, x as createAsyncLock } from "./skill-commands-CkgGmWBS.js";
30
30
  import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticEvent } from "./diagnostic-CuhHqubd.js";
31
31
  import "./diagnostic-session-state-Zw87xFym.js";
32
- import { _ as extensionForMime, g as detectMime, n as loadWebMedia, v as getFileExtension } from "./media-C6C2c9a4.js";
33
- import "./pi-model-discovery-CkH5l9X5.js";
34
- import { N as rawDataToString } from "./paths-CBCpJ5bu.js";
32
+ import { _ as extensionForMime, g as detectMime, n as loadWebMedia, v as getFileExtension } from "./media-Cxw-xLGU.js";
33
+ import "./pi-model-discovery-yifTIDIn.js";
34
+ import { I as rawDataToString } from "./runtime-dependency-Csswyv5r.js";
35
35
  import "./path-alias-guards-CcQroDXQ.js";
36
36
  import "./fs-safe-BPYS6-j1.js";
37
- import "./markdown-tables-krKiU4cT.js";
38
- import "./send-ifgZCHVB.js";
39
- import { r as extractOriginalFilename } from "./outbound-attachment-BVzfhqnk.js";
37
+ import "./markdown-tables-CCSD52rA.js";
38
+ import "./send-D7tr-EsH.js";
39
+ import { r as extractOriginalFilename } from "./outbound-attachment-C-jSFaEB.js";
40
40
  import "./fetch-D70syO9t.js";
41
- import { U as listAcpSessionEntries } from "./thread-bindings.state-DYWpy7hJ.js";
41
+ import { U as listAcpSessionEntries } from "./thread-bindings.state-CNT2vxm3.js";
42
42
  import "./memory-search-J6AYuENR.js";
43
- import "./manager-BZjd_PCt.js";
43
+ import "./manager-D2kZ0Cps.js";
44
44
  import "./query-expansion-VePrajug.js";
45
- import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-CSTxewqY.js";
46
- import { m as resolveNativeCommandName, o as listChatCommandsForConfig } from "./commands-registry-5J619bQ2.js";
45
+ import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-Cpw-vuuM.js";
46
+ import { m as resolveNativeCommandName, o as listChatCommandsForConfig } from "./commands-registry-CdT-nl7v.js";
47
47
  import "./directory-live-BxSH0XXX.js";
48
48
  import "./targets-cA134MEE.js";
49
49
  import "./sandbox-paths-CkTERCrj.js";
50
50
  import { n as missingTargetError } from "./target-errors-Dn4aykSV.js";
51
- import "./resolve-route-_YZHbS-z.js";
51
+ import "./resolve-route-CNhTJG_2.js";
52
52
  import "./render-C9LkRUhd.js";
53
- import "./tables-CkxblF0u.js";
53
+ import "./tables-CJE8kB35.js";
54
54
  import { t as buildMediaPayload } from "./media-payload-CcW51vQj.js";
55
55
  import path from "node:path";
56
56
  import chalk from "chalk";
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { i as defaultRuntime } from "./subsystem-DBPNbQDQ.js";
3
3
  import { c as success, n as info, t as danger } from "./globals-B_jjtAje.js";
4
- import { n as loadConfig, vr as formatCliCommand } from "./config-DXlISPlx.js";
4
+ import { n as loadConfig, yr as formatCliCommand } from "./config-DtqAN2L3.js";
5
5
  import { N as logInfo } from "./agent-scope-kIJqg5PA.js";
6
- import { n as resolveWhatsAppAccount, o as logoutWeb } from "./accounts-Zgt0NP54.js";
7
- import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-CknrceVU.js";
6
+ import { n as resolveWhatsAppAccount, o as logoutWeb } from "./accounts-RT6y7n3H.js";
7
+ import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-DG_bYisw.js";
8
8
  import { DisconnectReason } from "@whiskeysockets/baileys";
9
9
 
10
10
  //#region src/web/login.ts
@@ -1,5 +1,5 @@
1
- import { A as info, E as resolveUserPath, M as getChildLogger, N as toPinoLikeLogger, O as defaultRuntime, b as ensureDir, d as redactSensitiveText, f as formatCliCommand, j as success, k as danger, m as logInfo, t as loadConfig, u as VERSION } from "./config-DgD5T-Ui.js";
2
- import { a as logoutWeb, c as resolveDefaultWebAuthDir, l as resolveWebCredsBackupPath, o as maybeRestoreCredsFromBackup, r as resolveWhatsAppAccount, s as readCredsJsonRaw, u as resolveWebCredsPath } from "./accounts-COY-15zJ.js";
1
+ import { A as info, E as resolveUserPath, M as getChildLogger, N as toPinoLikeLogger, O as defaultRuntime, b as ensureDir, d as redactSensitiveText, f as formatCliCommand, j as success, k as danger, m as logInfo, t as loadConfig, u as VERSION } from "./config-g1MG9Bet.js";
2
+ import { a as logoutWeb, c as resolveDefaultWebAuthDir, l as resolveWebCredsBackupPath, o as maybeRestoreCredsFromBackup, r as resolveWhatsAppAccount, s as readCredsJsonRaw, u as resolveWebCredsPath } from "./accounts-C5BjfxoO.js";
3
3
  import fs from "node:fs";
4
4
  import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
5
5
  import qrcode from "qrcode-terminal";
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Tn as formatCliCommand, n as loadConfig } from "./config-TFokWwvO.js";
2
+ import { Tn as formatCliCommand, n as loadConfig } from "./config-CgwTaper.js";
3
3
  import { c as success, n as info, t as danger } from "./globals-BtKmaIS3.js";
4
4
  import { r as defaultRuntime } from "./subsystem-BmpnSVOu.js";
5
5
  import { X as logInfo } from "./agent-scope-BuTbywla.js";
6
- import { n as resolveWhatsAppAccount, o as logoutWeb } from "./accounts-VqAX3HJ0.js";
7
- import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-CyRTcJ8N.js";
6
+ import { n as resolveWhatsAppAccount, o as logoutWeb } from "./accounts-BwkH5bTD.js";
7
+ import { i as waitForWaConnection, n as formatError, t as createWaSocket } from "./session-EIStzK0E.js";
8
8
  import { DisconnectReason } from "@whiskeysockets/baileys";
9
9
 
10
10
  //#region src/web/login.ts
@@ -1,4 +1,4 @@
1
- import { n as loadConfig } from "./config-TFokWwvO.js";
1
+ import { n as loadConfig } from "./config-CgwTaper.js";
2
2
  import "./paths-GdhK5mV_.js";
3
3
  import { c as success, n as info, t as danger } from "./globals-BtKmaIS3.js";
4
4
  import "./utils-LGKVujSU.js";
@@ -7,8 +7,8 @@ import { X as logInfo } from "./agent-scope-BuTbywla.js";
7
7
  import "./redact-Ck-wgswc.js";
8
8
  import "./github-copilot-token-Djqpy66R.js";
9
9
  import "./retry-Cq65ROXv.js";
10
- import { m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-VqAX3HJ0.js";
11
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-CyRTcJ8N.js";
10
+ import { m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-BwkH5bTD.js";
11
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-EIStzK0E.js";
12
12
  import { randomUUID } from "node:crypto";
13
13
  import { DisconnectReason } from "@whiskeysockets/baileys";
14
14
  import QRCodeModule from "qrcode-terminal/vendor/QRCode/index.js";
@@ -2,13 +2,13 @@ import { i as defaultRuntime } from "./subsystem-DBPNbQDQ.js";
2
2
  import { c as success, n as info, t as danger } from "./globals-B_jjtAje.js";
3
3
  import "./paths-BEmvSyOV.js";
4
4
  import "./utils-CYk9EKoq.js";
5
- import { n as loadConfig } from "./config-DXlISPlx.js";
5
+ import { n as loadConfig } from "./config-DtqAN2L3.js";
6
6
  import { N as logInfo } from "./agent-scope-kIJqg5PA.js";
7
- import { m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-Zgt0NP54.js";
7
+ import { m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, u as readWebSelfId } from "./accounts-RT6y7n3H.js";
8
8
  import "./redact-CwCz68Mi.js";
9
9
  import "./github-copilot-token-Dgug856m.js";
10
10
  import "./retry-DycQ4ymF.js";
11
- import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-CknrceVU.js";
11
+ import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-DG_bYisw.js";
12
12
  import { randomUUID } from "node:crypto";
13
13
  import { DisconnectReason } from "@whiskeysockets/baileys";
14
14
  import QRCodeModule from "qrcode-terminal/vendor/QRCode/index.js";
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { $n as isTruthyEnvValue, Jn as formatErrorMessage, Lt as requireApiKey, Rt as resolveApiKeyForProvider, St as normalizeProviderId } from "./config-TFokWwvO.js";
2
+ import { Lt as requireApiKey, Rt as resolveApiKeyForProvider, St as normalizeProviderId, Yn as formatErrorMessage, er as isTruthyEnvValue } from "./config-CgwTaper.js";
3
3
  import { S as truncateUtf16Safe, h as resolveUserPath } from "./utils-LGKVujSU.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-BmpnSVOu.js";
5
5
  import { a as resolveAgentDir, l as resolveAgentWorkspaceDir } from "./agent-scope-BuTbywla.js";
@@ -7,8 +7,9 @@ import { t as redactSensitiveText } from "./redact-Ck-wgswc.js";
7
7
  import { n as retryAsync } from "./retry-Cq65ROXv.js";
8
8
  import { c as resolveSessionTranscriptsDirForAgent } from "./paths-DTurNPnO.js";
9
9
  import { n as onSessionTranscriptUpdate } from "./transcript-events-BJQWUdmU.js";
10
+ import { s as importOptionalRuntimeDependency } from "./ssrf-Cce6LubA.js";
10
11
  import { n as redactSensitiveUrlLikeString } from "./redact-sensitive-url-DK8OUExz.js";
11
- import { t as fetchWithSsrFGuard } from "./fetch-guard-DPMynms8.js";
12
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-BLdujDnt.js";
12
13
  import { t as resolveMemorySearchConfig } from "./memory-search-B-0Fwnrp.js";
13
14
  import { a as hashText, c as normalizeExtraMemoryPaths, d as remapChunkLines, f as runWithConcurrency, i as ensureDir, m as statRegularFile, n as chunkMarkdown, o as isMemoryPath, p as isFileMissingError, r as cosineSimilarity, s as listMemoryFiles, t as buildFileEntry, u as parseEmbedding } from "./internal-DMTDEiDF.js";
14
15
  import { a as sessionPathForFile, i as listSessionFilesForAgent, n as requireNodeSqlite, r as buildSessionEntry, t as extractKeywords } from "./query-expansion-DjJAUtDU.js";
@@ -1913,7 +1914,11 @@ function ensureColumn(db, table, column, definition) {
1913
1914
  //#region src/memory/sqlite-vec.ts
1914
1915
  async function loadSqliteVecExtension(params) {
1915
1916
  try {
1916
- const sqliteVec = await import("sqlite-vec");
1917
+ const sqliteVec = await importOptionalRuntimeDependency({
1918
+ componentId: "local-memory-runtime",
1919
+ packageName: "@fased/local-memory-runtime",
1920
+ dependency: "sqlite-vec"
1921
+ });
1917
1922
  const resolvedPath = params.extensionPath?.trim() ? params.extensionPath.trim() : void 0;
1918
1923
  const extensionPath = resolvedPath ?? sqliteVec.getLoadablePath();
1919
1924
  params.db.enableLoadExtension(true);
@@ -1,13 +1,14 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
3
3
  import { S as truncateUtf16Safe, h as resolveUserPath } from "./utils-CYk9EKoq.js";
4
- import { Ht as normalizeProviderId, br as isTruthyEnvValue, in as resolveApiKeyForProvider, rn as requireApiKey, sr as formatErrorMessage } from "./config-DXlISPlx.js";
4
+ import { Ht as normalizeProviderId, cr as formatErrorMessage, in as resolveApiKeyForProvider, rn as requireApiKey, xr as isTruthyEnvValue } from "./config-DtqAN2L3.js";
5
5
  import { a as resolveAgentDir, l as resolveAgentWorkspaceDir } from "./agent-scope-kIJqg5PA.js";
6
6
  import { n as redactSensitiveText } from "./redact-CwCz68Mi.js";
7
7
  import { n as retryAsync } from "./retry-DycQ4ymF.js";
8
8
  import { c as resolveSessionTranscriptsDirForAgent } from "./paths-B88DQEK8.js";
9
9
  import { n as onSessionTranscriptUpdate } from "./transcript-events-NZiMKWBK.js";
10
- import { t as fetchWithSsrFGuard } from "./fetch-guard-COLmW2TM.js";
10
+ import { t as importOptionalRuntimeDependency } from "./optional-runtime-dependency-szS49voX.js";
11
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-DTKgMN9f.js";
11
12
  import { n as redactSensitiveUrlLikeString } from "./redact-sensitive-url-DK8OUExz.js";
12
13
  import { t as resolveMemorySearchConfig } from "./memory-search-J6AYuENR.js";
13
14
  import { a as hashText, c as normalizeExtraMemoryPaths, d as remapChunkLines, f as runWithConcurrency, i as ensureDir, m as statRegularFile, n as chunkMarkdown, o as isMemoryPath, p as isFileMissingError, r as cosineSimilarity, s as listMemoryFiles, t as buildFileEntry, u as parseEmbedding } from "./internal-DFhCtnuk.js";
@@ -1913,7 +1914,11 @@ function ensureColumn(db, table, column, definition) {
1913
1914
  //#region src/memory/sqlite-vec.ts
1914
1915
  async function loadSqliteVecExtension(params) {
1915
1916
  try {
1916
- const sqliteVec = await import("sqlite-vec");
1917
+ const sqliteVec = await importOptionalRuntimeDependency({
1918
+ componentId: "local-memory-runtime",
1919
+ packageName: "@fased/local-memory-runtime",
1920
+ dependency: "sqlite-vec"
1921
+ });
1917
1922
  const resolvedPath = params.extensionPath?.trim() ? params.extensionPath.trim() : void 0;
1918
1923
  const extensionPath = resolvedPath ?? sqliteVec.getLoadablePath();
1919
1924
  params.db.enableLoadExtension(true);
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { lt as normalizeChannelId } from "./runtime-Dd0sswuW.js";
2
+ import { lt as normalizeChannelId } from "./runtime-BPyuAmka.js";
3
3
  import { n as resolveAccountEntry } from "./account-helpers-Bdfws46K.js";
4
4
  import { p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
5
5
 
@@ -1,6 +1,6 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { p as normalizeAccountId } from "./session-key-Bp3qq3bm.js";
3
- import { st as normalizeChannelId } from "./registry-B4HvWzob.js";
3
+ import { st as normalizeChannelId } from "./registry-DNkJsNsz.js";
4
4
  import { n as resolveAccountEntry } from "./account-helpers-CMvQP0I-.js";
5
5
 
6
6
  //#region src/config/markdown-tables.ts
@@ -2,14 +2,14 @@ import { s as resolveStateDir } from "./paths-GdhK5mV_.js";
2
2
  import { C as resolvePreferredFasedAgentTmpDir, i as logVerbose, s as shouldLogVerbose } from "./globals-BtKmaIS3.js";
3
3
  import { h as resolveUserPath } from "./utils-LGKVujSU.js";
4
4
  import { K as runExec, l as resolveAgentWorkspaceDir } from "./agent-scope-BuTbywla.js";
5
+ import { s as importOptionalRuntimeDependency } from "./ssrf-Cce6LubA.js";
5
6
  import { i as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-BDnJzutp.js";
6
- import { a as chunkText } from "./chunk-skAJZWCT.js";
7
- import { t as fetchWithSsrFGuard } from "./fetch-guard-DPMynms8.js";
7
+ import { a as chunkText } from "./chunk-KCxbJLsV.js";
8
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-BLdujDnt.js";
8
9
  import os from "node:os";
9
10
  import path from "node:path";
10
11
  import fs from "node:fs/promises";
11
12
  import { fileURLToPath } from "node:url";
12
- import { fileTypeFromBuffer } from "file-type";
13
13
  import MarkdownIt from "markdown-it";
14
14
 
15
15
  //#region src/media/constants.ts
@@ -92,6 +92,11 @@ function normalizeMimeType(mime) {
92
92
  async function sniffMime(buffer) {
93
93
  if (!buffer) return;
94
94
  try {
95
+ const { fileTypeFromBuffer } = await importOptionalRuntimeDependency({
96
+ componentId: "media-runtime",
97
+ packageName: "@fased/media-runtime",
98
+ dependency: "file-type"
99
+ });
95
100
  return (await fileTypeFromBuffer(buffer))?.mime ?? void 0;
96
101
  } catch {
97
102
  return;
@@ -1029,7 +1034,11 @@ function prefersSips() {
1029
1034
  return process.env.FASED_IMAGE_BACKEND === "sips" || process.env.FASED_IMAGE_BACKEND !== "sharp" && isBun() && process.platform === "darwin";
1030
1035
  }
1031
1036
  async function loadSharp() {
1032
- const mod = await import("sharp");
1037
+ const mod = await importOptionalRuntimeDependency({
1038
+ componentId: "media-runtime",
1039
+ packageName: "@fased/media-runtime",
1040
+ dependency: "sharp"
1041
+ });
1033
1042
  const sharp = mod.default ?? mod;
1034
1043
  return (buffer) => sharp(buffer, { failOnError: false });
1035
1044
  }
@@ -2,14 +2,14 @@ import { i as logVerbose, s as shouldLogVerbose, w as resolvePreferredFasedAgent
2
2
  import { s as resolveStateDir } from "./paths-BEmvSyOV.js";
3
3
  import { h as resolveUserPath } from "./utils-CYk9EKoq.js";
4
4
  import { k as runExec, l as resolveAgentWorkspaceDir } from "./agent-scope-kIJqg5PA.js";
5
- import { t as fetchWithSsrFGuard } from "./fetch-guard-COLmW2TM.js";
6
- import { a as chunkText } from "./chunk-Cjw4712g.js";
5
+ import { t as importOptionalRuntimeDependency } from "./optional-runtime-dependency-szS49voX.js";
6
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-DTKgMN9f.js";
7
+ import { a as chunkText } from "./chunk-M2d7r-Zt.js";
7
8
  import { i as readLocalFileSafely, t as SafeOpenError } from "./fs-safe-BPYS6-j1.js";
8
9
  import path from "node:path";
9
10
  import os from "node:os";
10
11
  import fs from "node:fs/promises";
11
12
  import { fileURLToPath } from "node:url";
12
- import { fileTypeFromBuffer } from "file-type";
13
13
  import MarkdownIt from "markdown-it";
14
14
 
15
15
  //#region src/media/constants.ts
@@ -92,6 +92,11 @@ function normalizeMimeType(mime) {
92
92
  async function sniffMime(buffer) {
93
93
  if (!buffer) return;
94
94
  try {
95
+ const { fileTypeFromBuffer } = await importOptionalRuntimeDependency({
96
+ componentId: "media-runtime",
97
+ packageName: "@fased/media-runtime",
98
+ dependency: "file-type"
99
+ });
95
100
  return (await fileTypeFromBuffer(buffer))?.mime ?? void 0;
96
101
  } catch {
97
102
  return;
@@ -1029,7 +1034,11 @@ function prefersSips() {
1029
1034
  return process.env.FASED_IMAGE_BACKEND === "sips" || process.env.FASED_IMAGE_BACKEND !== "sharp" && isBun() && process.platform === "darwin";
1030
1035
  }
1031
1036
  async function loadSharp() {
1032
- const mod = await import("sharp");
1037
+ const mod = await importOptionalRuntimeDependency({
1038
+ componentId: "media-runtime",
1039
+ packageName: "@fased/media-runtime",
1040
+ dependency: "sharp"
1041
+ });
1033
1042
  const sharp = mod.default ?? mod;
1034
1043
  return (buffer) => sharp(buffer, { failOnError: false });
1035
1044
  }
@@ -1,17 +1,17 @@
1
- import { A as clearHistoryEntriesIfEnabled, B as dispatchReplyWithDispatcher, C as buildPairingReply, Ct as enqueueSystemEvent, Dt as createMediaAttachmentCache, Et as buildProviderRegistry, F as recordInboundSession, Fn as buildGatewayConnectionDetails, Gn as parseTtsDirectives, Gt as hasControlCommand, H as createInboundDebouncer, In as GatewayClient, J as createReplyDispatcherWithTyping, Jt as buildMentionRegexes, K as resolveEnvelopeFormatOptions, L as shouldAckReaction, N as recordPendingHistoryEntryIfEnabled, O as buildPendingHistoryContextFromMap, Ot as normalizeMediaAttachments, Q as buildModelsProviderData, Sr as warnMissingProviderGroupPolicyFallbackOnce, St as formatDurationSeconds, U as resolveInboundDebounceMs, Un as resolveTtsConfig, W as formatInboundEnvelope, Wn as textToSpeech, Y as EmbeddedBlockChunker, Yt as matchesMentionWithExplicit, Z as resolveStoredModelOverride, _r as resolveControlCommandGate, a as agentCommand, b as logInboundDrop, br as resolveDefaultGroupPolicy, en as stripReasoningTagsFromText, f as createTypingCallbacks, fr as readStoreAllowFromForDmPolicy, gr as resolveCommandAuthorizedFromAuthorizers, jt as runCapability, kn as resolveAgentAvatar, m as resolveMentionGatingWithBypass, mr as resolveDmGroupAccessWithLists, q as dispatchInboundMessage, vr as GROUP_POLICY_BLOCKED_LABEL, x as logTypingFailure, xr as resolveOpenProviderRuntimeGroupPolicy, y as logAckFailure, z as dispatchReplyWithBufferedBlockDispatcher } from "./pi-embedded-runner-DQ6UPx6-.js";
2
- import { $t as GATEWAY_CLIENT_MODES, S as readSessionUpdatedAt, Yt as normalizeMessageChannel, en as GATEWAY_CLIENT_NAMES, ut as getChannelDock, x as loadSessionStore } from "./runtime-Dd0sswuW.js";
1
+ import { A as clearHistoryEntriesIfEnabled, B as dispatchReplyWithDispatcher, C as buildPairingReply, Ct as enqueueSystemEvent, Dt as createMediaAttachmentCache, Et as buildProviderRegistry, F as recordInboundSession, Fn as buildGatewayConnectionDetails, Gn as parseTtsDirectives, Gt as hasControlCommand, H as createInboundDebouncer, In as GatewayClient, J as createReplyDispatcherWithTyping, Jt as buildMentionRegexes, K as resolveEnvelopeFormatOptions, L as shouldAckReaction, N as recordPendingHistoryEntryIfEnabled, O as buildPendingHistoryContextFromMap, Ot as normalizeMediaAttachments, Q as buildModelsProviderData, Sr as warnMissingProviderGroupPolicyFallbackOnce, St as formatDurationSeconds, U as resolveInboundDebounceMs, Un as resolveTtsConfig, W as formatInboundEnvelope, Wn as textToSpeech, Y as EmbeddedBlockChunker, Yt as matchesMentionWithExplicit, Z as resolveStoredModelOverride, _r as resolveControlCommandGate, a as agentCommand, b as logInboundDrop, br as resolveDefaultGroupPolicy, en as stripReasoningTagsFromText, f as createTypingCallbacks, fr as readStoreAllowFromForDmPolicy, gr as resolveCommandAuthorizedFromAuthorizers, jt as runCapability, kn as resolveAgentAvatar, m as resolveMentionGatingWithBypass, mr as resolveDmGroupAccessWithLists, q as dispatchInboundMessage, vr as GROUP_POLICY_BLOCKED_LABEL, x as logTypingFailure, xr as resolveOpenProviderRuntimeGroupPolicy, y as logAckFailure, z as dispatchReplyWithBufferedBlockDispatcher } from "./pi-embedded-runner-CUVk8CIj.js";
2
+ import { $t as GATEWAY_CLIENT_MODES, S as readSessionUpdatedAt, Yt as normalizeMessageChannel, en as GATEWAY_CLIENT_NAMES, ut as getChannelDock, x as loadSessionStore } from "./runtime-BPyuAmka.js";
3
3
  import { r as createNonExitingRuntime, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, l as warn, p as getChildLogger, s as shouldLogVerbose, t as danger, w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
5
5
  import { s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-BEmvSyOV.js";
6
6
  import { S as truncateUtf16Safe } from "./utils-CYk9EKoq.js";
7
- import { Ht as normalizeProviderId, Ot as resolveDiscordPreviewStreamMode, jn as withFileLock, n as loadConfig, sr as formatErrorMessage } from "./config-DXlISPlx.js";
7
+ import { Ht as normalizeProviderId, Ot as resolveDiscordPreviewStreamMode, cr as formatErrorMessage, jn as withFileLock, n as loadConfig } from "./config-DtqAN2L3.js";
8
8
  import { M as logError, a as resolveAgentDir, j as logDebug } from "./agent-scope-kIJqg5PA.js";
9
9
  import { n as resolveAccountEntry } from "./account-helpers-Bdfws46K.js";
10
10
  import { f as DEFAULT_ACCOUNT_ID, l as resolveAgentIdFromSessionKey, p as normalizeAccountId, u as resolveThreadSessionKeys } from "./session-key-HSJ2KQTc.js";
11
11
  import { r as resolveDiscordAccount } from "./accounts-D7_p-Ivb.js";
12
12
  import { t as normalizeDiscordToken } from "./token-D4-H0ByG.js";
13
13
  import "./accounts-DTdM1xcj.js";
14
- import "./accounts-Zgt0NP54.js";
14
+ import "./accounts-RT6y7n3H.js";
15
15
  import "./tokens-CQRTq-NN.js";
16
16
  import { a as resolveDiscordAllowListMatch, c as resolveDiscordMemberAccessState, d as resolveGroupDmAllow, f as shouldEmitDiscordReactionNotification, g as resolveTimestampMs, h as resolveDiscordSystemLocation, i as normalizeDiscordSlug, l as resolveDiscordOwnerAllowFrom, m as formatDiscordUserTag, n as isDiscordGroupAllowedByPolicy, o as resolveDiscordChannelConfigWithFallback, p as formatDiscordReactionEmoji, r as normalizeDiscordAllowList, s as resolveDiscordGuildEntry, t as allowListMatches, u as resolveDiscordShouldRequireMention } from "./allow-list-C9N6FKeC.js";
17
17
  import { a as patchAllowlistUsersInConfigEntries, c as formatAllowlistMatchMeta, n as buildAllowlistResolutionSummary, o as summarizeMapping, r as canonicalizeAllowlistWithResolvedIds, s as isDangerousNameMatchingEnabled, t as addAllowlistUserEntriesFromConfigEntry } from "./resolve-utils-DrvLA82C.js";
@@ -19,47 +19,47 @@ import { i as compileSafeRegex } from "./redact-CwCz68Mi.js";
19
19
  import "./github-copilot-token-Dgug856m.js";
20
20
  import "./retry-DycQ4ymF.js";
21
21
  import { l as resolveStorePath } from "./paths-B88DQEK8.js";
22
- import "./ssrf-fG4UHKBw.js";
23
- import "./fetch-guard-COLmW2TM.js";
24
- import "./send-DvUpYh0d.js";
25
- import { H as readJsonFileWithFallback, U as writeJsonFileAtomically, V as upsertChannelPairingRequest } from "./wsl-B8eyviuv.js";
26
- import { c as resolveChunkMode, l as resolveTextChunkLimit } from "./chunk-Cjw4712g.js";
22
+ import "./optional-runtime-dependency-szS49voX.js";
23
+ import "./fetch-guard-DTKgMN9f.js";
24
+ import "./send-DRGzRdI3.js";
25
+ import { H as readJsonFileWithFallback, U as writeJsonFileAtomically, V as upsertChannelPairingRequest } from "./wsl-PXrdWitE.js";
26
+ import { c as resolveChunkMode, l as resolveTextChunkLimit } from "./chunk-M2d7r-Zt.js";
27
27
  import { a as resolveAckReaction, c as resolveHumanDelayConfig, n as createReplyPrefixOptions } from "./reply-prefix-DqlCqHXT.js";
28
- import { n as listSkillCommandsForAgents } from "./skill-commands-DHxkTA0s.js";
28
+ import { n as listSkillCommandsForAgents } from "./skill-commands-CkgGmWBS.js";
29
29
  import "./diagnostic-CuhHqubd.js";
30
30
  import "./diagnostic-session-state-Zw87xFym.js";
31
- import { l as fetchRemoteMedia, m as getAgentScopedMediaLocalRoots, n as loadWebMedia } from "./media-C6C2c9a4.js";
32
- import "./pi-model-discovery-CkH5l9X5.js";
33
- import "./paths-CBCpJ5bu.js";
31
+ import { l as fetchRemoteMedia, m as getAgentScopedMediaLocalRoots, n as loadWebMedia } from "./media-Cxw-xLGU.js";
32
+ import "./pi-model-discovery-yifTIDIn.js";
33
+ import "./runtime-dependency-Csswyv5r.js";
34
34
  import "./path-alias-guards-CcQroDXQ.js";
35
35
  import "./fs-safe-BPYS6-j1.js";
36
- import { n as resolveMarkdownTableMode } from "./markdown-tables-krKiU4cT.js";
37
- import "./send-ifgZCHVB.js";
38
- import { a as saveMediaBuffer } from "./outbound-attachment-BVzfhqnk.js";
36
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CCSD52rA.js";
37
+ import "./send-D7tr-EsH.js";
38
+ import { a as saveMediaBuffer } from "./outbound-attachment-C-jSFaEB.js";
39
39
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-D70syO9t.js";
40
- import { N as formatThreadBindingDurationLabel, u as isRecentlyUnboundThreadWebhookMessage, z as getSessionBindingService } from "./thread-bindings.state-DYWpy7hJ.js";
40
+ import { N as formatThreadBindingDurationLabel, u as isRecentlyUnboundThreadWebhookMessage, z as getSessionBindingService } from "./thread-bindings.state-CNT2vxm3.js";
41
41
  import "./memory-search-J6AYuENR.js";
42
- import "./manager-BZjd_PCt.js";
42
+ import "./manager-D2kZ0Cps.js";
43
43
  import "./query-expansion-VePrajug.js";
44
- import "./common-CSTxewqY.js";
45
- import { C as isNativeCommandsExplicitlyDisabled, E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as shouldHandleTextCommands, h as serializeCommandArgs, p as resolveCommandArgMenu, r as findCommandByNativeName, t as buildCommandTextFromArgs } from "./commands-registry-5J619bQ2.js";
44
+ import "./common-Cpw-vuuM.js";
45
+ import { C as isNativeCommandsExplicitlyDisabled, E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, a as listChatCommands, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, f as resolveCommandArgChoices, g as shouldHandleTextCommands, h as serializeCommandArgs, p as resolveCommandArgMenu, r as findCommandByNativeName, t as buildCommandTextFromArgs } from "./commands-registry-CdT-nl7v.js";
46
46
  import { t as finalizeInboundContext } from "./inbound-context-Daf9i2Me.js";
47
47
  import "./directory-live-BxSH0XXX.js";
48
48
  import "./targets-cA134MEE.js";
49
49
  import "./sandbox-paths-CkTERCrj.js";
50
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-_YZHbS-z.js";
50
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CNhTJG_2.js";
51
51
  import "./render-C9LkRUhd.js";
52
- import { t as convertMarkdownTables } from "./tables-CkxblF0u.js";
52
+ import { t as convertMarkdownTables } from "./tables-CJE8kB35.js";
53
53
  import { n as recordChannelActivity } from "./channel-activity-Cf5sKkfd.js";
54
54
  import { t as withTimeout } from "./with-timeout-DqkblR98.js";
55
55
  import { t as buildMediaPayload } from "./media-payload-CcW51vQj.js";
56
- import { t as createDiscordRetryRunner } from "./retry-policy-DaodShGa.js";
56
+ import { t as createDiscordRetryRunner } from "./retry-policy-sM01QZT2.js";
57
57
  import { a as setPresence, n as registerGateway, r as unregisterGateway } from "./gateway-registry-CtUjFG3Q.js";
58
- import { C as editMessageDiscord, Q as stripUndefinedFields, a as removeReactionDiscord, b as sendWebhookMessageDiscord, c as formatDiscordComponentEventText, d as parseDiscordModalCustomId, f as parseDiscordModalCustomIdForCarbon, g as sendMessageDiscord, h as resolveDiscordModalEntry, l as parseDiscordComponentCustomId, m as resolveDiscordComponentEntry, r as reactMessageDiscord, rt as chunkDiscordTextWithMode, s as createDiscordFormModal, tt as createDiscordClient, u as parseDiscordComponentCustomIdForCarbon, y as sendVoiceMessageDiscord } from "./send-DFTB0cnx.js";
59
- import { i as createThreadBindingManager, r as createNoopThreadBindingManager, t as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings.lifecycle-DMhV3TsR.js";
58
+ import { C as editMessageDiscord, Q as stripUndefinedFields, a as removeReactionDiscord, b as sendWebhookMessageDiscord, c as formatDiscordComponentEventText, d as parseDiscordModalCustomId, f as parseDiscordModalCustomIdForCarbon, g as sendMessageDiscord, h as resolveDiscordModalEntry, l as parseDiscordComponentCustomId, m as resolveDiscordComponentEntry, r as reactMessageDiscord, rt as chunkDiscordTextWithMode, s as createDiscordFormModal, tt as createDiscordClient, u as parseDiscordComponentCustomIdForCarbon, y as sendVoiceMessageDiscord } from "./send-BQXQA81e.js";
59
+ import { i as createThreadBindingManager, r as createNoopThreadBindingManager, t as reconcileAcpThreadBindingsOnStartup } from "./thread-bindings.lifecycle-gmHv3hc7.js";
60
60
  import { t as createReplyReferencePlanner } from "./reply-reference-DxIu2vr0.js";
61
61
  import { i as createStatusReactionController, r as DEFAULT_TIMING, t as createFinalizableDraftLifecycle } from "./draft-stream-controls-v_5gdUYG.js";
62
- import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-Df5811D0.js";
62
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-BGbYyNvO.js";
63
63
  import { t as fetchDiscordApplicationId } from "./probe-Dqx0N4uk.js";
64
64
  import { t as DiscordUiContainer } from "./ui-7sxJ-x37.js";
65
65
  import "./guilds-DmzO7n0X.js";
@@ -1390,7 +1390,7 @@ async function preflightDiscordMessage(params) {
1390
1390
  let preflightTranscript;
1391
1391
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
1392
1392
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
1393
- const { transcribeFirstAudio } = await import("./audio-preflight-Dx8J7XhV.js");
1393
+ const { transcribeFirstAudio } = await import("./audio-preflight-C8SbY4fV.js");
1394
1394
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
1395
1395
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
1396
1396
  ctx: {
@@ -1,4 +1,4 @@
1
- import { Jn as formatErrorMessage, Tt as resolveDefaultModelForAgent, Yn as formatUncaughtError, d as resolveTelegramCustomCommands, l as TELEGRAM_COMMAND_NAME_PATTERN, n as loadConfig, pt as resolveAgentMaxConcurrent, s as writeConfigFile, u as normalizeTelegramCommandName } from "./config-TFokWwvO.js";
1
+ import { Tt as resolveDefaultModelForAgent, Xn as formatUncaughtError, Yn as formatErrorMessage, d as resolveTelegramCustomCommands, l as TELEGRAM_COMMAND_NAME_PATTERN, n as loadConfig, pt as resolveAgentMaxConcurrent, s as writeConfigFile, u as normalizeTelegramCommandName } from "./config-CgwTaper.js";
2
2
  import { s as resolveStateDir } from "./paths-GdhK5mV_.js";
3
3
  import { i as logVerbose, l as warn, p as getChildLogger, s as shouldLogVerbose, t as danger } from "./globals-BtKmaIS3.js";
4
4
  import "./utils-LGKVujSU.js";
@@ -8,50 +8,50 @@ import "./redact-Ck-wgswc.js";
8
8
  import { p as normalizeAccountId$1, u as resolveThreadSessionKeys } from "./session-key-Bp3qq3bm.js";
9
9
  import "./github-copilot-token-Djqpy66R.js";
10
10
  import { n as retryAsync } from "./retry-Cq65ROXv.js";
11
- import { Ct as resolveChannelGroupPolicy, Gt as getPluginCommandSpecs, Wt as executePluginCommand, b as readSessionUpdatedAt, gt as resolveTelegramAccount, qt as matchPluginCommand, wt as resolveChannelGroupRequireMention, x as recordSessionMetaFromInbound, y as loadSessionStore } from "./registry-B4HvWzob.js";
11
+ import { Ct as resolveChannelGroupPolicy, Gt as getPluginCommandSpecs, Wt as executePluginCommand, b as readSessionUpdatedAt, gt as resolveTelegramAccount, qt as matchPluginCommand, wt as resolveChannelGroupRequireMention, x as recordSessionMetaFromInbound, y as loadSessionStore } from "./registry-DNkJsNsz.js";
12
12
  import "./accounts-BJFheJNv.js";
13
13
  import "./accounts-BRbbLNW_.js";
14
- import "./accounts-VqAX3HJ0.js";
14
+ import "./accounts-BwkH5bTD.js";
15
15
  import "./tokens-BK5rrwBB.js";
16
16
  import "./allow-list-CBtbuDI8.js";
17
17
  import { l as resolveStorePath } from "./paths-DTurNPnO.js";
18
- import { $ as buildModelsProviderData, B as dispatchReplyWithBufferedBlockDispatcher, C as computeBackoff, D as resolveOpenProviderRuntimeGroupPolicy, Dt as buildMentionRegexes, Et as isAbortRequestText, F as resolveCommandAuthorizedFromAuthorizers, G as formatInboundEnvelope, Gt as stripReasoningTagsFromText, I as resolveControlCommandGate, Jt as formatDurationPrecise, K as resolveEnvelopeFormatOptions, Kt as findCodeRegions, L as removeAckReactionAfterReply, M as clearHistoryEntriesIfEnabled, N as recordPendingHistoryEntryIfEnabled, Ot as matchesMentionWithExplicit, P as recordInboundSession, Q as resolveStoredModelOverride, R as shouldAckReaction, S as buildPairingReply, U as createInboundDebouncer, W as resolveInboundDebounceMs, Wt as formatReasoningMessage, Xt as enqueueSystemEvent, Y as createDedupeCache, at as parseModelCallbackData, b as logInboundDrop, c as findModelInCatalog, et as formatModelsAvailableHeader, f as createTypingCallbacks, h as waitForAbortSignal, it as getModelsPageSize, j as buildPendingHistoryContextFromMap, jt as registerUnhandledRejectionHandler, k as DEFAULT_GROUP_HISTORY_LIMIT, l as loadModelCatalog, ln as readJsonBodyWithLimit, m as resolveMentionGatingWithBypass, n as buildCommandsMessagePaginated, nt as buildProviderKeyboard, ot as buildCommandsPaginationKeyboard, qt as isInsideCode, rt as calculateTotalPages, st as resolveChannelConfigWrites, tn as resolveTelegramInlineButtonsScope, tt as buildModelsKeyboard, u as modelSupportsVision, w as sleepWithAbort, wt as hasControlCommand, x as logTypingFailure, y as logAckFailure } from "./status-DoxnzyMC.js";
19
- import "./paths-DW-U2r7Y.js";
20
- import "./ssrf-u0Ul7okY.js";
21
- import { n as listSkillCommandsForAgents } from "./skill-commands-CLXAG5sU.js";
22
- import "./pi-model-discovery-D51L5E9I.js";
18
+ import { $ as buildModelsProviderData, B as dispatchReplyWithBufferedBlockDispatcher, C as computeBackoff, D as resolveOpenProviderRuntimeGroupPolicy, Dt as buildMentionRegexes, Et as isAbortRequestText, F as resolveCommandAuthorizedFromAuthorizers, G as formatInboundEnvelope, Gt as stripReasoningTagsFromText, I as resolveControlCommandGate, Jt as formatDurationPrecise, K as resolveEnvelopeFormatOptions, Kt as findCodeRegions, L as removeAckReactionAfterReply, M as clearHistoryEntriesIfEnabled, N as recordPendingHistoryEntryIfEnabled, Ot as matchesMentionWithExplicit, P as recordInboundSession, Q as resolveStoredModelOverride, R as shouldAckReaction, S as buildPairingReply, U as createInboundDebouncer, W as resolveInboundDebounceMs, Wt as formatReasoningMessage, Xt as enqueueSystemEvent, Y as createDedupeCache, at as parseModelCallbackData, b as logInboundDrop, c as findModelInCatalog, et as formatModelsAvailableHeader, f as createTypingCallbacks, h as waitForAbortSignal, it as getModelsPageSize, j as buildPendingHistoryContextFromMap, jt as registerUnhandledRejectionHandler, k as DEFAULT_GROUP_HISTORY_LIMIT, l as loadModelCatalog, ln as readJsonBodyWithLimit, m as resolveMentionGatingWithBypass, n as buildCommandsMessagePaginated, nt as buildProviderKeyboard, ot as buildCommandsPaginationKeyboard, qt as isInsideCode, rt as calculateTotalPages, st as resolveChannelConfigWrites, tn as resolveTelegramInlineButtonsScope, tt as buildModelsKeyboard, u as modelSupportsVision, w as sleepWithAbort, wt as hasControlCommand, x as logTypingFailure, y as logAckFailure } from "./status-CIiBeb9B.js";
19
+ import "./runtime-dependency-B-1u41Ph.js";
20
+ import "./ssrf-Cce6LubA.js";
21
+ import { n as listSkillCommandsForAgents } from "./skill-commands-hyZA0LE3.js";
22
+ import "./pi-model-discovery-DadlvsZW.js";
23
23
  import { i as resolveAckReaction, t as createReplyPrefixOptions } from "./reply-prefix-Y14LY6Rn.js";
24
- import { E as mediaKindFromMime, c as MediaFetchError, l as fetchRemoteMedia, m as getAgentScopedMediaLocalRoots, n as loadWebMedia, x as isGifMedia } from "./media-D7ZkWU-A.js";
24
+ import { E as mediaKindFromMime, c as MediaFetchError, l as fetchRemoteMedia, m as getAgentScopedMediaLocalRoots, n as loadWebMedia, x as isGifMedia } from "./media-C7YT4DeU.js";
25
25
  import "./path-alias-guards-C76pC928.js";
26
26
  import "./fs-safe-BDnJzutp.js";
27
27
  import { c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, l as logWebhookProcessed, m as isDiagnosticsEnabled, u as logWebhookReceived } from "./diagnostic-DpyvOvs2.js";
28
- import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-skAJZWCT.js";
29
- import { n as resolveMarkdownTableMode } from "./markdown-tables-9rJDQ1X-.js";
30
- import "./send-DaaAscWj.js";
31
- import "./fetch-guard-DPMynms8.js";
32
- import { i as saveMediaBuffer } from "./outbound-attachment-ClMvNW17.js";
28
+ import { c as resolveChunkMode, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit } from "./chunk-KCxbJLsV.js";
29
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-DWUNvLrc.js";
30
+ import "./send-BBYcgXA4.js";
31
+ import "./fetch-guard-BLdujDnt.js";
32
+ import { i as saveMediaBuffer } from "./outbound-attachment-D6tj5Y5H.js";
33
33
  import "./fetch-xfeOsibm.js";
34
- import "./common-BiF0sTnY.js";
35
- import { _ as isNativeCommandsExplicitlyDisabled, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, y as resolveNativeCommandsEnabled } from "./commands-registry-CoLAT03J.js";
36
- import "./thread-bindings.state-DG5cBaRn.js";
34
+ import "./common-DJWrErdE.js";
35
+ import { _ as isNativeCommandsExplicitlyDisabled, b as resolveNativeSkillsEnabled, c as listNativeCommandSpecsForConfig, d as parseCommandArgs, p as resolveCommandArgMenu, r as findCommandByNativeName, s as listNativeCommandSpecs, t as buildCommandTextFromArgs, u as normalizeCommandBody, y as resolveNativeCommandsEnabled } from "./commands-registry-DoWdYAJd.js";
36
+ import "./thread-bindings.state-D8kN2X6H.js";
37
37
  import "./memory-search-B-0Fwnrp.js";
38
- import "./manager-BytwRIfK.js";
38
+ import "./manager-9see0IX5.js";
39
39
  import "./query-expansion-DjJAUtDU.js";
40
40
  import "./diagnostic-session-state-CT36_PCE.js";
41
- import { B as formatLocationText, C as resolveTelegramThreadSpec, D as resolveSenderAllowMatch, E as normalizeDmAllowFromWithStore, F as upsertChannelPairingRequest, N as readChannelAllowFromStore, O as firstDefined, S as resolveTelegramStreamMode, T as normalizeAllowFrom, V as toLocationContext, _ as normalizeForwardedContext, a as buildGroupLabel, b as resolveTelegramMediaPlaceholder, c as buildTelegramGroupFrom, d as buildTelegramThreadParams, f as buildTypingThreadParams, g as hasBotMention, h as extractTelegramLocation, l as buildTelegramGroupPeerId, m as expandTextLinks, o as buildSenderLabel, p as describeReplyTarget, s as buildSenderName, u as buildTelegramParentPeer, v as resolveTelegramForumThreadId, w as isSenderAllowed, x as resolveTelegramReplyId, y as resolveTelegramGroupAllowFromContext } from "./wsl-B2euLEc2.js";
41
+ import { B as formatLocationText, C as resolveTelegramThreadSpec, D as resolveSenderAllowMatch, E as normalizeDmAllowFromWithStore, F as upsertChannelPairingRequest, N as readChannelAllowFromStore, O as firstDefined, S as resolveTelegramStreamMode, T as normalizeAllowFrom, V as toLocationContext, _ as normalizeForwardedContext, a as buildGroupLabel, b as resolveTelegramMediaPlaceholder, c as buildTelegramGroupFrom, d as buildTelegramThreadParams, f as buildTypingThreadParams, g as hasBotMention, h as extractTelegramLocation, l as buildTelegramGroupPeerId, m as expandTextLinks, o as buildSenderLabel, p as describeReplyTarget, s as buildSenderName, u as buildTelegramParentPeer, v as resolveTelegramForumThreadId, w as isSenderAllowed, x as resolveTelegramReplyId, y as resolveTelegramGroupAllowFromContext } from "./wsl-DcM2PgSS.js";
42
42
  import "./sandbox-paths-DMnFyOaA.js";
43
43
  import "./directory-live-8umGGN7a.js";
44
44
  import "./targets-t1hbjHdJ.js";
45
- import "./send-Dl88ZKq2.js";
46
- import { n as resolveAgentRoute } from "./resolve-route-DlHzggnG.js";
45
+ import "./send-D3836_UN.js";
46
+ import { n as resolveAgentRoute } from "./resolve-route-DO0WR4nB.js";
47
47
  import { t as finalizeInboundContext } from "./inbound-context-CeJDjLk-.js";
48
48
  import "./render-C9LkRUhd.js";
49
- import "./tables-RBtf8G4P.js";
49
+ import "./tables-BD7H5ug-.js";
50
50
  import { n as recordChannelActivity } from "./channel-activity-Cf5sKkfd.js";
51
- import { _ as splitTelegramCaption, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, p as markdownToTelegramHtml, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging } from "./send-8remZhsH.js";
52
- import "./retry-policy-DGLs5ebP.js";
51
+ import { _ as splitTelegramCaption, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, p as markdownToTelegramHtml, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging } from "./send-B09HRfHN.js";
52
+ import "./retry-policy-BLYEgIwP.js";
53
53
  import { t as makeProxyFetch } from "./proxy-CV9uL4Wi.js";
54
- import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-zmJ39ByC.js";
54
+ import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-9houHChV.js";
55
55
  import { i as createStatusReactionController, n as DEFAULT_EMOJIS, t as createFinalizableDraftLifecycle } from "./draft-stream-controls-Bfbhumzv.js";
56
56
  import crypto from "node:crypto";
57
57
  import os from "node:os";
@@ -2035,7 +2035,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
2035
2035
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
2036
2036
  let preflightTranscript;
2037
2037
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
2038
- const { transcribeFirstAudio } = await import("./audio-preflight-CeRstduc.js");
2038
+ const { transcribeFirstAudio } = await import("./audio-preflight-CuABlLDL.js");
2039
2039
  preflightTranscript = await transcribeFirstAudio({
2040
2040
  ctx: {
2041
2041
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,