squidclaw 3.0.32 → 3.0.33

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 (108) hide show
  1. package/dist/{acp-cli-Cgh0knV4.js → acp-cli-BeT7oXUu.js} +2 -2
  2. package/dist/{agents.config-DOZdl-eO.js → agents.config-Cav8LwTL.js} +1 -1
  3. package/dist/{audio-preflight-CXP7KNn_.js → audio-preflight-Ckq8A2xS.js} +4 -4
  4. package/dist/{audio-preflight-CB33NBGY.js → audio-preflight-WUW8KeL4.js} +6 -6
  5. package/dist/{audio-transcription-runner-BOxTuqbS.js → audio-transcription-runner-Bd34S1mx.js} +1 -1
  6. package/dist/{audio-transcription-runner-CCZC5tJf.js → audio-transcription-runner-BkEXZq6_.js} +1 -1
  7. package/dist/{audit-BhpEYysK.js → audit-CL1tJbCc.js} +6 -6
  8. package/dist/{auth-choice-CW-WPa0J.js → auth-choice-CbIT_f15.js} +2 -2
  9. package/dist/{browser-cli-BsOTPzD6.js → browser-cli-Bjw4bzsY.js} +3 -3
  10. package/dist/build-info.json +2 -2
  11. package/dist/bundled/session-memory/HOOK.md +1 -1
  12. package/dist/bundled/session-memory/handler.js +48 -0
  13. package/dist/{call-CsRvPUMG.js → call-BZMmsZnA.js} +1 -1
  14. package/dist/{channel-options-DiLSWw11.js → channel-options-ByYVebwk.js} +1 -1
  15. package/dist/{channel-web-B9qThdZn.js → channel-web-DRCZstY9.js} +3 -3
  16. package/dist/{channels-cli-DPzzCs8D.js → channels-cli-fZ8vLR-3.js} +21 -21
  17. package/dist/{chrome-AmH-OPlL.js → chrome-B3h5980A.js} +8 -8
  18. package/dist/{chrome-DLZaNSqV.js → chrome-uzcvgAW9.js} +8 -8
  19. package/dist/{clawbot-cli-Y6f5RzmX.js → clawbot-cli-Aal6iAhy.js} +4 -4
  20. package/dist/{cli-Cegwo5rc.js → cli-DDzqaV2x.js} +16 -16
  21. package/dist/{client-DYXM5N_N.js → client-gy8bx9Xy.js} +4 -4
  22. package/dist/{command-secret-targets-4lxt7RD_.js → command-secret-targets-QzzK0cvw.js} +2 -2
  23. package/dist/{completion-cli-BLY0f3DS.js → completion-cli-cvF7VIAg.js} +1 -1
  24. package/dist/{config-cli-B7X83S8T.js → config-cli-BeARZFf8.js} +1 -1
  25. package/dist/{configure-Hiahxtwa.js → configure-D3v5-GDg.js} +6 -6
  26. package/dist/{cron-cli-DIoOoMCm.js → cron-cli-DjN_8kik.js} +3 -3
  27. package/dist/{daemon-cli-DyGOGB4b.js → daemon-cli-D-GtS9tA.js} +2 -2
  28. package/dist/{deliver-Baa4v4N-.js → deliver-KuyvhwaK.js} +1 -1
  29. package/dist/{deliver-DGXG0w_w.js → deliver-e7dtX7aI.js} +1 -1
  30. package/dist/{deliver-runtime-Cld2SPeU.js → deliver-runtime-CJeRn4Mi.js} +5 -5
  31. package/dist/{deliver-runtime-Do2EXjHh.js → deliver-runtime-DPjMYovi.js} +3 -3
  32. package/dist/{deps-send-whatsapp.runtime-rPF4BAeN.js → deps-send-whatsapp.runtime-B155kzJI.js} +7 -7
  33. package/dist/{deps-send-whatsapp.runtime-Di849gV3.js → deps-send-whatsapp.runtime-cpKOCWZ7.js} +18 -18
  34. package/dist/{devices-cli-DJ5t9Awn.js → devices-cli-CxBvKU-k.js} +2 -2
  35. package/dist/{doctor-completion-kjDYgxZk.js → doctor-completion-BIsKBzEq.js} +1 -1
  36. package/dist/{exec-approvals-cli-qbq31pxo.js → exec-approvals-cli-BWJVqTGx.js} +4 -4
  37. package/dist/extensionAPI.js +6 -6
  38. package/dist/{gateway-cli-lvhI_G2p.js → gateway-cli-D6hF-7r8.js} +28 -28
  39. package/dist/{gateway-rpc-DXJlCFNJ.js → gateway-rpc-CMY4PORW.js} +1 -1
  40. package/dist/{health-TD-34Yp-.js → health-B6rkscPh.js} +3 -3
  41. package/dist/{hooks-cli-C6DWUB-U.js → hooks-cli-CsLbZW55.js} +17 -17
  42. package/dist/{image-DI75geX3.js → image-CBBib8Ld.js} +1 -1
  43. package/dist/{image-Ccz6ndn7.js → image-Dkl58_nM.js} +1 -1
  44. package/dist/{image-runtime-Obmeae9a.js → image-runtime-2ePySomG.js} +5 -5
  45. package/dist/{image-runtime-BWARi-r4.js → image-runtime-BinILRte.js} +3 -3
  46. package/dist/index.js +21 -21
  47. package/dist/{logs-cli-C4B9RucB.js → logs-cli-Dv4wWIJZ.js} +3 -3
  48. package/dist/{memory-cli-C7wo32BJ.js → memory-cli-CgsaxpRr.js} +1 -1
  49. package/dist/{models-cli-CGWYDv56.js → models-cli-Cs6QUPHJ.js} +17 -17
  50. package/dist/{node-cli-DhcjrGhX.js → node-cli-QeGnYeqt.js} +5 -5
  51. package/dist/{node-command-policy-CPjB6YQt.js → node-command-policy-CzqB-8ah.js} +1 -1
  52. package/dist/{nodes-cli-CmE8JKKq.js → nodes-cli-u94LkIig.js} +3 -3
  53. package/dist/{npm-resolution-Bwt62vuA.js → npm-resolution-DptUU3y3.js} +1 -1
  54. package/dist/{onboard-BP7rTtCO.js → onboard-CJX_C5lq.js} +3 -3
  55. package/dist/{onboard-channels-D2p7QNyT.js → onboard-channels-CA3x3tGg.js} +2 -2
  56. package/dist/{onboard-helpers-JS-Lbczt.js → onboard-helpers-DZtoPn8i.js} +1 -1
  57. package/dist/{onboard-remote-Bf-wwh2S.js → onboard-remote-BvW9CIHn.js} +1 -1
  58. package/dist/{onboard-skills-CUip0jpN.js → onboard-skills-D19L2KkN.js} +1 -1
  59. package/dist/{onboarding-LbGi6oDz.js → onboarding-CvKwUVhN.js} +7 -7
  60. package/dist/{onboarding.finalize-CWcaxeIO.js → onboarding.finalize-CxclFJxn.js} +21 -21
  61. package/dist/{onboarding.gateway-config-BfJ7jZ3-.js → onboarding.gateway-config-DvYcbETj.js} +4 -4
  62. package/dist/{pi-embedded-BoY_A7hg.js → pi-embedded-BULXCFPg.js} +24 -24
  63. package/dist/{pi-embedded-helpers-u_th5KKV.js → pi-embedded-helpers-CQJfmPVp.js} +3 -3
  64. package/dist/{pi-embedded-helpers-DBZo6ghW.js → pi-embedded-helpers-CuiXHzQ1.js} +1 -1
  65. package/dist/{pi-tools.policy-BYTs7z53.js → pi-tools.policy-FpqAOqvu.js} +1 -1
  66. package/dist/{plugin-registry-FXXByNP3.js → plugin-registry-Cpf1qgAz.js} +1 -1
  67. package/dist/plugin-sdk/imessage.js +2 -2
  68. package/dist/plugin-sdk/mattermost.js +3 -3
  69. package/dist/plugin-sdk/signal.js +2 -2
  70. package/dist/{plugins-cli-BmfpsKs2.js → plugins-cli-DWmGTrQi.js} +17 -17
  71. package/dist/{program-context-Cc5-MG37.js → program-context-CIEsO7ba.js} +34 -34
  72. package/dist/{prompt-select-styled-BmJHQFIe.js → prompt-select-styled-4uvdkCmK.js} +10 -10
  73. package/dist/{provider-auth-helpers-BrYxePGn.js → provider-auth-helpers-Ds4co7pd.js} +1 -1
  74. package/dist/{push-apns-BH6u2jeD.js → push-apns-wyGqUoCL.js} +1 -1
  75. package/dist/{pw-ai-Bxj7Voze.js → pw-ai-DS32O9Ei.js} +1 -1
  76. package/dist/{pw-ai-Do8UJz-Y.js → pw-ai-DXis1Gal.js} +1 -1
  77. package/dist/{qr-cli-t7wb_tRQ.js → qr-cli-DhqLEdBe.js} +1 -1
  78. package/dist/{register.agent-eYMqq7DM.js → register.agent-IRNp0fr-.js} +21 -21
  79. package/dist/{register.configure-5ZU_WG0B.js → register.configure-D4ecAwAg.js} +24 -24
  80. package/dist/{register.maintenance-Di-_iCcy.js → register.maintenance-YOZ3sMNS.js} +22 -22
  81. package/dist/{register.message-BJEQ0tWj.js → register.message-ozARKUco.js} +17 -17
  82. package/dist/{register.onboard-D8V8BiRf.js → register.onboard-BtzGW6wy.js} +5 -5
  83. package/dist/{register.setup-CuD_ucSh.js → register.setup-CaZETnfd.js} +5 -5
  84. package/dist/{register.status-health-sessions-CfcRluvS.js → register.status-health-sessions-qS3pe6Kw.js} +20 -20
  85. package/dist/{reply-DM6COks_.js → reply-d12k6JyN.js} +30 -30
  86. package/dist/{rpc-BAWL8_DO.js → rpc-BnWL4MCX.js} +1 -1
  87. package/dist/{sandbox-dnsTApLp.js → sandbox-4_YzlsBa.js} +2 -2
  88. package/dist/{sandbox-cli-B_c94l3B.js → sandbox-cli-CO9AcpuP.js} +3 -3
  89. package/dist/{secrets-cli-ES-9H2pj.js → secrets-cli-CE_fukZS.js} +3 -3
  90. package/dist/{security-cli-B5H4tjcT.js → security-cli-D-jh37Iy.js} +8 -8
  91. package/dist/{server-DWce8-ko.js → server-COF4C6UQ.js} +4 -4
  92. package/dist/{server-context-CYPsJeRg.js → server-context-DWRUW3Oc.js} +3 -3
  93. package/dist/{server-lifecycle-CL57-qY-.js → server-lifecycle-DSRW9YyS.js} +2 -2
  94. package/dist/{server-node-events-CM2wrNgk.js → server-node-events-DcI3BKLU.js} +17 -17
  95. package/dist/{slash-dispatch.runtime-9OkfqjfK.js → slash-dispatch.runtime-CnIrfAgj.js} +16 -16
  96. package/dist/{slash-dispatch.runtime-B79IzyjK.js → slash-dispatch.runtime-DidWtkRY.js} +6 -6
  97. package/dist/{status-DLXPWgfm.js → status-Cxc7ROTK.js} +7 -7
  98. package/dist/{subagent-registry-runtime-CQR_M6WF.js → subagent-registry-runtime-DqbU91-h.js} +16 -16
  99. package/dist/{subagent-registry-runtime-CFbDYdKR.js → subagent-registry-runtime-Dup_yrOH.js} +6 -6
  100. package/dist/{system-cli-CUOkjFj4.js → system-cli-B0wBc7tJ.js} +3 -3
  101. package/dist/{tui-ChZP3wJ7.js → tui-BNyyikcb.js} +3 -3
  102. package/dist/{tui-cli-nXP__ZM8.js → tui-cli-DsuDwgRG.js} +7 -7
  103. package/dist/{update-cli-XGRmAcuW.js → update-cli-CqGNnerP.js} +23 -23
  104. package/dist/{update-runner-7klqnWFq.js → update-runner-BGYtEI5Z.js} +1 -1
  105. package/dist/{web-6kCngkSg.js → web-BQbhCFGN.js} +17 -17
  106. package/dist/{web-BUpcF84p.js → web-Cp2nm6U4.js} +6 -6
  107. package/dist/{with-timeout-CtjR5hW9.js → with-timeout-DINiEgLx.js} +2 -2
  108. package/package.json +1 -1
@@ -10,15 +10,15 @@ import { a as logWebSelfId, h as resolveAccountEntry, i as getWebAuthAgeMs, m as
10
10
  import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i as createSlackWebClient, l as parseSlackTarget, n as markdownToSlackMrkdwnChunks, o as parseSlackBlocksInput, r as normalizeSlackOutboundText, s as validateSlackBlocksArray, t as sendMessageSlack, u as resolveSlackChannelId } from "./send-BeyF6W_n.js";
11
11
  import { $ as stripUndefinedFields, A as unpinMessageDiscord, At as resolveChannelEntryMatchWithFallback, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveDiscordSystemLocation, D as pinMessageDiscord, Dt as applyChannelMatchMeta, E as listThreadsDiscord, Et as fetchDiscord, 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 buildChannelKeyCandidates, P as fetchChannelInfoDiscord, Q as sendDiscordText, R as kickMemberDiscord, S as deleteMessageDiscord, St as formatDiscordUserTag, T as listPinsDiscord, Tt as DiscordApiError, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendStickerDiscord, _t as resolveDiscordOwnerAllowFrom, a as sendDiscordComponentMessage, at as parseDiscordTarget, b as formatMention, bt as shouldEmitDiscordReactionNotification, c as parseDiscordComponentCustomId, ct as listDiscordDirectoryPeersLive, d as parseDiscordModalCustomIdForCarbon, dt as normalizeDiscordSlug, et as fetchChannelPermissionsDiscord, f as readDiscordComponentSpec, ft as resolveDiscordAllowListMatch, g as sendPollDiscord, gt as resolveDiscordOwnerAccess, h as sendMessageDiscord, ht as resolveDiscordMemberAccessState, i as removeReactionDiscord, it as createDiscordRestClient, j as addRoleDiscord, k as searchMessagesDiscord, kt as normalizeChannelSlug, l as parseDiscordComponentCustomIdForCarbon, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordModalEntry, mt as resolveDiscordGuildEntry, n as reactMessageDiscord, nt as chunkDiscordTextWithMode, o as createDiscordFormModal, ot as resolveDiscordChannelId, p as resolveDiscordComponentEntry, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as removeOwnReactionsDiscord, rt as createDiscordClient, s as formatDiscordComponentEventText, st as listDiscordDirectoryGroupsLive, t as fetchReactionsDiscord, tt as hasAnyGuildPermissionDiscord, u as parseDiscordModalCustomId, ut as normalizeDiscordAllowList, v as sendVoiceMessageDiscord, vt as resolveDiscordShouldRequireMention, w as fetchMessageDiscord, wt as resolveTimestampMs, x as createThreadDiscord, xt as formatDiscordReactionEmoji, y as sendWebhookMessageDiscord, yt as resolveGroupDmAllow, z as listGuildChannelsDiscord } from "./send-DqgWqDyz.js";
12
12
  import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-D68-1Hhs.js";
13
- import { C as createReplyToModeFilterForChannel, D as normalizeTargetForProvider, E as normalizeChannelTargetInput, O as getGlobalHookRunner, S as shouldSuppressReasoningPayload, T as buildTargetResolverSignature, _ as applyReplyThreading, a as normalizeReplyPayloadsForDelivery, b as isRenderablePayload, c as splitMediaFromOutput, d as toInternalMessageReceivedContext, f as toInternalMessageTranscribedContext, g as applyReplyTagsToPayload, h as fireAndForgetHook, i as normalizeOutboundPayloadsForJson, k as initializeGlobalHookRunner, l as deriveInboundMessageHookContext, m as toPluginMessageReceivedEvent, n as formatOutboundPayloadLog, o as throwIfAborted, p as toPluginMessageContext, r as normalizeOutboundPayloads, s as parseReplyDirectives, t as deliverOutboundPayloads, u as toInternalMessagePreprocessedContext, v as filterMessagingToolDuplicates, w as resolveReplyToMode, x as shouldSuppressMessagingToolReplies, y as filterMessagingToolMediaDuplicates } from "./deliver-Baa4v4N-.js";
13
+ import { C as createReplyToModeFilterForChannel, D as normalizeTargetForProvider, E as normalizeChannelTargetInput, O as getGlobalHookRunner, S as shouldSuppressReasoningPayload, T as buildTargetResolverSignature, _ as applyReplyThreading, a as normalizeReplyPayloadsForDelivery, b as isRenderablePayload, c as splitMediaFromOutput, d as toInternalMessageReceivedContext, f as toInternalMessageTranscribedContext, g as applyReplyTagsToPayload, h as fireAndForgetHook, i as normalizeOutboundPayloadsForJson, k as initializeGlobalHookRunner, l as deriveInboundMessageHookContext, m as toPluginMessageReceivedEvent, n as formatOutboundPayloadLog, o as throwIfAborted, p as toPluginMessageContext, r as normalizeOutboundPayloads, s as parseReplyDirectives, t as deliverOutboundPayloads, u as toInternalMessagePreprocessedContext, v as filterMessagingToolDuplicates, w as resolveReplyToMode, x as shouldSuppressMessagingToolReplies, y as filterMessagingToolMediaDuplicates } from "./deliver-KuyvhwaK.js";
14
14
  import { a as logMessageQueued, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, h as isDiagnosticsEnabled, i as logMessageProcessed, l as logWebhookProcessed, m as emitDiagnosticEvent, n as logLaneDequeue, o as logSessionStateChange, p as getDiagnosticSessionState, r as logLaneEnqueue, t as diag, u as logWebhookReceived } from "./diagnostic-Bkx-XrQ-.js";
15
15
  import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-M-PDXeZS.js";
16
16
  import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-D1wBrTyc.js";
17
17
  import { A as mediaKindFromMime, C as imageMimeFromFormat, E as kindFromMime, O as MAX_IMAGE_BYTES, T as isGifMedia, _ as GATEWAY_CLIENT_IDS, b as detectMime, c as INTERNAL_MESSAGE_CHANNEL, d as isInternalMessageChannel, f as isMarkdownCapableMessageChannel, g as resolveMessageChannel, h as resolveGatewayMessageChannel, i as getImageMetadata, l as isDeliverableMessageChannel, m as normalizeMessageChannel, p as listDeliverableMessageChannels, s as resizeToJpeg, u as isGatewayMessageChannel, v as GATEWAY_CLIENT_MODES, w as isAudioFileName, x as extensionForMime, y as GATEWAY_CLIENT_NAMES } from "./image-ops-kjt4AS_Q.js";
18
18
  import { $ as removeChannelAllowFromStoreEntry, A as expandTextLinks, B as resolveTelegramThreadSpec, C as buildSenderName, D as buildTelegramThreadParams, E as buildTelegramParentPeer, F as resolveTelegramForumThreadId, G as firstDefined$1, H as normalizeAllowFrom$2, I as resolveTelegramGroupAllowFromContext, J as resolveGroupAllowFromSources, K as isSenderIdAllowed, L as resolveTelegramMediaPlaceholder, M as hasBotMention, N as normalizeForwardedContext, O as buildTypingThreadParams, P as resolveTelegramDirectPeerId, Q as readChannelAllowFromStore, R as resolveTelegramReplyId, S as buildSenderLabel, T as buildTelegramGroupPeerId, U as normalizeDmAllowFromWithStore$1, V as isSenderAllowed$1, W as resolveSenderAllowMatch$1, X as toLocationContext, Y as formatLocationText, Z as addChannelAllowFromStoreEntry, _ as splitTelegramCaption, a as reactMessageTelegram, at as isVoiceCompatibleAudio, b as resolveCronStorePath, c as sendStickerTelegram, d as isRecoverableTelegramNetworkError, et as upsertChannelPairingRequest, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, it as listPairingChannels, j as extractTelegramLocation, k as describeReplyTarget, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, n as createForumTopicTelegram, nt as writeJsonFileAtomically, o as sendMessageTelegram, p as markdownToTelegramHtml, q as mergeDmAllowFromSources, r as deleteMessageTelegram, rt as getPairingAdapter, s as sendPollTelegram, t as buildInlineKeyboard, tt as readJsonFileWithFallback, u as wasSentByBot, v as withTelegramApiErrorLogging, w as buildTelegramGroupFrom, x as buildGroupLabel, y as loadCronStore, z as resolveTelegramStreamMode } from "./send-9u8kftSc.js";
19
19
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DFKBIBxp.js";
20
- import { $ as deliveryContextFromSession, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as resolveFreshSessionTotalTokens, D as isLikelyContextOverflowError, Dt as resolveMainSessionKey, E as isFailoverErrorMessage, Et as resolveExplicitAgentSessionKey, F as isTimeoutErrorMessage, Ft as resolveBrowserConfig, G as readSessionUpdatedAt, Gt as collectExplicitAllowlist, Ht as resolveSandboxConfigForAgent, I as ensureSandboxWorkspaceForSession, It as resolveProfile, J as updateLastRoute, Jt as stripPluginOnlyAllowlist, K as recordSessionMetaFromInbound, Kt as expandPolicyWithPluginGroups, L as resolveSandboxContext, Lt as getBridgeAuthForPort, M as parseImageSizeError, Mt as resolveSessionLockMaxHoldFromTimeout, N as sanitizeUserFacingText, Nt as createBrowserRouteContext, O as isRateLimitAssistantError, Ot as deriveSessionMetaPatch, P as isAuthPermanentErrorMessage, Pt as registerBrowserRoutes, Q as resolveCacheTtlMs$1, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as mergeSessionEntry, T as isFailoverAssistantError, Tt as canonicalizeMainSessionAlias, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as updateSessionStoreEntry, Xt as normalizeToolName, Y as updateSessionStore, Yt as expandToolGroups, Z as isCacheEnabled, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveChannelResetConfig, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as archiveSessionTranscripts, b as isAuthAssistantError, bt as resolveThreadFlag, c as extractToolCallsFromAssistant, ct as extractToolCallNames, d as downgradeOpenAIFunctionCallReasoningPairs, dt as applyInputProvenanceToUserMessage, en as buildBootstrapContextFiles, et as deliveryContextKey, f as downgradeOpenAIReasoningBlocks, ft as hasInterSessionUserProvenance, g as formatAssistantErrorText, gt as evaluateSessionFreshness, h as classifyFailoverReason, ht as resolveSessionKey, in as resolveBootstrapTotalMaxChars, it as normalizeAccountId$3, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as parseInlineDirectives$1, m as BILLING_ERROR_USER_MESSAGE, mt as jsonUtf8Bytes, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeDeliveryContext, o as normalizeTextForComparison, ot as capArrayByJsonBytes, p as isGoogleModelApi, pt as normalizeInputProvenance, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeSessionDeliveryFields, s as sanitizeSessionMessagesImages, st as countToolResults, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as mergeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as INPUT_PROVENANCE_KIND_VALUES, v as formatRawAssistantErrorForUi, vt as resolveSessionResetPolicy, w as isContextOverflowError, wt as setSessionRuntimeModel, x as isBillingAssistantError, xt as DEFAULT_RESET_TRIGGERS, y as getApiErrorPayloadFingerprint, yt as resolveSessionResetType, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-u_th5KKV.js";
21
- import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-AmH-OPlL.js";
20
+ import { $ as deliveryContextFromSession, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as resolveFreshSessionTotalTokens, D as isLikelyContextOverflowError, Dt as resolveMainSessionKey, E as isFailoverErrorMessage, Et as resolveExplicitAgentSessionKey, F as isTimeoutErrorMessage, Ft as resolveBrowserConfig, G as readSessionUpdatedAt, Gt as collectExplicitAllowlist, Ht as resolveSandboxConfigForAgent, I as ensureSandboxWorkspaceForSession, It as resolveProfile, J as updateLastRoute, Jt as stripPluginOnlyAllowlist, K as recordSessionMetaFromInbound, Kt as expandPolicyWithPluginGroups, L as resolveSandboxContext, Lt as getBridgeAuthForPort, M as parseImageSizeError, Mt as resolveSessionLockMaxHoldFromTimeout, N as sanitizeUserFacingText, Nt as createBrowserRouteContext, O as isRateLimitAssistantError, Ot as deriveSessionMetaPatch, P as isAuthPermanentErrorMessage, Pt as registerBrowserRoutes, Q as resolveCacheTtlMs$1, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as mergeSessionEntry, T as isFailoverAssistantError, Tt as canonicalizeMainSessionAlias, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as updateSessionStoreEntry, Xt as normalizeToolName, Y as updateSessionStore, Yt as expandToolGroups, Z as isCacheEnabled, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveChannelResetConfig, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as archiveSessionTranscripts, b as isAuthAssistantError, bt as resolveThreadFlag, c as extractToolCallsFromAssistant, ct as extractToolCallNames, d as downgradeOpenAIFunctionCallReasoningPairs, dt as applyInputProvenanceToUserMessage, en as buildBootstrapContextFiles, et as deliveryContextKey, f as downgradeOpenAIReasoningBlocks, ft as hasInterSessionUserProvenance, g as formatAssistantErrorText, gt as evaluateSessionFreshness, h as classifyFailoverReason, ht as resolveSessionKey, in as resolveBootstrapTotalMaxChars, it as normalizeAccountId$3, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as parseInlineDirectives$1, m as BILLING_ERROR_USER_MESSAGE, mt as jsonUtf8Bytes, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeDeliveryContext, o as normalizeTextForComparison, ot as capArrayByJsonBytes, p as isGoogleModelApi, pt as normalizeInputProvenance, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeSessionDeliveryFields, s as sanitizeSessionMessagesImages, st as countToolResults, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as mergeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as INPUT_PROVENANCE_KIND_VALUES, v as formatRawAssistantErrorForUi, vt as resolveSessionResetPolicy, w as isContextOverflowError, wt as setSessionRuntimeModel, x as isBillingAssistantError, xt as DEFAULT_RESET_TRIGGERS, y as getApiErrorPayloadFingerprint, yt as resolveSessionResetType, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-CQJfmPVp.js";
21
+ import { A as rawDataToString, B as isSecureWebSocketUrl, C as ensureChromeExtensionRelayServer, N as DEFAULT_UPLOAD_DIR, P as resolveExistingPathsWithinRoot, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, s as resolveLsofCommandSync, z as isLoopbackHost } from "./chrome-B3h5980A.js";
22
22
  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-D-yc7joe.js";
23
23
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CkoY5PBF.js";
24
24
  import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-kK-uDSQK.js";
@@ -31,8 +31,8 @@ import { t as resolveIMessageAccount } from "./accounts-CBw88Ct9.js";
31
31
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-DX1_VIk-.js";
32
32
  import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-UAKcGiUQ.js";
33
33
  import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-CYIFgCQb.js";
34
- import { C as minimaxUnderstandImage, S as extractTextFromChatContent, _ as formatToolSummary, a as resolveProviderVisionModelFromConfig, b as findCodeRegions, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripThinkingTagsFromText, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$1, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as resolveToolDisplay, w as ensureSquidClawModelsJson, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-DI75geX3.js";
35
- import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-BOxTuqbS.js";
34
+ import { C as minimaxUnderstandImage, S as extractTextFromChatContent, _ as formatToolSummary, a as resolveProviderVisionModelFromConfig, b as findCodeRegions, c as extractThinkingFromTaggedStream, d as inferToolMetaFromArgs, f as isAssistantMessage, g as stripThinkingTagsFromText, h as stripMinimaxToolCallXml, i as decodeDataUrl, l as extractThinkingFromTaggedText, m as stripDowngradedToolCallText, n as coerceImageAssistantText, o as extractAssistantText$1, p as promoteThinkingTagsToBlocks, r as coerceImageModelConfig, s as extractAssistantThinking, u as formatReasoningMessage, v as resolveToolDisplay, w as ensureSquidClawModelsJson, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-CBBib8Ld.js";
35
+ import { _ as resolveAttachmentKind, a as resolveAutoImageModel, b as modelSupportsVision, c as applyTemplate, d as normalizeMediaUnderstandingChatType, f as resolveMediaUnderstandingScope, h as registerUnhandledRejectionHandler, i as normalizeMediaAttachments, l as resolveConcurrency, m as buildRandomTempFilePath, n as buildProviderRegistry, o as resolveMediaAttachmentLocalRoots, p as CLI_OUTPUT_MAX_BUFFER, r as createMediaAttachmentCache, s as runCapability, t as runAudioTranscription, u as resolveTimeoutMs$2, v as findModelInCatalog, y as loadModelCatalog } from "./audio-transcription-runner-Bd34S1mx.js";
36
36
  import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-C6LwQYOf.js";
37
37
  import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-B_Wivh-n.js";
38
38
  import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-B1gqp9Cu.js";
@@ -69,7 +69,7 @@ import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, Setting
69
69
  import { EdgeTTS } from "node-edge-tts";
70
70
  import { createServer } from "node:http";
71
71
  import { ProxyAgent, fetch as fetch$1 } from "undici";
72
- import WebSocket$1, { WebSocket } from "ws";
72
+ import WebSocket, { WebSocket as WebSocket$1 } from "ws";
73
73
  import { Buffer as Buffer$1 } from "node:buffer";
74
74
  import { createJiti } from "jiti";
75
75
  import AjvPkg from "ajv";
@@ -8230,7 +8230,7 @@ var GatewayClient = class {
8230
8230
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
8231
8231
  });
8232
8232
  }
8233
- this.ws = new WebSocket(url, wsOptions);
8233
+ this.ws = new WebSocket$1(url, wsOptions);
8234
8234
  this.ws.on("open", () => {
8235
8235
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
8236
8236
  const tlsError = this.validateTlsFingerprint();
@@ -8426,7 +8426,7 @@ var GatewayClient = class {
8426
8426
  const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
8427
8427
  if (this.connectTimer) clearTimeout(this.connectTimer);
8428
8428
  this.connectTimer = setTimeout(() => {
8429
- if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
8429
+ if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
8430
8430
  this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
8431
8431
  this.ws?.close(1008, "connect challenge timeout");
8432
8432
  }, connectChallengeTimeoutMs);
@@ -8468,7 +8468,7 @@ var GatewayClient = class {
8468
8468
  return null;
8469
8469
  }
8470
8470
  async request(method, params, opts) {
8471
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
8471
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
8472
8472
  const id = randomUUID();
8473
8473
  const frame = {
8474
8474
  type: "req",
@@ -9890,7 +9890,7 @@ function normalizeReplyPayload(payload, opts = {}) {
9890
9890
  */
9891
9891
  let deliverRuntimePromise$2 = null;
9892
9892
  function loadDeliverRuntime$2() {
9893
- deliverRuntimePromise$2 ??= import("./deliver-runtime-Do2EXjHh.js");
9893
+ deliverRuntimePromise$2 ??= import("./deliver-runtime-DPjMYovi.js");
9894
9894
  return deliverRuntimePromise$2;
9895
9895
  }
9896
9896
  /**
@@ -11178,7 +11178,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
11178
11178
  const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
11179
11179
  let subagentRegistryRuntimePromise = null;
11180
11180
  function loadSubagentRegistryRuntime() {
11181
- subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-CFbDYdKR.js");
11181
+ subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-Dup_yrOH.js");
11182
11182
  return subagentRegistryRuntimePromise;
11183
11183
  }
11184
11184
  const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
@@ -14532,7 +14532,7 @@ async function runWithConcurrency(tasks, limit) {
14532
14532
  //#region src/media-understanding/echo-transcript.ts
14533
14533
  let deliverRuntimePromise$1 = null;
14534
14534
  function loadDeliverRuntime$1() {
14535
- deliverRuntimePromise$1 ??= import("./deliver-runtime-Do2EXjHh.js");
14535
+ deliverRuntimePromise$1 ??= import("./deliver-runtime-DPjMYovi.js");
14536
14536
  return deliverRuntimePromise$1;
14537
14537
  }
14538
14538
  const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\"";
@@ -51467,7 +51467,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
51467
51467
  const log$10 = createSubsystemLogger("session-maintenance-warning");
51468
51468
  let deliverRuntimePromise = null;
51469
51469
  function loadDeliverRuntime() {
51470
- deliverRuntimePromise ??= import("./deliver-runtime-Do2EXjHh.js");
51470
+ deliverRuntimePromise ??= import("./deliver-runtime-DPjMYovi.js");
51471
51471
  return deliverRuntimePromise;
51472
51472
  }
51473
51473
  function shouldSendWarning() {
@@ -56444,7 +56444,7 @@ const VISION_PROVIDERS = [
56444
56444
  ];
56445
56445
  let imageRuntimePromise = null;
56446
56446
  function loadImageRuntime() {
56447
- imageRuntimePromise ??= import("./image-runtime-BWARi-r4.js");
56447
+ imageRuntimePromise ??= import("./image-runtime-BinILRte.js");
56448
56448
  return imageRuntimePromise;
56449
56449
  }
56450
56450
  /**
@@ -58505,7 +58505,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
58505
58505
  hasTypedText
58506
58506
  };
58507
58507
  try {
58508
- const { transcribeFirstAudio } = await import("./audio-preflight-CXP7KNn_.js");
58508
+ const { transcribeFirstAudio } = await import("./audio-preflight-Ckq8A2xS.js");
58509
58509
  if (params.abortSignal?.aborted) return {
58510
58510
  hasAudioAttachment,
58511
58511
  hasTypedText
@@ -65899,7 +65899,7 @@ let slackSenderRuntimePromise = null;
65899
65899
  let signalSenderRuntimePromise = null;
65900
65900
  let imessageSenderRuntimePromise = null;
65901
65901
  function loadWhatsAppSenderRuntime() {
65902
- whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-rPF4BAeN.js");
65902
+ whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-B155kzJI.js");
65903
65903
  return whatsappSenderRuntimePromise;
65904
65904
  }
65905
65905
  function loadTelegramSenderRuntime() {
@@ -69603,7 +69603,7 @@ function createDiscordGatewayPlugin(params) {
69603
69603
  return super.registerClient(client);
69604
69604
  }
69605
69605
  createWebSocket(url) {
69606
- return new WebSocket$1(url, { agent: wsAgent });
69606
+ return new WebSocket(url, { agent: wsAgent });
69607
69607
  }
69608
69608
  }
69609
69609
  return new ProxyGatewayPlugin();
@@ -78754,7 +78754,7 @@ function loadSlashCommandsRuntime() {
78754
78754
  return slashCommandsRuntimePromise;
78755
78755
  }
78756
78756
  function loadSlashDispatchRuntime() {
78757
- slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-B79IzyjK.js");
78757
+ slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-DidWtkRY.js");
78758
78758
  return slashDispatchRuntimePromise;
78759
78759
  }
78760
78760
  function loadSlashSkillCommandsRuntime() {
@@ -82123,7 +82123,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
82123
82123
  const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
82124
82124
  let preflightTranscript;
82125
82125
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
82126
- const { transcribeFirstAudio } = await import("./audio-preflight-CXP7KNn_.js");
82126
+ const { transcribeFirstAudio } = await import("./audio-preflight-Ckq8A2xS.js");
82127
82127
  preflightTranscript = await transcribeFirstAudio({
82128
82128
  ctx: {
82129
82129
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -85049,7 +85049,7 @@ function loadWebLoginQr() {
85049
85049
  return webLoginQrPromise;
85050
85050
  }
85051
85051
  function loadWebChannel() {
85052
- webChannelPromise ??= import("./web-BUpcF84p.js");
85052
+ webChannelPromise ??= import("./web-Cp2nm6U4.js");
85053
85053
  return webChannelPromise;
85054
85054
  }
85055
85055
  function loadWhatsAppActions() {
@@ -93312,7 +93312,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
93312
93312
  * Throws if the connection is not open.
93313
93313
  */
93314
93314
  send(event) {
93315
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
93315
+ if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
93316
93316
  this.ws.send(JSON.stringify(event));
93317
93317
  }
93318
93318
  /**
@@ -93329,7 +93329,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
93329
93329
  * Returns true if the WebSocket is currently open and ready to send.
93330
93330
  */
93331
93331
  isConnected() {
93332
- return this.ws !== null && this.ws.readyState === WebSocket$1.OPEN;
93332
+ return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
93333
93333
  }
93334
93334
  /**
93335
93335
  * Permanently closes the WebSocket connection and disables auto-reconnect.
@@ -93339,7 +93339,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
93339
93339
  this._cancelRetryTimer();
93340
93340
  if (this.ws) {
93341
93341
  this.ws.removeAllListeners();
93342
- if (this.ws.readyState === WebSocket$1.OPEN || this.ws.readyState === WebSocket$1.CONNECTING) this.ws.close(1e3, "Client closed");
93342
+ if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
93343
93343
  this.ws = null;
93344
93344
  }
93345
93345
  }
@@ -93349,7 +93349,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
93349
93349
  reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
93350
93350
  return;
93351
93351
  }
93352
- const socket = new WebSocket$1(this.wsUrl, { headers: {
93352
+ const socket = new WebSocket(this.wsUrl, { headers: {
93353
93353
  Authorization: `Bearer ${this.apiKey}`,
93354
93354
  "OpenAI-Beta": "responses-websocket=v1"
93355
93355
  } });
@@ -6,7 +6,7 @@ import { d as getChannelDock, o as normalizeThinkLevel, v as normalizeHyphenSlug
6
6
  import { _ as normalizeChatType, r as normalizeChannelId } from "./plugins-DyL70_Cc.js";
7
7
  import { t as generateSecureToken } from "./secure-random-D68-1Hhs.js";
8
8
  import { i as getImageMetadata, m as normalizeMessageChannel, n as buildImageResizeSideGrid, p as listDeliverableMessageChannels, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-kjt4AS_Q.js";
9
- import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_SQUIDCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_SQUIDCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveSquidClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchSquidClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopSquidClawChrome, p as snapshotAria, q as DEFAULT_SQUIDCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-AmH-OPlL.js";
9
+ import { C as ensureChromeExtensionRelayServer, D as PROFILE_POST_RESTART_WS_TIMEOUT_MS, E as PROFILE_ATTACH_RETRY_TIMEOUT_MS, G as DEFAULT_BROWSER_EVALUATE_ENABLED, H as DEFAULT_AI_SNAPSHOT_EFFICIENT_MAX_CHARS, I as resolveWritablePathWithinRoot, J as DEFAULT_SQUIDCLAW_BROWSER_PROFILE_NAME, K as DEFAULT_SQUIDCLAW_BROWSER_COLOR, M as DEFAULT_TRACE_DIR, N as DEFAULT_UPLOAD_DIR, O as resolveCdpReachabilityTimeouts, P as resolveExistingPathsWithinRoot, R as normalizeBrowserFormField, T as CDP_JSON_NEW_TIMEOUT_MS, U as DEFAULT_AI_SNAPSHOT_MAX_CHARS, V as DEFAULT_AI_SNAPSHOT_EFFICIENT_DEPTH, W as DEFAULT_BROWSER_DEFAULT_PROFILE_NAME, _ as withBrowserNavigationPolicy, a as resolveSquidClawUserDataDir, b as fetchOk, c as resolveBrowserExecutableForPlatform, f as normalizeCdpWsUrl, g as assertBrowserNavigationResultAllowed, h as assertBrowserNavigationAllowed, i as launchSquidClawChrome, j as DEFAULT_DOWNLOAD_DIR, l as captureScreenshot, m as InvalidBrowserNavigationUrlError, n as isChromeCdpReady, o as stopSquidClawChrome, p as snapshotAria, q as DEFAULT_SQUIDCLAW_BROWSER_ENABLED, r as isChromeReachable, u as createTargetViaCdp, v as appendCdpPath, w as stopChromeExtensionRelayServer, y as fetchJson, z as isLoopbackHost } from "./chrome-B3h5980A.js";
10
10
  import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-D-yc7joe.js";
11
11
  import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-CkoY5PBF.js";
12
12
  import { n as extractErrorCode, r as formatErrorMessage } from "./errors-VR6fgqPc.js";
@@ -1275,7 +1275,7 @@ function isModuleNotFoundError(err) {
1275
1275
  }
1276
1276
  async function loadPwAiModule(mode) {
1277
1277
  try {
1278
- return await import("./pw-ai-Do8UJz-Y.js");
1278
+ return await import("./pw-ai-DXis1Gal.js");
1279
1279
  } catch (err) {
1280
1280
  if (mode === "soft") return null;
1281
1281
  if (isModuleNotFoundError(err)) return null;
@@ -3641,7 +3641,7 @@ function createProfileAvailability({ opts, profile, state, getProfileState, setP
3641
3641
  //#region src/browser/server-context.reset.ts
3642
3642
  async function closePlaywrightBrowserConnection() {
3643
3643
  try {
3644
- await (await import("./pw-ai-Do8UJz-Y.js")).closePlaywrightBrowserConnection();
3644
+ await (await import("./pw-ai-DXis1Gal.js")).closePlaywrightBrowserConnection();
3645
3645
  } catch {}
3646
3646
  }
3647
3647
  function createProfileResetOps({ profile, getProfileState, stopRunningBrowser, isHttpReachable, resolveSquidClawUserDataDir }) {
@@ -1,7 +1,7 @@
1
1
  import { E as truncateUtf16Safe } from "./utils-DMGXr25O.js";
2
2
  import { s as normalizeThinkLevel } from "./thinking-44rmAw5o.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-DC87CPVS.js";
4
- import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-dnsTApLp.js";
4
+ import { s as formatSandboxToolPolicyBlockedMessage } from "./sandbox-4_YzlsBa.js";
5
5
  import { t as sanitizeContentBlocksImages } from "./tool-images-FhSCiY-o.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
@@ -3,7 +3,7 @@ import { D as resolveThreadParentSessionKey, c as normalizeAgentId, u as resolve
3
3
  import { ti as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH } from "./model-selection-CYbcDqxk.js";
4
4
  import { l as normalizeStringEntries, o as resolveChannelGroupToolsPolicy, t as getChannelDock } from "./dock-2ifhd2CL.js";
5
5
  import { l as normalizeMessageChannel } from "./message-channel-CSxZnhaV.js";
6
- import { S as normalizeToolName, T as matchesAnyGlobPattern, w as compileGlobPatterns, x as expandToolGroups } from "./sandbox-dnsTApLp.js";
6
+ import { S as normalizeToolName, T as matchesAnyGlobPattern, w as compileGlobPatterns, x as expandToolGroups } from "./sandbox-4_YzlsBa.js";
7
7
  import { i as readChannelAllowFromStore } from "./pairing-store-BWlsysu-.js";
8
8
  import { i as resolveGroupAllowFromSources, r as mergeDmAllowFromSources } from "./allow-from-CsQJtEUH.js";
9
9
 
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { ft as loadSquidClawPlugins } from "./reply-DM6COks_.js";
2
+ import { ft as loadSquidClawPlugins } from "./reply-d12k6JyN.js";
3
3
  import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-BujGQgAe.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-DC87CPVS.js";
5
5
  import { $t as loadConfig } from "./model-selection-CYbcDqxk.js";
@@ -4,7 +4,7 @@ import chalk, { Chalk } from "chalk";
4
4
  import fs from "node:fs";
5
5
  import { Logger } from "tslog";
6
6
  import os from "node:os";
7
- import json5 from "json5";
7
+ import JSON5 from "json5";
8
8
  import { promisify } from "node:util";
9
9
  import fs$1 from "node:fs/promises";
10
10
  import "@clack/prompts";
@@ -761,7 +761,7 @@ function readLoggingConfig() {
761
761
  try {
762
762
  if (!fs.existsSync(configPath)) return;
763
763
  const raw = fs.readFileSync(configPath, "utf-8");
764
- const logging = json5.parse(raw)?.logging;
764
+ const logging = JSON5.parse(raw)?.logging;
765
765
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
766
766
  return logging;
767
767
  } catch {
@@ -5,7 +5,7 @@ import fs, { constants } from "node:fs";
5
5
  import os from "node:os";
6
6
  import chalk, { Chalk } from "chalk";
7
7
  import { Logger } from "tslog";
8
- import json5 from "json5";
8
+ import JSON5 from "json5";
9
9
  import util, { promisify } from "node:util";
10
10
  import fs$1 from "node:fs/promises";
11
11
  import process$1 from "node:process";
@@ -400,7 +400,7 @@ function readLoggingConfig() {
400
400
  try {
401
401
  if (!fs.existsSync(configPath)) return;
402
402
  const raw = fs.readFileSync(configPath, "utf-8");
403
- const logging = json5.parse(raw)?.logging;
403
+ const logging = JSON5.parse(raw)?.logging;
404
404
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
405
405
  return logging;
406
406
  } catch {
@@ -4481,7 +4481,7 @@ function resolveSquidClawManifestBlock(params) {
4481
4481
  const raw = getFrontmatterString(params.frontmatter, params.key ?? "metadata");
4482
4482
  if (!raw) return;
4483
4483
  try {
4484
- const parsed = json5.parse(raw);
4484
+ const parsed = JSON5.parse(raw);
4485
4485
  if (!parsed || typeof parsed !== "object") return;
4486
4486
  const manifestKeys = [MANIFEST_KEY, ...LEGACY_MANIFEST_KEYS];
4487
4487
  for (const key of manifestKeys) {
@@ -4,7 +4,7 @@ import chalk, { Chalk } from "chalk";
4
4
  import fs, { constants, createWriteStream } from "node:fs";
5
5
  import { Logger } from "tslog";
6
6
  import os from "node:os";
7
- import JSON5 from "json5";
7
+ import json5 from "json5";
8
8
  import { promisify } from "node:util";
9
9
  import fs$1 from "node:fs/promises";
10
10
  import "@clack/prompts";
@@ -766,7 +766,7 @@ function readLoggingConfig() {
766
766
  try {
767
767
  if (!fs.existsSync(configPath)) return;
768
768
  const raw = fs.readFileSync(configPath, "utf-8");
769
- const logging = JSON5.parse(raw)?.logging;
769
+ const logging = json5.parse(raw)?.logging;
770
770
  if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
771
771
  return logging;
772
772
  } catch {
@@ -2,7 +2,7 @@ import { g as resolveStateDir } from "./paths-mdt1HFK2.js";
2
2
  import { p as theme } from "./globals-xfUIfxbE.js";
3
3
  import { S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-DMGXr25O.js";
4
4
  import "./thinking-44rmAw5o.js";
5
- import "./reply-DM6COks_.js";
5
+ import "./reply-d12k6JyN.js";
6
6
  import "./agent-scope-BujGQgAe.js";
7
7
  import { d as defaultRuntime } from "./subsystem-DC87CPVS.js";
8
8
  import "./squidclaw-root-CnE19yKj.js";
@@ -21,18 +21,18 @@ import "./message-channel-CSxZnhaV.js";
21
21
  import "./send-Dkm7tdhl.js";
22
22
  import "./plugins-IsWYhQUd.js";
23
23
  import "./sessions-DYMgGJDb.js";
24
- import "./audio-transcription-runner-CCZC5tJf.js";
25
- import "./image-Ccz6ndn7.js";
24
+ import "./audio-transcription-runner-BkEXZq6_.js";
25
+ import "./image-Dkl58_nM.js";
26
26
  import "./models-config-E6UjccpQ.js";
27
- import "./pi-embedded-helpers-DBZo6ghW.js";
28
- import "./sandbox-dnsTApLp.js";
27
+ import "./pi-embedded-helpers-CuiXHzQ1.js";
28
+ import "./sandbox-4_YzlsBa.js";
29
29
  import "./tool-catalog-DEbNxV11.js";
30
- import "./chrome-DLZaNSqV.js";
30
+ import "./chrome-uzcvgAW9.js";
31
31
  import { u as promptYesNo } from "./tailscale-D0l0E6wR.js";
32
32
  import "./tailnet-CW8QpG1h.js";
33
33
  import "./ws-CyDV_9z2.js";
34
34
  import "./auth-C-PQHdpn.js";
35
- import "./server-context-CYPsJeRg.js";
35
+ import "./server-context-DWRUW3Oc.js";
36
36
  import "./frontmatter-2aKLThq2.js";
37
37
  import "./skills-BnBOxX1c.js";
38
38
  import "./path-alias-guards-CCRXJArp.js";
@@ -61,11 +61,11 @@ import "./local-roots-EawDAy7B.js";
61
61
  import "./model-catalog-BA65TdJI.js";
62
62
  import "./proxy-fetch-C4C5I8Js.js";
63
63
  import "./tokens-B4_ntOSs.js";
64
- import "./deliver-DGXG0w_w.js";
64
+ import "./deliver-e7dtX7aI.js";
65
65
  import "./commands-ZMRZQlsa.js";
66
66
  import "./commands-registry-fCFRzpW3.js";
67
- import "./client-DYXM5N_N.js";
68
- import "./call-CsRvPUMG.js";
67
+ import "./client-gy8bx9Xy.js";
68
+ import "./call-BZMmsZnA.js";
69
69
  import "./pairing-token-C0LPdqAt.js";
70
70
  import "./fetch-C7NOAcr0.js";
71
71
  import "./pairing-store-BWlsysu-.js";
@@ -76,7 +76,7 @@ import "./nodes-screen-DkPXrUi2.js";
76
76
  import "./target-errors-BxwxgIDk.js";
77
77
  import "./system-run-command-Tn73Ni57.js";
78
78
  import "./diagnostic-uUmjyJiU.js";
79
- import "./with-timeout-CtjR5hW9.js";
79
+ import "./with-timeout-DINiEgLx.js";
80
80
  import "./send-ayueAmmr.js";
81
81
  import "./model-DYX7DCud.js";
82
82
  import "./pi-model-discovery-jKXtBUqh.js";
@@ -88,26 +88,26 @@ import "./send-dbtWROAV.js";
88
88
  import "./outbound-attachment-Dfhlf6jc.js";
89
89
  import "./delivery-queue-BHAfJDuf.js";
90
90
  import "./send-DkA_1IkZ.js";
91
- import "./pi-tools.policy-BYTs7z53.js";
91
+ import "./pi-tools.policy-FpqAOqvu.js";
92
92
  import "./channel-activity-au6JrYj-.js";
93
93
  import "./tables-D5xiUVGI.js";
94
94
  import "./proxy-CzncRRd4.js";
95
95
  import "./skill-commands-BnbbI1PH.js";
96
96
  import "./workspace-dirs-BD6agTFk.js";
97
97
  import "./runtime-config-collectors-C78CbDLl.js";
98
- import "./command-secret-targets-4lxt7RD_.js";
98
+ import "./command-secret-targets-QzzK0cvw.js";
99
99
  import "./session-cost-usage-B4DbYmaL.js";
100
- import "./onboard-helpers-JS-Lbczt.js";
100
+ import "./onboard-helpers-DZtoPn8i.js";
101
101
  import "./prompt-style-BoYH_ODs.js";
102
102
  import "./pairing-labels-1HVyRj_b.js";
103
- import "./memory-cli-C7wo32BJ.js";
103
+ import "./memory-cli-CgsaxpRr.js";
104
104
  import "./manager-D2bJ_hf3.js";
105
105
  import "./query-expansion-Bf60ekMj.js";
106
106
  import { t as formatDocsLink } from "./links-De9M3AmU.js";
107
107
  import "./cli-utils-Ca0KE-dW.js";
108
108
  import "./help-format-BMkyP_P-.js";
109
109
  import "./progress-BHN121Ps.js";
110
- import "./server-lifecycle-CL57-qY-.js";
110
+ import "./server-lifecycle-DSRW9YyS.js";
111
111
  import "./stagger-DL-XRpny.js";
112
112
  import { n as setPluginEnabledInConfig, t as enablePluginInConfig } from "./enable-CDT4yxhz.js";
113
113
  import { u as resolveArchiveKind } from "./install-safe-path-iCmVuopp.js";
@@ -115,7 +115,7 @@ import "./npm-pack-install-s-mP9K0z.js";
115
115
  import "./skill-scanner-rdr9cQew.js";
116
116
  import { a as installPluginFromPath, i as installPluginFromNpmSpec, n as recordPluginInstall, o as resolvePluginInstallDir, r as PLUGIN_INSTALL_ERROR_CODE } from "./installs-CyjlehlR.js";
117
117
  import { t as renderTable } from "./table-BPiDGg8F.js";
118
- import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec } from "./npm-resolution-Bwt62vuA.js";
118
+ import { i as buildPluginStatusReport, n as resolvePinnedNpmInstallRecordForCli, r as looksLikeLocalInstallSpec } from "./npm-resolution-DptUU3y3.js";
119
119
  import { n as updateNpmInstalledPlugins, r as findBundledPluginSource } from "./update-blK9j2ag.js";
120
120
  import fs from "node:fs";
121
121
  import os from "node:os";