@bitseek/claw 1.3.7 → 1.3.8-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agents-BqONdWNu.js → agents-4yiCX5vO.js} +4 -4
- package/dist/{agents.config-2cTTTDPj.js → agents.config-C26BMyOA.js} +1 -1
- package/dist/{agents.config-DhIvFsFv.js → agents.config-C4xJzUcO.js} +1 -1
- package/dist/{auth-choice-D6WGnKQk.js → auth-choice-Cpai95xS.js} +1 -1
- package/dist/{auth-choice-lhaABxGx.js → auth-choice-D9W2yx7x.js} +1 -1
- package/dist/{banner-CMCfl-_K.js → banner-DtaJorEc.js} +1 -1
- package/dist/build-info.json +2 -2
- package/dist/bundled/boot-md/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +1 -1
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-gDhT85r4.js → channel-options-D3Ck-1W2.js} +1 -1
- package/dist/{channel-options-Didnr81h.js → channel-options-DffMDeTp.js} +1 -1
- package/dist/{channel-web-C45x6ahP.js → channel-web-BB66exAr.js} +1 -1
- package/dist/{channel-web-rP0VBNIt.js → channel-web-zni8DLt7.js} +1 -1
- package/dist/{channels-cli-CZQbGl-H.js → channels-cli-D_gj850i.js} +6 -6
- package/dist/{channels-cli-BpiA2BQE.js → channels-cli-IQCAixeN.js} +6 -6
- package/dist/{cli-Cvdtw0CY.js → cli-BlPS7kZ9.js} +1 -1
- package/dist/{cli-D5yg1LCm.js → cli-CrgfzbyT.js} +1 -1
- package/dist/{command-registry-CtTmCFgA.js → command-registry-CjTwwZuF.js} +10 -10
- package/dist/{completion-cli-wYWbi5wA.js → completion-cli-CgjnsXtn.js} +1 -1
- package/dist/{completion-cli-D_Hxee-R.js → completion-cli-Clj1_156.js} +2 -2
- package/dist/{config-cli-C-yIXgGr.js → config-cli-CE1eTqAM.js} +1 -1
- package/dist/{config-cli-BtvOIDkG.js → config-cli-DwKVeQtE.js} +1 -1
- package/dist/{configure-DflayaB2.js → configure-BCUvl2Zf.js} +3 -3
- package/dist/{configure-CgbTpfrx.js → configure-D2KyFnr8.js} +3 -3
- package/dist/{doctor-completion-BYgrEW3s.js → doctor-completion-BoZbJ2cC.js} +1 -1
- package/dist/{doctor-completion-Bai361_Y.js → doctor-completion-CACrVkvp.js} +1 -1
- package/dist/entry.js +2 -2
- package/dist/extensionAPI.js +1 -1
- package/dist/{gateway-cli-C3ftrrlK.js → gateway-cli-BUFxEad5.js} +8 -8
- package/dist/{gateway-cli-CBGutU8q.js → gateway-cli-D9mIlXNc.js} +8 -8
- package/dist/{health-Gkd0akfz.js → health-Cjj_F37M.js} +1 -1
- package/dist/{health-DaN3xECS.js → health-CpbNiL9A.js} +1 -1
- package/dist/{hooks-cli-gRM8FMyG.js → hooks-cli-C0lC4Kj0.js} +2 -2
- package/dist/{hooks-cli-n5Weiheq.js → hooks-cli-DRkHJxMs.js} +2 -2
- package/dist/index.js +6 -6
- package/dist/llm-slug-generator.js +1 -1
- package/dist/{models-CJodAVSF.js → models-De_qVfBK.js} +2 -2
- package/dist/{models-cli-B1Dwj01V.js → models-cli-By7lFchJ.js} +2 -2
- package/dist/{models-cli-Ceb37L0t.js → models-cli-aJswKT_o.js} +3 -3
- package/dist/{npm-resolution-B5fqS6mO.js → npm-resolution-BiJCUhct.js} +1 -1
- package/dist/{npm-resolution-dNC8uD0I.js → npm-resolution-Ez_78UD2.js} +1 -1
- package/dist/{onboard-CI1TyO0l.js → onboard-CIrRD9vz.js} +2 -2
- package/dist/{onboard-C0Bo_5Vw.js → onboard-DQJ6ZB5N.js} +2 -2
- package/dist/{onboard-channels-DPIysHDh.js → onboard-channels-AbBziYo3.js} +1 -1
- package/dist/{onboard-channels-DQ1rkv4c.js → onboard-channels-yslMqzIm.js} +1 -1
- package/dist/{onboarding-DjOCmNCk.js → onboarding-CIsQzEx6.js} +3 -3
- package/dist/{onboarding-DufCP2B8.js → onboarding-exdNo-8e.js} +3 -3
- package/dist/{onboarding.finalize-C7iEnG3X.js → onboarding.finalize-BqpH39L7.js} +5 -5
- package/dist/{onboarding.finalize-BI2feWXN.js → onboarding.finalize-spYqvVP0.js} +6 -6
- package/dist/{pi-embedded-cmJctBve.js → pi-embedded-BW8O-Z_R.js} +109 -15
- package/dist/{pi-embedded-BQqt592d.js → pi-embedded-DLrpQftt.js} +109 -15
- package/dist/{plugin-registry-NaHPDM1s.js → plugin-registry-CgjiDSJy.js} +1 -1
- package/dist/{plugin-registry-2CmN8Jv2.js → plugin-registry-DXEjCmXY.js} +1 -1
- package/dist/plugin-sdk/{accounts-AbI8uETR.js → accounts-BZrkOo6-.js} +1 -1
- package/dist/plugin-sdk/{accounts-4WE2wtsW.js → accounts-COLYAAOx.js} +1 -1
- package/dist/plugin-sdk/{accounts-BYcizTXn.js → accounts-D_pT5EjF.js} +3 -3
- package/dist/plugin-sdk/{active-listener-pnqLAUOh.js → active-listener-DxBXcWm_.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-_j3fIYCK.js → agent-scope-DT5pxpJB.js} +3 -3
- package/dist/plugin-sdk/agents/pi-tools.read.d.ts +1 -0
- package/dist/plugin-sdk/{api-key-rotation-CYI51U_M.js → api-key-rotation-Dl6Ad7Nj.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-D8BVTHCB.js → audio-preflight-PGsiEosa.js} +33 -33
- package/dist/plugin-sdk/{audio-transcription-runner-CRpY5uDq.js → audio-transcription-runner-CooPnqtC.js} +10 -10
- package/dist/plugin-sdk/{bindings-CxxzC7gn.js → bindings-BSfhEjKN.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-B3yZ-f-m.js → channel-activity-DAEbma-o.js} +3 -3
- package/dist/plugin-sdk/{channel-web-BgnipXq5.js → channel-web-BhgjzJX5.js} +23 -23
- package/dist/plugin-sdk/{chrome-oPevdeh5.js → chrome-Dn0G4NoF.js} +7 -7
- package/dist/plugin-sdk/{chunk-BPyPeheZ.js → chunk-cvtXztAT.js} +1 -1
- package/dist/plugin-sdk/{command-format-DvyMEXQo.js → command-format-BOJz3y1v.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-Dk8re8Lz.js → commands-registry-CZWv_JwZ.js} +5 -5
- package/dist/plugin-sdk/{config-D7I2_X4P.js → config-DAwOhnVF.js} +10 -10
- package/dist/plugin-sdk/{deliver-NrIHn0__.js → deliver-PdH-MCq8.js} +11 -11
- package/dist/plugin-sdk/{diagnostic-DL3k_wRi.js → diagnostic-BZvj-qNu.js} +2 -2
- package/dist/plugin-sdk/{dock-CjdkiLH7.js → dock-BdR3OYZn.js} +6 -6
- package/dist/plugin-sdk/{errors-DFTN4h2I.js → errors-jusxdu7M.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-BivEyA4v.js → fetch-guard-Dary6WwJ.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-B256n7Ff.js → fs-safe-DMCE0ej9.js} +3 -3
- package/dist/plugin-sdk/{image-CkPzr3XN.js → image-B3A2l2ep.js} +6 -6
- package/dist/plugin-sdk/{image-ops-C9GXWF3o.js → image-ops-DulHE5Qc.js} +1 -1
- package/dist/plugin-sdk/index.js +64 -64
- package/dist/plugin-sdk/{ir-BIm-jvIK.js → ir-BFXiJrsN.js} +6 -6
- package/dist/plugin-sdk/{local-roots-2AOXGUXW.js → local-roots-DssN60r6.js} +4 -4
- package/dist/plugin-sdk/{logger-CNhs9eKJ.js → logger-Cr-x0vMf.js} +1 -1
- package/dist/plugin-sdk/{login-BcLiF9tC.js → login-D0ul3-6C.js} +6 -6
- package/dist/plugin-sdk/{login-qr-GyPUodKJ.js → login-qr-XWKTFBuI.js} +9 -9
- package/dist/plugin-sdk/{manager-DYLqNUb4.js → manager-DGx_cF54.js} +10 -10
- package/dist/plugin-sdk/{markdown-tables-D9mmqMKi.js → markdown-tables-CsQpDNU5.js} +1 -1
- package/dist/plugin-sdk/{message-channel-_CEZcqxE.js → message-channel-CvNq-esz.js} +1 -1
- package/dist/plugin-sdk/{outbound-DdTsUaXa.js → outbound-D29FHlQl.js} +7 -7
- package/dist/plugin-sdk/{outbound-attachment--hkuIDR1.js → outbound-attachment-DRHrZUOx.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-BqUCBfUg.js → path-alias-guards-DpKV1B5p.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-CTfvZz83.js → pi-embedded-helpers-CKEUWckk.js} +17 -17
- package/dist/plugin-sdk/{pi-model-discovery-CK3Ih_kq.js → pi-model-discovery-BPeQq9XM.js} +1 -1
- package/dist/plugin-sdk/{plugins-BpHAMNJ1.js → plugins-DF_dKXTR.js} +6 -6
- package/dist/plugin-sdk/{proxy-BJdRZOnJ.js → proxy-BfmEDoun.js} +1 -1
- package/dist/plugin-sdk/{proxy-fetch-jmbopGcm.js → proxy-fetch-BpHIgvBk.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-D0Kx7w1D.js → pw-ai-BmmXDjtm.js} +13 -13
- package/dist/plugin-sdk/{qmd-manager-BDcutPp9.js → qmd-manager-3hQbqkm5.js} +8 -8
- package/dist/plugin-sdk/{query-expansion-C_X8SyEA.js → query-expansion-BOGLUWB7.js} +2 -2
- package/dist/plugin-sdk/{redact-DH8u23pF.js → redact-BOuKZWXa.js} +1 -1
- package/dist/plugin-sdk/{registry-HF8_S7QO.js → registry-Cv-oHUj1.js} +2 -2
- package/dist/plugin-sdk/{replies-DbjvV4gf.js → replies-CddwWBTJ.js} +3 -3
- package/dist/plugin-sdk/{reply-DpplAsbO.js → reply-CLQkx08P.js} +197 -103
- package/dist/plugin-sdk/{reply-prefix-KODsMNJ-.js → reply-prefix-DXthVxCx.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-BPT4aNiD.js → resolve-outbound-target-D3Y4F2Le.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-De2B5QY_.js → resolve-route-DuwYYn4a.js} +4 -4
- package/dist/plugin-sdk/{retry-pZ8iKytf.js → retry-BMcrIz7L.js} +1 -1
- package/dist/plugin-sdk/{send-C-Rd2stz.js → send-B0ztz6QC.js} +6 -6
- package/dist/plugin-sdk/{send-BoNw1Bki.js → send-C5USYGq7.js} +8 -8
- package/dist/plugin-sdk/{send-1uW-uqPf.js → send-D0AaWnIj.js} +7 -7
- package/dist/plugin-sdk/{send-wCqsQs_s.js → send-DEyQJTzd.js} +10 -10
- package/dist/plugin-sdk/{send-CZIN8SDx.js → send-DJzwu8kk.js} +15 -15
- package/dist/plugin-sdk/{session-ooYcB82T.js → session-BA7tVDpV.js} +5 -5
- package/dist/plugin-sdk/{session-meta-7J-uHiM_.js → session-meta-ChWvKVWj.js} +1 -1
- package/dist/plugin-sdk/{sessions-lAIo5l8W.js → sessions-BXps6YzJ.js} +6 -6
- package/dist/plugin-sdk/{skill-commands-D1Q6hGS4.js → skill-commands-B20uUsji.js} +5 -5
- package/dist/plugin-sdk/{skills-BWSDv2F_.js → skills-DXOTei42.js} +8 -8
- package/dist/plugin-sdk/{ssrf-JKDwTi8i.js → ssrf-Doxv9M7Q.js} +1 -1
- package/dist/plugin-sdk/{store-BMeqzQAf.js → store-BZbE1V-C.js} +2 -2
- package/dist/plugin-sdk/{subsystem-B0V8LFBA.js → subsystem-CM1s2lDT.js} +2 -2
- package/dist/plugin-sdk/{tables-DCSeBGBz.js → tables-BhH8EIqU.js} +1 -1
- package/dist/plugin-sdk/{target-errors-0u6pegQv.js → target-errors-QZay02Cv.js} +2 -2
- package/dist/plugin-sdk/{tokens-DF2_VTJy.js → tokens-DIE-Bf72.js} +1 -1
- package/dist/plugin-sdk/{tool-images-BbsgbHMZ.js → tool-images-heXfaJdb.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-JkCpGrfk.js → tool-loop-detection-CygMSQUK.js} +2 -2
- package/dist/plugin-sdk/{utils-BfVxx6bk.js → utils-BcL6KGZf.js} +1 -1
- package/dist/plugin-sdk/web-D5yQYvYF.js +72 -0
- package/dist/plugin-sdk/{whatsapp-actions-tVcrGNQc.js → whatsapp-actions-CRean1yN.js} +25 -25
- package/dist/{plugins-cli-DwKgp7q7.js → plugins-cli-CpSINdz-.js} +2 -2
- package/dist/{plugins-cli-o6KJO4Qe.js → plugins-cli-DKIC54hQ.js} +2 -2
- package/dist/{program-CQtsVyIe.js → program-R4eCXcVV.js} +7 -7
- package/dist/{program-context-CbirfwjC.js → program-context-XIBDpYkH.js} +18 -18
- package/dist/{prompt-select-styled-CY9iF1l-.js → prompt-select-styled-CSGsMtmW.js} +4 -4
- package/dist/{prompt-select-styled-BlHvgGuv.js → prompt-select-styled-CxcE42jh.js} +4 -4
- package/dist/{provider-auth-helpers-hI1pbI9r.js → provider-auth-helpers-BPwzCB_M.js} +1 -1
- package/dist/{provider-auth-helpers-CzSm0FSu.js → provider-auth-helpers-BqRZaAgE.js} +1 -1
- package/dist/{push-apns-DZ0qaSFA.js → push-apns-BFPYim-z.js} +1 -1
- package/dist/{push-apns-DMeB2M_b.js → push-apns-D_JirvZj.js} +1 -1
- package/dist/{register.agent-D9rmYCMS.js → register.agent-Cls5qjTc.js} +6 -6
- package/dist/{register.agent-BBOmACUM.js → register.agent-rU2v36L0.js} +7 -7
- package/dist/{register.configure-CZF2XAPO.js → register.configure-BMDzBahu.js} +7 -7
- package/dist/{register.configure-BJ7l1h-A.js → register.configure-BUhyYBGQ.js} +7 -7
- package/dist/{register.init-BdPckTb9.js → register.init-CFdcOH88.js} +1 -0
- package/dist/{register.init-CNKrbvCo.js → register.init-pWy0PRza.js} +1 -0
- package/dist/{register.maintenance-CyXghztz.js → register.maintenance-CofdyNUx.js} +7 -7
- package/dist/{register.maintenance-Cid2HJ-t.js → register.maintenance-Cy17SXVH.js} +8 -8
- package/dist/{register.message-BME4m1Jr.js → register.message-3BQdcipC.js} +2 -2
- package/dist/{register.message-Cs0mwtTw.js → register.message-Ce33qQCZ.js} +2 -2
- package/dist/{register.onboard-BsT9XRRr.js → register.onboard-BlcK7F0u.js} +2 -2
- package/dist/{register.onboard-CoItO2Ov.js → register.onboard-ESEjBMtx.js} +2 -2
- package/dist/{register.setup-2S-SXPOC.js → register.setup-CUxHFPRL.js} +2 -2
- package/dist/{register.setup-DJjPOLJK.js → register.setup-N8V5bjG1.js} +2 -2
- package/dist/{register.status-health-sessions-Czq26k6E.js → register.status-health-sessions-BKFS62CW.js} +3 -3
- package/dist/{register.status-health-sessions-wp3A615j.js → register.status-health-sessions-Bj4rUQRe.js} +3 -3
- package/dist/{register.subclis-CIlBs5A-.js → register.subclis-lEqV1Knw.js} +9 -9
- package/dist/{reply-OEcNPoWd.js → reply-CAA6gLtt.js} +109 -15
- package/dist/{run-main-bo-QbYn_.js → run-main-BTmP3wme.js} +14 -14
- package/dist/{server-node-events-BE-B31Iv.js → server-node-events-CD_Wo8L4.js} +2 -2
- package/dist/{server-node-events-h5NyibKC.js → server-node-events-ap09x8RZ.js} +2 -2
- package/dist/{status-CmNVuywF.js → status-CB2Fs5iL.js} +2 -2
- package/dist/{status-D_I-fLJF.js → status-DCtLhxlh.js} +2 -2
- package/dist/{subagent-registry-D4xGq2uc.js → subagent-registry-B4xJjOu2.js} +109 -15
- package/dist/{update-cli-BYrdZPXD.js → update-cli-BIMys5Ua.js} +7 -7
- package/dist/{update-cli-wmp8VSbx.js → update-cli-BuVnlit7.js} +8 -8
- package/dist/{update-runner-D5vyQGte.js → update-runner-C4bLqctv.js} +1 -1
- package/dist/{update-runner-BUth8QlB.js → update-runner-DGqZqXVF.js} +1 -1
- package/dist/{web-CQqnJkMB.js → web-BCpNE4aE.js} +2 -2
- package/dist/{web-BYeS4JNp.js → web-BJQKWHqO.js} +1 -1
- package/dist/{web-C5gLi1bN.js → web-Bun-T89j.js} +1 -1
- package/dist/{web-Bc1AWW4q.js → web-Cb4sindp.js} +2 -2
- package/package.json +1 -1
- package/dist/plugin-sdk/web-pXzbtWjI.js +0 -72
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { A as spawnWithFallback, C as loadWorkspaceBootstrapFiles, E as resolveOpenClawPackageRoot, G as resolveAgentModelPrimaryValue, H as normalizeWindowsPathForComparison, K as toAgentModelListLike, M as openBoundaryFile, N as openBoundaryFileSync, O as runCommandWithTimeout, S as filterBootstrapFilesForSession, W as resolveAgentModelFallbackValues, _ as DEFAULT_IDENTITY_FILENAME, c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, k as runExec, l as resolveEffectiveModelFallbacks, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride, w as resolveWorkspaceAttachmentsRoot, x as ensureAgentWorkspace } from "./agent-scope-BV1a5xUb.js";
|
|
2
|
+
import { A as spawnWithFallback, B as isPathInside, C as loadWorkspaceBootstrapFiles, E as resolveOpenClawPackageRoot, G as resolveAgentModelPrimaryValue, H as normalizeWindowsPathForComparison, K as toAgentModelListLike, M as openBoundaryFile, N as openBoundaryFileSync, O as runCommandWithTimeout, R as hasNodeErrorCode, S as filterBootstrapFilesForSession, W as resolveAgentModelFallbackValues, _ as DEFAULT_IDENTITY_FILENAME, c as resolveDefaultAgentId, d as resolveSessionAgentId, f as resolveSessionAgentIds, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, k as runExec, l as resolveEffectiveModelFallbacks, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentSkillsFilter, r as resolveAgentConfig, s as resolveAgentWorkspaceDir, t as hasConfiguredModelFallbacks, u as resolveRunModelFallbacksOverride, w as resolveWorkspaceAttachmentsRoot, x as ensureAgentWorkspace, z as isNotFoundPathError } from "./agent-scope-BV1a5xUb.js";
|
|
3
3
|
import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefix, n as STATE_DIR, p as resolveCliName, r as resolveConfigPath } from "./paths-De1_4l4O.js";
|
|
4
4
|
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-CVmydYhZ.js";
|
|
5
5
|
import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as deriveSessionChatType, b as isCronSessionKey, c as normalizeAgentId, d as resolveThreadSessionKeys, f as sanitizeAgentId, g as isBlockedObjectKey, h as normalizeOptionalAccountId, l as normalizeMainKey, m as normalizeAccountId$2, o as classifySessionKeyShape, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey, s as isValidAgentId, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, v as getSubagentDepth, x as isSubagentSessionKey, y as isAcpSessionKey } from "./session-key-a6av96Fj.js";
|
|
6
6
|
import { C as isPlainObject, S as truncateUtf16Safe, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, y as sleep$1 } from "./utils-CM9uSTVd.js";
|
|
7
7
|
import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-9KuF7Fqb.js";
|
|
8
|
-
import { $ as resolveIMessageAttachmentRoots, $t as resolveCommandResolutionFromArgv, A as resolveEnvApiKey, An as resolveOpenClawAgentDir, At as normalizePluginsConfig, Bn as DEFAULT_MODEL, Bt as unsetConfigValueAtPath, C as buildAssistantMessageWithZeroUsage, Cn as isDangerousHostEnvVarName, Ct as loadPluginManifestRegistry, D as getCustomProviderApiKey, Dn as markAuthProfileGood, E as getApiKeyForModel, En as listProfilesForProvider, Et as safeStatSync, F as isProfileInCooldown, Fn as resolveAuthProfileDisplayLabel, Ft as setConfigOverride, G as writeConfigFile, Gt as validateSafeBinArgv, H as readConfigFileSnapshot, Ht as isTrustedSafeBinPath, I as markAuthProfileFailure, It as unsetConfigOverride, J as normalizeTelegramCommandName, Jt as isWindowsPlatform, K as validateConfigObjectWithPlugins, Kt as analyzeShellCommand, L as markAuthProfileUsed, Ln as normalizeSecretInput, Lt as getConfigValueAtPath, Mt as resolveMemorySlotDecision, N as resolveAuthProfileOrder, Nt as getConfigOverrides, O as requireApiKey, On as ensureAuthProfileStore, Ot as MANIFEST_KEY, P as getSoonestCooldownExpiry, Pt as resetConfigOverrides, Qt as resolveAllowlistCandidatePath, R as resolveProfilesUnavailableReason, Rn as splitTrailingAuthProfile, Rt as parseConfigPath, S as buildAssistantMessage, Sn as resolveShellEnvFallbackTimeoutMs, St as validateJsonSchemaValue, T as buildUsageWithNoCost, Tn as dedupeProfileIds, Tt as isPathInside, Ut as listWritableExplicitTrustedSafeBinDirs, V as loadConfig, Vn as DEFAULT_PROVIDER, Vt as getTrustedSafeBinDirs, W as resolveConfigSnapshotHash, Wt as normalizeTrustedSafeBinDirs, Xt as DEFAULT_SAFE_BINS, Y as resolveTelegramCustomCommands, Yt as splitCommandChain, Z as isInboundPathAllowed, Zt as matchAllowlist, _t as AVATAR_MAX_BYTES, a as isCliProvider, an as splitShellArgs, b as OLLAMA_NATIVE_BASE_URL, bn as VERSION, bt as isPathWithinRoot, c as normalizeProviderId, cn as resolveSafeBinProfiles, d as resolveModelRefFromString, dn as mapStreamingModeToSlackLegacyDraftStreamMode, en as extractShellWrapperInlineCommand, et as resolveIMessageRemoteAttachmentRoots, f as resolveReasoningDefault, fn as resolveDiscordPreviewStreamMode, i as findNormalizedProviderValue, in as unwrapKnownShellMultiplexerInvocation, it as parseDurationMs, j as resolveModelAuthMode, jn as withFileLock, jt as resolveEffectiveEnableState, k as resolveApiKeyForProvider, kn as resolveAuthStorePathForDisplay, kt as applyTestPluginDefaults, l as resolveConfiguredModelRef, ln as applyMergePatch, m as resolveThinkingDefault, mn as resolveSlackStreamingMode, n as buildConfiguredAllowlistKeys, nn as isShellWrapperExecutable, nt as parseNonNegativeByteSize, o as modelKey, on as SAFE_BIN_PROFILES, p as resolveSubagentSpawnModelSelection, pn as resolveSlackNativeStreaming, q as TELEGRAM_COMMAND_NAME_PATTERN, qt as buildEnforcedShellCommand, r as buildModelAliasIndex, rn as unwrapKnownDispatchWrapperInvocation, s as normalizeModelRef$2, sn as normalizeSafeBinProfileFixtures, t as buildAllowedModelSet, tn as isDispatchWrapperExecutable, tt as normalizeScpRemoteHost, u as resolveDefaultModelForAgent, un as isSafeExecutableValue, vn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, vt as isAvatarDataUrl, w as buildStreamErrorAssistantMessage, wn as resolveOwnerDisplaySetting, wt as discoverOpenClawPlugins, x as createOllamaStreamFn, xn as getShellPathFromLoginShell, xt as isSupportedLocalAvatarExtension, yn as resolveAgentMaxConcurrent, yt as isAvatarHttpUrl, z as resolveApiKeyForProfile, zn as DEFAULT_CONTEXT_TOKENS, zt as setConfigValueAtPath } from "./model-selection-D5OFBCTr.js";
|
|
8
|
+
import { $ as resolveIMessageAttachmentRoots, $t as resolveCommandResolutionFromArgv, A as resolveEnvApiKey, An as resolveOpenClawAgentDir, At as normalizePluginsConfig, Bn as DEFAULT_MODEL, Bt as unsetConfigValueAtPath, C as buildAssistantMessageWithZeroUsage, Cn as isDangerousHostEnvVarName, Ct as loadPluginManifestRegistry, D as getCustomProviderApiKey, Dn as markAuthProfileGood, E as getApiKeyForModel, En as listProfilesForProvider, Et as safeStatSync, F as isProfileInCooldown, Fn as resolveAuthProfileDisplayLabel, Ft as setConfigOverride, G as writeConfigFile, Gt as validateSafeBinArgv, H as readConfigFileSnapshot, Ht as isTrustedSafeBinPath, I as markAuthProfileFailure, It as unsetConfigOverride, J as normalizeTelegramCommandName, Jt as isWindowsPlatform, K as validateConfigObjectWithPlugins, Kt as analyzeShellCommand, L as markAuthProfileUsed, Ln as normalizeSecretInput, Lt as getConfigValueAtPath, Mt as resolveMemorySlotDecision, N as resolveAuthProfileOrder, Nt as getConfigOverrides, O as requireApiKey, On as ensureAuthProfileStore, Ot as MANIFEST_KEY, P as getSoonestCooldownExpiry, Pt as resetConfigOverrides, Qt as resolveAllowlistCandidatePath, R as resolveProfilesUnavailableReason, Rn as splitTrailingAuthProfile, Rt as parseConfigPath, S as buildAssistantMessage, Sn as resolveShellEnvFallbackTimeoutMs, St as validateJsonSchemaValue, T as buildUsageWithNoCost, Tn as dedupeProfileIds, Tt as isPathInside$1, Ut as listWritableExplicitTrustedSafeBinDirs, V as loadConfig, Vn as DEFAULT_PROVIDER, Vt as getTrustedSafeBinDirs, W as resolveConfigSnapshotHash, Wt as normalizeTrustedSafeBinDirs, Xt as DEFAULT_SAFE_BINS, Y as resolveTelegramCustomCommands, Yt as splitCommandChain, Z as isInboundPathAllowed, Zt as matchAllowlist, _t as AVATAR_MAX_BYTES, a as isCliProvider, an as splitShellArgs, b as OLLAMA_NATIVE_BASE_URL, bn as VERSION, bt as isPathWithinRoot, c as normalizeProviderId, cn as resolveSafeBinProfiles, d as resolveModelRefFromString, dn as mapStreamingModeToSlackLegacyDraftStreamMode, en as extractShellWrapperInlineCommand, et as resolveIMessageRemoteAttachmentRoots, f as resolveReasoningDefault, fn as resolveDiscordPreviewStreamMode, i as findNormalizedProviderValue, in as unwrapKnownShellMultiplexerInvocation, it as parseDurationMs, j as resolveModelAuthMode, jn as withFileLock, jt as resolveEffectiveEnableState, k as resolveApiKeyForProvider, kn as resolveAuthStorePathForDisplay, kt as applyTestPluginDefaults, l as resolveConfiguredModelRef, ln as applyMergePatch, m as resolveThinkingDefault, mn as resolveSlackStreamingMode, n as buildConfiguredAllowlistKeys, nn as isShellWrapperExecutable, nt as parseNonNegativeByteSize, o as modelKey, on as SAFE_BIN_PROFILES, p as resolveSubagentSpawnModelSelection, pn as resolveSlackNativeStreaming, q as TELEGRAM_COMMAND_NAME_PATTERN, qt as buildEnforcedShellCommand, r as buildModelAliasIndex, rn as unwrapKnownDispatchWrapperInvocation, s as normalizeModelRef$2, sn as normalizeSafeBinProfileFixtures, t as buildAllowedModelSet, tn as isDispatchWrapperExecutable, tt as normalizeScpRemoteHost, u as resolveDefaultModelForAgent, un as isSafeExecutableValue, vn as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, vt as isAvatarDataUrl, w as buildStreamErrorAssistantMessage, wn as resolveOwnerDisplaySetting, wt as discoverOpenClawPlugins, x as createOllamaStreamFn, xn as getShellPathFromLoginShell, xt as isSupportedLocalAvatarExtension, yn as resolveAgentMaxConcurrent, yt as isAvatarHttpUrl, z as resolveApiKeyForProfile, zn as DEFAULT_CONTEXT_TOKENS, zt as setConfigValueAtPath } from "./model-selection-D5OFBCTr.js";
|
|
9
9
|
import { a as resolveAgentIdentity, i as resolveAckReaction, o as resolveEffectiveMessagesConfig, r as resolveResponsePrefixTemplate, s as resolveHumanDelayConfig, t as createReplyPrefixOptions } from "./reply-prefix-BDSRMl8C.js";
|
|
10
10
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-CwIS0zs9.js";
|
|
11
11
|
import { n as parseBooleanValue$1, r as formatCliCommand, t as isTruthyEnvValue } from "./env-zky96nK6.js";
|
|
@@ -61007,7 +61007,7 @@ function createOutboundSendDepsFromCliSource(deps) {
|
|
|
61007
61007
|
function createDefaultDeps() {
|
|
61008
61008
|
return {
|
|
61009
61009
|
sendMessageWhatsApp: async (...args) => {
|
|
61010
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
61010
|
+
const { sendMessageWhatsApp } = await import("./web-BJQKWHqO.js");
|
|
61011
61011
|
return await sendMessageWhatsApp(...args);
|
|
61012
61012
|
},
|
|
61013
61013
|
sendMessageTelegram: async (...args) => {
|
|
@@ -79265,7 +79265,7 @@ function loadWebLoginQr() {
|
|
|
79265
79265
|
return webLoginQrPromise;
|
|
79266
79266
|
}
|
|
79267
79267
|
function loadWebChannel() {
|
|
79268
|
-
webChannelPromise ??= import("./web-
|
|
79268
|
+
webChannelPromise ??= import("./web-BJQKWHqO.js");
|
|
79269
79269
|
return webChannelPromise;
|
|
79270
79270
|
}
|
|
79271
79271
|
function loadWhatsAppActions() {
|
|
@@ -80894,7 +80894,7 @@ function addPathToMatcher(matcher, rawPath) {
|
|
|
80894
80894
|
}
|
|
80895
80895
|
function matchesPathMatcher(matcher, sourcePath) {
|
|
80896
80896
|
if (matcher.exact.has(sourcePath)) return true;
|
|
80897
|
-
return matcher.dirs.some((dirPath) => isPathInside(dirPath, sourcePath));
|
|
80897
|
+
return matcher.dirs.some((dirPath) => isPathInside$1(dirPath, sourcePath));
|
|
80898
80898
|
}
|
|
80899
80899
|
function buildProvenanceIndex(params) {
|
|
80900
80900
|
const loadPathMatcher = createPathMatcher();
|
|
@@ -82450,6 +82450,82 @@ function stripReadTruncationContentDetails(result) {
|
|
|
82450
82450
|
}
|
|
82451
82451
|
};
|
|
82452
82452
|
}
|
|
82453
|
+
function extractRequestedReadPath(record) {
|
|
82454
|
+
const trimmed = (typeof record?.path === "string" ? record.path : typeof record?.file_path === "string" ? record.file_path : void 0)?.trim();
|
|
82455
|
+
return trimmed ? trimmed : void 0;
|
|
82456
|
+
}
|
|
82457
|
+
function normalizeReadPathCandidate(filePath) {
|
|
82458
|
+
const trimmed = filePath.trim();
|
|
82459
|
+
const withoutAt = trimmed.startsWith("@") ? trimmed.slice(1) : trimmed;
|
|
82460
|
+
if (/^file:\/\//i.test(withoutAt)) try {
|
|
82461
|
+
return fileURLToPath(withoutAt);
|
|
82462
|
+
} catch {
|
|
82463
|
+
return withoutAt;
|
|
82464
|
+
}
|
|
82465
|
+
return withoutAt;
|
|
82466
|
+
}
|
|
82467
|
+
function normalizeRelativeReadPath(filePath) {
|
|
82468
|
+
return filePath.replace(/\\/g, "/").replace(/^(?:\.\/)+/, "").replace(/^\/+/, "").replace(/\/+$/, "");
|
|
82469
|
+
}
|
|
82470
|
+
function getReadPathRelativeToWorkspace(filePath, workspaceRoot) {
|
|
82471
|
+
const normalized = normalizeReadPathCandidate(filePath);
|
|
82472
|
+
if (!path.isAbsolute(normalized)) return normalizeRelativeReadPath(normalized);
|
|
82473
|
+
if (!workspaceRoot) return;
|
|
82474
|
+
const root = path.resolve(workspaceRoot);
|
|
82475
|
+
const resolved = path.resolve(normalized);
|
|
82476
|
+
if (!isPathInside(root, resolved)) return;
|
|
82477
|
+
return normalizeRelativeReadPath(path.relative(root, resolved));
|
|
82478
|
+
}
|
|
82479
|
+
function isMemoryReadPath(filePath, workspaceRoot) {
|
|
82480
|
+
const relative = getReadPathRelativeToWorkspace(filePath, workspaceRoot);
|
|
82481
|
+
return relative === "memory" || Boolean(relative?.startsWith("memory/"));
|
|
82482
|
+
}
|
|
82483
|
+
function resolveReadPathWithinWorkspace(filePath, workspaceRoot) {
|
|
82484
|
+
if (!workspaceRoot) return;
|
|
82485
|
+
const normalized = normalizeReadPathCandidate(filePath);
|
|
82486
|
+
const resolved = path.isAbsolute(normalized) ? path.resolve(normalized) : path.resolve(workspaceRoot, normalized);
|
|
82487
|
+
return isPathInside(path.resolve(workspaceRoot), resolved) ? resolved : void 0;
|
|
82488
|
+
}
|
|
82489
|
+
function createMemoryDirectoryReadResult(filePath) {
|
|
82490
|
+
return {
|
|
82491
|
+
content: [{
|
|
82492
|
+
type: "text",
|
|
82493
|
+
text: `${filePath} is a directory, not a file. Read a specific file such as MEMORY.md or memory/YYYY-MM-DD.md instead.`
|
|
82494
|
+
}],
|
|
82495
|
+
details: {}
|
|
82496
|
+
};
|
|
82497
|
+
}
|
|
82498
|
+
function createMissingMemoryReadResult(filePath) {
|
|
82499
|
+
return {
|
|
82500
|
+
content: [{
|
|
82501
|
+
type: "text",
|
|
82502
|
+
text: `No memory file exists at ${filePath} yet. Continue normally, or create a file such as memory/YYYY-MM-DD.md when you want to save notes.`
|
|
82503
|
+
}],
|
|
82504
|
+
details: {}
|
|
82505
|
+
};
|
|
82506
|
+
}
|
|
82507
|
+
async function maybeCreateMemoryReadCompatibilityResult(params) {
|
|
82508
|
+
if (!isMemoryReadPath(params.filePath, params.workspaceRoot)) return null;
|
|
82509
|
+
const absolutePath = resolveReadPathWithinWorkspace(params.filePath, params.workspaceRoot);
|
|
82510
|
+
if (!absolutePath) return null;
|
|
82511
|
+
try {
|
|
82512
|
+
if ((await fs.stat(absolutePath)).isDirectory()) return createMemoryDirectoryReadResult(params.filePath);
|
|
82513
|
+
return null;
|
|
82514
|
+
} catch (error) {
|
|
82515
|
+
if (isNotFoundPathError(error)) return createMissingMemoryReadResult(params.filePath);
|
|
82516
|
+
throw error;
|
|
82517
|
+
}
|
|
82518
|
+
}
|
|
82519
|
+
function maybeRecoverMemoryReadError(params) {
|
|
82520
|
+
if (!isMemoryReadPath(params.filePath, params.workspaceRoot)) return null;
|
|
82521
|
+
if (params.error instanceof SafeOpenError) {
|
|
82522
|
+
if (params.error.code === "not-file") return createMemoryDirectoryReadResult(params.filePath);
|
|
82523
|
+
if (params.error.code === "not-found") return createMissingMemoryReadResult(params.filePath);
|
|
82524
|
+
}
|
|
82525
|
+
if (hasNodeErrorCode(params.error, "EISDIR")) return createMemoryDirectoryReadResult(params.filePath);
|
|
82526
|
+
if (isNotFoundPathError(params.error)) return createMissingMemoryReadResult(params.filePath);
|
|
82527
|
+
return null;
|
|
82528
|
+
}
|
|
82453
82529
|
async function executeReadWithAdaptivePaging(params) {
|
|
82454
82530
|
const userLimit = params.args.limit;
|
|
82455
82531
|
if (typeof userLimit === "number" && Number.isFinite(userLimit) && userLimit > 0) return await params.base.execute(params.toolCallId, params.args, params.signal);
|
|
@@ -82725,7 +82801,8 @@ function wrapToolWorkspaceRootGuardWithOptions(tool, root, options) {
|
|
|
82725
82801
|
function createSandboxedReadTool(params) {
|
|
82726
82802
|
return createOpenClawReadTool(createReadTool(params.root, { operations: createSandboxReadOperations(params) }), {
|
|
82727
82803
|
modelContextWindowTokens: params.modelContextWindowTokens,
|
|
82728
|
-
imageSanitization: params.imageSanitization
|
|
82804
|
+
imageSanitization: params.imageSanitization,
|
|
82805
|
+
workspaceRoot: params.root
|
|
82729
82806
|
});
|
|
82730
82807
|
}
|
|
82731
82808
|
function createSandboxedWriteTool(params) {
|
|
@@ -82791,14 +82868,30 @@ function createOpenClawReadTool(base, options) {
|
|
|
82791
82868
|
const normalized = normalizeToolParams(params);
|
|
82792
82869
|
const record = normalized ?? (params && typeof params === "object" ? params : void 0);
|
|
82793
82870
|
assertRequiredParams(record, CLAUDE_PARAM_GROUPS.read, base.name);
|
|
82794
|
-
const
|
|
82795
|
-
|
|
82796
|
-
|
|
82797
|
-
|
|
82798
|
-
|
|
82799
|
-
|
|
82800
|
-
|
|
82801
|
-
|
|
82871
|
+
const filePath = extractRequestedReadPath(record) ?? "<unknown>";
|
|
82872
|
+
const memoryCompatibilityResult = filePath !== "<unknown>" ? await maybeCreateMemoryReadCompatibilityResult({
|
|
82873
|
+
filePath,
|
|
82874
|
+
workspaceRoot: options?.workspaceRoot
|
|
82875
|
+
}) : null;
|
|
82876
|
+
if (memoryCompatibilityResult) return memoryCompatibilityResult;
|
|
82877
|
+
let result;
|
|
82878
|
+
try {
|
|
82879
|
+
result = await executeReadWithAdaptivePaging({
|
|
82880
|
+
base,
|
|
82881
|
+
toolCallId,
|
|
82882
|
+
args: normalized ?? params ?? {},
|
|
82883
|
+
signal,
|
|
82884
|
+
maxBytes: resolveAdaptiveReadMaxBytes(options)
|
|
82885
|
+
});
|
|
82886
|
+
} catch (error) {
|
|
82887
|
+
const recovered = filePath !== "<unknown>" ? maybeRecoverMemoryReadError({
|
|
82888
|
+
filePath,
|
|
82889
|
+
workspaceRoot: options?.workspaceRoot,
|
|
82890
|
+
error
|
|
82891
|
+
}) : null;
|
|
82892
|
+
if (recovered) return recovered;
|
|
82893
|
+
throw error;
|
|
82894
|
+
}
|
|
82802
82895
|
return sanitizeToolResultImages(await normalizeReadImageResult(stripReadTruncationContentDetails(result), filePath), `read:${filePath}`, options?.imageSanitization);
|
|
82803
82896
|
}
|
|
82804
82897
|
};
|
|
@@ -83564,7 +83657,8 @@ function createOpenClawCodingTools(options) {
|
|
|
83564
83657
|
}
|
|
83565
83658
|
const wrapped = createOpenClawReadTool(createReadTool(workspaceRoot), {
|
|
83566
83659
|
modelContextWindowTokens: options?.modelContextWindowTokens,
|
|
83567
|
-
imageSanitization
|
|
83660
|
+
imageSanitization,
|
|
83661
|
+
workspaceRoot
|
|
83568
83662
|
});
|
|
83569
83663
|
return [workspaceOnly ? wrapToolWorkspaceRootGuard(wrapped, workspaceRoot) : wrapped];
|
|
83570
83664
|
}
|
|
@@ -4,9 +4,9 @@ import { a as resolveGatewayPort, c as resolveStateDir, d as resolveRequiredHome
|
|
|
4
4
|
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-BRjuJbbM.js";
|
|
5
5
|
import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as deriveSessionChatType, b as isCronSessionKey, c as normalizeAgentId, d as resolveThreadSessionKeys, f as sanitizeAgentId, g as isBlockedObjectKey, h as normalizeOptionalAccountId, l as normalizeMainKey, m as normalizeAccountId$2, o as classifySessionKeyShape, p as DEFAULT_ACCOUNT_ID, r as buildAgentMainSessionKey, s as isValidAgentId, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, v as getSubagentDepth, x as isSubagentSessionKey, y as isAcpSessionKey } from "./session-key-a6av96Fj.js";
|
|
6
6
|
import { C as isPlainObject, S as truncateUtf16Safe, _ as shortenHomeInString, a as ensureDir$3, b as sliceUtf16Safe, c as isRecord$1, d as normalizeE164, h as resolveUserPath, o as escapeRegExp, r as clampInt, s as formatTerminalLink, t as CONFIG_DIR, v as shortenHomePath, y as sleep$1 } from "./utils-BFZnl-5N.js";
|
|
7
|
-
import { C as openBoundaryFileSync, M as normalizeWindowsPathForComparison, S as openBoundaryFile, a as DEFAULT_IDENTITY_FILENAME, b as spawnWithFallback, f as loadWorkspaceBootstrapFiles, g as resolveOpenClawPackageRoot, l as ensureAgentWorkspace, m as resolveWorkspaceAttachmentsRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as runCommandWithTimeout, y as runExec } from "./workspace-D6mrCnXi.js";
|
|
7
|
+
import { A as isPathInside, C as openBoundaryFileSync, M as normalizeWindowsPathForComparison, O as hasNodeErrorCode, S as openBoundaryFile, a as DEFAULT_IDENTITY_FILENAME, b as spawnWithFallback, f as loadWorkspaceBootstrapFiles, g as resolveOpenClawPackageRoot, k as isNotFoundPathError, l as ensureAgentWorkspace, m as resolveWorkspaceAttachmentsRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as runCommandWithTimeout, y as runExec } from "./workspace-D6mrCnXi.js";
|
|
8
8
|
import { i as logWarn, n as logError, r as logInfo, t as logDebug } from "./logger-BlH5MJiV.js";
|
|
9
|
-
import { $t as extractShellWrapperInlineCommand, A as resolveApiKeyForProvider, An as withFileLock, At as resolveEffectiveEnableState, B as resolveApiKeyForProfile, Bn as DEFAULT_PROVIDER, Bt as getTrustedSafeBinDirs, C as buildAssistantMessage, Cn as resolveOwnerDisplaySetting, Ct as validateJsonSchemaValue, D as getApiKeyForModel, Dn as ensureAuthProfileStore, Dt as safeStatSync, E as buildUsageWithNoCost, En as markAuthProfileGood, Et as isPathInside, F as getSoonestCooldownExpiry, Ft as unsetConfigOverride, G as resolveConfigSnapshotHash, Gt as analyzeShellCommand, H as loadConfig, Ht as listWritableExplicitTrustedSafeBinDirs, I as isProfileInCooldown, In as normalizeSecretInput, It as getConfigValueAtPath, J as TELEGRAM_COMMAND_NAME_PATTERN, Jt as splitCommandChain, K as writeConfigFile, Kt as buildEnforcedShellCommand, L as markAuthProfileFailure, Ln as splitTrailingAuthProfile, Lt as parseConfigPath, M as resolveModelAuthMode, Mt as getConfigOverrides, Nt as resetConfigOverrides, O as getCustomProviderApiKey, On as resolveAuthStorePathForDisplay, Ot as applyTestPluginDefaults, P as resolveAuthProfileOrder, Pn as resolveAuthProfileDisplayLabel, Pt as setConfigOverride, Q as isInboundPathAllowed, Qt as resolveCommandResolutionFromArgv, R as markAuthProfileUsed, Rn as DEFAULT_CONTEXT_TOKENS, Rt as setConfigValueAtPath, S as createOllamaStreamFn, Sn as isDangerousHostEnvVarName, St as isSupportedLocalAvatarExtension, T as buildStreamErrorAssistantMessage, Tn as listProfilesForProvider, Tt as discoverOpenClawPlugins, U as readConfigFileSnapshot, Ut as normalizeTrustedSafeBinDirs, Vt as isTrustedSafeBinPath, Wt as validateSafeBinArgv, X as resolveTelegramCustomCommands, Xt as matchAllowlist, Y as normalizeTelegramCommandName, Yt as DEFAULT_SAFE_BINS, Zt as resolveAllowlistCandidatePath, _n as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, a as isCliProvider, an as SAFE_BIN_PROFILES, at as parseDurationMs, bn as getShellPathFromLoginShell, bt as isAvatarHttpUrl, c as normalizeProviderId, cn as applyMergePatch, d as resolveDefaultModelForAgent, dn as resolveDiscordPreviewStreamMode, en as isDispatchWrapperExecutable, et as resolveIMessageAttachmentRoots, f as resolveModelRefFromString, fn as resolveSlackNativeStreaming, h as resolveThinkingDefault, i as findNormalizedProviderValue, in as splitShellArgs, j as resolveEnvApiKey, jt as resolveMemorySlotDecision, k as requireApiKey, kn as resolveOpenClawAgentDir, kt as normalizePluginsConfig, ln as isSafeExecutableValue, m as resolveSubagentSpawnModelSelection, n as buildConfiguredAllowlistKeys, nn as unwrapKnownDispatchWrapperInvocation, nt as normalizeScpRemoteHost, o as modelKey, on as normalizeSafeBinProfileFixtures, p as resolveReasoningDefault, pn as resolveSlackStreamingMode, q as validateConfigObjectWithPlugins, qt as isWindowsPlatform, r as buildModelAliasIndex, rn as unwrapKnownShellMultiplexerInvocation, rt as parseNonNegativeByteSize, s as normalizeModelRef$2, sn as resolveSafeBinProfiles, t as buildAllowedModelSet, tn as isShellWrapperExecutable, tt as resolveIMessageRemoteAttachmentRoots, u as resolveConfiguredModelRef, un as mapStreamingModeToSlackLegacyDraftStreamMode, vn as resolveAgentMaxConcurrent, vt as AVATAR_MAX_BYTES, w as buildAssistantMessageWithZeroUsage, wn as dedupeProfileIds, wt as loadPluginManifestRegistry, x as OLLAMA_NATIVE_BASE_URL, xn as resolveShellEnvFallbackTimeoutMs, xt as isPathWithinRoot, yn as VERSION, yt as isAvatarDataUrl, z as resolveProfilesUnavailableReason, zn as DEFAULT_MODEL, zt as unsetConfigValueAtPath } from "./model-selection-D_Si2Ict.js";
|
|
9
|
+
import { $t as extractShellWrapperInlineCommand, A as resolveApiKeyForProvider, An as withFileLock, At as resolveEffectiveEnableState, B as resolveApiKeyForProfile, Bn as DEFAULT_PROVIDER, Bt as getTrustedSafeBinDirs, C as buildAssistantMessage, Cn as resolveOwnerDisplaySetting, Ct as validateJsonSchemaValue, D as getApiKeyForModel, Dn as ensureAuthProfileStore, Dt as safeStatSync, E as buildUsageWithNoCost, En as markAuthProfileGood, Et as isPathInside$1, F as getSoonestCooldownExpiry, Ft as unsetConfigOverride, G as resolveConfigSnapshotHash, Gt as analyzeShellCommand, H as loadConfig, Ht as listWritableExplicitTrustedSafeBinDirs, I as isProfileInCooldown, In as normalizeSecretInput, It as getConfigValueAtPath, J as TELEGRAM_COMMAND_NAME_PATTERN, Jt as splitCommandChain, K as writeConfigFile, Kt as buildEnforcedShellCommand, L as markAuthProfileFailure, Ln as splitTrailingAuthProfile, Lt as parseConfigPath, M as resolveModelAuthMode, Mt as getConfigOverrides, Nt as resetConfigOverrides, O as getCustomProviderApiKey, On as resolveAuthStorePathForDisplay, Ot as applyTestPluginDefaults, P as resolveAuthProfileOrder, Pn as resolveAuthProfileDisplayLabel, Pt as setConfigOverride, Q as isInboundPathAllowed, Qt as resolveCommandResolutionFromArgv, R as markAuthProfileUsed, Rn as DEFAULT_CONTEXT_TOKENS, Rt as setConfigValueAtPath, S as createOllamaStreamFn, Sn as isDangerousHostEnvVarName, St as isSupportedLocalAvatarExtension, T as buildStreamErrorAssistantMessage, Tn as listProfilesForProvider, Tt as discoverOpenClawPlugins, U as readConfigFileSnapshot, Ut as normalizeTrustedSafeBinDirs, Vt as isTrustedSafeBinPath, Wt as validateSafeBinArgv, X as resolveTelegramCustomCommands, Xt as matchAllowlist, Y as normalizeTelegramCommandName, Yt as DEFAULT_SAFE_BINS, Zt as resolveAllowlistCandidatePath, _n as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, a as isCliProvider, an as SAFE_BIN_PROFILES, at as parseDurationMs, bn as getShellPathFromLoginShell, bt as isAvatarHttpUrl, c as normalizeProviderId, cn as applyMergePatch, d as resolveDefaultModelForAgent, dn as resolveDiscordPreviewStreamMode, en as isDispatchWrapperExecutable, et as resolveIMessageAttachmentRoots, f as resolveModelRefFromString, fn as resolveSlackNativeStreaming, h as resolveThinkingDefault, i as findNormalizedProviderValue, in as splitShellArgs, j as resolveEnvApiKey, jt as resolveMemorySlotDecision, k as requireApiKey, kn as resolveOpenClawAgentDir, kt as normalizePluginsConfig, ln as isSafeExecutableValue, m as resolveSubagentSpawnModelSelection, n as buildConfiguredAllowlistKeys, nn as unwrapKnownDispatchWrapperInvocation, nt as normalizeScpRemoteHost, o as modelKey, on as normalizeSafeBinProfileFixtures, p as resolveReasoningDefault, pn as resolveSlackStreamingMode, q as validateConfigObjectWithPlugins, qt as isWindowsPlatform, r as buildModelAliasIndex, rn as unwrapKnownShellMultiplexerInvocation, rt as parseNonNegativeByteSize, s as normalizeModelRef$2, sn as resolveSafeBinProfiles, t as buildAllowedModelSet, tn as isShellWrapperExecutable, tt as resolveIMessageRemoteAttachmentRoots, u as resolveConfiguredModelRef, un as mapStreamingModeToSlackLegacyDraftStreamMode, vn as resolveAgentMaxConcurrent, vt as AVATAR_MAX_BYTES, w as buildAssistantMessageWithZeroUsage, wn as dedupeProfileIds, wt as loadPluginManifestRegistry, x as OLLAMA_NATIVE_BASE_URL, xn as resolveShellEnvFallbackTimeoutMs, xt as isPathWithinRoot, yn as VERSION, yt as isAvatarDataUrl, z as resolveProfilesUnavailableReason, zn as DEFAULT_MODEL, zt as unsetConfigValueAtPath } from "./model-selection-D_Si2Ict.js";
|
|
10
10
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DLGN-8YS.js";
|
|
11
11
|
import { n as formatCliCommand, t as isTruthyEnvValue } from "./env-DNMZEG57.js";
|
|
12
12
|
import { t as parseBooleanValue$1 } from "./boolean-mcn6kL0s.js";
|
|
@@ -61011,7 +61011,7 @@ function createOutboundSendDepsFromCliSource(deps) {
|
|
|
61011
61011
|
function createDefaultDeps() {
|
|
61012
61012
|
return {
|
|
61013
61013
|
sendMessageWhatsApp: async (...args) => {
|
|
61014
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
61014
|
+
const { sendMessageWhatsApp } = await import("./web-Bun-T89j.js");
|
|
61015
61015
|
return await sendMessageWhatsApp(...args);
|
|
61016
61016
|
},
|
|
61017
61017
|
sendMessageTelegram: async (...args) => {
|
|
@@ -79275,7 +79275,7 @@ function loadWebLoginQr() {
|
|
|
79275
79275
|
return webLoginQrPromise;
|
|
79276
79276
|
}
|
|
79277
79277
|
function loadWebChannel() {
|
|
79278
|
-
webChannelPromise ??= import("./web-
|
|
79278
|
+
webChannelPromise ??= import("./web-Bun-T89j.js");
|
|
79279
79279
|
return webChannelPromise;
|
|
79280
79280
|
}
|
|
79281
79281
|
function loadWhatsAppActions() {
|
|
@@ -80904,7 +80904,7 @@ function addPathToMatcher(matcher, rawPath) {
|
|
|
80904
80904
|
}
|
|
80905
80905
|
function matchesPathMatcher(matcher, sourcePath) {
|
|
80906
80906
|
if (matcher.exact.has(sourcePath)) return true;
|
|
80907
|
-
return matcher.dirs.some((dirPath) => isPathInside(dirPath, sourcePath));
|
|
80907
|
+
return matcher.dirs.some((dirPath) => isPathInside$1(dirPath, sourcePath));
|
|
80908
80908
|
}
|
|
80909
80909
|
function buildProvenanceIndex(params) {
|
|
80910
80910
|
const loadPathMatcher = createPathMatcher();
|
|
@@ -82460,6 +82460,82 @@ function stripReadTruncationContentDetails(result) {
|
|
|
82460
82460
|
}
|
|
82461
82461
|
};
|
|
82462
82462
|
}
|
|
82463
|
+
function extractRequestedReadPath(record) {
|
|
82464
|
+
const trimmed = (typeof record?.path === "string" ? record.path : typeof record?.file_path === "string" ? record.file_path : void 0)?.trim();
|
|
82465
|
+
return trimmed ? trimmed : void 0;
|
|
82466
|
+
}
|
|
82467
|
+
function normalizeReadPathCandidate(filePath) {
|
|
82468
|
+
const trimmed = filePath.trim();
|
|
82469
|
+
const withoutAt = trimmed.startsWith("@") ? trimmed.slice(1) : trimmed;
|
|
82470
|
+
if (/^file:\/\//i.test(withoutAt)) try {
|
|
82471
|
+
return fileURLToPath(withoutAt);
|
|
82472
|
+
} catch {
|
|
82473
|
+
return withoutAt;
|
|
82474
|
+
}
|
|
82475
|
+
return withoutAt;
|
|
82476
|
+
}
|
|
82477
|
+
function normalizeRelativeReadPath(filePath) {
|
|
82478
|
+
return filePath.replace(/\\/g, "/").replace(/^(?:\.\/)+/, "").replace(/^\/+/, "").replace(/\/+$/, "");
|
|
82479
|
+
}
|
|
82480
|
+
function getReadPathRelativeToWorkspace(filePath, workspaceRoot) {
|
|
82481
|
+
const normalized = normalizeReadPathCandidate(filePath);
|
|
82482
|
+
if (!path.isAbsolute(normalized)) return normalizeRelativeReadPath(normalized);
|
|
82483
|
+
if (!workspaceRoot) return;
|
|
82484
|
+
const root = path.resolve(workspaceRoot);
|
|
82485
|
+
const resolved = path.resolve(normalized);
|
|
82486
|
+
if (!isPathInside(root, resolved)) return;
|
|
82487
|
+
return normalizeRelativeReadPath(path.relative(root, resolved));
|
|
82488
|
+
}
|
|
82489
|
+
function isMemoryReadPath(filePath, workspaceRoot) {
|
|
82490
|
+
const relative = getReadPathRelativeToWorkspace(filePath, workspaceRoot);
|
|
82491
|
+
return relative === "memory" || Boolean(relative?.startsWith("memory/"));
|
|
82492
|
+
}
|
|
82493
|
+
function resolveReadPathWithinWorkspace(filePath, workspaceRoot) {
|
|
82494
|
+
if (!workspaceRoot) return;
|
|
82495
|
+
const normalized = normalizeReadPathCandidate(filePath);
|
|
82496
|
+
const resolved = path.isAbsolute(normalized) ? path.resolve(normalized) : path.resolve(workspaceRoot, normalized);
|
|
82497
|
+
return isPathInside(path.resolve(workspaceRoot), resolved) ? resolved : void 0;
|
|
82498
|
+
}
|
|
82499
|
+
function createMemoryDirectoryReadResult(filePath) {
|
|
82500
|
+
return {
|
|
82501
|
+
content: [{
|
|
82502
|
+
type: "text",
|
|
82503
|
+
text: `${filePath} is a directory, not a file. Read a specific file such as MEMORY.md or memory/YYYY-MM-DD.md instead.`
|
|
82504
|
+
}],
|
|
82505
|
+
details: {}
|
|
82506
|
+
};
|
|
82507
|
+
}
|
|
82508
|
+
function createMissingMemoryReadResult(filePath) {
|
|
82509
|
+
return {
|
|
82510
|
+
content: [{
|
|
82511
|
+
type: "text",
|
|
82512
|
+
text: `No memory file exists at ${filePath} yet. Continue normally, or create a file such as memory/YYYY-MM-DD.md when you want to save notes.`
|
|
82513
|
+
}],
|
|
82514
|
+
details: {}
|
|
82515
|
+
};
|
|
82516
|
+
}
|
|
82517
|
+
async function maybeCreateMemoryReadCompatibilityResult(params) {
|
|
82518
|
+
if (!isMemoryReadPath(params.filePath, params.workspaceRoot)) return null;
|
|
82519
|
+
const absolutePath = resolveReadPathWithinWorkspace(params.filePath, params.workspaceRoot);
|
|
82520
|
+
if (!absolutePath) return null;
|
|
82521
|
+
try {
|
|
82522
|
+
if ((await fs.stat(absolutePath)).isDirectory()) return createMemoryDirectoryReadResult(params.filePath);
|
|
82523
|
+
return null;
|
|
82524
|
+
} catch (error) {
|
|
82525
|
+
if (isNotFoundPathError(error)) return createMissingMemoryReadResult(params.filePath);
|
|
82526
|
+
throw error;
|
|
82527
|
+
}
|
|
82528
|
+
}
|
|
82529
|
+
function maybeRecoverMemoryReadError(params) {
|
|
82530
|
+
if (!isMemoryReadPath(params.filePath, params.workspaceRoot)) return null;
|
|
82531
|
+
if (params.error instanceof SafeOpenError) {
|
|
82532
|
+
if (params.error.code === "not-file") return createMemoryDirectoryReadResult(params.filePath);
|
|
82533
|
+
if (params.error.code === "not-found") return createMissingMemoryReadResult(params.filePath);
|
|
82534
|
+
}
|
|
82535
|
+
if (hasNodeErrorCode(params.error, "EISDIR")) return createMemoryDirectoryReadResult(params.filePath);
|
|
82536
|
+
if (isNotFoundPathError(params.error)) return createMissingMemoryReadResult(params.filePath);
|
|
82537
|
+
return null;
|
|
82538
|
+
}
|
|
82463
82539
|
async function executeReadWithAdaptivePaging(params) {
|
|
82464
82540
|
const userLimit = params.args.limit;
|
|
82465
82541
|
if (typeof userLimit === "number" && Number.isFinite(userLimit) && userLimit > 0) return await params.base.execute(params.toolCallId, params.args, params.signal);
|
|
@@ -82735,7 +82811,8 @@ function wrapToolWorkspaceRootGuardWithOptions(tool, root, options) {
|
|
|
82735
82811
|
function createSandboxedReadTool(params) {
|
|
82736
82812
|
return createOpenClawReadTool(createReadTool(params.root, { operations: createSandboxReadOperations(params) }), {
|
|
82737
82813
|
modelContextWindowTokens: params.modelContextWindowTokens,
|
|
82738
|
-
imageSanitization: params.imageSanitization
|
|
82814
|
+
imageSanitization: params.imageSanitization,
|
|
82815
|
+
workspaceRoot: params.root
|
|
82739
82816
|
});
|
|
82740
82817
|
}
|
|
82741
82818
|
function createSandboxedWriteTool(params) {
|
|
@@ -82801,14 +82878,30 @@ function createOpenClawReadTool(base, options) {
|
|
|
82801
82878
|
const normalized = normalizeToolParams(params);
|
|
82802
82879
|
const record = normalized ?? (params && typeof params === "object" ? params : void 0);
|
|
82803
82880
|
assertRequiredParams(record, CLAUDE_PARAM_GROUPS.read, base.name);
|
|
82804
|
-
const
|
|
82805
|
-
|
|
82806
|
-
|
|
82807
|
-
|
|
82808
|
-
|
|
82809
|
-
|
|
82810
|
-
|
|
82811
|
-
|
|
82881
|
+
const filePath = extractRequestedReadPath(record) ?? "<unknown>";
|
|
82882
|
+
const memoryCompatibilityResult = filePath !== "<unknown>" ? await maybeCreateMemoryReadCompatibilityResult({
|
|
82883
|
+
filePath,
|
|
82884
|
+
workspaceRoot: options?.workspaceRoot
|
|
82885
|
+
}) : null;
|
|
82886
|
+
if (memoryCompatibilityResult) return memoryCompatibilityResult;
|
|
82887
|
+
let result;
|
|
82888
|
+
try {
|
|
82889
|
+
result = await executeReadWithAdaptivePaging({
|
|
82890
|
+
base,
|
|
82891
|
+
toolCallId,
|
|
82892
|
+
args: normalized ?? params ?? {},
|
|
82893
|
+
signal,
|
|
82894
|
+
maxBytes: resolveAdaptiveReadMaxBytes(options)
|
|
82895
|
+
});
|
|
82896
|
+
} catch (error) {
|
|
82897
|
+
const recovered = filePath !== "<unknown>" ? maybeRecoverMemoryReadError({
|
|
82898
|
+
filePath,
|
|
82899
|
+
workspaceRoot: options?.workspaceRoot,
|
|
82900
|
+
error
|
|
82901
|
+
}) : null;
|
|
82902
|
+
if (recovered) return recovered;
|
|
82903
|
+
throw error;
|
|
82904
|
+
}
|
|
82812
82905
|
return sanitizeToolResultImages(await normalizeReadImageResult(stripReadTruncationContentDetails(result), filePath), `read:${filePath}`, options?.imageSanitization);
|
|
82813
82906
|
}
|
|
82814
82907
|
};
|
|
@@ -83574,7 +83667,8 @@ function createOpenClawCodingTools(options) {
|
|
|
83574
83667
|
}
|
|
83575
83668
|
const wrapped = createOpenClawReadTool(createReadTool(workspaceRoot), {
|
|
83576
83669
|
modelContextWindowTokens: options?.modelContextWindowTokens,
|
|
83577
|
-
imageSanitization
|
|
83670
|
+
imageSanitization,
|
|
83671
|
+
workspaceRoot
|
|
83578
83672
|
});
|
|
83579
83673
|
return [workspaceOnly ? wrapToolWorkspaceRootGuard(wrapped, workspaceRoot) : wrapped];
|
|
83580
83674
|
}
|
|
@@ -3,7 +3,7 @@ import { t as createSubsystemLogger } from "./subsystem-DjdBljTA.js";
|
|
|
3
3
|
import { M as loadConfig } from "./auth-profiles-Ncv1fyN5.js";
|
|
4
4
|
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-CJelRKYY.js";
|
|
5
5
|
import { u as getActivePluginRegistry } from "./registry-7fg1BnMw.js";
|
|
6
|
-
import { _ as loadOpenClawPlugins } from "./subagent-registry-
|
|
6
|
+
import { _ as loadOpenClawPlugins } from "./subagent-registry-B4xJjOu2.js";
|
|
7
7
|
|
|
8
8
|
//#region src/cli/plugin-registry.ts
|
|
9
9
|
var plugin_registry_exports = /* @__PURE__ */ __exportAll({ ensurePluginRegistryLoaded: () => ensurePluginRegistryLoaded });
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { dt as loadOpenClawPlugins } from "./reply-
|
|
2
|
+
import { dt as loadOpenClawPlugins } from "./reply-CAA6gLtt.js";
|
|
3
3
|
import { d as resolveDefaultAgentId, u as resolveAgentWorkspaceDir } from "./agent-scope-CiBV1K6b.js";
|
|
4
4
|
import { t as createSubsystemLogger } from "./subsystem-BT74-yyS.js";
|
|
5
5
|
import { Wt as loadConfig } from "./model-selection-xdfZxwgB.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { m as normalizeAccountId } from "./session-key-CVIXEtLx.js";
|
|
2
|
-
import { v as createAccountListHelpers } from "./accounts-
|
|
2
|
+
import { v as createAccountListHelpers } from "./accounts-D_pT5EjF.js";
|
|
3
3
|
import { t as resolveAccountEntry } from "./account-lookup-BCxEEOS8.js";
|
|
4
4
|
|
|
5
5
|
//#region src/signal/accounts.ts
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { m as normalizeAccountId } from "./session-key-CVIXEtLx.js";
|
|
2
|
-
import { v as createAccountListHelpers } from "./accounts-
|
|
2
|
+
import { v as createAccountListHelpers } from "./accounts-D_pT5EjF.js";
|
|
3
3
|
import { t as resolveAccountEntry } from "./account-lookup-BCxEEOS8.js";
|
|
4
4
|
|
|
5
5
|
//#region src/imessage/accounts.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { h as normalizeOptionalAccountId, m as normalizeAccountId, p as DEFAULT_ACCOUNT_ID } from "./session-key-CVIXEtLx.js";
|
|
2
2
|
import { o as resolveOAuthDir } from "./paths-C__vjTc0.js";
|
|
3
|
-
import { i as defaultRuntime, l as info, m as success, y as getChildLogger } from "./subsystem-
|
|
4
|
-
import { h as resolveUserPath, u as jidToE164 } from "./utils-
|
|
5
|
-
import { t as formatCliCommand } from "./command-format-
|
|
3
|
+
import { i as defaultRuntime, l as info, m as success, y as getChildLogger } from "./subsystem-CM1s2lDT.js";
|
|
4
|
+
import { h as resolveUserPath, u as jidToE164 } from "./utils-BcL6KGZf.js";
|
|
5
|
+
import { t as formatCliCommand } from "./command-format-BOJz3y1v.js";
|
|
6
6
|
import { t as resolveAccountEntry } from "./account-lookup-BCxEEOS8.js";
|
|
7
7
|
import fs from "node:fs";
|
|
8
8
|
import path from "node:path";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { p as DEFAULT_ACCOUNT_ID } from "./session-key-CVIXEtLx.js";
|
|
2
|
-
import { t as formatCliCommand } from "./command-format-
|
|
2
|
+
import { t as formatCliCommand } from "./command-format-BOJz3y1v.js";
|
|
3
3
|
import crypto from "node:crypto";
|
|
4
4
|
|
|
5
5
|
//#region src/logging/redact-identifier.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { S as parseAgentSessionKey, b as isCronSessionKey, c as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveAgentIdFromSessionKey, x as isSubagentSessionKey } from "./session-key-CVIXEtLx.js";
|
|
2
2
|
import { c as resolveStateDir } from "./paths-C__vjTc0.js";
|
|
3
|
-
import { c as danger, p as shouldLogVerbose, t as createSubsystemLogger } from "./subsystem-
|
|
4
|
-
import { f as pathExists$1, h as resolveUserPath } from "./utils-
|
|
5
|
-
import { n as logError, t as logDebug } from "./logger-
|
|
3
|
+
import { c as danger, p as shouldLogVerbose, t as createSubsystemLogger } from "./subsystem-CM1s2lDT.js";
|
|
4
|
+
import { f as pathExists$1, h as resolveUserPath } from "./utils-BcL6KGZf.js";
|
|
5
|
+
import { n as logError, t as logDebug } from "./logger-Cr-x0vMf.js";
|
|
6
6
|
import fs from "node:fs";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import os from "node:os";
|
|
@@ -4,6 +4,7 @@ import type { SandboxFsBridge } from "./sandbox/fs-bridge.js";
|
|
|
4
4
|
type OpenClawReadToolOptions = {
|
|
5
5
|
modelContextWindowTokens?: number;
|
|
6
6
|
imageSanitization?: ImageSanitizationLimits;
|
|
7
|
+
workspaceRoot?: string;
|
|
7
8
|
};
|
|
8
9
|
type RequiredParamGroup = {
|
|
9
10
|
keys: readonly string[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ln as normalizeProviderId } from "./config-
|
|
2
|
-
import { r as formatErrorMessage } from "./errors-
|
|
1
|
+
import { ln as normalizeProviderId } from "./config-DAwOhnVF.js";
|
|
2
|
+
import { r as formatErrorMessage } from "./errors-jusxdu7M.js";
|
|
3
3
|
|
|
4
4
|
//#region src/infra/gemini-auth.ts
|
|
5
5
|
/**
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import "./accounts-
|
|
1
|
+
import "./accounts-D_pT5EjF.js";
|
|
2
2
|
import "./paths-C__vjTc0.js";
|
|
3
3
|
import "./github-copilot-token-WHEJfZD4.js";
|
|
4
|
-
import "./config-
|
|
5
|
-
import { p as shouldLogVerbose, u as logVerbose } from "./subsystem-
|
|
6
|
-
import "./utils-
|
|
7
|
-
import "./command-format-
|
|
8
|
-
import "./agent-scope-
|
|
9
|
-
import "./logger-
|
|
10
|
-
import "./registry-
|
|
11
|
-
import "./dock-
|
|
12
|
-
import "./message-channel-
|
|
13
|
-
import "./sessions-
|
|
14
|
-
import "./plugins-
|
|
15
|
-
import "./accounts-
|
|
16
|
-
import "./accounts-
|
|
17
|
-
import "./bindings-
|
|
4
|
+
import "./config-DAwOhnVF.js";
|
|
5
|
+
import { p as shouldLogVerbose, u as logVerbose } from "./subsystem-CM1s2lDT.js";
|
|
6
|
+
import "./utils-BcL6KGZf.js";
|
|
7
|
+
import "./command-format-BOJz3y1v.js";
|
|
8
|
+
import "./agent-scope-DT5pxpJB.js";
|
|
9
|
+
import "./logger-Cr-x0vMf.js";
|
|
10
|
+
import "./registry-Cv-oHUj1.js";
|
|
11
|
+
import "./dock-BdR3OYZn.js";
|
|
12
|
+
import "./message-channel-CvNq-esz.js";
|
|
13
|
+
import "./sessions-BXps6YzJ.js";
|
|
14
|
+
import "./plugins-DF_dKXTR.js";
|
|
15
|
+
import "./accounts-COLYAAOx.js";
|
|
16
|
+
import "./accounts-BZrkOo6-.js";
|
|
17
|
+
import "./bindings-BSfhEjKN.js";
|
|
18
18
|
import "./paths-DlLOyPPw.js";
|
|
19
|
-
import "./redact-
|
|
20
|
-
import "./errors-
|
|
21
|
-
import "./path-alias-guards-
|
|
22
|
-
import "./fs-safe-
|
|
23
|
-
import "./image-ops-
|
|
24
|
-
import "./ssrf-
|
|
25
|
-
import "./fetch-guard-
|
|
26
|
-
import "./local-roots-
|
|
27
|
-
import "./tool-images-
|
|
28
|
-
import { i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, p as isAudioAttachment, t as runAudioTranscription } from "./audio-transcription-runner-
|
|
29
|
-
import "./skills-
|
|
30
|
-
import "./chrome-
|
|
31
|
-
import "./store-
|
|
32
|
-
import "./pi-embedded-helpers-
|
|
19
|
+
import "./redact-BOuKZWXa.js";
|
|
20
|
+
import "./errors-jusxdu7M.js";
|
|
21
|
+
import "./path-alias-guards-DpKV1B5p.js";
|
|
22
|
+
import "./fs-safe-DMCE0ej9.js";
|
|
23
|
+
import "./image-ops-DulHE5Qc.js";
|
|
24
|
+
import "./ssrf-Doxv9M7Q.js";
|
|
25
|
+
import "./fetch-guard-Dary6WwJ.js";
|
|
26
|
+
import "./local-roots-DssN60r6.js";
|
|
27
|
+
import "./tool-images-heXfaJdb.js";
|
|
28
|
+
import { i as normalizeMediaAttachments, o as resolveMediaAttachmentLocalRoots, p as isAudioAttachment, t as runAudioTranscription } from "./audio-transcription-runner-CooPnqtC.js";
|
|
29
|
+
import "./skills-DXOTei42.js";
|
|
30
|
+
import "./chrome-Dn0G4NoF.js";
|
|
31
|
+
import "./store-BZbE1V-C.js";
|
|
32
|
+
import "./pi-embedded-helpers-CKEUWckk.js";
|
|
33
33
|
import "./thinking-DGaZRXAR.js";
|
|
34
|
-
import "./image-
|
|
35
|
-
import "./pi-model-discovery-
|
|
36
|
-
import "./api-key-rotation-
|
|
37
|
-
import "./proxy-fetch-
|
|
34
|
+
import "./image-B3A2l2ep.js";
|
|
35
|
+
import "./pi-model-discovery-BPeQq9XM.js";
|
|
36
|
+
import "./api-key-rotation-Dl6Ad7Nj.js";
|
|
37
|
+
import "./proxy-fetch-BpHIgvBk.js";
|
|
38
38
|
|
|
39
39
|
//#region src/media-understanding/audio-preflight.ts
|
|
40
40
|
/**
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { An as resolveApiKeyForProvider, S as resolveIMessageAttachmentRoots, b as isInboundPathAllowed, gn as normalizeGoogleModelId, kn as requireApiKey, ln as normalizeProviderId, n as loadConfig, qn as resolveOpenClawAgentDir, x as mergeInboundPathRoots, y as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS } from "./config-
|
|
2
|
-
import { T as resolvePreferredOpenClawTmpDir, p as shouldLogVerbose, t as createSubsystemLogger, u as logVerbose } from "./subsystem-
|
|
3
|
-
import { G as resolveAgentModelPrimaryValue, W as resolveAgentModelFallbackValues, k as runExec } from "./agent-scope-
|
|
1
|
+
import { An as resolveApiKeyForProvider, S as resolveIMessageAttachmentRoots, b as isInboundPathAllowed, gn as normalizeGoogleModelId, kn as requireApiKey, ln as normalizeProviderId, n as loadConfig, qn as resolveOpenClawAgentDir, x as mergeInboundPathRoots, y as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS } from "./config-DAwOhnVF.js";
|
|
2
|
+
import { T as resolvePreferredOpenClawTmpDir, p as shouldLogVerbose, t as createSubsystemLogger, u as logVerbose } from "./subsystem-CM1s2lDT.js";
|
|
3
|
+
import { G as resolveAgentModelPrimaryValue, W as resolveAgentModelFallbackValues, k as runExec } from "./agent-scope-DT5pxpJB.js";
|
|
4
4
|
import { t as normalizeChatType } from "./chat-type-C4pAlbsI.js";
|
|
5
5
|
import { n as fetchWithTimeout } from "./fetch-timeout-C-qHqfzG.js";
|
|
6
|
-
import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-
|
|
7
|
-
import { t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
8
|
-
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError } from "./local-roots-
|
|
9
|
-
import { t as describeImageWithModel, w as ensureOpenClawModelsJson } from "./image-
|
|
10
|
-
import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-
|
|
11
|
-
import { n as resolveProxyFetchFromEnv } from "./proxy-fetch-
|
|
6
|
+
import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-DulHE5Qc.js";
|
|
7
|
+
import { t as fetchWithSsrFGuard } from "./fetch-guard-Dary6WwJ.js";
|
|
8
|
+
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, r as MediaFetchError } from "./local-roots-DssN60r6.js";
|
|
9
|
+
import { t as describeImageWithModel, w as ensureOpenClawModelsJson } from "./image-B3A2l2ep.js";
|
|
10
|
+
import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-Dl6Ad7Nj.js";
|
|
11
|
+
import { n as resolveProxyFetchFromEnv } from "./proxy-fetch-BpHIgvBk.js";
|
|
12
12
|
import { constants } from "node:fs";
|
|
13
13
|
import path from "node:path";
|
|
14
14
|
import os from "node:os";
|
|
@@ -1027,7 +1027,7 @@ function resolveAliasedOpenAiCompatibleModelId(modelId) {
|
|
|
1027
1027
|
const log = createSubsystemLogger("model-catalog");
|
|
1028
1028
|
let modelCatalogPromise = null;
|
|
1029
1029
|
let hasLoggedModelCatalogError = false;
|
|
1030
|
-
const defaultImportPiSdk = () => import("./pi-model-discovery-
|
|
1030
|
+
const defaultImportPiSdk = () => import("./pi-model-discovery-BPeQq9XM.js").then((n) => n.r);
|
|
1031
1031
|
let importPiSdk = defaultImportPiSdk;
|
|
1032
1032
|
const CODEX_PROVIDER = "openai-codex";
|
|
1033
1033
|
const OPENAI_CODEX_GPT53_MODEL_ID = "gpt-5.3-codex";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { c as normalizeAgentId, m as normalizeAccountId } from "./session-key-CVIXEtLx.js";
|
|
2
|
-
import { c as resolveDefaultAgentId } from "./agent-scope-
|
|
3
|
-
import { s as normalizeChatChannelId } from "./registry-
|
|
2
|
+
import { c as resolveDefaultAgentId } from "./agent-scope-DT5pxpJB.js";
|
|
3
|
+
import { s as normalizeChatChannelId } from "./registry-Cv-oHUj1.js";
|
|
4
4
|
|
|
5
5
|
//#region src/routing/bindings.ts
|
|
6
6
|
function normalizeBindingChannelId(raw) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
2
|
-
import { n as retryAsync, t as resolveRetryConfig } from "./retry-
|
|
3
|
-
import { r as formatErrorMessage } from "./errors-
|
|
1
|
+
import { t as createSubsystemLogger } from "./subsystem-CM1s2lDT.js";
|
|
2
|
+
import { n as retryAsync, t as resolveRetryConfig } from "./retry-BMcrIz7L.js";
|
|
3
|
+
import { r as formatErrorMessage } from "./errors-jusxdu7M.js";
|
|
4
4
|
import { RateLimitError } from "@buape/carbon";
|
|
5
5
|
|
|
6
6
|
//#region src/infra/retry-policy.ts
|