openclaw-multi-auto 1.3.0 → 1.3.2
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/{accounts-L9ByEpnP.js → accounts-C9HcPI9h.js} +2 -2
- package/dist/{accounts-BOzyfwW4.js → accounts-C_lW3Ag9.js} +2 -2
- package/dist/{accounts-yfBeCZtS.js → accounts-Tgelvk0C.js} +17 -17
- package/dist/{active-listener-D1yqT1cw.js → active-listener-BEdprTkn.js} +2 -2
- package/dist/{api-key-rotation-DtsNS2Nb.js → api-key-rotation-BJpKWXy0.js} +2 -2
- package/dist/{audio-preflight-DoPfNXDz.js → audio-preflight-BMvgEQ5j.js} +32 -32
- package/dist/{audio-transcription-runner-CzjuH3uL.js → audio-transcription-runner-gLFfz8fr.js} +12 -12
- package/dist/{audit-membership-runtime-DWyHWAHM.js → audit-membership-runtime-Dntemq07.js} +4 -4
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +51 -51
- package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
- package/dist/bundled/command-logger/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +51 -51
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-xHOMiarp.js → channel-activity-BDnjYF7B.js} +3 -3
- package/dist/{chrome-DlhJHqj8.js → chrome-DxxEKrY7.js} +26 -26
- package/dist/{commands-registry-V1zZ5pPC.js → commands-registry-D5qXbFJn.js} +4 -4
- package/dist/{deliver-CApVJA_l.js → deliver-DbdywYJE.js} +21 -21
- package/dist/deliver-runtime-BFs7iAZF.js +36 -0
- package/dist/deps-send-discord.runtime-DZUccI6Z.js +26 -0
- package/dist/deps-send-imessage.runtime-CF3OpoqY.js +25 -0
- package/dist/deps-send-signal.runtime-Cw4-ozeO.js +24 -0
- package/dist/deps-send-slack.runtime-BDsDhS1P.js +22 -0
- package/dist/deps-send-telegram.runtime-D_4xVasO.js +27 -0
- package/dist/deps-send-whatsapp.runtime-DK8jqd14.js +60 -0
- package/dist/{diagnostic-Bn4PZjMZ.js → diagnostic-Co6Kghr-.js} +2 -2
- package/dist/{errors-CCLeFWAg.js → errors-xt401nuk.js} +1 -1
- package/dist/{fetch-BlJWzEP6.js → fetch-DuraYswo.js} +5 -5
- package/dist/{fetch-guard-ChYBwfiy.js → fetch-guard-DWr0d00H.js} +2 -2
- package/dist/{frontmatter-CvaMP376.js → frontmatter-BkTfEZ93.js} +3 -3
- package/dist/{fs-safe-0jAo_Whb.js → fs-safe-CTYUrIgQ.js} +4 -4
- package/dist/{github-copilot-token-D13V9YBz.js → github-copilot-token-BDioPmd6.js} +7 -7
- package/dist/{image-B3Mz7N5I.js → image-eT7Y-nP5.js} +6 -6
- package/dist/{image-ops-CehkHxmW.js → image-ops-BuUnEOE0.js} +2 -2
- package/dist/image-runtime-BcAK3n8a.js +29 -0
- package/dist/{ir-DAP-B-Xw.js → ir-B83looB-.js} +8 -8
- package/dist/{legacy-names-TyzbVqa_.js → legacy-names-DOC03BkU.js} +1 -1
- package/dist/llm-slug-generator.js +51 -51
- package/dist/{logger-DMZQQtxK.js → logger-BfjWMCSD.js} +7 -7
- package/dist/{login-DiCctRo1.js → login-CrIwcrVI.js} +5 -5
- package/dist/{login-qr-MUbXgjtd.js → login-qr-BpPDZdl_.js} +10 -10
- package/dist/{manager-BW_NSIMl.js → manager-1bvuGrNR.js} +13 -13
- package/dist/manager-runtime-FO1Sx3W8.js +18 -0
- package/dist/{model-selection-idoqPmw0.js → model-selection-Dna0Gz1k.js} +43 -43
- package/dist/{outbound-C2kanETZ.js → outbound-ChDjtuD6.js} +6 -6
- package/dist/{outbound-attachment-DBrYWX8h.js → outbound-attachment-DqHlD21U.js} +2 -2
- package/dist/{path-alias-guards-DqXRZmsL.js → path-alias-guards-BzvdLvTI.js} +1 -1
- package/dist/{paths-CCxysrzL.js → paths-Bkr-BCxW.js} +4 -4
- package/dist/{paths-C6TxBCvO.js → paths-Cvc9EM8Y.js} +5 -5
- package/dist/{pi-embedded-bcjMe3wj.js → pi-embedded-BQQa91aA.js} +167 -167
- package/dist/{pi-embedded-helpers-D5yyGEvA.js → pi-embedded-helpers-CLXm10bV.js} +52 -52
- package/dist/{pi-model-discovery-BGgOlX8N.js → pi-model-discovery-Dymwdjt0.js} +7 -7
- package/dist/pi-model-discovery-runtime-BeY4EUPp.js +11 -0
- package/dist/{pi-tools.before-tool-call.runtime-BuLxSyx9.js → pi-tools.before-tool-call.runtime-Cwab_5W1.js} +9 -9
- package/dist/plugin-sdk/{accounts-C3m65--E.js → accounts-BJAXxY46.js} +2 -2
- package/dist/plugin-sdk/{accounts-CNCCkdEF.js → accounts-C1j7HSL0.js} +3 -3
- package/dist/plugin-sdk/{accounts-BslAlVYS.js → accounts-DyFCXtHv.js} +2 -2
- package/dist/plugin-sdk/{active-listener-CkPnMUkB.js → active-listener-CftX5jLD.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-BXnNsojA.js → api-key-rotation-8nyyt1kx.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-CtO4fFvp.js → audio-preflight-C_aSAPR1.js} +26 -26
- package/dist/plugin-sdk/{audio-transcription-runner-DnxvOS1-.js → audio-transcription-runner-CB53F7_7.js} +11 -11
- package/dist/plugin-sdk/{audit-membership-runtime-BpfoSk8M.js → audit-membership-runtime-BXndI4LG.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-WJYxcJ3S.js → channel-activity-C5y8AgAV.js} +3 -3
- package/dist/plugin-sdk/{channel-web-dO5k3ubM.js → channel-web-DBTRO03V.js} +18 -18
- package/dist/plugin-sdk/{chrome-CjNTuJML.js → chrome-f00sZkDX.js} +6 -6
- package/dist/plugin-sdk/{commands-registry-CdYjoI0i.js → commands-registry-BJ_NxG2F.js} +4 -4
- package/dist/plugin-sdk/{common-oYc5vPFl.js → common-Cf27Jwxu.js} +2 -2
- package/dist/plugin-sdk/{config-B1z-UxQ3.js → config-CHQrpx-Q.js} +7 -7
- package/dist/plugin-sdk/{deliver-D5_6T567.js → deliver-DNEuetST.js} +10 -10
- package/dist/plugin-sdk/deliver-runtime-BFdqklJM.js +32 -0
- package/dist/plugin-sdk/deps-send-discord.runtime-DuqpYwU0.js +23 -0
- package/dist/plugin-sdk/deps-send-imessage.runtime-CZ2rS8Lb.js +22 -0
- package/dist/plugin-sdk/deps-send-signal.runtime-BdqiWhIh.js +21 -0
- package/dist/plugin-sdk/deps-send-slack.runtime-04s36qiC.js +19 -0
- package/dist/plugin-sdk/deps-send-telegram.runtime-LE5tkPvr.js +24 -0
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-Bz57lobC.js +57 -0
- package/dist/plugin-sdk/{diagnostic-Bxxu0ig-.js → diagnostic-LYUUmjJ5.js} +2 -2
- package/dist/plugin-sdk/{errors-B3cHyZZA.js → errors-CtMWwS2Z.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-Dcgod0tg.js → fetch-guard-CxYB5Kg6.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-BaKqI3G4.js → fs-safe-DtfhxbrI.js} +3 -3
- package/dist/plugin-sdk/{image-B2mQW9Rb.js → image-BwjYjRHx.js} +6 -6
- package/dist/plugin-sdk/{image-ops-Cbzr4U9l.js → image-ops-BnZKcbd6.js} +2 -2
- package/dist/plugin-sdk/image-runtime-B8twoubs.js +25 -0
- package/dist/plugin-sdk/{ir-ZEmrTr4J.js → ir-Z4hX67TJ.js} +7 -7
- package/dist/plugin-sdk/{local-roots-CIPRxA-4.js → local-roots-KhjQw04O.js} +4 -4
- package/dist/plugin-sdk/{logger-CvPFVOgT.js → logger-DHIIvMxj.js} +2 -2
- package/dist/plugin-sdk/{login-CCTew9bt.js → login-C31642Ld.js} +4 -4
- package/dist/plugin-sdk/{login-qr-BI3Vi_wJ.js → login-qr--y2SG_Ue.js} +5 -5
- package/dist/plugin-sdk/{manager-BEoYPn7R.js → manager-2UZBMCc7.js} +8 -8
- package/dist/plugin-sdk/manager-runtime-CMeLwose.js +15 -0
- package/dist/plugin-sdk/{outbound-ByOw1K6W.js → outbound-Ba0QUI5h.js} +5 -5
- package/dist/plugin-sdk/{outbound-attachment-BzVhxRRw.js → outbound-attachment-B1Laso-8.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-sWayacde.js → path-alias-guards-C7Vm5DZ1.js} +1 -1
- package/dist/plugin-sdk/{paths-Dpg3qxcl.js → paths-DopV9PQG.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-DIxXkGJf.js → pi-embedded-helpers-DnA_OCzP.js} +16 -16
- package/dist/plugin-sdk/{pi-model-discovery-DM_2uFtj.js → pi-model-discovery-DdPqXk8f.js} +1 -1
- package/dist/plugin-sdk/pi-model-discovery-runtime-D8CJhtJY.js +8 -0
- package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-w1dqL_ty.js → pi-tools.before-tool-call.runtime-DxFHiLUE.js} +4 -4
- package/dist/plugin-sdk/{plugins-C4USiH29.js → plugins-CbCt4osF.js} +4 -4
- package/dist/plugin-sdk/{proxy-env-ET-rp8eg.js → proxy-env-C63mMdas.js} +1 -1
- package/dist/{proxy-fetch-CCjEYbFm.js → plugin-sdk/proxy-fetch-Ch95c_Y2.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-CyOt3RDA.js → pw-ai-DpJk62D4.js} +9 -9
- package/dist/plugin-sdk/{qmd-manager-BySdoVR7.js → qmd-manager-Ca-iSfEE.js} +7 -7
- package/dist/plugin-sdk/{query-expansion-C6uS-7lj.js → query-expansion-B_Xe41Ab.js} +4 -4
- package/dist/plugin-sdk/{redact-Bvxt1T_Q.js → redact-hp9TOulW.js} +1 -1
- package/dist/plugin-sdk/{reply-CTCSeQqW.js → reply-CovBlFea.js} +73 -73
- package/dist/plugin-sdk/{resolve-outbound-target-Bw8YNANu.js → resolve-outbound-target-BbrHgyUk.js} +2 -2
- package/dist/plugin-sdk/{run-with-concurrency-C_KCHwvf.js → run-with-concurrency-BR1DXa8T.js} +1 -1
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-SkO91TZH.js +10 -0
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-B0VWK5hm.js +19 -0
- package/dist/plugin-sdk/{send-C0w6xP2x.js → send-BTztm3D2.js} +6 -6
- package/dist/plugin-sdk/{send-qPyNGSe4.js → send-BXpXBwM_.js} +13 -13
- package/dist/plugin-sdk/{send-BZ6nYFZr.js → send-BvAtLLPl.js} +5 -5
- package/dist/plugin-sdk/{send-CFf-1V89.js → send-CWJUuG0i.js} +8 -8
- package/dist/plugin-sdk/{send-CY-Qfwia.js → send-EcglC4cG.js} +7 -7
- package/dist/plugin-sdk/{session-COrvpvUQ.js → session-k256LJZT.js} +3 -3
- package/dist/plugin-sdk/{skill-commands-DZqhtmiv.js → skill-commands-DoRqLzxm.js} +4 -4
- package/dist/plugin-sdk/{skills-Cw_vXEJb.js → skills-QudILG6e.js} +6 -6
- package/dist/plugin-sdk/slash-commands.runtime-DS6vCNSL.js +13 -0
- package/dist/plugin-sdk/slash-dispatch.runtime-BXrxb2wd.js +52 -0
- package/dist/plugin-sdk/slash-skill-commands.runtime-Bd6qQ2oT.js +16 -0
- package/dist/plugin-sdk/{store-CMHj6IIw.js → store-BbDQw3g6.js} +2 -2
- package/dist/plugin-sdk/subagent-registry-runtime-1uwQbuXj.js +52 -0
- package/dist/plugin-sdk/{tables-CSqrHsKL.js → tables-BhvloMKN.js} +1 -1
- package/dist/plugin-sdk/{thinking-DOnsR_A8.js → thinking-URzkT-3p.js} +7 -7
- package/dist/plugin-sdk/{tokens-BDr0Z9o3.js → tokens-B1PW5Ayy.js} +1 -1
- package/dist/plugin-sdk/{tool-images-eEfOVkzf.js → tool-images-xpqbP6RR.js} +2 -2
- package/dist/plugin-sdk/web-B74yhL2N.js +56 -0
- package/dist/plugin-sdk/{whatsapp-actions-xcleMoMv.js → whatsapp-actions-RcZ6vp61.js} +17 -17
- package/dist/plugin-sdk/whatsapp.js +50 -50
- package/dist/{plugins-CWkRQYDj.js → plugins-4Rj4OjLY.js} +11 -11
- package/dist/{proxy-env-Cq5gdrbj.js → proxy-env-DlmzDx8x.js} +1 -1
- package/dist/{plugin-sdk/proxy-fetch-uDXGKG3Z.js → proxy-fetch-B2pEfjbR.js} +1 -1
- package/dist/{pw-ai-CDQDCfUa.js → pw-ai-DNMjFMqH.js} +14 -14
- package/dist/{qmd-manager-BsYsO9Ii.js → qmd-manager-BtIKUaO9.js} +10 -10
- package/dist/{query-expansion-DtLc3wjL.js → query-expansion-CX-1fS52.js} +6 -6
- package/dist/{redact-ClbcYG1J.js → redact-COik8ET1.js} +1 -1
- package/dist/{run-with-concurrency-D_ZpbgEG.js → run-with-concurrency-BgYfgkXT.js} +4 -4
- package/dist/runtime-whatsapp-login.runtime-DUb55byQ.js +13 -0
- package/dist/runtime-whatsapp-outbound.runtime-Bii_xSfI.js +22 -0
- package/dist/{send-Dx2RkUOZ.js → send-6lz6rNVP.js} +6 -6
- package/dist/{send-vmONuVgL.js → send-BHTiZcH3.js} +26 -26
- package/dist/{send-Bj776ESJ.js → send-L7gRiwyd.js} +7 -7
- package/dist/{send-DcxmcFi_.js → send-PE6cwoTe.js} +8 -8
- package/dist/{send-BQERFNyo.js → send-dfu6_rgf.js} +5 -5
- package/dist/{session-A4QhBRvH.js → session-D8ImowSs.js} +8 -8
- package/dist/{skill-commands-CMzBZKG2.js → skill-commands-DNqJ-kwn.js} +9 -9
- package/dist/{skills-CE_iqvM5.js → skills-7ODkHQYp.js} +22 -22
- package/dist/slash-commands.runtime-CVw6566g.js +16 -0
- package/dist/slash-dispatch.runtime-B9Ygtzi4.js +56 -0
- package/dist/slash-skill-commands.runtime-DxZ4z5h6.js +20 -0
- package/dist/{store--eR1R_UX.js → store-D89wDcz9.js} +2 -2
- package/dist/subagent-registry-runtime-DL1Wv7nA.js +56 -0
- package/dist/{subsystem-Di1z8l0Z.js → subsystem-B45WV3qB.js} +14 -14
- package/dist/{tables-d739Y1xW.js → tables-mE4cJBN2.js} +1 -1
- package/dist/{target-errors-CBI2Ga0y.js → target-errors-mnlwhAjP.js} +2 -2
- package/dist/{thinking-DXYisHiZ.js → thinking-BeGmb5k6.js} +7 -7
- package/dist/{tokens-DxnY9ui_.js → tokens-q32vI39c.js} +1 -1
- package/dist/{tool-images-2cBx1W8h.js → tool-images-RZdHiZcG.js} +2 -2
- package/dist/{web-NWKn8ABz.js → web-Btj-e8kN.js} +55 -55
- package/dist/{whatsapp-actions-iEArE_Ez.js → whatsapp-actions-BHbJJyqw.js} +21 -21
- package/dist/{workspace-CUVC6GX1.js → workspace-U-DyR64O.js} +20 -20
- package/package.json +2 -2
- package/scripts/npm_publish.sh +65 -38
- package/dist/deliver-runtime-D1z-h5eg.js +0 -36
- package/dist/deps-send-discord.runtime-DnbhTFX9.js +0 -26
- package/dist/deps-send-imessage.runtime-BOiQ6mDx.js +0 -25
- package/dist/deps-send-signal.runtime-CTcl388M.js +0 -24
- package/dist/deps-send-slack.runtime-CCqBz4Kg.js +0 -22
- package/dist/deps-send-telegram.runtime-DGSKTCpH.js +0 -27
- package/dist/deps-send-whatsapp.runtime-Dz_4fi2D.js +0 -60
- package/dist/image-runtime-DWjhow2W.js +0 -29
- package/dist/manager-runtime-BN6VevdC.js +0 -18
- package/dist/pi-model-discovery-runtime-Bwmi4Ev8.js +0 -11
- package/dist/plugin-sdk/deliver-runtime-C5dgvvga.js +0 -32
- package/dist/plugin-sdk/deps-send-discord.runtime-Dg4N7PHJ.js +0 -23
- package/dist/plugin-sdk/deps-send-imessage.runtime-0OEwzMQm.js +0 -22
- package/dist/plugin-sdk/deps-send-signal.runtime-BM1jRt3G.js +0 -21
- package/dist/plugin-sdk/deps-send-slack.runtime-1E3BYRdF.js +0 -19
- package/dist/plugin-sdk/deps-send-telegram.runtime-DNCxIflA.js +0 -24
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-OLwr-9c8.js +0 -57
- package/dist/plugin-sdk/image-runtime-BFm45j49.js +0 -25
- package/dist/plugin-sdk/manager-runtime-DxclHQ4U.js +0 -15
- package/dist/plugin-sdk/pi-model-discovery-runtime-BuzvkvNR.js +0 -8
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-BxgRDkhc.js +0 -10
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-elOqrkfg.js +0 -19
- package/dist/plugin-sdk/slash-commands.runtime-D67JLweo.js +0 -13
- package/dist/plugin-sdk/slash-dispatch.runtime-DvcpvCJ0.js +0 -52
- package/dist/plugin-sdk/slash-skill-commands.runtime-BM1x3azR.js +0 -16
- package/dist/plugin-sdk/subagent-registry-runtime-1lbDyRzz.js +0 -52
- package/dist/plugin-sdk/web-BLyT64pW.js +0 -56
- package/dist/runtime-whatsapp-login.runtime-IeylZEl4.js +0 -13
- package/dist/runtime-whatsapp-outbound.runtime-ClBRuLsq.js +0 -22
- package/dist/slash-commands.runtime-Cpn2tYW4.js +0 -16
- package/dist/slash-dispatch.runtime-CWbpp23S.js +0 -56
- package/dist/slash-skill-commands.runtime-DKMvvdDW.js +0 -20
- package/dist/subagent-registry-runtime-DEVpAaAP.js +0 -56
- package/vendor/libsignal-node/yarn.lock +0 -893
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
import { _ as toAgentModelListLike, a as resolveAgentDir, c as resolveAgentWorkspaceDir, d as resolveRunModelFallbacksOverride, f as resolveSessionAgentId, g as resolveAgentModelPrimaryValue, h as resolveAgentModelFallbackValues, i as resolveAgentConfig, l as resolveDefaultAgentId, n as hasConfiguredModelFallbacks, p as resolveSessionAgentIds, r as listAgentIds, s as resolveAgentSkillsFilter, t as runTasksWithConcurrency, u as resolveEffectiveModelFallbacks } from "./run-with-concurrency-
|
|
2
|
-
import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, r as resolveConfigPath } from "./paths-
|
|
3
|
-
import { C as normalizeLogLevel, E as consumeRootOptionToken, T as FLAG_TERMINATOR, _ as isRich, a as clearActiveProgressLine, c as danger, f as setVerbose, g as colorize, h as warn, i as defaultRuntime, o as registerActiveProgressLine, p as shouldLogVerbose, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger, u as logVerbose, v as theme, w as resolvePreferredOpenClawTmpDir, y as getChildLogger } from "./subsystem-
|
|
4
|
-
import { $ as parseAgentSessionKey, A as normalizeWindowsPathForComparison, B as resolveAgentIdFromSessionKey, G as normalizeAccountId$2, H as sanitizeAgentId, I as classifySessionKeyShape, J as deriveSessionChatType, K as normalizeOptionalAccountId, L as isValidAgentId, M as DEFAULT_MAIN_KEY, N as buildAgentMainSessionKey, P as buildAgentPeerSessionKey, Q as isSubagentSessionKey, R as normalizeAgentId, U as scopedHeartbeatWakeOptions, V as resolveThreadSessionKeys, W as DEFAULT_ACCOUNT_ID, X as isAcpSessionKey, Y as getSubagentDepth, Z as isCronSessionKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as openBoundaryFile, et as resolveThreadParentSessionKey, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, j as DEFAULT_AGENT_ID, l as ensureAgentWorkspace, m as resolveOpenClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, q as isBlockedObjectKey, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as openBoundaryFileSync, z as normalizeMainKey } from "./workspace-
|
|
5
|
-
import { C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, S as shortenHomePath, a as CONFIG_DIR, d as formatTerminalLink, f as isRecord$1, h as normalizeE164, i as logWarn, l as ensureDir$3, n as logError, r as logInfo, s as clampInt, t as logDebug, u as escapeRegExp, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./logger-
|
|
6
|
-
import { $ as resolveConfigSnapshotHash, $n as dedupeProfileIds, $t as createPluginRegistry, A as getCustomProviderApiKey, An as unwrapKnownDispatchWrapperInvocation, At as isPathWithinRoot, B as markAuthProfileFailure, Bn as resolveSlackNativeStreaming, Bt as resolveMemorySlotDecision, C as OLLAMA_NATIVE_BASE_URL, Cn as DEFAULT_SAFE_BINS, D as buildStreamErrorAssistantMessage, Dn as extractShellWrapperInlineCommand, Dt as AVATAR_MAX_BYTES, E as buildAssistantMessageWithZeroUsage, En as resolveCommandResolutionFromArgv, Fn as resolveSafeBinProfiles, Ft as isPathInside, G as describeUnknownError$1, Gn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Gt as normalizeAnyChannelId, H as resolveProfilesUnavailableReason, Ht as CHAT_CHANNEL_ORDER, I as resolveAuthProfileOrder, In as applyMergePatch, It as safeStatSync, J as parseDotPath, Jn as getShellPathFromLoginShell, Jt as getActivePluginRegistry, K as isNonEmptyString, Kn as resolveAgentMaxConcurrent, Kt as normalizeChannelId$1, L as clearExpiredCooldowns, Ln as isSafeExecutableValue, Lt as applyTestPluginDefaults, M as resolveApiKeyForProvider, Mn as splitShellArgs, Mt as validateJsonSchemaValue, N as resolveEnvApiKey, Nn as SAFE_BIN_PROFILES, Nt as loadPluginManifestRegistry, O as buildUsageWithNoCost, On as isDispatchWrapperExecutable, Ot as isAvatarDataUrl, P as resolveModelAuthMode, Pn as normalizeSafeBinProfileFixtures, Pt as discoverOpenClawPlugins, Qn as resolveOwnerDisplaySetting, Qt as setActivePluginRegistry, R as getSoonestCooldownExpiry, Rn as mapStreamingModeToSlackLegacyDraftStreamMode, Rt as normalizePluginsConfig, S as retryAsync, Sn as splitCommandChain, T as buildAssistantMessage, Tn as resolveAllowlistCandidatePath, U as resolveApiKeyForProfile, Ut as getChatChannelMeta, V as markAuthProfileUsed, Vn as resolveSlackStreamingMode, W as resolveSecretRefValues, Wt as listChatChannels, X as loadConfig, Xn as isDangerousHostEnvVarName, Yn as resolveShellEnvFallbackTimeoutMs, Yt as getActivePluginRegistryKey, Z as readConfigFileSnapshot, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, _n as normalizeTrustedSafeBinDirs, _r as resolveSecretInputRef, a as isCliProvider, an as matchPluginCommand, ar as withFileLock, bn as buildEnforcedShellCommand, br as DEFAULT_MODEL, c as normalizeProviderId, cn as setConfigOverride, ct as resolveIMessageAttachmentRoots, d as resolveDefaultModelForAgent, dn as parseConfigPath, dr as resolveAuthProfileDisplayLabel, dt as parseNonNegativeByteSize, en as normalizePluginHttpPath, er as listProfilesForProvider, et as writeConfigFile, f as resolveModelRefFromString, fn as setConfigValueAtPath, ft as secretRefKey, gn as listWritableExplicitTrustedSafeBinDirs, gr as normalizeResolvedSecretInputString, h as resolveThinkingDefault, hn as isTrustedSafeBinPath, hr as hasConfiguredSecretInput, i as findNormalizedProviderValue, in as listPluginCommands, ir as resolveOpenClawAgentDir, it as resolveTelegramCustomCommands, j as requireApiKey, jn as unwrapKnownShellMultiplexerInvocation, jt as isSupportedLocalAvatarExtension, k as getApiKeyForModel, kn as isShellWrapperExecutable, kt as isAvatarHttpUrl, ln as unsetConfigOverride, lr as formatCliCommand, lt as resolveIMessageRemoteAttachmentRoots, m as resolveSubagentSpawnModelSelection, mn as getTrustedSafeBinDirs, mr as coerceSecretRef, mt as parseDurationMs, n as buildConfiguredAllowlistKeys, nn as executePluginCommand, nr as ensureAuthProfileStore, nt as TELEGRAM_COMMAND_NAME_PATTERN, o as modelKey, on as getConfigOverrides, ot as isInboundPathAllowed, p as resolveReasoningDefault, pn as unsetConfigValueAtPath, pr as normalizeSecretInput, q as isRecord$2, qn as VERSION, qt as normalizeChatChannelId, r as buildModelAliasIndex, rn as getPluginCommandSpecs, rr as resolveAuthStorePathForDisplay, rt as normalizeTelegramCommandName, s as normalizeModelRef$2, sn as resetConfigOverrides, t as buildAllowedModelSet, tn as clearPluginCommands, tr as markAuthProfileGood, tt as validateConfigObjectWithPlugins, u as resolveConfiguredModelRef, un as getConfigValueAtPath, ur as resolveCliName, ut as normalizeScpRemoteHost, vn as validateSafeBinArgv, vr as splitTrailingAuthProfile, w as createOllamaStreamFn, wn as matchAllowlist, x as resolveRetryConfig, xn as isWindowsPlatform, xr as DEFAULT_PROVIDER, yn as analyzeShellCommand, yr as DEFAULT_CONTEXT_TOKENS, z as isProfileInCooldown, zn as resolveDiscordPreviewStreamMode, zt as resolveEffectiveEnableState } from "./model-selection-
|
|
7
|
-
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-
|
|
8
|
-
import { c as parseBooleanValue$1, n as MANIFEST_KEY, r as createInternalHookEvent, s as triggerInternalHook } from "./legacy-names-
|
|
9
|
-
import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-
|
|
10
|
-
import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-
|
|
11
|
-
import { _ as normalizeChatType, a as normalizeWhatsAppTarget, b as resolveDiscordAccount, c as listTelegramAccountIds, d as buildChannelAccountBindings, f as listBindings, g as resolveSlackBotToken, h as resolveSlackAppToken, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAccount, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as createDiscordActionGate, x as normalizeDiscordToken, y as listEnabledDiscordAccounts } from "./plugins-
|
|
12
|
-
import { a as logWebSelfId, h as resolveAccountEntry, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, t as hasAnyWhatsAppAuth, u as readWebSelfId } from "./accounts-
|
|
13
|
-
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-
|
|
14
|
-
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-
|
|
1
|
+
import { _ as toAgentModelListLike, a as resolveAgentDir, c as resolveAgentWorkspaceDir, d as resolveRunModelFallbacksOverride, f as resolveSessionAgentId, g as resolveAgentModelPrimaryValue, h as resolveAgentModelFallbackValues, i as resolveAgentConfig, l as resolveDefaultAgentId, n as hasConfiguredModelFallbacks, p as resolveSessionAgentIds, r as listAgentIds, s as resolveAgentSkillsFilter, t as runTasksWithConcurrency, u as resolveEffectiveModelFallbacks } from "./run-with-concurrency-BgYfgkXT.js";
|
|
2
|
+
import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, r as resolveConfigPath } from "./paths-Cvc9EM8Y.js";
|
|
3
|
+
import { C as normalizeLogLevel, E as consumeRootOptionToken, T as FLAG_TERMINATOR, _ as isRich, a as clearActiveProgressLine, c as danger, f as setVerbose, g as colorize, h as warn, i as defaultRuntime, o as registerActiveProgressLine, p as shouldLogVerbose, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger, u as logVerbose, v as theme, w as resolvePreferredOpenClawTmpDir, y as getChildLogger } from "./subsystem-B45WV3qB.js";
|
|
4
|
+
import { $ as parseAgentSessionKey, A as normalizeWindowsPathForComparison, B as resolveAgentIdFromSessionKey, G as normalizeAccountId$2, H as sanitizeAgentId, I as classifySessionKeyShape, J as deriveSessionChatType, K as normalizeOptionalAccountId, L as isValidAgentId, M as DEFAULT_MAIN_KEY, N as buildAgentMainSessionKey, P as buildAgentPeerSessionKey, Q as isSubagentSessionKey, R as normalizeAgentId, U as scopedHeartbeatWakeOptions, V as resolveThreadSessionKeys, W as DEFAULT_ACCOUNT_ID, X as isAcpSessionKey, Y as getSubagentDepth, Z as isCronSessionKey, _ as runExec, a as DEFAULT_IDENTITY_FILENAME, b as openBoundaryFile, et as resolveThreadParentSessionKey, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, j as DEFAULT_AGENT_ID, l as ensureAgentWorkspace, m as resolveOpenClawPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, q as isBlockedObjectKey, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as openBoundaryFileSync, z as normalizeMainKey } from "./workspace-U-DyR64O.js";
|
|
5
|
+
import { C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, S as shortenHomePath, a as CONFIG_DIR, d as formatTerminalLink, f as isRecord$1, h as normalizeE164, i as logWarn, l as ensureDir$3, n as logError, r as logInfo, s as clampInt, t as logDebug, u as escapeRegExp, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./logger-BfjWMCSD.js";
|
|
6
|
+
import { $ as resolveConfigSnapshotHash, $n as dedupeProfileIds, $t as createPluginRegistry, A as getCustomProviderApiKey, An as unwrapKnownDispatchWrapperInvocation, At as isPathWithinRoot, B as markAuthProfileFailure, Bn as resolveSlackNativeStreaming, Bt as resolveMemorySlotDecision, C as OLLAMA_NATIVE_BASE_URL, Cn as DEFAULT_SAFE_BINS, D as buildStreamErrorAssistantMessage, Dn as extractShellWrapperInlineCommand, Dt as AVATAR_MAX_BYTES, E as buildAssistantMessageWithZeroUsage, En as resolveCommandResolutionFromArgv, Fn as resolveSafeBinProfiles, Ft as isPathInside, G as describeUnknownError$1, Gn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, Gt as normalizeAnyChannelId, H as resolveProfilesUnavailableReason, Ht as CHAT_CHANNEL_ORDER, I as resolveAuthProfileOrder, In as applyMergePatch, It as safeStatSync, J as parseDotPath, Jn as getShellPathFromLoginShell, Jt as getActivePluginRegistry, K as isNonEmptyString, Kn as resolveAgentMaxConcurrent, Kt as normalizeChannelId$1, L as clearExpiredCooldowns, Ln as isSafeExecutableValue, Lt as applyTestPluginDefaults, M as resolveApiKeyForProvider, Mn as splitShellArgs, Mt as validateJsonSchemaValue, N as resolveEnvApiKey, Nn as SAFE_BIN_PROFILES, Nt as loadPluginManifestRegistry, O as buildUsageWithNoCost, On as isDispatchWrapperExecutable, Ot as isAvatarDataUrl, P as resolveModelAuthMode, Pn as normalizeSafeBinProfileFixtures, Pt as discoverOpenClawPlugins, Qn as resolveOwnerDisplaySetting, Qt as setActivePluginRegistry, R as getSoonestCooldownExpiry, Rn as mapStreamingModeToSlackLegacyDraftStreamMode, Rt as normalizePluginsConfig, S as retryAsync, Sn as splitCommandChain, T as buildAssistantMessage, Tn as resolveAllowlistCandidatePath, U as resolveApiKeyForProfile, Ut as getChatChannelMeta, V as markAuthProfileUsed, Vn as resolveSlackStreamingMode, W as resolveSecretRefValues, Wt as listChatChannels, X as loadConfig, Xn as isDangerousHostEnvVarName, Yn as resolveShellEnvFallbackTimeoutMs, Yt as getActivePluginRegistryKey, Z as readConfigFileSnapshot, Zn as isTruthyEnvValue, Zt as requireActivePluginRegistry, _n as normalizeTrustedSafeBinDirs, _r as resolveSecretInputRef, a as isCliProvider, an as matchPluginCommand, ar as withFileLock, bn as buildEnforcedShellCommand, br as DEFAULT_MODEL, c as normalizeProviderId, cn as setConfigOverride, ct as resolveIMessageAttachmentRoots, d as resolveDefaultModelForAgent, dn as parseConfigPath, dr as resolveAuthProfileDisplayLabel, dt as parseNonNegativeByteSize, en as normalizePluginHttpPath, er as listProfilesForProvider, et as writeConfigFile, f as resolveModelRefFromString, fn as setConfigValueAtPath, ft as secretRefKey, gn as listWritableExplicitTrustedSafeBinDirs, gr as normalizeResolvedSecretInputString, h as resolveThinkingDefault, hn as isTrustedSafeBinPath, hr as hasConfiguredSecretInput, i as findNormalizedProviderValue, in as listPluginCommands, ir as resolveOpenClawAgentDir, it as resolveTelegramCustomCommands, j as requireApiKey, jn as unwrapKnownShellMultiplexerInvocation, jt as isSupportedLocalAvatarExtension, k as getApiKeyForModel, kn as isShellWrapperExecutable, kt as isAvatarHttpUrl, ln as unsetConfigOverride, lr as formatCliCommand, lt as resolveIMessageRemoteAttachmentRoots, m as resolveSubagentSpawnModelSelection, mn as getTrustedSafeBinDirs, mr as coerceSecretRef, mt as parseDurationMs, n as buildConfiguredAllowlistKeys, nn as executePluginCommand, nr as ensureAuthProfileStore, nt as TELEGRAM_COMMAND_NAME_PATTERN, o as modelKey, on as getConfigOverrides, ot as isInboundPathAllowed, p as resolveReasoningDefault, pn as unsetConfigValueAtPath, pr as normalizeSecretInput, q as isRecord$2, qn as VERSION, qt as normalizeChatChannelId, r as buildModelAliasIndex, rn as getPluginCommandSpecs, rr as resolveAuthStorePathForDisplay, rt as normalizeTelegramCommandName, s as normalizeModelRef$2, sn as resetConfigOverrides, t as buildAllowedModelSet, tn as clearPluginCommands, tr as markAuthProfileGood, tt as validateConfigObjectWithPlugins, u as resolveConfiguredModelRef, un as getConfigValueAtPath, ur as resolveCliName, ut as normalizeScpRemoteHost, vn as validateSafeBinArgv, vr as splitTrailingAuthProfile, w as createOllamaStreamFn, wn as matchAllowlist, x as resolveRetryConfig, xn as isWindowsPlatform, xr as DEFAULT_PROVIDER, yn as analyzeShellCommand, yr as DEFAULT_CONTEXT_TOKENS, z as isProfileInCooldown, zn as resolveDiscordPreviewStreamMode, zt as resolveEffectiveEnableState } from "./model-selection-Dna0Gz1k.js";
|
|
7
|
+
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-BDioPmd6.js";
|
|
8
|
+
import { c as parseBooleanValue$1, n as MANIFEST_KEY, r as createInternalHookEvent, s as triggerInternalHook } from "./legacy-names-DOC03BkU.js";
|
|
9
|
+
import { _ as normalizeAtHashSlug, a as normalizeReasoningLevel, b as normalizeStringEntriesLower, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as resolveChannelGroupToolsPolicy, h as resolveChannelGroupRequireMention, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupPolicy, n as formatXHighModelHint, o as normalizeThinkLevel, p as normalizeSignalMessagingTarget, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeHyphenSlug, y as normalizeStringEntries } from "./thinking-BeGmb5k6.js";
|
|
10
|
+
import { a as stripSilentToken, i as isSilentReplyText, n as SILENT_REPLY_TOKEN, r as isSilentReplyPrefixText, t as HEARTBEAT_TOKEN } from "./tokens-q32vI39c.js";
|
|
11
|
+
import { _ as normalizeChatType, a as normalizeWhatsAppTarget, b as resolveDiscordAccount, c as listTelegramAccountIds, d as buildChannelAccountBindings, f as listBindings, g as resolveSlackBotToken, h as resolveSlackAppToken, i as isWhatsAppGroupJid, l as resolveTelegramAccount, m as resolveSlackReplyToMode, n as listChannelPlugins, o as createTelegramActionGate, p as resolveSlackAccount, r as normalizeChannelId$2, s as listEnabledTelegramAccounts, t as getChannelPlugin, u as resolveTelegramToken, v as createDiscordActionGate, x as normalizeDiscordToken, y as listEnabledDiscordAccounts } from "./plugins-4Rj4OjLY.js";
|
|
12
|
+
import { a as logWebSelfId, h as resolveAccountEntry, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, o as logoutWeb, t as hasAnyWhatsAppAuth, u as readWebSelfId } from "./accounts-Tgelvk0C.js";
|
|
13
|
+
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-6lz6rNVP.js";
|
|
14
|
+
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-PE6cwoTe.js";
|
|
15
15
|
import { n as generateSecureUuid, t as generateSecureToken } from "./secure-random-CXrBi7Jq.js";
|
|
16
|
-
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-
|
|
17
|
-
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-
|
|
18
|
-
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-
|
|
16
|
+
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-DbdywYJE.js";
|
|
17
|
+
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-Co6Kghr-.js";
|
|
18
|
+
import { n as resolveSignalAccount, t as listEnabledSignalAccounts } from "./accounts-C9HcPI9h.js";
|
|
19
19
|
import { i as resolveTelegramTargetChatType, r as parseTelegramTarget } from "./targets-BiE9e9-P.js";
|
|
20
|
-
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-
|
|
21
|
-
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-
|
|
22
|
-
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-
|
|
23
|
-
import { $ as deliveryContextKey, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as setSessionRuntimeModel, 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 updateSessionStore, 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 deliveryContextFromSession, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as resolveFreshSessionTotalTokens, T as isFailoverAssistantError, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as isCacheEnabled, Xt as normalizeToolName, Y as updateSessionStoreEntry, Yt as expandToolGroups, Z as resolveCacheTtlMs$1, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveSessionResetPolicy, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as capArrayByJsonBytes, b as isAuthAssistantError, bt as DEFAULT_RESET_TRIGGERS, c as extractToolCallsFromAssistant, ct as parseInlineDirectives$1, d as downgradeOpenAIFunctionCallReasoningPairs, dt as hasInterSessionUserProvenance, en as buildBootstrapContextFiles, et as mergeDeliveryContext, f as downgradeOpenAIReasoningBlocks, ft as normalizeInputProvenance, g as formatAssistantErrorText, gt as resolveChannelResetConfig, h as classifyFailoverReason, ht as evaluateSessionFreshness, in as resolveBootstrapTotalMaxChars, it as archiveSessionTranscripts, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as INPUT_PROVENANCE_KIND_VALUES, m as BILLING_ERROR_USER_MESSAGE, mt as resolveSessionKey, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeSessionDeliveryFields, o as normalizeTextForComparison, ot as countToolResults, p as isGoogleModelApi, pt as jsonUtf8Bytes, q as updateLastRoute, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeAccountId$3, s as sanitizeSessionMessagesImages, st as extractToolCallNames, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as normalizeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as applyInputProvenanceToUserMessage, v as formatRawAssistantErrorForUi, vt as resolveSessionResetType, w as isContextOverflowError, wt as canonicalizeMainSessionAlias, x as isBillingAssistantError, xt as mergeSessionEntry, y as getApiErrorPayloadFingerprint, yt as resolveThreadFlag, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-
|
|
24
|
-
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-
|
|
25
|
-
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-
|
|
26
|
-
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-
|
|
27
|
-
import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-
|
|
28
|
-
import { i as formatUncaughtError, o as readErrorName, r as formatErrorMessage } from "./errors-
|
|
29
|
-
import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-
|
|
30
|
-
import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-
|
|
31
|
-
import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store
|
|
20
|
+
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-BuUnEOE0.js";
|
|
21
|
+
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-BHTiZcH3.js";
|
|
22
|
+
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Dymwdjt0.js";
|
|
23
|
+
import { $ as deliveryContextKey, $t as matchesAnyGlobPattern, A as isTransientHttpError, At as resolveGroupSessionKey, B as parseSessionThreadInfo, Bt as resolveGatewayCredentialsFromConfig, C as isCompactionFailureError, Ct as setSessionRuntimeModel, 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 updateSessionStore, 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 deliveryContextFromSession, Qt as compileGlobPatterns, R as resolveSandboxRuntimeStatus, Rt as ensureBrowserControlAuth, S as isCloudCodeAssistFormatError, St as resolveFreshSessionTotalTokens, T as isFailoverAssistantError, U as resolveAndPersistSessionFile, Ut as applyOwnerOnlyToolPolicy, V as appendAssistantMessageToSessionTranscript, Vt as trimToUndefined$1, W as loadSessionStore, Wt as buildPluginToolGroups, X as isCacheEnabled, Xt as normalizeToolName, Y as updateSessionStoreEntry, Yt as expandToolGroups, Z as resolveCacheTtlMs$1, Zt as resolveToolProfilePolicy, _ as formatBillingErrorMessage, _t as resolveSessionResetPolicy, a as isMessagingToolDuplicateNormalized, an as sanitizeGoogleTurnOrdering, at as capArrayByJsonBytes, b as isAuthAssistantError, bt as DEFAULT_RESET_TRIGGERS, c as extractToolCallsFromAssistant, ct as parseInlineDirectives$1, d as downgradeOpenAIFunctionCallReasoningPairs, dt as hasInterSessionUserProvenance, en as buildBootstrapContextFiles, et as mergeDeliveryContext, f as downgradeOpenAIReasoningBlocks, ft as normalizeInputProvenance, g as formatAssistantErrorText, gt as resolveChannelResetConfig, h as classifyFailoverReason, ht as evaluateSessionFreshness, in as resolveBootstrapTotalMaxChars, it as archiveSessionTranscripts, j as parseImageDimensionError, jt as acquireSessionWriteLock, k as isRawApiErrorPayload, kt as resolveConversationLabel, l as extractToolResultId, lt as INPUT_PROVENANCE_KIND_VALUES, m as BILLING_ERROR_USER_MESSAGE, mt as resolveSessionKey, n as validateGeminiTurns, nn as resolveBootstrapMaxChars, nt as normalizeSessionDeliveryFields, o as normalizeTextForComparison, ot as countToolResults, p as isGoogleModelApi, pt as jsonUtf8Bytes, q as updateLastRoute, qt as mergeAlsoAllowPolicy, r as pickFallbackThinkingLevel, rn as resolveBootstrapPromptTruncationWarningMode, rt as normalizeAccountId$3, s as sanitizeSessionMessagesImages, st as extractToolCallNames, t as validateAnthropicTurns, tn as ensureSessionHeader, tt as normalizeDeliveryContext, u as sanitizeToolCallIdsForCloudCodeAssist, ut as applyInputProvenanceToUserMessage, v as formatRawAssistantErrorForUi, vt as resolveSessionResetType, w as isContextOverflowError, wt as canonicalizeMainSessionAlias, x as isBillingAssistantError, xt as mergeSessionEntry, y as getApiErrorPayloadFingerprint, yt as resolveThreadFlag, z as extractDeliveryInfo, zt as resolveBrowserControlAuth } from "./pi-embedded-helpers-CLXm10bV.js";
|
|
24
|
+
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-DxxEKrY7.js";
|
|
25
|
+
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-7ODkHQYp.js";
|
|
26
|
+
import { t as PATH_ALIAS_POLICIES } from "./path-alias-guards-BzvdLvTI.js";
|
|
27
|
+
import { i as testRegexWithBoundedInput, r as compileSafeRegex, t as redactSensitiveText } from "./redact-COik8ET1.js";
|
|
28
|
+
import { i as formatUncaughtError, o as readErrorName, r as formatErrorMessage } from "./errors-xt401nuk.js";
|
|
29
|
+
import { a as readFileWithinRoot, c as writeFileWithinRoot, i as openFileWithinRoot, n as copyFileWithinRoot, r as createRootScopedReadFile, t as SafeOpenError } from "./fs-safe-CTYUrIgQ.js";
|
|
30
|
+
import { a as isBlockedHostnameOrIp, c as normalizeHostname, n as SsrFBlockedError } from "./proxy-env-DlmzDx8x.js";
|
|
31
|
+
import { i as saveMediaBuffer, r as getMediaDir, t as MEDIA_MAX_BYTES } from "./store-D89wDcz9.js";
|
|
32
32
|
import { n as readJsonFile, r as writeJsonAtomic, t as createAsyncLock } from "./json-files-D7-rxoSr.js";
|
|
33
|
-
import { t as resolveIMessageAccount } from "./accounts-
|
|
34
|
-
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-
|
|
33
|
+
import { t as resolveIMessageAccount } from "./accounts-C_lW3Ag9.js";
|
|
34
|
+
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-Bkr-BCxW.js";
|
|
35
35
|
import { n as onSessionTranscriptUpdate, t as emitSessionTranscriptUpdate } from "./transcript-events-uYL2gEou.js";
|
|
36
|
-
import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-
|
|
37
|
-
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 ensureOpenClawModelsJson, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-
|
|
38
|
-
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-
|
|
39
|
-
import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-
|
|
36
|
+
import { a as canonicalizeBase64, i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, o as estimateBase64DecodedBytes, r as sanitizeToolResultImages } from "./tool-images-RZdHiZcG.js";
|
|
37
|
+
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 ensureOpenClawModelsJson, x as isInsideCode, y as stripReasoningTagsFromText } from "./image-eT7Y-nP5.js";
|
|
38
|
+
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-gLFfz8fr.js";
|
|
39
|
+
import { a as getDefaultMediaLocalRoots, i as getAgentScopedMediaLocalRoots, n as fetchRemoteMedia, r as readResponseWithLimit, t as MediaFetchError } from "./fetch-DuraYswo.js";
|
|
40
40
|
import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-Wgx3OXYj.js";
|
|
41
|
-
import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
42
|
-
import { t as makeProxyFetch } from "./proxy-fetch-
|
|
43
|
-
import { _ as isSafeFenceBreak, a as loadWebMedia, c as chunkByNewline, d as chunkMarkdownTextWithMode, f as chunkText, g as findFenceSpanAt, h as resolveTextChunkLimit, i as getDefaultLocalRoots, m as resolveChunkMode, o as loadWebMediaRaw, p as chunkTextWithMode, s as resolveMarkdownTableMode, u as chunkMarkdownText, v as parseFenceSpans } from "./ir-
|
|
44
|
-
import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-
|
|
45
|
-
import { _ as isRestartEnabled, a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, g as isNativeCommandsExplicitlyDisabled, h as isCommandFlagEnabled, i as listChatCommands, l as normalizeCommandBody, m as shouldHandleTextCommands, n as findCommandByNativeName, o as listNativeCommandSpecs, p as serializeCommandArgs, r as isCommandEnabled, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs, v as resolveNativeCommandsEnabled, y as resolveNativeSkillsEnabled } from "./commands-registry-
|
|
46
|
-
import { a as getRemoteSkillEligibility, c as pruneExpiredPending, i as resolveSkillCommandInvocation, l as resolvePairingPaths, n as listSkillCommandsForAgents, o as ensureSkillsWatcher, r as listSkillCommandsForWorkspace, s as getSkillsSnapshotVersion, t as listReservedChatSlashCommandNames } from "./skill-commands-
|
|
41
|
+
import { n as withStrictGuardedFetchMode, r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-DWr0d00H.js";
|
|
42
|
+
import { t as makeProxyFetch } from "./proxy-fetch-B2pEfjbR.js";
|
|
43
|
+
import { _ as isSafeFenceBreak, a as loadWebMedia, c as chunkByNewline, d as chunkMarkdownTextWithMode, f as chunkText, g as findFenceSpanAt, h as resolveTextChunkLimit, i as getDefaultLocalRoots, m as resolveChunkMode, o as loadWebMediaRaw, p as chunkTextWithMode, s as resolveMarkdownTableMode, u as chunkMarkdownText, v as parseFenceSpans } from "./ir-B83looB-.js";
|
|
44
|
+
import { a as ToolInputError, c as imageResultFromFile, d as readNumberParam, f as readReactionParams, h as readStringParam, l as jsonResult, m as readStringOrNumberParam, n as missingTargetError, o as createActionGate, p as readStringArrayParam, r as unknownTargetError, s as imageResult, t as ambiguousTargetError, u as parseAvailableTags } from "./target-errors-mnlwhAjP.js";
|
|
45
|
+
import { _ as isRestartEnabled, a as listChatCommandsForConfig, c as maybeResolveTextAlias, d as resolveCommandArgChoices, f as resolveCommandArgMenu, g as isNativeCommandsExplicitlyDisabled, h as isCommandFlagEnabled, i as listChatCommands, l as normalizeCommandBody, m as shouldHandleTextCommands, n as findCommandByNativeName, o as listNativeCommandSpecs, p as serializeCommandArgs, r as isCommandEnabled, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs, v as resolveNativeCommandsEnabled, y as resolveNativeSkillsEnabled } from "./commands-registry-D5qXbFJn.js";
|
|
46
|
+
import { a as getRemoteSkillEligibility, c as pruneExpiredPending, i as resolveSkillCommandInvocation, l as resolvePairingPaths, n as listSkillCommandsForAgents, o as ensureSkillsWatcher, r as listSkillCommandsForWorkspace, s as getSkillsSnapshotVersion, t as listReservedChatSlashCommandNames } from "./skill-commands-DNqJ-kwn.js";
|
|
47
47
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-BfuG8uZ8.js";
|
|
48
48
|
import { n as recordCommandPoll, r as resetCommandPollCount } from "./command-poll-backoff-CmCpeg5n.js";
|
|
49
|
-
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-
|
|
49
|
+
import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-BDnjYF7B.js";
|
|
50
50
|
import { t as buildOutboundMediaLoadOptions } from "./load-options-BFUunM8u.js";
|
|
51
51
|
import { n as normalizePollInput } from "./polls-CYTwXmA1.js";
|
|
52
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
53
|
-
import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-
|
|
54
|
-
import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-
|
|
55
|
-
import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-
|
|
56
|
-
import { n as resolveMemorySearchConfig } from "./manager-
|
|
57
|
-
import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-
|
|
52
|
+
import { t as convertMarkdownTables } from "./tables-mE4cJBN2.js";
|
|
53
|
+
import { a as signalCheck, i as resolveSignalRpcContext, n as sendReadReceiptSignal, o as signalRpcRequest, r as sendTypingSignal, s as streamSignalEvents, t as sendMessageSignal } from "./send-dfu6_rgf.js";
|
|
54
|
+
import { a as isAllowedIMessageSender, i as formatIMessageChatTarget, n as createIMessageRpcClient, o as normalizeIMessageHandle, r as DEFAULT_IMESSAGE_PROBE_TIMEOUT_MS, s as parseIMessageTarget, t as sendMessageIMessage } from "./send-L7gRiwyd.js";
|
|
55
|
+
import { i as redactIdentifier, t as getActiveWebListener } from "./active-listener-BEdprTkn.js";
|
|
56
|
+
import { n as resolveMemorySearchConfig } from "./manager-1bvuGrNR.js";
|
|
57
|
+
import { f as listMemoryFiles, p as normalizeExtraMemoryPaths } from "./query-expansion-CX-1fS52.js";
|
|
58
58
|
import { createRequire } from "node:module";
|
|
59
|
-
import * as fs$
|
|
59
|
+
import * as fs$2 from "node:fs/promises";
|
|
60
60
|
import fs from "node:fs/promises";
|
|
61
61
|
import os, { homedir } from "node:os";
|
|
62
62
|
import * as path$1 from "node:path";
|
|
63
63
|
import path, { isAbsolute } from "node:path";
|
|
64
|
-
import
|
|
64
|
+
import fs$1, { existsSync, mkdirSync, mkdtempSync, promises, readFileSync, renameSync, rmSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
65
65
|
import JSON5 from "json5";
|
|
66
66
|
import { inspect, isDeepStrictEqual, promisify } from "node:util";
|
|
67
67
|
import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
|
|
@@ -72,7 +72,7 @@ import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, Setting
|
|
|
72
72
|
import { EdgeTTS } from "node-edge-tts";
|
|
73
73
|
import { createServer } from "node:http";
|
|
74
74
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
75
|
-
import WebSocket
|
|
75
|
+
import WebSocket, { WebSocket as WebSocket$1 } from "ws";
|
|
76
76
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
77
77
|
import { createJiti } from "jiti";
|
|
78
78
|
import AjvPkg from "ajv";
|
|
@@ -3285,7 +3285,7 @@ async function resolveOpenClawDocsPath(params) {
|
|
|
3285
3285
|
const workspaceDir = params.workspaceDir?.trim();
|
|
3286
3286
|
if (workspaceDir) {
|
|
3287
3287
|
const workspaceDocs = path.join(workspaceDir, "docs");
|
|
3288
|
-
if (
|
|
3288
|
+
if (fs$1.existsSync(workspaceDocs)) return workspaceDocs;
|
|
3289
3289
|
}
|
|
3290
3290
|
const packageRoot = await resolveOpenClawPackageRoot({
|
|
3291
3291
|
cwd: params.cwd,
|
|
@@ -3294,7 +3294,7 @@ async function resolveOpenClawDocsPath(params) {
|
|
|
3294
3294
|
});
|
|
3295
3295
|
if (!packageRoot) return null;
|
|
3296
3296
|
const packageDocs = path.join(packageRoot, "docs");
|
|
3297
|
-
return
|
|
3297
|
+
return fs$1.existsSync(packageDocs) ? packageDocs : null;
|
|
3298
3298
|
}
|
|
3299
3299
|
|
|
3300
3300
|
//#endregion
|
|
@@ -6411,7 +6411,7 @@ function resolveDefaultIdentityPath() {
|
|
|
6411
6411
|
return path.join(resolveStateDir(), "identity", "device.json");
|
|
6412
6412
|
}
|
|
6413
6413
|
function ensureDir$2(filePath) {
|
|
6414
|
-
|
|
6414
|
+
fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
6415
6415
|
}
|
|
6416
6416
|
const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
|
|
6417
6417
|
function base64UrlEncode(buf) {
|
|
@@ -6447,8 +6447,8 @@ function generateIdentity() {
|
|
|
6447
6447
|
}
|
|
6448
6448
|
function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
|
|
6449
6449
|
try {
|
|
6450
|
-
if (
|
|
6451
|
-
const raw =
|
|
6450
|
+
if (fs$1.existsSync(filePath)) {
|
|
6451
|
+
const raw = fs$1.readFileSync(filePath, "utf8");
|
|
6452
6452
|
const parsed = JSON.parse(raw);
|
|
6453
6453
|
if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
|
|
6454
6454
|
const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
|
|
@@ -6457,9 +6457,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
|
|
|
6457
6457
|
...parsed,
|
|
6458
6458
|
deviceId: derivedId
|
|
6459
6459
|
};
|
|
6460
|
-
|
|
6460
|
+
fs$1.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
|
|
6461
6461
|
try {
|
|
6462
|
-
|
|
6462
|
+
fs$1.chmodSync(filePath, 384);
|
|
6463
6463
|
} catch {}
|
|
6464
6464
|
return {
|
|
6465
6465
|
deviceId: derivedId,
|
|
@@ -6484,9 +6484,9 @@ function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
|
|
|
6484
6484
|
privateKeyPem: identity.privateKeyPem,
|
|
6485
6485
|
createdAtMs: Date.now()
|
|
6486
6486
|
};
|
|
6487
|
-
|
|
6487
|
+
fs$1.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
|
|
6488
6488
|
try {
|
|
6489
|
-
|
|
6489
|
+
fs$1.chmodSync(filePath, 384);
|
|
6490
6490
|
} catch {}
|
|
6491
6491
|
return identity;
|
|
6492
6492
|
}
|
|
@@ -6678,8 +6678,8 @@ function resolveDeviceAuthPath(env = process.env) {
|
|
|
6678
6678
|
}
|
|
6679
6679
|
function readStore(filePath) {
|
|
6680
6680
|
try {
|
|
6681
|
-
if (!
|
|
6682
|
-
const raw =
|
|
6681
|
+
if (!fs$1.existsSync(filePath)) return null;
|
|
6682
|
+
const raw = fs$1.readFileSync(filePath, "utf8");
|
|
6683
6683
|
const parsed = JSON.parse(raw);
|
|
6684
6684
|
if (parsed?.version !== 1 || typeof parsed.deviceId !== "string") return null;
|
|
6685
6685
|
if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
|
|
@@ -6689,10 +6689,10 @@ function readStore(filePath) {
|
|
|
6689
6689
|
}
|
|
6690
6690
|
}
|
|
6691
6691
|
function writeStore(filePath, store) {
|
|
6692
|
-
|
|
6693
|
-
|
|
6692
|
+
fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
6693
|
+
fs$1.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
|
|
6694
6694
|
try {
|
|
6695
|
-
|
|
6695
|
+
fs$1.chmodSync(filePath, 384);
|
|
6696
6696
|
} catch {}
|
|
6697
6697
|
}
|
|
6698
6698
|
function loadDeviceAuthToken(params) {
|
|
@@ -8213,7 +8213,7 @@ var GatewayClient = class {
|
|
|
8213
8213
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
8214
8214
|
});
|
|
8215
8215
|
}
|
|
8216
|
-
this.ws = new WebSocket(url, wsOptions);
|
|
8216
|
+
this.ws = new WebSocket$1(url, wsOptions);
|
|
8217
8217
|
this.ws.on("open", () => {
|
|
8218
8218
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
8219
8219
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -8409,7 +8409,7 @@ var GatewayClient = class {
|
|
|
8409
8409
|
const connectChallengeTimeoutMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(250, Math.min(1e4, rawConnectDelayMs)) : 2e3;
|
|
8410
8410
|
if (this.connectTimer) clearTimeout(this.connectTimer);
|
|
8411
8411
|
this.connectTimer = setTimeout(() => {
|
|
8412
|
-
if (this.connectSent || this.ws?.readyState !== WebSocket.OPEN) return;
|
|
8412
|
+
if (this.connectSent || this.ws?.readyState !== WebSocket$1.OPEN) return;
|
|
8413
8413
|
this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway connect challenge timeout"));
|
|
8414
8414
|
this.ws?.close(1008, "connect challenge timeout");
|
|
8415
8415
|
}, connectChallengeTimeoutMs);
|
|
@@ -8451,7 +8451,7 @@ var GatewayClient = class {
|
|
|
8451
8451
|
return null;
|
|
8452
8452
|
}
|
|
8453
8453
|
async request(method, params, opts) {
|
|
8454
|
-
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
8454
|
+
if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
|
|
8455
8455
|
const id = randomUUID();
|
|
8456
8456
|
const frame = {
|
|
8457
8457
|
type: "req",
|
|
@@ -9873,7 +9873,7 @@ function normalizeReplyPayload(payload, opts = {}) {
|
|
|
9873
9873
|
*/
|
|
9874
9874
|
let deliverRuntimePromise$2 = null;
|
|
9875
9875
|
function loadDeliverRuntime$2() {
|
|
9876
|
-
deliverRuntimePromise$2 ??= import("./deliver-runtime-
|
|
9876
|
+
deliverRuntimePromise$2 ??= import("./deliver-runtime-BFs7iAZF.js");
|
|
9877
9877
|
return deliverRuntimePromise$2;
|
|
9878
9878
|
}
|
|
9879
9879
|
/**
|
|
@@ -10561,7 +10561,7 @@ function normalizeSessionKey(value) {
|
|
|
10561
10561
|
}
|
|
10562
10562
|
function readSessionStore(storePath) {
|
|
10563
10563
|
try {
|
|
10564
|
-
const raw =
|
|
10564
|
+
const raw = fs$1.readFileSync(storePath, "utf-8");
|
|
10565
10565
|
const parsed = JSON5.parse(raw);
|
|
10566
10566
|
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
|
|
10567
10567
|
} catch {}
|
|
@@ -11161,7 +11161,7 @@ const DEFAULT_SUBAGENT_ANNOUNCE_TIMEOUT_MS = 6e4;
|
|
|
11161
11161
|
const MAX_TIMER_SAFE_TIMEOUT_MS = 2147e6;
|
|
11162
11162
|
let subagentRegistryRuntimePromise = null;
|
|
11163
11163
|
function loadSubagentRegistryRuntime() {
|
|
11164
|
-
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-
|
|
11164
|
+
subagentRegistryRuntimePromise ??= import("./subagent-registry-runtime-DL1Wv7nA.js");
|
|
11165
11165
|
return subagentRegistryRuntimePromise;
|
|
11166
11166
|
}
|
|
11167
11167
|
const DIRECT_ANNOUNCE_TRANSIENT_RETRY_DELAYS_MS = FAST_TEST_MODE ? [
|
|
@@ -14515,7 +14515,7 @@ async function runWithConcurrency(tasks, limit) {
|
|
|
14515
14515
|
//#region src/media-understanding/echo-transcript.ts
|
|
14516
14516
|
let deliverRuntimePromise$1 = null;
|
|
14517
14517
|
function loadDeliverRuntime$1() {
|
|
14518
|
-
deliverRuntimePromise$1 ??= import("./deliver-runtime-
|
|
14518
|
+
deliverRuntimePromise$1 ??= import("./deliver-runtime-BFs7iAZF.js");
|
|
14519
14519
|
return deliverRuntimePromise$1;
|
|
14520
14520
|
}
|
|
14521
14521
|
const DEFAULT_ECHO_TRANSCRIPT_FORMAT = "📝 \"{transcript}\"";
|
|
@@ -18164,7 +18164,7 @@ function mergeLegacyAgent(current, legacy) {
|
|
|
18164
18164
|
}
|
|
18165
18165
|
function ensureDir$1(filePath) {
|
|
18166
18166
|
const dir = path.dirname(filePath);
|
|
18167
|
-
|
|
18167
|
+
fs$1.mkdirSync(dir, { recursive: true });
|
|
18168
18168
|
}
|
|
18169
18169
|
function coerceAllowlistEntries(allowlist) {
|
|
18170
18170
|
if (!Array.isArray(allowlist) || allowlist.length === 0) return Array.isArray(allowlist) ? allowlist : void 0;
|
|
@@ -18234,11 +18234,11 @@ function generateToken() {
|
|
|
18234
18234
|
function loadExecApprovals() {
|
|
18235
18235
|
const filePath = resolveExecApprovalsPath();
|
|
18236
18236
|
try {
|
|
18237
|
-
if (!
|
|
18237
|
+
if (!fs$1.existsSync(filePath)) return normalizeExecApprovals({
|
|
18238
18238
|
version: 1,
|
|
18239
18239
|
agents: {}
|
|
18240
18240
|
});
|
|
18241
|
-
const raw =
|
|
18241
|
+
const raw = fs$1.readFileSync(filePath, "utf8");
|
|
18242
18242
|
const parsed = JSON.parse(raw);
|
|
18243
18243
|
if (parsed?.version !== 1) return normalizeExecApprovals({
|
|
18244
18244
|
version: 1,
|
|
@@ -18255,9 +18255,9 @@ function loadExecApprovals() {
|
|
|
18255
18255
|
function saveExecApprovals(file) {
|
|
18256
18256
|
const filePath = resolveExecApprovalsPath();
|
|
18257
18257
|
ensureDir$1(filePath);
|
|
18258
|
-
|
|
18258
|
+
fs$1.writeFileSync(filePath, `${JSON.stringify(file, null, 2)}\n`, { mode: 384 });
|
|
18259
18259
|
try {
|
|
18260
|
-
|
|
18260
|
+
fs$1.chmodSync(filePath, 384);
|
|
18261
18261
|
} catch {}
|
|
18262
18262
|
}
|
|
18263
18263
|
function ensureExecApprovals() {
|
|
@@ -18754,18 +18754,18 @@ function drainSystemEventEntries(sessionKey) {
|
|
|
18754
18754
|
function resolvePowerShellPath() {
|
|
18755
18755
|
const programFiles = process.env.ProgramFiles || process.env.PROGRAMFILES || "C:\\Program Files";
|
|
18756
18756
|
const pwsh7 = path.join(programFiles, "PowerShell", "7", "pwsh.exe");
|
|
18757
|
-
if (
|
|
18757
|
+
if (fs$1.existsSync(pwsh7)) return pwsh7;
|
|
18758
18758
|
const programW6432 = process.env.ProgramW6432;
|
|
18759
18759
|
if (programW6432 && programW6432 !== programFiles) {
|
|
18760
18760
|
const pwsh7Alt = path.join(programW6432, "PowerShell", "7", "pwsh.exe");
|
|
18761
|
-
if (
|
|
18761
|
+
if (fs$1.existsSync(pwsh7Alt)) return pwsh7Alt;
|
|
18762
18762
|
}
|
|
18763
18763
|
const pwshInPath = resolveShellFromPath("pwsh");
|
|
18764
18764
|
if (pwshInPath) return pwshInPath;
|
|
18765
18765
|
const systemRoot = process.env.SystemRoot || process.env.WINDIR;
|
|
18766
18766
|
if (systemRoot) {
|
|
18767
18767
|
const candidate = path.join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe");
|
|
18768
|
-
if (
|
|
18768
|
+
if (fs$1.existsSync(candidate)) return candidate;
|
|
18769
18769
|
}
|
|
18770
18770
|
return "powershell.exe";
|
|
18771
18771
|
}
|
|
@@ -18803,7 +18803,7 @@ function resolveShellFromPath(name) {
|
|
|
18803
18803
|
for (const entry of entries) {
|
|
18804
18804
|
const candidate = path.join(entry, name);
|
|
18805
18805
|
try {
|
|
18806
|
-
|
|
18806
|
+
fs$1.accessSync(candidate, fs$1.constants.X_OK);
|
|
18807
18807
|
return candidate;
|
|
18808
18808
|
} catch {}
|
|
18809
18809
|
}
|
|
@@ -22278,7 +22278,7 @@ function ensureContextWindowCacheLoaded() {
|
|
|
22278
22278
|
await ensureOpenClawModelsJson(cfg);
|
|
22279
22279
|
} catch {}
|
|
22280
22280
|
try {
|
|
22281
|
-
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-
|
|
22281
|
+
const { discoverAuthStorage, discoverModels } = await import("./pi-model-discovery-Dymwdjt0.js").then((n) => n.r);
|
|
22282
22282
|
const agentDir = resolveOpenClawAgentDir();
|
|
22283
22283
|
const modelRegistry = discoverModels(discoverAuthStorage(agentDir), agentDir);
|
|
22284
22284
|
applyDiscoveredContextWindows({
|
|
@@ -22434,7 +22434,7 @@ function walkUpFrom(startDir, opts, resolveAtDir) {
|
|
|
22434
22434
|
function hasGitMarker(repoRoot) {
|
|
22435
22435
|
const gitPath = path.join(repoRoot, ".git");
|
|
22436
22436
|
try {
|
|
22437
|
-
const stat =
|
|
22437
|
+
const stat = fs$1.statSync(gitPath);
|
|
22438
22438
|
return stat.isDirectory() || stat.isFile();
|
|
22439
22439
|
} catch {
|
|
22440
22440
|
return false;
|
|
@@ -22446,10 +22446,10 @@ function findGitRoot(startDir, opts = {}) {
|
|
|
22446
22446
|
function resolveGitDirFromMarker(repoRoot) {
|
|
22447
22447
|
const gitPath = path.join(repoRoot, ".git");
|
|
22448
22448
|
try {
|
|
22449
|
-
const stat =
|
|
22449
|
+
const stat = fs$1.statSync(gitPath);
|
|
22450
22450
|
if (stat.isDirectory()) return gitPath;
|
|
22451
22451
|
if (!stat.isFile()) return null;
|
|
22452
|
-
const match =
|
|
22452
|
+
const match = fs$1.readFileSync(gitPath, "utf-8").match(/gitdir:\s*(.+)/i);
|
|
22453
22453
|
if (!match?.[1]) return null;
|
|
22454
22454
|
return path.resolve(repoRoot, match[1].trim());
|
|
22455
22455
|
} catch {
|
|
@@ -22516,7 +22516,7 @@ const resolveCommitHash = (options = {}) => {
|
|
|
22516
22516
|
cachedCommit = null;
|
|
22517
22517
|
return cachedCommit;
|
|
22518
22518
|
}
|
|
22519
|
-
const head =
|
|
22519
|
+
const head = fs$1.readFileSync(headPath, "utf-8").trim();
|
|
22520
22520
|
if (!head) {
|
|
22521
22521
|
cachedCommit = null;
|
|
22522
22522
|
return cachedCommit;
|
|
@@ -22524,7 +22524,7 @@ const resolveCommitHash = (options = {}) => {
|
|
|
22524
22524
|
if (head.startsWith("ref:")) {
|
|
22525
22525
|
const ref = head.replace(/^ref:\s*/i, "").trim();
|
|
22526
22526
|
const refPath = path.resolve(path.dirname(headPath), ref);
|
|
22527
|
-
cachedCommit = formatCommit(
|
|
22527
|
+
cachedCommit = formatCommit(fs$1.readFileSync(refPath, "utf-8").trim());
|
|
22528
22528
|
return cachedCommit;
|
|
22529
22529
|
}
|
|
22530
22530
|
cachedCommit = formatCommit(head);
|
|
@@ -22784,17 +22784,17 @@ const readUsageFromSessionLog = (sessionId, sessionEntry, agentId, sessionKey, s
|
|
|
22784
22784
|
} catch {
|
|
22785
22785
|
return;
|
|
22786
22786
|
}
|
|
22787
|
-
if (!
|
|
22787
|
+
if (!fs$1.existsSync(logPath)) return;
|
|
22788
22788
|
try {
|
|
22789
22789
|
const TAIL_BYTES = 8192;
|
|
22790
|
-
const stat =
|
|
22790
|
+
const stat = fs$1.statSync(logPath);
|
|
22791
22791
|
const offset = Math.max(0, stat.size - TAIL_BYTES);
|
|
22792
22792
|
const buf = Buffer.alloc(Math.min(TAIL_BYTES, stat.size));
|
|
22793
|
-
const fd =
|
|
22793
|
+
const fd = fs$1.openSync(logPath, "r");
|
|
22794
22794
|
try {
|
|
22795
|
-
|
|
22795
|
+
fs$1.readSync(fd, buf, 0, buf.length, offset);
|
|
22796
22796
|
} finally {
|
|
22797
|
-
|
|
22797
|
+
fs$1.closeSync(fd);
|
|
22798
22798
|
}
|
|
22799
22799
|
const tail = buf.toString("utf-8");
|
|
22800
22800
|
const lines = (offset > 0 ? tail.slice(tail.indexOf("\n") + 1) : tail).split(/\n+/);
|
|
@@ -24302,7 +24302,7 @@ function resolveRepoRoot(params) {
|
|
|
24302
24302
|
const configured = params.config?.agents?.defaults?.repoRoot?.trim();
|
|
24303
24303
|
if (configured) try {
|
|
24304
24304
|
const resolved = path.resolve(configured);
|
|
24305
|
-
if (
|
|
24305
|
+
if (fs$1.statSync(resolved).isDirectory()) return resolved;
|
|
24306
24306
|
} catch {}
|
|
24307
24307
|
const candidates = [params.workspaceDir, params.cwd].map((value) => value?.trim()).filter(Boolean);
|
|
24308
24308
|
const seen = /* @__PURE__ */ new Set();
|
|
@@ -25088,7 +25088,7 @@ async function buildContextReply(params) {
|
|
|
25088
25088
|
//#region src/auto-reply/reply/commands-export-session.ts
|
|
25089
25089
|
const EXPORT_HTML_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), "export-html");
|
|
25090
25090
|
function loadTemplate(fileName) {
|
|
25091
|
-
return
|
|
25091
|
+
return fs$1.readFileSync(path.join(EXPORT_HTML_DIR, fileName), "utf-8");
|
|
25092
25092
|
}
|
|
25093
25093
|
function generateHtml(sessionData) {
|
|
25094
25094
|
const template = loadTemplate("template.html");
|
|
@@ -25162,7 +25162,7 @@ async function buildExportSessionReply(params) {
|
|
|
25162
25162
|
} catch (err) {
|
|
25163
25163
|
return { text: `❌ Failed to resolve session file: ${err instanceof Error ? err.message : String(err)}` };
|
|
25164
25164
|
}
|
|
25165
|
-
if (!
|
|
25165
|
+
if (!fs$1.existsSync(sessionFile)) return { text: `❌ Session file not found: ${sessionFile}` };
|
|
25166
25166
|
const sessionManager = SessionManager.open(sessionFile);
|
|
25167
25167
|
const entries = sessionManager.getEntries();
|
|
25168
25168
|
const header = sessionManager.getHeader();
|
|
@@ -25183,8 +25183,8 @@ async function buildExportSessionReply(params) {
|
|
|
25183
25183
|
const defaultFileName = `openclaw-session-${entry.sessionId.slice(0, 8)}-${timestamp}.html`;
|
|
25184
25184
|
const outputPath = args.outputPath ? path.resolve(args.outputPath.startsWith("~") ? args.outputPath.replace("~", process.env.HOME ?? "") : args.outputPath) : path.join(params.workspaceDir, defaultFileName);
|
|
25185
25185
|
const outputDir = path.dirname(outputPath);
|
|
25186
|
-
if (!
|
|
25187
|
-
|
|
25186
|
+
if (!fs$1.existsSync(outputDir)) fs$1.mkdirSync(outputDir, { recursive: true });
|
|
25187
|
+
fs$1.writeFileSync(outputPath, html, "utf-8");
|
|
25188
25188
|
const relativePath = path.relative(params.workspaceDir, outputPath);
|
|
25189
25189
|
return { text: [
|
|
25190
25190
|
"✅ Session exported!",
|
|
@@ -25331,8 +25331,8 @@ function resolveZaiApiKey() {
|
|
|
25331
25331
|
}
|
|
25332
25332
|
try {
|
|
25333
25333
|
const authPath = path.join(resolveRequiredHomeDir(process.env, os.homedir), ".pi", "agent", "auth.json");
|
|
25334
|
-
if (!
|
|
25335
|
-
const data = JSON.parse(
|
|
25334
|
+
if (!fs$1.existsSync(authPath)) return;
|
|
25335
|
+
const data = JSON.parse(fs$1.readFileSync(authPath, "utf-8"));
|
|
25336
25336
|
return data["z-ai"]?.access || data.zai?.access;
|
|
25337
25337
|
} catch {
|
|
25338
25338
|
return;
|
|
@@ -27151,7 +27151,7 @@ function shouldPersistAnyBindingState() {
|
|
|
27151
27151
|
}
|
|
27152
27152
|
function shouldPersistBindingMutations() {
|
|
27153
27153
|
if (shouldPersistAnyBindingState()) return true;
|
|
27154
|
-
return
|
|
27154
|
+
return fs$1.existsSync(resolveThreadBindingsPath());
|
|
27155
27155
|
}
|
|
27156
27156
|
function saveBindingsToDisk(params = {}) {
|
|
27157
27157
|
if (!params.force && !shouldPersistAnyBindingState()) return;
|
|
@@ -28553,7 +28553,7 @@ const applyCostTotal = (totals, costTotal) => {
|
|
|
28553
28553
|
totals.totalCost += costTotal;
|
|
28554
28554
|
};
|
|
28555
28555
|
async function* readJsonlRecords(filePath) {
|
|
28556
|
-
const fileStream =
|
|
28556
|
+
const fileStream = fs$1.createReadStream(filePath, { encoding: "utf-8" });
|
|
28557
28557
|
const rl = readline.createInterface({
|
|
28558
28558
|
input: fileStream,
|
|
28559
28559
|
crlfDelay: Infinity
|
|
@@ -28625,10 +28625,10 @@ async function loadCostUsageSummary(params) {
|
|
|
28625
28625
|
const dailyMap = /* @__PURE__ */ new Map();
|
|
28626
28626
|
const totals = emptyTotals();
|
|
28627
28627
|
const sessionsDir = resolveSessionTranscriptsDirForAgent(params?.agentId);
|
|
28628
|
-
const entries = await
|
|
28628
|
+
const entries = await fs$1.promises.readdir(sessionsDir, { withFileTypes: true }).catch(() => []);
|
|
28629
28629
|
const files = (await Promise.all(entries.filter((entry) => entry.isFile() && entry.name.endsWith(".jsonl")).map(async (entry) => {
|
|
28630
28630
|
const filePath = path.join(sessionsDir, entry.name);
|
|
28631
|
-
const stats = await
|
|
28631
|
+
const stats = await fs$1.promises.stat(filePath).catch(() => null);
|
|
28632
28632
|
if (!stats) return null;
|
|
28633
28633
|
if (stats.mtimeMs < sinceTime) return null;
|
|
28634
28634
|
return filePath;
|
|
@@ -28661,7 +28661,7 @@ async function loadCostUsageSummary(params) {
|
|
|
28661
28661
|
}
|
|
28662
28662
|
async function loadSessionCostSummary(params) {
|
|
28663
28663
|
const sessionFile = params.sessionFile ?? (params.sessionId ? resolveSessionFilePath(params.sessionId, params.sessionEntry, { agentId: params.agentId }) : void 0);
|
|
28664
|
-
if (!sessionFile || !
|
|
28664
|
+
if (!sessionFile || !fs$1.existsSync(sessionFile)) return null;
|
|
28665
28665
|
const totals = emptyTotals();
|
|
28666
28666
|
let firstActivity;
|
|
28667
28667
|
let lastActivity;
|
|
@@ -31184,7 +31184,7 @@ async function createModelSelectionState(params) {
|
|
|
31184
31184
|
}
|
|
31185
31185
|
}
|
|
31186
31186
|
if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
|
|
31187
|
-
const { ensureAuthProfileStore } = await import("./model-selection-
|
|
31187
|
+
const { ensureAuthProfileStore } = await import("./model-selection-Dna0Gz1k.js").then((n) => n.F);
|
|
31188
31188
|
const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
|
|
31189
31189
|
const providerKey = normalizeProviderId(provider);
|
|
31190
31190
|
if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
|
|
@@ -34845,7 +34845,7 @@ function asBoolean(value) {
|
|
|
34845
34845
|
}
|
|
34846
34846
|
function resolveTempPathParts(opts) {
|
|
34847
34847
|
const tmpDir = opts.tmpDir ?? resolvePreferredOpenClawTmpDir();
|
|
34848
|
-
if (!opts.tmpDir)
|
|
34848
|
+
if (!opts.tmpDir) fs$1.mkdirSync(tmpDir, {
|
|
34849
34849
|
recursive: true,
|
|
34850
34850
|
mode: 448
|
|
34851
34851
|
});
|
|
@@ -34931,7 +34931,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
34931
34931
|
if (typeof contentLength === "number" && Number.isFinite(contentLength) && contentLength > MAX_CAMERA_URL_DOWNLOAD_BYTES) throw new Error(`writeUrlToFile: content-length ${contentLength} exceeds max ${MAX_CAMERA_URL_DOWNLOAD_BYTES}`);
|
|
34932
34932
|
const body = res.body;
|
|
34933
34933
|
if (!body) throw new Error(`failed to download ${url}: empty response body`);
|
|
34934
|
-
const fileHandle = await fs$
|
|
34934
|
+
const fileHandle = await fs$2.open(filePath, "w");
|
|
34935
34935
|
let thrown;
|
|
34936
34936
|
try {
|
|
34937
34937
|
const reader = body.getReader();
|
|
@@ -34949,7 +34949,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
34949
34949
|
await fileHandle.close();
|
|
34950
34950
|
}
|
|
34951
34951
|
if (thrown) {
|
|
34952
|
-
await fs$
|
|
34952
|
+
await fs$2.unlink(filePath).catch(() => {});
|
|
34953
34953
|
throw thrown;
|
|
34954
34954
|
}
|
|
34955
34955
|
} finally {
|
|
@@ -34962,7 +34962,7 @@ async function writeUrlToFile(filePath, url, opts) {
|
|
|
34962
34962
|
}
|
|
34963
34963
|
async function writeBase64ToFile(filePath, base64) {
|
|
34964
34964
|
const buf = Buffer.from(base64, "base64");
|
|
34965
|
-
await fs$
|
|
34965
|
+
await fs$2.writeFile(filePath, buf);
|
|
34966
34966
|
return {
|
|
34967
34967
|
path: filePath,
|
|
34968
34968
|
bytes: buf.length
|
|
@@ -38006,9 +38006,9 @@ function loadExternalCatalogEntries(options) {
|
|
|
38006
38006
|
const entries = [];
|
|
38007
38007
|
for (const rawPath of paths) {
|
|
38008
38008
|
const resolved = resolveUserPath(rawPath);
|
|
38009
|
-
if (!
|
|
38009
|
+
if (!fs$1.existsSync(resolved)) continue;
|
|
38010
38010
|
try {
|
|
38011
|
-
const payload = JSON.parse(
|
|
38011
|
+
const payload = JSON.parse(fs$1.readFileSync(resolved, "utf-8"));
|
|
38012
38012
|
entries.push(...parseCatalogEntries(payload));
|
|
38013
38013
|
} catch {}
|
|
38014
38014
|
}
|
|
@@ -42125,7 +42125,7 @@ function listExistingAgentIdsFromDisk() {
|
|
|
42125
42125
|
const root = resolveStateDir();
|
|
42126
42126
|
const agentsDir = path.join(root, "agents");
|
|
42127
42127
|
try {
|
|
42128
|
-
return
|
|
42128
|
+
return fs$1.readdirSync(agentsDir, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => normalizeAgentId(entry.name)).filter(Boolean);
|
|
42129
42129
|
} catch {
|
|
42130
42130
|
return [];
|
|
42131
42131
|
}
|
|
@@ -48246,7 +48246,7 @@ async function runAgentTurnWithFallback(params) {
|
|
|
48246
48246
|
if (corruptedSessionId) {
|
|
48247
48247
|
const transcriptPath = resolveSessionTranscriptPath(corruptedSessionId);
|
|
48248
48248
|
try {
|
|
48249
|
-
|
|
48249
|
+
fs$1.unlinkSync(transcriptPath);
|
|
48250
48250
|
} catch {}
|
|
48251
48251
|
}
|
|
48252
48252
|
delete params.activeSessionStore[sessionKey];
|
|
@@ -49066,7 +49066,7 @@ async function readSessionLogSnapshot(params) {
|
|
|
49066
49066
|
if (!logPath) return {};
|
|
49067
49067
|
const snapshot = {};
|
|
49068
49068
|
if (params.includeByteSize) try {
|
|
49069
|
-
const stat = await
|
|
49069
|
+
const stat = await fs$1.promises.stat(logPath);
|
|
49070
49070
|
const size = Math.floor(stat.size);
|
|
49071
49071
|
snapshot.byteSize = Number.isFinite(size) && size >= 0 ? size : void 0;
|
|
49072
49072
|
} catch {
|
|
@@ -49080,7 +49080,7 @@ async function readSessionLogSnapshot(params) {
|
|
|
49080
49080
|
return snapshot;
|
|
49081
49081
|
}
|
|
49082
49082
|
async function readLastNonzeroUsageFromSessionLog(logPath) {
|
|
49083
|
-
const handle = await
|
|
49083
|
+
const handle = await fs$1.promises.open(logPath, "r");
|
|
49084
49084
|
try {
|
|
49085
49085
|
let position = (await handle.stat()).size;
|
|
49086
49086
|
let leadingPartial = "";
|
|
@@ -49777,9 +49777,9 @@ async function readPostCompactionContext(workspaceDir, cfg, nowMs) {
|
|
|
49777
49777
|
if (!opened.ok) return null;
|
|
49778
49778
|
const sections = extractSections((() => {
|
|
49779
49779
|
try {
|
|
49780
|
-
return
|
|
49780
|
+
return fs$1.readFileSync(opened.fd, "utf-8");
|
|
49781
49781
|
} finally {
|
|
49782
|
-
|
|
49782
|
+
fs$1.closeSync(opened.fd);
|
|
49783
49783
|
}
|
|
49784
49784
|
})(), ["Session Startup", "Red Lines"]);
|
|
49785
49785
|
if (sections.length === 0) return null;
|
|
@@ -50001,7 +50001,7 @@ async function runReplyAgent(params) {
|
|
|
50001
50001
|
if (resolved) transcriptCandidates.add(resolved);
|
|
50002
50002
|
transcriptCandidates.add(resolveSessionTranscriptPath(prevSessionId, agentId));
|
|
50003
50003
|
for (const candidate of transcriptCandidates) try {
|
|
50004
|
-
|
|
50004
|
+
fs$1.unlinkSync(candidate);
|
|
50005
50005
|
} catch {}
|
|
50006
50006
|
}
|
|
50007
50007
|
return true;
|
|
@@ -50947,7 +50947,7 @@ const warnedContexts = /* @__PURE__ */ new Map();
|
|
|
50947
50947
|
const log$10 = createSubsystemLogger("session-maintenance-warning");
|
|
50948
50948
|
let deliverRuntimePromise = null;
|
|
50949
50949
|
function loadDeliverRuntime() {
|
|
50950
|
-
deliverRuntimePromise ??= import("./deliver-runtime-
|
|
50950
|
+
deliverRuntimePromise ??= import("./deliver-runtime-BFs7iAZF.js");
|
|
50951
50951
|
return deliverRuntimePromise;
|
|
50952
50952
|
}
|
|
50953
50953
|
function shouldSendWarning() {
|
|
@@ -51114,7 +51114,7 @@ function forkSessionFromParent(params) {
|
|
|
51114
51114
|
agentId: params.agentId,
|
|
51115
51115
|
sessionsDir: params.sessionsDir
|
|
51116
51116
|
});
|
|
51117
|
-
if (!parentSessionFile || !
|
|
51117
|
+
if (!parentSessionFile || !fs$1.existsSync(parentSessionFile)) return null;
|
|
51118
51118
|
try {
|
|
51119
51119
|
const manager = SessionManager.open(parentSessionFile);
|
|
51120
51120
|
const leafId = manager.getLeafId();
|
|
@@ -51138,7 +51138,7 @@ function forkSessionFromParent(params) {
|
|
|
51138
51138
|
cwd: manager.getCwd(),
|
|
51139
51139
|
parentSession: parentSessionFile
|
|
51140
51140
|
};
|
|
51141
|
-
|
|
51141
|
+
fs$1.writeFileSync(sessionFile, `${JSON.stringify(header)}\n`, "utf-8");
|
|
51142
51142
|
return {
|
|
51143
51143
|
sessionId,
|
|
51144
51144
|
sessionFile
|
|
@@ -55924,7 +55924,7 @@ const VISION_PROVIDERS = [
|
|
|
55924
55924
|
];
|
|
55925
55925
|
let imageRuntimePromise = null;
|
|
55926
55926
|
function loadImageRuntime() {
|
|
55927
|
-
imageRuntimePromise ??= import("./image-runtime-
|
|
55927
|
+
imageRuntimePromise ??= import("./image-runtime-BcAK3n8a.js");
|
|
55928
55928
|
return imageRuntimePromise;
|
|
55929
55929
|
}
|
|
55930
55930
|
/**
|
|
@@ -57917,7 +57917,7 @@ async function resolveDiscordPreflightAudioMentionContext(params) {
|
|
|
57917
57917
|
const needsPreflightTranscription = !params.isDirectMessage && params.shouldRequireMention && hasAudioAttachment && !hasTypedText && params.mentionRegexes.length > 0;
|
|
57918
57918
|
let transcript;
|
|
57919
57919
|
if (needsPreflightTranscription) try {
|
|
57920
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
57920
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-BMvgEQ5j.js");
|
|
57921
57921
|
const audioUrls = audioAttachments.map((att) => att.url).filter((url) => typeof url === "string" && url.length > 0);
|
|
57922
57922
|
if (audioUrls.length > 0) transcript = await transcribeFirstAudio({
|
|
57923
57923
|
ctx: {
|
|
@@ -59477,7 +59477,7 @@ function identityHasValues(identity) {
|
|
|
59477
59477
|
}
|
|
59478
59478
|
function loadIdentityFromFile(identityPath) {
|
|
59479
59479
|
try {
|
|
59480
|
-
const parsed = parseIdentityMarkdown(
|
|
59480
|
+
const parsed = parseIdentityMarkdown(fs$1.readFileSync(identityPath, "utf-8"));
|
|
59481
59481
|
if (!identityHasValues(parsed)) return null;
|
|
59482
59482
|
return parsed;
|
|
59483
59483
|
} catch {
|
|
@@ -59501,7 +59501,7 @@ function resolveAvatarSource(cfg, agentId) {
|
|
|
59501
59501
|
}
|
|
59502
59502
|
function resolveExistingPath(value) {
|
|
59503
59503
|
try {
|
|
59504
|
-
return
|
|
59504
|
+
return fs$1.realpathSync(value);
|
|
59505
59505
|
} catch {
|
|
59506
59506
|
return path.resolve(value);
|
|
59507
59507
|
}
|
|
@@ -59519,7 +59519,7 @@ function resolveLocalAvatarPath(params) {
|
|
|
59519
59519
|
reason: "unsupported_extension"
|
|
59520
59520
|
};
|
|
59521
59521
|
try {
|
|
59522
|
-
const stat =
|
|
59522
|
+
const stat = fs$1.statSync(realPath);
|
|
59523
59523
|
if (!stat.isFile()) return {
|
|
59524
59524
|
ok: false,
|
|
59525
59525
|
reason: "missing"
|
|
@@ -65177,27 +65177,27 @@ let slackSenderRuntimePromise = null;
|
|
|
65177
65177
|
let signalSenderRuntimePromise = null;
|
|
65178
65178
|
let imessageSenderRuntimePromise = null;
|
|
65179
65179
|
function loadWhatsAppSenderRuntime() {
|
|
65180
|
-
whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-
|
|
65180
|
+
whatsappSenderRuntimePromise ??= import("./deps-send-whatsapp.runtime-DK8jqd14.js");
|
|
65181
65181
|
return whatsappSenderRuntimePromise;
|
|
65182
65182
|
}
|
|
65183
65183
|
function loadTelegramSenderRuntime() {
|
|
65184
|
-
telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-
|
|
65184
|
+
telegramSenderRuntimePromise ??= import("./deps-send-telegram.runtime-D_4xVasO.js");
|
|
65185
65185
|
return telegramSenderRuntimePromise;
|
|
65186
65186
|
}
|
|
65187
65187
|
function loadDiscordSenderRuntime() {
|
|
65188
|
-
discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-
|
|
65188
|
+
discordSenderRuntimePromise ??= import("./deps-send-discord.runtime-DZUccI6Z.js");
|
|
65189
65189
|
return discordSenderRuntimePromise;
|
|
65190
65190
|
}
|
|
65191
65191
|
function loadSlackSenderRuntime() {
|
|
65192
|
-
slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-
|
|
65192
|
+
slackSenderRuntimePromise ??= import("./deps-send-slack.runtime-BDsDhS1P.js");
|
|
65193
65193
|
return slackSenderRuntimePromise;
|
|
65194
65194
|
}
|
|
65195
65195
|
function loadSignalSenderRuntime() {
|
|
65196
|
-
signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-
|
|
65196
|
+
signalSenderRuntimePromise ??= import("./deps-send-signal.runtime-Cw4-ozeO.js");
|
|
65197
65197
|
return signalSenderRuntimePromise;
|
|
65198
65198
|
}
|
|
65199
65199
|
function loadIMessageSenderRuntime() {
|
|
65200
|
-
imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-
|
|
65200
|
+
imessageSenderRuntimePromise ??= import("./deps-send-imessage.runtime-CF3OpoqY.js");
|
|
65201
65201
|
return imessageSenderRuntimePromise;
|
|
65202
65202
|
}
|
|
65203
65203
|
function createDefaultDeps() {
|
|
@@ -68887,7 +68887,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
68887
68887
|
return super.registerClient(client);
|
|
68888
68888
|
}
|
|
68889
68889
|
createWebSocket(url) {
|
|
68890
|
-
return new WebSocket
|
|
68890
|
+
return new WebSocket(url, { agent: wsAgent });
|
|
68891
68891
|
}
|
|
68892
68892
|
}
|
|
68893
68893
|
return new ProxyGatewayPlugin();
|
|
@@ -71304,7 +71304,7 @@ async function monitorIMessageProvider(opts = {}) {
|
|
|
71304
71304
|
function readFileIfExists(filePath) {
|
|
71305
71305
|
if (!filePath) return;
|
|
71306
71306
|
try {
|
|
71307
|
-
return
|
|
71307
|
+
return fs$1.readFileSync(filePath, "utf-8").trim();
|
|
71308
71308
|
} catch {
|
|
71309
71309
|
return;
|
|
71310
71310
|
}
|
|
@@ -71934,7 +71934,7 @@ async function downloadLineMedia(messageId, channelAccessToken, maxBytes = 10 *
|
|
|
71934
71934
|
prefix: "line-media",
|
|
71935
71935
|
extension: getExtensionForContentType(contentType)
|
|
71936
71936
|
});
|
|
71937
|
-
await
|
|
71937
|
+
await fs$1.promises.writeFile(filePath, buffer);
|
|
71938
71938
|
logVerbose(`line: downloaded media ${messageId} to ${filePath} (${buffer.length} bytes)`);
|
|
71939
71939
|
return {
|
|
71940
71940
|
path: filePath,
|
|
@@ -77938,15 +77938,15 @@ let slashCommandsRuntimePromise = null;
|
|
|
77938
77938
|
let slashDispatchRuntimePromise = null;
|
|
77939
77939
|
let slashSkillCommandsRuntimePromise = null;
|
|
77940
77940
|
function loadSlashCommandsRuntime() {
|
|
77941
|
-
slashCommandsRuntimePromise ??= import("./slash-commands.runtime-
|
|
77941
|
+
slashCommandsRuntimePromise ??= import("./slash-commands.runtime-CVw6566g.js");
|
|
77942
77942
|
return slashCommandsRuntimePromise;
|
|
77943
77943
|
}
|
|
77944
77944
|
function loadSlashDispatchRuntime() {
|
|
77945
|
-
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-
|
|
77945
|
+
slashDispatchRuntimePromise ??= import("./slash-dispatch.runtime-B9Ygtzi4.js");
|
|
77946
77946
|
return slashDispatchRuntimePromise;
|
|
77947
77947
|
}
|
|
77948
77948
|
function loadSlashSkillCommandsRuntime() {
|
|
77949
|
-
slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-
|
|
77949
|
+
slashSkillCommandsRuntimePromise ??= import("./slash-skill-commands.runtime-DxZ4z5h6.js");
|
|
77950
77950
|
return slashSkillCommandsRuntimePromise;
|
|
77951
77951
|
}
|
|
77952
77952
|
const slackExternalArgMenuStore = createSlackExternalArgMenuStore();
|
|
@@ -78936,7 +78936,7 @@ function collectTelegramUnmentionedGroupIds(groups) {
|
|
|
78936
78936
|
}
|
|
78937
78937
|
let auditMembershipRuntimePromise = null;
|
|
78938
78938
|
function loadAuditMembershipRuntime() {
|
|
78939
|
-
auditMembershipRuntimePromise ??= import("./audit-membership-runtime-
|
|
78939
|
+
auditMembershipRuntimePromise ??= import("./audit-membership-runtime-Dntemq07.js");
|
|
78940
78940
|
return auditMembershipRuntimePromise;
|
|
78941
78941
|
}
|
|
78942
78942
|
async function auditTelegramGroupMembership(params) {
|
|
@@ -81311,7 +81311,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
|
|
|
81311
81311
|
const disableAudioPreflight = firstDefined$1(topicConfig?.disableAudioPreflight, groupConfig?.disableAudioPreflight) === true;
|
|
81312
81312
|
let preflightTranscript;
|
|
81313
81313
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0 && !disableAudioPreflight) try {
|
|
81314
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
81314
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-BMvgEQ5j.js");
|
|
81315
81315
|
preflightTranscript = await transcribeFirstAudio({
|
|
81316
81316
|
ctx: {
|
|
81317
81317
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -84124,7 +84124,7 @@ function createWhatsAppLoginTool() {
|
|
|
84124
84124
|
force: Type.Optional(Type.Boolean())
|
|
84125
84125
|
}),
|
|
84126
84126
|
execute: async (_toolCallId, args) => {
|
|
84127
|
-
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-
|
|
84127
|
+
const { startWebLoginWithQr, waitForWebLogin } = await import("./login-qr-BpPDZdl_.js");
|
|
84128
84128
|
if ((args?.action ?? "start") === "wait") {
|
|
84129
84129
|
const result = await waitForWebLogin({ timeoutMs: typeof args.timeoutMs === "number" ? args.timeoutMs : void 0 });
|
|
84130
84130
|
return {
|
|
@@ -84199,23 +84199,23 @@ let webOutboundPromise = null;
|
|
|
84199
84199
|
let webLoginPromise = null;
|
|
84200
84200
|
let whatsappActionsPromise = null;
|
|
84201
84201
|
function loadWebOutbound() {
|
|
84202
|
-
webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-
|
|
84202
|
+
webOutboundPromise ??= import("./runtime-whatsapp-outbound.runtime-Bii_xSfI.js");
|
|
84203
84203
|
return webOutboundPromise;
|
|
84204
84204
|
}
|
|
84205
84205
|
function loadWebLogin() {
|
|
84206
|
-
webLoginPromise ??= import("./runtime-whatsapp-login.runtime-
|
|
84206
|
+
webLoginPromise ??= import("./runtime-whatsapp-login.runtime-DUb55byQ.js");
|
|
84207
84207
|
return webLoginPromise;
|
|
84208
84208
|
}
|
|
84209
84209
|
function loadWebLoginQr() {
|
|
84210
|
-
webLoginQrPromise ??= import("./login-qr-
|
|
84210
|
+
webLoginQrPromise ??= import("./login-qr-BpPDZdl_.js");
|
|
84211
84211
|
return webLoginQrPromise;
|
|
84212
84212
|
}
|
|
84213
84213
|
function loadWebChannel() {
|
|
84214
|
-
webChannelPromise ??= import("./web-
|
|
84214
|
+
webChannelPromise ??= import("./web-Btj-e8kN.js");
|
|
84215
84215
|
return webChannelPromise;
|
|
84216
84216
|
}
|
|
84217
84217
|
function loadWhatsAppActions() {
|
|
84218
|
-
whatsappActionsPromise ??= import("./whatsapp-actions-
|
|
84218
|
+
whatsappActionsPromise ??= import("./whatsapp-actions-BHbJJyqw.js");
|
|
84219
84219
|
return whatsappActionsPromise;
|
|
84220
84220
|
}
|
|
84221
84221
|
function createRuntimeWhatsApp() {
|
|
@@ -84656,7 +84656,7 @@ const log$6 = createSubsystemLogger("memory");
|
|
|
84656
84656
|
const QMD_MANAGER_CACHE = /* @__PURE__ */ new Map();
|
|
84657
84657
|
let managerRuntimePromise = null;
|
|
84658
84658
|
function loadManagerRuntime() {
|
|
84659
|
-
managerRuntimePromise ??= import("./manager-runtime-
|
|
84659
|
+
managerRuntimePromise ??= import("./manager-runtime-FO1Sx3W8.js");
|
|
84660
84660
|
return managerRuntimePromise;
|
|
84661
84661
|
}
|
|
84662
84662
|
async function getMemorySearchManager(params) {
|
|
@@ -84670,7 +84670,7 @@ async function getMemorySearchManager(params) {
|
|
|
84670
84670
|
if (cached) return { manager: cached };
|
|
84671
84671
|
}
|
|
84672
84672
|
try {
|
|
84673
|
-
const { QmdMemoryManager } = await import("./qmd-manager-
|
|
84673
|
+
const { QmdMemoryManager } = await import("./qmd-manager-BtIKUaO9.js");
|
|
84674
84674
|
const primary = await QmdMemoryManager.create({
|
|
84675
84675
|
cfg: params.cfg,
|
|
84676
84676
|
agentId: params.agentId,
|
|
@@ -85244,7 +85244,7 @@ async function withMemoryManagerForAgent(params) {
|
|
|
85244
85244
|
}
|
|
85245
85245
|
async function checkReadableFile(pathname) {
|
|
85246
85246
|
try {
|
|
85247
|
-
await fs.access(pathname,
|
|
85247
|
+
await fs.access(pathname, fs$1.constants.R_OK);
|
|
85248
85248
|
return { exists: true };
|
|
85249
85249
|
} catch (err) {
|
|
85250
85250
|
const code = err.code;
|
|
@@ -85303,7 +85303,7 @@ async function scanMemoryFiles(workspaceDir, extraPaths = []) {
|
|
|
85303
85303
|
}
|
|
85304
85304
|
let dirReadable = null;
|
|
85305
85305
|
try {
|
|
85306
|
-
await fs.access(memoryDir,
|
|
85306
|
+
await fs.access(memoryDir, fs$1.constants.R_OK);
|
|
85307
85307
|
dirReadable = true;
|
|
85308
85308
|
} catch (err) {
|
|
85309
85309
|
const code = err.code;
|
|
@@ -85752,7 +85752,7 @@ const resolvePluginSdkAliasFile = (params) => {
|
|
|
85752
85752
|
const srcCandidate = path.join(cursor, "src", "plugin-sdk", params.srcFile);
|
|
85753
85753
|
const distCandidate = path.join(cursor, "dist", "plugin-sdk", params.distFile);
|
|
85754
85754
|
const orderedCandidates = isDistRuntime ? [distCandidate, srcCandidate] : isTest ? [distCandidate, srcCandidate] : [distCandidate];
|
|
85755
|
-
for (const candidate of orderedCandidates) if (
|
|
85755
|
+
for (const candidate of orderedCandidates) if (fs$1.existsSync(candidate)) return candidate;
|
|
85756
85756
|
const parent = path.dirname(cursor);
|
|
85757
85757
|
if (parent === cursor) break;
|
|
85758
85758
|
cursor = parent;
|
|
@@ -86358,7 +86358,7 @@ function loadOpenClawPlugins(options = {}) {
|
|
|
86358
86358
|
continue;
|
|
86359
86359
|
}
|
|
86360
86360
|
const safeSource = opened.path;
|
|
86361
|
-
|
|
86361
|
+
fs$1.closeSync(opened.fd);
|
|
86362
86362
|
let mod = null;
|
|
86363
86363
|
try {
|
|
86364
86364
|
mod = getJiti()(safeSource);
|
|
@@ -86476,7 +86476,7 @@ function loadOpenClawPlugins(options = {}) {
|
|
|
86476
86476
|
}
|
|
86477
86477
|
function safeRealpathOrResolve(value) {
|
|
86478
86478
|
try {
|
|
86479
|
-
return
|
|
86479
|
+
return fs$1.realpathSync(value);
|
|
86480
86480
|
} catch {
|
|
86481
86481
|
return path.resolve(value);
|
|
86482
86482
|
}
|
|
@@ -86915,9 +86915,9 @@ function resolvePatchFileOps(options) {
|
|
|
86915
86915
|
});
|
|
86916
86916
|
assertBoundaryRead(opened, filePath);
|
|
86917
86917
|
try {
|
|
86918
|
-
return
|
|
86918
|
+
return fs$1.readFileSync(opened.fd, "utf8");
|
|
86919
86919
|
} finally {
|
|
86920
|
-
|
|
86920
|
+
fs$1.closeSync(opened.fd);
|
|
86921
86921
|
}
|
|
86922
86922
|
},
|
|
86923
86923
|
writeFile: async (filePath, content) => {
|
|
@@ -87196,7 +87196,7 @@ const LOOP_WARNING_BUCKET_SIZE = 10;
|
|
|
87196
87196
|
const MAX_LOOP_WARNING_KEYS = 256;
|
|
87197
87197
|
let beforeToolCallRuntimePromise = null;
|
|
87198
87198
|
function loadBeforeToolCallRuntime() {
|
|
87199
|
-
beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-
|
|
87199
|
+
beforeToolCallRuntimePromise ??= import("./pi-tools.before-tool-call.runtime-Cwab_5W1.js");
|
|
87200
87200
|
return beforeToolCallRuntimePromise;
|
|
87201
87201
|
}
|
|
87202
87202
|
function buildAdjustedParamsKey(params) {
|
|
@@ -89878,9 +89878,9 @@ async function readWorkspaceContextForSummary() {
|
|
|
89878
89878
|
if (!opened.ok) return "";
|
|
89879
89879
|
const sections = extractSections((() => {
|
|
89880
89880
|
try {
|
|
89881
|
-
return
|
|
89881
|
+
return fs$1.readFileSync(opened.fd, "utf-8");
|
|
89882
89882
|
} finally {
|
|
89883
|
-
|
|
89883
|
+
fs$1.closeSync(opened.fd);
|
|
89884
89884
|
}
|
|
89885
89885
|
})(), ["Session Startup", "Red Lines"]);
|
|
89886
89886
|
if (sections.length === 0) return "";
|
|
@@ -91249,7 +91249,7 @@ async function compactEmbeddedPiSessionDirect(params) {
|
|
|
91249
91249
|
if (!apiKeyInfo.apiKey) {
|
|
91250
91250
|
if (apiKeyInfo.mode !== "aws-sdk") throw new Error(`No API key resolved for provider "${model.provider}" (auth mode: ${apiKeyInfo.mode}).`);
|
|
91251
91251
|
} else if (model.provider === "github-copilot") {
|
|
91252
|
-
const { resolveCopilotApiToken } = await import("./github-copilot-token-
|
|
91252
|
+
const { resolveCopilotApiToken } = await import("./github-copilot-token-BDioPmd6.js").then((n) => n.n);
|
|
91253
91253
|
const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
|
|
91254
91254
|
authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
|
|
91255
91255
|
} else authStorage.setRuntimeApiKey(model.provider, apiKeyInfo.apiKey);
|
|
@@ -92474,7 +92474,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
92474
92474
|
* Throws if the connection is not open.
|
|
92475
92475
|
*/
|
|
92476
92476
|
send(event) {
|
|
92477
|
-
if (!this.ws || this.ws.readyState !== WebSocket
|
|
92477
|
+
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error(`OpenAIWebSocketManager: cannot send — connection is not open (readyState=${this.ws?.readyState ?? "no socket"})`);
|
|
92478
92478
|
this.ws.send(JSON.stringify(event));
|
|
92479
92479
|
}
|
|
92480
92480
|
/**
|
|
@@ -92491,7 +92491,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
92491
92491
|
* Returns true if the WebSocket is currently open and ready to send.
|
|
92492
92492
|
*/
|
|
92493
92493
|
isConnected() {
|
|
92494
|
-
return this.ws !== null && this.ws.readyState === WebSocket
|
|
92494
|
+
return this.ws !== null && this.ws.readyState === WebSocket.OPEN;
|
|
92495
92495
|
}
|
|
92496
92496
|
/**
|
|
92497
92497
|
* Permanently closes the WebSocket connection and disables auto-reconnect.
|
|
@@ -92501,7 +92501,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
92501
92501
|
this._cancelRetryTimer();
|
|
92502
92502
|
if (this.ws) {
|
|
92503
92503
|
this.ws.removeAllListeners();
|
|
92504
|
-
if (this.ws.readyState === WebSocket
|
|
92504
|
+
if (this.ws.readyState === WebSocket.OPEN || this.ws.readyState === WebSocket.CONNECTING) this.ws.close(1e3, "Client closed");
|
|
92505
92505
|
this.ws = null;
|
|
92506
92506
|
}
|
|
92507
92507
|
}
|
|
@@ -92511,7 +92511,7 @@ var OpenAIWebSocketManager = class extends EventEmitter {
|
|
|
92511
92511
|
reject(/* @__PURE__ */ new Error("OpenAIWebSocketManager: apiKey is required before connecting."));
|
|
92512
92512
|
return;
|
|
92513
92513
|
}
|
|
92514
|
-
const socket = new WebSocket
|
|
92514
|
+
const socket = new WebSocket(this.wsUrl, { headers: {
|
|
92515
92515
|
Authorization: `Bearer ${this.apiKey}`,
|
|
92516
92516
|
"OpenAI-Beta": "responses-websocket=v1"
|
|
92517
92517
|
} });
|
|
@@ -93477,11 +93477,11 @@ function appendRawStream(payload) {
|
|
|
93477
93477
|
if (!rawStreamReady) {
|
|
93478
93478
|
rawStreamReady = true;
|
|
93479
93479
|
try {
|
|
93480
|
-
|
|
93480
|
+
fs$1.mkdirSync(path.dirname(RAW_STREAM_PATH), { recursive: true });
|
|
93481
93481
|
} catch {}
|
|
93482
93482
|
}
|
|
93483
93483
|
try {
|
|
93484
|
-
|
|
93484
|
+
fs$1.promises.appendFile(RAW_STREAM_PATH, `${JSON.stringify(payload)}\n`);
|
|
93485
93485
|
} catch {}
|
|
93486
93486
|
}
|
|
93487
93487
|
|
|
@@ -96986,7 +96986,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
96986
96986
|
await copilotTokenState.refreshInFlight;
|
|
96987
96987
|
return;
|
|
96988
96988
|
}
|
|
96989
|
-
const { resolveCopilotApiToken } = await import("./github-copilot-token-
|
|
96989
|
+
const { resolveCopilotApiToken } = await import("./github-copilot-token-BDioPmd6.js").then((n) => n.n);
|
|
96990
96990
|
copilotTokenState.refreshInFlight = (async () => {
|
|
96991
96991
|
const githubToken = copilotTokenState.githubToken.trim();
|
|
96992
96992
|
if (!githubToken) throw new Error("Copilot refresh requires a GitHub token.");
|
|
@@ -97078,7 +97078,7 @@ async function runEmbeddedPiAgent(params) {
|
|
|
97078
97078
|
return;
|
|
97079
97079
|
}
|
|
97080
97080
|
if (model.provider === "github-copilot") {
|
|
97081
|
-
const { resolveCopilotApiToken } = await import("./github-copilot-token-
|
|
97081
|
+
const { resolveCopilotApiToken } = await import("./github-copilot-token-BDioPmd6.js").then((n) => n.n);
|
|
97082
97082
|
const copilotToken = await resolveCopilotApiToken({ githubToken: apiKeyInfo.apiKey });
|
|
97083
97083
|
authStorage.setRuntimeApiKey(model.provider, copilotToken.token);
|
|
97084
97084
|
if (copilotTokenState) {
|