openclaw-multi-auto 1.3.1 → 1.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{accounts-L9ByEpnP.js → accounts-C9HcPI9h.js} +2 -2
- package/dist/{accounts-BOzyfwW4.js → accounts-C_lW3Ag9.js} +2 -2
- package/dist/{accounts-yfBeCZtS.js → accounts-Tgelvk0C.js} +17 -17
- package/dist/{active-listener-D1yqT1cw.js → active-listener-BEdprTkn.js} +2 -2
- package/dist/{api-key-rotation-DtsNS2Nb.js → api-key-rotation-BJpKWXy0.js} +2 -2
- package/dist/{audio-preflight-DpxQCpsA.js → audio-preflight-BMvgEQ5j.js} +32 -32
- package/dist/{audio-transcription-runner-28fcRNNi.js → audio-transcription-runner-gLFfz8fr.js} +12 -12
- package/dist/{audit-membership-runtime-DWyHWAHM.js → audit-membership-runtime-Dntemq07.js} +4 -4
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +51 -51
- package/dist/bundled/bootstrap-extra-files/handler.js +6 -6
- package/dist/bundled/command-logger/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +51 -51
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-activity-xHOMiarp.js → channel-activity-BDnjYF7B.js} +3 -3
- package/dist/{chrome-DwizpzOC.js → chrome-DxxEKrY7.js} +18 -18
- package/dist/{commands-registry-V1zZ5pPC.js → commands-registry-D5qXbFJn.js} +4 -4
- package/dist/{deliver-D4o6VIur.js → deliver-DbdywYJE.js} +21 -21
- package/dist/deliver-runtime-BFs7iAZF.js +36 -0
- package/dist/deps-send-discord.runtime-DZUccI6Z.js +26 -0
- package/dist/deps-send-imessage.runtime-CF3OpoqY.js +25 -0
- package/dist/deps-send-signal.runtime-Cw4-ozeO.js +24 -0
- package/dist/deps-send-slack.runtime-BDsDhS1P.js +22 -0
- package/dist/deps-send-telegram.runtime-D_4xVasO.js +27 -0
- package/dist/deps-send-whatsapp.runtime-DK8jqd14.js +60 -0
- package/dist/{diagnostic-Bn4PZjMZ.js → diagnostic-Co6Kghr-.js} +2 -2
- package/dist/{errors-CCLeFWAg.js → errors-xt401nuk.js} +1 -1
- package/dist/{fetch-BlJWzEP6.js → fetch-DuraYswo.js} +5 -5
- package/dist/{fetch-guard-ChYBwfiy.js → fetch-guard-DWr0d00H.js} +2 -2
- package/dist/{frontmatter-CvaMP376.js → frontmatter-BkTfEZ93.js} +3 -3
- package/dist/{fs-safe-0jAo_Whb.js → fs-safe-CTYUrIgQ.js} +4 -4
- package/dist/{github-copilot-token-D13V9YBz.js → github-copilot-token-BDioPmd6.js} +7 -7
- package/dist/{image-Bbn53mzj.js → image-eT7Y-nP5.js} +6 -6
- package/dist/{image-ops-CehkHxmW.js → image-ops-BuUnEOE0.js} +2 -2
- package/dist/image-runtime-BcAK3n8a.js +29 -0
- package/dist/{ir-DAP-B-Xw.js → ir-B83looB-.js} +8 -8
- package/dist/{legacy-names-TyzbVqa_.js → legacy-names-DOC03BkU.js} +1 -1
- package/dist/llm-slug-generator.js +51 -51
- package/dist/{logger-DMZQQtxK.js → logger-BfjWMCSD.js} +7 -7
- package/dist/{login-DiCctRo1.js → login-CrIwcrVI.js} +5 -5
- package/dist/{login-qr-MUbXgjtd.js → login-qr-BpPDZdl_.js} +10 -10
- package/dist/{manager-BW_NSIMl.js → manager-1bvuGrNR.js} +13 -13
- package/dist/manager-runtime-FO1Sx3W8.js +18 -0
- package/dist/{model-selection-idoqPmw0.js → model-selection-Dna0Gz1k.js} +43 -43
- package/dist/{outbound-C2kanETZ.js → outbound-ChDjtuD6.js} +6 -6
- package/dist/{outbound-attachment-DBrYWX8h.js → outbound-attachment-DqHlD21U.js} +2 -2
- package/dist/{path-alias-guards-DqXRZmsL.js → path-alias-guards-BzvdLvTI.js} +1 -1
- package/dist/{paths-CCxysrzL.js → paths-Bkr-BCxW.js} +4 -4
- package/dist/{paths-C6TxBCvO.js → paths-Cvc9EM8Y.js} +5 -5
- package/dist/{pi-embedded-BaGj07T0.js → pi-embedded-BQQa91aA.js} +158 -158
- package/dist/{pi-embedded-helpers-wy0DZvx1.js → pi-embedded-helpers-CLXm10bV.js} +52 -52
- package/dist/{pi-model-discovery-BGgOlX8N.js → pi-model-discovery-Dymwdjt0.js} +7 -7
- package/dist/pi-model-discovery-runtime-BeY4EUPp.js +11 -0
- package/dist/{pi-tools.before-tool-call.runtime-BuLxSyx9.js → pi-tools.before-tool-call.runtime-Cwab_5W1.js} +9 -9
- package/dist/plugin-sdk/{accounts-DyFCXtHv.js → accounts-BslAlVYS.js} +2 -2
- package/dist/plugin-sdk/{accounts-BJAXxY46.js → accounts-C3m65--E.js} +2 -2
- package/dist/plugin-sdk/{accounts-C1j7HSL0.js → accounts-CNCCkdEF.js} +3 -3
- package/dist/plugin-sdk/{active-listener-CftX5jLD.js → active-listener-CkPnMUkB.js} +2 -2
- package/dist/plugin-sdk/{api-key-rotation-8nyyt1kx.js → api-key-rotation-BXnNsojA.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-C_aSAPR1.js → audio-preflight-CtO4fFvp.js} +26 -26
- package/dist/plugin-sdk/{audio-transcription-runner-CB53F7_7.js → audio-transcription-runner-DnxvOS1-.js} +11 -11
- package/dist/plugin-sdk/{audit-membership-runtime-BXndI4LG.js → audit-membership-runtime-BpfoSk8M.js} +2 -2
- package/dist/plugin-sdk/{channel-activity-C5y8AgAV.js → channel-activity-WJYxcJ3S.js} +3 -3
- package/dist/plugin-sdk/{channel-web-DBTRO03V.js → channel-web-dO5k3ubM.js} +18 -18
- package/dist/plugin-sdk/{chrome-f00sZkDX.js → chrome-CjNTuJML.js} +6 -6
- package/dist/plugin-sdk/{commands-registry-BJ_NxG2F.js → commands-registry-CdYjoI0i.js} +4 -4
- package/dist/plugin-sdk/{common-Cf27Jwxu.js → common-oYc5vPFl.js} +2 -2
- package/dist/plugin-sdk/{config-CHQrpx-Q.js → config-B1z-UxQ3.js} +7 -7
- package/dist/plugin-sdk/{deliver-DNEuetST.js → deliver-D5_6T567.js} +10 -10
- package/dist/plugin-sdk/deliver-runtime-C5dgvvga.js +32 -0
- package/dist/plugin-sdk/deps-send-discord.runtime-Dg4N7PHJ.js +23 -0
- package/dist/plugin-sdk/deps-send-imessage.runtime-0OEwzMQm.js +22 -0
- package/dist/plugin-sdk/deps-send-signal.runtime-BM1jRt3G.js +21 -0
- package/dist/plugin-sdk/deps-send-slack.runtime-1E3BYRdF.js +19 -0
- package/dist/plugin-sdk/deps-send-telegram.runtime-DNCxIflA.js +24 -0
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-OLwr-9c8.js +57 -0
- package/dist/plugin-sdk/{diagnostic-LYUUmjJ5.js → diagnostic-Bxxu0ig-.js} +2 -2
- package/dist/plugin-sdk/discord.js +6 -6
- package/dist/plugin-sdk/{errors-CtMWwS2Z.js → errors-B3cHyZZA.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-CxYB5Kg6.js → fetch-guard-Dcgod0tg.js} +2 -2
- package/dist/plugin-sdk/{fs-safe-DtfhxbrI.js → fs-safe-BaKqI3G4.js} +3 -3
- package/dist/plugin-sdk/{image-BwjYjRHx.js → image-B2mQW9Rb.js} +6 -6
- package/dist/plugin-sdk/{image-ops-BnZKcbd6.js → image-ops-Cbzr4U9l.js} +2 -2
- package/dist/plugin-sdk/image-runtime-BFm45j49.js +25 -0
- package/dist/plugin-sdk/{ir-Z4hX67TJ.js → ir-ZEmrTr4J.js} +7 -7
- package/dist/plugin-sdk/{local-roots-KhjQw04O.js → local-roots-CIPRxA-4.js} +4 -4
- package/dist/plugin-sdk/{logger-DHIIvMxj.js → logger-CvPFVOgT.js} +2 -2
- package/dist/plugin-sdk/{login-C31642Ld.js → login-CCTew9bt.js} +4 -4
- package/dist/plugin-sdk/{login-qr--y2SG_Ue.js → login-qr-BI3Vi_wJ.js} +5 -5
- package/dist/plugin-sdk/{manager-2UZBMCc7.js → manager-BEoYPn7R.js} +8 -8
- package/dist/plugin-sdk/manager-runtime-DxclHQ4U.js +15 -0
- package/dist/plugin-sdk/mattermost.js +3 -3
- package/dist/plugin-sdk/{outbound-Ba0QUI5h.js → outbound-ByOw1K6W.js} +5 -5
- package/dist/plugin-sdk/{outbound-attachment-B1Laso-8.js → outbound-attachment-BzVhxRRw.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-C7Vm5DZ1.js → path-alias-guards-sWayacde.js} +1 -1
- package/dist/plugin-sdk/{paths-DopV9PQG.js → paths-Dpg3qxcl.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-DnA_OCzP.js → pi-embedded-helpers-DIxXkGJf.js} +16 -16
- package/dist/plugin-sdk/{pi-model-discovery-DdPqXk8f.js → pi-model-discovery-DM_2uFtj.js} +1 -1
- package/dist/plugin-sdk/pi-model-discovery-runtime-BuzvkvNR.js +8 -0
- package/dist/plugin-sdk/{pi-tools.before-tool-call.runtime-DxFHiLUE.js → pi-tools.before-tool-call.runtime-w1dqL_ty.js} +4 -4
- package/dist/plugin-sdk/{plugins-CbCt4osF.js → plugins-C4USiH29.js} +4 -4
- package/dist/plugin-sdk/{proxy-env-C63mMdas.js → proxy-env-ET-rp8eg.js} +1 -1
- package/dist/{proxy-fetch-CCjEYbFm.js → plugin-sdk/proxy-fetch-uDXGKG3Z.js} +1 -1
- package/dist/plugin-sdk/{pw-ai-DpJk62D4.js → pw-ai-CyOt3RDA.js} +9 -9
- package/dist/plugin-sdk/{qmd-manager-Ca-iSfEE.js → qmd-manager-BySdoVR7.js} +7 -7
- package/dist/plugin-sdk/{query-expansion-B_Xe41Ab.js → query-expansion-C6uS-7lj.js} +4 -4
- package/dist/plugin-sdk/{redact-hp9TOulW.js → redact-Bvxt1T_Q.js} +1 -1
- package/dist/plugin-sdk/{reply-CovBlFea.js → reply-CTCSeQqW.js} +73 -73
- package/dist/plugin-sdk/{resolve-outbound-target-BbrHgyUk.js → resolve-outbound-target-Bw8YNANu.js} +2 -2
- package/dist/plugin-sdk/{run-with-concurrency-BR1DXa8T.js → run-with-concurrency-C_KCHwvf.js} +1 -1
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-BxgRDkhc.js +10 -0
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-elOqrkfg.js +19 -0
- package/dist/plugin-sdk/{send-BvAtLLPl.js → send-BZ6nYFZr.js} +5 -5
- package/dist/plugin-sdk/{send-BTztm3D2.js → send-C0w6xP2x.js} +6 -6
- package/dist/plugin-sdk/{send-CWJUuG0i.js → send-CFf-1V89.js} +8 -8
- package/dist/plugin-sdk/{send-EcglC4cG.js → send-CY-Qfwia.js} +7 -7
- package/dist/plugin-sdk/{send-BXpXBwM_.js → send-qPyNGSe4.js} +13 -13
- package/dist/plugin-sdk/{session-k256LJZT.js → session-COrvpvUQ.js} +3 -3
- package/dist/plugin-sdk/{skill-commands-DoRqLzxm.js → skill-commands-DZqhtmiv.js} +4 -4
- package/dist/plugin-sdk/{skills-QudILG6e.js → skills-Cw_vXEJb.js} +6 -6
- package/dist/plugin-sdk/slash-commands.runtime-D67JLweo.js +13 -0
- package/dist/plugin-sdk/slash-dispatch.runtime-DvcpvCJ0.js +52 -0
- package/dist/plugin-sdk/slash-skill-commands.runtime-BM1x3azR.js +16 -0
- package/dist/plugin-sdk/{store-BbDQw3g6.js → store-CMHj6IIw.js} +2 -2
- package/dist/plugin-sdk/subagent-registry-runtime-1lbDyRzz.js +52 -0
- package/dist/plugin-sdk/{tables-BhvloMKN.js → tables-CSqrHsKL.js} +1 -1
- package/dist/plugin-sdk/{thinking-URzkT-3p.js → thinking-DOnsR_A8.js} +7 -7
- package/dist/plugin-sdk/{tokens-B1PW5Ayy.js → tokens-BDr0Z9o3.js} +1 -1
- package/dist/plugin-sdk/{tool-images-xpqbP6RR.js → tool-images-eEfOVkzf.js} +2 -2
- package/dist/plugin-sdk/web-BLyT64pW.js +56 -0
- package/dist/plugin-sdk/{whatsapp-actions-RcZ6vp61.js → whatsapp-actions-xcleMoMv.js} +17 -17
- package/dist/plugin-sdk/whatsapp.js +50 -50
- package/dist/{plugins-CWkRQYDj.js → plugins-4Rj4OjLY.js} +11 -11
- package/dist/{proxy-env-Cq5gdrbj.js → proxy-env-DlmzDx8x.js} +1 -1
- package/dist/{plugin-sdk/proxy-fetch-Ch95c_Y2.js → proxy-fetch-B2pEfjbR.js} +1 -1
- package/dist/{pw-ai-Cl1Lc7RC.js → pw-ai-DNMjFMqH.js} +14 -14
- package/dist/{qmd-manager-BsYsO9Ii.js → qmd-manager-BtIKUaO9.js} +10 -10
- package/dist/{query-expansion-DtLc3wjL.js → query-expansion-CX-1fS52.js} +6 -6
- package/dist/{redact-ClbcYG1J.js → redact-COik8ET1.js} +1 -1
- package/dist/{run-with-concurrency-D_ZpbgEG.js → run-with-concurrency-BgYfgkXT.js} +4 -4
- package/dist/runtime-whatsapp-login.runtime-DUb55byQ.js +13 -0
- package/dist/runtime-whatsapp-outbound.runtime-Bii_xSfI.js +22 -0
- package/dist/{send-Dx2RkUOZ.js → send-6lz6rNVP.js} +6 -6
- package/dist/{send-vmONuVgL.js → send-BHTiZcH3.js} +26 -26
- package/dist/{send-Bj776ESJ.js → send-L7gRiwyd.js} +7 -7
- package/dist/{send-DcxmcFi_.js → send-PE6cwoTe.js} +8 -8
- package/dist/{send-BQERFNyo.js → send-dfu6_rgf.js} +5 -5
- package/dist/{session-A4QhBRvH.js → session-D8ImowSs.js} +8 -8
- package/dist/{skill-commands-CMzBZKG2.js → skill-commands-DNqJ-kwn.js} +9 -9
- package/dist/{skills-CE_iqvM5.js → skills-7ODkHQYp.js} +22 -22
- package/dist/slash-commands.runtime-CVw6566g.js +16 -0
- package/dist/slash-dispatch.runtime-B9Ygtzi4.js +56 -0
- package/dist/slash-skill-commands.runtime-DxZ4z5h6.js +20 -0
- package/dist/{store--eR1R_UX.js → store-D89wDcz9.js} +2 -2
- package/dist/subagent-registry-runtime-DL1Wv7nA.js +56 -0
- package/dist/{subsystem-Di1z8l0Z.js → subsystem-B45WV3qB.js} +14 -14
- package/dist/{tables-d739Y1xW.js → tables-mE4cJBN2.js} +1 -1
- package/dist/{target-errors-CBI2Ga0y.js → target-errors-mnlwhAjP.js} +2 -2
- package/dist/{thinking-DXYisHiZ.js → thinking-BeGmb5k6.js} +7 -7
- package/dist/{tokens-DxnY9ui_.js → tokens-q32vI39c.js} +1 -1
- package/dist/{tool-images-2cBx1W8h.js → tool-images-RZdHiZcG.js} +2 -2
- package/dist/{web-CzWRVmFt.js → web-Btj-e8kN.js} +55 -55
- package/dist/{whatsapp-actions-iEArE_Ez.js → whatsapp-actions-BHbJJyqw.js} +21 -21
- package/dist/{workspace-CUVC6GX1.js → workspace-U-DyR64O.js} +20 -20
- package/extensions/googlechat/node_modules/.bin/openclaw +2 -2
- package/extensions/memory-core/node_modules/.bin/openclaw +2 -2
- package/package.json +5 -7
- package/scripts/npm_publish.sh +32 -16
- package/vendor/libsignal-node/node_modules/.bin/acorn +21 -0
- package/vendor/libsignal-node/node_modules/.bin/eslint +21 -0
- package/vendor/libsignal-node/node_modules/.bin/pbjs +21 -0
- package/vendor/libsignal-node/node_modules/.bin/pbts +21 -0
- package/dist/deliver-runtime-P-G3bPjW.js +0 -36
- package/dist/deps-send-discord.runtime-DnbhTFX9.js +0 -26
- package/dist/deps-send-imessage.runtime-BOiQ6mDx.js +0 -25
- package/dist/deps-send-signal.runtime-CTcl388M.js +0 -24
- package/dist/deps-send-slack.runtime-CCqBz4Kg.js +0 -22
- package/dist/deps-send-telegram.runtime-DGSKTCpH.js +0 -27
- package/dist/deps-send-whatsapp.runtime-CJkTHkah.js +0 -60
- package/dist/image-runtime-CVv2ra9J.js +0 -29
- package/dist/manager-runtime-BN6VevdC.js +0 -18
- package/dist/pi-model-discovery-runtime-Bwmi4Ev8.js +0 -11
- package/dist/plugin-sdk/deliver-runtime-BFdqklJM.js +0 -32
- package/dist/plugin-sdk/deps-send-discord.runtime-DuqpYwU0.js +0 -23
- package/dist/plugin-sdk/deps-send-imessage.runtime-CZ2rS8Lb.js +0 -22
- package/dist/plugin-sdk/deps-send-signal.runtime-BdqiWhIh.js +0 -21
- package/dist/plugin-sdk/deps-send-slack.runtime-04s36qiC.js +0 -19
- package/dist/plugin-sdk/deps-send-telegram.runtime-LE5tkPvr.js +0 -24
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-Bz57lobC.js +0 -57
- package/dist/plugin-sdk/image-runtime-B8twoubs.js +0 -25
- package/dist/plugin-sdk/manager-runtime-CMeLwose.js +0 -15
- package/dist/plugin-sdk/pi-model-discovery-runtime-D8CJhtJY.js +0 -8
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-SkO91TZH.js +0 -10
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-B0VWK5hm.js +0 -19
- package/dist/plugin-sdk/slash-commands.runtime-DS6vCNSL.js +0 -13
- package/dist/plugin-sdk/slash-dispatch.runtime-BXrxb2wd.js +0 -52
- package/dist/plugin-sdk/slash-skill-commands.runtime-Bd6qQ2oT.js +0 -16
- package/dist/plugin-sdk/subagent-registry-runtime-1uwQbuXj.js +0 -52
- package/dist/plugin-sdk/web-B74yhL2N.js +0 -56
- package/dist/runtime-whatsapp-login.runtime-IeylZEl4.js +0 -13
- package/dist/runtime-whatsapp-outbound.runtime-ClBRuLsq.js +0 -22
- package/dist/slash-commands.runtime-Cpn2tYW4.js +0 -16
- package/dist/slash-dispatch.runtime-DoBAQBU5.js +0 -56
- package/dist/slash-skill-commands.runtime-DKMvvdDW.js +0 -20
- package/dist/subagent-registry-runtime-ppWS3tVu.js +0 -56
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { r as resolveConfigPath } from "./paths-
|
|
1
|
+
import { r as resolveConfigPath } from "./paths-Cvc9EM8Y.js";
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import
|
|
4
|
+
import fs from "node:fs";
|
|
5
5
|
import chalk, { Chalk } from "chalk";
|
|
6
6
|
import { Logger } from "tslog";
|
|
7
7
|
import JSON5 from "json5";
|
|
@@ -54,15 +54,15 @@ function getCommandPathInternal(argv, depth, opts) {
|
|
|
54
54
|
//#endregion
|
|
55
55
|
//#region src/infra/tmp-openclaw-dir.ts
|
|
56
56
|
const POSIX_OPENCLAW_TMP_DIR = process.env.OPENCLAW_TMP_DIR ?? "/tmp/openclaw";
|
|
57
|
-
const TMP_DIR_ACCESS_MODE =
|
|
57
|
+
const TMP_DIR_ACCESS_MODE = fs.constants.W_OK | fs.constants.X_OK;
|
|
58
58
|
function isNodeErrorWithCode(err, code) {
|
|
59
59
|
return typeof err === "object" && err !== null && "code" in err && err.code === code;
|
|
60
60
|
}
|
|
61
61
|
function resolvePreferredOpenClawTmpDir(options = {}) {
|
|
62
|
-
const accessSync = options.accessSync ??
|
|
63
|
-
const chmodSync = options.chmodSync ??
|
|
64
|
-
const lstatSync = options.lstatSync ??
|
|
65
|
-
const mkdirSync = options.mkdirSync ??
|
|
62
|
+
const accessSync = options.accessSync ?? fs.accessSync;
|
|
63
|
+
const chmodSync = options.chmodSync ?? fs.chmodSync;
|
|
64
|
+
const lstatSync = options.lstatSync ?? fs.lstatSync;
|
|
65
|
+
const mkdirSync = options.mkdirSync ?? fs.mkdirSync;
|
|
66
66
|
const warn = options.warn ?? ((message) => console.warn(message));
|
|
67
67
|
const getuid = options.getuid ?? (() => {
|
|
68
68
|
try {
|
|
@@ -155,8 +155,8 @@ function resolvePreferredOpenClawTmpDir(options = {}) {
|
|
|
155
155
|
function readLoggingConfig() {
|
|
156
156
|
const configPath = resolveConfigPath();
|
|
157
157
|
try {
|
|
158
|
-
if (!
|
|
159
|
-
const raw =
|
|
158
|
+
if (!fs.existsSync(configPath)) return;
|
|
159
|
+
const raw = fs.readFileSync(configPath, "utf-8");
|
|
160
160
|
const logging = JSON5.parse(raw)?.logging;
|
|
161
161
|
if (!logging || typeof logging !== "object" || Array.isArray(logging)) return;
|
|
162
162
|
return logging;
|
|
@@ -344,7 +344,7 @@ function buildLogger(settings) {
|
|
|
344
344
|
for (const transport of externalTransports) attachExternalTransport(logger, transport);
|
|
345
345
|
return logger;
|
|
346
346
|
}
|
|
347
|
-
|
|
347
|
+
fs.mkdirSync(path.dirname(settings.file), { recursive: true });
|
|
348
348
|
if (isRollingPath(settings.file)) pruneOldRollingLogs(path.dirname(settings.file));
|
|
349
349
|
let currentFileBytes = getCurrentLogFileBytes(settings.file);
|
|
350
350
|
let warnedAboutSizeCap = false;
|
|
@@ -383,14 +383,14 @@ function resolveMaxLogFileBytes(raw) {
|
|
|
383
383
|
}
|
|
384
384
|
function getCurrentLogFileBytes(file) {
|
|
385
385
|
try {
|
|
386
|
-
return
|
|
386
|
+
return fs.statSync(file).size;
|
|
387
387
|
} catch {
|
|
388
388
|
return 0;
|
|
389
389
|
}
|
|
390
390
|
}
|
|
391
391
|
function appendLogLine(file, line) {
|
|
392
392
|
try {
|
|
393
|
-
|
|
393
|
+
fs.appendFileSync(file, line, { encoding: "utf8" });
|
|
394
394
|
return true;
|
|
395
395
|
} catch {
|
|
396
396
|
return false;
|
|
@@ -442,14 +442,14 @@ function isRollingPath(file) {
|
|
|
442
442
|
}
|
|
443
443
|
function pruneOldRollingLogs(dir) {
|
|
444
444
|
try {
|
|
445
|
-
const entries =
|
|
445
|
+
const entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
446
446
|
const cutoff = Date.now() - MAX_LOG_AGE_MS;
|
|
447
447
|
for (const entry of entries) {
|
|
448
448
|
if (!entry.isFile()) continue;
|
|
449
449
|
if (!entry.name.startsWith(`${LOG_PREFIX}-`) || !entry.name.endsWith(LOG_SUFFIX)) continue;
|
|
450
450
|
const fullPath = path.join(dir, entry.name);
|
|
451
451
|
try {
|
|
452
|
-
if (
|
|
452
|
+
if (fs.statSync(fullPath).mtimeMs < cutoff) fs.rmSync(fullPath, { force: true });
|
|
453
453
|
} catch {}
|
|
454
454
|
}
|
|
455
455
|
} catch {}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { b as detectMime } from "./image-ops-
|
|
2
|
-
import { r as sanitizeToolResultImages } from "./tool-images-
|
|
1
|
+
import { b as detectMime } from "./image-ops-BuUnEOE0.js";
|
|
2
|
+
import { r as sanitizeToolResultImages } from "./tool-images-RZdHiZcG.js";
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
|
|
5
5
|
//#region src/agents/tools/common.ts
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { G as normalizeAccountId } from "./workspace-
|
|
2
|
-
import { h as normalizeE164, u as escapeRegExp } from "./logger-
|
|
3
|
-
import { Ht as CHAT_CHANNEL_ORDER, Ut as getChatChannelMeta, Zt as requireActivePluginRegistry } from "./model-selection-
|
|
4
|
-
import { a as normalizeWhatsAppTarget, b as resolveDiscordAccount, l as resolveTelegramAccount, m as resolveSlackReplyToMode, p as resolveSlackAccount } from "./plugins-
|
|
5
|
-
import { h as resolveAccountEntry, n as resolveWhatsAppAccount } from "./accounts-
|
|
6
|
-
import { n as resolveSignalAccount } from "./accounts-
|
|
7
|
-
import { t as resolveIMessageAccount } from "./accounts-
|
|
1
|
+
import { G as normalizeAccountId } from "./workspace-U-DyR64O.js";
|
|
2
|
+
import { h as normalizeE164, u as escapeRegExp } from "./logger-BfjWMCSD.js";
|
|
3
|
+
import { Ht as CHAT_CHANNEL_ORDER, Ut as getChatChannelMeta, Zt as requireActivePluginRegistry } from "./model-selection-Dna0Gz1k.js";
|
|
4
|
+
import { a as normalizeWhatsAppTarget, b as resolveDiscordAccount, l as resolveTelegramAccount, m as resolveSlackReplyToMode, p as resolveSlackAccount } from "./plugins-4Rj4OjLY.js";
|
|
5
|
+
import { h as resolveAccountEntry, n as resolveWhatsAppAccount } from "./accounts-Tgelvk0C.js";
|
|
6
|
+
import { n as resolveSignalAccount } from "./accounts-C9HcPI9h.js";
|
|
7
|
+
import { t as resolveIMessageAccount } from "./accounts-C_lW3Ag9.js";
|
|
8
8
|
|
|
9
9
|
//#region src/config/types.tools.ts
|
|
10
10
|
const TOOLS_BY_SENDER_KEY_TYPES = [
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as createSubsystemLogger } from "./subsystem-
|
|
2
|
-
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-
|
|
1
|
+
import { t as createSubsystemLogger } from "./subsystem-B45WV3qB.js";
|
|
2
|
+
import { i as getImageMetadata, n as buildImageResizeSideGrid, s as resizeToJpeg, t as IMAGE_REDUCE_QUALITY_STEPS } from "./image-ops-BuUnEOE0.js";
|
|
3
3
|
|
|
4
4
|
//#region src/media/base64.ts
|
|
5
5
|
function estimateBase64DecodedBytes(base64) {
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
import "./run-with-concurrency-
|
|
2
|
-
import "./paths-
|
|
3
|
-
import { i as defaultRuntime, p as shouldLogVerbose, t as createSubsystemLogger, u as logVerbose, y as getChildLogger } from "./subsystem-
|
|
4
|
-
import { F as buildGroupHistoryKey, M as DEFAULT_MAIN_KEY, N as buildAgentMainSessionKey, R as normalizeAgentId } from "./workspace-
|
|
5
|
-
import { C as sleep, T as toWhatsappJid, h as normalizeE164, m as jidToE164, o as clamp, p as isSelfChatMode, v as resolveJidToE164 } from "./logger-
|
|
6
|
-
import { X as loadConfig, lr as formatCliCommand } from "./model-selection-
|
|
7
|
-
import "./github-copilot-token-
|
|
8
|
-
import "./legacy-names-
|
|
9
|
-
import { h as resolveChannelGroupRequireMention, m as resolveChannelGroupPolicy } from "./thinking-
|
|
10
|
-
import "./tokens-
|
|
11
|
-
import { A as normalizeGroupActivation, B as normalizeMentionText, C as createInboundDebouncer, D as getReplyFromConfig, E as createDedupeCache, F as enqueueSystemEvent, I as finalizeInboundContext, K as resolveIdentityNamePrefix, L as hasControlCommand, M as computeBackoff, N as sleepWithAbort, O as buildAgentSessionKey, P as formatDurationPrecise, R as shouldComputeCommandAuthorized, T as formatInboundEnvelope, _ as resolveDmGroupAccessWithCommandGate, b as shouldAckReactionForWhatsApp, c as buildPairingReply, d as buildHistoryContextFromEntries, f as recordPendingHistoryEntryIfEnabled, g as readStoreAllowFromForDmPolicy, h as warnMissingProviderGroupPolicyFallbackOnce, i as resolveInboundSessionEnvelopeContext, j as parseActivationCommand, k as resolveAgentRoute, l as resolveMentionGating, m as resolveOpenProviderRuntimeGroupPolicy, p as resolveDefaultGroupPolicy, q as resolveMessagePrefix, s as createReplyPrefixOptions, u as DEFAULT_GROUP_HISTORY_LIMIT, v as resolveDmGroupAccessWithLists, w as resolveInboundDebounceMs, x as dispatchReplyWithBufferedBlockDispatcher, y as resolvePinnedMainDmOwnerFromAllowlist, z as buildMentionRegexes } from "./pi-embedded-
|
|
12
|
-
import "./plugins-
|
|
13
|
-
import { a as logWebSelfId, c as pickWebChannel, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, r as WA_WEB_AUTH_DIR, u as readWebSelfId } from "./accounts-
|
|
14
|
-
import "./send-
|
|
15
|
-
import "./send-
|
|
16
|
-
import "./deliver-
|
|
17
|
-
import "./diagnostic-
|
|
18
|
-
import "./accounts-
|
|
19
|
-
import "./image-ops-
|
|
20
|
-
import { X as toLocationContext, Y as formatLocationText, et as upsertChannelPairingRequest } from "./send-
|
|
21
|
-
import "./pi-model-discovery-
|
|
22
|
-
import { At as resolveGroupSessionKey, K as recordSessionMetaFromInbound, W as loadSessionStore, q as updateLastRoute } from "./pi-embedded-helpers-
|
|
23
|
-
import "./chrome-
|
|
24
|
-
import "./frontmatter-
|
|
25
|
-
import "./skills-
|
|
26
|
-
import "./path-alias-guards-
|
|
27
|
-
import "./redact-
|
|
28
|
-
import "./errors-
|
|
29
|
-
import "./fs-safe-
|
|
30
|
-
import "./proxy-env-
|
|
31
|
-
import { i as saveMediaBuffer } from "./store
|
|
32
|
-
import "./accounts-
|
|
33
|
-
import { s as resolveStorePath } from "./paths-
|
|
34
|
-
import "./tool-images-
|
|
35
|
-
import "./image-
|
|
36
|
-
import { h as registerUnhandledRejectionHandler } from "./audio-transcription-runner-
|
|
37
|
-
import { i as getAgentScopedMediaLocalRoots } from "./fetch-
|
|
38
|
-
import "./fetch-guard-
|
|
39
|
-
import "./api-key-rotation-
|
|
40
|
-
import "./proxy-fetch-
|
|
41
|
-
import { a as loadWebMedia, d as chunkMarkdownTextWithMode, h as resolveTextChunkLimit, m as resolveChunkMode, s as resolveMarkdownTableMode } from "./ir-
|
|
1
|
+
import "./run-with-concurrency-BgYfgkXT.js";
|
|
2
|
+
import "./paths-Cvc9EM8Y.js";
|
|
3
|
+
import { i as defaultRuntime, p as shouldLogVerbose, t as createSubsystemLogger, u as logVerbose, y as getChildLogger } from "./subsystem-B45WV3qB.js";
|
|
4
|
+
import { F as buildGroupHistoryKey, M as DEFAULT_MAIN_KEY, N as buildAgentMainSessionKey, R as normalizeAgentId } from "./workspace-U-DyR64O.js";
|
|
5
|
+
import { C as sleep, T as toWhatsappJid, h as normalizeE164, m as jidToE164, o as clamp, p as isSelfChatMode, v as resolveJidToE164 } from "./logger-BfjWMCSD.js";
|
|
6
|
+
import { X as loadConfig, lr as formatCliCommand } from "./model-selection-Dna0Gz1k.js";
|
|
7
|
+
import "./github-copilot-token-BDioPmd6.js";
|
|
8
|
+
import "./legacy-names-DOC03BkU.js";
|
|
9
|
+
import { h as resolveChannelGroupRequireMention, m as resolveChannelGroupPolicy } from "./thinking-BeGmb5k6.js";
|
|
10
|
+
import "./tokens-q32vI39c.js";
|
|
11
|
+
import { A as normalizeGroupActivation, B as normalizeMentionText, C as createInboundDebouncer, D as getReplyFromConfig, E as createDedupeCache, F as enqueueSystemEvent, I as finalizeInboundContext, K as resolveIdentityNamePrefix, L as hasControlCommand, M as computeBackoff, N as sleepWithAbort, O as buildAgentSessionKey, P as formatDurationPrecise, R as shouldComputeCommandAuthorized, T as formatInboundEnvelope, _ as resolveDmGroupAccessWithCommandGate, b as shouldAckReactionForWhatsApp, c as buildPairingReply, d as buildHistoryContextFromEntries, f as recordPendingHistoryEntryIfEnabled, g as readStoreAllowFromForDmPolicy, h as warnMissingProviderGroupPolicyFallbackOnce, i as resolveInboundSessionEnvelopeContext, j as parseActivationCommand, k as resolveAgentRoute, l as resolveMentionGating, m as resolveOpenProviderRuntimeGroupPolicy, p as resolveDefaultGroupPolicy, q as resolveMessagePrefix, s as createReplyPrefixOptions, u as DEFAULT_GROUP_HISTORY_LIMIT, v as resolveDmGroupAccessWithLists, w as resolveInboundDebounceMs, x as dispatchReplyWithBufferedBlockDispatcher, y as resolvePinnedMainDmOwnerFromAllowlist, z as buildMentionRegexes } from "./pi-embedded-BQQa91aA.js";
|
|
12
|
+
import "./plugins-4Rj4OjLY.js";
|
|
13
|
+
import { a as logWebSelfId, c as pickWebChannel, i as getWebAuthAgeMs, m as webAuthExists, n as resolveWhatsAppAccount, r as WA_WEB_AUTH_DIR, u as readWebSelfId } from "./accounts-Tgelvk0C.js";
|
|
14
|
+
import "./send-6lz6rNVP.js";
|
|
15
|
+
import "./send-PE6cwoTe.js";
|
|
16
|
+
import "./deliver-DbdywYJE.js";
|
|
17
|
+
import "./diagnostic-Co6Kghr-.js";
|
|
18
|
+
import "./accounts-C9HcPI9h.js";
|
|
19
|
+
import "./image-ops-BuUnEOE0.js";
|
|
20
|
+
import { X as toLocationContext, Y as formatLocationText, et as upsertChannelPairingRequest } from "./send-BHTiZcH3.js";
|
|
21
|
+
import "./pi-model-discovery-Dymwdjt0.js";
|
|
22
|
+
import { At as resolveGroupSessionKey, K as recordSessionMetaFromInbound, W as loadSessionStore, q as updateLastRoute } from "./pi-embedded-helpers-CLXm10bV.js";
|
|
23
|
+
import "./chrome-DxxEKrY7.js";
|
|
24
|
+
import "./frontmatter-BkTfEZ93.js";
|
|
25
|
+
import "./skills-7ODkHQYp.js";
|
|
26
|
+
import "./path-alias-guards-BzvdLvTI.js";
|
|
27
|
+
import "./redact-COik8ET1.js";
|
|
28
|
+
import "./errors-xt401nuk.js";
|
|
29
|
+
import "./fs-safe-CTYUrIgQ.js";
|
|
30
|
+
import "./proxy-env-DlmzDx8x.js";
|
|
31
|
+
import { i as saveMediaBuffer } from "./store-D89wDcz9.js";
|
|
32
|
+
import "./accounts-C_lW3Ag9.js";
|
|
33
|
+
import { s as resolveStorePath } from "./paths-Bkr-BCxW.js";
|
|
34
|
+
import "./tool-images-RZdHiZcG.js";
|
|
35
|
+
import "./image-eT7Y-nP5.js";
|
|
36
|
+
import { h as registerUnhandledRejectionHandler } from "./audio-transcription-runner-gLFfz8fr.js";
|
|
37
|
+
import { i as getAgentScopedMediaLocalRoots } from "./fetch-DuraYswo.js";
|
|
38
|
+
import "./fetch-guard-DWr0d00H.js";
|
|
39
|
+
import "./api-key-rotation-BJpKWXy0.js";
|
|
40
|
+
import "./proxy-fetch-B2pEfjbR.js";
|
|
41
|
+
import { a as loadWebMedia, d as chunkMarkdownTextWithMode, h as resolveTextChunkLimit, m as resolveChunkMode, s as resolveMarkdownTableMode } from "./ir-B83looB-.js";
|
|
42
42
|
import "./render-DW7AcFdD.js";
|
|
43
|
-
import "./target-errors-
|
|
44
|
-
import "./commands-registry-
|
|
45
|
-
import "./skill-commands-
|
|
43
|
+
import "./target-errors-mnlwhAjP.js";
|
|
44
|
+
import "./commands-registry-D5qXbFJn.js";
|
|
45
|
+
import "./skill-commands-DNqJ-kwn.js";
|
|
46
46
|
import "./fetch-BfuG8uZ8.js";
|
|
47
|
-
import { n as recordChannelActivity } from "./channel-activity-
|
|
48
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
49
|
-
import "./send-
|
|
50
|
-
import "./outbound-attachment-
|
|
51
|
-
import "./send-
|
|
52
|
-
import { r as setActiveWebListener } from "./active-listener-
|
|
47
|
+
import { n as recordChannelActivity } from "./channel-activity-BDnjYF7B.js";
|
|
48
|
+
import { t as convertMarkdownTables } from "./tables-mE4cJBN2.js";
|
|
49
|
+
import "./send-dfu6_rgf.js";
|
|
50
|
+
import "./outbound-attachment-DqHlD21U.js";
|
|
51
|
+
import "./send-L7gRiwyd.js";
|
|
52
|
+
import { r as setActiveWebListener } from "./active-listener-BEdprTkn.js";
|
|
53
53
|
import "./proxy-CecQTx_Z.js";
|
|
54
|
-
import "./manager-
|
|
55
|
-
import "./query-expansion-
|
|
56
|
-
import { i as markdownToWhatsApp, r as sendReactionWhatsApp, t as sendMessageWhatsApp } from "./outbound-
|
|
57
|
-
import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-
|
|
58
|
-
import { t as loginWeb } from "./login-
|
|
54
|
+
import "./manager-1bvuGrNR.js";
|
|
55
|
+
import "./query-expansion-CX-1fS52.js";
|
|
56
|
+
import { i as markdownToWhatsApp, r as sendReactionWhatsApp, t as sendMessageWhatsApp } from "./outbound-ChDjtuD6.js";
|
|
57
|
+
import { i as waitForWaConnection, n as formatError, r as getStatusCode, t as createWaSocket } from "./session-D8ImowSs.js";
|
|
58
|
+
import { t as loginWeb } from "./login-CrIwcrVI.js";
|
|
59
59
|
import { randomUUID } from "node:crypto";
|
|
60
60
|
import { DisconnectReason, downloadMediaMessage, extractMessageContent, getContentType, isJidGroup, normalizeMessageContent } from "@whiskeysockets/baileys";
|
|
61
61
|
|
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import "./run-with-concurrency-
|
|
2
|
-
import "./paths-
|
|
3
|
-
import "./subsystem-
|
|
4
|
-
import "./workspace-
|
|
5
|
-
import "./logger-
|
|
6
|
-
import "./model-selection-
|
|
7
|
-
import "./github-copilot-token-
|
|
8
|
-
import "./legacy-names-
|
|
9
|
-
import { a as normalizeWhatsAppTarget, i as isWhatsAppGroupJid } from "./plugins-
|
|
10
|
-
import { n as resolveWhatsAppAccount } from "./accounts-
|
|
11
|
-
import "./image-ops-
|
|
12
|
-
import "./path-alias-guards-
|
|
13
|
-
import "./fs-safe-
|
|
14
|
-
import "./proxy-env-
|
|
15
|
-
import "./tool-images-
|
|
16
|
-
import "./fetch-
|
|
17
|
-
import "./fetch-guard-
|
|
18
|
-
import "./ir-
|
|
1
|
+
import "./run-with-concurrency-BgYfgkXT.js";
|
|
2
|
+
import "./paths-Cvc9EM8Y.js";
|
|
3
|
+
import "./subsystem-B45WV3qB.js";
|
|
4
|
+
import "./workspace-U-DyR64O.js";
|
|
5
|
+
import "./logger-BfjWMCSD.js";
|
|
6
|
+
import "./model-selection-Dna0Gz1k.js";
|
|
7
|
+
import "./github-copilot-token-BDioPmd6.js";
|
|
8
|
+
import "./legacy-names-DOC03BkU.js";
|
|
9
|
+
import { a as normalizeWhatsAppTarget, i as isWhatsAppGroupJid } from "./plugins-4Rj4OjLY.js";
|
|
10
|
+
import { n as resolveWhatsAppAccount } from "./accounts-Tgelvk0C.js";
|
|
11
|
+
import "./image-ops-BuUnEOE0.js";
|
|
12
|
+
import "./path-alias-guards-BzvdLvTI.js";
|
|
13
|
+
import "./fs-safe-CTYUrIgQ.js";
|
|
14
|
+
import "./proxy-env-DlmzDx8x.js";
|
|
15
|
+
import "./tool-images-RZdHiZcG.js";
|
|
16
|
+
import "./fetch-DuraYswo.js";
|
|
17
|
+
import "./fetch-guard-DWr0d00H.js";
|
|
18
|
+
import "./ir-B83looB-.js";
|
|
19
19
|
import "./render-DW7AcFdD.js";
|
|
20
|
-
import { f as readReactionParams, h as readStringParam, i as ToolAuthorizationError, l as jsonResult, n as missingTargetError, o as createActionGate } from "./target-errors-
|
|
21
|
-
import "./tables-
|
|
22
|
-
import { r as sendReactionWhatsApp } from "./outbound-
|
|
20
|
+
import { f as readReactionParams, h as readStringParam, i as ToolAuthorizationError, l as jsonResult, n as missingTargetError, o as createActionGate } from "./target-errors-mnlwhAjP.js";
|
|
21
|
+
import "./tables-mE4cJBN2.js";
|
|
22
|
+
import { r as sendReactionWhatsApp } from "./outbound-ChDjtuD6.js";
|
|
23
23
|
|
|
24
24
|
//#region src/whatsapp/resolve-outbound-target.ts
|
|
25
25
|
function resolveWhatsAppOutboundTarget(params) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { d as resolveRequiredHomeDir } from "./paths-
|
|
2
|
-
import { c as danger, p as shouldLogVerbose } from "./subsystem-
|
|
3
|
-
import { g as pathExists$1, n as logError, t as logDebug, y as resolveUserPath } from "./logger-
|
|
1
|
+
import { d as resolveRequiredHomeDir } from "./paths-Cvc9EM8Y.js";
|
|
2
|
+
import { c as danger, p as shouldLogVerbose } from "./subsystem-B45WV3qB.js";
|
|
3
|
+
import { g as pathExists$1, n as logError, t as logDebug, y as resolveUserPath } from "./logger-BfjWMCSD.js";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
5
5
|
import os from "node:os";
|
|
6
6
|
import path from "node:path";
|
|
7
|
-
import
|
|
7
|
+
import fs$1 from "node:fs";
|
|
8
8
|
import { promisify } from "node:util";
|
|
9
9
|
import { execFile, spawn } from "node:child_process";
|
|
10
10
|
import process$1 from "node:process";
|
|
@@ -560,7 +560,7 @@ function resolveBoundaryPathLexicalSync(params) {
|
|
|
560
560
|
rootCanonicalPath: params.rootCanonicalPath,
|
|
561
561
|
resolveParams: params.params,
|
|
562
562
|
absolutePath: params.absolutePath,
|
|
563
|
-
read: (cursor) =>
|
|
563
|
+
read: (cursor) => fs$1.lstatSync(cursor)
|
|
564
564
|
});
|
|
565
565
|
if (isPromiseLike(maybeStat)) throw new Error("Unexpected async lexical stat");
|
|
566
566
|
const stat = maybeStat;
|
|
@@ -706,15 +706,15 @@ function resolvePathViaExistingAncestorSync(targetPath) {
|
|
|
706
706
|
const normalized = path.resolve(targetPath);
|
|
707
707
|
let cursor = normalized;
|
|
708
708
|
const missingSuffix = [];
|
|
709
|
-
while (!isFilesystemRoot(cursor) && !
|
|
709
|
+
while (!isFilesystemRoot(cursor) && !fs$1.existsSync(cursor)) {
|
|
710
710
|
missingSuffix.unshift(path.basename(cursor));
|
|
711
711
|
const parent = path.dirname(cursor);
|
|
712
712
|
if (parent === cursor) break;
|
|
713
713
|
cursor = parent;
|
|
714
714
|
}
|
|
715
|
-
if (!
|
|
715
|
+
if (!fs$1.existsSync(cursor)) return normalized;
|
|
716
716
|
try {
|
|
717
|
-
const resolvedAncestor = path.resolve(
|
|
717
|
+
const resolvedAncestor = path.resolve(fs$1.realpathSync(cursor));
|
|
718
718
|
if (missingSuffix.length === 0) return resolvedAncestor;
|
|
719
719
|
return path.resolve(resolvedAncestor, ...missingSuffix);
|
|
720
720
|
} catch {
|
|
@@ -739,7 +739,7 @@ function getPathKindSync(absolutePath, preserveFinalSymlink) {
|
|
|
739
739
|
try {
|
|
740
740
|
return {
|
|
741
741
|
exists: true,
|
|
742
|
-
kind: toResolvedKind(preserveFinalSymlink ?
|
|
742
|
+
kind: toResolvedKind(preserveFinalSymlink ? fs$1.lstatSync(absolutePath) : fs$1.statSync(absolutePath))
|
|
743
743
|
};
|
|
744
744
|
} catch (error) {
|
|
745
745
|
if (isNotFoundPathError(error)) return {
|
|
@@ -799,10 +799,10 @@ async function resolveSymlinkHopPath(symlinkPath) {
|
|
|
799
799
|
}
|
|
800
800
|
function resolveSymlinkHopPathSync(symlinkPath) {
|
|
801
801
|
try {
|
|
802
|
-
return path.resolve(
|
|
802
|
+
return path.resolve(fs$1.realpathSync(symlinkPath));
|
|
803
803
|
} catch (error) {
|
|
804
804
|
if (!isNotFoundPathError(error)) throw error;
|
|
805
|
-
const linkTarget =
|
|
805
|
+
const linkTarget = fs$1.readlinkSync(symlinkPath);
|
|
806
806
|
return resolvePathViaExistingAncestorSync(path.resolve(path.dirname(symlinkPath), linkTarget));
|
|
807
807
|
}
|
|
808
808
|
}
|
|
@@ -828,7 +828,7 @@ function sameFileIdentity(left, right) {
|
|
|
828
828
|
return sameFileIdentity$1(left, right);
|
|
829
829
|
}
|
|
830
830
|
function openVerifiedFileSync(params) {
|
|
831
|
-
const ioFs = params.ioFs ??
|
|
831
|
+
const ioFs = params.ioFs ?? fs$1;
|
|
832
832
|
const allowedType = params.allowedType ?? "file";
|
|
833
833
|
const openReadFlags = ioFs.constants.O_RDONLY | (typeof ioFs.constants.O_NOFOLLOW === "number" ? ioFs.constants.O_NOFOLLOW : 0);
|
|
834
834
|
let fd = null;
|
|
@@ -905,7 +905,7 @@ function canUseBoundaryFileOpen(ioFs) {
|
|
|
905
905
|
return typeof ioFs.openSync === "function" && typeof ioFs.closeSync === "function" && typeof ioFs.fstatSync === "function" && typeof ioFs.lstatSync === "function" && typeof ioFs.realpathSync === "function" && typeof ioFs.readFileSync === "function" && typeof ioFs.constants === "object" && ioFs.constants !== null;
|
|
906
906
|
}
|
|
907
907
|
function openBoundaryFileSync(params) {
|
|
908
|
-
const ioFs = params.ioFs ??
|
|
908
|
+
const ioFs = params.ioFs ?? fs$1;
|
|
909
909
|
const resolved = resolveBoundaryFilePathGeneric({
|
|
910
910
|
absolutePath: params.absolutePath,
|
|
911
911
|
resolve: (absolutePath) => resolveBoundaryPathSync({
|
|
@@ -956,7 +956,7 @@ function finalizeBoundaryFileOpen(params) {
|
|
|
956
956
|
});
|
|
957
957
|
}
|
|
958
958
|
async function openBoundaryFile(params) {
|
|
959
|
-
const ioFs = params.ioFs ??
|
|
959
|
+
const ioFs = params.ioFs ?? fs$1;
|
|
960
960
|
const maybeResolved = resolveBoundaryFilePathGeneric({
|
|
961
961
|
absolutePath: params.absolutePath,
|
|
962
962
|
resolve: (absolutePath) => resolveBoundaryPath({
|
|
@@ -1105,7 +1105,7 @@ function resolveNpmArgvForWindows(argv) {
|
|
|
1105
1105
|
if (!cliName) return null;
|
|
1106
1106
|
const nodeDir = path.dirname(process$1.execPath);
|
|
1107
1107
|
const cliPath = path.join(nodeDir, "node_modules", "npm", "bin", cliName);
|
|
1108
|
-
if (!
|
|
1108
|
+
if (!fs$1.existsSync(cliPath)) return null;
|
|
1109
1109
|
return [
|
|
1110
1110
|
process$1.execPath,
|
|
1111
1111
|
cliPath,
|
|
@@ -1307,7 +1307,7 @@ async function readPackageName(dir) {
|
|
|
1307
1307
|
}
|
|
1308
1308
|
function readPackageNameSync(dir) {
|
|
1309
1309
|
try {
|
|
1310
|
-
const raw =
|
|
1310
|
+
const raw = fs$1.readFileSync(path.join(dir, "package.json"), "utf-8");
|
|
1311
1311
|
const parsed = JSON.parse(raw);
|
|
1312
1312
|
return typeof parsed.name === "string" ? parsed.name : null;
|
|
1313
1313
|
} catch {
|
|
@@ -1341,7 +1341,7 @@ function candidateDirsFromArgv1(argv1) {
|
|
|
1341
1341
|
const normalized = path.resolve(argv1);
|
|
1342
1342
|
const candidates = [path.dirname(normalized)];
|
|
1343
1343
|
try {
|
|
1344
|
-
const resolved =
|
|
1344
|
+
const resolved = fs$1.realpathSync(normalized);
|
|
1345
1345
|
if (resolved !== normalized) candidates.push(path.dirname(resolved));
|
|
1346
1346
|
} catch {}
|
|
1347
1347
|
const parts = normalized.split(path.sep);
|
|
@@ -1453,14 +1453,14 @@ async function readWorkspaceFileWithGuards(params) {
|
|
|
1453
1453
|
const identity = workspaceFileIdentity(opened.stat, opened.path);
|
|
1454
1454
|
const cached = workspaceFileCache.get(params.filePath);
|
|
1455
1455
|
if (cached && cached.identity === identity) {
|
|
1456
|
-
|
|
1456
|
+
fs$1.closeSync(opened.fd);
|
|
1457
1457
|
return {
|
|
1458
1458
|
ok: true,
|
|
1459
1459
|
content: cached.content
|
|
1460
1460
|
};
|
|
1461
1461
|
}
|
|
1462
1462
|
try {
|
|
1463
|
-
const content =
|
|
1463
|
+
const content = fs$1.readFileSync(opened.fd, "utf-8");
|
|
1464
1464
|
workspaceFileCache.set(params.filePath, {
|
|
1465
1465
|
content,
|
|
1466
1466
|
identity
|
|
@@ -1477,7 +1477,7 @@ async function readWorkspaceFileWithGuards(params) {
|
|
|
1477
1477
|
error
|
|
1478
1478
|
};
|
|
1479
1479
|
} finally {
|
|
1480
|
-
|
|
1480
|
+
fs$1.closeSync(opened.fd);
|
|
1481
1481
|
}
|
|
1482
1482
|
}
|
|
1483
1483
|
function stripFrontMatter(content) {
|
|
@@ -10,9 +10,9 @@ case `uname` in
|
|
|
10
10
|
esac
|
|
11
11
|
|
|
12
12
|
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@
|
|
13
|
+
export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@modelcontextprotocol+sdk@1.26.0_@cfworker+json-schema@4.1.1_zod@4.3._ab3bf890b5dcbe1d93dcb3f9d9fb24bc/node_modules/openclaw/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@modelcontextprotocol+sdk@1.26.0_@cfworker+json-schema@4.1.1_zod@4.3._ab3bf890b5dcbe1d93dcb3f9d9fb24bc/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules"
|
|
14
14
|
else
|
|
15
|
-
export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@
|
|
15
|
+
export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@modelcontextprotocol+sdk@1.26.0_@cfworker+json-schema@4.1.1_zod@4.3._ab3bf890b5dcbe1d93dcb3f9d9fb24bc/node_modules/openclaw/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@modelcontextprotocol+sdk@1.26.0_@cfworker+json-schema@4.1.1_zod@4.3._ab3bf890b5dcbe1d93dcb3f9d9fb24bc/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
16
|
fi
|
|
17
17
|
if [ -x "$basedir/node" ]; then
|
|
18
18
|
exec "$basedir/node" "$basedir/../openclaw/openclaw.mjs" "$@"
|
|
@@ -10,9 +10,9 @@ case `uname` in
|
|
|
10
10
|
esac
|
|
11
11
|
|
|
12
12
|
if [ -z "$NODE_PATH" ]; then
|
|
13
|
-
export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@
|
|
13
|
+
export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@modelcontextprotocol+sdk@1.26.0_@cfworker+json-schema@4.1.1_zod@4.3._ab3bf890b5dcbe1d93dcb3f9d9fb24bc/node_modules/openclaw/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@modelcontextprotocol+sdk@1.26.0_@cfworker+json-schema@4.1.1_zod@4.3._ab3bf890b5dcbe1d93dcb3f9d9fb24bc/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules"
|
|
14
14
|
else
|
|
15
|
-
export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@
|
|
15
|
+
export NODE_PATH="/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@modelcontextprotocol+sdk@1.26.0_@cfworker+json-schema@4.1.1_zod@4.3._ab3bf890b5dcbe1d93dcb3f9d9fb24bc/node_modules/openclaw/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/openclaw@2026.3.8_@modelcontextprotocol+sdk@1.26.0_@cfworker+json-schema@4.1.1_zod@4.3._ab3bf890b5dcbe1d93dcb3f9d9fb24bc/node_modules:/Users/zhoujinyu/openclaws/repo/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
16
|
fi
|
|
17
17
|
if [ -x "$basedir/node" ]; then
|
|
18
18
|
exec "$basedir/node" "$basedir/../openclaw/openclaw.mjs" "$@"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "openclaw-multi-auto",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.3",
|
|
4
4
|
"description": "Multi-channel AI gateway with extensible messaging integrations",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"homepage": "https://github.com/openclaw/openclaw#readme",
|
|
@@ -353,7 +353,7 @@
|
|
|
353
353
|
"@slack/web-api": "^7.14.1",
|
|
354
354
|
"@snazzah/davey": "^0.1.9",
|
|
355
355
|
"@whiskeysockets/baileys": "7.0.0-rc.9",
|
|
356
|
-
"@whiskeysockets/libsignal-node": "file
|
|
356
|
+
"@whiskeysockets/libsignal-node": "file:./vendor/libsignal-node",
|
|
357
357
|
"ajv": "^8.18.0",
|
|
358
358
|
"chalk": "^5.6.2",
|
|
359
359
|
"chokidar": "^5.0.0",
|
|
@@ -371,7 +371,7 @@
|
|
|
371
371
|
"jiti": "^2.6.1",
|
|
372
372
|
"json5": "^2.2.3",
|
|
373
373
|
"jszip": "^3.10.1",
|
|
374
|
-
"libsignal": "file
|
|
374
|
+
"libsignal": "file:./vendor/libsignal-node",
|
|
375
375
|
"linkedom": "^0.18.12",
|
|
376
376
|
"long": "^5.3.2",
|
|
377
377
|
"markdown-it": "^14.1.1",
|
|
@@ -433,9 +433,7 @@
|
|
|
433
433
|
"node-domexception": "npm:@nolyfill/domexception@^1.0.28",
|
|
434
434
|
"@sinclair/typebox": "0.34.48",
|
|
435
435
|
"tar": "7.5.9",
|
|
436
|
-
"tough-cookie": "4.1.3"
|
|
437
|
-
"libsignal": "file:vendor/libsignal-node",
|
|
438
|
-
"@whiskeysockets/libsignal-node": "file:vendor/libsignal-node"
|
|
436
|
+
"tough-cookie": "4.1.3"
|
|
439
437
|
},
|
|
440
438
|
"onlyBuiltDependencies": [
|
|
441
439
|
"libsignal",
|
|
@@ -452,4 +450,4 @@
|
|
|
452
450
|
"sharp"
|
|
453
451
|
]
|
|
454
452
|
}
|
|
455
|
-
}
|
|
453
|
+
}
|
package/scripts/npm_publish.sh
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
# =================================================================
|
|
3
|
-
# OpenClaw 开发者发布工具 (publish-npm.sh) -
|
|
3
|
+
# OpenClaw 开发者发布工具 (publish-npm.sh) - V8 Workspace 增强版
|
|
4
4
|
# =================================================================
|
|
5
5
|
|
|
6
6
|
set -e
|
|
@@ -33,7 +33,7 @@ cd "$DEP_PATH"
|
|
|
33
33
|
# 物理删除所有 Git 标识
|
|
34
34
|
rm -rf .git .github .gitignore .gitattributes 2>/dev/null || true
|
|
35
35
|
|
|
36
|
-
#
|
|
36
|
+
# 【核心修复】抹除远程元数据,并确保其 package.json 干净
|
|
37
37
|
if [ -f "package.json" ]; then
|
|
38
38
|
node -e "
|
|
39
39
|
const fs = require('fs');
|
|
@@ -46,13 +46,11 @@ if [ -f "package.json" ]; then
|
|
|
46
46
|
delete p.scripts.preinstall;
|
|
47
47
|
delete p.scripts.postinstall;
|
|
48
48
|
}
|
|
49
|
-
// 强制抹除所有可能触发网络请求的声明
|
|
50
49
|
fs.writeFileSync('package.json', JSON.stringify(p, null, 2));
|
|
51
50
|
"
|
|
52
|
-
# 清理 vendor 下可能存在的 lock 文件,防止其内部记录 Git 地址
|
|
53
51
|
rm -f package-lock.json yarn.lock pnpm-lock.yaml 2>/dev/null || true
|
|
54
52
|
|
|
55
|
-
#
|
|
53
|
+
# M4 环境适配:在本地 vendor 预编译生产依赖
|
|
56
54
|
npm install --production --ignore-scripts --registry=https://registry.npmmirror.com > /dev/null 2>&1
|
|
57
55
|
fi
|
|
58
56
|
|
|
@@ -66,21 +64,38 @@ rm -rf node_modules 2>/dev/null || true
|
|
|
66
64
|
cd "$ROOT_DIR"
|
|
67
65
|
echo -e "${GREEN}[OK]${NC}"
|
|
68
66
|
|
|
67
|
+
# 【关键改动】步骤 2 之前:将 workspace 依赖转换为 file 依赖,以便物理打包
|
|
68
|
+
node -e "
|
|
69
|
+
const fs = require('fs');
|
|
70
|
+
const p = JSON.parse(fs.readFileSync('package.json'));
|
|
71
|
+
// 强制将依赖从 workspace:* 转换为物理路径
|
|
72
|
+
if (p.dependencies) {
|
|
73
|
+
Object.keys(p.dependencies).forEach(dep => {
|
|
74
|
+
if (p.dependencies[dep].startsWith('workspace:')) {
|
|
75
|
+
p.dependencies[dep] = 'file:./vendor/libsignal-node';
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
// 同时确保 @whiskeysockets 的命名正确指向
|
|
79
|
+
p.dependencies['@whiskeysockets/libsignal-node'] = 'file:./vendor/libsignal-node';
|
|
80
|
+
}
|
|
81
|
+
// 彻底清除 pnpm overrides,防止其在安装时尝试联网寻找
|
|
82
|
+
if (p.pnpm && p.pnpm.overrides) {
|
|
83
|
+
delete p.pnpm.overrides['@whiskeysockets/libsignal-node'];
|
|
84
|
+
delete p.pnpm.overrides['libsignal'];
|
|
85
|
+
}
|
|
86
|
+
fs.writeFileSync('package.json', JSON.stringify(p, null, 2));
|
|
87
|
+
"
|
|
88
|
+
|
|
69
89
|
# 2. 准备主项目环境
|
|
70
90
|
echo -ne "${YELLOW}🌐 重置主项目依赖树... ${NC}"
|
|
71
91
|
|
|
72
|
-
#
|
|
73
|
-
|
|
74
|
-
export GIT_CONFIG_COUNT=1
|
|
75
|
-
export GIT_CONFIG_KEY_0="url.https://github.com/.insteadOf"
|
|
76
|
-
export GIT_CONFIG_VALUE_0="git@github.com:"
|
|
77
|
-
|
|
78
|
-
trap 'git config --global --unset url."https://github.com/".insteadOf "git@github.com:"; unset GIT_CONFIG_COUNT GIT_CONFIG_KEY_0 GIT_CONFIG_VALUE_0; rm -rf "$TEST_DIR" "$PACK_NAME" .npmignore .pnpm_error.log .load_error.log .test_install_error.log 2>/dev/null' EXIT
|
|
92
|
+
# 移除之前可能引起冲突的 git config 注入
|
|
93
|
+
trap 'rm -rf "$TEST_DIR" "$PACK_NAME" .npmignore .pnpm_error.log .load_error.log .test_install_error.log 2>/dev/null' EXIT
|
|
79
94
|
|
|
80
95
|
# 彻底清理锁文件和缓存
|
|
81
96
|
rm -rf dist node_modules pnpm-lock.yaml .cache 2>/dev/null || true
|
|
82
97
|
|
|
83
|
-
# 执行安装
|
|
98
|
+
# 执行安装 (使用 --no-frozen-lockfile 允许 pnpm 更新 file 路径引用)
|
|
84
99
|
if ! pnpm install --no-frozen-lockfile --prefer-offline --registry=https://registry.npmmirror.com > .pnpm_error.log 2>&1; then
|
|
85
100
|
echo -e "${RED}[失败]${NC}"
|
|
86
101
|
grep -E "ERROR|fatal|Permission denied|exit code" .pnpm_error.log | tail -n 5 || cat .pnpm_error.log
|
|
@@ -95,6 +110,7 @@ echo -e "${GREEN}[OK]${NC}"
|
|
|
95
110
|
|
|
96
111
|
# 4. 打包并验证
|
|
97
112
|
echo -ne "${YELLOW}🔍 正在生成物理压缩包... ${NC}"
|
|
113
|
+
# 这里的 npm pack 会因为 package.json 中已经是 file: 路径,而自动将 vendor 目录打入
|
|
98
114
|
printf "node_modules/\n.git/\n" > .npmignore
|
|
99
115
|
PACK_NAME=$(npm pack 2>/dev/null)
|
|
100
116
|
rm .npmignore
|
|
@@ -113,11 +129,10 @@ cd "$TEST_DIR"
|
|
|
113
129
|
tar -xzf "$PACK_NAME" > /dev/null 2>&1
|
|
114
130
|
cd package
|
|
115
131
|
|
|
116
|
-
# [重要]
|
|
132
|
+
# [重要] 完全模拟用户端,使用 npm 且不带 workspace 概念
|
|
117
133
|
if ! npm install --production --no-package-lock --registry=https://registry.npmmirror.com > .test_install_error.log 2>&1; then
|
|
118
134
|
echo -e "${RED}[安装失败]${NC}"
|
|
119
|
-
echo -e "${YELLOW}--- 错误追踪
|
|
120
|
-
# 如果此时报错,查看是否是由于 vendor 内部依赖的其他包在连 Git
|
|
135
|
+
echo -e "${YELLOW}--- 错误追踪 ---${NC}"
|
|
121
136
|
cat .test_install_error.log
|
|
122
137
|
exit 1
|
|
123
138
|
fi
|
|
@@ -134,6 +149,7 @@ echo -e "${GREEN}[通过]${NC}"
|
|
|
134
149
|
# 6. 正式发布
|
|
135
150
|
CUR_VERSION=$(node -e "console.log(require('$ROOT_DIR/package.json').version)")
|
|
136
151
|
echo -e "${BLUE}🚀 正在发布 v${CUR_VERSION} 到 npm...${NC}"
|
|
152
|
+
# 发布生成的 .tgz 包,确保线上内容与刚才模拟安装的完全一致
|
|
137
153
|
npm publish "$PACK_NAME" --registry=https://registry.npmjs.org --access public
|
|
138
154
|
|
|
139
155
|
# 7. 镜像同步
|