@lawpath-tech/openclaw 2026.2.21-29 → 2026.2.21-30

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 (84) hide show
  1. package/dist/{accounts-CQT5u65w.js → accounts-CJEDkyd7.js} +1 -1
  2. package/dist/{accounts-DFrH9IVU.js → accounts-CaJg9v7D.js} +1 -1
  3. package/dist/{accounts-C8m4ADkw.js → accounts-DQo5uGA3.js} +14 -14
  4. package/dist/{active-listener-BKTctYlH.js → active-listener-Bhmh-BBe.js} +1 -1
  5. package/dist/{agent-scope-DSUeV7-g.js → agent-scope-DiO1KimT.js} +3 -3
  6. package/dist/{audio-preflight-CODznzqu.js → audio-preflight-Da7vejCH.js} +4 -4
  7. package/dist/{audio-preflight-CLqoZYgI.js → audio-preflight-z9oahneY.js} +29 -29
  8. package/dist/{bindings-BKEEBdsb.js → bindings-CEJk9Gww.js} +2 -2
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +53 -53
  11. package/dist/bundled/bootstrap-extra-files/handler.js +5 -5
  12. package/dist/bundled/command-logger/handler.js +1 -1
  13. package/dist/bundled/session-memory/handler.js +53 -53
  14. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  15. package/dist/{channel-activity-BgsTqLau.js → channel-activity-pOw1s-fe.js} +1 -1
  16. package/dist/{chrome-Bqbv_ZSj.js → chrome-B3ZZfPkj.js} +13 -13
  17. package/dist/{chrome-lRUqqgSD.js → chrome-CZuniMYN.js} +7 -7
  18. package/dist/{chunk-fZrBDWYg.js → chunk-BkGjWi6P.js} +1 -1
  19. package/dist/{command-format-BOHIfoCX.js → command-format-CM0AxuCk.js} +1 -1
  20. package/dist/{commands-registry-BzlB3qtZ.js → commands-registry-C0QzohKU.js} +4 -4
  21. package/dist/{config-Du_-inxH.js → config-7ClJ9IDt.js} +12 -12
  22. package/dist/{deliver-B2d2N8OJ.js → deliver-0ThKlzQo.js} +1 -1
  23. package/dist/{deliver-CKH_FhS0.js → deliver-CrJoiqws.js} +20 -20
  24. package/dist/{diagnostic-DriDPU6M.js → diagnostic-DTfVTKJM.js} +1 -1
  25. package/dist/extensionAPI.js +6 -6
  26. package/dist/{frontmatter-CdkBcBAo.js → frontmatter-Dab6NVCF.js} +2 -2
  27. package/dist/{gemini-auth-A2JaRMHH.js → gemini-auth-CnEqRhSo.js} +1 -1
  28. package/dist/{github-copilot-token-Dgb9dAHW.js → github-copilot-token-DAycnoAs.js} +7 -7
  29. package/dist/{image-CxPjVob-.js → image-2bonNMVD.js} +4 -4
  30. package/dist/{image--DDZnw-F.js → image-88q3KE-C.js} +1 -1
  31. package/dist/{image-ops-BGmpOcey.js → image-ops-D-bh1BTN.js} +1 -1
  32. package/dist/{ir-DJPm0a4k.js → ir-j1Xb0PNv.js} +4 -4
  33. package/dist/llm-slug-generator.js +53 -53
  34. package/dist/{local-roots-JqlMsAYY.js → local-roots-Dx32AY60.js} +5 -5
  35. package/dist/{login-DXtAIVXy.js → login-CLQskGt7.js} +7 -7
  36. package/dist/{login-qr-D0A3WDBN.js → login-qr-CxZVehrh.js} +12 -12
  37. package/dist/{manager-D7SRrHxT.js → manager-C6KdjXEH.js} +13 -13
  38. package/dist/{manifest-registry-Dhk4A5vb.js → manifest-registry-D31TP66o.js} +19 -19
  39. package/dist/{markdown-tables-DpVJE0eA.js → markdown-tables-BOmw5zkp.js} +1 -1
  40. package/dist/{message-channel-CHYSjmbr.js → message-channel-BckS8bQ9.js} +1 -1
  41. package/dist/{model-auth-vtNH8C4P.js → model-auth-C-Vzzybi.js} +9 -9
  42. package/dist/{outbound-BWgFha97.js → outbound-Bk0PGZ1q.js} +7 -7
  43. package/dist/{outbound-attachment-B8WHzsCX.js → outbound-attachment-CHLSsIj_.js} +2 -2
  44. package/dist/{paths-CyR9Pa1R.js → paths-CkkDESQ2.js} +5 -5
  45. package/dist/{paths-BEAbheM8.js → paths-Cv2Q0cX2.js} +1 -1
  46. package/dist/{pi-auth-json-BiwfFswL.js → pi-auth-json-DzcwV2uo.js} +8 -8
  47. package/dist/{pi-embedded-Dz24QZz9.js → pi-embedded-BFPKtgT3.js} +158 -158
  48. package/dist/{pi-embedded-C_B8_quB.js → pi-embedded-ZvazjIyF.js} +16 -16
  49. package/dist/{pi-embedded-helpers-Cd0S0WfR.js → pi-embedded-helpers-B0Kht0I2.js} +4 -4
  50. package/dist/{pi-embedded-helpers-CSE0v99A.js → pi-embedded-helpers-eDaF2UhI.js} +52 -52
  51. package/dist/{plugins-DIrNa311.js → plugins-Bf_qBfZ7.js} +9 -9
  52. package/dist/{pw-ai-D-_aGzdQ.js → pw-ai-B3EislzC.js} +11 -11
  53. package/dist/{pw-ai-C-kqYO4L.js → pw-ai-S3cpSYOy.js} +1 -1
  54. package/dist/{qmd-manager-DePh-PT0.js → qmd-manager-DVrv2Huu.js} +7 -7
  55. package/dist/{registry-DpeZG5fo.js → registry-wimgwqAA.js} +18 -18
  56. package/dist/{replies-CSVWkVda.js → replies-DuQ9MtQM.js} +3 -3
  57. package/dist/{reply-prefix-DZrS3Kf7.js → reply-prefix-B_1VtLm5.js} +1 -1
  58. package/dist/{resolve-route-1ar2IrQt.js → resolve-route-CSE9DZsB.js} +4 -4
  59. package/dist/{retry-Bdu4_ZcT.js → retry-DwLEH9x4.js} +1 -1
  60. package/dist/{runner-D1eXJZ8T.js → runner-BeO6HoPY.js} +9 -9
  61. package/dist/{runner-Dq-qfrq7.js → runner-a43IsYad.js} +1 -1
  62. package/dist/{send-DPVf5tQ4.js → send-BCt1G0xY.js} +6 -6
  63. package/dist/{send-BeWYOs1x.js → send-CEP4RX_l.js} +7 -7
  64. package/dist/{send-Byt_wJDK.js → send-CMeyW_Bu.js} +6 -6
  65. package/dist/{send-CWtaJF1G.js → send-CdIaqNP6.js} +18 -18
  66. package/dist/{send-BEFzSOoD.js → send-DrfA4RxA.js} +10 -10
  67. package/dist/{session-Bnp7PC7f.js → session-CQ9JJgSo.js} +8 -8
  68. package/dist/{skill-commands-CqyVDpti.js → skill-commands-CwFNOYqC.js} +9 -9
  69. package/dist/{skills-DSZuhFx9.js → skills-C8xf0p1B.js} +21 -21
  70. package/dist/{sqlite-C3XxSzBN.js → sqlite-B6SD9PTM.js} +4 -4
  71. package/dist/{store-BrNiRjgB.js → store-VFVAfYgh.js} +2 -2
  72. package/dist/{subsystem-BF9jT_Nw.js → subsystem-BEdh_1O5.js} +1 -1
  73. package/dist/{tables-C3clT_iA.js → tables-QNO5uMcm.js} +1 -1
  74. package/dist/{target-errors-ChHV8dPI.js → target-errors-DD2466Y6.js} +2 -2
  75. package/dist/{thinking-Dg8vKjw_.js → thinking-BZFf1juV.js} +5 -5
  76. package/dist/{tokens-B-c56SkM.js → tokens-GCiqN5mi.js} +1 -1
  77. package/dist/{tool-images-C1rdDr34.js → tool-images-D0sBSASn.js} +2 -2
  78. package/dist/{tool-loop-detection-Bu3OGskw.js → tool-loop-detection-BPAeTbUj.js} +3 -3
  79. package/dist/{web-DiYh3u92.js → web-CVSol55V.js} +6 -6
  80. package/dist/{web-Y49Dumye.js → web-CfqjWSEf.js} +57 -57
  81. package/dist/{whatsapp-actions-DFZYzkBp.js → whatsapp-actions-kX73ghOz.js} +23 -23
  82. package/dist/{workspace-DYx5Dxtw.js → workspace-CH9k4Qgz.js} +6 -6
  83. package/extensions/voice-call/src/providers/realtime-session.ts +1 -32
  84. package/package.json +1 -1
@@ -14,7 +14,7 @@ import { a as logoutWeb, i as logWebSelfId, l as readWebSelfId, p as webAuthExis
14
14
  import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
15
15
  import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, o as parseSlackBlocksInput, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-Chks8Sx_.js";
16
16
  import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-D4cCHXzJ.js";
17
- import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-B2d2N8OJ.js";
17
+ import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-0ThKlzQo.js";
18
18
  import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-DzmNBZt3.js";
19
19
  import { r as getDiagnosticSessionState } from "./diagnostic-session-state-C1vRJs5w.js";
20
20
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-sr0G5UOe.js";
@@ -22,10 +22,10 @@ import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normali
22
22
  import { d as detectMime, f as extensionForMime, g as isGifMedia, h as isAudioFileName, i as getImageMetadata, m as imageMimeFromFormat, s as resizeToJpeg, x as mediaKindFromMime, y as MAX_IMAGE_BYTES } from "./image-ops-BfqdVNxh.js";
23
23
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-j5tVLINv.js";
24
24
  import { a as isMarkdownCapableMessageChannel, c as resolveGatewayMessageChannel, d as GATEWAY_CLIENT_MODES, f as GATEWAY_CLIENT_NAMES, i as isInternalMessageChannel, l as resolveMessageChannel, n as isDeliverableMessageChannel, o as listDeliverableMessageChannels, r as isGatewayMessageChannel, s as normalizeMessageChannel, t as INTERNAL_MESSAGE_CHANNEL, u as GATEWAY_CLIENT_IDS } from "./message-channel-DNOtJsL1.js";
25
- import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-Cd0S0WfR.js";
25
+ import { $ as mergeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as updateSessionStoreEntry, Jt as ensureSessionHeader, K as updateLastRoute, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as deliveryContextKey, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as resolveCacheTtlMs$1, Xt as resolveBootstrapTotalMaxChars, Y as isCacheEnabled, Yt as resolveBootstrapMaxChars, Z as deliveryContextFromSession, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as DEFAULT_RESET_TRIGGERS, a as isMessagingToolDuplicateNormalized, at as countToolResults, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as applyInputProvenanceToUserMessage, d as isAntigravityClaude, dt as resolveSessionKey, et as normalizeDeliveryContext, f as isGoogleModelApi, ft as evaluateSessionFreshness, g as formatBillingErrorMessage, gt as resolveThreadFlag, h as formatAssistantErrorText, ht as resolveSessionResetType, it as capArrayByJsonBytes, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as hasInterSessionUserProvenance, m as classifyFailoverReason, mt as resolveSessionResetPolicy, n as validateGeminiTurns, nt as normalizeAccountId$3, o as normalizeTextForComparison, ot as extractToolCallNames, p as BILLING_ERROR_USER_MESSAGE, pt as resolveChannelResetConfig, q as updateSessionStore, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as archiveSessionTranscripts, s as sanitizeSessionMessagesImages, st as INPUT_PROVENANCE_KIND_VALUES, t as validateAnthropicTurns, tt as normalizeSessionDeliveryFields, u as downgradeOpenAIReasoningBlocks, ut as normalizeInputProvenance, v as getApiErrorPayloadFingerprint, vt as resolveFreshSessionTotalTokens, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, yt as canonicalizeMainSessionAlias, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-B0Kht0I2.js";
26
26
  import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-KL7847B1.js";
27
27
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverOpenClawPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-sze5OW-s.js";
28
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-lRUqqgSD.js";
28
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CZuniMYN.js";
29
29
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-DGNBryo1.js";
30
30
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-CPfngF0S.js";
31
31
  import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -36,7 +36,7 @@ import { t as resolveIMessageAccount } from "./accounts-DAZL5b5o.js";
36
36
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-5iQF9bSz.js";
37
37
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
38
38
  import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-TQiVqsOc.js";
39
- import { S as ensureOpenClawModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image--DDZnw-F.js";
39
+ import { S as ensureOpenClawModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-88q3KE-C.js";
40
40
  import { n as resolveMemorySearchConfig } from "./manager-CsXJuzK4.js";
41
41
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-CmTvWxxq.js";
42
42
  import { n as retryAsync } from "./retry-CFbmOHr4.js";
@@ -49,7 +49,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-D-lkkPU3.js";
49
49
  import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-DEXQtgBS.js";
50
50
  import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-CGvIAIiQ.js";
51
51
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-QOi5vzUt.js";
52
- import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-Dq-qfrq7.js";
52
+ import { _ as resolveMediaUnderstandingScope, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as normalizeMediaUnderstandingChatType, h as resolveTimeoutMs$1, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveConcurrency, n as createMediaAttachmentCache, o as runCapability, p as registerUnhandledRejectionHandler, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as CLI_OUTPUT_MAX_BUFFER, y as applyTemplate } from "./runner-a43IsYad.js";
53
53
  import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BMa0enEg.js";
54
54
  import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-DtXYsHEc.js";
55
55
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-7fb2OxTV.js";
@@ -79,7 +79,7 @@ import { EdgeTTS } from "node-edge-tts";
79
79
  import AjvPkg from "ajv";
80
80
  import { createServer } from "node:http";
81
81
  import { ProxyAgent, fetch as fetch$1 } from "undici";
82
- import WebSocket, { WebSocket as WebSocket$1 } from "ws";
82
+ import WebSocket$1, { WebSocket } from "ws";
83
83
  import { Buffer as Buffer$1 } from "node:buffer";
84
84
  import { createJiti } from "jiti";
85
85
  import { Type } from "@sinclair/typebox";
@@ -5789,7 +5789,7 @@ var GatewayClient = class {
5789
5789
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5790
5790
  });
5791
5791
  }
5792
- this.ws = new WebSocket$1(url, wsOptions);
5792
+ this.ws = new WebSocket(url, wsOptions);
5793
5793
  this.ws.on("open", () => {
5794
5794
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5795
5795
  const tlsError = this.validateTlsFingerprint();
@@ -6008,7 +6008,7 @@ var GatewayClient = class {
6008
6008
  return null;
6009
6009
  }
6010
6010
  async request(method, params, opts) {
6011
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
6011
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
6012
6012
  const id = randomUUID();
6013
6013
  const frame = {
6014
6014
  type: "req",
@@ -7272,7 +7272,7 @@ async function routeReply(params) {
7272
7272
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
7273
7273
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
7274
7274
  try {
7275
- const { deliverOutboundPayloads } = await import("./deliver-B2d2N8OJ.js").then((n) => n.n);
7275
+ const { deliverOutboundPayloads } = await import("./deliver-0ThKlzQo.js").then((n) => n.n);
7276
7276
  return {
7277
7277
  ok: true,
7278
7278
  messageId: (await deliverOutboundPayloads({
@@ -41645,7 +41645,7 @@ async function deliverSessionMaintenanceWarning(params) {
41645
41645
  return;
41646
41646
  }
41647
41647
  try {
41648
- const { deliverOutboundPayloads } = await import("./deliver-B2d2N8OJ.js").then((n) => n.n);
41648
+ const { deliverOutboundPayloads } = await import("./deliver-0ThKlzQo.js").then((n) => n.n);
41649
41649
  await deliverOutboundPayloads({
41650
41650
  cfg: params.cfg,
41651
41651
  channel,
@@ -45092,7 +45092,7 @@ async function describeStickerImage(params) {
45092
45092
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
45093
45093
  try {
45094
45094
  const buffer = await fs$1.readFile(imagePath);
45095
- const { describeImageWithModel } = await import("./image--DDZnw-F.js").then((n) => n.n);
45095
+ const { describeImageWithModel } = await import("./image-88q3KE-C.js").then((n) => n.n);
45096
45096
  return (await describeImageWithModel({
45097
45097
  buffer,
45098
45098
  fileName: "sticker.webp",
@@ -47553,7 +47553,7 @@ async function preflightDiscordMessage(params) {
47553
47553
  let preflightTranscript;
47554
47554
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
47555
47555
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
47556
- const { transcribeFirstAudio } = await import("./audio-preflight-CODznzqu.js");
47556
+ const { transcribeFirstAudio } = await import("./audio-preflight-Da7vejCH.js");
47557
47557
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
47558
47558
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
47559
47559
  ctx: {
@@ -51559,7 +51559,7 @@ function isVoiceChannelType(type) {
51559
51559
  function createDefaultDeps() {
51560
51560
  return {
51561
51561
  sendMessageWhatsApp: async (...args) => {
51562
- const { sendMessageWhatsApp } = await import("./web-DiYh3u92.js");
51562
+ const { sendMessageWhatsApp } = await import("./web-CVSol55V.js");
51563
51563
  return await sendMessageWhatsApp(...args);
51564
51564
  },
51565
51565
  sendMessageTelegram: async (...args) => {
@@ -54472,7 +54472,7 @@ function createDiscordGatewayPlugin(params) {
54472
54472
  super(options);
54473
54473
  }
54474
54474
  createWebSocket(url) {
54475
- return new WebSocket(url, { agent });
54475
+ return new WebSocket$1(url, { agent });
54476
54476
  }
54477
54477
  }
54478
54478
  return new ProxyGatewayPlugin();
@@ -64745,7 +64745,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
64745
64745
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
64746
64746
  let preflightTranscript;
64747
64747
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
64748
- const { transcribeFirstAudio } = await import("./audio-preflight-CODznzqu.js");
64748
+ const { transcribeFirstAudio } = await import("./audio-preflight-Da7vejCH.js");
64749
64749
  preflightTranscript = await transcribeFirstAudio({
64750
64750
  ctx: {
64751
64751
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -66902,7 +66902,7 @@ function loadWebLoginQr() {
66902
66902
  return webLoginQrPromise;
66903
66903
  }
66904
66904
  function loadWebChannel() {
66905
- webChannelPromise ??= import("./web-DiYh3u92.js");
66905
+ webChannelPromise ??= import("./web-CVSol55V.js");
66906
66906
  return webChannelPromise;
66907
66907
  }
66908
66908
  function loadWhatsAppActions() {
@@ -10,7 +10,7 @@ import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
10
10
  import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BfqdVNxh.js";
11
11
  import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-DNOtJsL1.js";
12
12
  import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-KL7847B1.js";
13
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-lRUqqgSD.js";
13
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-CZuniMYN.js";
14
14
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-DGNBryo1.js";
15
15
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-CPfngF0S.js";
16
16
  import { t as SsrFBlockedError } from "./ssrf-CxfFyMRZ.js";
@@ -931,7 +931,7 @@ function isModuleNotFoundError(err) {
931
931
  }
932
932
  async function loadPwAiModule(mode) {
933
933
  try {
934
- return await import("./pw-ai-C-kqYO4L.js");
934
+ return await import("./pw-ai-S3cpSYOy.js");
935
935
  } catch (err) {
936
936
  if (mode === "soft") return null;
937
937
  if (isModuleNotFoundError(err)) return null;
@@ -3471,11 +3471,11 @@ function createProfileContext(opts, profile) {
3471
3471
  const userDataDir = resolveOpenClawUserDataDir(profile.name);
3472
3472
  const profileState = getProfileState();
3473
3473
  if (await isHttpReachable(300) && !profileState.running) try {
3474
- await (await import("./pw-ai-C-kqYO4L.js")).closePlaywrightBrowserConnection();
3474
+ await (await import("./pw-ai-S3cpSYOy.js")).closePlaywrightBrowserConnection();
3475
3475
  } catch {}
3476
3476
  if (profileState.running) await stopRunningBrowser();
3477
3477
  try {
3478
- await (await import("./pw-ai-C-kqYO4L.js")).closePlaywrightBrowserConnection();
3478
+ await (await import("./pw-ai-S3cpSYOy.js")).closePlaywrightBrowserConnection();
3479
3479
  } catch {}
3480
3480
  if (!fs.existsSync(userDataDir)) return {
3481
3481
  moved: false,
@@ -1,31 +1,31 @@
1
- import { i as resolveGatewayPort, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-CyR9Pa1R.js";
1
+ import { i as resolveGatewayPort, t as STATE_DIR, u as resolveRequiredHomeDir } from "./paths-CkkDESQ2.js";
2
2
  import { c as normalizeMainKey, l as resolveAgentIdFromSessionKey, m as normalizeOptionalAccountId, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID } from "./session-key-BCzIW1Y2.js";
3
- import { I as resolveUserPath, M as normalizeE164, U as truncateUtf16Safe, dt as resolvePreferredOpenClawTmpDir, t as CHANNEL_IDS } from "./registry-DpeZG5fo.js";
4
- import { n as resolveAgentConfig, u as resolveSessionAgentId } from "./agent-scope-DSUeV7-g.js";
5
- import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
6
- import { _ as runExec, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_USER_FILENAME, i as DEFAULT_HEARTBEAT_FILENAME, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME } from "./workspace-DYx5Dxtw.js";
7
- import { r as normalizeChannelId } from "./plugins-DIrNa311.js";
3
+ import { I as resolveUserPath, M as normalizeE164, U as truncateUtf16Safe, dt as resolvePreferredOpenClawTmpDir, t as CHANNEL_IDS } from "./registry-wimgwqAA.js";
4
+ import { n as resolveAgentConfig, u as resolveSessionAgentId } from "./agent-scope-DiO1KimT.js";
5
+ import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BEdh_1O5.js";
6
+ import { _ as runExec, a as DEFAULT_IDENTITY_FILENAME, c as DEFAULT_USER_FILENAME, i as DEFAULT_HEARTBEAT_FILENAME, l as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR, o as DEFAULT_SOUL_FILENAME, r as DEFAULT_BOOTSTRAP_FILENAME, s as DEFAULT_TOOLS_FILENAME, t as DEFAULT_AGENTS_FILENAME } from "./workspace-CH9k4Qgz.js";
7
+ import { r as normalizeChannelId } from "./plugins-Bf_qBfZ7.js";
8
8
  import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
9
9
  import { t as parseBooleanValue } from "./boolean-B8-BqKGQ.js";
10
- import { t as formatCliCommand } from "./command-format-BOHIfoCX.js";
11
- import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BGmpOcey.js";
12
- import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-vtNH8C4P.js";
13
- import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-CHYSjmbr.js";
14
- import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-Du_-inxH.js";
15
- import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-Bqbv_ZSj.js";
16
- import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-DSZuhFx9.js";
10
+ import { t as formatCliCommand } from "./command-format-CM0AxuCk.js";
11
+ import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-D-bh1BTN.js";
12
+ import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-C-Vzzybi.js";
13
+ import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-BckS8bQ9.js";
14
+ import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-7ClJ9IDt.js";
15
+ import { A as DEFAULT_BROWSER_EVALUATE_ENABLED, D as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, E as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, M as DEFAULT_OPENCLAW_BROWSER_ENABLED, N as DEFAULT_OPENCLAW_BROWSER_PROFILE_NAME, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, S as stopChromeExtensionRelayServer, _ as fetchJson, a as resolveOpenClawUserDataDir, c as captureScreenshot, d as normalizeCdpWsUrl, f as snapshotAria, g as appendCdpPath, h as withBrowserNavigationPolicy, i as launchOpenClawChrome, j as DEFAULT_OPENCLAW_BROWSER_COLOR, k as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, l as createTargetViaCdp, m as assertBrowserNavigationAllowed, n as isChromeCdpReady, o as stopOpenClawChrome, p as InvalidBrowserNavigationUrlError, r as isChromeReachable, s as resolveBrowserExecutableForPlatform, v as fetchOk, w as isLoopbackHost, x as ensureChromeExtensionRelayServer } from "./chrome-B3ZZfPkj.js";
16
+ import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-C8xf0p1B.js";
17
17
  import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BoQgnc8X.js";
18
18
  import { t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
19
- import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-BrNiRjgB.js";
20
- import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug } from "./thinking-Dg8vKjw_.js";
19
+ import { r as saveMediaBuffer, t as ensureMediaDir } from "./store-VFVAfYgh.js";
20
+ import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug } from "./thinking-BZFf1juV.js";
21
21
  import { n as resolveConversationLabel } from "./conversation-label-DXUkoKcB.js";
22
- import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BEAbheM8.js";
22
+ import { a as resolveSessionTranscriptPathInDir, i as resolveSessionTranscriptPath, n as resolveSessionFilePath, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-Cv2Q0cX2.js";
23
23
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-DDYvbmRV.js";
24
- import { t as sanitizeContentBlocksImages } from "./tool-images-C1rdDr34.js";
24
+ import { t as sanitizeContentBlocksImages } from "./tool-images-D0sBSASn.js";
25
25
  import fs from "node:fs/promises";
26
26
  import os from "node:os";
27
27
  import path, { posix } from "node:path";
28
- import fs$1, { existsSync, realpathSync } from "node:fs";
28
+ import fsSync, { existsSync, realpathSync } from "node:fs";
29
29
  import { spawn } from "node:child_process";
30
30
  import { CURRENT_SESSION_VERSION, SessionManager } from "@mariozechner/pi-coding-agent";
31
31
  import crypto, { createHash, timingSafeEqual } from "node:crypto";
@@ -933,7 +933,7 @@ function isModuleNotFoundError(err) {
933
933
  }
934
934
  async function loadPwAiModule(mode) {
935
935
  try {
936
- return await import("./pw-ai-D-_aGzdQ.js");
936
+ return await import("./pw-ai-B3EislzC.js");
937
937
  } catch (err) {
938
938
  if (mode === "soft") return null;
939
939
  if (isModuleNotFoundError(err)) return null;
@@ -2689,11 +2689,11 @@ async function movePathToTrash(targetPath) {
2689
2689
  return targetPath;
2690
2690
  } catch {
2691
2691
  const trashDir = path.join(os.homedir(), ".Trash");
2692
- fs$1.mkdirSync(trashDir, { recursive: true });
2692
+ fsSync.mkdirSync(trashDir, { recursive: true });
2693
2693
  const base = path.basename(targetPath);
2694
2694
  let dest = path.join(trashDir, `${base}-${Date.now()}`);
2695
- if (fs$1.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${Math.random()}`);
2696
- fs$1.renameSync(targetPath, dest);
2695
+ if (fsSync.existsSync(dest)) dest = path.join(trashDir, `${base}-${Date.now()}-${Math.random()}`);
2696
+ fsSync.renameSync(targetPath, dest);
2697
2697
  return dest;
2698
2698
  }
2699
2699
  }
@@ -2771,7 +2771,7 @@ function createBrowserProfilesService(ctx) {
2771
2771
  } catch {}
2772
2772
  const userDataDir = resolveOpenClawUserDataDir(name);
2773
2773
  const profileDir = path.dirname(userDataDir);
2774
- if (fs$1.existsSync(profileDir)) {
2774
+ if (fsSync.existsSync(profileDir)) {
2775
2775
  await movePathToTrash(profileDir);
2776
2776
  deleted = true;
2777
2777
  }
@@ -3473,13 +3473,13 @@ function createProfileContext(opts, profile) {
3473
3473
  const userDataDir = resolveOpenClawUserDataDir(profile.name);
3474
3474
  const profileState = getProfileState();
3475
3475
  if (await isHttpReachable(300) && !profileState.running) try {
3476
- await (await import("./pw-ai-D-_aGzdQ.js")).closePlaywrightBrowserConnection();
3476
+ await (await import("./pw-ai-B3EislzC.js")).closePlaywrightBrowserConnection();
3477
3477
  } catch {}
3478
3478
  if (profileState.running) await stopRunningBrowser();
3479
3479
  try {
3480
- await (await import("./pw-ai-D-_aGzdQ.js")).closePlaywrightBrowserConnection();
3480
+ await (await import("./pw-ai-B3EislzC.js")).closePlaywrightBrowserConnection();
3481
3481
  } catch {}
3482
- if (!fs$1.existsSync(userDataDir)) return {
3482
+ if (!fsSync.existsSync(userDataDir)) return {
3483
3483
  moved: false,
3484
3484
  from: userDataDir
3485
3485
  };
@@ -3898,7 +3898,7 @@ function releaseAllLocksSync() {
3898
3898
  if (typeof held.handle.close === "function") held.handle.close().catch(() => {});
3899
3899
  } catch {}
3900
3900
  try {
3901
- fs$1.rmSync(held.lockPath, { force: true });
3901
+ fsSync.rmSync(held.lockPath, { force: true });
3902
3902
  } catch {}
3903
3903
  HELD_LOCKS.delete(sessionFile);
3904
3904
  }
@@ -5698,7 +5698,7 @@ function resolveSessionTranscriptCandidates(sessionId, storePath, sessionFile, a
5698
5698
  }
5699
5699
  function archiveFileOnDisk(filePath, reason) {
5700
5700
  const archived = `${filePath}.${reason}.${(/* @__PURE__ */ new Date()).toISOString().replaceAll(":", "-")}`;
5701
- fs$1.renameSync(filePath, archived);
5701
+ fsSync.renameSync(filePath, archived);
5702
5702
  return archived;
5703
5703
  }
5704
5704
  /**
@@ -5708,7 +5708,7 @@ function archiveFileOnDisk(filePath, reason) {
5708
5708
  function archiveSessionTranscripts(opts) {
5709
5709
  const archived = [];
5710
5710
  for (const candidate of resolveSessionTranscriptCandidates(opts.sessionId, opts.storePath, opts.sessionFile, opts.agentId)) {
5711
- if (!fs$1.existsSync(candidate)) continue;
5711
+ if (!fsSync.existsSync(candidate)) continue;
5712
5712
  try {
5713
5713
  archived.push(archiveFileOnDisk(candidate, opts.reason));
5714
5714
  } catch {}
@@ -5740,15 +5740,15 @@ async function cleanupArchivedSessionTranscripts(opts) {
5740
5740
  let removed = 0;
5741
5741
  let scanned = 0;
5742
5742
  for (const dir of directories) {
5743
- const entries = await fs$1.promises.readdir(dir).catch(() => []);
5743
+ const entries = await fsSync.promises.readdir(dir).catch(() => []);
5744
5744
  for (const entry of entries) {
5745
5745
  const timestamp = parseArchivedTimestamp(entry, reason);
5746
5746
  if (timestamp == null) continue;
5747
5747
  scanned += 1;
5748
5748
  if (now - timestamp <= opts.olderThanMs) continue;
5749
5749
  const fullPath = path.join(dir, entry);
5750
- if (!(await fs$1.promises.stat(fullPath).catch(() => null))?.isFile()) continue;
5751
- await fs$1.promises.rm(fullPath).catch(() => void 0);
5750
+ if (!(await fsSync.promises.stat(fullPath).catch(() => null))?.isFile()) continue;
5751
+ await fsSync.promises.rm(fullPath).catch(() => void 0);
5752
5752
  removed += 1;
5753
5753
  }
5754
5754
  }
@@ -5884,7 +5884,7 @@ function isCacheEnabled(ttlMs) {
5884
5884
  }
5885
5885
  function getFileMtimeMs(filePath) {
5886
5886
  try {
5887
- return fs$1.statSync(filePath).mtimeMs;
5887
+ return fsSync.statSync(filePath).mtimeMs;
5888
5888
  } catch {
5889
5889
  return;
5890
5890
  }
@@ -5963,7 +5963,7 @@ function loadSessionStore(storePath, opts = {}) {
5963
5963
  const maxReadAttempts = process.platform === "win32" ? 3 : 1;
5964
5964
  const retryBuf = maxReadAttempts > 1 ? new Int32Array(new SharedArrayBuffer(4)) : void 0;
5965
5965
  for (let attempt = 0; attempt < maxReadAttempts; attempt++) try {
5966
- const raw = fs$1.readFileSync(storePath, "utf-8");
5966
+ const raw = fsSync.readFileSync(storePath, "utf-8");
5967
5967
  if (raw.length === 0 && attempt < maxReadAttempts - 1) {
5968
5968
  Atomics.wait(retryBuf, 0, 0, 50);
5969
5969
  continue;
@@ -6115,7 +6115,7 @@ function capEntryCount(store, overrideMax, opts = {}) {
6115
6115
  }
6116
6116
  async function getSessionFileSize(storePath) {
6117
6117
  try {
6118
- return (await fs$1.promises.stat(storePath)).size;
6118
+ return (await fsSync.promises.stat(storePath)).size;
6119
6119
  } catch {
6120
6120
  return null;
6121
6121
  }
@@ -6132,7 +6132,7 @@ async function rotateSessionFile(storePath, overrideBytes) {
6132
6132
  if (fileSize <= maxBytes) return false;
6133
6133
  const backupPath = `${storePath}.bak.${Date.now()}`;
6134
6134
  try {
6135
- await fs$1.promises.rename(storePath, backupPath);
6135
+ await fsSync.promises.rename(storePath, backupPath);
6136
6136
  log.info("rotated session store file", {
6137
6137
  backupPath: path.basename(backupPath),
6138
6138
  sizeBytes: fileSize
@@ -6143,11 +6143,11 @@ async function rotateSessionFile(storePath, overrideBytes) {
6143
6143
  try {
6144
6144
  const dir = path.dirname(storePath);
6145
6145
  const baseName = path.basename(storePath);
6146
- const backups = (await fs$1.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
6146
+ const backups = (await fsSync.promises.readdir(dir)).filter((f) => f.startsWith(`${baseName}.bak.`)).toSorted().toReversed();
6147
6147
  const maxBackups = 3;
6148
6148
  if (backups.length > maxBackups) {
6149
6149
  const toDelete = backups.slice(maxBackups);
6150
- for (const old of toDelete) await fs$1.promises.unlink(path.join(dir, old)).catch(() => void 0);
6150
+ for (const old of toDelete) await fsSync.promises.unlink(path.join(dir, old)).catch(() => void 0);
6151
6151
  log.info("cleaned up old session store backups", { deleted: toDelete.length });
6152
6152
  }
6153
6153
  } catch {}
@@ -6202,14 +6202,14 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
6202
6202
  await rotateSessionFile(storePath, maintenance.rotateBytes);
6203
6203
  }
6204
6204
  }
6205
- await fs$1.promises.mkdir(path.dirname(storePath), { recursive: true });
6205
+ await fsSync.promises.mkdir(path.dirname(storePath), { recursive: true });
6206
6206
  const json = JSON.stringify(store, null, 2);
6207
6207
  if (process.platform === "win32") {
6208
6208
  const tmp = `${storePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
6209
6209
  try {
6210
- await fs$1.promises.writeFile(tmp, json, "utf-8");
6210
+ await fsSync.promises.writeFile(tmp, json, "utf-8");
6211
6211
  for (let i = 0; i < 5; i++) try {
6212
- await fs$1.promises.rename(tmp, storePath);
6212
+ await fsSync.promises.rename(tmp, storePath);
6213
6213
  break;
6214
6214
  } catch {
6215
6215
  if (i < 4) await new Promise((r) => setTimeout(r, 50 * (i + 1)));
@@ -6219,27 +6219,27 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
6219
6219
  if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) === "ENOENT") return;
6220
6220
  throw err;
6221
6221
  } finally {
6222
- await fs$1.promises.rm(tmp, { force: true }).catch(() => void 0);
6222
+ await fsSync.promises.rm(tmp, { force: true }).catch(() => void 0);
6223
6223
  }
6224
6224
  return;
6225
6225
  }
6226
6226
  const tmp = `${storePath}.${process.pid}.${crypto.randomUUID()}.tmp`;
6227
6227
  try {
6228
- await fs$1.promises.writeFile(tmp, json, {
6228
+ await fsSync.promises.writeFile(tmp, json, {
6229
6229
  mode: 384,
6230
6230
  encoding: "utf-8"
6231
6231
  });
6232
- await fs$1.promises.rename(tmp, storePath);
6233
- await fs$1.promises.chmod(storePath, 384);
6232
+ await fsSync.promises.rename(tmp, storePath);
6233
+ await fsSync.promises.chmod(storePath, 384);
6234
6234
  } catch (err) {
6235
6235
  if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) === "ENOENT") {
6236
6236
  try {
6237
- await fs$1.promises.mkdir(path.dirname(storePath), { recursive: true });
6238
- await fs$1.promises.writeFile(storePath, json, {
6237
+ await fsSync.promises.mkdir(path.dirname(storePath), { recursive: true });
6238
+ await fsSync.promises.writeFile(storePath, json, {
6239
6239
  mode: 384,
6240
6240
  encoding: "utf-8"
6241
6241
  });
6242
- await fs$1.promises.chmod(storePath, 384);
6242
+ await fsSync.promises.chmod(storePath, 384);
6243
6243
  } catch (err2) {
6244
6244
  if ((err2 && typeof err2 === "object" && "code" in err2 ? String(err2.code) : null) === "ENOENT") return;
6245
6245
  throw err2;
@@ -6248,7 +6248,7 @@ async function saveSessionStoreUnlocked(storePath, store, opts) {
6248
6248
  }
6249
6249
  throw err;
6250
6250
  } finally {
6251
- await fs$1.promises.rm(tmp, { force: true });
6251
+ await fsSync.promises.rm(tmp, { force: true });
6252
6252
  }
6253
6253
  }
6254
6254
  async function updateSessionStore(storePath, mutator, opts) {
@@ -6493,8 +6493,8 @@ function resolveMirroredTranscriptText(params) {
6493
6493
  return trimmed ? trimmed : null;
6494
6494
  }
6495
6495
  async function ensureSessionHeader(params) {
6496
- if (fs$1.existsSync(params.sessionFile)) return;
6497
- await fs$1.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
6496
+ if (fsSync.existsSync(params.sessionFile)) return;
6497
+ await fsSync.promises.mkdir(path.dirname(params.sessionFile), { recursive: true });
6498
6498
  const header = {
6499
6499
  type: "session",
6500
6500
  version: CURRENT_SESSION_VERSION,
@@ -6502,7 +6502,7 @@ async function ensureSessionHeader(params) {
6502
6502
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
6503
6503
  cwd: process.cwd()
6504
6504
  };
6505
- await fs$1.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
6505
+ await fsSync.promises.writeFile(params.sessionFile, `${JSON.stringify(header)}\n`, {
6506
6506
  encoding: "utf-8",
6507
6507
  mode: 384
6508
6508
  });
@@ -1,10 +1,10 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-BCzIW1Y2.js";
2
- import { M as normalizeE164, a as normalizeAnyChannelId, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-DpeZG5fo.js";
3
- import { m as createAccountListHelpers } from "./accounts-C8m4ADkw.js";
2
+ import { M as normalizeE164, a as normalizeAnyChannelId, l as requireActivePluginRegistry, n as CHAT_CHANNEL_ORDER } from "./registry-wimgwqAA.js";
3
+ import { m as createAccountListHelpers } from "./accounts-DQo5uGA3.js";
4
4
  import { t as normalizeChatType } from "./chat-type-C_KiWNAH.js";
5
- import { r as isTruthyEnvValue } from "./command-format-BOHIfoCX.js";
6
- import { n as listBoundAccountIds, r as resolveDefaultAgentBoundAccountId } from "./bindings-BKEEBdsb.js";
7
- import fs from "node:fs";
5
+ import { r as isTruthyEnvValue } from "./command-format-CM0AxuCk.js";
6
+ import { n as listBoundAccountIds, r as resolveDefaultAgentBoundAccountId } from "./bindings-CEJk9Gww.js";
7
+ import fsSync from "node:fs";
8
8
 
9
9
  //#region src/channels/plugins/account-action-gate.ts
10
10
  function createAccountActionGate(params) {
@@ -186,7 +186,7 @@ function resolveTelegramToken(cfg, opts = {}) {
186
186
  const accountCfg = resolveAccountCfg(accountId !== DEFAULT_ACCOUNT_ID ? accountId : DEFAULT_ACCOUNT_ID);
187
187
  const accountTokenFile = accountCfg?.tokenFile?.trim();
188
188
  if (accountTokenFile) {
189
- if (!fs.existsSync(accountTokenFile)) {
189
+ if (!fsSync.existsSync(accountTokenFile)) {
190
190
  opts.logMissingFile?.(`channels.telegram.accounts.${accountId}.tokenFile not found: ${accountTokenFile}`);
191
191
  return {
192
192
  token: "",
@@ -194,7 +194,7 @@ function resolveTelegramToken(cfg, opts = {}) {
194
194
  };
195
195
  }
196
196
  try {
197
- const token = fs.readFileSync(accountTokenFile, "utf-8").trim();
197
+ const token = fsSync.readFileSync(accountTokenFile, "utf-8").trim();
198
198
  if (token) return {
199
199
  token,
200
200
  source: "tokenFile"
@@ -219,7 +219,7 @@ function resolveTelegramToken(cfg, opts = {}) {
219
219
  const allowEnv = accountId === DEFAULT_ACCOUNT_ID;
220
220
  const tokenFile = telegramCfg?.tokenFile?.trim();
221
221
  if (tokenFile && allowEnv) {
222
- if (!fs.existsSync(tokenFile)) {
222
+ if (!fsSync.existsSync(tokenFile)) {
223
223
  opts.logMissingFile?.(`channels.telegram.tokenFile not found: ${tokenFile}`);
224
224
  return {
225
225
  token: "",
@@ -227,7 +227,7 @@ function resolveTelegramToken(cfg, opts = {}) {
227
227
  };
228
228
  }
229
229
  try {
230
- const token = fs.readFileSync(tokenFile, "utf-8").trim();
230
+ const token = fsSync.readFileSync(tokenFile, "utf-8").trim();
231
231
  if (token) return {
232
232
  token,
233
233
  source: "tokenFile"
@@ -1,15 +1,15 @@
1
- import "./paths-CyR9Pa1R.js";
2
- import { dt as resolvePreferredOpenClawTmpDir } from "./registry-DpeZG5fo.js";
3
- import "./agent-scope-DSUeV7-g.js";
4
- import "./subsystem-BF9jT_Nw.js";
5
- import "./workspace-DYx5Dxtw.js";
1
+ import "./paths-CkkDESQ2.js";
2
+ import { dt as resolvePreferredOpenClawTmpDir } from "./registry-wimgwqAA.js";
3
+ import "./agent-scope-DiO1KimT.js";
4
+ import "./subsystem-BEdh_1O5.js";
5
+ import "./workspace-CH9k4Qgz.js";
6
6
  import "./boolean-B8-BqKGQ.js";
7
- import { t as formatCliCommand } from "./command-format-BOHIfoCX.js";
8
- import "./model-auth-vtNH8C4P.js";
9
- import "./github-copilot-token-Dgb9dAHW.js";
10
- import "./config-Du_-inxH.js";
11
- import "./manifest-registry-Dhk4A5vb.js";
12
- import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-Bqbv_ZSj.js";
7
+ import { t as formatCliCommand } from "./command-format-CM0AxuCk.js";
8
+ import "./model-auth-C-Vzzybi.js";
9
+ import "./github-copilot-token-DAycnoAs.js";
10
+ import "./config-7ClJ9IDt.js";
11
+ import "./manifest-registry-D31TP66o.js";
12
+ import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-B3ZZfPkj.js";
13
13
  import "./redact-jSxx6Ep2.js";
14
14
  import { n as formatErrorMessage } from "./errors-BoQgnc8X.js";
15
15
  import "./ssrf-BTMDZjHT.js";
@@ -7,7 +7,7 @@ import "./github-copilot-token-ttqQRqMA.js";
7
7
  import { r as formatCliCommand } from "./env-DulyEJtM.js";
8
8
  import "./config-KL7847B1.js";
9
9
  import "./manifest-registry-sze5OW-s.js";
10
- import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-lRUqqgSD.js";
10
+ import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-CZuniMYN.js";
11
11
  import "./redact-1NGYV_8p.js";
12
12
  import { n as formatErrorMessage } from "./errors-CPfngF0S.js";
13
13
  import "./ssrf-CxfFyMRZ.js";
@@ -1,12 +1,12 @@
1
- import { s as resolveStateDir } from "./paths-CyR9Pa1R.js";
1
+ import { s as resolveStateDir } from "./paths-CkkDESQ2.js";
2
2
  import { y as parseAgentSessionKey } from "./session-key-BCzIW1Y2.js";
3
- import "./registry-DpeZG5fo.js";
4
- import { s as resolveAgentWorkspaceDir } from "./agent-scope-DSUeV7-g.js";
5
- import { t as createSubsystemLogger } from "./subsystem-BF9jT_Nw.js";
6
- import "./workspace-DYx5Dxtw.js";
3
+ import "./registry-wimgwqAA.js";
4
+ import { s as resolveAgentWorkspaceDir } from "./agent-scope-DiO1KimT.js";
5
+ import { t as createSubsystemLogger } from "./subsystem-BEdh_1O5.js";
6
+ import "./workspace-CH9k4Qgz.js";
7
7
  import "./redact-jSxx6Ep2.js";
8
- import "./paths-BEAbheM8.js";
9
- import { _ as isFileMissingError, n as buildSessionEntry, r as listSessionFilesForAgent, t as requireNodeSqlite, v as statRegularFile } from "./sqlite-C3XxSzBN.js";
8
+ import "./paths-Cv2Q0cX2.js";
9
+ import { _ as isFileMissingError, n as buildSessionEntry, r as listSessionFilesForAgent, t as requireNodeSqlite, v as statRegularFile } from "./sqlite-B6SD9PTM.js";
10
10
  import fs from "node:fs/promises";
11
11
  import os from "node:os";
12
12
  import path from "node:path";