@lawpath-tech/openclaw 2026.2.21-11 → 2026.2.21-13
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.
- package/dist/{agents-DBULaIPd.js → agents-Acsw6oEr.js} +4 -4
- package/dist/{agents.config-Cd3-RJ-K.js → agents.config-BAILtL0e.js} +1 -1
- package/dist/{agents.config-DANgtZcG.js → agents.config-DA4Kt9C5.js} +1 -1
- package/dist/{audio-preflight-Bqg8wRF0.js → audio-preflight-B45_FIbf.js} +4 -4
- package/dist/{audio-preflight-CSF2zAiB.js → audio-preflight-C56sndLt.js} +3 -3
- package/dist/{audio-preflight-DUN77LMG.js → audio-preflight-DTxmK1ti.js} +3 -3
- package/dist/{audio-preflight-DESlWRvS.js → audio-preflight-UmMU18Rf.js} +3 -3
- package/dist/{auth-choice-Bx0wfZkb.js → auth-choice-B0ExtimG.js} +1 -1
- package/dist/{auth-choice-EsB1VBYk.js → auth-choice-Cc9nPCSG.js} +1 -1
- package/dist/{banner-DSmZ1r91.js → banner-l8hdGVT6.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-tp4SdwWn.js → channel-options-BOgY_qkz.js} +1 -1
- package/dist/{channel-options-BFQz6sGG.js → channel-options-DU0lH77F.js} +1 -1
- package/dist/{channel-web-BLVzXq0y.js → channel-web-Bn_o0ClJ.js} +2 -2
- package/dist/{channels-cli-BfRfj__G.js → channels-cli-B8iPHVyY.js} +8 -8
- package/dist/{channels-cli-DZWnK7L3.js → channels-cli-HyoLT0X_.js} +8 -8
- package/dist/{chrome-CnYcE5rb.js → chrome-DBIqeaeX.js} +7 -7
- package/dist/{cli-BMvkWAfY.js → cli-BjW27QBR.js} +5 -5
- package/dist/{cli-B5YSj6kb.js → cli-CB8wKUFa.js} +5 -5
- package/dist/{command-registry-DTFv7rlA.js → command-registry-43P-_3eW.js} +9 -9
- package/dist/{completion-cli-CJW4fXUd.js → completion-cli-BrkMcxdh.js} +1 -1
- package/dist/{completion-cli-BkAlGttV.js → completion-cli-CSoJQQhc.js} +2 -2
- package/dist/{config-cli-C0De5m2w.js → config-cli-CV3y1IAq.js} +1 -1
- package/dist/{config-cli-BBaQ2Rhl.js → config-cli-Cuv_T0Jj.js} +1 -1
- package/dist/{configure-DC4J1Gf2.js → configure-80FWz9jT.js} +3 -3
- package/dist/{configure-_wGqIyys.js → configure-BHGABgNw.js} +3 -3
- package/dist/control-ui/assets/{index-Cx1_w3YP.js → index-BfDl8X4O.js} +2 -2
- package/dist/control-ui/assets/index-BfDl8X4O.js.map +1 -0
- package/dist/control-ui/index.html +1 -1
- package/dist/{deliver-D22uPds_.js → deliver-BLkQFTzD.js} +11 -6
- package/dist/{deliver-D3HyJhTX.js → deliver-BTK-PB1e.js} +11 -6
- package/dist/{deliver-Ct_AlJg5.js → deliver-J2cVd3TS.js} +11 -6
- package/dist/{deliver-BAjdrEoI.js → deliver-meQdcFaA.js} +11 -6
- package/dist/{doctor-completion-Cr7pfPFT.js → doctor-completion-CszISgAZ.js} +1 -1
- package/dist/{doctor-completion-C9EazQOq.js → doctor-completion-xnrUSWAw.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +5 -5
- package/dist/{gateway-cli-CUZeW2km.js → gateway-cli-1XLrLurk.js} +15 -14
- package/dist/{gateway-cli-DyK2K5AK.js → gateway-cli-ElJ71Lxb.js} +15 -14
- package/dist/{health-DB9FsqfO.js → health-BfWYn33I.js} +2 -2
- package/dist/{health-C1FEsrl3.js → health-DEibfTDK.js} +2 -2
- package/dist/{hooks-cli-ChPkWEjM.js → hooks-cli-D-nL8J6w.js} +6 -6
- package/dist/{hooks-cli-CrVA4n9U.js → hooks-cli-wQnxbc8T.js} +6 -6
- package/dist/{image-CvBYo9Bu.js → image-C8HOu4vb.js} +2 -2
- package/dist/{image-paXd6zl5.js → image-Cj9tfO74.js} +2 -2
- package/dist/{image-D-DzmVjC.js → image-Dozs-5EW.js} +2 -2
- package/dist/{image-DfOLBle4.js → image-DuT8yGCI.js} +2 -2
- package/dist/index.js +10 -10
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{models-D1lcFJXE.js → models-DFRcZ415.js} +2 -2
- package/dist/{models-cli-B-AmUt5Z.js → models-cli-CwEUrjU_.js} +7 -7
- package/dist/{models-cli-B5hzd5e-.js → models-cli-t1rYl_DG.js} +6 -6
- package/dist/{onboard-BN9SewlV.js → onboard-BgexsYYf.js} +2 -2
- package/dist/{onboard-Bv6hNNhV.js → onboard-CE7hjJi-.js} +2 -2
- package/dist/{onboard-channels-DtiMw5DM.js → onboard-channels-Cb8T_ers.js} +1 -1
- package/dist/{onboard-channels-B9_hnbkl.js → onboard-channels-vQihczqp.js} +1 -1
- package/dist/{onboarding-BIFLJGsw.js → onboarding-BIEWyZPf.js} +3 -3
- package/dist/{onboarding-wkMK4RdO.js → onboarding-CX9LQxj2.js} +3 -3
- package/dist/{onboarding.finalize-C5_35yUD.js → onboarding.finalize-BUNWcC3i.js} +11 -11
- package/dist/{onboarding.finalize-Cq_uG8Il.js → onboarding.finalize-COQ2A83D.js} +10 -10
- package/dist/{pi-embedded-26dX6W8j.js → pi-embedded-BywyyGi2.js} +16 -12
- package/dist/{pi-embedded-Bt3VYQ6Q.js → pi-embedded-KtxTxaXU.js} +21 -17
- package/dist/{pi-embedded-helpers-ISSMvBMe.js → pi-embedded-helpers-B6070OEj.js} +44 -12
- package/dist/{pi-embedded-helpers-Cx3WmubG.js → pi-embedded-helpers-C4Annkh_.js} +40 -8
- package/dist/{pi-embedded-helpers-DOmGm3QX.js → pi-embedded-helpers-C_U_c_EU.js} +40 -8
- package/dist/{pi-embedded-helpers-DcmNfC3F.js → pi-embedded-helpers-Dl_FdUMU.js} +40 -8
- package/dist/{plugin-registry-CktL7kDf.js → plugin-registry-BrN1y1ig.js} +1 -1
- package/dist/{plugin-registry-DmGXbeyU.js → plugin-registry-CtLhKV8N.js} +1 -1
- package/dist/plugin-sdk/agents/pi-embedded-helpers/errors.d.ts +1 -0
- package/dist/plugin-sdk/{audio-preflight-DTmPFRJ7.js → audio-preflight-zFFuY6Bd.js} +3 -3
- package/dist/plugin-sdk/auto-reply/reply/reply-dispatcher.d.ts +1 -0
- package/dist/plugin-sdk/{channel-web-DBdAyFSo.js → channel-web-DfA1sgI9.js} +3 -3
- package/dist/plugin-sdk/commands/agent/types.d.ts +2 -0
- package/dist/plugin-sdk/{deliver-DvIFVzAj.js → deliver-D4QMj1KQ.js} +11 -6
- package/dist/plugin-sdk/{image-p_nEsuRt.js → image-Bu6pmW6i.js} +2 -2
- package/dist/plugin-sdk/index.js +6 -6
- package/dist/plugin-sdk/{pi-embedded-helpers-jfXMARle.js → pi-embedded-helpers-DBCtPcLq.js} +40 -8
- package/dist/plugin-sdk/{reply-CvZLZLYC.js → reply-Dl9JHnGW.js} +16 -12
- package/dist/plugin-sdk/{runner-B5paaQ1f.js → runner-DvYaPG7_.js} +1 -1
- package/dist/plugin-sdk/{web-xeAk5-Yr.js → web-BFEz8bk-.js} +6 -6
- package/dist/{plugins-cli-BB_bSrdc.js → plugins-cli-ByB9fyeR.js} +6 -6
- package/dist/{plugins-cli-B8LToOz_.js → plugins-cli-CP_m4f99.js} +6 -6
- package/dist/{program-CUQ4Dd4D.js → program-B51CfijA.js} +11 -11
- package/dist/{program-context-BL-eWj4d.js → program-context-DFA11MB9.js} +18 -18
- package/dist/{prompt-select-styled-Dw_5UkIh.js → prompt-select-styled-kNFZiNLD.js} +4 -4
- package/dist/{prompt-select-styled-OmW6kagQ.js → prompt-select-styled-y8kycqep.js} +4 -4
- package/dist/{provider-auth-helpers-CUdqrUdl.js → provider-auth-helpers-AORB3hk9.js} +1 -1
- package/dist/{provider-auth-helpers-Dj1zmS_9.js → provider-auth-helpers-TZ3D-fXq.js} +1 -1
- package/dist/{push-apns-BLl3-YNl.js → push-apns-BTcu7pip.js} +1 -1
- package/dist/{push-apns-DzvwLYLa.js → push-apns-CSSSwhDY.js} +1 -1
- package/dist/{pw-ai-MQ_9Ke4J.js → pw-ai-BW_4y-Af.js} +1 -1
- package/dist/{register.agent-DL4xNjz5.js → register.agent-C4G2zuxZ.js} +9 -9
- package/dist/{register.agent-DdcJgcQB.js → register.agent-xMmK5W-R.js} +10 -10
- package/dist/{register.configure-CahYnp2K.js → register.configure-CeFYJnjt.js} +10 -10
- package/dist/{register.configure-BOUoS25O.js → register.configure-aXmgTNuB.js} +10 -10
- package/dist/{register.maintenance-BBtBnw4T.js → register.maintenance-BD4w3mhl.js} +12 -12
- package/dist/{register.maintenance-CA0hn73s.js → register.maintenance-h74is0GZ.js} +11 -11
- package/dist/{register.message-C38olCA-.js → register.message-42he49is.js} +6 -6
- package/dist/{register.message-Bd2B4_gS.js → register.message-Cx6UTHOb.js} +6 -6
- package/dist/{register.onboard-CBcolfXI.js → register.onboard-CgQM-nZ7.js} +8 -8
- package/dist/{register.onboard-DmsHuosI.js → register.onboard-CnByKpp_.js} +8 -8
- package/dist/{register.setup-sWIbdPfJ.js → register.setup-B4qai0DZ.js} +8 -8
- package/dist/{register.setup-V09teeGQ.js → register.setup-CkW4jPu_.js} +8 -8
- package/dist/{register.status-health-sessions-BrlTrkeO.js → register.status-health-sessions-DHHGaJsX.js} +7 -7
- package/dist/{register.status-health-sessions-BHSA4iZL.js → register.status-health-sessions-DNqvYowR.js} +7 -7
- package/dist/{register.subclis-CNgqotfk.js → register.subclis-CSqyRt2t.js} +10 -10
- package/dist/{reply-BpeNwiEB.js → reply-V8UXM1XU.js} +16 -12
- package/dist/{run-main-ClMNdr5y.js → run-main-B3sc7X8M.js} +18 -18
- package/dist/{runner-Be7-7BcC.js → runner-CbkB3vpb.js} +1 -1
- package/dist/{runner-B9g6ervv.js → runner-D4U7RPrD.js} +1 -1
- package/dist/{runner-BIWQkeih.js → runner-DkWpm1Ly.js} +1 -1
- package/dist/{runner-D_-7GNC1.js → runner-DzmbTP-U.js} +1 -1
- package/dist/{server-node-events-C0ZzfaPA.js → server-node-events-D5Fen-q2.js} +6 -6
- package/dist/{server-node-events-CDra4Gjc.js → server-node-events-Dm6MSKk0.js} +6 -6
- package/dist/{session-dirs-D6iw22_Q.js → session-dirs-BmVdF2KM.js} +1 -1
- package/dist/{session-dirs-Cwn4le95.js → session-dirs-CRnGB63U.js} +1 -1
- package/dist/{status-CCPKZiSX.js → status-2w8d47j-.js} +2 -2
- package/dist/{status-DFs0LUlA.js → status-Bi_g-8aS.js} +1 -1
- package/dist/{status-CGTYQeqD.js → status-BjjDHl4v.js} +1 -1
- package/dist/{status-Rw3st2w_.js → status-DQEnKbht.js} +2 -2
- package/dist/{subagent-registry-C7ua7m8M.js → subagent-registry-DGNGenUN.js} +16 -12
- package/dist/{tui-C8TIc36Z.js → tui-BPSckkGa.js} +1 -1
- package/dist/{tui-dDj0kI9K.js → tui-Dn3NzP7B.js} +1 -1
- package/dist/{tui-cli-B1R2UxjK.js → tui-cli-DYhd0RT6.js} +2 -2
- package/dist/{tui-cli-DXNQuXf_.js → tui-cli-Dscc8usx.js} +2 -2
- package/dist/{update-cli-BxaSmz5G.js → update-cli-CLaJrUF4.js} +11 -11
- package/dist/{update-cli-DEMP1mj0.js → update-cli-DHAT02hj.js} +12 -12
- package/dist/{web-gSQnImv2.js → web-BpYdg2HU.js} +6 -6
- package/dist/{web-jg0rymdq.js → web-Ciz1i7yI.js} +6 -6
- package/dist/{web-D1CVLSCy.js → web-H55ayBNa.js} +5 -5
- package/dist/{web-YTTXENUe.js → web-aUEiU7C4.js} +5 -5
- package/package.json +1 -1
- package/dist/control-ui/assets/index-Cx1_w3YP.js.map +0 -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-DIoqNZGo.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-BJZNl-To.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-
|
|
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-BLkQFTzD.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,7 +22,7 @@ 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-BJidZpId.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-
|
|
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-Dl_FdUMU.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-Bj1BETyH.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
28
|
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-EGHj-WC_.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-o5KE8ifY.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-
|
|
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-DuT8yGCI.js";
|
|
40
40
|
import { n as resolveMemorySearchConfig } from "./manager-isQiMuR_.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-D0XFjNjt.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-Cc65BLE0.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-WUe5qD2m.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-
|
|
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-DzmbTP-U.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";
|
|
@@ -7196,7 +7196,7 @@ async function routeReply(params) {
|
|
|
7196
7196
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
7197
7197
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
7198
7198
|
try {
|
|
7199
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
7199
|
+
const { deliverOutboundPayloads } = await import("./deliver-BLkQFTzD.js").then((n) => n.n);
|
|
7200
7200
|
return {
|
|
7201
7201
|
ok: true,
|
|
7202
7202
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -41569,7 +41569,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
41569
41569
|
return;
|
|
41570
41570
|
}
|
|
41571
41571
|
try {
|
|
41572
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
41572
|
+
const { deliverOutboundPayloads } = await import("./deliver-BLkQFTzD.js").then((n) => n.n);
|
|
41573
41573
|
await deliverOutboundPayloads({
|
|
41574
41574
|
cfg: params.cfg,
|
|
41575
41575
|
channel,
|
|
@@ -42958,6 +42958,9 @@ function createReplyDispatcherWithTyping(options) {
|
|
|
42958
42958
|
typingController = typing;
|
|
42959
42959
|
}
|
|
42960
42960
|
},
|
|
42961
|
+
markRunComplete: () => {
|
|
42962
|
+
typingController?.markRunComplete();
|
|
42963
|
+
},
|
|
42961
42964
|
markDispatchIdle: () => {
|
|
42962
42965
|
typingController?.markDispatchIdle();
|
|
42963
42966
|
onIdle?.();
|
|
@@ -42993,7 +42996,7 @@ async function dispatchInboundMessage(params) {
|
|
|
42993
42996
|
});
|
|
42994
42997
|
}
|
|
42995
42998
|
async function dispatchInboundMessageWithBufferedDispatcher(params) {
|
|
42996
|
-
const { dispatcher, replyOptions, markDispatchIdle } = createReplyDispatcherWithTyping(params.dispatcherOptions);
|
|
42999
|
+
const { dispatcher, replyOptions, markDispatchIdle, markRunComplete } = createReplyDispatcherWithTyping(params.dispatcherOptions);
|
|
42997
43000
|
try {
|
|
42998
43001
|
return await dispatchInboundMessage({
|
|
42999
43002
|
ctx: params.ctx,
|
|
@@ -43006,6 +43009,7 @@ async function dispatchInboundMessageWithBufferedDispatcher(params) {
|
|
|
43006
43009
|
}
|
|
43007
43010
|
});
|
|
43008
43011
|
} finally {
|
|
43012
|
+
markRunComplete();
|
|
43009
43013
|
markDispatchIdle();
|
|
43010
43014
|
}
|
|
43011
43015
|
}
|
|
@@ -45012,7 +45016,7 @@ async function describeStickerImage(params) {
|
|
|
45012
45016
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
45013
45017
|
try {
|
|
45014
45018
|
const buffer = await fs$1.readFile(imagePath);
|
|
45015
|
-
const { describeImageWithModel } = await import("./image-
|
|
45019
|
+
const { describeImageWithModel } = await import("./image-DuT8yGCI.js").then((n) => n.n);
|
|
45016
45020
|
return (await describeImageWithModel({
|
|
45017
45021
|
buffer,
|
|
45018
45022
|
fileName: "sticker.webp",
|
|
@@ -47473,7 +47477,7 @@ async function preflightDiscordMessage(params) {
|
|
|
47473
47477
|
let preflightTranscript;
|
|
47474
47478
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
47475
47479
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
47476
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
47480
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-C56sndLt.js");
|
|
47477
47481
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
47478
47482
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
47479
47483
|
ctx: {
|
|
@@ -51479,7 +51483,7 @@ function isVoiceChannelType(type) {
|
|
|
51479
51483
|
function createDefaultDeps() {
|
|
51480
51484
|
return {
|
|
51481
51485
|
sendMessageWhatsApp: async (...args) => {
|
|
51482
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
51486
|
+
const { sendMessageWhatsApp } = await import("./web-aUEiU7C4.js");
|
|
51483
51487
|
return await sendMessageWhatsApp(...args);
|
|
51484
51488
|
},
|
|
51485
51489
|
sendMessageTelegram: async (...args) => {
|
|
@@ -64665,7 +64669,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
64665
64669
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
64666
64670
|
let preflightTranscript;
|
|
64667
64671
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
64668
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
64672
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-C56sndLt.js");
|
|
64669
64673
|
preflightTranscript = await transcribeFirstAudio({
|
|
64670
64674
|
ctx: {
|
|
64671
64675
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -66822,7 +66826,7 @@ function loadWebLoginQr() {
|
|
|
66822
66826
|
return webLoginQrPromise;
|
|
66823
66827
|
}
|
|
66824
66828
|
function loadWebChannel() {
|
|
66825
|
-
webChannelPromise ??= import("./web-
|
|
66829
|
+
webChannelPromise ??= import("./web-aUEiU7C4.js");
|
|
66826
66830
|
return webChannelPromise;
|
|
66827
66831
|
}
|
|
66828
66832
|
function loadWhatsAppActions() {
|
|
@@ -13,7 +13,7 @@ import { t as parseBooleanValue$1 } from "./boolean-B8-BqKGQ.js";
|
|
|
13
13
|
import { n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-BOHIfoCX.js";
|
|
14
14
|
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-BqtVfvzY.js";
|
|
15
15
|
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-CATNwBL8.js";
|
|
16
|
-
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-
|
|
16
|
+
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-BTK-PB1e.js";
|
|
17
17
|
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-DriDPU6M.js";
|
|
18
18
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Bxo4UHOL.js";
|
|
19
19
|
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-CQT5u65w.js";
|
|
@@ -23,10 +23,10 @@ import { A as normalizeProviderId, C as buildAllowedModelSet, D as isCliProvider
|
|
|
23
23
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-Dgb9dAHW.js";
|
|
24
24
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-DaNAekda.js";
|
|
25
25
|
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-CHYSjmbr.js";
|
|
26
|
-
import { $ as normalizeDeliveryContext, 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, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, 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 mergeDeliveryContext, 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 deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-
|
|
26
|
+
import { $ as normalizeDeliveryContext, 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, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, 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 mergeDeliveryContext, 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 deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-B6070OEj.js";
|
|
27
27
|
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-DN88A7od.js";
|
|
28
28
|
import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverOpenClawPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-Dhk4A5vb.js";
|
|
29
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
29
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DBIqeaeX.js";
|
|
30
30
|
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-BiH90q2q.js";
|
|
31
31
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-BoQgnc8X.js";
|
|
32
32
|
import { i as isBlockedHostnameOrIp, o as normalizeHostname, t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
|
|
@@ -37,7 +37,7 @@ import { t as resolveIMessageAccount } from "./accounts-DFrH9IVU.js";
|
|
|
37
37
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BEAbheM8.js";
|
|
38
38
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-DDYvbmRV.js";
|
|
39
39
|
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-CrfNWFa1.js";
|
|
40
|
-
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-
|
|
40
|
+
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-Dozs-5EW.js";
|
|
41
41
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-D1COqWEk.js";
|
|
42
42
|
import { n as resolveMemorySearchConfig } from "./manager-0vWMF5hH.js";
|
|
43
43
|
import { d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as runTasksWithConcurrency } from "./sqlite-C3XxSzBN.js";
|
|
@@ -51,7 +51,7 @@ import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-t9dEMDcL.js";
|
|
|
51
51
|
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-GO5Ntndz.js";
|
|
52
52
|
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-CZAnHEpp.js";
|
|
53
53
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-BlHX0H3E.js";
|
|
54
|
-
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-
|
|
54
|
+
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-D4U7RPrD.js";
|
|
55
55
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-DtI0mtzx.js";
|
|
56
56
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-Bup9wS1y.js";
|
|
57
57
|
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-BgsTqLau.js";
|
|
@@ -81,7 +81,7 @@ import { EdgeTTS } from "node-edge-tts";
|
|
|
81
81
|
import AjvPkg from "ajv";
|
|
82
82
|
import { createServer } from "node:http";
|
|
83
83
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
84
|
-
import WebSocket, { WebSocket
|
|
84
|
+
import WebSocket$1, { WebSocket } from "ws";
|
|
85
85
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
86
86
|
import { createJiti } from "jiti";
|
|
87
87
|
import { Type } from "@sinclair/typebox";
|
|
@@ -5715,7 +5715,7 @@ var GatewayClient = class {
|
|
|
5715
5715
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
5716
5716
|
});
|
|
5717
5717
|
}
|
|
5718
|
-
this.ws = new WebSocket
|
|
5718
|
+
this.ws = new WebSocket(url, wsOptions);
|
|
5719
5719
|
this.ws.on("open", () => {
|
|
5720
5720
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
5721
5721
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -5934,7 +5934,7 @@ var GatewayClient = class {
|
|
|
5934
5934
|
return null;
|
|
5935
5935
|
}
|
|
5936
5936
|
async request(method, params, opts) {
|
|
5937
|
-
if (!this.ws || this.ws.readyState !== WebSocket
|
|
5937
|
+
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
5938
5938
|
const id = randomUUID();
|
|
5939
5939
|
const frame = {
|
|
5940
5940
|
type: "req",
|
|
@@ -7198,7 +7198,7 @@ async function routeReply(params) {
|
|
|
7198
7198
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
7199
7199
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
7200
7200
|
try {
|
|
7201
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
7201
|
+
const { deliverOutboundPayloads } = await import("./deliver-BTK-PB1e.js").then((n) => n.n);
|
|
7202
7202
|
return {
|
|
7203
7203
|
ok: true,
|
|
7204
7204
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -41571,7 +41571,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
41571
41571
|
return;
|
|
41572
41572
|
}
|
|
41573
41573
|
try {
|
|
41574
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
41574
|
+
const { deliverOutboundPayloads } = await import("./deliver-BTK-PB1e.js").then((n) => n.n);
|
|
41575
41575
|
await deliverOutboundPayloads({
|
|
41576
41576
|
cfg: params.cfg,
|
|
41577
41577
|
channel,
|
|
@@ -42960,6 +42960,9 @@ function createReplyDispatcherWithTyping(options) {
|
|
|
42960
42960
|
typingController = typing;
|
|
42961
42961
|
}
|
|
42962
42962
|
},
|
|
42963
|
+
markRunComplete: () => {
|
|
42964
|
+
typingController?.markRunComplete();
|
|
42965
|
+
},
|
|
42963
42966
|
markDispatchIdle: () => {
|
|
42964
42967
|
typingController?.markDispatchIdle();
|
|
42965
42968
|
onIdle?.();
|
|
@@ -42995,7 +42998,7 @@ async function dispatchInboundMessage(params) {
|
|
|
42995
42998
|
});
|
|
42996
42999
|
}
|
|
42997
43000
|
async function dispatchInboundMessageWithBufferedDispatcher(params) {
|
|
42998
|
-
const { dispatcher, replyOptions, markDispatchIdle } = createReplyDispatcherWithTyping(params.dispatcherOptions);
|
|
43001
|
+
const { dispatcher, replyOptions, markDispatchIdle, markRunComplete } = createReplyDispatcherWithTyping(params.dispatcherOptions);
|
|
42999
43002
|
try {
|
|
43000
43003
|
return await dispatchInboundMessage({
|
|
43001
43004
|
ctx: params.ctx,
|
|
@@ -43008,6 +43011,7 @@ async function dispatchInboundMessageWithBufferedDispatcher(params) {
|
|
|
43008
43011
|
}
|
|
43009
43012
|
});
|
|
43010
43013
|
} finally {
|
|
43014
|
+
markRunComplete();
|
|
43011
43015
|
markDispatchIdle();
|
|
43012
43016
|
}
|
|
43013
43017
|
}
|
|
@@ -45014,7 +45018,7 @@ async function describeStickerImage(params) {
|
|
|
45014
45018
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
45015
45019
|
try {
|
|
45016
45020
|
const buffer = await fs.readFile(imagePath);
|
|
45017
|
-
const { describeImageWithModel } = await import("./image-
|
|
45021
|
+
const { describeImageWithModel } = await import("./image-Dozs-5EW.js").then((n) => n.n);
|
|
45018
45022
|
return (await describeImageWithModel({
|
|
45019
45023
|
buffer,
|
|
45020
45024
|
fileName: "sticker.webp",
|
|
@@ -47475,7 +47479,7 @@ async function preflightDiscordMessage(params) {
|
|
|
47475
47479
|
let preflightTranscript;
|
|
47476
47480
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
47477
47481
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
47478
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
47482
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-B45_FIbf.js");
|
|
47479
47483
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
47480
47484
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
47481
47485
|
ctx: {
|
|
@@ -51481,7 +51485,7 @@ function isVoiceChannelType(type) {
|
|
|
51481
51485
|
function createDefaultDeps() {
|
|
51482
51486
|
return {
|
|
51483
51487
|
sendMessageWhatsApp: async (...args) => {
|
|
51484
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
51488
|
+
const { sendMessageWhatsApp } = await import("./web-BpYdg2HU.js");
|
|
51485
51489
|
return await sendMessageWhatsApp(...args);
|
|
51486
51490
|
},
|
|
51487
51491
|
sendMessageTelegram: async (...args) => {
|
|
@@ -54394,7 +54398,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
54394
54398
|
super(options);
|
|
54395
54399
|
}
|
|
54396
54400
|
createWebSocket(url) {
|
|
54397
|
-
return new WebSocket(url, { agent });
|
|
54401
|
+
return new WebSocket$1(url, { agent });
|
|
54398
54402
|
}
|
|
54399
54403
|
}
|
|
54400
54404
|
return new ProxyGatewayPlugin();
|
|
@@ -64667,7 +64671,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
64667
64671
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
64668
64672
|
let preflightTranscript;
|
|
64669
64673
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
64670
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
64674
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-B45_FIbf.js");
|
|
64671
64675
|
preflightTranscript = await transcribeFirstAudio({
|
|
64672
64676
|
ctx: {
|
|
64673
64677
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -66824,7 +66828,7 @@ function loadWebLoginQr() {
|
|
|
66824
66828
|
return webLoginQrPromise;
|
|
66825
66829
|
}
|
|
66826
66830
|
function loadWebChannel() {
|
|
66827
|
-
webChannelPromise ??= import("./web-
|
|
66831
|
+
webChannelPromise ??= import("./web-BpYdg2HU.js");
|
|
66828
66832
|
return webChannelPromise;
|
|
66829
66833
|
}
|
|
66830
66834
|
function loadWhatsAppActions() {
|
|
@@ -12,7 +12,7 @@ import { c as SafeOpenError, i as getImageMetadata, l as openFileWithinRoot, n a
|
|
|
12
12
|
import { S as isPidAlive, x as resolveProcessScopedMap } from "./model-auth-CpS0Gv-Z.js";
|
|
13
13
|
import { o as listDeliverableMessageChannels, s as normalizeMessageChannel } from "./message-channel-CHYSjmbr.js";
|
|
14
14
|
import { _ as parseDurationMs, a as writeConfigFile, n as loadConfig, s as parseByteSize, t as createConfigIO } from "./config-DN88A7od.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-
|
|
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-DBIqeaeX.js";
|
|
16
16
|
import { a as syncSkillsToWorkspace, l as resolveSandboxInputPath, m as sanitizeEnvVars, u as resolveSandboxPath } from "./skills-BiH90q2q.js";
|
|
17
17
|
import { n as formatErrorMessage, t as extractErrorCode } from "./errors-BoQgnc8X.js";
|
|
18
18
|
import { t as SsrFBlockedError } from "./ssrf-BTMDZjHT.js";
|
|
@@ -933,7 +933,7 @@ function isModuleNotFoundError(err) {
|
|
|
933
933
|
}
|
|
934
934
|
async function loadPwAiModule(mode) {
|
|
935
935
|
try {
|
|
936
|
-
return await import("./pw-ai-
|
|
936
|
+
return await import("./pw-ai-BW_4y-Af.js");
|
|
937
937
|
} catch (err) {
|
|
938
938
|
if (mode === "soft") return null;
|
|
939
939
|
if (isModuleNotFoundError(err)) return null;
|
|
@@ -3473,11 +3473,11 @@ 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-
|
|
3476
|
+
await (await import("./pw-ai-BW_4y-Af.js")).closePlaywrightBrowserConnection();
|
|
3477
3477
|
} catch {}
|
|
3478
3478
|
if (profileState.running) await stopRunningBrowser();
|
|
3479
3479
|
try {
|
|
3480
|
-
await (await import("./pw-ai-
|
|
3480
|
+
await (await import("./pw-ai-BW_4y-Af.js")).closePlaywrightBrowserConnection();
|
|
3481
3481
|
} catch {}
|
|
3482
3482
|
if (!fs$1.existsSync(userDataDir)) return {
|
|
3483
3483
|
moved: false,
|
|
@@ -6905,9 +6905,9 @@ function isCompactionFailureError(errorMessage) {
|
|
|
6905
6905
|
if (isLikelyContextOverflowError(errorMessage)) return true;
|
|
6906
6906
|
return lower.includes("context overflow");
|
|
6907
6907
|
}
|
|
6908
|
-
const ERROR_PAYLOAD_PREFIX_RE = /^(?:error|api\s*error|apierror|openai\s*error|anthropic\s*error|gateway\s*error)[:\s-]+/i;
|
|
6908
|
+
const ERROR_PAYLOAD_PREFIX_RE = /^(?:error|(?:[a-z][\w-]*\s+)?api\s*error|apierror|openai\s*error|anthropic\s*error|gateway\s*error|codex\s*error)[:\s-]+/i;
|
|
6909
6909
|
const FINAL_TAG_RE = /<\s*\/?\s*final\s*>/gi;
|
|
6910
|
-
const ERROR_PREFIX_RE = /^(?:error|api\s*error|openai\s*error|anthropic\s*error|gateway\s*error|request failed|failed|exception)[:\s-]+/i;
|
|
6910
|
+
const ERROR_PREFIX_RE = /^(?:error|(?:[a-z][\w-]*\s+)?api\s*error|openai\s*error|anthropic\s*error|gateway\s*error|codex\s*error|request failed|failed|exception)(?:\s+\d{3})?[:\s-]+/i;
|
|
6911
6911
|
const CONTEXT_OVERFLOW_ERROR_HEAD_RE = /^(?:context overflow:|request_too_large\b|request size exceeds\b|request exceeds the maximum size\b|context length exceeded\b|maximum context length\b|prompt is too long\b|exceeds model context window\b)/i;
|
|
6912
6912
|
const BILLING_ERROR_HEAD_RE = /^(?:error[:\s-]+)?billing(?:\s+error)?(?:[:\s-]+|$)|^(?:error[:\s-]+)?(?:credit balance|insufficient credits?|payment required|http\s*402\b)/i;
|
|
6913
6913
|
const HTTP_STATUS_PREFIX_RE = /^(?:http\s*)?(\d{3})\s+(.+)$/i;
|
|
@@ -7050,6 +7050,25 @@ function getApiErrorPayloadFingerprint(raw) {
|
|
|
7050
7050
|
function isRawApiErrorPayload(raw) {
|
|
7051
7051
|
return getApiErrorPayloadFingerprint(raw) !== null;
|
|
7052
7052
|
}
|
|
7053
|
+
function isLikelyProviderErrorType(type) {
|
|
7054
|
+
const normalized = type?.trim().toLowerCase();
|
|
7055
|
+
if (!normalized) return false;
|
|
7056
|
+
return normalized.endsWith("_error");
|
|
7057
|
+
}
|
|
7058
|
+
const NON_ERROR_PROVIDER_PAYLOAD_MAX_LENGTH = 16384;
|
|
7059
|
+
const NON_ERROR_PROVIDER_PAYLOAD_PREFIX_RE = /^codex\s*error(?:\s+\d{3})?[:\s-]+/i;
|
|
7060
|
+
function shouldRewriteRawPayloadWithoutErrorContext(raw) {
|
|
7061
|
+
if (raw.length > NON_ERROR_PROVIDER_PAYLOAD_MAX_LENGTH) return false;
|
|
7062
|
+
if (!NON_ERROR_PROVIDER_PAYLOAD_PREFIX_RE.test(raw)) return false;
|
|
7063
|
+
const info = parseApiErrorInfo(raw);
|
|
7064
|
+
if (!info) return false;
|
|
7065
|
+
if (isLikelyProviderErrorType(info.type)) return true;
|
|
7066
|
+
if (info.httpCode) {
|
|
7067
|
+
const parsedCode = Number(info.httpCode);
|
|
7068
|
+
if (Number.isFinite(parsedCode) && parsedCode >= 400) return true;
|
|
7069
|
+
}
|
|
7070
|
+
return false;
|
|
7071
|
+
}
|
|
7053
7072
|
function parseApiErrorInfo(raw) {
|
|
7054
7073
|
if (!raw) return null;
|
|
7055
7074
|
const trimmed = raw.trim();
|
|
@@ -7092,12 +7111,7 @@ function formatRawAssistantErrorForUi(raw) {
|
|
|
7092
7111
|
if (!rest.startsWith("{")) return `HTTP ${httpMatch[1]}: ${rest}`;
|
|
7093
7112
|
}
|
|
7094
7113
|
const info = parseApiErrorInfo(trimmed);
|
|
7095
|
-
if (info?.message) {
|
|
7096
|
-
const prefix = info.httpCode ? `HTTP ${info.httpCode}` : "LLM error";
|
|
7097
|
-
const type = info.type ? ` ${info.type}` : "";
|
|
7098
|
-
const requestId = info.requestId ? ` (request_id: ${info.requestId})` : "";
|
|
7099
|
-
return `${prefix}${type}: ${info.message}${requestId}`;
|
|
7100
|
-
}
|
|
7114
|
+
if (info?.message) return `${info.httpCode ? `HTTP ${info.httpCode}` : "LLM error"}${info.type ? ` ${info.type}` : ""}: ${info.message}`;
|
|
7101
7115
|
return trimmed.length > 600 ? `${trimmed.slice(0, 600)}…` : trimmed;
|
|
7102
7116
|
}
|
|
7103
7117
|
function formatAssistantErrorText(msg, opts) {
|
|
@@ -7132,6 +7146,7 @@ function sanitizeUserFacingText(text, opts) {
|
|
|
7132
7146
|
const stripped = stripFinalTagsFromText(text);
|
|
7133
7147
|
const trimmed = stripped.trim();
|
|
7134
7148
|
if (!trimmed) return "";
|
|
7149
|
+
if (!errorContext && shouldRewriteRawPayloadWithoutErrorContext(trimmed)) return formatRawAssistantErrorForUi(trimmed);
|
|
7135
7150
|
if (errorContext) {
|
|
7136
7151
|
if (/incorrect role information|roles must alternate/i.test(trimmed)) return "Message ordering conflict - please try again. If this persists, use /new to start a fresh session.";
|
|
7137
7152
|
if (shouldRewriteContextOverflowText(trimmed)) return "Context overflow: prompt too large for the model. Try /reset (or /new) to start a fresh session, or use a larger-context model.";
|
|
@@ -7166,6 +7181,19 @@ const ERROR_PATTERNS = {
|
|
|
7166
7181
|
"service unavailable",
|
|
7167
7182
|
"high demand"
|
|
7168
7183
|
],
|
|
7184
|
+
serverError: [
|
|
7185
|
+
"an error occurred while processing",
|
|
7186
|
+
"internal server error",
|
|
7187
|
+
"internal_error",
|
|
7188
|
+
"server_error",
|
|
7189
|
+
"service temporarily unavailable",
|
|
7190
|
+
"service_unavailable",
|
|
7191
|
+
"bad gateway",
|
|
7192
|
+
"gateway timeout",
|
|
7193
|
+
"upstream error",
|
|
7194
|
+
"upstream connect error",
|
|
7195
|
+
"connection reset"
|
|
7196
|
+
],
|
|
7169
7197
|
timeout: [
|
|
7170
7198
|
"timeout",
|
|
7171
7199
|
"timed out",
|
|
@@ -7246,6 +7274,9 @@ function isAuthErrorMessage(raw) {
|
|
|
7246
7274
|
function isOverloadedErrorMessage(raw) {
|
|
7247
7275
|
return matchesErrorPatterns(raw, ERROR_PATTERNS.overloaded);
|
|
7248
7276
|
}
|
|
7277
|
+
function isServerErrorMessage(raw) {
|
|
7278
|
+
return matchesErrorPatterns(raw, ERROR_PATTERNS.serverError);
|
|
7279
|
+
}
|
|
7249
7280
|
function isJsonApiInternalServerError(raw) {
|
|
7250
7281
|
if (!raw) return false;
|
|
7251
7282
|
const value = raw.toLowerCase();
|
|
@@ -7307,6 +7338,7 @@ function classifyFailoverReason(raw) {
|
|
|
7307
7338
|
if (isBillingErrorMessage(raw)) return "billing";
|
|
7308
7339
|
if (isTimeoutErrorMessage(raw)) return "timeout";
|
|
7309
7340
|
if (isAuthErrorMessage(raw)) return "auth";
|
|
7341
|
+
if (isServerErrorMessage(raw)) return "timeout";
|
|
7310
7342
|
return null;
|
|
7311
7343
|
}
|
|
7312
7344
|
function isFailoverErrorMessage(raw) {
|
|
@@ -211,9 +211,9 @@ function isCompactionFailureError(errorMessage) {
|
|
|
211
211
|
if (isLikelyContextOverflowError(errorMessage)) return true;
|
|
212
212
|
return lower.includes("context overflow");
|
|
213
213
|
}
|
|
214
|
-
const ERROR_PAYLOAD_PREFIX_RE = /^(?:error|api\s*error|apierror|openai\s*error|anthropic\s*error|gateway\s*error)[:\s-]+/i;
|
|
214
|
+
const ERROR_PAYLOAD_PREFIX_RE = /^(?:error|(?:[a-z][\w-]*\s+)?api\s*error|apierror|openai\s*error|anthropic\s*error|gateway\s*error|codex\s*error)[:\s-]+/i;
|
|
215
215
|
const FINAL_TAG_RE = /<\s*\/?\s*final\s*>/gi;
|
|
216
|
-
const ERROR_PREFIX_RE = /^(?:error|api\s*error|openai\s*error|anthropic\s*error|gateway\s*error|request failed|failed|exception)[:\s-]+/i;
|
|
216
|
+
const ERROR_PREFIX_RE = /^(?:error|(?:[a-z][\w-]*\s+)?api\s*error|openai\s*error|anthropic\s*error|gateway\s*error|codex\s*error|request failed|failed|exception)(?:\s+\d{3})?[:\s-]+/i;
|
|
217
217
|
const CONTEXT_OVERFLOW_ERROR_HEAD_RE = /^(?:context overflow:|request_too_large\b|request size exceeds\b|request exceeds the maximum size\b|context length exceeded\b|maximum context length\b|prompt is too long\b|exceeds model context window\b)/i;
|
|
218
218
|
const BILLING_ERROR_HEAD_RE = /^(?:error[:\s-]+)?billing(?:\s+error)?(?:[:\s-]+|$)|^(?:error[:\s-]+)?(?:credit balance|insufficient credits?|payment required|http\s*402\b)/i;
|
|
219
219
|
const HTTP_STATUS_PREFIX_RE = /^(?:http\s*)?(\d{3})\s+(.+)$/i;
|
|
@@ -356,6 +356,25 @@ function getApiErrorPayloadFingerprint(raw) {
|
|
|
356
356
|
function isRawApiErrorPayload(raw) {
|
|
357
357
|
return getApiErrorPayloadFingerprint(raw) !== null;
|
|
358
358
|
}
|
|
359
|
+
function isLikelyProviderErrorType(type) {
|
|
360
|
+
const normalized = type?.trim().toLowerCase();
|
|
361
|
+
if (!normalized) return false;
|
|
362
|
+
return normalized.endsWith("_error");
|
|
363
|
+
}
|
|
364
|
+
const NON_ERROR_PROVIDER_PAYLOAD_MAX_LENGTH = 16384;
|
|
365
|
+
const NON_ERROR_PROVIDER_PAYLOAD_PREFIX_RE = /^codex\s*error(?:\s+\d{3})?[:\s-]+/i;
|
|
366
|
+
function shouldRewriteRawPayloadWithoutErrorContext(raw) {
|
|
367
|
+
if (raw.length > NON_ERROR_PROVIDER_PAYLOAD_MAX_LENGTH) return false;
|
|
368
|
+
if (!NON_ERROR_PROVIDER_PAYLOAD_PREFIX_RE.test(raw)) return false;
|
|
369
|
+
const info = parseApiErrorInfo(raw);
|
|
370
|
+
if (!info) return false;
|
|
371
|
+
if (isLikelyProviderErrorType(info.type)) return true;
|
|
372
|
+
if (info.httpCode) {
|
|
373
|
+
const parsedCode = Number(info.httpCode);
|
|
374
|
+
if (Number.isFinite(parsedCode) && parsedCode >= 400) return true;
|
|
375
|
+
}
|
|
376
|
+
return false;
|
|
377
|
+
}
|
|
359
378
|
function parseApiErrorInfo(raw) {
|
|
360
379
|
if (!raw) return null;
|
|
361
380
|
const trimmed = raw.trim();
|
|
@@ -398,12 +417,7 @@ function formatRawAssistantErrorForUi(raw) {
|
|
|
398
417
|
if (!rest.startsWith("{")) return `HTTP ${httpMatch[1]}: ${rest}`;
|
|
399
418
|
}
|
|
400
419
|
const info = parseApiErrorInfo(trimmed);
|
|
401
|
-
if (info?.message) {
|
|
402
|
-
const prefix = info.httpCode ? `HTTP ${info.httpCode}` : "LLM error";
|
|
403
|
-
const type = info.type ? ` ${info.type}` : "";
|
|
404
|
-
const requestId = info.requestId ? ` (request_id: ${info.requestId})` : "";
|
|
405
|
-
return `${prefix}${type}: ${info.message}${requestId}`;
|
|
406
|
-
}
|
|
420
|
+
if (info?.message) return `${info.httpCode ? `HTTP ${info.httpCode}` : "LLM error"}${info.type ? ` ${info.type}` : ""}: ${info.message}`;
|
|
407
421
|
return trimmed.length > 600 ? `${trimmed.slice(0, 600)}…` : trimmed;
|
|
408
422
|
}
|
|
409
423
|
function formatAssistantErrorText(msg, opts) {
|
|
@@ -438,6 +452,7 @@ function sanitizeUserFacingText(text, opts) {
|
|
|
438
452
|
const stripped = stripFinalTagsFromText(text);
|
|
439
453
|
const trimmed = stripped.trim();
|
|
440
454
|
if (!trimmed) return "";
|
|
455
|
+
if (!errorContext && shouldRewriteRawPayloadWithoutErrorContext(trimmed)) return formatRawAssistantErrorForUi(trimmed);
|
|
441
456
|
if (errorContext) {
|
|
442
457
|
if (/incorrect role information|roles must alternate/i.test(trimmed)) return "Message ordering conflict - please try again. If this persists, use /new to start a fresh session.";
|
|
443
458
|
if (shouldRewriteContextOverflowText(trimmed)) return "Context overflow: prompt too large for the model. Try /reset (or /new) to start a fresh session, or use a larger-context model.";
|
|
@@ -472,6 +487,19 @@ const ERROR_PATTERNS = {
|
|
|
472
487
|
"service unavailable",
|
|
473
488
|
"high demand"
|
|
474
489
|
],
|
|
490
|
+
serverError: [
|
|
491
|
+
"an error occurred while processing",
|
|
492
|
+
"internal server error",
|
|
493
|
+
"internal_error",
|
|
494
|
+
"server_error",
|
|
495
|
+
"service temporarily unavailable",
|
|
496
|
+
"service_unavailable",
|
|
497
|
+
"bad gateway",
|
|
498
|
+
"gateway timeout",
|
|
499
|
+
"upstream error",
|
|
500
|
+
"upstream connect error",
|
|
501
|
+
"connection reset"
|
|
502
|
+
],
|
|
475
503
|
timeout: [
|
|
476
504
|
"timeout",
|
|
477
505
|
"timed out",
|
|
@@ -552,6 +580,9 @@ function isAuthErrorMessage(raw) {
|
|
|
552
580
|
function isOverloadedErrorMessage(raw) {
|
|
553
581
|
return matchesErrorPatterns(raw, ERROR_PATTERNS.overloaded);
|
|
554
582
|
}
|
|
583
|
+
function isServerErrorMessage(raw) {
|
|
584
|
+
return matchesErrorPatterns(raw, ERROR_PATTERNS.serverError);
|
|
585
|
+
}
|
|
555
586
|
function isJsonApiInternalServerError(raw) {
|
|
556
587
|
if (!raw) return false;
|
|
557
588
|
const value = raw.toLowerCase();
|
|
@@ -613,6 +644,7 @@ function classifyFailoverReason(raw) {
|
|
|
613
644
|
if (isBillingErrorMessage(raw)) return "billing";
|
|
614
645
|
if (isTimeoutErrorMessage(raw)) return "timeout";
|
|
615
646
|
if (isAuthErrorMessage(raw)) return "auth";
|
|
647
|
+
if (isServerErrorMessage(raw)) return "timeout";
|
|
616
648
|
return null;
|
|
617
649
|
}
|
|
618
650
|
function isFailoverErrorMessage(raw) {
|