@fased/fased 0.1.47 → 0.1.49

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 (151) hide show
  1. package/dist/agents/auth-health.js +11 -5
  2. package/dist/agents/current-model-catalog.js +21 -3
  3. package/dist/brand.js +1 -1
  4. package/dist/build-info.json +3 -3
  5. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  6. package/dist/commands/doctor-state-integrity.js +25 -2
  7. package/dist/config/sessions/transcript.js +30 -16
  8. package/dist/config/sessions.js +2 -2
  9. package/dist/control-ui/assets/{app-CHqTx3P_.js → app-6iCry787.js} +1274 -1259
  10. package/dist/control-ui/assets/{chat-model-ref-BbrdMKjQ.js → chat-model-ref-C6CFR-GR.js} +2 -2
  11. package/dist/control-ui/assets/{config-FFZLTSLS.js → config-CU5Zi8Dh.js} +2 -2
  12. package/dist/control-ui/assets/{index-CFHfNlLv.js → index-CNFgocD9.js} +3 -3
  13. package/dist/control-ui/assets/{mining-D_VAMFMY.js → mining-BdhMn18r.js} +3 -3
  14. package/dist/control-ui/assets/{providers-DqFL6WrJ.js → providers-WTJ1kMKy.js} +14 -3
  15. package/dist/control-ui/index.html +1 -1
  16. package/dist/extensions/sat-mining/src/protocol-contract.js +63 -0
  17. package/dist/extensions/sat-mining/src/solana-submit.js +3 -52
  18. package/dist/gateway/protocol/schema/agents-models-skills.js +1 -0
  19. package/dist/gateway/protocol/schema/frames.js +5 -0
  20. package/dist/gateway/protocol/schema/snapshot.js +1 -0
  21. package/dist/gateway/server/ws-connection/message-handler.js +2 -1
  22. package/dist/gateway/server-http.js +1 -0
  23. package/dist/gateway/server-methods/chat.js +4 -29
  24. package/dist/infra/system-presence.js +4 -2
  25. package/dist/light-update-status.js +1 -1
  26. package/dist/memory/inventory.js +44 -4
  27. package/dist/mining/mainnet-sync.js +70 -26
  28. package/dist/plugin-sdk/{accounts-DzLdrOVC.js → accounts-B5fY9hZy.js} +1 -1
  29. package/dist/plugin-sdk/{actions-PhofTgnO.js → actions-D-9SsSEy.js} +2 -2
  30. package/dist/plugin-sdk/{active-listener-C8a74qPO.js → active-listener-BH7rDR47.js} +1 -1
  31. package/dist/plugin-sdk/{audio-preflight-CARAVcz-.js → audio-preflight-4faayz5S.js} +26 -26
  32. package/dist/plugin-sdk/{audit-ByK45Q1d.js → audit-BQfsboqd.js} +1 -1
  33. package/dist/plugin-sdk/{channel-access-BEin0yA4.js → channel-access-CDZ-cJPq.js} +1 -1
  34. package/dist/plugin-sdk/{channel-access-configure-Di_DoR-Q.js → channel-access-configure-DlpuhlH6.js} +1 -1
  35. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  36. package/dist/plugin-sdk/channel-plugin-common.js +4 -4
  37. package/dist/plugin-sdk/{chunk-CwN3c1Fq.js → chunk-CZuCyS7k.js} +1 -1
  38. package/dist/plugin-sdk/{chunk-items-DH7ooQBZ.js → chunk-items-Cyc4Kl6A.js} +1 -1
  39. package/dist/plugin-sdk/command-status.js +26 -26
  40. package/dist/plugin-sdk/{commands-registry-Bea-V_lR.js → commands-registry-COIbIjGO.js} +2 -2
  41. package/dist/plugin-sdk/{common-BJPuBxmx.js → common-LMHJe8KW.js} +1 -1
  42. package/dist/plugin-sdk/{config-BxOWD3gF.js → config-ZMbTT0kM.js} +22 -4
  43. package/dist/plugin-sdk/{config-schema-ChJcPn7x.js → config-schema-Cku0a8Tm.js} +100 -64
  44. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  45. package/dist/plugin-sdk/discord.d.ts +4 -4
  46. package/dist/plugin-sdk/discord.js +19 -19
  47. package/dist/plugin-sdk/{handle-action-Bk-L2J84.js → handle-action-C8ZZfORB.js} +13 -13
  48. package/dist/plugin-sdk/{helpers-0E444CR0.js → helpers-vfzH9tBn.js} +1 -1
  49. package/dist/plugin-sdk/{image-ops-BYc-Ol7C.js → image-ops-BnOmQA5d.js} +1 -1
  50. package/dist/plugin-sdk/index.d.ts +9 -9
  51. package/dist/plugin-sdk/index.js +28 -28
  52. package/dist/plugin-sdk/{login-B_At7IVI.js → login-C73Wpiw8.js} +3 -3
  53. package/dist/plugin-sdk/{login-qr-BlSQ8QJF.js → login-qr-CRKHA7i8.js} +3 -3
  54. package/dist/plugin-sdk/{manager-VNI6sxbG.js → manager-CHYhpKHn.js} +2 -2
  55. package/dist/plugin-sdk/{markdown-tables-CpNefu6e.js → markdown-tables-B84dPWNG.js} +1 -1
  56. package/dist/plugin-sdk/{media-QBCmvhBQ.js → media-4daDcNER.js} +2 -2
  57. package/dist/plugin-sdk/{monitor-BhHlerHI.js → monitor-CChc6bQV.js} +30 -30
  58. package/dist/plugin-sdk/{monitor-C9UczH5N.js → monitor-DJhU-J5u.js} +31 -31
  59. package/dist/plugin-sdk/{openresponses-http-CtuFHD5w.js → openresponses-http-Dvyczr35.js} +26 -26
  60. package/dist/plugin-sdk/{optional-runtime-dependency-BaVO1F3i.js → optional-runtime-dependency-BFpqaCzp.js} +1 -1
  61. package/dist/plugin-sdk/{outbound-CWrcAWpE.js → outbound-C1xBxfNb.js} +6 -6
  62. package/dist/plugin-sdk/{outbound-attachment-Dhi2Q-_f.js → outbound-attachment-DvcxPP7b.js} +2 -2
  63. package/dist/plugin-sdk/{pairing-message-6XVXW554.d.ts → pairing-message-DWXHX-jt.d.ts} +1 -1
  64. package/dist/plugin-sdk/{pairing-message-D01_6FkJ.js → pairing-message-DpYT614h.js} +1 -1
  65. package/dist/plugin-sdk/{pairing-store-DADXOv-J.js → pairing-store-CprpGco9.js} +2 -2
  66. package/dist/plugin-sdk/{pi-model-discovery-D9-CQFS2.js → pi-model-discovery-BQ6fFRBA.js} +1 -1
  67. package/dist/plugin-sdk/{pi-model-discovery-runtime-DhNNXQgq.js → pi-model-discovery-runtime-BF_89lVj.js} +2 -2
  68. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  69. package/dist/plugin-sdk/{pw-ai-CQG7vp-Y.js → pw-ai-xgpIbHOr.js} +3 -3
  70. package/dist/plugin-sdk/{replies-C_FeIOF4.js → replies-AzJ6U6Ut.js} +2 -2
  71. package/dist/plugin-sdk/{resolve-outbound-target-DD8edEdz.js → resolve-outbound-target-COo_TR7B.js} +1 -1
  72. package/dist/plugin-sdk/{resolve-route-BPkfG5Pg.js → resolve-route-CZFzHOIe.js} +1 -1
  73. package/dist/plugin-sdk/{retry-policy-C0YsRX_6.js → retry-policy-BSdqqXsI.js} +1 -1
  74. package/dist/plugin-sdk/{runtime-CyTWeylK.js → runtime-CeoGffDi.js} +31 -18
  75. package/dist/plugin-sdk/{runtime-dependency-D6tYtvtU.js → runtime-dependency-Cvbs0GXf.js} +2 -2
  76. package/dist/plugin-sdk/sat-runtime.d.ts +3 -2
  77. package/dist/plugin-sdk/sat-runtime.js +5 -5
  78. package/dist/plugin-sdk/{send-CNxLDNQ9.js → send-B_-UtG9F.js} +6 -6
  79. package/dist/plugin-sdk/{send-Qckp3h4k.js → send-C0Q1u7N1.js} +8 -8
  80. package/dist/plugin-sdk/{send-BtFuV6zU.js → send-CGE7OgsA.js} +5 -5
  81. package/dist/plugin-sdk/{send-FcEJfLTd.js → send-DCxAv7bV.js} +6 -6
  82. package/dist/plugin-sdk/{send-BedQ8ekw.js → send-DVpCBUuL.js} +7 -7
  83. package/dist/plugin-sdk/{session-C3Ul4abD.js → session-ETYBbhLn.js} +2 -2
  84. package/dist/plugin-sdk/{skill-commands-C2CnUTPX.js → skill-commands-BQL6TBIv.js} +2 -2
  85. package/dist/plugin-sdk/{slack-bSeSOI9d.js → slack-Bs_4uivd.js} +38 -38
  86. package/dist/plugin-sdk/{slack-actions-CLyEd8FK.js → slack-actions-CBPZkfTS.js} +11 -11
  87. package/dist/plugin-sdk/slack.d.ts +4 -4
  88. package/dist/plugin-sdk/slack.js +9 -9
  89. package/dist/plugin-sdk/{sticker-cache-DBnS3hHh.js → sticker-cache-BBZMp-oQ.js} +3 -3
  90. package/dist/plugin-sdk/{tables-L5mXZ5y_.js → tables-B-G7Bb0l.js} +1 -1
  91. package/dist/plugin-sdk/{targets-eG595pY0.js → targets-D8UaoWHd.js} +1 -1
  92. package/dist/plugin-sdk/{telegram-actions-D0Kyqy_e.js → telegram-actions-BARLx9zc.js} +29 -29
  93. package/dist/plugin-sdk/telegram.d.ts +4 -4
  94. package/dist/plugin-sdk/telegram.js +8 -8
  95. package/dist/plugin-sdk/{thread-bindings.lifecycle-C_5BEWmL.js → thread-bindings.lifecycle-DwYKCLLq.js} +3 -3
  96. package/dist/plugin-sdk/{thread-bindings.state-DRZAbcUu.js → thread-bindings.state-BNWfHA0f.js} +2 -2
  97. package/dist/plugin-sdk/{tmp-fased-dir-BpMLNd4L.d.ts → tmp-fased-dir-Be1wBhVz.d.ts} +1 -1
  98. package/dist/plugin-sdk/{types-0CsXVmg8.d.ts → types-CJGVZX6j.d.ts} +1 -1
  99. package/dist/plugin-sdk/{types-DMLEeE52.d.ts → types-CXLEOrJX.d.ts} +1 -1
  100. package/dist/plugin-sdk/{wallet-status-2yrXvqSS.js → wallet-status-Coekn_SJ.js} +77 -28
  101. package/dist/plugin-sdk/{web-CSRe4zy2.js → web-BwolzGVF.js} +31 -31
  102. package/dist/plugin-sdk/{whatsapp-actions-CkLkpg8M.js → whatsapp-actions-CSvf6eev.js} +13 -13
  103. package/dist/plugin-sdk/{whatsapp-heartbeat-DuAE9_88.js → whatsapp-heartbeat-Bw7OtTe6.js} +2 -2
  104. package/dist/plugin-sdk/whatsapp.d.ts +3 -3
  105. package/dist/plugin-sdk/whatsapp.js +12 -12
  106. package/dist/plugin-sdk/{wsl-CXVwPntb.js → wsl-By1Mc-oS.js} +3 -3
  107. package/dist/plugin-sdk/{zod-schema.providers-core-FaYR6KdD.d.ts → zod-schema.providers-core-TI6sL-6B.d.ts} +16 -16
  108. package/dist/providers/registry.js +1 -1
  109. package/dist/version.js +11 -1
  110. package/extensions/acpx/package.json +1 -1
  111. package/extensions/bluebubbles/package.json +1 -1
  112. package/extensions/copilot-proxy/package.json +1 -1
  113. package/extensions/diagnostics-otel/package.json +1 -1
  114. package/extensions/fased-federation/package.json +1 -1
  115. package/extensions/google-gemini-cli-auth/package.json +1 -1
  116. package/extensions/imessage/package.json +1 -1
  117. package/extensions/irc/package.json +1 -1
  118. package/extensions/line/package.json +1 -1
  119. package/extensions/llm-task/package.json +1 -1
  120. package/extensions/lobster/package.json +1 -1
  121. package/extensions/matrix/CHANGELOG.md +12 -0
  122. package/extensions/matrix/package.json +1 -1
  123. package/extensions/mattermost/package.json +1 -1
  124. package/extensions/memory-core/package.json +2 -2
  125. package/extensions/memory-lancedb/package.json +1 -1
  126. package/extensions/minimax-portal-auth/package.json +1 -1
  127. package/extensions/msteams/CHANGELOG.md +12 -0
  128. package/extensions/msteams/package.json +1 -1
  129. package/extensions/nextcloud-talk/package.json +1 -1
  130. package/extensions/nostr/CHANGELOG.md +12 -0
  131. package/extensions/nostr/package.json +1 -1
  132. package/extensions/open-prose/package.json +1 -1
  133. package/extensions/sat-mining/index.ts +122 -13
  134. package/extensions/sat-mining/package.json +1 -1
  135. package/extensions/sat-mining/src/protocol-contract.ts +64 -0
  136. package/extensions/sat-mining/src/round-watcher.ts +6 -4
  137. package/extensions/sat-mining/src/runtime.ts +9 -3
  138. package/extensions/sat-mining/src/solana-submit.ts +7 -53
  139. package/extensions/signal/package.json +1 -1
  140. package/extensions/synology-chat/package.json +1 -1
  141. package/extensions/tlon/package.json +1 -1
  142. package/extensions/twitch/CHANGELOG.md +12 -0
  143. package/extensions/twitch/package.json +1 -1
  144. package/extensions/voice-call/CHANGELOG.md +12 -0
  145. package/extensions/voice-call/package.json +1 -1
  146. package/extensions/zalo/CHANGELOG.md +12 -0
  147. package/extensions/zalo/package.json +1 -1
  148. package/extensions/zalouser/CHANGELOG.md +12 -0
  149. package/extensions/zalouser/package.json +1 -1
  150. package/package.json +1 -1
  151. package/scripts/start-managed.sh +21 -1
@@ -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-CyTWeylK.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-CeoGffDi.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 formatXHighModelHint, $t as resolveSubagentSpawnModelSelection, An as ensureAuthProfileStore, Ar as resolveEffectiveEnableState, At as isSafeExecutableValue, B as MODEL_APIS, Bn as loadPluginManifestRegistry, Bt as buildModelAliasIndex, C as resolveIMessageAttachmentRoots, Cn as markAuthProfileUsed, Cr as formatCliCommand, Ct as unwrapKnownDispatchWrapperInvocation, Dn as listProfilesForProvider, Dr as applyTestPluginDefaults, Dt as normalizeSafeBinProfileFixtures, En as dedupeProfileIds, Er as parseBooleanValue$1, 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, On as listProvidersWithStoredCredentials, Ot as resolveSafeBinProfiles, Q as getConfigOverrides, Qn as formatThinkingLevels, Qt as resolveReasoningDefault, Rn as findNormalizedProviderValue$1, Rt as buildAllowedModelSet, S as mergeInboundPathRoots, Sn as markAuthProfileFailure, Sr as resolveOwnerDisplaySetting, St as isShellWrapperExecutable, T as normalizeScpRemoteHost, Tn as resolveApiKeyForProfile, Tr as isTruthyEnvValue, 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 lookupProviderManifestModelCapability, Zt as resolveModelRefFromString, _n as normalizeProviderCatalogRows, _r as resolveShellEnvFallbackTimeoutMs, _t as matchAllowlist, a as readConfigFileSnapshotForWrite, an as getApiKeyForModel, ar as DEFAULT_MODEL, at as unsetConfigValueAtPath, b as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, bn as getSoonestCooldownExpiry, br as isDangerousHostInheritedEnvVarName, bt as extractShellWrapperInlineCommand, c as validateConfigObjectWithPlugins, cn as resolveApiKeyForProvider, ct as isTrustedSafeBinPath, dn as CURRENT_MODEL_PROVIDER_CATALOG, dr as extractErrorCode, dt as validateSafeBinArgv, en as resolveThinkingDefault, et as setConfigOverride, fn as listCurrentModelCatalogRows, fr as formatErrorMessage, ft as analyzeShellCommand, gn as normalizeModelCatalogProviderId, gr as getShellPathFromLoginShell, gt as DEFAULT_SAFE_BINS, hn as normalizeModelCatalogModelId, hr as extractArchive, ht as splitCommandChain, i as readConfigFileSnapshot, ir as DEFAULT_CONTEXT_TOKENS, it as setConfigValueAtPath, jn as resolveAuthStorePathForDisplay, jr as resolveMemorySlotDecision, kn as markAuthProfileGood, kr as normalizePluginsConfig, kt as applyMergePatch, ln as resolveEnvApiKey, lr as getPackageManifestMetadata, lt as listWritableExplicitTrustedSafeBinDirs, mn as mergeModelCatalogRowsByAuthority, mt as isWindowsPlatform, n as loadConfig, nr as resolveModelThinkingCapability, nt as getConfigValueAtPath, o as resolveConfigSnapshotHash, on as getCustomProviderApiKey, or as DEFAULT_PROVIDER, ot as ensurePluginAllowlisted, pn as buildModelCatalogMergeKey, pt as buildEnforcedShellCommand, q as isPathWithinRoot, r as parseConfigJson5, rr as supportsXHighThinking, rt as parseConfigPath, s as writeConfigFile, sn as requireApiKey, sr as VERSION, st as getTrustedSafeBinDirs, t as createConfigIO, tn as normalizeGoogleModelId, tr as normalizeThinkLevel, tt as unsetConfigOverride, un as resolveModelAuthMode, ut as normalizeTrustedSafeBinDirs, vr as isDangerousHostEnvOverrideVarName, vt as resolveAllowlistCandidatePath, w as resolveIMessageRemoteAttachmentRoots, wn as resolveProfilesUnavailableReason, wr as resolveCliName, wt as unwrapKnownShellMultiplexerInvocation, x as isInboundPathAllowed, xn as isProfileInCooldown, xr as sanitizeHostExecEnv, xt as isDispatchWrapperExecutable, yn as resolveAuthProfileOrder, yt as resolveCommandResolutionFromArgv, zn as normalizeProviderId$1, zt as buildConfiguredAllowlistKeys } from "./config-BxOWD3gF.js";
7
+ import { $ as resetConfigOverrides, $n as formatXHighModelHint, $t as resolveSubagentSpawnModelSelection, An as ensureAuthProfileStore, Ar as resolveEffectiveEnableState, At as isSafeExecutableValue, B as MODEL_APIS, Bn as loadPluginManifestRegistry, Bt as buildModelAliasIndex, C as resolveIMessageAttachmentRoots, Cn as markAuthProfileUsed, Cr as formatCliCommand, Ct as unwrapKnownDispatchWrapperInvocation, Dn as listProfilesForProvider, Dr as applyTestPluginDefaults, Dt as normalizeSafeBinProfileFixtures, En as dedupeProfileIds, Er as parseBooleanValue$1, 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, On as listProvidersWithStoredCredentials, Ot as resolveSafeBinProfiles, Q as getConfigOverrides, Qn as formatThinkingLevels, Qt as resolveReasoningDefault, Rn as findNormalizedProviderValue$1, Rt as buildAllowedModelSet, S as mergeInboundPathRoots, Sn as markAuthProfileFailure, Sr as resolveOwnerDisplaySetting, St as isShellWrapperExecutable, T as normalizeScpRemoteHost, Tn as resolveApiKeyForProfile, Tr as isTruthyEnvValue, 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 lookupProviderManifestModelCapability, Zt as resolveModelRefFromString, _n as normalizeProviderCatalogRows, _r as resolveShellEnvFallbackTimeoutMs, _t as matchAllowlist, a as readConfigFileSnapshotForWrite, an as getApiKeyForModel, ar as DEFAULT_MODEL, at as unsetConfigValueAtPath, b as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, bn as getSoonestCooldownExpiry, br as isDangerousHostInheritedEnvVarName, bt as extractShellWrapperInlineCommand, c as validateConfigObjectWithPlugins, cn as resolveApiKeyForProvider, ct as isTrustedSafeBinPath, dn as CURRENT_MODEL_PROVIDER_CATALOG, dr as extractErrorCode, dt as validateSafeBinArgv, en as resolveThinkingDefault, et as setConfigOverride, fn as listCurrentModelCatalogRows, fr as formatErrorMessage, ft as analyzeShellCommand, gn as normalizeModelCatalogProviderId, gr as getShellPathFromLoginShell, gt as DEFAULT_SAFE_BINS, hn as normalizeModelCatalogModelId, hr as extractArchive, ht as splitCommandChain, i as readConfigFileSnapshot, ir as DEFAULT_CONTEXT_TOKENS, it as setConfigValueAtPath, jn as resolveAuthStorePathForDisplay, jr as resolveMemorySlotDecision, kn as markAuthProfileGood, kr as normalizePluginsConfig, kt as applyMergePatch, ln as resolveEnvApiKey, lr as getPackageManifestMetadata, lt as listWritableExplicitTrustedSafeBinDirs, mn as mergeModelCatalogRowsByAuthority, mt as isWindowsPlatform, n as loadConfig, nr as resolveModelThinkingCapability, nt as getConfigValueAtPath, o as resolveConfigSnapshotHash, on as getCustomProviderApiKey, or as DEFAULT_PROVIDER, ot as ensurePluginAllowlisted, pn as buildModelCatalogMergeKey, pt as buildEnforcedShellCommand, q as isPathWithinRoot, r as parseConfigJson5, rr as supportsXHighThinking, rt as parseConfigPath, s as writeConfigFile, sn as requireApiKey, sr as VERSION, st as getTrustedSafeBinDirs, t as createConfigIO, tn as normalizeGoogleModelId, tr as normalizeThinkLevel, tt as unsetConfigOverride, un as resolveModelAuthMode, ut as normalizeTrustedSafeBinDirs, vr as isDangerousHostEnvOverrideVarName, vt as resolveAllowlistCandidatePath, w as resolveIMessageRemoteAttachmentRoots, wn as resolveProfilesUnavailableReason, wr as resolveCliName, wt as unwrapKnownShellMultiplexerInvocation, x as isInboundPathAllowed, xn as isProfileInCooldown, xr as sanitizeHostExecEnv, xt as isDispatchWrapperExecutable, yn as resolveAuthProfileOrder, yt as resolveCommandResolutionFromArgv, zn as normalizeProviderId$1, zt as buildConfiguredAllowlistKeys } from "./config-ZMbTT0kM.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-DzLdrOVC.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-B5fY9hZy.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-D01_6FkJ.js";
24
+ import { l as resolveChannelDefaultAccountId } from "./pairing-message-DpYT614h.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-FcEJfLTd.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-0E444CR0.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-CXVwPntb.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-DADXOv-J.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-CwN3c1Fq.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-DCxAv7bV.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-vfzH9tBn.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-By1Mc-oS.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-CprpGco9.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-CZuCyS7k.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-BaVO1F3i.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-BYc-Ol7C.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-2yrXvqSS.js";
46
- import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-D9-CQFS2.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-D6tYtvtU.js";
43
+ import { t as importOptionalRuntimeDependency } from "./optional-runtime-dependency-BFpqaCzp.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-BnOmQA5d.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-Coekn_SJ.js";
46
+ import { i as discoverModels, r as discoverAuthStorage } from "./pi-model-discovery-BQ6fFRBA.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-Cvbs0GXf.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-CpNefu6e.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-QBCmvhBQ.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-CNxLDNQ9.js";
54
- import { a as saveMediaBuffer, i as getMediaDir, n as ensureMediaDir } from "./outbound-attachment-Dhi2Q-_f.js";
51
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-B84dPWNG.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-4daDcNER.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-B_-UtG9F.js";
54
+ import { a as saveMediaBuffer, i as getMediaDir, n as ensureMediaDir } from "./outbound-attachment-DvcxPP7b.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-DRZAbcUu.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-BNWfHA0f.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-VNI6sxbG.js";
58
+ import { i as executeWithApiKeyRotation, n as parseGeminiAuth, r as collectProviderApiKeysForExecution } from "./manager-CHYhpKHn.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-BJPuBxmx.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-Bea-V_lR.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-C2CnUTPX.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-LMHJe8KW.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-COIbIjGO.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-BQL6TBIv.js";
64
64
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BFnIdcqI.js";
65
- import { t as parseDiscordTarget } from "./targets-eG595pY0.js";
65
+ import { t as parseDiscordTarget } from "./targets-D8UaoWHd.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-BPkfG5Pg.js";
72
- import { t as convertMarkdownTables } from "./tables-L5mXZ5y_.js";
71
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CZFzHOIe.js";
72
+ import { t as convertMarkdownTables } from "./tables-B-G7Bb0l.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-C8a74qPO.js";
75
+ import { t as getActiveWebListener } from "./active-listener-BH7rDR47.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-CSRe4zy2.js");
9645
+ const { sendMessageWhatsApp } = await import("./web-BwolzGVF.js");
9646
9646
  return await sendMessageWhatsApp(...args);
9647
9647
  },
9648
9648
  sendMessageTelegram: async (...args) => {
9649
- const { sendMessageTelegram } = await import("./send-BedQ8ekw.js").then((n) => n.c);
9649
+ const { sendMessageTelegram } = await import("./send-DVpCBUuL.js").then((n) => n.c);
9650
9650
  return await sendMessageTelegram(...args);
9651
9651
  },
9652
9652
  sendMessageDiscord: async (...args) => {
9653
- const { sendMessageDiscord } = await import("./send-Qckp3h4k.js").then((n) => n.t);
9653
+ const { sendMessageDiscord } = await import("./send-C0Q1u7N1.js").then((n) => n.t);
9654
9654
  return await sendMessageDiscord(...args);
9655
9655
  },
9656
9656
  sendMessageSlack: async (...args) => {
9657
- const { sendMessageSlack } = await import("./send-BtFuV6zU.js").then((n) => n.n);
9657
+ const { sendMessageSlack } = await import("./send-CGE7OgsA.js").then((n) => n.n);
9658
9658
  return await sendMessageSlack(...args);
9659
9659
  },
9660
9660
  sendMessageSignal: async (...args) => {
9661
- const { sendMessageSignal } = await import("./send-CNxLDNQ9.js").then((n) => n.i);
9661
+ const { sendMessageSignal } = await import("./send-B_-UtG9F.js").then((n) => n.i);
9662
9662
  return await sendMessageSignal(...args);
9663
9663
  },
9664
9664
  sendMessageIMessage: async (...args) => {
9665
- const { sendMessageIMessage } = await import("./send-FcEJfLTd.js").then((n) => n.n);
9665
+ const { sendMessageIMessage } = await import("./send-DCxAv7bV.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-VNI6sxbG.js").then((n) => n.t);
11731
+ const { MemoryIndexManager } = await import("./manager-CHYhpKHn.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-VNI6sxbG.js").then((n) => n.t);
11744
+ const { MemoryIndexManager } = await import("./manager-CHYhpKHn.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);
@@ -43029,7 +43029,7 @@ function isModuleNotFoundError(err) {
43029
43029
  }
43030
43030
  async function loadPwAiModule(mode) {
43031
43031
  try {
43032
- return await import("./pw-ai-CQG7vp-Y.js");
43032
+ return await import("./pw-ai-xgpIbHOr.js");
43033
43033
  } catch (err) {
43034
43034
  if (mode === "soft") return null;
43035
43035
  if (isModuleNotFoundError(err)) return null;
@@ -43423,11 +43423,11 @@ function createProfileContext(opts, profile) {
43423
43423
  const userDataDir = resolveFasedAgentUserDataDir(profile.name);
43424
43424
  const profileState = getProfileState();
43425
43425
  if (await isHttpReachable(300) && !profileState.running) try {
43426
- await (await import("./pw-ai-CQG7vp-Y.js")).closePlaywrightBrowserConnection();
43426
+ await (await import("./pw-ai-xgpIbHOr.js")).closePlaywrightBrowserConnection();
43427
43427
  } catch {}
43428
43428
  if (profileState.running) await stopRunningBrowser();
43429
43429
  try {
43430
- await (await import("./pw-ai-CQG7vp-Y.js")).closePlaywrightBrowserConnection();
43430
+ await (await import("./pw-ai-xgpIbHOr.js")).closePlaywrightBrowserConnection();
43431
43431
  } catch {}
43432
43432
  if (!fs.existsSync(userDataDir)) return {
43433
43433
  moved: false,
@@ -63618,7 +63618,7 @@ const handleSessionCommand = async (params, allowTextCommands) => {
63618
63618
  reply: { text: resolveSessionCommandUsage() }
63619
63619
  };
63620
63620
  }
63621
- const { setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey } = await import("./thread-bindings.lifecycle-C_5BEWmL.js").then((n) => n.i);
63621
+ const { setThreadBindingIdleTimeoutBySessionKey, setThreadBindingMaxAgeBySessionKey } = await import("./thread-bindings.lifecycle-DwYKCLLq.js").then((n) => n.i);
63622
63622
  const updatedBindings = action === SESSION_ACTION_IDLE ? setThreadBindingIdleTimeoutBySessionKey({
63623
63623
  targetSessionKey: binding.targetSessionKey,
63624
63624
  accountId,
@@ -64844,7 +64844,7 @@ async function createModelSelectionState(params) {
64844
64844
  }
64845
64845
  }
64846
64846
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
64847
- const { ensureAuthProfileStore } = await import("./config-BxOWD3gF.js").then((n) => n.vn);
64847
+ const { ensureAuthProfileStore } = await import("./config-ZMbTT0kM.js").then((n) => n.vn);
64848
64848
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
64849
64849
  const providerKey = normalizeProviderId(provider);
64850
64850
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -73787,7 +73787,7 @@ const discordMessageActions = {
73787
73787
  return null;
73788
73788
  },
73789
73789
  handleAction: async ({ action, params, cfg, accountId, requesterSenderId, toolContext, mediaLocalRoots }) => {
73790
- const { handleDiscordMessageAction } = await import("./handle-action-Bk-L2J84.js");
73790
+ const { handleDiscordMessageAction } = await import("./handle-action-C8ZZfORB.js");
73791
73791
  return await handleDiscordMessageAction({
73792
73792
  action,
73793
73793
  params,
@@ -74024,7 +74024,7 @@ const signalMessageActions = {
74024
74024
  //#region src/channels/plugins/actions/telegram.ts
74025
74025
  const providerId = "telegram";
74026
74026
  async function loadTelegramActionHandler() {
74027
- const { handleTelegramAction } = await import("./telegram-actions-D0Kyqy_e.js");
74027
+ const { handleTelegramAction } = await import("./telegram-actions-BARLx9zc.js");
74028
74028
  return handleTelegramAction;
74029
74029
  }
74030
74030
  function readTelegramSendParams(params) {
@@ -74194,7 +74194,7 @@ function createWhatsAppLoginTool() {
74194
74194
  force: Type.Optional(Type.Boolean())
74195
74195
  }),
74196
74196
  execute: async (_toolCallId, args) => {
74197
- const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BlSQ8QJF.js");
74197
+ const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-CRKHA7i8.js");
74198
74198
  if ((args?.action ?? "start") === "wait") {
74199
74199
  const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
74200
74200
  return {
@@ -74292,7 +74292,7 @@ async function buildMemoryInventory(params) {
74292
74292
  const qmdIndexPath = path.join(qmdDir, "xdg-cache", "qmd", "index.sqlite");
74293
74293
  const memoryDir = path.join(workspaceDir, "memory");
74294
74294
  const hookConfig = resolveHookConfig(cfg, "session-memory");
74295
- const activePlugin = resolveActiveMemoryPlugin(cfg);
74295
+ const activePlugin = resolveActiveMemoryPlugin(cfg, providerStatus);
74296
74296
  const workspaceStatus = await summarizePath(workspaceDir, roots);
74297
74297
  const memoryRootSpecs = [
74298
74298
  {
@@ -74350,6 +74350,9 @@ async function buildMemoryInventory(params) {
74350
74350
  ...typeof providerStatus?.files === "number" ? { files: providerStatus.files } : {},
74351
74351
  ...typeof providerStatus?.chunks === "number" ? { chunks: providerStatus.chunks } : {},
74352
74352
  ...typeof providerStatus?.dirty === "boolean" ? { dirty: providerStatus.dirty } : {},
74353
+ ...providerStatus?.fts ? { fts: providerStatus.fts } : {},
74354
+ ...providerStatus?.vector ? { vector: providerStatus.vector } : {},
74355
+ ...providerStatus?.fallback ? { fallback: providerStatus.fallback } : {},
74353
74356
  ...providerStatus?.dbPath ? { db: await summarizePath(providerStatus.dbPath, roots) } : {},
74354
74357
  ...providerStatus?.sources ? { sources: providerStatus.sources } : {},
74355
74358
  ...providerStatus?.sourceCounts ? { sourceCounts: providerStatus.sourceCounts } : {},
@@ -74405,6 +74408,18 @@ function validateMemoryInventory(inventory) {
74405
74408
  area: "backend",
74406
74409
  message: inventory.backend.error
74407
74410
  });
74411
+ if (inventory.backend.dirty) push({
74412
+ severity: "warn",
74413
+ code: "backend.index.dirty",
74414
+ area: "backend",
74415
+ message: "The memory index is stale and needs a rebuild before recall is current."
74416
+ });
74417
+ if (inventory.backend.vector?.enabled && inventory.backend.vector.available !== true) push({
74418
+ severity: "warn",
74419
+ code: "backend.semantic.unavailable",
74420
+ area: "backend",
74421
+ message: inventory.backend.vector.loadError ?? "Semantic recall is configured but vector search is not available."
74422
+ });
74408
74423
  if (inventory.backend.configured !== inventory.backend.active && inventory.backend.active) push({
74409
74424
  severity: "warn",
74410
74425
  code: "backend.active.differs",
@@ -74686,15 +74701,36 @@ function validatePathStatus(params) {
74686
74701
  path: status.path
74687
74702
  });
74688
74703
  }
74689
- function resolveActiveMemoryPlugin(cfg) {
74704
+ function resolveActiveMemoryPlugin(cfg, providerStatus) {
74690
74705
  const normalized = normalizePluginsConfig(cfg.plugins);
74691
74706
  const slot = normalized.slots.memory ?? null;
74692
74707
  const registry = getActivePluginRegistry();
74693
- const active = slot ? registry?.plugins.find((plugin) => plugin.id === slot) : void 0;
74708
+ const registryActive = slot ? registry?.plugins.find((plugin) => plugin.id === slot) : void 0;
74709
+ const providerBackedMemoryCore = slot === "memory-core" && providerStatus?.backend === "builtin" ? {
74710
+ id: "memory-core",
74711
+ name: "Memory Core",
74712
+ kind: "memory",
74713
+ source: "builtin memory backend",
74714
+ origin: "bundled",
74715
+ status: "loaded",
74716
+ enabled: true,
74717
+ toolNames: [],
74718
+ hookNames: [],
74719
+ channelIds: [],
74720
+ providerIds: [],
74721
+ gatewayMethods: [],
74722
+ cliCommands: [],
74723
+ services: [],
74724
+ commands: [],
74725
+ httpHandlers: 0,
74726
+ hookCount: 0,
74727
+ configSchema: false
74728
+ } : void 0;
74729
+ const active = registryActive ?? providerBackedMemoryCore;
74694
74730
  return {
74695
74731
  configuredSlot: slot,
74696
74732
  enabled: normalized.enabled && Boolean(slot) && active?.enabled === true && active.status === "loaded",
74697
- registryLoaded: Boolean(registry),
74733
+ registryLoaded: Boolean(registry || providerBackedMemoryCore),
74698
74734
  ...active ? { active: {
74699
74735
  id: active.id,
74700
74736
  name: active.name,
@@ -76469,7 +76505,7 @@ function buildPairingReply(params) {
76469
76505
 
76470
76506
  //#endregion
76471
76507
  //#region src/brand.ts
76472
- const FASED_PRODUCT_VERSION = "0.1.47";
76508
+ const FASED_PRODUCT_VERSION = "0.1.49";
76473
76509
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
76474
76510
 
76475
76511
  //#endregion
@@ -80348,7 +80384,7 @@ const handleWhatsAppActionLazy = async (...args) => {
80348
80384
  return handleWhatsAppAction(...args);
80349
80385
  };
80350
80386
  const auditDiscordChannelPermissionsLazy = async (...args) => {
80351
- const { auditDiscordChannelPermissions } = await import("./audit-ByK45Q1d.js").then((n) => n.t);
80387
+ const { auditDiscordChannelPermissions } = await import("./audit-BQfsboqd.js").then((n) => n.t);
80352
80388
  return auditDiscordChannelPermissions(...args);
80353
80389
  };
80354
80390
  const listDiscordDirectoryGroupsLiveLazy = async (...args) => {
@@ -80372,15 +80408,15 @@ const resolveDiscordUserAllowlistLazy = async (...args) => {
80372
80408
  return resolveDiscordUserAllowlist(...args);
80373
80409
  };
80374
80410
  const sendMessageDiscordLazy = async (...args) => {
80375
- const { sendMessageDiscord } = await import("./send-Qckp3h4k.js").then((n) => n.t);
80411
+ const { sendMessageDiscord } = await import("./send-C0Q1u7N1.js").then((n) => n.t);
80376
80412
  return sendMessageDiscord(...args);
80377
80413
  };
80378
80414
  const sendPollDiscordLazy = async (...args) => {
80379
- const { sendPollDiscord } = await import("./send-Qckp3h4k.js").then((n) => n.t);
80415
+ const { sendPollDiscord } = await import("./send-C0Q1u7N1.js").then((n) => n.t);
80380
80416
  return sendPollDiscord(...args);
80381
80417
  };
80382
80418
  const monitorDiscordProviderLazy = async (...args) => {
80383
- const { monitorDiscordProvider } = await import("./monitor-C9UczH5N.js");
80419
+ const { monitorDiscordProvider } = await import("./monitor-DJhU-J5u.js");
80384
80420
  return monitorDiscordProvider(...args);
80385
80421
  };
80386
80422
  const listSlackDirectoryGroupsLiveLazy = async (...args) => {
@@ -80404,15 +80440,15 @@ const resolveSlackUserAllowlistLazy = async (...args) => {
80404
80440
  return resolveSlackUserAllowlist(...args);
80405
80441
  };
80406
80442
  const sendMessageSlackLazy = async (...args) => {
80407
- const { sendMessageSlack } = await import("./send-BtFuV6zU.js").then((n) => n.n);
80443
+ const { sendMessageSlack } = await import("./send-CGE7OgsA.js").then((n) => n.n);
80408
80444
  return sendMessageSlack(...args);
80409
80445
  };
80410
80446
  const monitorSlackProviderLazy = async (...args) => {
80411
- const { monitorSlackProvider } = await import("./slack-bSeSOI9d.js");
80447
+ const { monitorSlackProvider } = await import("./slack-Bs_4uivd.js");
80412
80448
  return monitorSlackProvider(...args);
80413
80449
  };
80414
80450
  const handleSlackActionLazy = async (...args) => {
80415
- const { handleSlackAction } = await import("./slack-actions-CLyEd8FK.js");
80451
+ const { handleSlackAction } = await import("./slack-actions-CBPZkfTS.js");
80416
80452
  return handleSlackAction(...args);
80417
80453
  };
80418
80454
  const probeTelegramLazy = async (...args) => {
@@ -80420,15 +80456,15 @@ const probeTelegramLazy = async (...args) => {
80420
80456
  return probeTelegram(...args);
80421
80457
  };
80422
80458
  const sendMessageTelegramLazy = async (...args) => {
80423
- const { sendMessageTelegram } = await import("./send-BedQ8ekw.js").then((n) => n.c);
80459
+ const { sendMessageTelegram } = await import("./send-DVpCBUuL.js").then((n) => n.c);
80424
80460
  return sendMessageTelegram(...args);
80425
80461
  };
80426
80462
  const sendPollTelegramLazy = async (...args) => {
80427
- const { sendPollTelegram } = await import("./send-BedQ8ekw.js").then((n) => n.c);
80463
+ const { sendPollTelegram } = await import("./send-DVpCBUuL.js").then((n) => n.c);
80428
80464
  return sendPollTelegram(...args);
80429
80465
  };
80430
80466
  const monitorTelegramProviderLazy = async (...args) => {
80431
- const { monitorTelegramProvider } = await import("./monitor-BhHlerHI.js");
80467
+ const { monitorTelegramProvider } = await import("./monitor-CChc6bQV.js");
80432
80468
  return monitorTelegramProvider(...args);
80433
80469
  };
80434
80470
  let webOutboundPromise = null;
@@ -80437,23 +80473,23 @@ let webLoginQrPromise = null;
80437
80473
  let webChannelPromise = null;
80438
80474
  let whatsappActionsPromise = null;
80439
80475
  function loadWebOutbound() {
80440
- webOutboundPromise ??= import("./outbound-CWrcAWpE.js").then((n) => n.t);
80476
+ webOutboundPromise ??= import("./outbound-C1xBxfNb.js").then((n) => n.t);
80441
80477
  return webOutboundPromise;
80442
80478
  }
80443
80479
  function loadWebLogin() {
80444
- webLoginPromise ??= import("./login-B_At7IVI.js").then((n) => n.n);
80480
+ webLoginPromise ??= import("./login-C73Wpiw8.js").then((n) => n.n);
80445
80481
  return webLoginPromise;
80446
80482
  }
80447
80483
  function loadWebLoginQr() {
80448
- webLoginQrPromise ??= import("./login-qr-BlSQ8QJF.js");
80484
+ webLoginQrPromise ??= import("./login-qr-CRKHA7i8.js");
80449
80485
  return webLoginQrPromise;
80450
80486
  }
80451
80487
  function loadWebChannel() {
80452
- webChannelPromise ??= import("./web-CSRe4zy2.js");
80488
+ webChannelPromise ??= import("./web-BwolzGVF.js");
80453
80489
  return webChannelPromise;
80454
80490
  }
80455
80491
  function loadWhatsAppActions() {
80456
- whatsappActionsPromise ??= import("./whatsapp-actions-CkLkpg8M.js");
80492
+ whatsappActionsPromise ??= import("./whatsapp-actions-CSvf6eev.js");
80457
80493
  return whatsappActionsPromise;
80458
80494
  }
80459
80495
  function createPluginRuntime(options = {}) {
@@ -82451,7 +82487,7 @@ const log$8 = createSubsystemLogger("model-catalog");
82451
82487
  let modelCatalogPromise = null;
82452
82488
  let hasLoggedModelCatalogError = false;
82453
82489
  let hasLoggedProviderCatalogError = false;
82454
- const defaultImportPiSdk = () => import("./pi-model-discovery-D9-CQFS2.js").then((n) => n.a);
82490
+ const defaultImportPiSdk = () => import("./pi-model-discovery-BQ6fFRBA.js").then((n) => n.a);
82455
82491
  let importPiSdk = defaultImportPiSdk;
82456
82492
  const CODEX_PROVIDER = "openai-codex";
82457
82493
  const OPENAI_PROVIDER = "openai";
@@ -1,3 +1,3 @@
1
- import { _ as FasedAgentPluginApi } from "./types-DMLEeE52.js";
1
+ import { _ as FasedAgentPluginApi } from "./types-CXLEOrJX.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,10 +1,10 @@
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-DMLEeE52.js";
4
- import { D as normalizeE164 } from "./types-0CsXVmg8.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-6XVXW554.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-CXLEOrJX.js";
4
+ import { D as normalizeE164 } from "./types-CJGVZX6j.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-DWXHX-jt.js";
6
6
  import { _ as buildTokenChannelStatusSummary, i as resolveDiscordGroupToolPolicy, r as resolveDiscordGroupRequireMention } from "./group-mentions-DLOOve8d.js";
7
- import { t as DiscordConfigSchema } from "./zod-schema.providers-core-FaYR6KdD.js";
7
+ import { t as DiscordConfigSchema } from "./zod-schema.providers-core-TI6sL-6B.js";
8
8
 
9
9
  //#region src/discord/accounts.d.ts
10
10
  type ResolvedDiscordAccount = {
@@ -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-CyTWeylK.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-CeoGffDi.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-BxOWD3gF.js";
6
+ import { u as DiscordConfigSchema } from "./config-ZMbTT0kM.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-DzLdrOVC.js";
13
+ import "./accounts-B5fY9hZy.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-D01_6FkJ.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-DpYT614h.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-0E444CR0.js";
24
- import "./chunk-CwN3c1Fq.js";
25
- import "./optional-runtime-dependency-BaVO1F3i.js";
26
- import "./image-ops-BYc-Ol7C.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-vfzH9tBn.js";
24
+ import "./chunk-CZuCyS7k.js";
25
+ import "./optional-runtime-dependency-BFpqaCzp.js";
26
+ import "./image-ops-BnOmQA5d.js";
27
27
  import "./path-alias-guards-Dg3gU-MA.js";
28
28
  import "./fs-safe-BG-VzVkL.js";
29
- import "./markdown-tables-CpNefu6e.js";
30
- import "./media-QBCmvhBQ.js";
29
+ import "./markdown-tables-B84dPWNG.js";
30
+ import "./media-4daDcNER.js";
31
31
  import "./fetch-Cu-ahkie.js";
32
- import "./thread-bindings.state-DRZAbcUu.js";
33
- import { d as readStringParam, n as createActionGate } from "./common-BJPuBxmx.js";
32
+ import "./thread-bindings.state-BNWfHA0f.js";
33
+ import { d as readStringParam, n as createActionGate } from "./common-LMHJe8KW.js";
34
34
  import "./directory-live-DatqU-eS.js";
35
- import { t as parseDiscordTarget } from "./targets-eG595pY0.js";
35
+ import { t as parseDiscordTarget } from "./targets-D8UaoWHd.js";
36
36
  import "./render-Bwu_WxwA.js";
37
- import "./tables-L5mXZ5y_.js";
37
+ import "./tables-B-G7Bb0l.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-Qckp3h4k.js";
41
- import "./retry-policy-C0YsRX_6.js";
42
- import { n as collectDiscordAuditChannelIds } from "./audit-ByK45Q1d.js";
43
- import { t as configureChannelAccessWithAllowlist } from "./channel-access-configure-Di_DoR-Q.js";
44
- import { a as unbindThreadBindingsBySessionKey, n as listThreadBindingsBySessionKey, t as autoBindSpawnedDiscordSubagent } from "./thread-bindings.lifecycle-C_5BEWmL.js";
40
+ import "./send-C0Q1u7N1.js";
41
+ import "./retry-policy-BSdqqXsI.js";
42
+ import { n as collectDiscordAuditChannelIds } from "./audit-BQfsboqd.js";
43
+ import { t as configureChannelAccessWithAllowlist } from "./channel-access-configure-DlpuhlH6.js";
44
+ import { a as unbindThreadBindingsBySessionKey, n as listThreadBindingsBySessionKey, t as autoBindSpawnedDiscordSubagent } from "./thread-bindings.lifecycle-DwYKCLLq.js";
45
45
 
46
46
  //#region src/channels/plugins/normalize/discord.ts
47
47
  function normalizeDiscordMessagingTarget(raw) {