@multiplytech/openclaw 2026.2.15-pairing-code.4 → 2026.2.15-pairing-code.5
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-CyxQBpl8.js → accounts-Bu2DSNpQ.js} +1 -1
- package/dist/{accounts-BvmssTEF.js → accounts-DyinIlq4.js} +1 -1
- package/dist/{active-listener-BruG-udz.js → active-listener-BIBYF9eG.js} +1 -1
- package/dist/{agent-D0LfsEPF.js → agent-CHHEtTV9.js} +2 -2
- package/dist/{agent-BxxBd9wX.js → agent-Zea8l0V4.js} +2 -2
- package/dist/{agent-scope-DUn-XVYs.js → agent-scope-BIw4Bz2L.js} +3 -3
- package/dist/{agents-jAnRMd-A.js → agents-C3RVyjuy.js} +2 -2
- package/dist/{audio-preflight-CbR1q2CT.js → audio-preflight-BHSwqB70.js} +17 -17
- package/dist/{auth-choice-B6AdPtCu.js → auth-choice-BL4n2N2D.js} +1 -1
- package/dist/{auth-choice-GrNENivg.js → auth-choice-Uz72AGbr.js} +1 -1
- package/dist/{banner-D3tgjbUi.js → banner-SSVP1FWh.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +38 -38
- package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
- package/dist/bundled/command-logger/handler.js +1 -1
- package/dist/bundled/session-memory/handler.js +32 -32
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity--HqvQlN3.js → channel-activity-C4rZNocg.js} +1 -1
- package/dist/{channel-options-CgdgqIte.js → channel-options-BZj8yDQM.js} +1 -1
- package/dist/{channel-options-C0ayB7mx.js → channel-options-CW6tO8o9.js} +1 -1
- package/dist/{channel-web-BTTW7H_d.js → channel-web-URuEiSie.js} +2 -2
- package/dist/{channels-cli-p5hPpQzH.js → channels-cli-BxhcVdVg.js} +4 -4
- package/dist/{channels-cli-BcDsE2LA.js → channels-cli-DNfdNX1p.js} +4 -4
- package/dist/{chrome-BtogRifc.js → chrome-DlM4kwMc.js} +18 -18
- package/dist/{cli-Oxxb4axp.js → cli-BXBLYStc.js} +1 -1
- package/dist/{cli-Cwzdze-z.js → cli-BbNg2Udd.js} +1 -1
- package/dist/{command-registry-C8q1jb3h.js → command-registry-BliDXGVX.js} +9 -9
- package/dist/{common-BJE3S8zA.js → common-BB2PeD4P.js} +2 -2
- package/dist/{completion-cli-CIcsx6ic.js → completion-cli-BCKnCxmp.js} +1 -1
- package/dist/{completion-cli-DQd6XSG4.js → completion-cli-Cu-1Snpp.js} +2 -2
- package/dist/{config-CYlbDcBt.js → config-BA8Xs1ek.js} +34 -34
- package/dist/{config-cli-BmW3yfH6.js → config-cli-CVnBnw5y.js} +1 -1
- package/dist/{config-cli-CZLDgS2E.js → config-cli-D5ZKAfqw.js} +1 -1
- package/dist/{configure-CRaYQ6hS.js → configure-Dg3rt98q.js} +3 -3
- package/dist/{configure-B0_p6Z1n.js → configure-DgvISeIJ.js} +3 -3
- package/dist/{deliver-BwXnLuWH.js → deliver-CV4a0MBa.js} +16 -16
- package/dist/{deps-i6fBS1Dw.js → deps-6dSUgps7.js} +1 -1
- package/dist/{doctor-AUivq-af.js → doctor-BUO6pA-b.js} +4 -4
- package/dist/{doctor-Cs7rfmA-.js → doctor-CFwtoIem.js} +4 -4
- package/dist/{doctor-completion-CtBAIy0Z.js → doctor-completion-Bnz5cgZw.js} +1 -1
- package/dist/{doctor-completion-C2PR6GJF.js → doctor-completion-DNqw5VHX.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/{exec-C_bNT00b.js → exec-C9rZpEqA.js} +17 -17
- package/dist/extensionAPI.js +1 -1
- package/dist/{fetch-mr22CaT4.js → fetch-Dyb5pqye.js} +2 -2
- package/dist/{frontmatter-BetN20QN.js → frontmatter-Bk_vZq47.js} +2 -2
- package/dist/{gateway-cli-M8r3XcpJ.js → gateway-cli-BDf6AIk0.js} +9 -9
- package/dist/{gateway-cli-BgGnL3cE.js → gateway-cli-n2Z2-dmf.js} +9 -9
- package/dist/{github-copilot-token-U5JrmjNt.js → github-copilot-token-BXEGgIt5.js} +7 -7
- package/dist/{health-BqoIIu1u.js → health-5OQ86AsB.js} +2 -2
- package/dist/{health-shfUNbPM.js → health-BLNgO5Lg.js} +2 -2
- package/dist/{heartbeat-visibility-BEMg5PJB.js → heartbeat-visibility-kOc5LBl6.js} +1 -1
- package/dist/{heartbeat-visibility-B_kubgRp.js → heartbeat-visibility-pSnRANG0.js} +1 -1
- package/dist/{hooks-cli-99NPDBK1.js → hooks-cli-8vqegwLk.js} +2 -2
- package/dist/{hooks-cli-ec5DFn5g.js → hooks-cli-BQvnwV0N.js} +2 -2
- package/dist/{image-DN3RgnPr.js → image-DVTZYmDL.js} +4 -4
- package/dist/{image-ops-CKPJXWk4.js → image-ops-7EDUjzca.js} +9 -9
- package/dist/index.js +9 -9
- package/dist/{ir-C-hSqOPD.js → ir-eyTjTBlP.js} +6 -6
- package/dist/llm-slug-generator.js +32 -32
- package/dist/{login-BFkQgAbM.js → login-BQj4vJAc.js} +1 -1
- package/dist/{login-CwQj2jUX.js → login-Bub9YVmf.js} +1 -1
- package/dist/{login-CmhHGO4I.js → login-CKe4hvQG.js} +1 -1
- package/dist/{login-Dydm4XDa.js → login-DfLZ1ase.js} +3 -3
- package/dist/{login-qr-CF5T7Eew.js → login-qr-5lWL8Guw.js} +1 -1
- package/dist/{login-qr-BrIxb_5N.js → login-qr-C9eD5pGf.js} +8 -8
- package/dist/{login-qr-CEOlIdRe.js → login-qr-Cq7e7xsV.js} +1 -1
- package/dist/{login-qr-B_NTKK4T.js → login-qr-MG7FhnKs.js} +1 -1
- package/dist/{manager-Ec86Dapd.js → manager-ihPMEKim.js} +10 -10
- package/dist/{model-auth-COYibYBO.js → model-auth-BBAJ-iuC.js} +8 -8
- package/dist/{models-D688pDKn.js → models-D9P-iylf.js} +2 -2
- package/dist/{models-cli-CcHjNOe3.js → models-cli-BhTQK54t.js} +3 -3
- package/dist/{models-cli-GWtfGvki.js → models-cli-DCKEfmuF.js} +2 -2
- package/dist/{onboard-BmB1TAqN.js → onboard-DGIC3v2L.js} +2 -2
- package/dist/{onboard-channels-BATBIQiN.js → onboard-channels-BxI6pALE.js} +1 -1
- package/dist/{onboard-channels-BeXdUwL0.js → onboard-channels-yzWQkeRm.js} +1 -1
- package/dist/{onboard-C5_njUCe.js → onboard-ovaqc36s.js} +2 -2
- package/dist/{onboarding-txZtcVMA.js → onboarding-C6_GQJ3F.js} +3 -3
- package/dist/{onboarding-Cjbb0fRA.js → onboarding-ClCcjvNg.js} +3 -3
- package/dist/{onboarding.finalize-BI8zTyGF.js → onboarding.finalize-BhPaoWku.js} +6 -6
- package/dist/{onboarding.finalize-CSj3Rf0J.js → onboarding.finalize-CXti-VnH.js} +5 -5
- package/dist/{outbound-C8YnTFjo.js → outbound-N8cZjkHg.js} +5 -5
- package/dist/{outbound-attachment-C8Qf4dh8.js → outbound-attachment-BAu7a9Bk.js} +2 -2
- package/dist/{outbound-send-deps-BCi2C-Sb.js → outbound-send-deps-CrIPn6Gv.js} +1 -1
- package/dist/{paths-Bbik2tb_.js → paths-CMYSfM3T.js} +2 -2
- package/dist/{paths-CkkDESQ2.js → paths-CyR9Pa1R.js} +5 -5
- package/dist/{pi-auth-json-MhfZXNOP.js → pi-auth-json-BX0whbu8.js} +6 -6
- package/dist/{pi-embedded-wVlKSjNK.js → pi-embedded-B16QA3OJ.js} +120 -120
- package/dist/{pi-embedded-8ou24X6D.js → pi-embedded-BhSNemDy.js} +4 -4
- package/dist/{pi-embedded-helpers-DmwtjJVo.js → pi-embedded-helpers-DHT11gwA.js} +48 -48
- package/dist/{plugin-registry-N4ZFQdQ9.js → plugin-registry-7l0uWKmB.js} +1 -1
- package/dist/{plugin-registry-D_bG1PT_.js → plugin-registry-BMw_9a49.js} +1 -1
- package/dist/plugin-sdk/{active-listener-CkyAenz6.js → active-listener-CFLZdKRQ.js} +2 -2
- package/dist/plugin-sdk/{agent-scope-DWZdK6Cr.js → agent-scope-ip6rBrUD.js} +1 -1
- package/dist/plugin-sdk/{audio-preflight-BzSvof9i.js → audio-preflight-C0NlyreL.js} +12 -12
- package/dist/plugin-sdk/{channel-web-BXr_pHKk.js → channel-web-B715iUQW.js} +11 -11
- package/dist/plugin-sdk/{chrome-BLYh1Ek9.js → chrome-OZ5Ge8PR.js} +1 -1
- package/dist/plugin-sdk/{common-STTVkT-Z.js → common-pKa0kElY.js} +2 -2
- package/dist/plugin-sdk/{config-iUJxJaTT.js → config-DelXkt58.js} +8 -8
- package/dist/plugin-sdk/{deliver-Bkdn7hYJ.js → deliver-ebYNQy_5.js} +6 -6
- package/dist/plugin-sdk/{exec-9HIVkGqi.js → exec-C5lqk9X4.js} +2 -2
- package/dist/plugin-sdk/{fetch-DjHoyhHv.js → fetch-Cw_7QfME.js} +2 -2
- package/dist/plugin-sdk/{image-DolmBtru.js → image-2KL1DOmN.js} +4 -4
- package/dist/plugin-sdk/{image-ops-DvO68zWD.js → image-ops-zm4O3fkk.js} +4 -4
- package/dist/plugin-sdk/index.js +23 -23
- package/dist/plugin-sdk/{ir-D6TOa8wy.js → ir-BEwiHV7R.js} +4 -4
- package/dist/plugin-sdk/{login-CGRU_9Nh.js → login-BPMBJ2ja.js} +3 -3
- package/dist/plugin-sdk/{login-qr-D6D-dPg-.js → login-qr-gTXEo28v.js} +5 -5
- package/dist/plugin-sdk/{manager-DSG4npLd.js → manager-Cqyl7HDP.js} +5 -5
- package/dist/plugin-sdk/{model-selection-BfTuBvS4.js → model-selection-DHMRsTNB.js} +2 -2
- package/dist/plugin-sdk/{outbound-BuWEi6UJ.js → outbound-DT2nH6dY.js} +4 -4
- package/dist/plugin-sdk/{paths-6C0IeDIg.js → paths-wRVSwmkX.js} +1 -1
- package/dist/plugin-sdk/{pi-auth-json-CdSpUvvH.js → pi-auth-json-XTF0mVQ6.js} +3 -3
- package/dist/plugin-sdk/{pi-embedded-helpers-rNIrRqeN.js → pi-embedded-helpers-C3_rwWkJ.js} +13 -13
- package/dist/plugin-sdk/{pw-ai-DHGDCfpy.js → pw-ai-BYr2wRwE.js} +2 -2
- package/dist/plugin-sdk/{qmd-manager-D0FXZkrS.js → qmd-manager-CY7j7J3V.js} +4 -4
- package/dist/plugin-sdk/{reply-BvOTUN2t.js → reply-BCjRFrxS.js} +35 -35
- package/dist/plugin-sdk/{runner-CaaUwzMJ.js → runner-DxPwS4ed.js} +7 -7
- package/dist/plugin-sdk/{session-Cjs4HuZk.js → session-CMKy7hKx.js} +3 -3
- package/dist/plugin-sdk/{sqlite-QNHsO4bW.js → sqlite-CKrK6KKr.js} +2 -2
- package/dist/plugin-sdk/{tool-images-BuctNDly.js → tool-images-C4GaQjrF.js} +2 -2
- package/dist/plugin-sdk/web-Dez1c43V.js +30 -0
- package/dist/plugin-sdk/{whatsapp-actions-3adtwpVJ.js → whatsapp-actions-C5T64qvX.js} +11 -11
- package/dist/{plugins-cli-D2KHK9jR.js → plugins-cli-BsfnFYsL.js} +2 -2
- package/dist/{plugins-cli-CFOLjXM-.js → plugins-cli-CNB8Yt37.js} +2 -2
- package/dist/{program-B9I5xkOF.js → program-CAd9g5sW.js} +7 -7
- package/dist/{program-context-C3C2WLNP.js → program-context-_ii-SbA0.js} +17 -17
- package/dist/{provider-auth-helpers-DYPDXQQP.js → provider-auth-helpers-CCnbp35r.js} +1 -1
- package/dist/{provider-auth-helpers-DIPDa8Lw.js → provider-auth-helpers-D_lWKYII.js} +1 -1
- package/dist/{pw-ai-BCyIw4W4.js → pw-ai-xh9cPTDX.js} +3 -3
- package/dist/{qmd-manager-CgC5sB-T.js → qmd-manager-DtmZgEoS.js} +6 -6
- package/dist/{register.agent-BedOGhk-.js → register.agent-BSdFQsCq.js} +7 -7
- package/dist/{register.agent-JL4_r2Jb.js → register.agent-dQKDHNyK.js} +6 -6
- package/dist/{register.configure-U45T1EJ-.js → register.configure-BN9zCFxE.js} +6 -6
- package/dist/{register.configure-D_-8trFJ.js → register.configure-Bk2X8wFI.js} +6 -6
- package/dist/{register.maintenance-TMdlbc45.js → register.maintenance-COHaTp3w.js} +8 -8
- package/dist/{register.maintenance-BNhGCK92.js → register.maintenance-d-1O5gtF.js} +7 -7
- package/dist/{register.message-BdQletmJ.js → register.message-CfNc9leD.js} +3 -3
- package/dist/{register.message-DKw_hGiP.js → register.message-DUrPTA8L.js} +3 -3
- package/dist/{register.onboard-DVHlSfZa.js → register.onboard-DtyoTIKL.js} +4 -4
- package/dist/{register.onboard-D5LHgdqV.js → register.onboard-aCV1lrPF.js} +4 -4
- package/dist/{register.setup-CAVftQvz.js → register.setup-Bb73DdhE.js} +4 -4
- package/dist/{register.setup-Dfhxwzgk.js → register.setup-BgyHWmCs.js} +4 -4
- package/dist/{register.status-health-sessions-YCJQ83my.js → register.status-health-sessions-DLABBIKC.js} +3 -3
- package/dist/{register.status-health-sessions-ixyM5rDz.js → register.status-health-sessions-OOi_L5uN.js} +3 -3
- package/dist/{register.subclis-D-kjKwwz.js → register.subclis-CDZvm5LU.js} +9 -9
- package/dist/{reply-d6yV4wB_.js → reply-D9JN_rwA.js} +4 -4
- package/dist/{retry-D1bxhFWp.js → retry-B0RhK9tX.js} +1 -1
- package/dist/{run-main-D5duEqg3.js → run-main-BnvBDAQk.js} +14 -14
- package/dist/{runner-DGYLHL8R.js → runner-nMdrG8eK.js} +7 -7
- package/dist/{send-z4yxEOnF.js → send-BMQRcdbF.js} +4 -4
- package/dist/{send-CKSrJ7se.js → send-BRIcpOAj.js} +5 -5
- package/dist/{send-Df7eglyR.js → send-CNibEQip.js} +6 -6
- package/dist/{send-DjP-Miy_.js → send-CWOrEtrR.js} +7 -7
- package/dist/{send-DULTJ0oK.js → send-DzhCsWw9.js} +7 -7
- package/dist/{server-node-events-BE6fD68d.js → server-node-events-5_nsFo-O.js} +3 -3
- package/dist/{server-node-events-C51Bayv9.js → server-node-events-BHXuG6Pd.js} +3 -3
- package/dist/{session-B5I8E41_.js → session-CP0yShzI.js} +1 -1
- package/dist/{session-2uX9t1PO.js → session-C__ZeV6y.js} +7 -7
- package/dist/{session-Bu5MF744.js → session-sO1d78EF.js} +1 -1
- package/dist/{session-ZppYapGg.js → session-zCwG7NHS.js} +1 -1
- package/dist/{sqlite-CBMbuGLX.js → sqlite-Bfoh6OgV.js} +4 -4
- package/dist/{status-8g-vfjfP.js → status-CQB4pZ8j.js} +2 -2
- package/dist/{status-NfZ6FkuQ.js → status-Cuj1dGBb.js} +2 -2
- package/dist/{status-BRNeaZhV.js → status-Dnim-lZW.js} +1 -1
- package/dist/{status-D0P0XQqw.js → status-TVzePU0v.js} +1 -1
- package/dist/{store-m4I2z_5t.js → store-B6Y3aOaY.js} +2 -2
- package/dist/{subagent-registry-DJBVFvb4.js → subagent-registry-2rHQ_z7c.js} +4 -4
- package/dist/{tables-7DihLyDw.js → tables-BhgdJIJu.js} +1 -1
- package/dist/{tool-images-hzyBQ0Og.js → tool-images-DRiKq4of.js} +2 -2
- package/dist/{update-cli-BZ2fDrwx.js → update-cli-C5qlFKHT.js} +8 -8
- package/dist/{update-cli-BOXR9slg.js → update-cli-DKb91txa.js} +7 -7
- package/dist/{update-runner-BZFeJzUi.js → update-runner-BOA-zXJF.js} +1 -1
- package/dist/{update-runner-B55O98W8.js → update-runner-D6ZdwFLX.js} +1 -1
- package/dist/{web-DoaI-RpC.js → web-B-3vMKvG.js} +3 -3
- package/dist/{web-C5vqAHQC.js → web-BCAfeY97.js} +36 -36
- package/dist/{web-CtSLAgT_.js → web-CRrtqTfC.js} +3 -3
- package/dist/{web-By5urMji.js → web-CmgBQX8I.js} +4 -4
- package/dist/{whatsapp-actions-C4JR_6XT.js → whatsapp-actions-x16Ismcy.js} +14 -14
- package/dist/{workspace-CgGZnIx_.js → workspace-LSLFINSz.js} +5 -5
- package/package.json +1 -1
- package/dist/plugin-sdk/web-CUrXnjRV.js +0 -30
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { F as CONFIG_DIR, l as createSubsystemLogger } from "./exec-
|
|
1
|
+
import { F as CONFIG_DIR, l as createSubsystemLogger } from "./exec-C9rZpEqA.js";
|
|
2
2
|
import { i as isErrno } from "./errors-8mFQsaX1.js";
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
import os from "node:os";
|
|
5
5
|
import path from "node:path";
|
|
6
|
-
import
|
|
6
|
+
import fs$1 from "node:fs";
|
|
7
7
|
import { execFileSync, spawn } from "node:child_process";
|
|
8
8
|
import { randomBytes } from "node:crypto";
|
|
9
9
|
import net from "node:net";
|
|
10
10
|
import { createServer } from "node:http";
|
|
11
|
-
import WebSocket, { WebSocketServer } from "ws";
|
|
11
|
+
import WebSocket$1, { WebSocketServer } from "ws";
|
|
12
12
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
13
13
|
|
|
14
14
|
//#region src/browser/constants.ts
|
|
@@ -172,7 +172,7 @@ async function ensureChromeExtensionRelayServer(opts) {
|
|
|
172
172
|
let nextExtensionId = 1;
|
|
173
173
|
const sendToExtension = async (payload) => {
|
|
174
174
|
const ws = extensionWs;
|
|
175
|
-
if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
|
|
175
|
+
if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
|
|
176
176
|
ws.send(JSON.stringify(payload));
|
|
177
177
|
return await new Promise((resolve, reject) => {
|
|
178
178
|
const timer = setTimeout(() => {
|
|
@@ -189,12 +189,12 @@ async function ensureChromeExtensionRelayServer(opts) {
|
|
|
189
189
|
const broadcastToCdpClients = (evt) => {
|
|
190
190
|
const msg = JSON.stringify(evt);
|
|
191
191
|
for (const ws of cdpClients) {
|
|
192
|
-
if (ws.readyState !== WebSocket.OPEN) continue;
|
|
192
|
+
if (ws.readyState !== WebSocket$1.OPEN) continue;
|
|
193
193
|
ws.send(msg);
|
|
194
194
|
}
|
|
195
195
|
};
|
|
196
196
|
const sendResponseToCdp = (ws, res) => {
|
|
197
|
-
if (ws.readyState !== WebSocket.OPEN) return;
|
|
197
|
+
if (ws.readyState !== WebSocket$1.OPEN) return;
|
|
198
198
|
ws.send(JSON.stringify(res));
|
|
199
199
|
};
|
|
200
200
|
const ensureTargetEventsForClient = (ws, mode) => {
|
|
@@ -414,7 +414,7 @@ async function ensureChromeExtensionRelayServer(opts) {
|
|
|
414
414
|
wssExtension.on("connection", (ws) => {
|
|
415
415
|
extensionWs = ws;
|
|
416
416
|
const ping = setInterval(() => {
|
|
417
|
-
if (ws.readyState !== WebSocket.OPEN) return;
|
|
417
|
+
if (ws.readyState !== WebSocket$1.OPEN) return;
|
|
418
418
|
ws.send(JSON.stringify({ method: "ping" }));
|
|
419
419
|
}, 5e3);
|
|
420
420
|
ws.on("message", (data) => {
|
|
@@ -726,7 +726,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
|
|
|
726
726
|
}
|
|
727
727
|
async function withCdpSocket(wsUrl, fn, opts) {
|
|
728
728
|
const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
|
|
729
|
-
const ws = new WebSocket(wsUrl, {
|
|
729
|
+
const ws = new WebSocket$1(wsUrl, {
|
|
730
730
|
handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
|
|
731
731
|
...Object.keys(headers).length ? { headers } : {}
|
|
732
732
|
});
|
|
@@ -951,7 +951,7 @@ const CHROMIUM_EXE_NAMES = new Set([
|
|
|
951
951
|
]);
|
|
952
952
|
function exists$1(filePath) {
|
|
953
953
|
try {
|
|
954
|
-
return
|
|
954
|
+
return fs$1.existsSync(filePath);
|
|
955
955
|
} catch {
|
|
956
956
|
return false;
|
|
957
957
|
}
|
|
@@ -1094,7 +1094,7 @@ function findDesktopFilePath(desktopId) {
|
|
|
1094
1094
|
}
|
|
1095
1095
|
function readDesktopExecLine(desktopPath) {
|
|
1096
1096
|
try {
|
|
1097
|
-
const lines =
|
|
1097
|
+
const lines = fs$1.readFileSync(desktopPath, "utf8").split(/\r?\n/);
|
|
1098
1098
|
for (const line of lines) if (line.startsWith("Exec=")) return line.slice(5).trim();
|
|
1099
1099
|
} catch {}
|
|
1100
1100
|
return null;
|
|
@@ -1381,8 +1381,8 @@ function decoratedMarkerPath(userDataDir) {
|
|
|
1381
1381
|
}
|
|
1382
1382
|
function safeReadJson(filePath) {
|
|
1383
1383
|
try {
|
|
1384
|
-
if (!
|
|
1385
|
-
const raw =
|
|
1384
|
+
if (!fs$1.existsSync(filePath)) return null;
|
|
1385
|
+
const raw = fs$1.readFileSync(filePath, "utf-8");
|
|
1386
1386
|
const parsed = JSON.parse(raw);
|
|
1387
1387
|
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) return null;
|
|
1388
1388
|
return parsed;
|
|
@@ -1391,8 +1391,8 @@ function safeReadJson(filePath) {
|
|
|
1391
1391
|
}
|
|
1392
1392
|
}
|
|
1393
1393
|
function safeWriteJson(filePath, data) {
|
|
1394
|
-
|
|
1395
|
-
|
|
1394
|
+
fs$1.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
1395
|
+
fs$1.writeFileSync(filePath, JSON.stringify(data, null, 2));
|
|
1396
1396
|
}
|
|
1397
1397
|
function setDeep(obj, keys, value) {
|
|
1398
1398
|
let node = obj;
|
|
@@ -1519,7 +1519,7 @@ function decorateOpenClawProfile(userDataDir, opts) {
|
|
|
1519
1519
|
}
|
|
1520
1520
|
safeWriteJson(preferencesPath, prefs);
|
|
1521
1521
|
try {
|
|
1522
|
-
|
|
1522
|
+
fs$1.writeFileSync(decoratedMarkerPath(userDataDir), `${Date.now()}\n`, "utf-8");
|
|
1523
1523
|
} catch {}
|
|
1524
1524
|
}
|
|
1525
1525
|
function ensureProfileCleanExit(userDataDir) {
|
|
@@ -1535,7 +1535,7 @@ function ensureProfileCleanExit(userDataDir) {
|
|
|
1535
1535
|
const log = createSubsystemLogger("browser").child("chrome");
|
|
1536
1536
|
function exists(filePath) {
|
|
1537
1537
|
try {
|
|
1538
|
-
return
|
|
1538
|
+
return fs$1.existsSync(filePath);
|
|
1539
1539
|
} catch {
|
|
1540
1540
|
return false;
|
|
1541
1541
|
}
|
|
@@ -1581,7 +1581,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
|
|
|
1581
1581
|
async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
|
|
1582
1582
|
return await new Promise((resolve) => {
|
|
1583
1583
|
const headers = getHeadersWithAuth(wsUrl);
|
|
1584
|
-
const ws = new WebSocket(wsUrl, {
|
|
1584
|
+
const ws = new WebSocket$1(wsUrl, {
|
|
1585
1585
|
handshakeTimeout: timeoutMs,
|
|
1586
1586
|
...Object.keys(headers).length ? { headers } : {}
|
|
1587
1587
|
});
|
|
@@ -1615,7 +1615,7 @@ async function launchOpenClawChrome(resolved, profile) {
|
|
|
1615
1615
|
const exe = resolveBrowserExecutable(resolved);
|
|
1616
1616
|
if (!exe) throw new Error("No supported browser found (Chrome/Brave/Edge/Chromium on macOS, Linux, or Windows).");
|
|
1617
1617
|
const userDataDir = resolveOpenClawUserDataDir(profile.name);
|
|
1618
|
-
|
|
1618
|
+
fs$1.mkdirSync(userDataDir, { recursive: true });
|
|
1619
1619
|
const needsDecorate = !isProfileDecorated(userDataDir, profile.name, (profile.color ?? DEFAULT_OPENCLAW_BROWSER_COLOR).toUpperCase());
|
|
1620
1620
|
const spawnOnce = () => {
|
|
1621
1621
|
const args = [
|
|
@@ -12,7 +12,7 @@ import { i as loadConfig } from "./config-B4-Vvu6M.js";
|
|
|
12
12
|
import "./client-gZv0X5tz.js";
|
|
13
13
|
import "./call-CeM4F1rK.js";
|
|
14
14
|
import "./message-channel-CZpVDeRr.js";
|
|
15
|
-
import { h as loadOpenClawPlugins } from "./subagent-registry-
|
|
15
|
+
import { h as loadOpenClawPlugins } from "./subagent-registry-2rHQ_z7c.js";
|
|
16
16
|
import "./sessions-D-LiJehh.js";
|
|
17
17
|
import "./deliver-a9TlmfSI.js";
|
|
18
18
|
import "./plugins-bX81iDy5.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-B4BZAPZh.js";
|
|
2
2
|
import "./utils-CFnnyoTP.js";
|
|
3
3
|
import "./pi-embedded-helpers-DwIwt1C1.js";
|
|
4
|
-
import { kt as loadOpenClawPlugins } from "./reply-
|
|
4
|
+
import { kt as loadOpenClawPlugins } from "./reply-D9JN_rwA.js";
|
|
5
5
|
import { t as createSubsystemLogger } from "./subsystem-azPHgTb4.js";
|
|
6
6
|
import "./exec-V7mqHC8U.js";
|
|
7
7
|
import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-aaTVOkax.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { in as getPrimaryCommand, sn as hasHelpOrVersion } from "./entry.js";
|
|
3
|
-
import { a as reparseProgramFromActionArgs, r as registerSubCliCommands } from "./register.subclis-
|
|
3
|
+
import { a as reparseProgramFromActionArgs, r as registerSubCliCommands } from "./register.subclis-CDZvm5LU.js";
|
|
4
4
|
|
|
5
5
|
//#region src/cli/program/command-registry.ts
|
|
6
6
|
var command_registry_exports = /* @__PURE__ */ __exportAll({
|
|
@@ -20,7 +20,7 @@ const coreEntries = [
|
|
|
20
20
|
description: "Setup helpers"
|
|
21
21
|
}],
|
|
22
22
|
register: async ({ program }) => {
|
|
23
|
-
(await import("./register.setup-
|
|
23
|
+
(await import("./register.setup-Bb73DdhE.js")).registerSetupCommand(program);
|
|
24
24
|
}
|
|
25
25
|
},
|
|
26
26
|
{
|
|
@@ -29,7 +29,7 @@ const coreEntries = [
|
|
|
29
29
|
description: "Onboarding helpers"
|
|
30
30
|
}],
|
|
31
31
|
register: async ({ program }) => {
|
|
32
|
-
(await import("./register.onboard-
|
|
32
|
+
(await import("./register.onboard-aCV1lrPF.js")).registerOnboardCommand(program);
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
{
|
|
@@ -38,7 +38,7 @@ const coreEntries = [
|
|
|
38
38
|
description: "Configure wizard"
|
|
39
39
|
}],
|
|
40
40
|
register: async ({ program }) => {
|
|
41
|
-
(await import("./register.configure-
|
|
41
|
+
(await import("./register.configure-Bk2X8wFI.js")).registerConfigureCommand(program);
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
{
|
|
@@ -47,7 +47,7 @@ const coreEntries = [
|
|
|
47
47
|
description: "Config helpers"
|
|
48
48
|
}],
|
|
49
49
|
register: async ({ program }) => {
|
|
50
|
-
(await import("./config-cli-
|
|
50
|
+
(await import("./config-cli-CVnBnw5y.js")).registerConfigCli(program);
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
{
|
|
@@ -70,7 +70,7 @@ const coreEntries = [
|
|
|
70
70
|
}
|
|
71
71
|
],
|
|
72
72
|
register: async ({ program }) => {
|
|
73
|
-
(await import("./register.maintenance-
|
|
73
|
+
(await import("./register.maintenance-COHaTp3w.js")).registerMaintenanceCommands(program);
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
76
|
{
|
|
@@ -79,7 +79,7 @@ const coreEntries = [
|
|
|
79
79
|
description: "Send, read, and manage messages"
|
|
80
80
|
}],
|
|
81
81
|
register: async ({ program, ctx }) => {
|
|
82
|
-
(await import("./register.message-
|
|
82
|
+
(await import("./register.message-DUrPTA8L.js")).registerMessageCommands(program, ctx);
|
|
83
83
|
}
|
|
84
84
|
},
|
|
85
85
|
{
|
|
@@ -100,7 +100,7 @@ const coreEntries = [
|
|
|
100
100
|
description: "Manage isolated agents"
|
|
101
101
|
}],
|
|
102
102
|
register: async ({ program, ctx }) => {
|
|
103
|
-
(await import("./register.agent-
|
|
103
|
+
(await import("./register.agent-BSdFQsCq.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
|
|
104
104
|
}
|
|
105
105
|
},
|
|
106
106
|
{
|
|
@@ -119,7 +119,7 @@ const coreEntries = [
|
|
|
119
119
|
}
|
|
120
120
|
],
|
|
121
121
|
register: async ({ program }) => {
|
|
122
|
-
(await import("./register.status-health-sessions-
|
|
122
|
+
(await import("./register.status-health-sessions-DLABBIKC.js")).registerStatusHealthSessionsCommands(program);
|
|
123
123
|
}
|
|
124
124
|
},
|
|
125
125
|
{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { w as detectMime } from "./image-ops-
|
|
2
|
-
import { r as sanitizeToolResultImages } from "./tool-images-
|
|
1
|
+
import { w as detectMime } from "./image-ops-7EDUjzca.js";
|
|
2
|
+
import { r as sanitizeToolResultImages } from "./tool-images-DRiKq4of.js";
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
|
|
5
5
|
//#region src/agents/tools/common.ts
|
|
@@ -2,7 +2,7 @@ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
|
2
2
|
import { g as resolveStateDir } from "./paths-B4BZAPZh.js";
|
|
3
3
|
import { g as pathExists } from "./utils-CFnnyoTP.js";
|
|
4
4
|
import { i as routeLogsToStderr } from "./subsystem-azPHgTb4.js";
|
|
5
|
-
import { i as registerCoreCliByName, o as getSubCliEntries, r as getCoreCliCommandNames, s as registerSubCliByName, t as getProgramContext } from "./program-context-
|
|
5
|
+
import { i as registerCoreCliByName, o as getSubCliEntries, r as getCoreCliCommandNames, s as registerSubCliByName, t as getProgramContext } from "./program-context-_ii-SbA0.js";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
8
8
|
import fs from "node:fs/promises";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
2
|
import { Jt as resolveStateDir, l as routeLogsToStderr, nt as pathExists } from "./entry.js";
|
|
3
|
-
import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-
|
|
4
|
-
import { n as getCoreCliCommandNames, r as registerCoreCliByName } from "./command-registry-
|
|
3
|
+
import { n as registerSubCliByName, t as getSubCliEntries } from "./register.subclis-CDZvm5LU.js";
|
|
4
|
+
import { n as getCoreCliCommandNames, r as registerCoreCliByName } from "./command-registry-BliDXGVX.js";
|
|
5
5
|
import { t as getProgramContext } from "./program-context-D2pNx-CZ.js";
|
|
6
6
|
import os from "node:os";
|
|
7
7
|
import path from "node:path";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { a as resolveOAuthDir, n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-
|
|
2
|
-
import { C as normalizeAccountId, _ as DEFAULT_AGENT_ID, g as DEFAULT_ACCOUNT_ID, w as normalizeAgentId } from "./workspace-
|
|
3
|
-
import { G as jidToE164, H as isPlainObject$2, J as resolveConfigDir, U as isRecord, X as resolveUserPath, at as info, d as defaultRuntime, h as CHANNEL_IDS, lt as success, mt as getChildLogger, x as normalizeChatChannelId } from "./exec-
|
|
4
|
-
import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-
|
|
5
|
-
import { D as parseModelRef, G as loadShellEnvFallback, J as shouldEnableShellEnvFallback, K as resolveShellEnvFallbackTimeoutMs, q as shouldDeferShellEnvFallback, z as DEFAULT_CONTEXT_TOKENS } from "./model-auth-
|
|
1
|
+
import { a as resolveOAuthDir, n as resolveConfigPath, r as resolveDefaultConfigCandidates, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CyR9Pa1R.js";
|
|
2
|
+
import { C as normalizeAccountId, _ as DEFAULT_AGENT_ID, g as DEFAULT_ACCOUNT_ID, w as normalizeAgentId } from "./workspace-LSLFINSz.js";
|
|
3
|
+
import { G as jidToE164, H as isPlainObject$2, J as resolveConfigDir, U as isRecord, X as resolveUserPath, at as info, d as defaultRuntime, h as CHANNEL_IDS, lt as success, mt as getChildLogger, x as normalizeChatChannelId } from "./exec-C9rZpEqA.js";
|
|
4
|
+
import { c as resolveDefaultAgentId, s as resolveAgentWorkspaceDir } from "./agent-scope-BIw4Bz2L.js";
|
|
5
|
+
import { D as parseModelRef, G as loadShellEnvFallback, J as shouldEnableShellEnvFallback, K as resolveShellEnvFallbackTimeoutMs, q as shouldDeferShellEnvFallback, z as DEFAULT_CONTEXT_TOKENS } from "./model-auth-BBAJ-iuC.js";
|
|
6
6
|
import { t as formatCliCommand } from "./command-format-BmTFj7S4.js";
|
|
7
7
|
import { n as MANIFEST_KEY } from "./legacy-names-BTlhTk_5.js";
|
|
8
8
|
import { createRequire } from "node:module";
|
|
9
9
|
import fs from "node:fs/promises";
|
|
10
10
|
import os from "node:os";
|
|
11
11
|
import path from "node:path";
|
|
12
|
-
import
|
|
12
|
+
import fs$1 from "node:fs";
|
|
13
13
|
import JSON5 from "json5";
|
|
14
14
|
import { isDeepStrictEqual } from "node:util";
|
|
15
15
|
import { fileURLToPath } from "node:url";
|
|
@@ -31,10 +31,10 @@ function resolveWebCredsBackupPath(authDir) {
|
|
|
31
31
|
}
|
|
32
32
|
function readCredsJsonRaw(filePath) {
|
|
33
33
|
try {
|
|
34
|
-
if (!
|
|
35
|
-
const stats =
|
|
34
|
+
if (!fs$1.existsSync(filePath)) return null;
|
|
35
|
+
const stats = fs$1.statSync(filePath);
|
|
36
36
|
if (!stats.isFile() || stats.size <= 1) return null;
|
|
37
|
-
return
|
|
37
|
+
return fs$1.readFileSync(filePath, "utf-8");
|
|
38
38
|
} catch {
|
|
39
39
|
return null;
|
|
40
40
|
}
|
|
@@ -52,9 +52,9 @@ function maybeRestoreCredsFromBackup(authDir) {
|
|
|
52
52
|
const backupRaw = readCredsJsonRaw(backupPath);
|
|
53
53
|
if (!backupRaw) return;
|
|
54
54
|
JSON.parse(backupRaw);
|
|
55
|
-
|
|
55
|
+
fs$1.copyFileSync(backupPath, credsPath);
|
|
56
56
|
try {
|
|
57
|
-
|
|
57
|
+
fs$1.chmodSync(credsPath, 384);
|
|
58
58
|
} catch {}
|
|
59
59
|
logger.warn({ credsPath }, "restored corrupted WhatsApp creds.json from backup");
|
|
60
60
|
} catch {}
|
|
@@ -110,11 +110,11 @@ async function logoutWeb(params) {
|
|
|
110
110
|
function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
|
|
111
111
|
try {
|
|
112
112
|
const credsPath = resolveWebCredsPath(resolveUserPath(authDir));
|
|
113
|
-
if (!
|
|
113
|
+
if (!fs$1.existsSync(credsPath)) return {
|
|
114
114
|
e164: null,
|
|
115
115
|
jid: null
|
|
116
116
|
};
|
|
117
|
-
const raw =
|
|
117
|
+
const raw = fs$1.readFileSync(credsPath, "utf-8");
|
|
118
118
|
const jid = JSON.parse(raw)?.me?.id ?? null;
|
|
119
119
|
return {
|
|
120
120
|
e164: jid ? jidToE164(jid, { authDir }) : null,
|
|
@@ -133,7 +133,7 @@ function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
|
|
|
133
133
|
*/
|
|
134
134
|
function getWebAuthAgeMs(authDir = resolveDefaultWebAuthDir()) {
|
|
135
135
|
try {
|
|
136
|
-
const stats =
|
|
136
|
+
const stats = fs$1.statSync(resolveWebCredsPath(resolveUserPath(authDir)));
|
|
137
137
|
return Date.now() - stats.mtimeMs;
|
|
138
138
|
} catch {
|
|
139
139
|
return null;
|
|
@@ -181,7 +181,7 @@ function resolveLegacyAuthDir() {
|
|
|
181
181
|
}
|
|
182
182
|
function legacyAuthExists(authDir) {
|
|
183
183
|
try {
|
|
184
|
-
return
|
|
184
|
+
return fs$1.existsSync(path.join(authDir, "creds.json"));
|
|
185
185
|
} catch {
|
|
186
186
|
return false;
|
|
187
187
|
}
|
|
@@ -244,7 +244,7 @@ function loadDotEnv(opts) {
|
|
|
244
244
|
const quiet = opts?.quiet ?? true;
|
|
245
245
|
dotenv.config({ quiet });
|
|
246
246
|
const globalEnvPath = path.join(resolveConfigDir(process.env), ".env");
|
|
247
|
-
if (!
|
|
247
|
+
if (!fs$1.existsSync(globalEnvPath)) return;
|
|
248
248
|
dotenv.config({
|
|
249
249
|
quiet,
|
|
250
250
|
path: globalEnvPath,
|
|
@@ -379,7 +379,7 @@ function resolveAgentMaxConcurrent(cfg) {
|
|
|
379
379
|
//#endregion
|
|
380
380
|
//#region src/config/talk.ts
|
|
381
381
|
function readTalkApiKeyFromProfile(deps = {}) {
|
|
382
|
-
const fsImpl = deps.fs ??
|
|
382
|
+
const fsImpl = deps.fs ?? fs$1;
|
|
383
383
|
const osImpl = deps.os ?? os;
|
|
384
384
|
const pathImpl = deps.path ?? path;
|
|
385
385
|
const home = osImpl.homedir();
|
|
@@ -1076,7 +1076,7 @@ var IncludeProcessor = class IncludeProcessor {
|
|
|
1076
1076
|
}
|
|
1077
1077
|
};
|
|
1078
1078
|
const defaultResolver = {
|
|
1079
|
-
readFile: (p) =>
|
|
1079
|
+
readFile: (p) => fs$1.readFileSync(p, "utf-8"),
|
|
1080
1080
|
parseJson: (raw) => JSON5.parse(raw)
|
|
1081
1081
|
};
|
|
1082
1082
|
/**
|
|
@@ -2308,13 +2308,13 @@ function resolveBundledPluginsDir() {
|
|
|
2308
2308
|
try {
|
|
2309
2309
|
const execDir = path.dirname(process.execPath);
|
|
2310
2310
|
const sibling = path.join(execDir, "extensions");
|
|
2311
|
-
if (
|
|
2311
|
+
if (fs$1.existsSync(sibling)) return sibling;
|
|
2312
2312
|
} catch {}
|
|
2313
2313
|
try {
|
|
2314
2314
|
let cursor = path.dirname(fileURLToPath(import.meta.url));
|
|
2315
2315
|
for (let i = 0; i < 6; i += 1) {
|
|
2316
2316
|
const candidate = path.join(cursor, "extensions");
|
|
2317
|
-
if (
|
|
2317
|
+
if (fs$1.existsSync(candidate)) return candidate;
|
|
2318
2318
|
const parent = path.dirname(cursor);
|
|
2319
2319
|
if (parent === cursor) break;
|
|
2320
2320
|
cursor = parent;
|
|
@@ -2333,20 +2333,20 @@ function normalizeStringList(value) {
|
|
|
2333
2333
|
function resolvePluginManifestPath(rootDir) {
|
|
2334
2334
|
for (const filename of PLUGIN_MANIFEST_FILENAMES) {
|
|
2335
2335
|
const candidate = path.join(rootDir, filename);
|
|
2336
|
-
if (
|
|
2336
|
+
if (fs$1.existsSync(candidate)) return candidate;
|
|
2337
2337
|
}
|
|
2338
2338
|
return path.join(rootDir, PLUGIN_MANIFEST_FILENAME);
|
|
2339
2339
|
}
|
|
2340
2340
|
function loadPluginManifest(rootDir) {
|
|
2341
2341
|
const manifestPath = resolvePluginManifestPath(rootDir);
|
|
2342
|
-
if (!
|
|
2342
|
+
if (!fs$1.existsSync(manifestPath)) return {
|
|
2343
2343
|
ok: false,
|
|
2344
2344
|
error: `plugin manifest not found: ${manifestPath}`,
|
|
2345
2345
|
manifestPath
|
|
2346
2346
|
};
|
|
2347
2347
|
let raw;
|
|
2348
2348
|
try {
|
|
2349
|
-
raw = JSON.parse(
|
|
2349
|
+
raw = JSON.parse(fs$1.readFileSync(manifestPath, "utf-8"));
|
|
2350
2350
|
} catch (err) {
|
|
2351
2351
|
return {
|
|
2352
2352
|
ok: false,
|
|
@@ -2419,9 +2419,9 @@ function isExtensionFile(filePath) {
|
|
|
2419
2419
|
}
|
|
2420
2420
|
function readPackageManifest(dir) {
|
|
2421
2421
|
const manifestPath = path.join(dir, "package.json");
|
|
2422
|
-
if (!
|
|
2422
|
+
if (!fs$1.existsSync(manifestPath)) return null;
|
|
2423
2423
|
try {
|
|
2424
|
-
const raw =
|
|
2424
|
+
const raw = fs$1.readFileSync(manifestPath, "utf-8");
|
|
2425
2425
|
return JSON.parse(raw);
|
|
2426
2426
|
} catch {
|
|
2427
2427
|
return null;
|
|
@@ -2459,10 +2459,10 @@ function addCandidate(params) {
|
|
|
2459
2459
|
});
|
|
2460
2460
|
}
|
|
2461
2461
|
function discoverInDirectory(params) {
|
|
2462
|
-
if (!
|
|
2462
|
+
if (!fs$1.existsSync(params.dir)) return;
|
|
2463
2463
|
let entries = [];
|
|
2464
2464
|
try {
|
|
2465
|
-
entries =
|
|
2465
|
+
entries = fs$1.readdirSync(params.dir, { withFileTypes: true });
|
|
2466
2466
|
} catch (err) {
|
|
2467
2467
|
params.diagnostics.push({
|
|
2468
2468
|
level: "warn",
|
|
@@ -2514,7 +2514,7 @@ function discoverInDirectory(params) {
|
|
|
2514
2514
|
"index.js",
|
|
2515
2515
|
"index.mjs",
|
|
2516
2516
|
"index.cjs"
|
|
2517
|
-
].map((candidate) => path.join(fullPath, candidate)).find((candidate) =>
|
|
2517
|
+
].map((candidate) => path.join(fullPath, candidate)).find((candidate) => fs$1.existsSync(candidate));
|
|
2518
2518
|
if (indexFile && isExtensionFile(indexFile)) addCandidate({
|
|
2519
2519
|
candidates: params.candidates,
|
|
2520
2520
|
seen: params.seen,
|
|
@@ -2530,7 +2530,7 @@ function discoverInDirectory(params) {
|
|
|
2530
2530
|
}
|
|
2531
2531
|
function discoverFromPath(params) {
|
|
2532
2532
|
const resolved = resolveUserPath(params.rawPath);
|
|
2533
|
-
if (!
|
|
2533
|
+
if (!fs$1.existsSync(resolved)) {
|
|
2534
2534
|
params.diagnostics.push({
|
|
2535
2535
|
level: "error",
|
|
2536
2536
|
message: `plugin path not found: ${resolved}`,
|
|
@@ -2538,7 +2538,7 @@ function discoverFromPath(params) {
|
|
|
2538
2538
|
});
|
|
2539
2539
|
return;
|
|
2540
2540
|
}
|
|
2541
|
-
const stat =
|
|
2541
|
+
const stat = fs$1.statSync(resolved);
|
|
2542
2542
|
if (stat.isFile()) {
|
|
2543
2543
|
if (!isExtensionFile(resolved)) {
|
|
2544
2544
|
params.diagnostics.push({
|
|
@@ -2588,7 +2588,7 @@ function discoverFromPath(params) {
|
|
|
2588
2588
|
"index.js",
|
|
2589
2589
|
"index.mjs",
|
|
2590
2590
|
"index.cjs"
|
|
2591
|
-
].map((candidate) => path.join(resolved, candidate)).find((candidate) =>
|
|
2591
|
+
].map((candidate) => path.join(resolved, candidate)).find((candidate) => fs$1.existsSync(candidate));
|
|
2592
2592
|
if (indexFile && isExtensionFile(indexFile)) {
|
|
2593
2593
|
addCandidate({
|
|
2594
2594
|
candidates: params.candidates,
|
|
@@ -2678,7 +2678,7 @@ function safeRealpathSync(rootDir, cache) {
|
|
|
2678
2678
|
const cached = cache.get(rootDir);
|
|
2679
2679
|
if (cached) return cached;
|
|
2680
2680
|
try {
|
|
2681
|
-
const resolved =
|
|
2681
|
+
const resolved = fs$1.realpathSync(rootDir);
|
|
2682
2682
|
cache.set(rootDir, resolved);
|
|
2683
2683
|
return resolved;
|
|
2684
2684
|
} catch {
|
|
@@ -2706,7 +2706,7 @@ function buildCacheKey(params) {
|
|
|
2706
2706
|
}
|
|
2707
2707
|
function safeStatMtimeMs(filePath) {
|
|
2708
2708
|
try {
|
|
2709
|
-
return
|
|
2709
|
+
return fs$1.statSync(filePath).mtimeMs;
|
|
2710
2710
|
} catch {
|
|
2711
2711
|
return null;
|
|
2712
2712
|
}
|
|
@@ -6059,7 +6059,7 @@ function resolveConfigPathForDeps(deps) {
|
|
|
6059
6059
|
}
|
|
6060
6060
|
function normalizeDeps(overrides = {}) {
|
|
6061
6061
|
return {
|
|
6062
|
-
fs: overrides.fs ??
|
|
6062
|
+
fs: overrides.fs ?? fs$1,
|
|
6063
6063
|
json5: overrides.json5 ?? JSON5,
|
|
6064
6064
|
env: overrides.env ?? process.env,
|
|
6065
6065
|
homedir: overrides.homedir ?? (() => resolveRequiredHomeDir(overrides.env ?? process.env, os.homedir)),
|
|
@@ -201,7 +201,7 @@ async function runConfigUnset(opts) {
|
|
|
201
201
|
}
|
|
202
202
|
function registerConfigCli(program) {
|
|
203
203
|
const cmd = program.command("config").description("Config helpers (get/set/unset). Run without subcommand for the wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.openclaw.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
|
|
204
|
-
const { configureCommandFromSectionsArg } = await import("./configure-
|
|
204
|
+
const { configureCommandFromSectionsArg } = await import("./configure-Dg3rt98q.js").then((n) => n.t);
|
|
205
205
|
await configureCommandFromSectionsArg(opts.section, defaultRuntime);
|
|
206
206
|
});
|
|
207
207
|
cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
|
|
@@ -205,7 +205,7 @@ async function runConfigUnset(opts) {
|
|
|
205
205
|
}
|
|
206
206
|
function registerConfigCli(program) {
|
|
207
207
|
const cmd = program.command("config").description("Config helpers (get/set/unset). Run without subcommand for the wizard.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.openclaw.ai/cli/config")}\n`).option("--section <section>", "Configure wizard sections (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
|
|
208
|
-
const { configureCommandFromSectionsArg } = await import("./configure-
|
|
208
|
+
const { configureCommandFromSectionsArg } = await import("./configure-DgvISeIJ.js").then((n) => n.t);
|
|
209
209
|
await configureCommandFromSectionsArg(opts.section, defaultRuntime);
|
|
210
210
|
});
|
|
211
211
|
cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
|
|
@@ -11,14 +11,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
|
|
|
11
11
|
import { t as note$1 } from "./note-Ct8WrG6i.js";
|
|
12
12
|
import { t as WizardCancelledError } from "./prompts-CVszWQps.js";
|
|
13
13
|
import { t as createClackPrompter } from "./clack-prompter-CLpC8gca.js";
|
|
14
|
-
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
14
|
+
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-yzWQkeRm.js";
|
|
15
15
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-EMOzgA87.js";
|
|
16
16
|
import { t as resolveGatewayService } from "./service-w3KJVv_J.js";
|
|
17
|
-
import { r as healthCommand } from "./health-
|
|
17
|
+
import { r as healthCommand } from "./health-BLNgO5Lg.js";
|
|
18
18
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-DTeWMjr_.js";
|
|
19
19
|
import { n as logConfigUpdated } from "./logging-DlBaGy5C.js";
|
|
20
20
|
import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-BAg1EsYm.js";
|
|
21
|
-
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-
|
|
21
|
+
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-Uz72AGbr.js";
|
|
22
22
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-D81JLquf.js";
|
|
23
23
|
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-z-KV0yCm.js";
|
|
24
24
|
import { a as promptCustomApiConfig } from "./onboard-custom-UVH5Bu2c.js";
|
|
@@ -13,14 +13,14 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
|
|
|
13
13
|
import { t as note$1 } from "./note-DHzyZ-eO.js";
|
|
14
14
|
import { t as WizardCancelledError } from "./prompts-CYK8TmAN.js";
|
|
15
15
|
import { t as createClackPrompter } from "./clack-prompter-BVIKoybI.js";
|
|
16
|
-
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-
|
|
16
|
+
import { r as setupChannels, t as noteChannelStatus } from "./onboard-channels-BxI6pALE.js";
|
|
17
17
|
import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B5iGPA1t.js";
|
|
18
18
|
import { t as resolveGatewayService } from "./service-DZTikQY3.js";
|
|
19
|
-
import { r as healthCommand } from "./health-
|
|
19
|
+
import { r as healthCommand } from "./health-5OQ86AsB.js";
|
|
20
20
|
import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BvFVs4xo.js";
|
|
21
21
|
import { n as logConfigUpdated } from "./logging-Bht-XWBM.js";
|
|
22
22
|
import { n as promptAuthChoiceGrouped } from "./auth-choice-prompt-CRtXxfkf.js";
|
|
23
|
-
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-
|
|
23
|
+
import { i as applyAuthChoice, n as resolvePreferredProviderForAuthChoice } from "./auth-choice-BL4n2N2D.js";
|
|
24
24
|
import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-Bzc93pL-.js";
|
|
25
25
|
import { a as promptDefaultModel, n as applyModelFallbacksFromSelection, o as promptModelAllowlist, r as applyPrimaryModel, t as applyModelAllowlist } from "./model-picker-CYNMrcGw.js";
|
|
26
26
|
import { a as promptCustomApiConfig } from "./onboard-custom-CMGLzLp4.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
|
|
2
|
-
import { s as resolveStateDir } from "./paths-
|
|
3
|
-
import { C as normalizeAccountId$1 } from "./workspace-
|
|
4
|
-
import { B as escapeRegExp, S as getActivePluginRegistry, l as createSubsystemLogger } from "./exec-
|
|
5
|
-
import { F as getChannelPlugin, L as normalizeChannelId } from "./image-ops-
|
|
6
|
-
import { Ct as getChannelDock, J as appendAssistantMessageToSessionTranscript, Y as resolveMirroredTranscriptText, m as isMessagingToolDuplicate } from "./pi-embedded-helpers-
|
|
7
|
-
import { c as resolveMarkdownTableMode, f as chunkMarkdownTextWithMode, g as resolveTextChunkLimit, h as resolveChunkMode, s as getAgentScopedMediaLocalRoots, u as chunkByParagraph, y as parseFenceSpans } from "./ir-
|
|
8
|
-
import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-
|
|
2
|
+
import { s as resolveStateDir } from "./paths-CyR9Pa1R.js";
|
|
3
|
+
import { C as normalizeAccountId$1 } from "./workspace-LSLFINSz.js";
|
|
4
|
+
import { B as escapeRegExp, S as getActivePluginRegistry, l as createSubsystemLogger } from "./exec-C9rZpEqA.js";
|
|
5
|
+
import { F as getChannelPlugin, L as normalizeChannelId } from "./image-ops-7EDUjzca.js";
|
|
6
|
+
import { Ct as getChannelDock, J as appendAssistantMessageToSessionTranscript, Y as resolveMirroredTranscriptText, m as isMessagingToolDuplicate } from "./pi-embedded-helpers-DHT11gwA.js";
|
|
7
|
+
import { c as resolveMarkdownTableMode, f as chunkMarkdownTextWithMode, g as resolveTextChunkLimit, h as resolveChunkMode, s as getAgentScopedMediaLocalRoots, u as chunkByParagraph, y as parseFenceSpans } from "./ir-eyTjTBlP.js";
|
|
8
|
+
import { l as markdownToSignalTextChunks, t as sendMessageSignal } from "./send-BRIcpOAj.js";
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
import
|
|
10
|
+
import fs from "node:fs";
|
|
11
11
|
import crypto from "node:crypto";
|
|
12
12
|
|
|
13
13
|
//#region src/auto-reply/tokens.ts
|
|
@@ -596,11 +596,11 @@ function resolveFailedDir(stateDir) {
|
|
|
596
596
|
/** Ensure the queue directory (and failed/ subdirectory) exist. */
|
|
597
597
|
async function ensureQueueDir(stateDir) {
|
|
598
598
|
const queueDir = resolveQueueDir(stateDir);
|
|
599
|
-
await
|
|
599
|
+
await fs.promises.mkdir(queueDir, {
|
|
600
600
|
recursive: true,
|
|
601
601
|
mode: 448
|
|
602
602
|
});
|
|
603
|
-
await
|
|
603
|
+
await fs.promises.mkdir(resolveFailedDir(stateDir), {
|
|
604
604
|
recursive: true,
|
|
605
605
|
mode: 448
|
|
606
606
|
});
|
|
@@ -628,18 +628,18 @@ async function enqueueDelivery(params, stateDir) {
|
|
|
628
628
|
const filePath = path.join(queueDir, `${id}.json`);
|
|
629
629
|
const tmp = `${filePath}.${process.pid}.tmp`;
|
|
630
630
|
const json = JSON.stringify(entry, null, 2);
|
|
631
|
-
await
|
|
631
|
+
await fs.promises.writeFile(tmp, json, {
|
|
632
632
|
encoding: "utf-8",
|
|
633
633
|
mode: 384
|
|
634
634
|
});
|
|
635
|
-
await
|
|
635
|
+
await fs.promises.rename(tmp, filePath);
|
|
636
636
|
return id;
|
|
637
637
|
}
|
|
638
638
|
/** Remove a successfully delivered entry from the queue. */
|
|
639
639
|
async function ackDelivery(id, stateDir) {
|
|
640
640
|
const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
|
|
641
641
|
try {
|
|
642
|
-
await
|
|
642
|
+
await fs.promises.unlink(filePath);
|
|
643
643
|
} catch (err) {
|
|
644
644
|
if ((err && typeof err === "object" && "code" in err ? String(err.code) : null) !== "ENOENT") throw err;
|
|
645
645
|
}
|
|
@@ -647,16 +647,16 @@ async function ackDelivery(id, stateDir) {
|
|
|
647
647
|
/** Update a queue entry after a failed delivery attempt. */
|
|
648
648
|
async function failDelivery(id, error, stateDir) {
|
|
649
649
|
const filePath = path.join(resolveQueueDir(stateDir), `${id}.json`);
|
|
650
|
-
const raw = await
|
|
650
|
+
const raw = await fs.promises.readFile(filePath, "utf-8");
|
|
651
651
|
const entry = JSON.parse(raw);
|
|
652
652
|
entry.retryCount += 1;
|
|
653
653
|
entry.lastError = error;
|
|
654
654
|
const tmp = `${filePath}.${process.pid}.tmp`;
|
|
655
|
-
await
|
|
655
|
+
await fs.promises.writeFile(tmp, JSON.stringify(entry, null, 2), {
|
|
656
656
|
encoding: "utf-8",
|
|
657
657
|
mode: 384
|
|
658
658
|
});
|
|
659
|
-
await
|
|
659
|
+
await fs.promises.rename(tmp, filePath);
|
|
660
660
|
}
|
|
661
661
|
|
|
662
662
|
//#endregion
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
function createDefaultDeps() {
|
|
3
3
|
return {
|
|
4
4
|
sendMessageWhatsApp: async (...args) => {
|
|
5
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
5
|
+
const { sendMessageWhatsApp } = await import("./web-CmgBQX8I.js");
|
|
6
6
|
return await sendMessageWhatsApp(...args);
|
|
7
7
|
},
|
|
8
8
|
sendMessageTelegram: async (...args) => {
|