@fased/fased 0.1.36 → 0.1.38

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 (240) 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-Zgt0NP54.js → accounts-RT6y7n3H.js} +1 -1
  34. package/dist/plugin-sdk/{actions-lB3PCwsz.js → actions-BrU_JMqM.js} +2 -2
  35. package/dist/plugin-sdk/{actions-BI5QViLk.js → actions-CUdVHzeJ.js} +2 -2
  36. package/dist/plugin-sdk/{active-listener-DKZiSaRA.js → active-listener-CE8t5g6l.js} +1 -1
  37. package/dist/plugin-sdk/{active-listener-D6_pdTMC.js → active-listener-Dx1SEGDn.js} +1 -1
  38. package/dist/plugin-sdk/{audio-preflight-Dx8J7XhV.js → audio-preflight-BPK8t0tI.js} +22 -22
  39. package/dist/plugin-sdk/{audio-preflight-CeRstduc.js → audio-preflight-kCa_KGRH.js} +22 -22
  40. package/dist/plugin-sdk/{audit-BImNOQvk.js → audit-DxB2Kml5.js} +11 -11
  41. package/dist/plugin-sdk/{audit-CKWkq0Un.js → audit-sSeRDwJb.js} +11 -11
  42. package/dist/plugin-sdk/channel-plugin-common.js +3 -2
  43. package/dist/plugin-sdk/{chunk-skAJZWCT.js → chunk-KCxbJLsV.js} +1 -1
  44. package/dist/plugin-sdk/{chunk-Cjw4712g.js → chunk-M2d7r-Zt.js} +1 -1
  45. package/dist/plugin-sdk/{chunk-items-Df5811D0.js → chunk-items-DGHUeFuI.js} +1 -1
  46. package/dist/plugin-sdk/command-status.js +22 -22
  47. package/dist/plugin-sdk/{commands-registry-5J619bQ2.js → commands-registry-CdT-nl7v.js} +2 -2
  48. package/dist/plugin-sdk/{commands-registry-CoLAT03J.js → commands-registry-DoWdYAJd.js} +2 -2
  49. package/dist/plugin-sdk/{common-CSTxewqY.js → common-Cpw-vuuM.js} +1 -1
  50. package/dist/plugin-sdk/{common-BiF0sTnY.js → common-DJWrErdE.js} +1 -1
  51. package/dist/plugin-sdk/{config-BxVjLTIv.js → config-C0qggNKQ.js} +7 -7
  52. package/dist/plugin-sdk/{config-TFokWwvO.js → config-CgwTaper.js} +45 -2
  53. package/dist/plugin-sdk/{config-DXlISPlx.js → config-DtqAN2L3.js} +45 -2
  54. package/dist/plugin-sdk/discord.js +2 -1
  55. package/dist/plugin-sdk/{fetch-guard-DPMynms8.js → fetch-guard-BLdujDnt.js} +1 -1
  56. package/dist/plugin-sdk/{fetch-guard-COLmW2TM.js → fetch-guard-DTKgMN9f.js} +1 -1
  57. package/dist/plugin-sdk/{handle-action-C-UndB8E.js → handle-action-B61D85yo.js} +12 -12
  58. package/dist/plugin-sdk/{handle-action-hhufKxmU.js → handle-action-CjcxGzQD.js} +12 -12
  59. package/dist/plugin-sdk/index.js +22 -22
  60. package/dist/plugin-sdk/{login-DL1oBBfL.js → login-CB_nCjX3.js} +3 -3
  61. package/dist/plugin-sdk/{login-Dnxas1dI.js → login-CzUuDd1v.js} +3 -3
  62. package/dist/plugin-sdk/{login-qr-CVQsGWKq.js → login-qr-D7MEpFza.js} +3 -3
  63. package/dist/plugin-sdk/{login-qr-B343JNXJ.js → login-qr-DgxfBFVN.js} +3 -3
  64. package/dist/plugin-sdk/{manager-BytwRIfK.js → manager-9see0IX5.js} +8 -3
  65. package/dist/plugin-sdk/{manager-BZjd_PCt.js → manager-D2kZ0Cps.js} +8 -3
  66. package/dist/plugin-sdk/{markdown-tables-krKiU4cT.js → markdown-tables-CCSD52rA.js} +1 -1
  67. package/dist/plugin-sdk/{markdown-tables-9rJDQ1X-.js → markdown-tables-DWUNvLrc.js} +1 -1
  68. package/dist/plugin-sdk/{media-D7ZkWU-A.js → media-C7YT4DeU.js} +13 -4
  69. package/dist/plugin-sdk/{media-C6C2c9a4.js → media-Cxw-xLGU.js} +13 -4
  70. package/dist/plugin-sdk/{monitor-BsLMfn3U.js → monitor-6lkdOqhQ.js} +26 -26
  71. package/dist/plugin-sdk/{monitor-BCxkQBoh.js → monitor-C6Ohw9BA.js} +26 -26
  72. package/dist/plugin-sdk/{monitor-BzDW50H6.js → monitor-o20KTHIi.js} +29 -29
  73. package/dist/plugin-sdk/{monitor-CVQNDfhs.js → monitor-rOs3mUol.js} +27 -27
  74. package/dist/plugin-sdk/{openresponses-http-BB67Z4QM.js → openresponses-http-BJONnUdy.js} +22 -22
  75. package/dist/plugin-sdk/{openresponses-http-NE76GGhj.js → openresponses-http-DkWqYznu.js} +22 -22
  76. package/dist/plugin-sdk/{ssrf-u0Ul7okY.js → optional-runtime-dependency-szS49voX.js} +46 -2
  77. package/dist/plugin-sdk/{outbound-PGNWU6T-.js → outbound-BCxOxdi-.js} +6 -6
  78. package/dist/plugin-sdk/{outbound-BHWJD9q0.js → outbound-JIwQbpRY.js} +6 -6
  79. package/dist/plugin-sdk/{outbound-attachment-BVzfhqnk.js → outbound-attachment-C-jSFaEB.js} +1 -1
  80. package/dist/plugin-sdk/{outbound-attachment-ClMvNW17.js → outbound-attachment-D6tj5Y5H.js} +1 -1
  81. package/dist/plugin-sdk/{pi-embedded-runner-DQ6UPx6-.js → pi-embedded-runner-DqDy0MWN.js} +72 -60
  82. package/dist/plugin-sdk/{pi-model-discovery-D51L5E9I.js → pi-model-discovery-DadlvsZW.js} +1 -1
  83. package/dist/plugin-sdk/{pi-model-discovery-runtime-DxoFm4Vd.js → pi-model-discovery-runtime-C5ssE6EW.js} +1 -1
  84. package/dist/plugin-sdk/{pi-model-discovery-runtime-DRuh4PNV.js → pi-model-discovery-runtime-DAaOPt64.js} +2 -2
  85. package/dist/plugin-sdk/{pi-model-discovery-runtime-BTWgkx4x.js → pi-model-discovery-runtime-gd77b0UF.js} +2 -2
  86. package/dist/plugin-sdk/{pi-model-discovery-CkH5l9X5.js → pi-model-discovery-yifTIDIn.js} +1 -1
  87. package/dist/plugin-sdk/{pw-ai-DZs6uYRd.js → pw-ai-Boor5vYw.js} +6 -5
  88. package/dist/plugin-sdk/{pw-ai-Cn-EUPZK.js → pw-ai-sH1Pi-Fh.js} +6 -5
  89. package/dist/plugin-sdk/{registry-B4HvWzob.js → registry-DNkJsNsz.js} +4 -3
  90. package/dist/plugin-sdk/{replies-jDMUBsNO.js → replies-fvzN5wnU.js} +2 -2
  91. package/dist/plugin-sdk/{replies-B_LW9c9f.js → replies-zebgZCHX.js} +2 -2
  92. package/dist/plugin-sdk/{resolve-route-_YZHbS-z.js → resolve-route-CNhTJG_2.js} +1 -1
  93. package/dist/plugin-sdk/{resolve-route-DlHzggnG.js → resolve-route-DO0WR4nB.js} +1 -1
  94. package/dist/plugin-sdk/{resolve-utils-zBhVX3Vx.js → resolve-utils-bixHYDBj.js} +1 -1
  95. package/dist/plugin-sdk/{retry-policy-DGLs5ebP.js → retry-policy-BLYEgIwP.js} +1 -1
  96. package/dist/plugin-sdk/{retry-policy-DaodShGa.js → retry-policy-sM01QZT2.js} +1 -1
  97. package/dist/plugin-sdk/{runtime-Dd0sswuW.js → runtime-BPyuAmka.js} +4 -3
  98. package/dist/plugin-sdk/{paths-CBCpJ5bu.js → runtime-dependency-Csswyv5r.js} +27 -3
  99. package/dist/plugin-sdk/{paths-DW-U2r7Y.js → runtime-dependency-Deg_sw2k.js} +36 -12
  100. package/dist/plugin-sdk/sat-runtime.js +1 -0
  101. package/dist/plugin-sdk/{send-8remZhsH.js → send-B09HRfHN.js} +6 -6
  102. package/dist/plugin-sdk/{send-DaaAscWj.js → send-BBYcgXA4.js} +5 -5
  103. package/dist/plugin-sdk/{send-DFTB0cnx.js → send-BQXQA81e.js} +6 -6
  104. package/dist/plugin-sdk/{send-CtMVvMJs.js → send-BzFdvD_i.js} +6 -6
  105. package/dist/plugin-sdk/{send-Di9irjS-.js → send-C3u-F_8s.js} +6 -6
  106. package/dist/plugin-sdk/{send-Dl88ZKq2.js → send-D3836_UN.js} +6 -6
  107. package/dist/plugin-sdk/{send-ifgZCHVB.js → send-D7tr-EsH.js} +5 -5
  108. package/dist/plugin-sdk/{send-DvUpYh0d.js → send-DRGzRdI3.js} +6 -6
  109. package/dist/plugin-sdk/{send-D2jlPeKH.js → send-DfkPKz_0.js} +4 -4
  110. package/dist/plugin-sdk/{send-QSt6nbny.js → send-DsxFXrCO.js} +4 -4
  111. package/dist/plugin-sdk/{session-CknrceVU.js → session-DG_bYisw.js} +2 -2
  112. package/dist/plugin-sdk/{session-CyRTcJ8N.js → session-EIStzK0E.js} +2 -2
  113. package/dist/plugin-sdk/{skill-commands-DHxkTA0s.js → skill-commands-CkgGmWBS.js} +2 -2
  114. package/dist/plugin-sdk/{skill-commands-CLXAG5sU.js → skill-commands-hyZA0LE3.js} +2 -2
  115. package/dist/plugin-sdk/{slack-Br9c6Yzs.js → slack-BErIh0uj.js} +34 -34
  116. package/dist/plugin-sdk/{slack-BpJXkwxF.js → slack-CGTAN4UD.js} +34 -34
  117. package/dist/plugin-sdk/{slack-actions-8tLGt1Ht.js → slack-actions-BQawWGTJ.js} +11 -11
  118. package/dist/plugin-sdk/{slack-actions-CDSSRo8Y.js → slack-actions-DDMszx56.js} +11 -11
  119. package/dist/plugin-sdk/slack.js +2 -1
  120. package/dist/plugin-sdk/src/brand.d.ts +2 -2
  121. package/dist/plugin-sdk/src/browser/runtime-dependency.d.ts +3 -0
  122. package/dist/plugin-sdk/src/infra/optional-runtime-dependency.d.ts +6 -0
  123. package/dist/plugin-sdk/{ssrf-fG4UHKBw.js → ssrf-Cce6LubA.js} +41 -7
  124. package/dist/plugin-sdk/{status-DoxnzyMC.js → status-CCGFb0f2.js} +76 -64
  125. package/dist/plugin-sdk/{sticker-cache-zmJ39ByC.js → sticker-cache-CKAkkCoU.js} +3 -3
  126. package/dist/plugin-sdk/{sticker-cache-D7WcMYsF.js → sticker-cache-wxl1Me2i.js} +3 -3
  127. package/dist/plugin-sdk/{tables-CkxblF0u.js → tables-BD7H5ug-.js} +1 -1
  128. package/dist/plugin-sdk/{tables-RBtf8G4P.js → tables-CJE8kB35.js} +1 -1
  129. package/dist/plugin-sdk/{telegram-actions-DAeYXSLk.js → telegram-actions-BRUNEXMr.js} +25 -25
  130. package/dist/plugin-sdk/{telegram-actions-BDeS3ocd.js → telegram-actions-r86ntIKR.js} +25 -25
  131. package/dist/plugin-sdk/telegram.js +2 -1
  132. package/dist/plugin-sdk/{thread-bindings.lifecycle-DsB94WbE.js → thread-bindings.lifecycle-Djem8FWF.js} +2 -2
  133. package/dist/plugin-sdk/{thread-bindings.lifecycle-DMhV3TsR.js → thread-bindings.lifecycle-gmHv3hc7.js} +2 -2
  134. package/dist/plugin-sdk/{thread-bindings.state-DYWpy7hJ.js → thread-bindings.state-CNT2vxm3.js} +2 -2
  135. package/dist/plugin-sdk/{thread-bindings.state-DG5cBaRn.js → thread-bindings.state-D8kN2X6H.js} +2 -2
  136. package/dist/plugin-sdk/{web-DJwacWQo.js → web-02I0vmdu.js} +26 -26
  137. package/dist/plugin-sdk/{web-IJ4NoGPJ.js → web-CXz56wyu.js} +26 -26
  138. package/dist/plugin-sdk/{whatsapp-actions-DAY8hWpD.js → whatsapp-actions-68Mfs2dJ.js} +12 -12
  139. package/dist/plugin-sdk/{whatsapp-actions-6opfo-oB.js → whatsapp-actions-DRqtzvTO.js} +12 -12
  140. package/dist/plugin-sdk/whatsapp.js +2 -1
  141. package/dist/plugin-sdk/{wsl-B2euLEc2.js → wsl-DcM2PgSS.js} +3 -3
  142. package/dist/plugin-sdk/{wsl-B8eyviuv.js → wsl-PXrdWitE.js} +3 -3
  143. package/dist/plugins/update.js +1 -1
  144. package/dist/tts/tts-core.js +6 -1
  145. package/dist/wizard/onboarding.finalize.js +9 -0
  146. package/extensions/acpx/package.json +1 -1
  147. package/extensions/bluebubbles/package.json +1 -1
  148. package/extensions/copilot-proxy/package.json +1 -1
  149. package/extensions/diagnostics-otel/package.json +1 -1
  150. package/extensions/fased-federation/package.json +1 -1
  151. package/extensions/google-gemini-cli-auth/package.json +1 -1
  152. package/extensions/imessage/package.json +1 -1
  153. package/extensions/irc/package.json +1 -1
  154. package/extensions/line/package.json +1 -1
  155. package/extensions/llm-task/package.json +1 -1
  156. package/extensions/lobster/package.json +1 -1
  157. package/extensions/matrix/CHANGELOG.md +12 -0
  158. package/extensions/matrix/package.json +1 -1
  159. package/extensions/mattermost/package.json +1 -1
  160. package/extensions/memory-core/package.json +2 -2
  161. package/extensions/memory-lancedb/package.json +1 -1
  162. package/extensions/minimax-portal-auth/package.json +1 -1
  163. package/extensions/msteams/CHANGELOG.md +12 -0
  164. package/extensions/msteams/package.json +1 -1
  165. package/extensions/nextcloud-talk/package.json +1 -1
  166. package/extensions/nostr/CHANGELOG.md +12 -0
  167. package/extensions/nostr/package.json +1 -1
  168. package/extensions/open-prose/package.json +1 -1
  169. package/extensions/sat-mining/package.json +1 -1
  170. package/extensions/signal/package.json +1 -1
  171. package/extensions/synology-chat/package.json +1 -1
  172. package/extensions/tlon/package.json +1 -1
  173. package/extensions/twitch/CHANGELOG.md +12 -0
  174. package/extensions/twitch/package.json +1 -1
  175. package/extensions/voice-call/CHANGELOG.md +12 -0
  176. package/extensions/voice-call/package.json +1 -1
  177. package/extensions/zalo/CHANGELOG.md +12 -0
  178. package/extensions/zalo/package.json +1 -1
  179. package/extensions/zalouser/CHANGELOG.md +12 -0
  180. package/extensions/zalouser/package.json +1 -1
  181. package/package.json +22 -15
  182. package/extensions/feishu/fased.plugin.json +0 -10
  183. package/extensions/feishu/index.ts +0 -63
  184. package/extensions/feishu/package.json +0 -33
  185. package/extensions/feishu/skills/feishu-doc/SKILL.md +0 -211
  186. package/extensions/feishu/skills/feishu-doc/references/block-types.md +0 -103
  187. package/extensions/feishu/skills/feishu-drive/SKILL.md +0 -97
  188. package/extensions/feishu/skills/feishu-perm/SKILL.md +0 -119
  189. package/extensions/feishu/skills/feishu-wiki/SKILL.md +0 -111
  190. package/extensions/feishu/src/accounts.ts +0 -159
  191. package/extensions/feishu/src/bitable.ts +0 -713
  192. package/extensions/feishu/src/bot.ts +0 -979
  193. package/extensions/feishu/src/channel.ts +0 -359
  194. package/extensions/feishu/src/client.ts +0 -118
  195. package/extensions/feishu/src/config-schema.ts +0 -226
  196. package/extensions/feishu/src/dedup.ts +0 -54
  197. package/extensions/feishu/src/directory.ts +0 -177
  198. package/extensions/feishu/src/doc-schema.ts +0 -122
  199. package/extensions/feishu/src/docx.ts +0 -998
  200. package/extensions/feishu/src/drive-schema.ts +0 -46
  201. package/extensions/feishu/src/drive.ts +0 -232
  202. package/extensions/feishu/src/dynamic-agent.ts +0 -131
  203. package/extensions/feishu/src/external-keys.ts +0 -19
  204. package/extensions/feishu/src/media.ts +0 -447
  205. package/extensions/feishu/src/mention.ts +0 -133
  206. package/extensions/feishu/src/monitor.ts +0 -434
  207. package/extensions/feishu/src/onboarding.ts +0 -430
  208. package/extensions/feishu/src/outbound.ts +0 -56
  209. package/extensions/feishu/src/perm-schema.ts +0 -52
  210. package/extensions/feishu/src/perm.ts +0 -180
  211. package/extensions/feishu/src/policy.ts +0 -116
  212. package/extensions/feishu/src/probe.ts +0 -44
  213. package/extensions/feishu/src/reactions.ts +0 -160
  214. package/extensions/feishu/src/reply-dispatcher.ts +0 -239
  215. package/extensions/feishu/src/runtime.ts +0 -14
  216. package/extensions/feishu/src/send-result.ts +0 -29
  217. package/extensions/feishu/src/send-target.ts +0 -25
  218. package/extensions/feishu/src/send.ts +0 -313
  219. package/extensions/feishu/src/streaming-card.ts +0 -218
  220. package/extensions/feishu/src/targets.ts +0 -78
  221. package/extensions/feishu/src/tool-account.ts +0 -58
  222. package/extensions/feishu/src/tools-config.ts +0 -21
  223. package/extensions/feishu/src/types.ts +0 -81
  224. package/extensions/feishu/src/typing.ts +0 -80
  225. package/extensions/feishu/src/wiki-schema.ts +0 -55
  226. package/extensions/feishu/src/wiki.ts +0 -237
  227. package/extensions/googlechat/fased.plugin.json +0 -9
  228. package/extensions/googlechat/index.ts +0 -19
  229. package/extensions/googlechat/package.json +0 -37
  230. package/extensions/googlechat/src/accounts.ts +0 -147
  231. package/extensions/googlechat/src/actions.ts +0 -176
  232. package/extensions/googlechat/src/api.ts +0 -282
  233. package/extensions/googlechat/src/auth.ts +0 -137
  234. package/extensions/googlechat/src/channel.ts +0 -591
  235. package/extensions/googlechat/src/monitor.ts +0 -996
  236. package/extensions/googlechat/src/onboarding.ts +0 -344
  237. package/extensions/googlechat/src/runtime.ts +0 -14
  238. package/extensions/googlechat/src/targets.ts +0 -65
  239. package/extensions/googlechat/src/types.config.ts +0 -3
  240. package/extensions/googlechat/src/types.ts +0 -73
@@ -1,17 +1,17 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { $ as mergeSessionEntry, $t as GATEWAY_CLIENT_MODES, A as deliveryContextKey, B as INPUT_PROVENANCE_KIND_VALUES, Bt as resolveChannelGroupToolsPolicy, C as recordSessionMetaFromInbound, D as isCacheEnabled, Dt as resolveTelegramAccount, E as updateSessionStoreEntry, Et as listTelegramAccountIds, F as archiveSessionTranscripts, G as resolveSessionLockMaxHoldFromTimeout, Gt as isGatewayMessageChannel, H as hasInterSessionUserProvenance, Ht as resolveGroupSessionKey, I as capArrayByJsonBytes, J as resolveChannelResetConfig, Jt as listDeliverableMessageChannels, K as resolveSessionKey$1, Kt as isInternalMessageChannel, L as countToolResults, Lt as resolveIMessageAccount, M as normalizeDeliveryContext, N as normalizeSessionDeliveryFields, O as resolveCacheTtlMs$1, Ot as resolveTelegramToken, P as normalizeAccountId$1, Pt as resolveSignalAccount, Q as DEFAULT_RESET_TRIGGERS, Qt as GATEWAY_CLIENT_IDS, R as extractToolCallNames, Rt as resolveChannelGroupPolicy, S as readSessionUpdatedAt, T as updateSessionStore, Tt as listEnabledTelegramAccounts, U as normalizeInputProvenance, Ut as INTERNAL_MESSAGE_CHANNEL, V as applyInputProvenanceToUserMessage, W as acquireSessionWriteLock, Wt as isDeliverableMessageChannel, X as resolveSessionResetType, Xt as resolveGatewayMessageChannel, Y as resolveSessionResetPolicy, Yt as normalizeMessageChannel, Z as resolveThreadFlag, Zt as resolveMessageChannel, _ as appendAssistantMessageToSessionTranscript, _n as triggerInternalHook, _t as normalizeSignalMessagingTarget, a as createPluginRegistry, at as resolveMainSessionKey, b as resolveAndPersistSessionFile, cn as CLI_DEFAULT_OPERATOR_SCOPES, ct as listChannelPlugins, d as lookupContextTokens, dn as clearPluginCommands, dt as listChannelDocks, en as GATEWAY_CLIENT_NAMES, et as resolveFreshSessionTotalTokens, f as resolveContextTokensForModel, fn as executePluginCommand, g as parseSessionThreadInfo, gn as createInternalHookEvent, h as extractDeliveryInfo, hn as matchPluginCommand, ht as normalizeWhatsAppTarget, i as setActivePluginRegistry, in as normalizeChannelId$2, it as resolveExplicitAgentSessionKey, j as mergeDeliveryContext, jt as listEnabledSignalAccounts, k as deliveryContextFromSession, kt as buildChannelAccountBindings, l as loadCombinedSessionStoreForGateway, lt as normalizeChannelId$1, mn as listPluginCommands, mt as isWhatsAppGroupJid, n as getActivePluginRegistryKey, nn as listChatChannels, nt as canonicalizeMainSessionAlias, o as createRuntimeHelpers, ot as deriveSessionMetaPatch, p as ensureFasedAgentModelsJson, q as evaluateSessionFreshness, qt as isMarkdownCapableMessageChannel, r as requireActivePluginRegistry, rn as normalizeAnyChannelId, rt as resolveAgentMainSessionKey, sn as ADMIN_SCOPE, st as getChannelPlugin, t as getActivePluginRegistry, tn as getChatChannelMeta, tt as setSessionRuntimeModel, un as resolveLeastPrivilegeOperatorScopesForMethod, ut as getChannelDock, v as resolveMirroredTranscriptText, vn as normalizePluginHttpPath, w as updateLastRoute, wt as createTelegramActionGate, x as loadSessionStore, y as resolveSessionTranscriptFile, z as parseInlineDirectives$1, zt as resolveChannelGroupRequireMention } from "./runtime-Dd0sswuW.js";
2
+ import { $ as mergeSessionEntry, $t as GATEWAY_CLIENT_MODES, A as deliveryContextKey, B as INPUT_PROVENANCE_KIND_VALUES, Bt as resolveChannelGroupToolsPolicy, C as recordSessionMetaFromInbound, D as isCacheEnabled, Dt as resolveTelegramAccount, E as updateSessionStoreEntry, Et as listTelegramAccountIds, F as archiveSessionTranscripts, G as resolveSessionLockMaxHoldFromTimeout, Gt as isGatewayMessageChannel, H as hasInterSessionUserProvenance, Ht as resolveGroupSessionKey, I as capArrayByJsonBytes, J as resolveChannelResetConfig, Jt as listDeliverableMessageChannels, K as resolveSessionKey$1, Kt as isInternalMessageChannel, L as countToolResults, Lt as resolveIMessageAccount, M as normalizeDeliveryContext, N as normalizeSessionDeliveryFields, O as resolveCacheTtlMs$1, Ot as resolveTelegramToken, P as normalizeAccountId$1, Pt as resolveSignalAccount, Q as DEFAULT_RESET_TRIGGERS, Qt as GATEWAY_CLIENT_IDS, R as extractToolCallNames, Rt as resolveChannelGroupPolicy, S as readSessionUpdatedAt, T as updateSessionStore, Tt as listEnabledTelegramAccounts, U as normalizeInputProvenance, Ut as INTERNAL_MESSAGE_CHANNEL, V as applyInputProvenanceToUserMessage, W as acquireSessionWriteLock, Wt as isDeliverableMessageChannel, X as resolveSessionResetType, Xt as resolveGatewayMessageChannel, Y as resolveSessionResetPolicy, Yt as normalizeMessageChannel, Z as resolveThreadFlag, Zt as resolveMessageChannel, _ as appendAssistantMessageToSessionTranscript, _n as triggerInternalHook, _t as normalizeSignalMessagingTarget, a as createPluginRegistry, at as resolveMainSessionKey, b as resolveAndPersistSessionFile, cn as CLI_DEFAULT_OPERATOR_SCOPES, ct as listChannelPlugins, d as lookupContextTokens, dn as clearPluginCommands, dt as listChannelDocks, en as GATEWAY_CLIENT_NAMES, et as resolveFreshSessionTotalTokens, f as resolveContextTokensForModel, fn as executePluginCommand, g as parseSessionThreadInfo, gn as createInternalHookEvent, h as extractDeliveryInfo, hn as matchPluginCommand, ht as normalizeWhatsAppTarget, i as setActivePluginRegistry, in as normalizeChannelId$2, it as resolveExplicitAgentSessionKey, j as mergeDeliveryContext, jt as listEnabledSignalAccounts, k as deliveryContextFromSession, kt as buildChannelAccountBindings, l as loadCombinedSessionStoreForGateway, lt as normalizeChannelId$1, mn as listPluginCommands, mt as isWhatsAppGroupJid, n as getActivePluginRegistryKey, nn as listChatChannels, nt as canonicalizeMainSessionAlias, o as createRuntimeHelpers, ot as deriveSessionMetaPatch, p as ensureFasedAgentModelsJson, q as evaluateSessionFreshness, qt as isMarkdownCapableMessageChannel, r as requireActivePluginRegistry, rn as normalizeAnyChannelId, rt as resolveAgentMainSessionKey, sn as ADMIN_SCOPE, st as getChannelPlugin, t as getActivePluginRegistry, tn as getChatChannelMeta, tt as setSessionRuntimeModel, un as resolveLeastPrivilegeOperatorScopesForMethod, ut as getChannelDock, v as resolveMirroredTranscriptText, vn as normalizePluginHttpPath, w as updateLastRoute, wt as createTelegramActionGate, x as loadSessionStore, y as resolveSessionTranscriptFile, z as parseInlineDirectives$1, zt as resolveChannelGroupRequireMention } from "./runtime-BPyuAmka.js";
3
3
  import { a as clearActiveProgressLine, c as CHANNEL_IDS, f as normalizeChatChannelId, i as defaultRuntime, l as CHAT_CHANNEL_ORDER, o as registerActiveProgressLine, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { S as normalizeLogLevel, d as isRich, f as theme, i as logVerbose, l as warn, o as setVerbose, p as getChildLogger, s as shouldLogVerbose, t as danger, u as colorize, w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
5
5
  import { c as expandHomePrefix, i as resolveGatewayPort, n as resolveConfigPath, s as resolveStateDir, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-BEmvSyOV.js";
6
6
  import { C as isPlainObject, S as truncateUtf16Safe, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$3, d as normalizeE164, h as resolveUserPath, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, y as sleep } from "./utils-CYk9EKoq.js";
7
- import { $ as parseConfigPath, $n as supportsXHighThinking, B as AVATAR_MAX_BYTES, Bn as resolveAuthProfileDisplayLabel, Bt as modelKey, Cn as listProfilesForProvider, Ct as normalizeSafeBinProfileFixtures, Dn as resolveAuthStorePathForDisplay, En as ensureAuthProfileStore, Er as resolveMemorySlotDecision, Et as isSafeExecutableValue, Fn as normalizeProviderId$2, Ft as buildConfiguredAllowlistKeys, Gn as splitTrailingAuthProfile, Gt as resolveDefaultModelForAgent, H as isAvatarHttpUrl, Hn as normalizeSecretInput, Ht as normalizeProviderId$1, I as MODEL_APIS, In as loadPluginManifestRegistry, It as buildModelAliasIndex, J as getConfigOverrides, Jn as formatThinkingLevels, Jt as resolveReasoningDefault, Kn as isOpenAISignInRuntimeModelSupported, L as getBlockedNetworkModeReason, Ln as discoverFasedAgentPlugins, Lt as findNormalizedProviderValue, Mt as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, On as resolveFasedAgentAgentDir, Pn as findNormalizedProviderValue$1, Pt as buildAllowedModelSet, Q as getConfigValueAtPath, Qn as resolveModelThinkingCapability, R as parseDurationMs, Rn as isPathInside, Sn as dedupeProfileIds, Sr as applyTestPluginDefaults, St as SAFE_BIN_PROFILES, Tn as markAuthProfileGood, Tr as resolveEffectiveEnableState, Tt as applyMergePatch, U as isPathWithinRoot, Un as assertSecretInputResolved, V as isAvatarDataUrl, Vn as isPrivateNetworkBaseUrl, Vt as normalizeModelRef$1, W as isSupportedLocalAvatarExtension, Wn as coerceSecretRef, Wt as resolveConfiguredModelRef, X as setConfigOverride, Xt as resolveThinkingDefault, Y as resetConfigOverrides, Yn as formatXHighModelHint, Yt as resolveSubagentSpawnModelSelection, Z as unsetConfigOverride, Zn as normalizeThinkLevel, Zt as normalizeGoogleModelId, _ as isInboundPathAllowed, _n as isProfileInCooldown, _r as resolveOwnerDisplaySetting, _t as isDispatchWrapperExecutable, a as readConfigFileSnapshotForWrite, an as resolveEnvApiKey, at as listWritableExplicitTrustedSafeBinDirs, b as resolveIMessageRemoteAttachmentRoots, bn as resolveProfilesUnavailableReason, br as isTruthyEnvValue, bt as unwrapKnownShellMultiplexerInvocation, c as validateConfigObjectWithPlugins, cn as listCurrentModelCatalogRows, ct as analyzeShellCommand, dn as normalizeModelCatalogModelId, dr as getShellPathFromLoginShell, dt as splitCommandChain, er as DEFAULT_CONTEXT_TOKENS, et as setConfigValueAtPath, fn as normalizeModelCatalogProviderId, fr as resolveShellEnvFallbackTimeoutMs, ft as DEFAULT_SAFE_BINS, g as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, gn as getSoonestCooldownExpiry, gr as sanitizeHostExecEnv, gt as extractShellWrapperInlineCommand, hn as resolveAuthProfileOrder, hr as isDangerousHostInheritedEnvVarName, ht as resolveCommandResolutionFromArgv, i as readConfigFileSnapshot, in as resolveApiKeyForProvider, ir as getPackageManifestMetadata, it as isTrustedSafeBinPath, ln as buildModelCatalogMergeKey, lt as buildEnforcedShellCommand, mt as resolveAllowlistCandidatePath, n as loadConfig, nn as getCustomProviderApiKey, nr as DEFAULT_PROVIDER, nt as ensurePluginAllowlisted, o as resolveConfigSnapshotHash, on as resolveModelAuthMode, or as extractErrorCode, ot as normalizeTrustedSafeBinDirs, pn as normalizeProviderCatalogRows, pr as isDangerousHostEnvOverrideVarName, pt as matchAllowlist, q as validateJsonSchemaValue, qn as lookupProviderManifestModelCapability, qt as resolveModelRefFromString, r as parseConfigJson5, rn as requireApiKey, rr as VERSION, rt as getTrustedSafeBinDirs, s as writeConfigFile, sn as CURRENT_MODEL_PROVIDER_CATALOG, sr as formatErrorMessage, st as validateSafeBinArgv, t as createConfigIO, tn as getApiKeyForModel, tr as DEFAULT_MODEL, tt as unsetConfigValueAtPath, un as mergeModelCatalogRowsByAuthority, ut as isWindowsPlatform, v as mergeInboundPathRoots, vn as markAuthProfileFailure, vr as formatCliCommand, vt as isShellWrapperExecutable, wn as listProvidersWithStoredCredentials, wr as normalizePluginsConfig, wt as resolveSafeBinProfiles, x as normalizeScpRemoteHost, xn as resolveApiKeyForProfile, xr as parseBooleanValue$1, xt as splitShellArgs, y as resolveIMessageAttachmentRoots, yn as markAuthProfileUsed, yr as resolveCliName, yt as unwrapKnownDispatchWrapperInvocation, zn as safeStatSync, zt as isCliProvider } from "./config-DXlISPlx.js";
7
+ import { $ as parseConfigPath, $n as supportsXHighThinking, B as AVATAR_MAX_BYTES, Bn as resolveAuthProfileDisplayLabel, Bt as modelKey, Cn as listProfilesForProvider, Cr as applyTestPluginDefaults, Ct as normalizeSafeBinProfileFixtures, Dn as resolveAuthStorePathForDisplay, Dr as resolveMemorySlotDecision, En as ensureAuthProfileStore, Er as resolveEffectiveEnableState, Et as isSafeExecutableValue, Fn as normalizeProviderId$2, Ft as buildConfiguredAllowlistKeys, Gn as splitTrailingAuthProfile, Gt as resolveDefaultModelForAgent, H as isAvatarHttpUrl, Hn as normalizeSecretInput, Ht as normalizeProviderId$1, I as MODEL_APIS, In as loadPluginManifestRegistry, It as buildModelAliasIndex, J as getConfigOverrides, Jn as formatThinkingLevels, Jt as resolveReasoningDefault, Kn as isOpenAISignInRuntimeModelSupported, L as getBlockedNetworkModeReason, Ln as discoverFasedAgentPlugins, Lt as findNormalizedProviderValue, Mt as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, On as resolveFasedAgentAgentDir, Pn as findNormalizedProviderValue$1, Pt as buildAllowedModelSet, Q as getConfigValueAtPath, Qn as resolveModelThinkingCapability, R as parseDurationMs, Rn as isPathInside, Sn as dedupeProfileIds, Sr as parseBooleanValue$1, St as SAFE_BIN_PROFILES, Tn as markAuthProfileGood, Tr as normalizePluginsConfig, Tt as applyMergePatch, U as isPathWithinRoot, Un as assertSecretInputResolved, V as isAvatarDataUrl, Vn as isPrivateNetworkBaseUrl, Vt as normalizeModelRef$1, W as isSupportedLocalAvatarExtension, Wn as coerceSecretRef, Wt as resolveConfiguredModelRef, X as setConfigOverride, Xt as resolveThinkingDefault, Y as resetConfigOverrides, Yn as formatXHighModelHint, Yt as resolveSubagentSpawnModelSelection, Z as unsetConfigOverride, Zn as normalizeThinkLevel, Zt as normalizeGoogleModelId, _ as isInboundPathAllowed, _n as isProfileInCooldown, _r as sanitizeHostExecEnv, _t as isDispatchWrapperExecutable, a as readConfigFileSnapshotForWrite, an as resolveEnvApiKey, ar as getPackageManifestMetadata, at as listWritableExplicitTrustedSafeBinDirs, b as resolveIMessageRemoteAttachmentRoots, bn as resolveProfilesUnavailableReason, br as resolveCliName, bt as unwrapKnownShellMultiplexerInvocation, c as validateConfigObjectWithPlugins, cn as listCurrentModelCatalogRows, cr as formatErrorMessage, ct as analyzeShellCommand, dn as normalizeModelCatalogModelId, dt as splitCommandChain, er as DEFAULT_CONTEXT_TOKENS, et as setConfigValueAtPath, fn as normalizeModelCatalogProviderId, fr as getShellPathFromLoginShell, ft as DEFAULT_SAFE_BINS, g as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, gn as getSoonestCooldownExpiry, gr as isDangerousHostInheritedEnvVarName, gt as extractShellWrapperInlineCommand, hn as resolveAuthProfileOrder, ht as resolveCommandResolutionFromArgv, i as readConfigFileSnapshot, in as resolveApiKeyForProvider, it as isTrustedSafeBinPath, ln as buildModelCatalogMergeKey, lt as buildEnforcedShellCommand, mr as isDangerousHostEnvOverrideVarName, mt as resolveAllowlistCandidatePath, n as loadConfig, nn as getCustomProviderApiKey, nr as DEFAULT_PROVIDER, nt as ensurePluginAllowlisted, o as resolveConfigSnapshotHash, on as resolveModelAuthMode, ot as normalizeTrustedSafeBinDirs, pn as normalizeProviderCatalogRows, pr as resolveShellEnvFallbackTimeoutMs, pt as matchAllowlist, q as validateJsonSchemaValue, qn as lookupProviderManifestModelCapability, qt as resolveModelRefFromString, r as parseConfigJson5, rn as requireApiKey, rr as VERSION, rt as getTrustedSafeBinDirs, s as writeConfigFile, sn as CURRENT_MODEL_PROVIDER_CATALOG, sr as extractErrorCode, st as validateSafeBinArgv, t as createConfigIO, tn as getApiKeyForModel, tr as DEFAULT_MODEL, tt as unsetConfigValueAtPath, un as mergeModelCatalogRowsByAuthority, ut as isWindowsPlatform, v as mergeInboundPathRoots, vn as markAuthProfileFailure, vr as resolveOwnerDisplaySetting, vt as isShellWrapperExecutable, wn as listProvidersWithStoredCredentials, wt as resolveSafeBinProfiles, x as normalizeScpRemoteHost, xn as resolveApiKeyForProfile, xr as isTruthyEnvValue, xt as splitShellArgs, y as resolveIMessageAttachmentRoots, yn as markAuthProfileUsed, yr as formatCliCommand, yt as unwrapKnownDispatchWrapperInvocation, zn as safeStatSync, zt as isCliProvider } from "./config-DtqAN2L3.js";
8
8
  import { $ as normalizeStringEntries, A as spawnWithFallback, C as ensureAgentWorkspace, D as resolveFasedAgentPackageRootSync, E as resolveFasedAgentPackageRoot, I as openBoundaryFile, J as resolveAgentModelFallbackValues, L as openBoundaryFileSync, M as logError, N as logInfo, O as runCommandWithTimeout, P as logWarn, Q as normalizeHyphenSlug, S as DEFAULT_USER_FILENAME, T as loadWorkspaceBootstrapFiles, V as resolvePathViaExistingAncestorSync, X as toAgentModelListLike, Y as resolveAgentModelPrimaryValue, Z as normalizeAtHashSlug, _ as DEFAULT_BOOTSTRAP_FILENAME, a as resolveAgentDir, b as DEFAULT_SOUL_FILENAME, c as resolveAgentSkillsFilter, d as resolveEffectiveModelFallbacks, et as normalizeStringEntriesLower, f as resolveRunModelFallbacksOverride, g as DEFAULT_AGENT_WORKSPACE_DIR, h as DEFAULT_AGENTS_FILENAME, i as resolveAgentConfig, j as logDebug, k as runExec, l as resolveAgentWorkspaceDir, m as resolveSessionAgentIds, n as listAgentEntries, p as resolveSessionAgentId, r as listAgentIds, s as resolveAgentModelFallbacksOverride, t as hasConfiguredModelFallbacks, u as resolveDefaultAgentId, v as DEFAULT_HEARTBEAT_FILENAME, w as filterBootstrapFilesForSession, x as DEFAULT_TOOLS_FILENAME, y as DEFAULT_IDENTITY_FILENAME } from "./agent-scope-kIJqg5PA.js";
9
9
  import { t as normalizeChatType } from "./chat-type-C0osVllE.js";
10
10
  import { n as resolveAccountEntry } from "./account-helpers-Bdfws46K.js";
11
11
  import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as getSubagentDepth, b as isCronSessionKey, c as normalizeMainKey, d as sanitizeAgentId, f as DEFAULT_ACCOUNT_ID, g as deriveSessionChatType, h as isBlockedObjectKey, l as resolveAgentIdFromSessionKey, m as normalizeOptionalAccountId, o as classifySessionKeyShape, p as normalizeAccountId$2, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as isSubagentSessionKey } from "./session-key-HSJ2KQTc.js";
12
12
  import { n as listEnabledDiscordAccounts, r as resolveDiscordAccount, t as createDiscordActionGate } from "./accounts-D7_p-Ivb.js";
13
13
  import { t as resolveSlackAccount } from "./accounts-DTdM1xcj.js";
14
- import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, t as hasAnyWhatsAppAuth, u as readWebSelfId } from "./accounts-Zgt0NP54.js";
14
+ import { a as logWebSelfId, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, t as hasAnyWhatsAppAuth, u as readWebSelfId } from "./accounts-RT6y7n3H.js";
15
15
  import { a as parseSlackTarget, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-CQRTq-NN.js";
16
16
  import { S as resolveChannelEntryMatchWithFallback, b as normalizeChannelSlug, y as buildChannelKeyCandidates } from "./allow-list-C9N6FKeC.js";
17
17
  import { n as redactSensitiveText, r as redactToolDetail } from "./redact-CwCz68Mi.js";
@@ -21,34 +21,34 @@ import { n as retryAsync } from "./retry-DycQ4ymF.js";
21
21
  import { a as resolveSessionTranscriptPath, c as resolveSessionTranscriptsDirForAgent, i as resolveSessionFilePathOptions, l as resolveStorePath, n as resolveDefaultSessionStorePath, r as resolveSessionFilePath } from "./paths-B88DQEK8.js";
22
22
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-NZiMKWBK.js";
23
23
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-l_6RdoMw.js";
24
- import { a as isBlockedHostnameOrIp, t as SsrFBlockedError } from "./ssrf-fG4UHKBw.js";
25
- import { t as fetchWithSsrFGuard } from "./fetch-guard-COLmW2TM.js";
24
+ import { n as SsrFBlockedError, o as isBlockedHostnameOrIp, t as importOptionalRuntimeDependency } from "./optional-runtime-dependency-szS49voX.js";
25
+ import { t as fetchWithSsrFGuard } from "./fetch-guard-DTKgMN9f.js";
26
26
  import { n as redactSensitiveUrlLikeString, t as redactSensitiveUrl } from "./redact-sensitive-url-DK8OUExz.js";
27
- import { a as formatIMessageChatTarget, c as normalizeIMessageHandle, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, l as parseIMessageTarget, o as formatIMessageTargetForLog, r as createIMessageRpcClient, s as isAllowedIMessageSender, t as sendMessageIMessage } from "./send-DvUpYh0d.js";
28
- import { A as resolveCronStorePath, B as removeChannelAllowFromStoreEntry, D as formatLocationText, G as listPairingChannels, I as parseTelegramTarget, J as mergeDmAllowFromSources, K as firstDefined$1, L as resolveTelegramTargetChatType, N as isVoiceCompatibleAudio, O as toLocationContext, R as addChannelAllowFromStoreEntry, V as upsertChannelPairingRequest, W as getPairingAdapter, Y as resolveGroupAllowFromSources, c as buildTelegramGroupPeerId, j as saveCronStore, k as loadCronStore, q as isSenderIdAllowed, z as readChannelAllowFromStore } from "./wsl-B8eyviuv.js";
29
- import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-Cjw4712g.js";
27
+ import { a as formatIMessageChatTarget, c as normalizeIMessageHandle, i as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, l as parseIMessageTarget, o as formatIMessageTargetForLog, r as createIMessageRpcClient, s as isAllowedIMessageSender, t as sendMessageIMessage } from "./send-DRGzRdI3.js";
28
+ import { A as resolveCronStorePath, B as removeChannelAllowFromStoreEntry, D as formatLocationText, G as listPairingChannels, I as parseTelegramTarget, J as mergeDmAllowFromSources, K as firstDefined$1, L as resolveTelegramTargetChatType, N as isVoiceCompatibleAudio, O as toLocationContext, R as addChannelAllowFromStoreEntry, V as upsertChannelPairingRequest, W as getPairingAdapter, Y as resolveGroupAllowFromSources, c as buildTelegramGroupPeerId, j as saveCronStore, k as loadCronStore, q as isSenderIdAllowed, z as readChannelAllowFromStore } from "./wsl-PXrdWitE.js";
29
+ import { a as chunkText, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, n as chunkByParagraph, o as chunkTextWithMode, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-M2d7r-Zt.js";
30
30
  import { c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-DqlCqHXT.js";
31
- import { C as writeJsonAtomic, S as readJsonFile$1, _ as safeEqualSecret, b as resolvePairingPaths, c as getSkillsSnapshotVersion, d as resolveSkillsPromptForRun, f as syncSkillsToWorkspace, g as generatePairingToken, h as sanitizeEnvVars, i as resolveSkillCommandInvocation, l as buildWorkspaceSkillSnapshot, m as applySkillEnvOverridesFromSnapshot, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as applySkillEnvOverrides, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as loadWorkspaceSkillEntries, v as rejectPendingPairingRequest, x as createAsyncLock, y as pruneExpiredPending } from "./skill-commands-DHxkTA0s.js";
31
+ import { C as writeJsonAtomic, S as readJsonFile$1, _ as safeEqualSecret, b as resolvePairingPaths, c as getSkillsSnapshotVersion, d as resolveSkillsPromptForRun, f as syncSkillsToWorkspace, g as generatePairingToken, h as sanitizeEnvVars, i as resolveSkillCommandInvocation, l as buildWorkspaceSkillSnapshot, m as applySkillEnvOverridesFromSnapshot, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as applySkillEnvOverrides, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as loadWorkspaceSkillEntries, v as rejectPendingPairingRequest, x as createAsyncLock, y as pruneExpiredPending } from "./skill-commands-CkgGmWBS.js";
32
32
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-DLpYiUzR.js";
33
33
  import { a as logMessageProcessed, i as logLaneEnqueue, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-CuhHqubd.js";
34
34
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Zw87xFym.js";
35
35
  import { t as redactIdentifier } from "./redact-identifier-DdQO7P4_.js";
36
- import { E as mediaKindFromMime, S as kindFromMime, _ as extensionForMime, a as buildImageResizeSideGrid, b as isAudioFileName, c as MediaFetchError, g as detectMime, h as getDefaultMediaLocalRoots, i as IMAGE_REDUCE_QUALITY_STEPS, l as fetchRemoteMedia, m as getAgentScopedMediaLocalRoots, n as loadWebMedia, o as getImageMetadata, s as resizeToJpeg, t as getDefaultLocalRoots, u as readResponseWithLimit, v as getFileExtension, w as MAX_IMAGE_BYTES, y as imageMimeFromFormat } from "./media-C6C2c9a4.js";
37
- import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-CkH5l9X5.js";
38
- import { B as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, C as assertBrowserNavigationAllowed, D as fetchJson$1, E as appendCdpPath, F as isLoopbackHost, G as DEFAULT_FASED_BROWSER_COLOR, H as DEFAULT_AI_SNAPSHOT_MAX_CHARS, I as isSecureWebSocketUrl, K as DEFAULT_FASED_BROWSER_ENABLED, L as isTrustedProxyAddress, M as stopChromeExtensionRelayServer, N as rawDataToString, O as fetchOk, P as isLoopbackAddress, R as resolveClientIp, S as InvalidBrowserNavigationUrlError, T as withBrowserNavigationPolicy, U as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, W as DEFAULT_BROWSER_EVALUATE_ENABLED, _ as captureScreenshot, b as normalizeCdpWsUrl, c as normalizeBrowserFormField, d as isChromeReachable, f as launchFasedAgentChrome, g as resolveLsofCommandSync, h as resolveBrowserExecutableForPlatform, i as resolveExistingPathsWithinRoot, j as ensureChromeExtensionRelayServer, m as stopFasedAgentChrome, n as DEFAULT_TRACE_DIR, o as resolveWritablePathWithinRoot, p as resolveFasedAgentUserDataDir, q as DEFAULT_FASED_BROWSER_PROFILE_NAME, r as DEFAULT_UPLOAD_DIR, t as DEFAULT_DOWNLOAD_DIR, u as isChromeCdpReady, v as createTargetViaCdp, w as assertBrowserNavigationResultAllowed, x as snapshotAria, z as resolveForwardedClientIp } from "./paths-CBCpJ5bu.js";
36
+ import { E as mediaKindFromMime, S as kindFromMime, _ as extensionForMime, a as buildImageResizeSideGrid, b as isAudioFileName, c as MediaFetchError, g as detectMime, h as getDefaultMediaLocalRoots, i as IMAGE_REDUCE_QUALITY_STEPS, l as fetchRemoteMedia, m as getAgentScopedMediaLocalRoots, n as loadWebMedia, o as getImageMetadata, s as resizeToJpeg, t as getDefaultLocalRoots, u as readResponseWithLimit, v as getFileExtension, w as MAX_IMAGE_BYTES, y as imageMimeFromFormat } from "./media-Cxw-xLGU.js";
37
+ import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-yifTIDIn.js";
38
+ import { A as fetchJson$1, B as isTrustedProxyAddress, C as normalizeCdpWsUrl, D as assertBrowserNavigationResultAllowed, E as assertBrowserNavigationAllowed, F as stopChromeExtensionRelayServer, G as DEFAULT_AI_SNAPSHOT_MAX_CHARS, H as resolveForwardedClientIp, I as rawDataToString, J as DEFAULT_FASED_BROWSER_COLOR, K as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, L as isLoopbackAddress, O as withBrowserNavigationPolicy, P as ensureChromeExtensionRelayServer, R as isLoopbackHost, T as InvalidBrowserNavigationUrlError, U as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, V as resolveClientIp, W as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, X as DEFAULT_FASED_BROWSER_PROFILE_NAME, Y as DEFAULT_FASED_BROWSER_ENABLED, _ as stopFasedAgentChrome, a as DEFAULT_TRACE_DIR, b as captureScreenshot, d as normalizeBrowserFormField, g as resolveFasedAgentUserDataDir, h as launchFasedAgentChrome, i as DEFAULT_DOWNLOAD_DIR, j as fetchOk, k as appendCdpPath, l as resolveWritablePathWithinRoot, m as isChromeReachable, o as DEFAULT_UPLOAD_DIR, p as isChromeCdpReady, q as DEFAULT_BROWSER_EVALUATE_ENABLED, r as loadReadability, s as resolveExistingPathsWithinRoot, t as loadLinkedom, v as resolveBrowserExecutableForPlatform, w as snapshotAria, x as createTargetViaCdp, y as resolveLsofCommandSync, z as isSecureWebSocketUrl } from "./runtime-dependency-Csswyv5r.js";
39
39
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CcQroDXQ.js";
40
40
  import { a as writeFileWithinRoot, n as openFileWithinRoot, r as readFileWithinRoot, t as SafeOpenError } from "./fs-safe-BPYS6-j1.js";
41
- import { n as resolveMarkdownTableMode } from "./markdown-tables-krKiU4cT.js";
42
- import { a as resolveSignalRpcContext, c as streamSignalEvents, l as markdownToSignalTextChunks, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-ifgZCHVB.js";
43
- import { a as saveMediaBuffer, i as getMediaDir, n as ensureMediaDir } from "./outbound-attachment-BVzfhqnk.js";
41
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CCSD52rA.js";
42
+ import { a as resolveSignalRpcContext, c as streamSignalEvents, l as markdownToSignalTextChunks, n as sendReadReceiptSignal, o as signalCheck, r as sendTypingSignal, s as signalRpcRequest, t as sendMessageSignal } from "./send-D7tr-EsH.js";
43
+ import { a as saveMediaBuffer, i as getMediaDir, n as ensureMediaDir } from "./outbound-attachment-C-jSFaEB.js";
44
44
  import { t as resolveFetch } from "./fetch-D70syO9t.js";
45
- import { B as isSessionBindingError, C as resolveThreadBindingMaxAgeMs$1, F as resolveThreadBindingIntroText, G as resolveSessionStorePathForAcp, I as resolveThreadBindingThreadName, K as upsertAcpSessionMeta, L as SYSTEM_MARK, N as formatThreadBindingDurationLabel, R as prefixSystemMessage, S as resolveThreadBindingMaxAgeExpiresAt, U as listAcpSessionEntries, W as readAcpSessionEntry, b as resolveThreadBindingIdleTimeoutMs$1, c as getThreadBindingManager, x as resolveThreadBindingInactivityExpiresAt, z as getSessionBindingService } from "./thread-bindings.state-DYWpy7hJ.js";
45
+ import { B as isSessionBindingError, C as resolveThreadBindingMaxAgeMs$1, F as resolveThreadBindingIntroText, G as resolveSessionStorePathForAcp, I as resolveThreadBindingThreadName, K as upsertAcpSessionMeta, L as SYSTEM_MARK, N as formatThreadBindingDurationLabel, R as prefixSystemMessage, S as resolveThreadBindingMaxAgeExpiresAt, U as listAcpSessionEntries, W as readAcpSessionEntry, b as resolveThreadBindingIdleTimeoutMs$1, c as getThreadBindingManager, x as resolveThreadBindingInactivityExpiresAt, z as getSessionBindingService } from "./thread-bindings.state-CNT2vxm3.js";
46
46
  import { t as resolveMemorySearchConfig } from "./memory-search-J6AYuENR.js";
47
- import { i as executeWithApiKeyRotation, n as parseGeminiAuth, r as collectProviderApiKeysForExecution } from "./manager-BZjd_PCt.js";
47
+ import { i as executeWithApiKeyRotation, n as parseGeminiAuth, r as collectProviderApiKeysForExecution } from "./manager-D2kZ0Cps.js";
48
48
  import { c as normalizeExtraMemoryPaths, s as listMemoryFiles } from "./internal-DFhCtnuk.js";
49
49
  import { i as resolveQmdScopeDenial } from "./qmd-scope-ubzoBMhc.js";
50
- import { _ as estimateBase64DecodedBytes, a as jsonResult, d as readStringParam, f as sanitizeContentBlocksImages, g as canonicalizeBase64, h as resolveImageSanitizationLimits, i as imageResultFromFile, l as readStringArrayParam, m as sanitizeToolResultImages, n as createActionGate, p as sanitizeImageBlocks, r as imageResult, s as readNumberParam, u as readStringOrNumberParam } from "./common-CSTxewqY.js";
51
- import { S as isCommandFlagEnabled, _ as normalizeElevatedLevel, a as listChatCommands, b as normalizeVerboseLevel, g as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, o as listChatCommandsForConfig, u as normalizeCommandBody, v as normalizeReasoningLevel, w as isRestartEnabled, x as resolveResponseUsageMode, y as normalizeUsageDisplay } from "./commands-registry-5J619bQ2.js";
50
+ import { _ as estimateBase64DecodedBytes, a as jsonResult, d as readStringParam, f as sanitizeContentBlocksImages, g as canonicalizeBase64, h as resolveImageSanitizationLimits, i as imageResultFromFile, l as readStringArrayParam, m as sanitizeToolResultImages, n as createActionGate, p as sanitizeImageBlocks, r as imageResult, s as readNumberParam, u as readStringOrNumberParam } from "./common-Cpw-vuuM.js";
51
+ import { S as isCommandFlagEnabled, _ as normalizeElevatedLevel, a as listChatCommands, b as normalizeVerboseLevel, g as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, o as listChatCommandsForConfig, u as normalizeCommandBody, v as normalizeReasoningLevel, w as isRestartEnabled, x as resolveResponseUsageMode, y as normalizeUsageDisplay } from "./commands-registry-CdT-nl7v.js";
52
52
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-Daf9i2Me.js";
53
53
  import { t as parseDiscordTarget } from "./targets-cA134MEE.js";
54
54
  import { a as resolveSandboxedMediaSource, i as resolveSandboxPath, n as assertSandboxPath, r as resolveSandboxInputPath, t as assertMediaNotDataUrl } from "./sandbox-paths-CkTERCrj.js";
@@ -56,11 +56,11 @@ import { n as normalizePollInput } from "./polls-D0YNJBfc.js";
56
56
  import { n as missingTargetError, r as unknownTargetError, t as ambiguousTargetError } from "./target-errors-Dn4aykSV.js";
57
57
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-q0xAK3nQ.js";
58
58
  import { n as resolveUserTimeFormat, r as resolveUserTimezone, t as formatUserTime } from "./date-time-Bo5FVB7G.js";
59
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-_YZHbS-z.js";
60
- import { t as convertMarkdownTables } from "./tables-CkxblF0u.js";
59
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CNhTJG_2.js";
60
+ import { t as convertMarkdownTables } from "./tables-CJE8kB35.js";
61
61
  import { n as recordChannelActivity, t as getChannelActivity } from "./channel-activity-Cf5sKkfd.js";
62
62
  import { t as withTimeout$3 } from "./with-timeout-DqkblR98.js";
63
- import { t as getActiveWebListener } from "./active-listener-DKZiSaRA.js";
63
+ import { t as getActiveWebListener } from "./active-listener-CE8t5g6l.js";
64
64
  import { createRequire } from "node:module";
65
65
  import * as path$1 from "node:path";
66
66
  import path, { isAbsolute, posix } from "node:path";
@@ -78,7 +78,6 @@ import { createServer } from "node:http";
78
78
  import AjvPkg from "ajv";
79
79
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, createAgentSession, createCodingTools, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary } from "@mariozechner/pi-coding-agent";
80
80
  import { complete, completeSimple, streamSimple } from "@mariozechner/pi-ai/compat";
81
- import { EdgeTTS } from "node-edge-tts";
82
81
  import net from "node:net";
83
82
  import { Type } from "@sinclair/typebox";
84
83
  import { WebSocket as WebSocket$1 } from "ws";
@@ -3823,6 +3822,11 @@ function inferEdgeExtension(outputFormat) {
3823
3822
  }
3824
3823
  async function edgeTTS(params) {
3825
3824
  const { text, outputPath, config, timeoutMs } = params;
3825
+ const { EdgeTTS } = await importOptionalRuntimeDependency({
3826
+ componentId: "speech-runtime",
3827
+ packageName: "@fased/speech-runtime",
3828
+ dependency: "node-edge-tts"
3829
+ });
3826
3830
  await new EdgeTTS({
3827
3831
  voice: config.voice,
3828
3832
  lang: config.lang,
@@ -20335,27 +20339,27 @@ function createOutboundSendDepsFromCliSource(deps) {
20335
20339
  function createDefaultDeps() {
20336
20340
  return {
20337
20341
  sendMessageWhatsApp: async (...args) => {
20338
- const { sendMessageWhatsApp } = await import("./web-IJ4NoGPJ.js");
20342
+ const { sendMessageWhatsApp } = await import("./web-CXz56wyu.js");
20339
20343
  return await sendMessageWhatsApp(...args);
20340
20344
  },
20341
20345
  sendMessageTelegram: async (...args) => {
20342
- const { sendMessageTelegram } = await import("./send-CtMVvMJs.js").then((n) => n.c);
20346
+ const { sendMessageTelegram } = await import("./send-BzFdvD_i.js").then((n) => n.c);
20343
20347
  return await sendMessageTelegram(...args);
20344
20348
  },
20345
20349
  sendMessageDiscord: async (...args) => {
20346
- const { sendMessageDiscord } = await import("./send-DFTB0cnx.js").then((n) => n.t);
20350
+ const { sendMessageDiscord } = await import("./send-BQXQA81e.js").then((n) => n.t);
20347
20351
  return await sendMessageDiscord(...args);
20348
20352
  },
20349
20353
  sendMessageSlack: async (...args) => {
20350
- const { sendMessageSlack } = await import("./send-D2jlPeKH.js").then((n) => n.n);
20354
+ const { sendMessageSlack } = await import("./send-DfkPKz_0.js").then((n) => n.n);
20351
20355
  return await sendMessageSlack(...args);
20352
20356
  },
20353
20357
  sendMessageSignal: async (...args) => {
20354
- const { sendMessageSignal } = await import("./send-ifgZCHVB.js").then((n) => n.i);
20358
+ const { sendMessageSignal } = await import("./send-D7tr-EsH.js").then((n) => n.i);
20355
20359
  return await sendMessageSignal(...args);
20356
20360
  },
20357
20361
  sendMessageIMessage: async (...args) => {
20358
- const { sendMessageIMessage } = await import("./send-DvUpYh0d.js").then((n) => n.n);
20362
+ const { sendMessageIMessage } = await import("./send-DRGzRdI3.js").then((n) => n.n);
20359
20363
  return await sendMessageIMessage(...args);
20360
20364
  }
20361
20365
  };
@@ -22421,7 +22425,7 @@ async function getMemorySearchManager(params) {
22421
22425
  const wrapper = new FallbackMemoryManager({
22422
22426
  primary,
22423
22427
  fallbackFactory: async () => {
22424
- const { MemoryIndexManager } = await import("./manager-BZjd_PCt.js").then((n) => n.t);
22428
+ const { MemoryIndexManager } = await import("./manager-D2kZ0Cps.js").then((n) => n.t);
22425
22429
  return await MemoryIndexManager.get(params);
22426
22430
  }
22427
22431
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -22434,7 +22438,7 @@ async function getMemorySearchManager(params) {
22434
22438
  }
22435
22439
  }
22436
22440
  try {
22437
- const { MemoryIndexManager } = await import("./manager-BZjd_PCt.js").then((n) => n.t);
22441
+ const { MemoryIndexManager } = await import("./manager-D2kZ0Cps.js").then((n) => n.t);
22438
22442
  return { manager: await MemoryIndexManager.get(params) };
22439
22443
  } catch (err) {
22440
22444
  const message = err instanceof Error ? err.message : String(err);
@@ -36142,14 +36146,22 @@ async function applyLinkUnderstanding(params) {
36142
36146
  let canvasModulePromise = null;
36143
36147
  let pdfJsModulePromise = null;
36144
36148
  async function loadCanvasModule() {
36145
- if (!canvasModulePromise) canvasModulePromise = import("@napi-rs/canvas").catch((err) => {
36149
+ if (!canvasModulePromise) canvasModulePromise = importOptionalRuntimeDependency({
36150
+ componentId: "media-runtime",
36151
+ packageName: "@fased/media-runtime",
36152
+ dependency: "@napi-rs/canvas"
36153
+ }).catch((err) => {
36146
36154
  canvasModulePromise = null;
36147
36155
  throw new Error(`Optional dependency @napi-rs/canvas is required for PDF image extraction: ${String(err)}`);
36148
36156
  });
36149
36157
  return canvasModulePromise;
36150
36158
  }
36151
36159
  async function loadPdfJsModule() {
36152
- if (!pdfJsModulePromise) pdfJsModulePromise = import("pdfjs-dist/legacy/build/pdf.mjs").catch((err) => {
36160
+ if (!pdfJsModulePromise) pdfJsModulePromise = importOptionalRuntimeDependency({
36161
+ componentId: "media-runtime",
36162
+ packageName: "@fased/media-runtime",
36163
+ dependency: "pdfjs-dist/legacy/build/pdf.mjs"
36164
+ }).catch((err) => {
36153
36165
  pdfJsModulePromise = null;
36154
36166
  throw new Error(`Optional dependency pdfjs-dist is required for PDF extraction: ${String(err)}`);
36155
36167
  });
@@ -53714,7 +53726,7 @@ function isModuleNotFoundError(err) {
53714
53726
  }
53715
53727
  async function loadPwAiModule(mode) {
53716
53728
  try {
53717
- return await import("./pw-ai-Cn-EUPZK.js");
53729
+ return await import("./pw-ai-sH1Pi-Fh.js");
53718
53730
  } catch (err) {
53719
53731
  if (mode === "soft") return null;
53720
53732
  if (isModuleNotFoundError(err)) return null;
@@ -54108,11 +54120,11 @@ function createProfileContext(opts, profile) {
54108
54120
  const userDataDir = resolveFasedAgentUserDataDir(profile.name);
54109
54121
  const profileState = getProfileState();
54110
54122
  if (await isHttpReachable(300) && !profileState.running) try {
54111
- await (await import("./pw-ai-Cn-EUPZK.js")).closePlaywrightBrowserConnection();
54123
+ await (await import("./pw-ai-sH1Pi-Fh.js")).closePlaywrightBrowserConnection();
54112
54124
  } catch {}
54113
54125
  if (profileState.running) await stopRunningBrowser();
54114
54126
  try {
54115
- await (await import("./pw-ai-Cn-EUPZK.js")).closePlaywrightBrowserConnection();
54127
+ await (await import("./pw-ai-sH1Pi-Fh.js")).closePlaywrightBrowserConnection();
54116
54128
  } catch {}
54117
54129
  if (!fs.existsSync(userDataDir)) return {
54118
54130
  moved: false,
@@ -67583,7 +67595,7 @@ async function sanitizeHtml(html) {
67583
67595
  let sanitized = html.replace(/<!--[\s\S]*?-->/g, "");
67584
67596
  let document;
67585
67597
  try {
67586
- const { parseHTML } = await import("linkedom");
67598
+ const { parseHTML } = await loadLinkedom();
67587
67599
  ({document} = parseHTML(sanitized));
67588
67600
  } catch {
67589
67601
  return sanitized;
@@ -67606,7 +67618,7 @@ const READABILITY_MAX_HTML_CHARS = 1e6;
67606
67618
  const READABILITY_MAX_ESTIMATED_NESTING_DEPTH = 3e3;
67607
67619
  let readabilityDepsPromise;
67608
67620
  async function loadReadabilityDeps() {
67609
- if (!readabilityDepsPromise) readabilityDepsPromise = Promise.all([import("@mozilla/readability"), import("linkedom")]).then(([readability, linkedom]) => ({
67621
+ if (!readabilityDepsPromise) readabilityDepsPromise = Promise.all([loadReadability(), loadLinkedom()]).then(([readability, linkedom]) => ({
67610
67622
  Readability: readability.Readability,
67611
67623
  parseHTML: linkedom.parseHTML
67612
67624
  }));
@@ -74303,7 +74315,7 @@ const handleSessionCommand = async (params, allowTextCommands) => {
74303
74315
  reply: { text: resolveSessionCommandUsage() }
74304
74316
  };
74305
74317
  }
74306
- const { setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey } = await import("./thread-bindings.lifecycle-DMhV3TsR.js").then((n) => n.n);
74318
+ const { setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey } = await import("./thread-bindings.lifecycle-gmHv3hc7.js").then((n) => n.n);
74307
74319
  const updatedBindings = action === SESSION_ACTION_IDLE ? setThreadBindingIdleTimeoutBySessionKey({
74308
74320
  targetSessionKey: binding.targetSessionKey,
74309
74321
  accountId,
@@ -75529,7 +75541,7 @@ async function createModelSelectionState(params) {
75529
75541
  }
75530
75542
  }
75531
75543
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
75532
- const { ensureAuthProfileStore } = await import("./config-DXlISPlx.js").then((n) => n.mn);
75544
+ const { ensureAuthProfileStore } = await import("./config-DtqAN2L3.js").then((n) => n.mn);
75533
75545
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
75534
75546
  const providerKey = normalizeProviderId$1(provider);
75535
75547
  if (!profile || normalizeProviderId$1(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -84472,7 +84484,7 @@ const discordMessageActions = {
84472
84484
  return null;
84473
84485
  },
84474
84486
  handleAction: async ({ action, params, cfg, accountId, requesterSenderId, toolContext, mediaLocalRoots }) => {
84475
- const { handleDiscordMessageAction } = await import("./handle-action-hhufKxmU.js");
84487
+ const { handleDiscordMessageAction } = await import("./handle-action-CjcxGzQD.js");
84476
84488
  return await handleDiscordMessageAction({
84477
84489
  action,
84478
84490
  params,
@@ -84709,7 +84721,7 @@ const signalMessageActions = {
84709
84721
  //#region src/channels/plugins/actions/telegram.ts
84710
84722
  const providerId = "telegram";
84711
84723
  async function loadTelegramActionHandler() {
84712
- const { handleTelegramAction } = await import("./telegram-actions-BDeS3ocd.js");
84724
+ const { handleTelegramAction } = await import("./telegram-actions-r86ntIKR.js");
84713
84725
  return handleTelegramAction;
84714
84726
  }
84715
84727
  function readTelegramSendParams(params) {
@@ -84879,7 +84891,7 @@ function createWhatsAppLoginTool() {
84879
84891
  force: Type.Optional(Type.Boolean())
84880
84892
  }),
84881
84893
  execute: async (_toolCallId, args) => {
84882
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-B343JNXJ.js");
84894
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-DgxfBFVN.js");
84883
84895
  if ((args?.action ?? "start") === "wait") {
84884
84896
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
84885
84897
  return {
@@ -87166,7 +87178,7 @@ function buildPairingReply(params) {
87166
87178
 
87167
87179
  //#endregion
87168
87180
  //#region src/brand.ts
87169
- const FASED_PRODUCT_VERSION = "0.1.36";
87181
+ const FASED_PRODUCT_VERSION = "0.1.38";
87170
87182
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
87171
87183
 
87172
87184
  //#endregion
@@ -91045,7 +91057,7 @@ const handleWhatsAppActionLazy = async (...args) => {
91045
91057
  return handleWhatsAppAction(...args);
91046
91058
  };
91047
91059
  const auditDiscordChannelPermissionsLazy = async (...args) => {
91048
- const { auditDiscordChannelPermissions } = await import("./audit-BImNOQvk.js");
91060
+ const { auditDiscordChannelPermissions } = await import("./audit-DxB2Kml5.js");
91049
91061
  return auditDiscordChannelPermissions(...args);
91050
91062
  };
91051
91063
  const listDiscordDirectoryGroupsLiveLazy = async (...args) => {
@@ -91069,15 +91081,15 @@ const resolveDiscordUserAllowlistLazy = async (...args) => {
91069
91081
  return resolveDiscordUserAllowlist(...args);
91070
91082
  };
91071
91083
  const sendMessageDiscordLazy = async (...args) => {
91072
- const { sendMessageDiscord } = await import("./send-DFTB0cnx.js").then((n) => n.t);
91084
+ const { sendMessageDiscord } = await import("./send-BQXQA81e.js").then((n) => n.t);
91073
91085
  return sendMessageDiscord(...args);
91074
91086
  };
91075
91087
  const sendPollDiscordLazy = async (...args) => {
91076
- const { sendPollDiscord } = await import("./send-DFTB0cnx.js").then((n) => n.t);
91088
+ const { sendPollDiscord } = await import("./send-BQXQA81e.js").then((n) => n.t);
91077
91089
  return sendPollDiscord(...args);
91078
91090
  };
91079
91091
  const monitorDiscordProviderLazy = async (...args) => {
91080
- const { monitorDiscordProvider } = await import("./monitor-CVQNDfhs.js");
91092
+ const { monitorDiscordProvider } = await import("./monitor-rOs3mUol.js");
91081
91093
  return monitorDiscordProvider(...args);
91082
91094
  };
91083
91095
  const listSlackDirectoryGroupsLiveLazy = async (...args) => {
@@ -91101,15 +91113,15 @@ const resolveSlackUserAllowlistLazy = async (...args) => {
91101
91113
  return resolveSlackUserAllowlist(...args);
91102
91114
  };
91103
91115
  const sendMessageSlackLazy = async (...args) => {
91104
- const { sendMessageSlack } = await import("./send-D2jlPeKH.js").then((n) => n.n);
91116
+ const { sendMessageSlack } = await import("./send-DfkPKz_0.js").then((n) => n.n);
91105
91117
  return sendMessageSlack(...args);
91106
91118
  };
91107
91119
  const monitorSlackProviderLazy = async (...args) => {
91108
- const { monitorSlackProvider } = await import("./slack-BpJXkwxF.js");
91120
+ const { monitorSlackProvider } = await import("./slack-CGTAN4UD.js");
91109
91121
  return monitorSlackProvider(...args);
91110
91122
  };
91111
91123
  const handleSlackActionLazy = async (...args) => {
91112
- const { handleSlackAction } = await import("./slack-actions-8tLGt1Ht.js");
91124
+ const { handleSlackAction } = await import("./slack-actions-BQawWGTJ.js");
91113
91125
  return handleSlackAction(...args);
91114
91126
  };
91115
91127
  const probeTelegramLazy = async (...args) => {
@@ -91117,15 +91129,15 @@ const probeTelegramLazy = async (...args) => {
91117
91129
  return probeTelegram(...args);
91118
91130
  };
91119
91131
  const sendMessageTelegramLazy = async (...args) => {
91120
- const { sendMessageTelegram } = await import("./send-CtMVvMJs.js").then((n) => n.c);
91132
+ const { sendMessageTelegram } = await import("./send-BzFdvD_i.js").then((n) => n.c);
91121
91133
  return sendMessageTelegram(...args);
91122
91134
  };
91123
91135
  const sendPollTelegramLazy = async (...args) => {
91124
- const { sendPollTelegram } = await import("./send-CtMVvMJs.js").then((n) => n.c);
91136
+ const { sendPollTelegram } = await import("./send-BzFdvD_i.js").then((n) => n.c);
91125
91137
  return sendPollTelegram(...args);
91126
91138
  };
91127
91139
  const monitorTelegramProviderLazy = async (...args) => {
91128
- const { monitorTelegramProvider } = await import("./monitor-BsLMfn3U.js");
91140
+ const { monitorTelegramProvider } = await import("./monitor-6lkdOqhQ.js");
91129
91141
  return monitorTelegramProvider(...args);
91130
91142
  };
91131
91143
  let webOutboundPromise = null;
@@ -91134,23 +91146,23 @@ let webLoginQrPromise = null;
91134
91146
  let webChannelPromise = null;
91135
91147
  let whatsappActionsPromise = null;
91136
91148
  function loadWebOutbound() {
91137
- webOutboundPromise ??= import("./outbound-PGNWU6T-.js").then((n) => n.t);
91149
+ webOutboundPromise ??= import("./outbound-BCxOxdi-.js").then((n) => n.t);
91138
91150
  return webOutboundPromise;
91139
91151
  }
91140
91152
  function loadWebLogin() {
91141
- webLoginPromise ??= import("./login-DL1oBBfL.js").then((n) => n.n);
91153
+ webLoginPromise ??= import("./login-CB_nCjX3.js").then((n) => n.n);
91142
91154
  return webLoginPromise;
91143
91155
  }
91144
91156
  function loadWebLoginQr() {
91145
- webLoginQrPromise ??= import("./login-qr-B343JNXJ.js");
91157
+ webLoginQrPromise ??= import("./login-qr-DgxfBFVN.js");
91146
91158
  return webLoginQrPromise;
91147
91159
  }
91148
91160
  function loadWebChannel() {
91149
- webChannelPromise ??= import("./web-IJ4NoGPJ.js");
91161
+ webChannelPromise ??= import("./web-CXz56wyu.js");
91150
91162
  return webChannelPromise;
91151
91163
  }
91152
91164
  function loadWhatsAppActions() {
91153
- whatsappActionsPromise ??= import("./whatsapp-actions-DAY8hWpD.js");
91165
+ whatsappActionsPromise ??= import("./whatsapp-actions-68Mfs2dJ.js");
91154
91166
  return whatsappActionsPromise;
91155
91167
  }
91156
91168
  function createPluginRuntime(options = {}) {
@@ -93143,7 +93155,7 @@ const log$7 = createSubsystemLogger("model-catalog");
93143
93155
  let modelCatalogPromise = null;
93144
93156
  let hasLoggedModelCatalogError = false;
93145
93157
  let hasLoggedProviderCatalogError = false;
93146
- const defaultImportPiSdk = () => import("./pi-model-discovery-CkH5l9X5.js").then((n) => n.a);
93158
+ const defaultImportPiSdk = () => import("./pi-model-discovery-yifTIDIn.js").then((n) => n.a);
93147
93159
  let importPiSdk = defaultImportPiSdk;
93148
93160
  const CODEX_PROVIDER = "openai-codex";
93149
93161
  const OPENAI_PROVIDER = "openai";
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { St as normalizeProviderId, on as ensureAuthProfileStore } from "./config-TFokWwvO.js";
2
+ import { St as normalizeProviderId, on as ensureAuthProfileStore } from "./config-CgwTaper.js";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
5
5
  import * as PiCodingAgent from "@mariozechner/pi-coding-agent";
@@ -1,4 +1,4 @@
1
- import { n as normalizeProviderId, o as ensureAuthProfileStore } from "./config-BxVjLTIv.js";
1
+ import { n as normalizeProviderId, o as ensureAuthProfileStore } from "./config-C0qggNKQ.js";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import * as PiCodingAgent from "@mariozechner/pi-coding-agent";
@@ -2,11 +2,11 @@ import "./subsystem-DBPNbQDQ.js";
2
2
  import "./globals-B_jjtAje.js";
3
3
  import "./paths-BEmvSyOV.js";
4
4
  import "./utils-CYk9EKoq.js";
5
- import "./config-DXlISPlx.js";
5
+ import "./config-DtqAN2L3.js";
6
6
  import "./agent-scope-kIJqg5PA.js";
7
7
  import "./redact-CwCz68Mi.js";
8
8
  import "./github-copilot-token-Dgug856m.js";
9
9
  import "./retry-DycQ4ymF.js";
10
- import { i as discoverModels, n as PiModelRegistryClass, r as discoverAuthStorage, t as PiAuthStorageClass } from "./pi-model-discovery-CkH5l9X5.js";
10
+ import { i as discoverModels, n as PiModelRegistryClass, r as discoverAuthStorage, t as PiAuthStorageClass } from "./pi-model-discovery-yifTIDIn.js";
11
11
 
12
12
  export { discoverAuthStorage, discoverModels };
@@ -1,4 +1,4 @@
1
- import "./config-TFokWwvO.js";
1
+ import "./config-CgwTaper.js";
2
2
  import "./paths-GdhK5mV_.js";
3
3
  import "./globals-BtKmaIS3.js";
4
4
  import "./utils-LGKVujSU.js";
@@ -7,6 +7,6 @@ import "./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 { i as discoverModels, n as PiModelRegistryClass, r as discoverAuthStorage, t as PiAuthStorageClass } from "./pi-model-discovery-D51L5E9I.js";
10
+ import { i as discoverModels, n as PiModelRegistryClass, r as discoverAuthStorage, t as PiAuthStorageClass } from "./pi-model-discovery-DadlvsZW.js";
11
11
 
12
12
  export { discoverAuthStorage, discoverModels };
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { En as ensureAuthProfileStore, Ht as normalizeProviderId } from "./config-DXlISPlx.js";
2
+ import { En as ensureAuthProfileStore, Ht as normalizeProviderId } from "./config-DtqAN2L3.js";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs";
5
5
  import * as PiCodingAgent from "@mariozechner/pi-coding-agent";
@@ -1,4 +1,4 @@
1
- import { Jn as formatErrorMessage, Tn as formatCliCommand } from "./config-TFokWwvO.js";
1
+ import { Tn as formatCliCommand, Yn as formatErrorMessage } from "./config-CgwTaper.js";
2
2
  import "./paths-GdhK5mV_.js";
3
3
  import { C as resolvePreferredFasedAgentTmpDir } from "./globals-BtKmaIS3.js";
4
4
  import "./utils-LGKVujSU.js";
@@ -7,14 +7,13 @@ import "./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 { A as withCdpSocket, C as assertBrowserNavigationAllowed, D as fetchJson, E as appendCdpPath, T as withBrowserNavigationPolicy, a as resolveStrictExistingPathsWithinRoot, b as normalizeCdpWsUrl, k as getHeadersWithAuth, l as getChromeWebSocketUrl, r as DEFAULT_UPLOAD_DIR, s as DEFAULT_FILL_FIELD_TYPE, w as assertBrowserNavigationResultAllowed, y as formatAriaSnapshot } from "./paths-DW-U2r7Y.js";
11
- import "./ssrf-u0Ul7okY.js";
10
+ import { A as fetchJson, C as normalizeCdpWsUrl, D as assertBrowserNavigationResultAllowed, E as assertBrowserNavigationAllowed, M as getHeadersWithAuth, N as withCdpSocket, O as withBrowserNavigationPolicy, S as formatAriaSnapshot, c as resolveStrictExistingPathsWithinRoot, f as getChromeWebSocketUrl, k as appendCdpPath, n as loadPlaywrightCore, o as DEFAULT_UPLOAD_DIR, u as DEFAULT_FILL_FIELD_TYPE } from "./runtime-dependency-Deg_sw2k.js";
11
+ import "./ssrf-Cce6LubA.js";
12
12
  import "./path-alias-guards-C76pC928.js";
13
13
  import "./fs-safe-BDnJzutp.js";
14
14
  import crypto from "node:crypto";
15
15
  import path from "node:path";
16
16
  import fs from "node:fs/promises";
17
- import { chromium, devices } from "playwright-core";
18
17
 
19
18
  //#region src/browser/pw-ai-state.ts
20
19
  let pwAiLoaded = false;
@@ -180,6 +179,7 @@ async function connectBrowser(cdpUrl) {
180
179
  if (cached?.cdpUrl === normalized) return cached;
181
180
  if (connecting) return await connecting;
182
181
  const connectWithRetry = async () => {
182
+ const { chromium } = await loadPlaywrightCore();
183
183
  let lastErr;
184
184
  for (let attempt = 0; attempt < 3; attempt += 1) try {
185
185
  const timeout = 5e3 + attempt * 2e3;
@@ -1806,7 +1806,8 @@ async function setDeviceViaPlaywright(opts) {
1806
1806
  ensurePageState(page);
1807
1807
  const name = String(opts.name ?? "").trim();
1808
1808
  if (!name) throw new Error("device name is required");
1809
- const descriptor = devices[name];
1809
+ const { devices: playwrightDevices } = await loadPlaywrightCore();
1810
+ const descriptor = playwrightDevices[name];
1810
1811
  if (!descriptor) throw new Error(`Unknown device "${name}".`);
1811
1812
  if (descriptor.viewport) await page.setViewportSize({
1812
1813
  width: descriptor.viewport.width,
@@ -2,19 +2,18 @@ import "./subsystem-DBPNbQDQ.js";
2
2
  import { w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
3
3
  import "./paths-BEmvSyOV.js";
4
4
  import "./utils-CYk9EKoq.js";
5
- import { sr as formatErrorMessage, vr as formatCliCommand } from "./config-DXlISPlx.js";
5
+ import { cr as formatErrorMessage, yr as formatCliCommand } from "./config-DtqAN2L3.js";
6
6
  import "./agent-scope-kIJqg5PA.js";
7
7
  import "./redact-CwCz68Mi.js";
8
8
  import "./github-copilot-token-Dgug856m.js";
9
9
  import "./retry-DycQ4ymF.js";
10
- import "./ssrf-fG4UHKBw.js";
11
- import { A as withCdpSocket, C as assertBrowserNavigationAllowed, D as fetchJson, E as appendCdpPath, T as withBrowserNavigationPolicy, a as resolveStrictExistingPathsWithinRoot, b as normalizeCdpWsUrl, k as getHeadersWithAuth, l as getChromeWebSocketUrl, r as DEFAULT_UPLOAD_DIR, s as DEFAULT_FILL_FIELD_TYPE, w as assertBrowserNavigationResultAllowed, y as formatAriaSnapshot } from "./paths-CBCpJ5bu.js";
10
+ import "./optional-runtime-dependency-szS49voX.js";
11
+ import { A as fetchJson, C as normalizeCdpWsUrl, D as assertBrowserNavigationResultAllowed, E as assertBrowserNavigationAllowed, M as getHeadersWithAuth, N as withCdpSocket, O as withBrowserNavigationPolicy, S as formatAriaSnapshot, c as resolveStrictExistingPathsWithinRoot, f as getChromeWebSocketUrl, k as appendCdpPath, n as loadPlaywrightCore, o as DEFAULT_UPLOAD_DIR, u as DEFAULT_FILL_FIELD_TYPE } from "./runtime-dependency-Csswyv5r.js";
12
12
  import "./path-alias-guards-CcQroDXQ.js";
13
13
  import "./fs-safe-BPYS6-j1.js";
14
14
  import path from "node:path";
15
15
  import fs from "node:fs/promises";
16
16
  import crypto from "node:crypto";
17
- import { chromium, devices } from "playwright-core";
18
17
 
19
18
  //#region src/browser/pw-ai-state.ts
20
19
  let pwAiLoaded = false;
@@ -180,6 +179,7 @@ async function connectBrowser(cdpUrl) {
180
179
  if (cached?.cdpUrl === normalized) return cached;
181
180
  if (connecting) return await connecting;
182
181
  const connectWithRetry = async () => {
182
+ const { chromium } = await loadPlaywrightCore();
183
183
  let lastErr;
184
184
  for (let attempt = 0; attempt < 3; attempt += 1) try {
185
185
  const timeout = 5e3 + attempt * 2e3;
@@ -1806,7 +1806,8 @@ async function setDeviceViaPlaywright(opts) {
1806
1806
  ensurePageState(page);
1807
1807
  const name = String(opts.name ?? "").trim();
1808
1808
  if (!name) throw new Error("device name is required");
1809
- const descriptor = devices[name];
1809
+ const { devices: playwrightDevices } = await loadPlaywrightCore();
1810
+ const descriptor = playwrightDevices[name];
1810
1811
  if (!descriptor) throw new Error(`Unknown device "${name}".`);
1811
1812
  if (descriptor.viewport) await page.setViewportSize({
1812
1813
  width: descriptor.viewport.width,
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { $n as isTruthyEnvValue, Ct as parseModelRef, Et as resolveExplicitConfiguredModelRef, Hn as DEFAULT_MODEL, Mt as normalizeProviders, Nt as resolveImplicitCopilotProvider, Pt as resolveImplicitProviders, St as normalizeProviderId, Tt as resolveDefaultModelForAgent, Un as DEFAULT_PROVIDER, Vn as DEFAULT_CONTEXT_TOKENS, b as parseDurationMs, bn as isPluginRuntimeSessionReadAllowed, dn as resolveProcessScopedMap, fn as isPidAlive, ln as resolveFasedAgentDir, n as loadConfig, vt as inferUniqueProviderFromConfiguredModels, wn as resolvePluginAdminRpcActionGrant, wt as resolveConfiguredModelRef, x as parseByteSize, xn as normalizePluginsConfig } from "./config-TFokWwvO.js";
2
+ import { Ct as parseModelRef, Et as resolveExplicitConfiguredModelRef, Hn as DEFAULT_MODEL, Mt as normalizeProviders, Nt as resolveImplicitCopilotProvider, Pt as resolveImplicitProviders, St as normalizeProviderId, Tt as resolveDefaultModelForAgent, Un as DEFAULT_PROVIDER, Vn as DEFAULT_CONTEXT_TOKENS, b as parseDurationMs, bn as isPluginRuntimeSessionReadAllowed, dn as resolveProcessScopedMap, er as isTruthyEnvValue, fn as isPidAlive, ln as resolveFasedAgentDir, n as loadConfig, vt as inferUniqueProviderFromConfiguredModels, wn as resolvePluginAdminRpcActionGrant, wt as resolveConfiguredModelRef, x as parseByteSize, xn as normalizePluginsConfig } from "./config-CgwTaper.js";
3
3
  import { s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-GdhK5mV_.js";
4
4
  import { i as logVerbose } from "./globals-BtKmaIS3.js";
5
5
  import { c as isRecord$1, d as normalizeE164, h as resolveUserPath, o as escapeRegExp } from "./utils-LGKVujSU.js";
@@ -11,7 +11,7 @@ import { n as resolveConversationLabel } from "./conversation-label-CDH4rKMG.js"
11
11
  import { n as resolveAccountEntry, t as createAccountListHelpers } from "./account-helpers-CMvQP0I-.js";
12
12
  import { i as createAccountActionGate, r as resolveDiscordAccount } from "./accounts-BJFheJNv.js";
13
13
  import { n as resolveSlackReplyToMode, t as resolveSlackAccount } from "./accounts-BRbbLNW_.js";
14
- import { n as resolveWhatsAppAccount } from "./accounts-VqAX3HJ0.js";
14
+ import { n as resolveWhatsAppAccount } from "./accounts-BwkH5bTD.js";
15
15
  import { a as resolveSessionTranscriptPath, c as resolveSessionTranscriptsDirForAgent, i as resolveSessionFilePathOptions, l as resolveStorePath, n as resolveDefaultSessionStorePath, o as resolveSessionTranscriptPathInDir, r as resolveSessionFilePath, s as resolveSessionTranscriptsDir, t as SAFE_SESSION_ID_RE, u as validateSessionId } from "./paths-DTurNPnO.js";
16
16
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-BJQWUdmU.js";
17
17
  import fs from "node:fs";
@@ -227,7 +227,7 @@ async function loadContextCache() {
227
227
  await ensureFasedModelsJson(cfg);
228
228
  } catch {}
229
229
  try {
230
- const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-BTWgkx4x.js");
230
+ const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-runtime-gd77b0UF.js");
231
231
  const agentDir = resolveFasedAgentDir();
232
232
  const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
233
233
  applyDiscoveredContextWindows({
@@ -690,6 +690,7 @@ const METHOD_SCOPE_GROUPS = {
690
690
  "commands.list",
691
691
  "tools.catalog",
692
692
  "tools.effective",
693
+ "services.capabilities",
693
694
  "services.webSearch.providers",
694
695
  "services.webSearch.test",
695
696
  "tasks.list",
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN } from "./tokens-CQRTq-NN.js";
3
- import { i as chunkMarkdownTextWithMode } from "./chunk-Cjw4712g.js";
4
- import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-D2jlPeKH.js";
3
+ import { i as chunkMarkdownTextWithMode } from "./chunk-M2d7r-Zt.js";
4
+ import { r as markdownToSlackMrkdwnChunks, t as sendMessageSlack } from "./send-DfkPKz_0.js";
5
5
  import { t as createReplyReferencePlanner } from "./reply-reference-DxIu2vr0.js";
6
6
 
7
7
  //#region src/slack/monitor/replies.ts