@fased/fased 0.1.53 → 0.1.54

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 (150) hide show
  1. package/dist/agents/current-model-catalog.js +27 -0
  2. package/dist/agents/model-catalog-source.js +4 -4
  3. package/dist/agents/model-forward-compat.js +19 -1
  4. package/dist/agents/model-metadata.js +13 -5
  5. package/dist/agents/pi-embedded-runner/agent-messages.js +15 -0
  6. package/dist/agents/pi-embedded-runner/compact.js +2 -1
  7. package/dist/agents/pi-embedded-runner/model.js +2 -7
  8. package/dist/agents/pi-embedded-runner/run/attempt.js +4 -5
  9. package/dist/brand.js +1 -1
  10. package/dist/build-info.json +3 -3
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/cli/program/register.agent.js +17 -0
  13. package/dist/commands/agents.commands.models.js +63 -0
  14. package/dist/commands/agents.js +1 -0
  15. package/dist/commands/models/list.registry.js +1 -1
  16. package/dist/commands/openai-codex-model-default.js +1 -1
  17. package/dist/config/defaults.js +1 -1
  18. package/dist/control-ui/assets/{app-WIDYwhr-.js → app-BKlu6OKz.js} +1792 -1760
  19. package/dist/control-ui/assets/chat-model-ref-B9sWop67.js +2 -0
  20. package/dist/control-ui/assets/{index-K3ysLeTN.js → index-nrFcGMv-.js} +3 -3
  21. package/dist/control-ui/assets/{providers-rQMhp1fb.js → providers-BQFrRqym.js} +2 -2
  22. package/dist/control-ui/index.html +1 -1
  23. package/dist/cron/isolated-agent/run.js +9 -3
  24. package/dist/cron/normalize.js +10 -0
  25. package/dist/gateway/protocol/schema/agents-models-skills.js +1 -0
  26. package/dist/gateway/protocol/schema/cron.js +7 -0
  27. package/dist/gateway/server-methods/models.js +1 -1
  28. package/dist/light-update-status.js +11 -11
  29. package/dist/plugin-sdk/{accounts-BZrfqJmO.js → accounts-DW9OS5Ll.js} +1 -1
  30. package/dist/plugin-sdk/{actions-7_zTh8zC.js → actions-DQUXohRr.js} +2 -2
  31. package/dist/plugin-sdk/{active-listener-D8NVRD8J.js → active-listener-BZQWZPF7.js} +1 -1
  32. package/dist/plugin-sdk/{audio-preflight-BrVWUkoP.js → audio-preflight-t4mmHsI2.js} +26 -26
  33. package/dist/plugin-sdk/{audit-2iRlVyQF.js → audit-BZk_6Buw.js} +1 -1
  34. package/dist/plugin-sdk/{channel-access-BCf1rJsn.js → channel-access-CN5HiWdb.js} +1 -1
  35. package/dist/plugin-sdk/{channel-access-configure-B-Z51Qsd.js → channel-access-configure-B7Kkvx9K.js} +1 -1
  36. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  37. package/dist/plugin-sdk/channel-plugin-common.js +4 -4
  38. package/dist/plugin-sdk/{chunk-BREC9ijl.js → chunk-B2ffJ-LR.js} +1 -1
  39. package/dist/plugin-sdk/{chunk-items-BLRCltGL.js → chunk-items-jOdkyP53.js} +1 -1
  40. package/dist/plugin-sdk/command-status.js +26 -26
  41. package/dist/plugin-sdk/{commands-registry-D3-bFLsz.js → commands-registry-BWb4NcfW.js} +2 -2
  42. package/dist/plugin-sdk/{common-BlqMqEqn.js → common-C4XrB73N.js} +1 -1
  43. package/dist/plugin-sdk/{config-442EDe7Z.js → config-rySyVtKs.js} +48 -70
  44. package/dist/plugin-sdk/{config-schema-DV0zctd2.js → config-schema-BaybPPrJ.js} +96 -72
  45. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  46. package/dist/plugin-sdk/discord.d.ts +3 -3
  47. package/dist/plugin-sdk/discord.js +19 -19
  48. package/dist/plugin-sdk/{handle-action-pNaP87Dr.js → handle-action-CGF-Qnp0.js} +13 -13
  49. package/dist/plugin-sdk/{helpers-B994qqVW.js → helpers-DgRMfCnT.js} +1 -1
  50. package/dist/plugin-sdk/{image-ops-Doq8nZQw.js → image-ops-CcBfoMLW.js} +1 -1
  51. package/dist/plugin-sdk/index.d.ts +4 -4
  52. package/dist/plugin-sdk/index.js +28 -28
  53. package/dist/plugin-sdk/{login-CK2zTIJA.js → login-DpDQyM7r.js} +3 -3
  54. package/dist/plugin-sdk/{login-qr-u8Mn1mCp.js → login-qr-COaSAPY5.js} +3 -3
  55. package/dist/plugin-sdk/{manager-CeJNf2bH.js → manager-Cqz30lA3.js} +2 -2
  56. package/dist/plugin-sdk/{markdown-tables-DeZztrY6.js → markdown-tables-BOG5sSQQ.js} +1 -1
  57. package/dist/plugin-sdk/{media-CgUAEfhs.js → media-Bu-nJpPs.js} +2 -2
  58. package/dist/plugin-sdk/{monitor-D-APtCpn.js → monitor-DL6oEVo8.js} +31 -31
  59. package/dist/plugin-sdk/{monitor-CEtMJuFX.js → monitor-II_NIq3G.js} +30 -30
  60. package/dist/plugin-sdk/{openresponses-http-g1Iz0xB2.js → openresponses-http-vkHBBpGY.js} +26 -26
  61. package/dist/plugin-sdk/{optional-runtime-dependency-D0BdXz1C.js → optional-runtime-dependency-DEojVNfv.js} +1 -1
  62. package/dist/plugin-sdk/{outbound-attachment-oxhGO33g.js → outbound-attachment-ivAHpWnn.js} +2 -2
  63. package/dist/plugin-sdk/{outbound-DXGuFrdx.js → outbound-mf2y6KuY.js} +6 -6
  64. package/dist/plugin-sdk/{pairing-message-C29ixrvn.js → pairing-message-CqYG12t-.js} +1 -1
  65. package/dist/plugin-sdk/{pairing-message-D3WPVg_j.d.ts → pairing-message-CvJ6Qa1Q.d.ts} +1 -1
  66. package/dist/plugin-sdk/{pairing-store-1kcsOWRs.js → pairing-store-D-21Sphe.js} +2 -2
  67. package/dist/plugin-sdk/{pi-model-discovery-l-xqaEd0.js → pi-model-discovery-B6gD1clF.js} +1 -1
  68. package/dist/plugin-sdk/{pi-model-discovery-runtime-CibV8F8G.js → pi-model-discovery-runtime-3yDxS3ro.js} +2 -2
  69. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  70. package/dist/plugin-sdk/{pw-ai-9qEBW5-k.js → pw-ai-CMplwiwf.js} +3 -3
  71. package/dist/plugin-sdk/{replies-BX3L8fX7.js → replies-wiI4veI7.js} +2 -2
  72. package/dist/plugin-sdk/{resolve-outbound-target-D0AK10E7.js → resolve-outbound-target-bm9RUK5q.js} +1 -1
  73. package/dist/plugin-sdk/{resolve-route-UO6XLYH3.js → resolve-route-ekGNc6os.js} +1 -1
  74. package/dist/plugin-sdk/{retry-policy-C5N8JiHL.js → retry-policy-BvlC2SPh.js} +1 -1
  75. package/dist/plugin-sdk/{runtime-Dnzwux3G.js → runtime-ClSakPxR.js} +3 -3
  76. package/dist/plugin-sdk/{runtime-dependency-BDDpVKBO.js → runtime-dependency-yAWxH4El.js} +2 -2
  77. package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
  78. package/dist/plugin-sdk/sat-runtime.js +5 -5
  79. package/dist/plugin-sdk/{send-DcsYRH2f.js → send-C7x6gzSl.js} +7 -7
  80. package/dist/plugin-sdk/{send-bcKv8F5E.js → send-CgyS75Av.js} +8 -8
  81. package/dist/plugin-sdk/{send-DGEgo_6f.js → send-D264hFVb.js} +5 -5
  82. package/dist/plugin-sdk/{send-D5rgCP1r.js → send-D58yEeH4.js} +6 -6
  83. package/dist/plugin-sdk/{send-B4XLsTL0.js → send-DrAtUGLM.js} +6 -6
  84. package/dist/plugin-sdk/{session-BoGNOlwv.js → session-DyMtb5YQ.js} +2 -2
  85. package/dist/plugin-sdk/{skill-commands-Be8s4TGQ.js → skill-commands-Q80wCyry.js} +2 -2
  86. package/dist/plugin-sdk/{slack-74qForpW.js → slack-C-I6q3NB.js} +38 -38
  87. package/dist/plugin-sdk/{slack-actions-TNnAXiUx.js → slack-actions-dGE_t_Un.js} +11 -11
  88. package/dist/plugin-sdk/slack.d.ts +3 -3
  89. package/dist/plugin-sdk/slack.js +9 -9
  90. package/dist/plugin-sdk/{sticker-cache-CrYayLff.js → sticker-cache-DCrDTYIi.js} +3 -3
  91. package/dist/plugin-sdk/{tables-Ch4js2qy.js → tables-0mhUOh5v.js} +1 -1
  92. package/dist/plugin-sdk/{targets-BGfRUJPE.js → targets-znKHngSk.js} +1 -1
  93. package/dist/plugin-sdk/{telegram-actions-BGy4AEvF.js → telegram-actions-GBYY8-x9.js} +29 -29
  94. package/dist/plugin-sdk/telegram.d.ts +3 -3
  95. package/dist/plugin-sdk/telegram.js +8 -8
  96. package/dist/plugin-sdk/{thread-bindings.lifecycle-_uQ2EF17.js → thread-bindings.lifecycle-ClzPBK70.js} +3 -3
  97. package/dist/plugin-sdk/{thread-bindings.state-DUg0s_1X.js → thread-bindings.state-Ha01nmrq.js} +2 -2
  98. package/dist/plugin-sdk/{tmp-fased-dir-BrbXGSkl.d.ts → tmp-fased-dir-C_xfeEN9.d.ts} +1 -1
  99. package/dist/plugin-sdk/{types-DlKIHIqA.d.ts → types-BI2njxWJ.d.ts} +2 -1
  100. package/dist/plugin-sdk/{types-BJdDoTQF.d.ts → types-DV5TNhMK.d.ts} +1 -1
  101. package/dist/plugin-sdk/{wallet-status-M6aK3abH.js → wallet-status-CyovJojz.js} +26 -11
  102. package/dist/plugin-sdk/{web-r1KFR44s.js → web-CJMfhGFY.js} +31 -31
  103. package/dist/plugin-sdk/{whatsapp-actions-CID_tqAX.js → whatsapp-actions-0ZbGo5ZV.js} +13 -13
  104. package/dist/plugin-sdk/{whatsapp-heartbeat-Bk-aZVMa.js → whatsapp-heartbeat-DGTsuvQ8.js} +2 -2
  105. package/dist/plugin-sdk/whatsapp.d.ts +3 -3
  106. package/dist/plugin-sdk/whatsapp.js +12 -12
  107. package/dist/plugin-sdk/{wsl-C_STtED7.js → wsl-D5jDUlms.js} +3 -3
  108. package/dist/providers/huggingface-models.js +0 -30
  109. package/dist/providers/opencode-zen-shared.js +0 -1
  110. package/dist/providers/refresh.js +4 -7
  111. package/dist/providers/registry.js +17 -3
  112. package/dist/providers/vercel-ai-gateway-models.js +0 -35
  113. package/dist/shared/model-thinking.js +3 -0
  114. package/extensions/acpx/package.json +1 -1
  115. package/extensions/bluebubbles/package.json +1 -1
  116. package/extensions/copilot-proxy/package.json +1 -1
  117. package/extensions/diagnostics-otel/package.json +1 -1
  118. package/extensions/fased-federation/package.json +1 -1
  119. package/extensions/google-gemini-cli-auth/package.json +1 -1
  120. package/extensions/imessage/package.json +1 -1
  121. package/extensions/irc/package.json +1 -1
  122. package/extensions/line/package.json +1 -1
  123. package/extensions/llm-task/package.json +1 -1
  124. package/extensions/lobster/package.json +1 -1
  125. package/extensions/matrix/CHANGELOG.md +6 -0
  126. package/extensions/matrix/package.json +1 -1
  127. package/extensions/mattermost/package.json +1 -1
  128. package/extensions/memory-core/package.json +2 -2
  129. package/extensions/memory-lancedb/package.json +1 -1
  130. package/extensions/minimax-portal-auth/package.json +1 -1
  131. package/extensions/msteams/CHANGELOG.md +6 -0
  132. package/extensions/msteams/package.json +1 -1
  133. package/extensions/nextcloud-talk/package.json +1 -1
  134. package/extensions/nostr/CHANGELOG.md +6 -0
  135. package/extensions/nostr/package.json +1 -1
  136. package/extensions/open-prose/package.json +1 -1
  137. package/extensions/sat-mining/package.json +1 -1
  138. package/extensions/signal/package.json +1 -1
  139. package/extensions/synology-chat/package.json +1 -1
  140. package/extensions/tlon/package.json +1 -1
  141. package/extensions/twitch/CHANGELOG.md +6 -0
  142. package/extensions/twitch/package.json +1 -1
  143. package/extensions/voice-call/CHANGELOG.md +6 -0
  144. package/extensions/voice-call/package.json +1 -1
  145. package/extensions/zalo/CHANGELOG.md +6 -0
  146. package/extensions/zalo/package.json +1 -1
  147. package/extensions/zalouser/CHANGELOG.md +6 -0
  148. package/extensions/zalouser/package.json +1 -1
  149. package/package.json +1 -1
  150. package/dist/control-ui/assets/chat-model-ref-NT82zapt.js +0 -2
@@ -1,10 +1,10 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { $ as mergeSessionEntry, A as deliveryContextKey, An as GATEWAY_CLIENT_IDS, C as recordSessionMetaFromInbound, Cn as isGatewayMessageChannel, D as isCacheEnabled, Dn as normalizeMessageChannel, Dt as getChannelDock, E as updateSessionStoreEntry, En as listDeliverableMessageChannels, F as archiveSessionTranscripts, Fn as normalizeAnyChannelId, Ft as trimMessagingTarget, G as resolveSessionLockMaxHoldFromTimeout, Gn as getPluginCommandSpecs, H as hasInterSessionUserProvenance, Hn as resolveLeastPrivilegeOperatorScopesForMethod, I as capArrayByJsonBytes, In as normalizeChannelId$2, It as isWhatsAppGroupJid, J as resolveChannelResetConfig, Jn as createInternalHookEvent, K as resolveSessionKey$1, Kn as listPluginCommands, L as countToolResults, Ln as logMutatingAdminRpcAudit, Lt as normalizeWhatsAppTarget, M as normalizeDeliveryContext, Mn as GATEWAY_CLIENT_NAMES, N as normalizeSessionDeliveryFields, Nn as getChatChannelMeta, O as resolveCacheTtlMs$1, On as resolveGatewayMessageChannel, Ot as listChannelDocks, P as normalizeAccountId$1, Pn as listChatChannels, Pt as looksLikeHandleOrPhoneTarget, Q as DEFAULT_RESET_TRIGGERS, R as extractToolCallNames, Rn as consumeMutatingAdminRpcBudget, S as readSessionUpdatedAt, Sn as isDeliverableMessageChannel, T as updateSessionStore, Tn as isMarkdownCapableMessageChannel, U as normalizeInputProvenance, Un as clearPluginCommands, V as applyInputProvenanceToUserMessage, Vn as authorizeOperatorScopesForMethod, W as acquireSessionWriteLock, Wn as executePluginCommand, X as resolveSessionResetType, Xn as normalizePluginHttpPath, Y as resolveSessionResetPolicy, Yn as triggerInternalHook, Z as resolveThreadFlag, _ as appendAssistantMessageToSessionTranscript, _n as resolveChannelGroupRequireMention, a as createPluginRegistry, an as resolveTelegramToken, at as resolveMainSessionKey, b as resolveAndPersistSessionFile, bn as resolveGroupSessionKey, bt as parseSlackTarget, c as listAgentsForGateway, ct as listChannelPlugins, d as lookupContextTokens, dn as resolveDefaultSignalAccountId, en as createTelegramActionGate, et as resolveFreshSessionTotalTokens, f as resolveContextTokensForModel, fn as resolveSignalAccount, g as parseSessionThreadInfo, gn as resolveChannelGroupPolicy, h as extractDeliveryInfo, hn as resolveIMessageAccount, i as setActivePluginRegistry, in as resolveTelegramAccount, it as resolveExplicitAgentSessionKey, j as mergeDeliveryContext, jn as GATEWAY_CLIENT_MODES, k as deliveryContextFromSession, kn as resolveMessageChannel, l as loadCombinedSessionStoreForGateway, ln as listEnabledSignalAccounts, lt as normalizeChannelId$1, mn as resolveDefaultIMessageAccountId, n as getActivePluginRegistryKey, nn as listTelegramAccountIds, nt as canonicalizeMainSessionAlias, o as createRuntimeHelpers, on as buildChannelAccountBindings, ot as deriveSessionMetaPatch, p as ensureFasedAgentModelsJson, pn as listIMessageAccountIds, q as evaluateSessionFreshness, qn as matchPluginCommand, r as requireActivePluginRegistry, rt as resolveAgentMainSessionKey, s as classifySessionKey, st as getChannelPlugin, t as getActivePluginRegistry, tn as listEnabledTelegramAccounts, tt as setSessionRuntimeModel, u as resolveSessionModelRef, un as listSignalAccountIds, v as resolveMirroredTranscriptText, vn as resolveChannelGroupToolsPolicy, w as updateLastRoute, wn as isInternalMessageChannel, x as loadSessionStore, xn as INTERNAL_MESSAGE_CHANNEL, y as resolveSessionTranscriptFile, z as parseInlineDirectives$1, zn as ADMIN_SCOPE, zt as normalizeSignalMessagingTarget } from "./runtime-Dnzwux3G.js";
2
+ import { $ as mergeSessionEntry, A as deliveryContextKey, An as GATEWAY_CLIENT_IDS, C as recordSessionMetaFromInbound, Cn as isGatewayMessageChannel, D as isCacheEnabled, Dn as normalizeMessageChannel, Dt as getChannelDock, E as updateSessionStoreEntry, En as listDeliverableMessageChannels, F as archiveSessionTranscripts, Fn as normalizeAnyChannelId, Ft as trimMessagingTarget, G as resolveSessionLockMaxHoldFromTimeout, Gn as getPluginCommandSpecs, H as hasInterSessionUserProvenance, Hn as resolveLeastPrivilegeOperatorScopesForMethod, I as capArrayByJsonBytes, In as normalizeChannelId$2, It as isWhatsAppGroupJid, J as resolveChannelResetConfig, Jn as createInternalHookEvent, K as resolveSessionKey$1, Kn as listPluginCommands, L as countToolResults, Ln as logMutatingAdminRpcAudit, Lt as normalizeWhatsAppTarget, M as normalizeDeliveryContext, Mn as GATEWAY_CLIENT_NAMES, N as normalizeSessionDeliveryFields, Nn as getChatChannelMeta, O as resolveCacheTtlMs$1, On as resolveGatewayMessageChannel, Ot as listChannelDocks, P as normalizeAccountId$1, Pn as listChatChannels, Pt as looksLikeHandleOrPhoneTarget, Q as DEFAULT_RESET_TRIGGERS, R as extractToolCallNames, Rn as consumeMutatingAdminRpcBudget, S as readSessionUpdatedAt, Sn as isDeliverableMessageChannel, T as updateSessionStore, Tn as isMarkdownCapableMessageChannel, U as normalizeInputProvenance, Un as clearPluginCommands, V as applyInputProvenanceToUserMessage, Vn as authorizeOperatorScopesForMethod, W as acquireSessionWriteLock, Wn as executePluginCommand, X as resolveSessionResetType, Xn as normalizePluginHttpPath, Y as resolveSessionResetPolicy, Yn as triggerInternalHook, Z as resolveThreadFlag, _ as appendAssistantMessageToSessionTranscript, _n as resolveChannelGroupRequireMention, a as createPluginRegistry, an as resolveTelegramToken, at as resolveMainSessionKey, b as resolveAndPersistSessionFile, bn as resolveGroupSessionKey, bt as parseSlackTarget, c as listAgentsForGateway, ct as listChannelPlugins, d as lookupContextTokens, dn as resolveDefaultSignalAccountId, en as createTelegramActionGate, et as resolveFreshSessionTotalTokens, f as resolveContextTokensForModel, fn as resolveSignalAccount, g as parseSessionThreadInfo, gn as resolveChannelGroupPolicy, h as extractDeliveryInfo, hn as resolveIMessageAccount, i as setActivePluginRegistry, in as resolveTelegramAccount, it as resolveExplicitAgentSessionKey, j as mergeDeliveryContext, jn as GATEWAY_CLIENT_MODES, k as deliveryContextFromSession, kn as resolveMessageChannel, l as loadCombinedSessionStoreForGateway, ln as listEnabledSignalAccounts, lt as normalizeChannelId$1, mn as resolveDefaultIMessageAccountId, n as getActivePluginRegistryKey, nn as listTelegramAccountIds, nt as canonicalizeMainSessionAlias, o as createRuntimeHelpers, on as buildChannelAccountBindings, ot as deriveSessionMetaPatch, p as ensureFasedAgentModelsJson, pn as listIMessageAccountIds, q as evaluateSessionFreshness, qn as matchPluginCommand, r as requireActivePluginRegistry, rt as resolveAgentMainSessionKey, s as classifySessionKey, st as getChannelPlugin, t as getActivePluginRegistry, tn as listEnabledTelegramAccounts, tt as setSessionRuntimeModel, u as resolveSessionModelRef, un as listSignalAccountIds, v as resolveMirroredTranscriptText, vn as resolveChannelGroupToolsPolicy, w as updateLastRoute, wn as isInternalMessageChannel, x as loadSessionStore, xn as INTERNAL_MESSAGE_CHANNEL, y as resolveSessionTranscriptFile, z as parseInlineDirectives$1, zn as ADMIN_SCOPE, zt as normalizeSignalMessagingTarget } from "./runtime-ClSakPxR.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, 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, b as sliceUtf16Safe, c as isRecord$3, d as normalizeE164, h as resolveUserPath, o as escapeRegExp, r as clampInt, t as CONFIG_DIR, v as shortenHomePath, y as sleep } from "./utils-CYk9EKoq.js";
7
- import { $ as resetConfigOverrides, $n as lookupProviderManifestModelCapability, $t as resolveSubagentSpawnModelSelection, An as ensureAuthProfileStore, At as isSafeExecutableValue, B as MODEL_APIS, Bn as loadPluginManifestRegistry, Bt as buildModelAliasIndex, C as resolveIMessageAttachmentRoots, Cn as markAuthProfileUsed, Cr as sanitizeHostExecEnv, Ct as unwrapKnownDispatchWrapperInvocation, Dn as listProfilesForProvider, Dr as isTruthyEnvValue, Dt as normalizeSafeBinProfileFixtures, En as dedupeProfileIds, Er as resolveCliName, Et as SAFE_BIN_PROFILES, Fn as withFileLock, G as isAvatarDataUrl, Gn as isPrivateNetworkBaseUrl, Gt as normalizeModelRef$1, H as parseDurationMs, Hn as isPathInside, It as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, J as isSupportedLocalAvatarExtension, Jn as coerceSecretRef, Jt as resolveConfiguredModelRef, K as isAvatarHttpUrl, Kn as normalizeSecretInput, Kt as normalizeProviderId, Mn as resolveFasedAgentAgentDir, Mr as resolveEffectiveEnableState, Nr as resolveMemorySlotDecision, On as listProvidersWithStoredCredentials, Or as parseBooleanValue$1, Ot as resolveSafeBinProfiles, Q as getConfigOverrides, Qn as listProviderBrandManifests, Qt as resolveReasoningDefault, Rn as findNormalizedProviderValue$1, Rt as buildAllowedModelSet, S as mergeInboundPathRoots, Sn as markAuthProfileFailure, Sr as isDangerousHostInheritedEnvVarName, St as isShellWrapperExecutable, T as normalizeScpRemoteHost, Tn as resolveApiKeyForProfile, Tr as formatCliCommand, Tt as splitShellArgs, Un as safeStatSync, Ut as isCliProvider, V as getBlockedNetworkModeReason, Vn as discoverFasedAgentPlugins, Vt as findNormalizedProviderValue, W as AVATAR_MAX_BYTES, Wn as resolveAuthProfileDisplayLabel, Wt as modelKey, Xn as isOpenAISignInRuntimeModelSupported, Yn as splitTrailingAuthProfile, Yt as resolveDefaultModelForAgent, Z as validateJsonSchemaValue, Zn as isStandardProviderCatalogEntry, Zt as resolveModelRefFromString, _n as normalizeProviderCatalogRows, _r as extractArchive, _t as matchAllowlist, a as readConfigFileSnapshotForWrite, an as getApiKeyForModel, ar as supportsXHighThinking, at as unsetConfigValueAtPath, b as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, bn as getSoonestCooldownExpiry, br as isDangerousHostEnvOverrideVarName, bt as extractShellWrapperInlineCommand, c as validateConfigObjectWithPlugins, cn as resolveApiKeyForProvider, cr as DEFAULT_PROVIDER, ct as isTrustedSafeBinPath, dn as CURRENT_MODEL_PROVIDER_CATALOG, dr as getPackageManifestMetadata, dt as validateSafeBinArgv, en as resolveThinkingDefault, er as formatThinkingLevels, et as setConfigOverride, fn as listCurrentModelCatalogRows, ft as analyzeShellCommand, gn as normalizeModelCatalogProviderId, gt as DEFAULT_SAFE_BINS, hn as normalizeModelCatalogModelId, ht as splitCommandChain, i as readConfigFileSnapshot, ir as resolveModelThinkingCapability, it as setConfigValueAtPath, jn as resolveAuthStorePathForDisplay, jr as normalizePluginsConfig, kn as markAuthProfileGood, kr as applyTestPluginDefaults, kt as applyMergePatch, ln as resolveEnvApiKey, lr as VERSION, lt as listWritableExplicitTrustedSafeBinDirs, mn as mergeModelCatalogRowsByAuthority, mr as formatErrorMessage, mt as isWindowsPlatform, n as loadConfig, nt as getConfigValueAtPath, o as resolveConfigSnapshotHash, on as getCustomProviderApiKey, or as DEFAULT_CONTEXT_TOKENS, ot as ensurePluginAllowlisted, pn as buildModelCatalogMergeKey, pr as extractErrorCode, pt as buildEnforcedShellCommand, q as isPathWithinRoot, r as parseConfigJson5, rr as normalizeThinkLevel, rt as parseConfigPath, s as writeConfigFile, sn as requireApiKey, sr as DEFAULT_MODEL, st as getTrustedSafeBinDirs, t as createConfigIO, tn as normalizeGoogleModelId, tr as formatXHighModelHint, tt as unsetConfigOverride, un as resolveModelAuthMode, ut as normalizeTrustedSafeBinDirs, vr as getShellPathFromLoginShell, vt as resolveAllowlistCandidatePath, w as resolveIMessageRemoteAttachmentRoots, wn as resolveProfilesUnavailableReason, wr as resolveOwnerDisplaySetting, wt as unwrapKnownShellMultiplexerInvocation, x as isInboundPathAllowed, xn as isProfileInCooldown, xt as isDispatchWrapperExecutable, yn as resolveAuthProfileOrder, yr as resolveShellEnvFallbackTimeoutMs, yt as resolveCommandResolutionFromArgv, zn as normalizeProviderId$1, zt as buildConfiguredAllowlistKeys } from "./config-442EDe7Z.js";
7
+ import { $ as resetConfigOverrides, $t as resolveSubagentSpawnModelSelection, An as markAuthProfileGood, Ar as isTruthyEnvValue, At as isSafeExecutableValue, B as MODEL_APIS, Bn as normalizeProviderId$1, Bt as buildModelAliasIndex, C as resolveIMessageAttachmentRoots, Cn as markAuthProfileFailure, Cr as isDangerousHostEnvOverrideVarName, Ct as unwrapKnownDispatchWrapperInvocation, Dn as dedupeProfileIds, Dr as resolveOwnerDisplaySetting, Dt as normalizeSafeBinProfileFixtures, En as resolveApiKeyForProfile, Er as sanitizeHostExecEnv, Et as SAFE_BIN_PROFILES, Fr as resolveEffectiveEnableState, G as isAvatarDataUrl, Gn as resolveAuthProfileDisplayLabel, Gt as normalizeModelRef$1, H as parseDurationMs, Hn as discoverFasedAgentPlugins, In as withFileLock, Ir as resolveMemorySlotDecision, It as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, J as isSupportedLocalAvatarExtension, Jt as resolveConfiguredModelRef, K as isAvatarHttpUrl, Kn as isPrivateNetworkBaseUrl, Kt as normalizeProviderId, Mn as resolveAuthStorePathForDisplay, Mr as applyTestPluginDefaults, Nn as resolveFasedAgentAgentDir, On as listProfilesForProvider, Or as formatCliCommand, Ot as resolveSafeBinProfiles, Pr as normalizePluginsConfig, Q as getConfigOverrides, Qn as isOpenAISignInCatalogModel, Qt as resolveReasoningDefault, Rt as buildAllowedModelSet, S as mergeInboundPathRoots, Sn as isProfileInCooldown, Sr as resolveShellEnvFallbackTimeoutMs, St as isShellWrapperExecutable, T as normalizeScpRemoteHost, Tn as resolveProfilesUnavailableReason, Tr as isDangerousHostInheritedEnvVarName, Tt as splitShellArgs, Un as isPathInside, Ut as isCliProvider, V as getBlockedNetworkModeReason, Vn as loadPluginManifestRegistry, Vt as findNormalizedProviderValue, W as AVATAR_MAX_BYTES, Wn as safeStatSync, Wt as modelKey, Xn as splitTrailingAuthProfile, Yn as coerceSecretRef, Yt as resolveDefaultModelForAgent, Z as validateJsonSchemaValue, Zn as getProviderBrandManifestForRoute, Zt as resolveModelRefFromString, _n as normalizeModelCatalogProviderId, _r as formatErrorMessage, _t as matchAllowlist, a as readConfigFileSnapshotForWrite, an as getApiKeyForModel, at as unsetConfigValueAtPath, b as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, bn as resolveAuthProfileOrder, br as extractArchive, bt as extractShellWrapperInlineCommand, c as validateConfigObjectWithPlugins, cn as resolveApiKeyForProvider, cr as supportsXHighThinking, ct as isTrustedSafeBinPath, dn as CURRENT_MODEL_PROVIDER_CATALOG, dr as DEFAULT_PROVIDER, dt as validateSafeBinArgv, en as resolveThinkingDefault, er as isStandardProviderCatalogEntry, et as setConfigOverride, fr as VERSION, ft as analyzeShellCommand, gn as normalizeModelCatalogModelId, gr as extractErrorCode, gt as DEFAULT_SAFE_BINS, hn as mergeModelCatalogRowsByAuthority, ht as splitCommandChain, i as readConfigFileSnapshot, ir as formatXHighModelHint, it as setConfigValueAtPath, jn as ensureAuthProfileStore, jr as parseBooleanValue$1, kn as listProvidersWithStoredCredentials, kr as resolveCliName, kt as applyMergePatch, ln as resolveEnvApiKey, lr as DEFAULT_CONTEXT_TOKENS, lt as listWritableExplicitTrustedSafeBinDirs, mn as buildModelCatalogMergeKey, mr as getPackageManifestMetadata, mt as isWindowsPlatform, n as loadConfig, nr as lookupProviderManifestModelCapability, nt as getConfigValueAtPath, o as resolveConfigSnapshotHash, on as getCustomProviderApiKey, or as normalizeThinkLevel, ot as ensurePluginAllowlisted, pn as listCurrentModelCatalogRows, pt as buildEnforcedShellCommand, q as isPathWithinRoot, qn as normalizeSecretInput, r as parseConfigJson5, rr as formatThinkingLevels, rt as parseConfigPath, s as writeConfigFile, sn as requireApiKey, sr as resolveModelThinkingCapability, st as getTrustedSafeBinDirs, t as createConfigIO, tn as normalizeGoogleModelId, tr as listProviderBrandManifests, tt as unsetConfigOverride, un as resolveModelAuthMode, ur as DEFAULT_MODEL, ut as normalizeTrustedSafeBinDirs, vn as normalizeProviderCatalogRows, vt as resolveAllowlistCandidatePath, w as resolveIMessageRemoteAttachmentRoots, wn as markAuthProfileUsed, wt as unwrapKnownShellMultiplexerInvocation, x as isInboundPathAllowed, xn as getSoonestCooldownExpiry, xr as getShellPathFromLoginShell, xt as isDispatchWrapperExecutable, yt as resolveCommandResolutionFromArgv, zn as findNormalizedProviderValue$1, zt as buildConfiguredAllowlistKeys } from "./config-rySyVtKs.js";
8
8
  import { A as openBoundaryFileSync, C as ensureAgentWorkspace, D as resolveFasedAgentPackageRootSync, E as resolveFasedAgentPackageRoot, G as normalizeHyphenSlug, H as resolveAgentModelPrimaryValue, K as normalizeStringEntries, P as resolvePathViaExistingAncestorSync, S as DEFAULT_USER_FILENAME, T as loadWorkspaceBootstrapFiles, U as toAgentModelListLike, V as resolveAgentModelFallbackValues, W as normalizeAtHashSlug, _ as DEFAULT_BOOTSTRAP_FILENAME, a as resolveAgentDir, b as DEFAULT_SOUL_FILENAME, c as resolveAgentSkillsFilter, d as resolveEffectiveModelFallbacks, f as resolveRunModelFallbacksOverride, g as DEFAULT_AGENT_WORKSPACE_DIR, h as DEFAULT_AGENTS_FILENAME, i as resolveAgentConfig, k as openBoundaryFile, l as resolveAgentWorkspaceDir, m as resolveSessionAgentIds, n as listAgentEntries, p as resolveSessionAgentId, q as normalizeStringEntriesLower, 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-BbgPlhtw.js";
9
9
  import { t as normalizeChatType } from "./chat-type-C0osVllE.js";
10
10
  import { n as resolveAccountEntry } from "./account-helpers-Bdfws46K.js";
@@ -13,7 +13,7 @@ import { a as resolveDiscordAccount, r as listEnabledDiscordAccounts, t as creat
13
13
  import { i as resolveSlackAccount } from "./accounts-CuqIKU8X.js";
14
14
  import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-BbFvCoKk.js";
15
15
  import { n as runExec, r as spawnWithFallback, t as runCommandWithTimeout } from "./exec-DQ8j4Fm3.js";
16
- import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, t as hasAnyWhatsAppAuth } from "./accounts-BZrfqJmO.js";
16
+ import { _ as webAuthExists, c as logWebSelfId, i as resolveWhatsAppAccount, l as logoutWeb, p as readWebSelfId, s as getWebAuthAgeMs, t as hasAnyWhatsAppAuth } from "./accounts-DW9OS5Ll.js";
17
17
  import { S as resolveChannelEntryMatchWithFallback, b as normalizeChannelSlug, y as buildChannelKeyCandidates } from "./allow-list-BYeKk0Sy.js";
18
18
  import { n as redactSensitiveText, r as redactToolDetail, t as getDefaultRedactPatterns } from "./redact-Bm8vu_ju.js";
19
19
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-CUK__1s1.js";
@@ -21,17 +21,17 @@ import { t as runTasksWithConcurrency } from "./run-with-concurrency-BsDJWzgM.js
21
21
  import { n as retryAsync } from "./retry-DstNBhDW.js";
22
22
  import { a as resolveSessionTranscriptPath, c as resolveSessionTranscriptsDirForAgent, i as resolveSessionFilePathOptions, l as resolveStorePath, n as resolveDefaultSessionStorePath, r as resolveSessionFilePath } from "./paths-CTZ2RS_E.js";
23
23
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-BJQWUdmU.js";
24
- import { l as resolveChannelDefaultAccountId } from "./pairing-message-C29ixrvn.js";
24
+ import { l as resolveChannelDefaultAccountId } from "./pairing-message-CqYG12t-.js";
25
25
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-l_6RdoMw.js";
26
26
  import { t as normalizeRequestInitHeadersForFetch } from "./fetch-headers-my7hgV2G.js";
27
27
  import { a as isBlockedHostnameOrIp, t as SsrFBlockedError } from "./ssrf-BZG8Ztod.js";
28
28
  import { t as fetchWithSsrFGuard } from "./fetch-guard-BuYrl6q2.js";
29
29
  import { n as redactSensitiveUrlLikeString, t as redactSensitiveUrl } from "./redact-sensitive-url-dPvnFFsK.js";
30
- 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-D5rgCP1r.js";
31
- import { A as resolveDefaultGroupPolicy, D as formatDocsLink, M as warnMissingProviderGroupPolicyFallbackOnce, b as setOnboardingChannelEnabled, c as parseOnboardingEntriesAllowingWildcard, f as promptParsedAllowFromForScopedChannel, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, v as setChannelDmPolicyWithAllowFrom } from "./helpers-B994qqVW.js";
32
- import { A as resolveCronStorePath, D as formatLocationText, F as isSenderIdAllowed, I as mergeDmAllowFromSources, L as resolveGroupAllowFromSources, N as isVoiceCompatibleAudio, O as toLocationContext, P as firstDefined, c as buildTelegramGroupPeerId, j as saveCronStore, k as loadCronStore } from "./wsl-C_STtED7.js";
33
- import { a as upsertChannelPairingRequest, c as getPairingAdapter, i as removeChannelAllowFromStoreEntry, l as listPairingChannels, n as readChannelAllowFromStore, o as readJsonFileWithFallback, s as writeJsonFileAtomically, t as addChannelAllowFromStoreEntry } from "./pairing-store-1kcsOWRs.js";
34
- 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, p as chunkTextByBreakResolver, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-BREC9ijl.js";
30
+ 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-D58yEeH4.js";
31
+ import { A as resolveDefaultGroupPolicy, D as formatDocsLink, M as warnMissingProviderGroupPolicyFallbackOnce, b as setOnboardingChannelEnabled, c as parseOnboardingEntriesAllowingWildcard, f as promptParsedAllowFromForScopedChannel, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, v as setChannelDmPolicyWithAllowFrom } from "./helpers-DgRMfCnT.js";
32
+ import { A as resolveCronStorePath, D as formatLocationText, F as isSenderIdAllowed, I as mergeDmAllowFromSources, L as resolveGroupAllowFromSources, N as isVoiceCompatibleAudio, O as toLocationContext, P as firstDefined, c as buildTelegramGroupPeerId, j as saveCronStore, k as loadCronStore } from "./wsl-D5jDUlms.js";
33
+ import { a as upsertChannelPairingRequest, c as getPairingAdapter, i as removeChannelAllowFromStoreEntry, l as listPairingChannels, n as readChannelAllowFromStore, o as readJsonFileWithFallback, s as writeJsonFileAtomically, t as addChannelAllowFromStoreEntry } from "./pairing-store-D-21Sphe.js";
34
+ 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, p as chunkTextByBreakResolver, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt } from "./chunk-B2ffJ-LR.js";
35
35
  import { c as resolveHumanDelayConfig, i as resolveResponsePrefixTemplate, n as createReplyPrefixOptions, o as resolveAgentIdentity, s as resolveEffectiveMessagesConfig } from "./reply-prefix-Bqzm6DC1.js";
36
36
  import { i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-BvtlOzVP.js";
37
37
  import { n as safeEqualSecret, o as createAsyncLock, s as readJsonFile$1 } from "./pairing-token-N_6Jbt1L.js";
@@ -40,39 +40,39 @@ import { a as logMessageProcessed, i as logLaneEnqueue, m as isDiagnosticsEnable
40
40
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-HO94DMou.js";
41
41
  import { t as redactIdentifier } from "./redact-identifier-Q3tkvxhm.js";
42
42
  import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-BDvvnlph.js";
43
- import { t as importOptionalRuntimeDependency } from "./optional-runtime-dependency-D0BdXz1C.js";
44
- import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-Doq8nZQw.js";
45
- import { $ as fetchSolanaRpc, A as enforceWalletDailyCap, At as resolveModel$3, B as resolveWalletUserRole, C as resolveFederationHandle, Ct as SESSION_LABEL_MAX_LENGTH, E as resolveScopedRpcUrlForWallet, H as assertValidSolanaAddress, I as upsertWalletPolicyConfig, J as resolveWalletRuntimeConfig, K as ensureWalletStateDir, L as validateWalletTxPolicy, N as resolveWalletRecurringTransferPolicy, P as resolveWalletRoleForId, Q as fetchSolanaNativeBalanceViaRpc, R as readWalletProviderRegistry, S as resolveFederationBaseUrl, St as errorShape, T as createWalletProviderAdapter, X as fetchSolanaFungibleMetadataViaRpc, Y as SOLANA_ASSET_CONSTANTS, Z as fetchSolanaMintInfoViaRpc, _ as validateSolanaSwapIntentPolicy, a as listTaskRecords, bt as validatePushTestParams, c as buildWalletProviderCapabilityMatrix, ct as callGateway, d as appendWalletAuditEntry, dt as randomIdempotencyKey, et as fetchSolanaTokenBalanceViaRpc, f as SOLANA_NATIVE_MINT, ft as resolveGatewayCredentialsFromConfig, g as validateSolanaSwapInputBalance, gt as publicKeyRawBase64UrlFromPem, h as inspectAndValidateSolanaSwapOrder, ht as loadOrCreateDeviceIdentity, i as createTaskRecord, it as findGitRoot, j as isWalletToolAllowed, jt as buildModelAliasLines, k as applyWalletPolicyConfig, l as providerSupportsChainOperation, lt as callGatewayLeastPrivilege, m as fetchJupiterSwapOrder, n as createOrExecuteWalletSend, nt as buildAttestation, o as markTaskTerminal, p as executeSolanaSwapApprovalPayload, pt as trimToUndefined$2, r as createWalletSendApprovalRequest, rt as resolveCommitHash, s as updateTaskRecord, tt as fetchSolanaWalletAssetsViaRpc, u as simulateWalletPolicy, ut as callGatewayScoped, v as inspectSerializedSolanaSwapTransaction, x as resolveAgentPublicOrigin, xt as ErrorCodes, yt as formatValidationErrors, z as resolveWalletSelection } from "./wallet-status-M6aK3abH.js";
46
- import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-l-xqaEd0.js";
47
- import { A as fetchJson$1, B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as normalizeCdpWsUrl, D as assertBrowserNavigationResultAllowed, E as assertBrowserNavigationAllowed, F as stopChromeExtensionRelayServer, H as DEFAULT_FASED_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, O as withBrowserNavigationPolicy, P as ensureChromeExtensionRelayServer, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as InvalidBrowserNavigationUrlError, U as DEFAULT_FASED_BROWSER_PROFILE_NAME, V as DEFAULT_FASED_BROWSER_COLOR, _ 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, r as loadReadability, s as resolveExistingPathsWithinRoot, t as loadLinkedom, v as resolveBrowserExecutableForPlatform, w as snapshotAria, x as createTargetViaCdp, y as resolveLsofCommandSync, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./runtime-dependency-BDDpVKBO.js";
43
+ import { t as importOptionalRuntimeDependency } from "./optional-runtime-dependency-DEojVNfv.js";
44
+ import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, m as kindFromMime, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS, u as getFileExtension, v as mediaKindFromMime } from "./image-ops-CcBfoMLW.js";
45
+ import { $ as fetchSolanaRpc, A as enforceWalletDailyCap, At as resolveModel$3, B as resolveWalletUserRole, C as resolveFederationHandle, Ct as SESSION_LABEL_MAX_LENGTH, E as resolveScopedRpcUrlForWallet, H as assertValidSolanaAddress, I as upsertWalletPolicyConfig, J as resolveWalletRuntimeConfig, K as ensureWalletStateDir, L as validateWalletTxPolicy, N as resolveWalletRecurringTransferPolicy, P as resolveWalletRoleForId, Q as fetchSolanaNativeBalanceViaRpc, R as readWalletProviderRegistry, S as resolveFederationBaseUrl, St as errorShape, T as createWalletProviderAdapter, X as fetchSolanaFungibleMetadataViaRpc, Y as SOLANA_ASSET_CONSTANTS, Z as fetchSolanaMintInfoViaRpc, _ as validateSolanaSwapIntentPolicy, a as listTaskRecords, bt as validatePushTestParams, c as buildWalletProviderCapabilityMatrix, ct as callGateway, d as appendWalletAuditEntry, dt as randomIdempotencyKey, et as fetchSolanaTokenBalanceViaRpc, f as SOLANA_NATIVE_MINT, ft as resolveGatewayCredentialsFromConfig, g as validateSolanaSwapInputBalance, gt as publicKeyRawBase64UrlFromPem, h as inspectAndValidateSolanaSwapOrder, ht as loadOrCreateDeviceIdentity, i as createTaskRecord, it as findGitRoot, j as isWalletToolAllowed, jt as buildModelAliasLines, k as applyWalletPolicyConfig, l as providerSupportsChainOperation, lt as callGatewayLeastPrivilege, m as fetchJupiterSwapOrder, n as createOrExecuteWalletSend, nt as buildAttestation, o as markTaskTerminal, p as executeSolanaSwapApprovalPayload, pt as trimToUndefined$2, r as createWalletSendApprovalRequest, rt as resolveCommitHash, s as updateTaskRecord, tt as fetchSolanaWalletAssetsViaRpc, u as simulateWalletPolicy, ut as callGatewayScoped, v as inspectSerializedSolanaSwapTransaction, x as resolveAgentPublicOrigin, xt as ErrorCodes, yt as formatValidationErrors, z as resolveWalletSelection } from "./wallet-status-CyovJojz.js";
46
+ import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-B6gD1clF.js";
47
+ import { A as fetchJson$1, B as DEFAULT_BROWSER_EVALUATE_ENABLED, C as normalizeCdpWsUrl, D as assertBrowserNavigationResultAllowed, E as assertBrowserNavigationAllowed, F as stopChromeExtensionRelayServer, H as DEFAULT_FASED_BROWSER_ENABLED, I as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, L as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, O as withBrowserNavigationPolicy, P as ensureChromeExtensionRelayServer, R as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as InvalidBrowserNavigationUrlError, U as DEFAULT_FASED_BROWSER_PROFILE_NAME, V as DEFAULT_FASED_BROWSER_COLOR, _ 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, r as loadReadability, s as resolveExistingPathsWithinRoot, t as loadLinkedom, v as resolveBrowserExecutableForPlatform, w as snapshotAria, x as createTargetViaCdp, y as resolveLsofCommandSync, z as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME } from "./runtime-dependency-yAWxH4El.js";
48
48
  import { a as isTrustedProxyAddress, n as isLoopbackAddress, o as resolveClientIp, r as isLoopbackHost, s as resolveForwardedClientIp } from "./ws-CocpWGhl.js";
49
49
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-Dg3gU-MA.js";
50
50
  import { a as writeFileWithinRoot, n as openFileWithinRoot, r as readFileWithinRoot, t as SafeOpenError } from "./fs-safe-BG-VzVkL.js";
51
- import { n as resolveMarkdownTableMode } from "./markdown-tables-DeZztrY6.js";
52
- import { a as fetchRemoteMedia, d as getDefaultMediaLocalRoots, i as MediaFetchError, n as loadWebMedia, o as readResponseWithLimit, t as getDefaultLocalRoots, u as getAgentScopedMediaLocalRoots } from "./media-CgUAEfhs.js";
53
- 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-B4XLsTL0.js";
54
- import { a as saveMediaBuffer, i as getMediaDir, n as ensureMediaDir } from "./outbound-attachment-oxhGO33g.js";
51
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-BOG5sSQQ.js";
52
+ import { a as fetchRemoteMedia, d as getDefaultMediaLocalRoots, i as MediaFetchError, n as loadWebMedia, o as readResponseWithLimit, t as getDefaultLocalRoots, u as getAgentScopedMediaLocalRoots } from "./media-Bu-nJpPs.js";
53
+ 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-DrAtUGLM.js";
54
+ import { a as saveMediaBuffer, i as getMediaDir, n as ensureMediaDir } from "./outbound-attachment-ivAHpWnn.js";
55
55
  import { t as resolveFetch } from "./fetch-Cu-ahkie.js";
56
- 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-DUg0s_1X.js";
56
+ 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-Ha01nmrq.js";
57
57
  import { t as resolveMemorySearchConfig } from "./memory-search-C3C0bD2H.js";
58
- import { i as executeWithApiKeyRotation, n as parseGeminiAuth, r as collectProviderApiKeysForExecution } from "./manager-CeJNf2bH.js";
58
+ import { i as executeWithApiKeyRotation, n as parseGeminiAuth, r as collectProviderApiKeysForExecution } from "./manager-Cqz30lA3.js";
59
59
  import { c as normalizeExtraMemoryPaths, s as listMemoryFiles } from "./internal-qo16nNU1.js";
60
60
  import { i as resolveQmdScopeDenial } from "./qmd-scope-D1sSG_Rx.js";
61
- 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-BlqMqEqn.js";
62
- import { S as isCommandFlagEnabled, _ as normalizeElevatedLevel, a as listChatCommands, b as normalizeVerboseLevel, g as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as resolveNativeCommandName, o as listChatCommandsForConfig, u as normalizeCommandBody, v as normalizeReasoningLevel, w as isRestartEnabled, x as resolveResponseUsageMode, y as normalizeUsageDisplay } from "./commands-registry-D3-bFLsz.js";
63
- import { c as getSkillsSnapshotVersion, d as resolveSkillsPromptForRun, f as syncSkillsToWorkspace, 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 } from "./skill-commands-Be8s4TGQ.js";
61
+ 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-C4XrB73N.js";
62
+ import { S as isCommandFlagEnabled, _ as normalizeElevatedLevel, a as listChatCommands, b as normalizeVerboseLevel, g as shouldHandleTextCommands, i as isCommandEnabled, l as maybeResolveTextAlias, m as resolveNativeCommandName, o as listChatCommandsForConfig, u as normalizeCommandBody, v as normalizeReasoningLevel, w as isRestartEnabled, x as resolveResponseUsageMode, y as normalizeUsageDisplay } from "./commands-registry-BWb4NcfW.js";
63
+ import { c as getSkillsSnapshotVersion, d as resolveSkillsPromptForRun, f as syncSkillsToWorkspace, 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 } from "./skill-commands-Q80wCyry.js";
64
64
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BFnIdcqI.js";
65
- import { t as parseDiscordTarget } from "./targets-BGfRUJPE.js";
65
+ import { t as parseDiscordTarget } from "./targets-znKHngSk.js";
66
66
  import { a as resolveSandboxedMediaSource, i as resolveSandboxPath, n as assertSandboxPath, r as resolveSandboxInputPath, t as assertMediaNotDataUrl } from "./sandbox-paths-lj7_EVuA.js";
67
67
  import { n as normalizePollInput } from "./polls-DQrR-qT3.js";
68
68
  import { n as missingTargetError, r as unknownTargetError, t as ambiguousTargetError } from "./target-errors-C_SVKoEv.js";
69
69
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-NAePk3eL.js";
70
70
  import { n as resolveUserTimeFormat, r as resolveUserTimezone, t as formatUserTime } from "./date-time-CE3Uer3C.js";
71
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-UO6XLYH3.js";
72
- import { t as convertMarkdownTables } from "./tables-Ch4js2qy.js";
71
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-ekGNc6os.js";
72
+ import { t as convertMarkdownTables } from "./tables-0mhUOh5v.js";
73
73
  import { n as recordChannelActivity, t as getChannelActivity } from "./channel-activity-Cg1xRoc2.js";
74
74
  import { t as withTimeout$3 } from "./with-timeout-BYrRAYFV.js";
75
- import { t as getActiveWebListener } from "./active-listener-D8NVRD8J.js";
75
+ import { t as getActiveWebListener } from "./active-listener-BZQWZPF7.js";
76
76
  import { n as asString$4, r as collectIssuesForEnabledAccounts } from "./shared-clhhbWN3.js";
77
77
  import { createRequire } from "node:module";
78
78
  import * as path$1 from "node:path";
@@ -9642,27 +9642,27 @@ function createOutboundSendDepsFromCliSource(deps) {
9642
9642
  function createDefaultDeps() {
9643
9643
  return {
9644
9644
  sendMessageWhatsApp: async (...args) => {
9645
- const { sendMessageWhatsApp } = await import("./web-r1KFR44s.js");
9645
+ const { sendMessageWhatsApp } = await import("./web-CJMfhGFY.js");
9646
9646
  return await sendMessageWhatsApp(...args);
9647
9647
  },
9648
9648
  sendMessageTelegram: async (...args) => {
9649
- const { sendMessageTelegram } = await import("./send-DcsYRH2f.js").then((n) => n.c);
9649
+ const { sendMessageTelegram } = await import("./send-C7x6gzSl.js").then((n) => n.c);
9650
9650
  return await sendMessageTelegram(...args);
9651
9651
  },
9652
9652
  sendMessageDiscord: async (...args) => {
9653
- const { sendMessageDiscord } = await import("./send-bcKv8F5E.js").then((n) => n.t);
9653
+ const { sendMessageDiscord } = await import("./send-CgyS75Av.js").then((n) => n.t);
9654
9654
  return await sendMessageDiscord(...args);
9655
9655
  },
9656
9656
  sendMessageSlack: async (...args) => {
9657
- const { sendMessageSlack } = await import("./send-DGEgo_6f.js").then((n) => n.n);
9657
+ const { sendMessageSlack } = await import("./send-D264hFVb.js").then((n) => n.n);
9658
9658
  return await sendMessageSlack(...args);
9659
9659
  },
9660
9660
  sendMessageSignal: async (...args) => {
9661
- const { sendMessageSignal } = await import("./send-B4XLsTL0.js").then((n) => n.i);
9661
+ const { sendMessageSignal } = await import("./send-DrAtUGLM.js").then((n) => n.i);
9662
9662
  return await sendMessageSignal(...args);
9663
9663
  },
9664
9664
  sendMessageIMessage: async (...args) => {
9665
- const { sendMessageIMessage } = await import("./send-D5rgCP1r.js").then((n) => n.n);
9665
+ const { sendMessageIMessage } = await import("./send-D58yEeH4.js").then((n) => n.n);
9666
9666
  return await sendMessageIMessage(...args);
9667
9667
  }
9668
9668
  };
@@ -11728,7 +11728,7 @@ async function getMemorySearchManager(params) {
11728
11728
  const wrapper = new FallbackMemoryManager({
11729
11729
  primary,
11730
11730
  fallbackFactory: async () => {
11731
- const { MemoryIndexManager } = await import("./manager-CeJNf2bH.js").then((n) => n.t);
11731
+ const { MemoryIndexManager } = await import("./manager-Cqz30lA3.js").then((n) => n.t);
11732
11732
  return await MemoryIndexManager.get(params);
11733
11733
  }
11734
11734
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -11741,7 +11741,7 @@ async function getMemorySearchManager(params) {
11741
11741
  }
11742
11742
  }
11743
11743
  try {
11744
- const { MemoryIndexManager } = await import("./manager-CeJNf2bH.js").then((n) => n.t);
11744
+ const { MemoryIndexManager } = await import("./manager-Cqz30lA3.js").then((n) => n.t);
11745
11745
  return { manager: await MemoryIndexManager.get(params) };
11746
11746
  } catch (err) {
11747
11747
  const message = err instanceof Error ? err.message : String(err);
@@ -21808,6 +21808,14 @@ function coerceExecutionPolicy(policy) {
21808
21808
  "none"
21809
21809
  ]);
21810
21810
  if (mode) modelPolicy.mode = mode;
21811
+ const role = coerceEnum(policy.modelPolicy.role, [
21812
+ "cheapCheck",
21813
+ "strong",
21814
+ "escalation",
21815
+ "coding",
21816
+ "summarizer"
21817
+ ]);
21818
+ if (role) modelPolicy.role = role;
21811
21819
  for (const field of [
21812
21820
  "model",
21813
21821
  "thinking",
@@ -43029,7 +43037,7 @@ function isModuleNotFoundError(err) {
43029
43037
  }
43030
43038
  async function loadPwAiModule(mode) {
43031
43039
  try {
43032
- return await import("./pw-ai-9qEBW5-k.js");
43040
+ return await import("./pw-ai-CMplwiwf.js");
43033
43041
  } catch (err) {
43034
43042
  if (mode === "soft") return null;
43035
43043
  if (isModuleNotFoundError(err)) return null;
@@ -43423,11 +43431,11 @@ function createProfileContext(opts, profile) {
43423
43431
  const userDataDir = resolveFasedAgentUserDataDir(profile.name);
43424
43432
  const profileState = getProfileState();
43425
43433
  if (await isHttpReachable(300) && !profileState.running) try {
43426
- await (await import("./pw-ai-9qEBW5-k.js")).closePlaywrightBrowserConnection();
43434
+ await (await import("./pw-ai-CMplwiwf.js")).closePlaywrightBrowserConnection();
43427
43435
  } catch {}
43428
43436
  if (profileState.running) await stopRunningBrowser();
43429
43437
  try {
43430
- await (await import("./pw-ai-9qEBW5-k.js")).closePlaywrightBrowserConnection();
43438
+ await (await import("./pw-ai-CMplwiwf.js")).closePlaywrightBrowserConnection();
43431
43439
  } catch {}
43432
43440
  if (!fs.existsSync(userDataDir)) return {
43433
43441
  moved: false,
@@ -63618,7 +63626,7 @@ const handleSessionCommand = async (params, allowTextCommands) => {
63618
63626
  reply: { text: resolveSessionCommandUsage() }
63619
63627
  };
63620
63628
  }
63621
- const { setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey } = await import("./thread-bindings.lifecycle-_uQ2EF17.js").then((n) => n.i);
63629
+ const { setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey } = await import("./thread-bindings.lifecycle-ClzPBK70.js").then((n) => n.i);
63622
63630
  const updatedBindings = action === SESSION_ACTION_IDLE ? setThreadBindingIdleTimeoutBySessionKey({
63623
63631
  targetSessionKey: binding.targetSessionKey,
63624
63632
  accountId,
@@ -64844,7 +64852,7 @@ async function createModelSelectionState(params) {
64844
64852
  }
64845
64853
  }
64846
64854
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
64847
- const { ensureAuthProfileStore } = await import("./config-442EDe7Z.js").then((n) => n.vn);
64855
+ const { ensureAuthProfileStore } = await import("./config-rySyVtKs.js").then((n) => n.yn);
64848
64856
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
64849
64857
  const providerKey = normalizeProviderId(provider);
64850
64858
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -73787,7 +73795,7 @@ const discordMessageActions = {
73787
73795
  return null;
73788
73796
  },
73789
73797
  handleAction: async ({ action, params, cfg, accountId, requesterSenderId, toolContext, mediaLocalRoots }) => {
73790
- const { handleDiscordMessageAction } = await import("./handle-action-pNaP87Dr.js");
73798
+ const { handleDiscordMessageAction } = await import("./handle-action-CGF-Qnp0.js");
73791
73799
  return await handleDiscordMessageAction({
73792
73800
  action,
73793
73801
  params,
@@ -74024,7 +74032,7 @@ const signalMessageActions = {
74024
74032
  //#region src/channels/plugins/actions/telegram.ts
74025
74033
  const providerId = "telegram";
74026
74034
  async function loadTelegramActionHandler() {
74027
- const { handleTelegramAction } = await import("./telegram-actions-BGy4AEvF.js");
74035
+ const { handleTelegramAction } = await import("./telegram-actions-GBYY8-x9.js");
74028
74036
  return handleTelegramAction;
74029
74037
  }
74030
74038
  function readTelegramSendParams(params) {
@@ -74194,7 +74202,7 @@ function createWhatsAppLoginTool() {
74194
74202
  force: Type.Optional(Type.Boolean())
74195
74203
  }),
74196
74204
  execute: async (_toolCallId, args) => {
74197
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-u8Mn1mCp.js");
74205
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-COaSAPY5.js");
74198
74206
  if ((args?.action ?? "start") === "wait") {
74199
74207
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
74200
74208
  return {
@@ -76505,7 +76513,7 @@ function buildPairingReply(params) {
76505
76513
 
76506
76514
  //#endregion
76507
76515
  //#region src/brand.ts
76508
- const FASED_PRODUCT_VERSION = "0.1.53";
76516
+ const FASED_PRODUCT_VERSION = "0.1.54";
76509
76517
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
76510
76518
 
76511
76519
  //#endregion
@@ -80384,7 +80392,7 @@ const handleWhatsAppActionLazy = async (...args) => {
80384
80392
  return handleWhatsAppAction(...args);
80385
80393
  };
80386
80394
  const auditDiscordChannelPermissionsLazy = async (...args) => {
80387
- const { auditDiscordChannelPermissions } = await import("./audit-2iRlVyQF.js").then((n) => n.t);
80395
+ const { auditDiscordChannelPermissions } = await import("./audit-BZk_6Buw.js").then((n) => n.t);
80388
80396
  return auditDiscordChannelPermissions(...args);
80389
80397
  };
80390
80398
  const listDiscordDirectoryGroupsLiveLazy = async (...args) => {
@@ -80408,15 +80416,15 @@ const resolveDiscordUserAllowlistLazy = async (...args) => {
80408
80416
  return resolveDiscordUserAllowlist(...args);
80409
80417
  };
80410
80418
  const sendMessageDiscordLazy = async (...args) => {
80411
- const { sendMessageDiscord } = await import("./send-bcKv8F5E.js").then((n) => n.t);
80419
+ const { sendMessageDiscord } = await import("./send-CgyS75Av.js").then((n) => n.t);
80412
80420
  return sendMessageDiscord(...args);
80413
80421
  };
80414
80422
  const sendPollDiscordLazy = async (...args) => {
80415
- const { sendPollDiscord } = await import("./send-bcKv8F5E.js").then((n) => n.t);
80423
+ const { sendPollDiscord } = await import("./send-CgyS75Av.js").then((n) => n.t);
80416
80424
  return sendPollDiscord(...args);
80417
80425
  };
80418
80426
  const monitorDiscordProviderLazy = async (...args) => {
80419
- const { monitorDiscordProvider } = await import("./monitor-D-APtCpn.js");
80427
+ const { monitorDiscordProvider } = await import("./monitor-DL6oEVo8.js");
80420
80428
  return monitorDiscordProvider(...args);
80421
80429
  };
80422
80430
  const listSlackDirectoryGroupsLiveLazy = async (...args) => {
@@ -80440,15 +80448,15 @@ const resolveSlackUserAllowlistLazy = async (...args) => {
80440
80448
  return resolveSlackUserAllowlist(...args);
80441
80449
  };
80442
80450
  const sendMessageSlackLazy = async (...args) => {
80443
- const { sendMessageSlack } = await import("./send-DGEgo_6f.js").then((n) => n.n);
80451
+ const { sendMessageSlack } = await import("./send-D264hFVb.js").then((n) => n.n);
80444
80452
  return sendMessageSlack(...args);
80445
80453
  };
80446
80454
  const monitorSlackProviderLazy = async (...args) => {
80447
- const { monitorSlackProvider } = await import("./slack-74qForpW.js");
80455
+ const { monitorSlackProvider } = await import("./slack-C-I6q3NB.js");
80448
80456
  return monitorSlackProvider(...args);
80449
80457
  };
80450
80458
  const handleSlackActionLazy = async (...args) => {
80451
- const { handleSlackAction } = await import("./slack-actions-TNnAXiUx.js");
80459
+ const { handleSlackAction } = await import("./slack-actions-dGE_t_Un.js");
80452
80460
  return handleSlackAction(...args);
80453
80461
  };
80454
80462
  const probeTelegramLazy = async (...args) => {
@@ -80456,15 +80464,15 @@ const probeTelegramLazy = async (...args) => {
80456
80464
  return probeTelegram(...args);
80457
80465
  };
80458
80466
  const sendMessageTelegramLazy = async (...args) => {
80459
- const { sendMessageTelegram } = await import("./send-DcsYRH2f.js").then((n) => n.c);
80467
+ const { sendMessageTelegram } = await import("./send-C7x6gzSl.js").then((n) => n.c);
80460
80468
  return sendMessageTelegram(...args);
80461
80469
  };
80462
80470
  const sendPollTelegramLazy = async (...args) => {
80463
- const { sendPollTelegram } = await import("./send-DcsYRH2f.js").then((n) => n.c);
80471
+ const { sendPollTelegram } = await import("./send-C7x6gzSl.js").then((n) => n.c);
80464
80472
  return sendPollTelegram(...args);
80465
80473
  };
80466
80474
  const monitorTelegramProviderLazy = async (...args) => {
80467
- const { monitorTelegramProvider } = await import("./monitor-CEtMJuFX.js");
80475
+ const { monitorTelegramProvider } = await import("./monitor-II_NIq3G.js");
80468
80476
  return monitorTelegramProvider(...args);
80469
80477
  };
80470
80478
  let webOutboundPromise = null;
@@ -80473,23 +80481,23 @@ let webLoginQrPromise = null;
80473
80481
  let webChannelPromise = null;
80474
80482
  let whatsappActionsPromise = null;
80475
80483
  function loadWebOutbound() {
80476
- webOutboundPromise ??= import("./outbound-DXGuFrdx.js").then((n) => n.t);
80484
+ webOutboundPromise ??= import("./outbound-mf2y6KuY.js").then((n) => n.t);
80477
80485
  return webOutboundPromise;
80478
80486
  }
80479
80487
  function loadWebLogin() {
80480
- webLoginPromise ??= import("./login-CK2zTIJA.js").then((n) => n.n);
80488
+ webLoginPromise ??= import("./login-DpDQyM7r.js").then((n) => n.n);
80481
80489
  return webLoginPromise;
80482
80490
  }
80483
80491
  function loadWebLoginQr() {
80484
- webLoginQrPromise ??= import("./login-qr-u8Mn1mCp.js");
80492
+ webLoginQrPromise ??= import("./login-qr-COaSAPY5.js");
80485
80493
  return webLoginQrPromise;
80486
80494
  }
80487
80495
  function loadWebChannel() {
80488
- webChannelPromise ??= import("./web-r1KFR44s.js");
80496
+ webChannelPromise ??= import("./web-CJMfhGFY.js");
80489
80497
  return webChannelPromise;
80490
80498
  }
80491
80499
  function loadWhatsAppActions() {
80492
- whatsappActionsPromise ??= import("./whatsapp-actions-CID_tqAX.js");
80500
+ whatsappActionsPromise ??= import("./whatsapp-actions-0ZbGo5ZV.js");
80493
80501
  return whatsappActionsPromise;
80494
80502
  }
80495
80503
  function createPluginRuntime(options = {}) {
@@ -83744,6 +83752,10 @@ function resolveProviderConfig$1(cfg, provider) {
83744
83752
  }
83745
83753
  function resolveAuthMode(params) {
83746
83754
  if (params.providerConfig?.auth) return params.providerConfig.auth;
83755
+ const providerRoute = params.provider.trim().toLowerCase();
83756
+ const method = getProviderBrandManifestForRoute(providerRoute)?.methods.find((entry) => entry.route.trim().toLowerCase() === providerRoute || entry.statusRoute?.trim().toLowerCase() === providerRoute || entry.configProviderId?.trim().toLowerCase() === providerRoute);
83757
+ if (method?.kind === "oauth" || method?.kind === "device") return "oauth";
83758
+ if (method?.kind === "token") return "token";
83747
83759
  return "api-key";
83748
83760
  }
83749
83761
  function addFeature(features, feature, enabled) {
@@ -83757,18 +83769,18 @@ function deriveModelMetadata(params) {
83757
83769
  const api = params.model.api ?? providerConfig?.api;
83758
83770
  const refreshed = lookupRefreshedModelCapability(provider, modelId);
83759
83771
  const manifestCapabilities = lookupProviderManifestModelCapability(provider, modelId);
83760
- const input = refreshed?.input ?? params.model.input ?? ["text"];
83772
+ const input = params.model.input ?? refreshed?.input ?? ["text"];
83761
83773
  const capabilities = manifestCapabilities || params.model.capabilities || refreshed?.capabilities ? {
83774
+ ...refreshed?.capabilities,
83762
83775
  ...manifestCapabilities,
83763
- ...params.model.capabilities,
83764
- ...refreshed?.capabilities
83776
+ ...params.model.capabilities
83765
83777
  } : void 0;
83766
83778
  const capabilityConfidence = capabilities || refreshed || manifestCapabilities ? "declared" : "unknown";
83767
83779
  const shouldInferApiCapabilities = !(LOCAL_DYNAMIC_PROVIDERS.has(provider) && capabilityConfidence === "unknown");
83768
83780
  const thinking = resolveModelThinkingCapability({
83769
83781
  provider,
83770
83782
  model: modelId,
83771
- reasoning: refreshed?.reasoning ?? params.model.reasoning,
83783
+ reasoning: params.model.reasoning ?? refreshed?.reasoning,
83772
83784
  capabilities
83773
83785
  });
83774
83786
  const features = [];
@@ -83828,7 +83840,7 @@ function normalizeApi(value) {
83828
83840
  }
83829
83841
  function isSupportedRuntimeCatalogModel(provider, id) {
83830
83842
  if (provider !== "openai-codex") return true;
83831
- return isOpenAISignInRuntimeModelSupported(id);
83843
+ return isOpenAISignInCatalogModel(id);
83832
83844
  }
83833
83845
  function configuredProviderCatalogRows(cfg) {
83834
83846
  return Object.entries(cfg.models?.providers ?? {}).flatMap(([provider, providerConfig]) => normalizeProviderCatalogRows({
@@ -83899,8 +83911,7 @@ function providerConfigForRow(cfg, row) {
83899
83911
  }
83900
83912
  function buildFasedModelCatalogRows(params) {
83901
83913
  const discoveredRows = mergeModelCatalogRowsByAuthority([
83902
- ...listCurrentModelCatalogRows(),
83903
- ...providerPluginCatalogRows(params.providerPluginProviders),
83914
+ ...[...listCurrentModelCatalogRows(), ...providerPluginCatalogRows(params.providerPluginProviders)].filter((row) => isSupportedRuntimeCatalogModel(row.provider, row.id)),
83904
83915
  ...runtimeCatalogRows({
83905
83916
  models: params.runtimeModels ?? [],
83906
83917
  onEntryError: params.onRuntimeEntryError
@@ -84039,7 +84050,7 @@ const log$8 = createSubsystemLogger("model-catalog");
84039
84050
  let modelCatalogPromise = null;
84040
84051
  let hasLoggedModelCatalogError = false;
84041
84052
  let hasLoggedProviderCatalogError = false;
84042
- const defaultImportPiSdk = () => import("./pi-model-discovery-l-xqaEd0.js").then((n) => n.a);
84053
+ const defaultImportPiSdk = () => import("./pi-model-discovery-B6gD1clF.js").then((n) => n.a);
84043
84054
  let importPiSdk = defaultImportPiSdk;
84044
84055
  const CODEX_PROVIDER = "openai-codex";
84045
84056
  const OPENAI_PROVIDER = "openai";
@@ -89773,6 +89784,20 @@ function resolveTranscriptPolicy(params) {
89773
89784
  };
89774
89785
  }
89775
89786
 
89787
+ //#endregion
89788
+ //#region src/agents/pi-embedded-runner/agent-messages.ts
89789
+ function replaceAgentMessages(agent, messages) {
89790
+ if (agent.state) {
89791
+ agent.state.messages = messages;
89792
+ return;
89793
+ }
89794
+ if (typeof agent.replaceMessages === "function") {
89795
+ agent.replaceMessages(messages);
89796
+ return;
89797
+ }
89798
+ throw new Error("Agent runtime does not expose mutable message state");
89799
+ }
89800
+
89776
89801
  //#endregion
89777
89802
  //#region src/agents/pi-embedded-runner/compaction-safety-timeout.ts
89778
89803
  const EMBEDDED_COMPACTION_TIMEOUT_MS = 3e5;
@@ -91881,7 +91906,7 @@ async function compactEmbeddedPiSessionDirect(params) {
91881
91906
  const preCompactionMessages = [...session.messages];
91882
91907
  const truncated = limitHistoryTurns(validated, getDmHistoryLimitFromSessionKey(params.sessionKey, params.config));
91883
91908
  const limited = transcriptPolicy.repairToolUseResultPairing ? sanitizeToolUseResultPairing(truncated) : truncated;
91884
- if (limited.length > 0) session.agent.replaceMessages(limited);
91909
+ if (limited.length > 0) replaceAgentMessages(session.agent, limited);
91885
91910
  const hookRunner = getGlobalHookRunner();
91886
91911
  const hookCtx = {
91887
91912
  agentId: params.sessionKey?.split(":")[0] ?? "main",
@@ -96632,7 +96657,6 @@ async function runEmbeddedAttempt(params) {
96632
96657
  modelApi: params.model.api,
96633
96658
  workspaceDir: params.workspaceDir
96634
96659
  });
96635
- activeSession.agent.streamFn = streamSimple;
96636
96660
  applyExtraParamsToAgent(activeSession.agent, params.config, params.provider, params.modelId, params.streamParams, params.thinkLevel, sessionAgentId);
96637
96661
  if (cacheTrace) {
96638
96662
  cacheTrace.recordStage("session:loaded", {
@@ -96693,7 +96717,7 @@ async function runEmbeddedAttempt(params) {
96693
96717
  const truncated = params.omitPriorMessages ? [] : limitHistoryTurns(validated, getDmHistoryLimitFromSessionKey(params.sessionKey, params.config));
96694
96718
  const limited = transcriptPolicy.repairToolUseResultPairing ? sanitizeToolUseResultPairing(truncated) : truncated;
96695
96719
  cacheTrace?.recordStage("session:limited", { messages: limited });
96696
- if (params.omitPriorMessages || limited.length > 0) activeSession.agent.replaceMessages(limited);
96720
+ if (params.omitPriorMessages || limited.length > 0) replaceAgentMessages(activeSession.agent, limited);
96697
96721
  } catch (err) {
96698
96722
  await flushPendingToolResultsAfterIdle({
96699
96723
  agent: activeSession?.agent,
@@ -96855,11 +96879,11 @@ async function runEmbeddedAttempt(params) {
96855
96879
  if (leafEntry.parentId) sessionManager.branch(leafEntry.parentId);
96856
96880
  else sessionManager.resetLeaf();
96857
96881
  const sessionContext = sessionManager.buildSessionContext();
96858
- activeSession.agent.replaceMessages(sessionContext.messages);
96882
+ replaceAgentMessages(activeSession.agent, sessionContext.messages);
96859
96883
  log$5.warn(`Removed orphaned user message to prevent consecutive user turns. runId=${params.runId} sessionId=${params.sessionId}`);
96860
96884
  }
96861
96885
  try {
96862
- if (pruneProcessedHistoryImages(activeSession.messages)) activeSession.agent.replaceMessages(activeSession.messages);
96886
+ if (pruneProcessedHistoryImages(activeSession.messages)) replaceAgentMessages(activeSession.agent, activeSession.messages);
96863
96887
  const imageResult = await detectAndLoadPromptImages({
96864
96888
  prompt: effectivePrompt,
96865
96889
  workspaceDir: effectiveWorkspace,
@@ -1,3 +1,3 @@
1
- import { _ as FasedAgentPluginApi } from "./types-BJdDoTQF.js";
1
+ import { _ as FasedAgentPluginApi } from "./types-DV5TNhMK.js";
2
2
  import { a as listDevicePairing, i as approveDevicePairing, n as resolveTailnetHostWithRunner, r as resolveGatewayBindUrl, t as runPluginCommandWithTimeout } from "./run-command-i_W6EFb1.js";
3
3
  export { type FasedAgentPluginApi, approveDevicePairing, listDevicePairing, resolveGatewayBindUrl, resolveTailnetHostWithRunner, runPluginCommandWithTimeout };
@@ -1,8 +1,8 @@
1
1
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId } from "./session-key--_1zVBRB.js";
2
2
  import { At as FasedAgentConfig, F as ChannelAccountSnapshot, J as ChannelMessageActionAdapter, an as DiscordAccountConfig, it as ChannelStatusIssue, n as ChannelPlugin, r as ChannelOnboardingAdapter, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-CvUiB3Kh.js";
3
- import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, Zt as collectDiscordAuditChannelIds, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-BJdDoTQF.js";
4
- import { D as normalizeE164 } from "./types-DlKIHIqA.js";
5
- import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-D3WPVg_j.js";
3
+ import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, Zt as collectDiscordAuditChannelIds, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-DV5TNhMK.js";
4
+ import { D as normalizeE164 } from "./types-BI2njxWJ.js";
5
+ import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-CvJ6Qa1Q.js";
6
6
  import { _ as buildTokenChannelStatusSummary, i as resolveDiscordGroupToolPolicy, r as resolveDiscordGroupRequireMention } from "./group-mentions-DLOOve8d.js";
7
7
  import { t as DiscordConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
8
8
 
@@ -1,47 +1,47 @@
1
- import { Ht as resolveDiscordGroupRequireMention, Nn as getChatChannelMeta, Ut as resolveDiscordGroupToolPolicy, _t as listWhatsAppDirectoryPeersFromConfig, dt as listDiscordDirectoryPeersFromConfig, ft as listSlackDirectoryGroupsFromConfig, gt as listWhatsAppDirectoryGroupsFromConfig, ht as listTelegramDirectoryPeersFromConfig, mt as listTelegramDirectoryGroupsFromConfig, pt as listSlackDirectoryPeersFromConfig, ut as listDiscordDirectoryGroupsFromConfig } from "./runtime-Dnzwux3G.js";
1
+ import { Ht as resolveDiscordGroupRequireMention, Nn as getChatChannelMeta, Ut as resolveDiscordGroupToolPolicy, _t as listWhatsAppDirectoryPeersFromConfig, dt as listDiscordDirectoryPeersFromConfig, ft as listSlackDirectoryGroupsFromConfig, gt as listWhatsAppDirectoryGroupsFromConfig, ht as listTelegramDirectoryPeersFromConfig, mt as listTelegramDirectoryGroupsFromConfig, pt as listSlackDirectoryPeersFromConfig, ut as listDiscordDirectoryGroupsFromConfig } from "./runtime-ClSakPxR.js";
2
2
  import "./subsystem-DBPNbQDQ.js";
3
3
  import "./globals-B_jjtAje.js";
4
4
  import "./paths-BEmvSyOV.js";
5
5
  import { c as isRecord, d as normalizeE164 } from "./utils-CYk9EKoq.js";
6
- import { u as DiscordConfigSchema } from "./config-442EDe7Z.js";
6
+ import { u as DiscordConfigSchema } from "./config-rySyVtKs.js";
7
7
  import "./agent-scope-BbgPlhtw.js";
8
8
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
9
9
  import { a as resolveDiscordAccount, i as resolveDefaultDiscordAccountId, n as listDiscordAccountIds } from "./accounts-RHZyaB73.js";
10
10
  import "./accounts-CuqIKU8X.js";
11
11
  import "./logger-BbFvCoKk.js";
12
12
  import "./exec-DQ8j4Fm3.js";
13
- import "./accounts-BZrfqJmO.js";
13
+ import "./accounts-DW9OS5Ll.js";
14
14
  import { i as normalizeDiscordSlug } from "./allow-list-BYeKk0Sy.js";
15
15
  import "./redact-Bm8vu_ju.js";
16
16
  import "./github-copilot-token-CUK__1s1.js";
17
17
  import "./retry-DstNBhDW.js";
18
18
  import "./paths-CTZ2RS_E.js";
19
- import { a as deleteAccountFromConfigSection, c as formatPairingApproveHint, n as applyAccountNameToChannelSection, o as setAccountEnabledInConfigSection, r as migrateBaseNameToDefaultAccount, s as buildChannelConfigSchema, t as PAIRING_APPROVED_MESSAGE, u as emptyPluginConfigSchema } from "./pairing-message-C29ixrvn.js";
19
+ import { a as deleteAccountFromConfigSection, c as formatPairingApproveHint, n as applyAccountNameToChannelSection, o as setAccountEnabledInConfigSection, r as migrateBaseNameToDefaultAccount, s as buildChannelConfigSchema, t as PAIRING_APPROVED_MESSAGE, u as emptyPluginConfigSchema } from "./pairing-message-CqYG12t-.js";
20
20
  import "./ip-C70a-YlD.js";
21
21
  import "./ssrf-BZG8Ztod.js";
22
22
  import "./fetch-guard-BuYrl6q2.js";
23
- import { A as resolveDefaultGroupPolicy, D as formatDocsLink, _ as setAccountGroupPolicyForChannel, a as noteChannelLookupFailure, b as setOnboardingChannelEnabled, d as promptLegacyChannelAllowFrom, g as resolveOnboardingAccountId, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, m as promptSingleChannelToken, n as applySingleTokenPromptResult, o as noteChannelLookupSummary, s as parseMentionOrPrefixedId, w as buildTokenChannelStatusSummary, y as setLegacyChannelDmPolicyWithAllowFrom } from "./helpers-B994qqVW.js";
24
- import "./chunk-BREC9ijl.js";
25
- import "./optional-runtime-dependency-D0BdXz1C.js";
26
- import "./image-ops-Doq8nZQw.js";
23
+ import { A as resolveDefaultGroupPolicy, D as formatDocsLink, _ as setAccountGroupPolicyForChannel, a as noteChannelLookupFailure, b as setOnboardingChannelEnabled, d as promptLegacyChannelAllowFrom, g as resolveOnboardingAccountId, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, m as promptSingleChannelToken, n as applySingleTokenPromptResult, o as noteChannelLookupSummary, s as parseMentionOrPrefixedId, w as buildTokenChannelStatusSummary, y as setLegacyChannelDmPolicyWithAllowFrom } from "./helpers-DgRMfCnT.js";
24
+ import "./chunk-B2ffJ-LR.js";
25
+ import "./optional-runtime-dependency-DEojVNfv.js";
26
+ import "./image-ops-CcBfoMLW.js";
27
27
  import "./path-alias-guards-Dg3gU-MA.js";
28
28
  import "./fs-safe-BG-VzVkL.js";
29
- import "./markdown-tables-DeZztrY6.js";
30
- import "./media-CgUAEfhs.js";
29
+ import "./markdown-tables-BOG5sSQQ.js";
30
+ import "./media-Bu-nJpPs.js";
31
31
  import "./fetch-Cu-ahkie.js";
32
- import "./thread-bindings.state-DUg0s_1X.js";
33
- import { d as readStringParam, n as createActionGate } from "./common-BlqMqEqn.js";
32
+ import "./thread-bindings.state-Ha01nmrq.js";
33
+ import { d as readStringParam, n as createActionGate } from "./common-C4XrB73N.js";
34
34
  import "./directory-live-DatqU-eS.js";
35
- import { t as parseDiscordTarget } from "./targets-BGfRUJPE.js";
35
+ import { t as parseDiscordTarget } from "./targets-znKHngSk.js";
36
36
  import "./render-Bwu_WxwA.js";
37
- import "./tables-Ch4js2qy.js";
37
+ import "./tables-0mhUOh5v.js";
38
38
  import { i as resolveEnabledConfiguredAccountId, n as asString, t as appendMatchMetadata } from "./shared-clhhbWN3.js";
39
39
  import "./channel-core-BOkyXXLa.js";
40
- import "./send-bcKv8F5E.js";
41
- import "./retry-policy-C5N8JiHL.js";
42
- import { n as collectDiscordAuditChannelIds } from "./audit-2iRlVyQF.js";
43
- import { t as configureChannelAccessWithAllowlist } from "./channel-access-configure-B-Z51Qsd.js";
44
- import { a as unbindThreadBindingsBySessionKey, n as listThreadBindingsBySessionKey, t as autoBindSpawnedDiscordSubagent } from "./thread-bindings.lifecycle-_uQ2EF17.js";
40
+ import "./send-CgyS75Av.js";
41
+ import "./retry-policy-BvlC2SPh.js";
42
+ import { n as collectDiscordAuditChannelIds } from "./audit-BZk_6Buw.js";
43
+ import { t as configureChannelAccessWithAllowlist } from "./channel-access-configure-B7Kkvx9K.js";
44
+ import { a as unbindThreadBindingsBySessionKey, n as listThreadBindingsBySessionKey, t as autoBindSpawnedDiscordSubagent } from "./thread-bindings.lifecycle-ClzPBK70.js";
45
45
 
46
46
  //#region src/channels/plugins/normalize/discord.ts
47
47
  function normalizeDiscordMessagingTarget(raw) {