cclawd 1.0.3 → 1.0.4
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/{active-listener-Dkhmfuwx.js → active-listener-BLd27Pxd.js} +1 -1
- package/dist/{api-key-rotation-BOfI3cG3.js → api-key-rotation-Dg3JlNDQ.js} +1 -1
- package/dist/{audio-preflight-CtkZ5SAs.js → audio-preflight-eV5m9mMp.js} +6 -6
- package/dist/{audio-transcription-runner-CbPqoiHX.js → audio-transcription-runner-CQU4Eg1M.js} +6 -6
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +23 -23
- package/dist/bundled/session-memory/handler.js +23 -23
- package/dist/{channel-activity-DWAER4wd.js → channel-activity-dT3cYb0e.js} +1 -1
- package/dist/{commands-registry-BUyiA7nE.js → commands-registry-CyLMCPuP.js} +1 -1
- package/dist/compact.runtime-DGRl4st4.js +39 -0
- package/dist/{deliver-aHOaRbkt.js → deliver-B6eTtXSk.js} +4 -4
- package/dist/{deliver-runtime-D4bCsr6d.js → deliver-runtime-CLDpY6AW.js} +7 -7
- package/dist/{deps-send-discord.runtime-BziKU-pE.js → deps-send-discord.runtime-CxADlame.js} +7 -7
- package/dist/{deps-send-imessage.runtime-CFRnDTqp.js → deps-send-imessage.runtime-Wi79xm6H.js} +7 -7
- package/dist/{deps-send-signal.runtime-BuOtABJm.js → deps-send-signal.runtime-BDtzvsnR.js} +6 -6
- package/dist/{deps-send-slack.runtime-BOLqvMxW.js → deps-send-slack.runtime-CgX24hgT.js} +5 -5
- package/dist/{deps-send-telegram.runtime-DeEoFLv5.js → deps-send-telegram.runtime-CEWc7ePn.js} +6 -6
- package/dist/deps-send-whatsapp.runtime-B1KJ7YOp.js +43 -0
- package/dist/{diagnostic-BdcXX9iJ.js → diagnostic-BZmAxdu9.js} +1 -1
- package/dist/{fetch-D9NUULbj.js → fetch-CMLoICyN.js} +2 -2
- package/dist/{fetch-guard-B5ZMnGaN.js → fetch-guard-DCj3k042.js} +1 -1
- package/dist/{image-4x07m4Jl.js → image-Bt49ybRv.js} +2 -2
- package/dist/{image-runtime-smkMrIol.js → image-runtime-Cilhq73U.js} +2 -2
- package/dist/{ir-CsgNUpOU.js → ir-CVtBjUiL.js} +2 -2
- package/dist/llm-slug-generator.js +23 -23
- package/dist/{login-p_O59TVQ.js → login-D0fUoX-p.js} +2 -2
- package/dist/{login-qr-BCJpDsAy.js → login-qr-ClBxstxZ.js} +2 -2
- package/dist/{manager-CwYv8O3T.js → manager-DSfEj66R.js} +3 -3
- package/dist/{manager-runtime-D_jEoBr9.js → manager-runtime-BrZlGJsj.js} +4 -4
- package/dist/{model-selection-Cv2Puf5z.js → model-selection-CMEj8bpy.js} +11 -11
- package/dist/{outbound-Chpiwybe.js → outbound-BxIJyMzV.js} +4 -4
- package/dist/{outbound-attachment-BnAVJDLe.js → outbound-attachment-CVJwpypG.js} +2 -2
- package/dist/{pi-embedded-CJVNBk0y.js → pi-embedded-CHNPEUAv.js} +57 -57
- package/dist/{pi-model-discovery-7IzK0Uc3.js → pi-model-discovery-D-r5y7kV.js} +1 -1
- package/dist/{pi-model-discovery-runtime-DABef3qy.js → pi-model-discovery-runtime-DZQXYmdu.js} +2 -2
- package/dist/{pi-tools.before-tool-call.runtime-BP2UvGJb.js → pi-tools.before-tool-call.runtime-DagGpfw0.js} +2 -2
- package/dist/plugin-sdk/active-listener-CN-tMEvN.js +35 -0
- package/dist/plugin-sdk/api-key-rotation-CimGYMBc.js +176 -0
- package/dist/plugin-sdk/audio-preflight-C-xXBoE2.js +51 -0
- package/dist/plugin-sdk/audio-transcription-runner-CTIHpebA.js +2173 -0
- package/dist/plugin-sdk/audit-membership-runtime-BFatB2LJ.js +58 -0
- package/dist/plugin-sdk/channel-activity-DO0FEzyj.js +95 -0
- package/dist/plugin-sdk/channel-web-Da-__nUF.js +2238 -0
- package/dist/plugin-sdk/commands-registry-6no2NNrY.js +1118 -0
- package/dist/plugin-sdk/compact.runtime-CCoclu5e.js +35 -0
- package/dist/plugin-sdk/config-B9ODwgpz.js +37426 -0
- package/dist/plugin-sdk/deliver-B1fFpKjV.js +1757 -0
- package/dist/plugin-sdk/deliver-runtime-DB-VRMe1.js +15 -0
- package/dist/plugin-sdk/deps-send-discord.runtime-DklqycYG.js +15 -0
- package/dist/plugin-sdk/deps-send-imessage.runtime-Chs8zeon.js +14 -0
- package/dist/plugin-sdk/deps-send-signal.runtime-clW9aSJP.js +13 -0
- package/dist/plugin-sdk/deps-send-slack.runtime-BUx0LYY1.js +13 -0
- package/dist/plugin-sdk/deps-send-telegram.runtime-LECSHgMG.js +16 -0
- package/dist/plugin-sdk/deps-send-whatsapp.runtime-D2d65fw0.js +40 -0
- package/dist/plugin-sdk/diagnostic-CxIvS-C2.js +315 -0
- package/dist/plugin-sdk/dispatch-BqlR4dPx.js +105863 -0
- package/dist/plugin-sdk/env-b9k1PHMI.js +34 -0
- package/dist/plugin-sdk/fetch-PoxzAANT.js +326 -0
- package/dist/plugin-sdk/fetch-guard-4UVSZ0uS.js +164 -0
- package/dist/plugin-sdk/image-Ch6M4tnJ.js +2420 -0
- package/dist/plugin-sdk/image-runtime-CSh2o5wY.js +8 -0
- package/dist/plugin-sdk/index.js +35 -35
- package/dist/plugin-sdk/ir-CugsqGH8.js +1312 -0
- package/dist/plugin-sdk/local-roots-adnEg9zb.js +217 -0
- package/dist/plugin-sdk/logger-D6zRubj0.js +1164 -0
- package/dist/plugin-sdk/login-CYvkQ0At.js +54 -0
- package/dist/plugin-sdk/login-qr-ll4NtaT5.js +316 -0
- package/dist/plugin-sdk/manager-CHy8IclH.js +3959 -0
- package/dist/plugin-sdk/manager-runtime-C70EkEr7.js +11 -0
- package/dist/plugin-sdk/outbound-Wzs2iN7X.js +216 -0
- package/dist/plugin-sdk/outbound-attachment-khXJwucX.js +17 -0
- package/dist/plugin-sdk/paths-BtVqCdw4.js +3063 -0
- package/dist/plugin-sdk/pi-model-discovery-Dh4ziodY.js +131 -0
- package/dist/plugin-sdk/pi-model-discovery-runtime-b83Xe-HT.js +8 -0
- package/dist/plugin-sdk/pi-tools.before-tool-call.runtime-C1z5CDBF.js +349 -0
- package/dist/plugin-sdk/proxy-fetch-CJEmoBxi.js +54 -0
- package/dist/plugin-sdk/pw-ai-Dj3Cvlzl.js +1990 -0
- package/dist/plugin-sdk/qmd-manager-egHUAseQ.js +1581 -0
- package/dist/plugin-sdk/resolve-outbound-target-BiICvIKs.js +38 -0
- package/dist/plugin-sdk/runtime-whatsapp-login.runtime-DNApufzW.js +9 -0
- package/dist/plugin-sdk/runtime-whatsapp-outbound.runtime-CBmtfIQ8.js +13 -0
- package/dist/plugin-sdk/send-CScblaI4.js +532 -0
- package/dist/plugin-sdk/send-CeHhnld6.js +407 -0
- package/dist/plugin-sdk/send-DP_c8JfR.js +3277 -0
- package/dist/plugin-sdk/send-Dc5fI6e8.js +495 -0
- package/dist/plugin-sdk/send-l-77_s1_.js +2507 -0
- package/dist/plugin-sdk/session-CkOKZaqa.js +166 -0
- package/dist/plugin-sdk/signal.js +2 -2
- package/dist/plugin-sdk/skill-commands-BohYCgkq.js +336 -0
- package/dist/plugin-sdk/slash-commands.runtime-DpLfVTM6.js +8 -0
- package/dist/plugin-sdk/slash-dispatch.runtime-CASMHwpm.js +35 -0
- package/dist/plugin-sdk/slash-skill-commands.runtime-D7rrJEci.js +9 -0
- package/dist/plugin-sdk/sqlite-CJE3X7Mv.js +1005 -0
- package/dist/plugin-sdk/subagent-registry-runtime-B1oo5bih.js +35 -0
- package/dist/plugin-sdk/tables-D5VgpTmm.js +53 -0
- package/dist/plugin-sdk/target-errors-C6zZ_OpA.js +191 -0
- package/dist/plugin-sdk/tokens-DUnJnpMS.js +50 -0
- package/dist/plugin-sdk/web-TfUM1nSi.js +39 -0
- package/dist/plugin-sdk/whatsapp-actions-DuWJ0j1r.js +71 -0
- package/dist/{pw-ai-DwH5GpEO.js → pw-ai-CoIUdns_.js} +1 -1
- package/dist/{runtime-whatsapp-login.runtime-BI3U306v.js → runtime-whatsapp-login.runtime-ChqE9BkX.js} +3 -3
- package/dist/{runtime-whatsapp-outbound.runtime-Bsc2uD09.js → runtime-whatsapp-outbound.runtime-yiy6jzKk.js} +6 -6
- package/dist/{send-DtBvCnPQ.js → send-4rRrSKp9.js} +4 -4
- package/dist/{send-ORtn50qg.js → send-BKO1-P1t.js} +3 -3
- package/dist/{send-C-Q_WPMf.js → send-EDBPXjTT.js} +3 -3
- package/dist/{send-DUibfNQD.js → send-K2mAG7KC.js} +4 -4
- package/dist/{send-BDnOgWIp.js → send-V1MRV7QF.js} +3 -3
- package/dist/{session-B7imi6T5.js → session-CuVCho2m.js} +1 -1
- package/dist/{skill-commands-B9brPuiL.js → skill-commands-B55LOaMB.js} +2 -2
- package/dist/{slash-commands.runtime-Cf6ygfBp.js → slash-commands.runtime-BchS0VkW.js} +2 -2
- package/dist/{slash-dispatch.runtime-CsmvhO5K.js → slash-dispatch.runtime-BIKRY3fr.js} +23 -23
- package/dist/{slash-skill-commands.runtime-CX7stIEP.js → slash-skill-commands.runtime-BP4jBHU9.js} +3 -3
- package/dist/{subagent-registry-runtime-B_S1nf7y.js → subagent-registry-runtime-DjEYzSyM.js} +23 -23
- package/dist/{tables-CjQqTOdD.js → tables-BAGqh2XD.js} +1 -1
- package/dist/{target-errors-BZE1mc-W.js → target-errors-CeBF8Pws.js} +1 -1
- package/dist/{web-Cd8yK1Zq.js → web-BRSmQdtm.js} +27 -27
- package/dist/{whatsapp-actions-CYEzUMBI.js → whatsapp-actions-Dxb2K2Xh.js} +7 -7
- package/extensions/mfa-auth/index.ts +22 -13
- package/extensions/mfa-auth/src/auth-manager.ts +4 -0
- package/package.json +1 -1
- package/dist/compact.runtime-DpcZpcTl.js +0 -39
- package/dist/deps-send-whatsapp.runtime-CG1uXYLY.js +0 -43
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import "./paths-BtVqCdw4.js";
|
|
2
|
+
import "./config-B9ODwgpz.js";
|
|
3
|
+
import { a as countPendingDescendantRuns, c as listSubagentRunsForRequester, d as shouldIgnorePostCompletionAnnounceForSession, i as countActiveDescendantRuns, l as replaceSubagentRunAfterSteer, o as countPendingDescendantRunsExcludingRun, s as isSubagentSessionRunActive, u as resolveRequesterForChildSession } from "./dispatch-BqlR4dPx.js";
|
|
4
|
+
import "./paths-eFexkPEh.js";
|
|
5
|
+
import "./github-copilot-token-Cxf8QYZb.js";
|
|
6
|
+
import "./logger-D6zRubj0.js";
|
|
7
|
+
import "./env-b9k1PHMI.js";
|
|
8
|
+
import "./send-DP_c8JfR.js";
|
|
9
|
+
import "./fetch-BSKpf2dM.js";
|
|
10
|
+
import "./channel-activity-DO0FEzyj.js";
|
|
11
|
+
import "./fetch-guard-4UVSZ0uS.js";
|
|
12
|
+
import "./local-roots-adnEg9zb.js";
|
|
13
|
+
import "./ir-CugsqGH8.js";
|
|
14
|
+
import "./render-CKf6NJ1M.js";
|
|
15
|
+
import "./tables-D5VgpTmm.js";
|
|
16
|
+
import "./send-l-77_s1_.js";
|
|
17
|
+
import "./target-errors-C6zZ_OpA.js";
|
|
18
|
+
import "./send-CeHhnld6.js";
|
|
19
|
+
import "./deliver-B1fFpKjV.js";
|
|
20
|
+
import "./diagnostic-CxIvS-C2.js";
|
|
21
|
+
import "./pi-model-discovery-Dh4ziodY.js";
|
|
22
|
+
import "./audio-transcription-runner-CTIHpebA.js";
|
|
23
|
+
import "./image-Ch6M4tnJ.js";
|
|
24
|
+
import "./api-key-rotation-CimGYMBc.js";
|
|
25
|
+
import "./proxy-fetch-CJEmoBxi.js";
|
|
26
|
+
import "./tokens-DUnJnpMS.js";
|
|
27
|
+
import "./commands-registry-6no2NNrY.js";
|
|
28
|
+
import "./skill-commands-BohYCgkq.js";
|
|
29
|
+
import "./send-CScblaI4.js";
|
|
30
|
+
import "./outbound-attachment-khXJwucX.js";
|
|
31
|
+
import "./send-Dc5fI6e8.js";
|
|
32
|
+
import "./sqlite-CJE3X7Mv.js";
|
|
33
|
+
import "./fetch-PoxzAANT.js";
|
|
34
|
+
import "./manager-CHy8IclH.js";
|
|
35
|
+
export { countActiveDescendantRuns, countPendingDescendantRuns, countPendingDescendantRunsExcludingRun, isSubagentSessionRunActive, listSubagentRunsForRequester, replaceSubagentRunAfterSteer, resolveRequesterForChildSession, shouldIgnorePostCompletionAnnounceForSession };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { r as markdownToIRWithMeta } from "./ir-CugsqGH8.js";
|
|
2
|
+
import { t as renderMarkdownWithMarkers } from "./render-CKf6NJ1M.js";
|
|
3
|
+
//#region src/markdown/tables.ts
|
|
4
|
+
const MARKDOWN_STYLE_MARKERS = {
|
|
5
|
+
bold: {
|
|
6
|
+
open: "**",
|
|
7
|
+
close: "**"
|
|
8
|
+
},
|
|
9
|
+
italic: {
|
|
10
|
+
open: "_",
|
|
11
|
+
close: "_"
|
|
12
|
+
},
|
|
13
|
+
strikethrough: {
|
|
14
|
+
open: "~~",
|
|
15
|
+
close: "~~"
|
|
16
|
+
},
|
|
17
|
+
code: {
|
|
18
|
+
open: "`",
|
|
19
|
+
close: "`"
|
|
20
|
+
},
|
|
21
|
+
code_block: {
|
|
22
|
+
open: "```\n",
|
|
23
|
+
close: "```"
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
function convertMarkdownTables(markdown, mode) {
|
|
27
|
+
if (!markdown || mode === "off") return markdown;
|
|
28
|
+
const { ir, hasTables } = markdownToIRWithMeta(markdown, {
|
|
29
|
+
linkify: false,
|
|
30
|
+
autolink: false,
|
|
31
|
+
headingStyle: "none",
|
|
32
|
+
blockquotePrefix: "",
|
|
33
|
+
tableMode: mode
|
|
34
|
+
});
|
|
35
|
+
if (!hasTables) return markdown;
|
|
36
|
+
return renderMarkdownWithMarkers(ir, {
|
|
37
|
+
styleMarkers: MARKDOWN_STYLE_MARKERS,
|
|
38
|
+
escapeText: (text) => text,
|
|
39
|
+
buildLink: (link, text) => {
|
|
40
|
+
const href = link.href.trim();
|
|
41
|
+
if (!href) return null;
|
|
42
|
+
if (!text.slice(link.start, link.end)) return null;
|
|
43
|
+
return {
|
|
44
|
+
start: link.start,
|
|
45
|
+
end: link.end,
|
|
46
|
+
open: "[",
|
|
47
|
+
close: `](${href})`
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { convertMarkdownTables as t };
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { Ts as detectMime, Vn as sanitizeToolResultImages } from "./config-B9ODwgpz.js";
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
//#region src/agents/tools/common.ts
|
|
4
|
+
var ToolInputError = class extends Error {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.status = 400;
|
|
8
|
+
this.name = "ToolInputError";
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
var ToolAuthorizationError = class extends ToolInputError {
|
|
12
|
+
constructor(message) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.status = 403;
|
|
15
|
+
this.name = "ToolAuthorizationError";
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
function createActionGate(actions) {
|
|
19
|
+
return (key, defaultValue = true) => {
|
|
20
|
+
const value = actions?.[key];
|
|
21
|
+
if (value === void 0) return defaultValue;
|
|
22
|
+
return value !== false;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function toSnakeCaseKey(key) {
|
|
26
|
+
return key.replace(/([A-Z]+)([A-Z][a-z])/g, "$1_$2").replace(/([a-z0-9])([A-Z])/g, "$1_$2").toLowerCase();
|
|
27
|
+
}
|
|
28
|
+
function readParamRaw(params, key) {
|
|
29
|
+
if (Object.hasOwn(params, key)) return params[key];
|
|
30
|
+
const snakeKey = toSnakeCaseKey(key);
|
|
31
|
+
if (snakeKey !== key && Object.hasOwn(params, snakeKey)) return params[snakeKey];
|
|
32
|
+
}
|
|
33
|
+
function readStringParam(params, key, options = {}) {
|
|
34
|
+
const { required = false, trim = true, label = key, allowEmpty = false } = options;
|
|
35
|
+
const raw = readParamRaw(params, key);
|
|
36
|
+
if (typeof raw !== "string") {
|
|
37
|
+
if (required) throw new ToolInputError(`${label} required`);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const value = trim ? raw.trim() : raw;
|
|
41
|
+
if (!value && !allowEmpty) {
|
|
42
|
+
if (required) throw new ToolInputError(`${label} required`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
return value;
|
|
46
|
+
}
|
|
47
|
+
function readStringOrNumberParam(params, key, options = {}) {
|
|
48
|
+
const { required = false, label = key } = options;
|
|
49
|
+
const raw = readParamRaw(params, key);
|
|
50
|
+
if (typeof raw === "number" && Number.isFinite(raw)) return String(raw);
|
|
51
|
+
if (typeof raw === "string") {
|
|
52
|
+
const value = raw.trim();
|
|
53
|
+
if (value) return value;
|
|
54
|
+
}
|
|
55
|
+
if (required) throw new ToolInputError(`${label} required`);
|
|
56
|
+
}
|
|
57
|
+
function readNumberParam(params, key, options = {}) {
|
|
58
|
+
const { required = false, label = key, integer = false, strict = false } = options;
|
|
59
|
+
const raw = readParamRaw(params, key);
|
|
60
|
+
let value;
|
|
61
|
+
if (typeof raw === "number" && Number.isFinite(raw)) value = raw;
|
|
62
|
+
else if (typeof raw === "string") {
|
|
63
|
+
const trimmed = raw.trim();
|
|
64
|
+
if (trimmed) {
|
|
65
|
+
const parsed = strict ? Number(trimmed) : Number.parseFloat(trimmed);
|
|
66
|
+
if (Number.isFinite(parsed)) value = parsed;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (value === void 0) {
|
|
70
|
+
if (required) throw new ToolInputError(`${label} required`);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
return integer ? Math.trunc(value) : value;
|
|
74
|
+
}
|
|
75
|
+
function readStringArrayParam(params, key, options = {}) {
|
|
76
|
+
const { required = false, label = key } = options;
|
|
77
|
+
const raw = readParamRaw(params, key);
|
|
78
|
+
if (Array.isArray(raw)) {
|
|
79
|
+
const values = raw.filter((entry) => typeof entry === "string").map((entry) => entry.trim()).filter(Boolean);
|
|
80
|
+
if (values.length === 0) {
|
|
81
|
+
if (required) throw new ToolInputError(`${label} required`);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
return values;
|
|
85
|
+
}
|
|
86
|
+
if (typeof raw === "string") {
|
|
87
|
+
const value = raw.trim();
|
|
88
|
+
if (!value) {
|
|
89
|
+
if (required) throw new ToolInputError(`${label} required`);
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
return [value];
|
|
93
|
+
}
|
|
94
|
+
if (required) throw new ToolInputError(`${label} required`);
|
|
95
|
+
}
|
|
96
|
+
function readReactionParams(params, options) {
|
|
97
|
+
const emojiKey = options.emojiKey ?? "emoji";
|
|
98
|
+
const removeKey = options.removeKey ?? "remove";
|
|
99
|
+
const remove = typeof params[removeKey] === "boolean" ? params[removeKey] : false;
|
|
100
|
+
const emoji = readStringParam(params, emojiKey, {
|
|
101
|
+
required: true,
|
|
102
|
+
allowEmpty: true
|
|
103
|
+
});
|
|
104
|
+
if (remove && !emoji) throw new ToolInputError(options.removeErrorMessage);
|
|
105
|
+
return {
|
|
106
|
+
emoji,
|
|
107
|
+
remove,
|
|
108
|
+
isEmpty: !emoji
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function jsonResult(payload) {
|
|
112
|
+
return {
|
|
113
|
+
content: [{
|
|
114
|
+
type: "text",
|
|
115
|
+
text: JSON.stringify(payload, null, 2)
|
|
116
|
+
}],
|
|
117
|
+
details: payload
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
async function imageResult(params) {
|
|
121
|
+
return await sanitizeToolResultImages({
|
|
122
|
+
content: [{
|
|
123
|
+
type: "text",
|
|
124
|
+
text: params.extraText ?? `MEDIA:${params.path}`
|
|
125
|
+
}, {
|
|
126
|
+
type: "image",
|
|
127
|
+
data: params.base64,
|
|
128
|
+
mimeType: params.mimeType
|
|
129
|
+
}],
|
|
130
|
+
details: {
|
|
131
|
+
path: params.path,
|
|
132
|
+
...params.details
|
|
133
|
+
}
|
|
134
|
+
}, params.label, params.imageSanitization);
|
|
135
|
+
}
|
|
136
|
+
async function imageResultFromFile(params) {
|
|
137
|
+
const buf = await fs.readFile(params.path);
|
|
138
|
+
const mimeType = await detectMime({ buffer: buf.slice(0, 256) }) ?? "image/png";
|
|
139
|
+
return await imageResult({
|
|
140
|
+
label: params.label,
|
|
141
|
+
path: params.path,
|
|
142
|
+
base64: buf.toString("base64"),
|
|
143
|
+
mimeType,
|
|
144
|
+
extraText: params.extraText,
|
|
145
|
+
details: params.details,
|
|
146
|
+
imageSanitization: params.imageSanitization
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Validate and parse an `availableTags` parameter from untrusted input.
|
|
151
|
+
* Returns `undefined` when the value is missing or not an array.
|
|
152
|
+
* Entries that lack a string `name` are silently dropped.
|
|
153
|
+
*/
|
|
154
|
+
function parseAvailableTags(raw) {
|
|
155
|
+
if (raw === void 0 || raw === null) return;
|
|
156
|
+
if (!Array.isArray(raw)) return;
|
|
157
|
+
const result = raw.filter((t) => typeof t === "object" && t !== null && typeof t.name === "string").map((t) => ({
|
|
158
|
+
...t.id !== void 0 && typeof t.id === "string" ? { id: t.id } : {},
|
|
159
|
+
name: t.name,
|
|
160
|
+
...typeof t.moderated === "boolean" ? { moderated: t.moderated } : {},
|
|
161
|
+
...t.emoji_id === null || typeof t.emoji_id === "string" ? { emoji_id: t.emoji_id } : {},
|
|
162
|
+
...t.emoji_name === null || typeof t.emoji_name === "string" ? { emoji_name: t.emoji_name } : {}
|
|
163
|
+
}));
|
|
164
|
+
return result.length ? result : void 0;
|
|
165
|
+
}
|
|
166
|
+
//#endregion
|
|
167
|
+
//#region src/infra/outbound/target-errors.ts
|
|
168
|
+
function missingTargetMessage(provider, hint) {
|
|
169
|
+
return `Delivering to ${provider} requires target${formatTargetHint(hint)}`;
|
|
170
|
+
}
|
|
171
|
+
function missingTargetError(provider, hint) {
|
|
172
|
+
return new Error(missingTargetMessage(provider, hint));
|
|
173
|
+
}
|
|
174
|
+
function ambiguousTargetMessage(provider, raw, hint) {
|
|
175
|
+
return `Ambiguous target "${raw}" for ${provider}. Provide a unique name or an explicit id.${formatTargetHint(hint, true)}`;
|
|
176
|
+
}
|
|
177
|
+
function ambiguousTargetError(provider, raw, hint) {
|
|
178
|
+
return new Error(ambiguousTargetMessage(provider, raw, hint));
|
|
179
|
+
}
|
|
180
|
+
function unknownTargetMessage(provider, raw, hint) {
|
|
181
|
+
return `Unknown target "${raw}" for ${provider}.${formatTargetHint(hint, true)}`;
|
|
182
|
+
}
|
|
183
|
+
function unknownTargetError(provider, raw, hint) {
|
|
184
|
+
return new Error(unknownTargetMessage(provider, raw, hint));
|
|
185
|
+
}
|
|
186
|
+
function formatTargetHint(hint, withLabel = false) {
|
|
187
|
+
if (!hint) return "";
|
|
188
|
+
return withLabel ? ` Hint: ${hint}` : ` ${hint}`;
|
|
189
|
+
}
|
|
190
|
+
//#endregion
|
|
191
|
+
export { ToolInputError as a, imageResultFromFile as c, readNumberParam as d, readReactionParams as f, readStringParam as h, ToolAuthorizationError as i, jsonResult as l, readStringOrNumberParam as m, missingTargetError as n, createActionGate as o, readStringArrayParam as p, unknownTargetError as r, imageResult as s, ambiguousTargetError as t, parseAvailableTags as u };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { v as escapeRegExp } from "./logger-D6zRubj0.js";
|
|
2
|
+
//#region src/auto-reply/tokens.ts
|
|
3
|
+
const HEARTBEAT_TOKEN = "HEARTBEAT_OK";
|
|
4
|
+
const SILENT_REPLY_TOKEN = "NO_REPLY";
|
|
5
|
+
const silentExactRegexByToken = /* @__PURE__ */ new Map();
|
|
6
|
+
const silentTrailingRegexByToken = /* @__PURE__ */ new Map();
|
|
7
|
+
function getSilentExactRegex(token) {
|
|
8
|
+
const cached = silentExactRegexByToken.get(token);
|
|
9
|
+
if (cached) return cached;
|
|
10
|
+
const escaped = escapeRegExp(token);
|
|
11
|
+
const regex = new RegExp(`^\\s*${escaped}\\s*$`);
|
|
12
|
+
silentExactRegexByToken.set(token, regex);
|
|
13
|
+
return regex;
|
|
14
|
+
}
|
|
15
|
+
function getSilentTrailingRegex(token) {
|
|
16
|
+
const cached = silentTrailingRegexByToken.get(token);
|
|
17
|
+
if (cached) return cached;
|
|
18
|
+
const escaped = escapeRegExp(token);
|
|
19
|
+
const regex = new RegExp(`(?:^|\\s+|\\*+)${escaped}\\s*$`);
|
|
20
|
+
silentTrailingRegexByToken.set(token, regex);
|
|
21
|
+
return regex;
|
|
22
|
+
}
|
|
23
|
+
function isSilentReplyText(text, token = SILENT_REPLY_TOKEN) {
|
|
24
|
+
if (!text) return false;
|
|
25
|
+
return getSilentExactRegex(token).test(text);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Strip a trailing silent reply token from mixed-content text.
|
|
29
|
+
* Returns the remaining text with the token removed (trimmed).
|
|
30
|
+
* If the result is empty, the entire message should be treated as silent.
|
|
31
|
+
*/
|
|
32
|
+
function stripSilentToken(text, token = SILENT_REPLY_TOKEN) {
|
|
33
|
+
return text.replace(getSilentTrailingRegex(token), "").trim();
|
|
34
|
+
}
|
|
35
|
+
function isSilentReplyPrefixText(text, token = SILENT_REPLY_TOKEN) {
|
|
36
|
+
if (!text) return false;
|
|
37
|
+
const trimmed = text.trimStart();
|
|
38
|
+
if (!trimmed) return false;
|
|
39
|
+
if (trimmed !== trimmed.toUpperCase()) return false;
|
|
40
|
+
const normalized = trimmed.toUpperCase();
|
|
41
|
+
if (!normalized) return false;
|
|
42
|
+
if (normalized.length < 2) return false;
|
|
43
|
+
if (/[^A-Z_]/.test(normalized)) return false;
|
|
44
|
+
const tokenUpper = token.toUpperCase();
|
|
45
|
+
if (!tokenUpper.startsWith(normalized)) return false;
|
|
46
|
+
if (normalized.includes("_")) return true;
|
|
47
|
+
return tokenUpper === "NO_REPLY" && normalized === "NO";
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
50
|
+
export { stripSilentToken as a, isSilentReplyText as i, SILENT_REPLY_TOKEN as n, isSilentReplyPrefixText as r, HEARTBEAT_TOKEN as t };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import "./paths-BtVqCdw4.js";
|
|
2
|
+
import { Ka as logWebSelfId, Wa as WA_WEB_AUTH_DIR, Ya as pickWebChannel, to as webAuthExists } from "./config-B9ODwgpz.js";
|
|
3
|
+
import "./dispatch-BqlR4dPx.js";
|
|
4
|
+
import "./paths-eFexkPEh.js";
|
|
5
|
+
import "./github-copilot-token-Cxf8QYZb.js";
|
|
6
|
+
import "./logger-D6zRubj0.js";
|
|
7
|
+
import "./env-b9k1PHMI.js";
|
|
8
|
+
import "./send-DP_c8JfR.js";
|
|
9
|
+
import "./fetch-BSKpf2dM.js";
|
|
10
|
+
import "./channel-activity-DO0FEzyj.js";
|
|
11
|
+
import "./fetch-guard-4UVSZ0uS.js";
|
|
12
|
+
import "./local-roots-adnEg9zb.js";
|
|
13
|
+
import "./ir-CugsqGH8.js";
|
|
14
|
+
import "./render-CKf6NJ1M.js";
|
|
15
|
+
import "./tables-D5VgpTmm.js";
|
|
16
|
+
import "./send-l-77_s1_.js";
|
|
17
|
+
import "./target-errors-C6zZ_OpA.js";
|
|
18
|
+
import "./send-CeHhnld6.js";
|
|
19
|
+
import "./deliver-B1fFpKjV.js";
|
|
20
|
+
import "./diagnostic-CxIvS-C2.js";
|
|
21
|
+
import "./pi-model-discovery-Dh4ziodY.js";
|
|
22
|
+
import "./audio-transcription-runner-CTIHpebA.js";
|
|
23
|
+
import "./image-Ch6M4tnJ.js";
|
|
24
|
+
import "./api-key-rotation-CimGYMBc.js";
|
|
25
|
+
import "./proxy-fetch-CJEmoBxi.js";
|
|
26
|
+
import "./tokens-DUnJnpMS.js";
|
|
27
|
+
import "./commands-registry-6no2NNrY.js";
|
|
28
|
+
import "./skill-commands-BohYCgkq.js";
|
|
29
|
+
import "./send-CScblaI4.js";
|
|
30
|
+
import "./outbound-attachment-khXJwucX.js";
|
|
31
|
+
import "./send-Dc5fI6e8.js";
|
|
32
|
+
import "./sqlite-CJE3X7Mv.js";
|
|
33
|
+
import "./fetch-PoxzAANT.js";
|
|
34
|
+
import "./manager-CHy8IclH.js";
|
|
35
|
+
import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-Da-__nUF.js";
|
|
36
|
+
import { t as sendMessageWhatsApp } from "./outbound-Wzs2iN7X.js";
|
|
37
|
+
import { i as waitForWaConnection, t as createWaSocket } from "./session-CkOKZaqa.js";
|
|
38
|
+
import { t as loginWeb } from "./login-CYvkQ0At.js";
|
|
39
|
+
export { WA_WEB_AUTH_DIR, createWaSocket, logWebSelfId, loginWeb, monitorWebChannel, monitorWebInbox, pickWebChannel, sendMessageWhatsApp, waitForWaConnection, webAuthExists };
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import "./paths-BtVqCdw4.js";
|
|
2
|
+
import { Va as resolveWhatsAppAccount } from "./config-B9ODwgpz.js";
|
|
3
|
+
import "./paths-eFexkPEh.js";
|
|
4
|
+
import "./github-copilot-token-Cxf8QYZb.js";
|
|
5
|
+
import "./logger-D6zRubj0.js";
|
|
6
|
+
import "./env-b9k1PHMI.js";
|
|
7
|
+
import "./fetch-guard-4UVSZ0uS.js";
|
|
8
|
+
import "./local-roots-adnEg9zb.js";
|
|
9
|
+
import "./ir-CugsqGH8.js";
|
|
10
|
+
import "./render-CKf6NJ1M.js";
|
|
11
|
+
import "./tables-D5VgpTmm.js";
|
|
12
|
+
import { f as readReactionParams, h as readStringParam, i as ToolAuthorizationError, l as jsonResult, o as createActionGate } from "./target-errors-C6zZ_OpA.js";
|
|
13
|
+
import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BiICvIKs.js";
|
|
14
|
+
import { r as sendReactionWhatsApp } from "./outbound-Wzs2iN7X.js";
|
|
15
|
+
//#region src/agents/tools/whatsapp-target-auth.ts
|
|
16
|
+
function resolveAuthorizedWhatsAppOutboundTarget(params) {
|
|
17
|
+
const account = resolveWhatsAppAccount({
|
|
18
|
+
cfg: params.cfg,
|
|
19
|
+
accountId: params.accountId
|
|
20
|
+
});
|
|
21
|
+
const resolution = resolveWhatsAppOutboundTarget({
|
|
22
|
+
to: params.chatJid,
|
|
23
|
+
allowFrom: account.allowFrom ?? [],
|
|
24
|
+
mode: "implicit"
|
|
25
|
+
});
|
|
26
|
+
if (!resolution.ok) throw new ToolAuthorizationError(`WhatsApp ${params.actionLabel} blocked: chatJid "${params.chatJid}" is not in the configured allowFrom list for account "${account.accountId}".`);
|
|
27
|
+
return {
|
|
28
|
+
to: resolution.to,
|
|
29
|
+
accountId: account.accountId
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region src/agents/tools/whatsapp-actions.ts
|
|
34
|
+
async function handleWhatsAppAction(params, cfg) {
|
|
35
|
+
const action = readStringParam(params, "action", { required: true });
|
|
36
|
+
const isActionEnabled = createActionGate(cfg.channels?.whatsapp?.actions);
|
|
37
|
+
if (action === "react") {
|
|
38
|
+
if (!isActionEnabled("reactions")) throw new Error("WhatsApp reactions are disabled.");
|
|
39
|
+
const chatJid = readStringParam(params, "chatJid", { required: true });
|
|
40
|
+
const messageId = readStringParam(params, "messageId", { required: true });
|
|
41
|
+
const { emoji, remove, isEmpty } = readReactionParams(params, { removeErrorMessage: "Emoji is required to remove a WhatsApp reaction." });
|
|
42
|
+
const participant = readStringParam(params, "participant");
|
|
43
|
+
const accountId = readStringParam(params, "accountId");
|
|
44
|
+
const fromMeRaw = params.fromMe;
|
|
45
|
+
const fromMe = typeof fromMeRaw === "boolean" ? fromMeRaw : void 0;
|
|
46
|
+
const resolved = resolveAuthorizedWhatsAppOutboundTarget({
|
|
47
|
+
cfg,
|
|
48
|
+
chatJid,
|
|
49
|
+
accountId,
|
|
50
|
+
actionLabel: "reaction"
|
|
51
|
+
});
|
|
52
|
+
const resolvedEmoji = remove ? "" : emoji;
|
|
53
|
+
await sendReactionWhatsApp(resolved.to, messageId, resolvedEmoji, {
|
|
54
|
+
verbose: false,
|
|
55
|
+
fromMe,
|
|
56
|
+
participant: participant ?? void 0,
|
|
57
|
+
accountId: resolved.accountId
|
|
58
|
+
});
|
|
59
|
+
if (!remove && !isEmpty) return jsonResult({
|
|
60
|
+
ok: true,
|
|
61
|
+
added: emoji
|
|
62
|
+
});
|
|
63
|
+
return jsonResult({
|
|
64
|
+
ok: true,
|
|
65
|
+
removed: true
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
throw new Error(`Unsupported WhatsApp action: ${action}`);
|
|
69
|
+
}
|
|
70
|
+
//#endregion
|
|
71
|
+
export { handleWhatsAppAction };
|
|
@@ -3,7 +3,7 @@ import "./paths-DkxwiA8g.js";
|
|
|
3
3
|
import { E as resolvePreferredOpenClawTmpDir } from "./subsystem-DfXy5gUB.js";
|
|
4
4
|
import "./workspace-DGIcKCCW.js";
|
|
5
5
|
import "./logger-CbUVl62f.js";
|
|
6
|
-
import { $i as assertBrowserNavigationRedirectChainAllowed, Ci as normalizeCdpHttpBaseForJsonEndpoints, Ei as withNoProxyForCdpUrl, Gi as resolveStrictExistingPathsWithinRoot, Hi as DEFAULT_TRACE_DIR, Ji as formatErrorMessage, Qi as assertBrowserNavigationAllowed, Si as getHeadersWithAuth, Ui as DEFAULT_UPLOAD_DIR, Zi as BrowserTabNotFoundError, bi as appendCdpPath, di as getChromeWebSocketUrl, ea as assertBrowserNavigationResultAllowed, nc as formatCliCommand, ta as withBrowserNavigationPolicy, vi as formatAriaSnapshot, wi as withCdpSocket, xi as fetchJson, yi as normalizeCdpWsUrl } from "./model-selection-
|
|
6
|
+
import { $i as assertBrowserNavigationRedirectChainAllowed, Ci as normalizeCdpHttpBaseForJsonEndpoints, Ei as withNoProxyForCdpUrl, Gi as resolveStrictExistingPathsWithinRoot, Hi as DEFAULT_TRACE_DIR, Ji as formatErrorMessage, Qi as assertBrowserNavigationAllowed, Si as getHeadersWithAuth, Ui as DEFAULT_UPLOAD_DIR, Zi as BrowserTabNotFoundError, bi as appendCdpPath, di as getChromeWebSocketUrl, ea as assertBrowserNavigationResultAllowed, nc as formatCliCommand, ta as withBrowserNavigationPolicy, vi as formatAriaSnapshot, wi as withCdpSocket, xi as fetchJson, yi as normalizeCdpWsUrl } from "./model-selection-CMEj8bpy.js";
|
|
7
7
|
import "./github-copilot-token-8N63GdbE.js";
|
|
8
8
|
import "./boolean-C7Ct_klp.js";
|
|
9
9
|
import "./env-lw2hsIUY.js";
|
|
@@ -3,11 +3,11 @@ import "./paths-DkxwiA8g.js";
|
|
|
3
3
|
import "./subsystem-DfXy5gUB.js";
|
|
4
4
|
import "./workspace-DGIcKCCW.js";
|
|
5
5
|
import "./logger-CbUVl62f.js";
|
|
6
|
-
import "./model-selection-
|
|
6
|
+
import "./model-selection-CMEj8bpy.js";
|
|
7
7
|
import "./github-copilot-token-8N63GdbE.js";
|
|
8
8
|
import "./boolean-C7Ct_klp.js";
|
|
9
9
|
import "./env-lw2hsIUY.js";
|
|
10
10
|
import "./frontmatter-C_obXuTp.js";
|
|
11
|
-
import "./session-
|
|
12
|
-
import { t as loginWeb } from "./login-
|
|
11
|
+
import "./session-CuVCho2m.js";
|
|
12
|
+
import { t as loginWeb } from "./login-D0fUoX-p.js";
|
|
13
13
|
export { loginWeb };
|
|
@@ -3,15 +3,15 @@ import "./paths-DkxwiA8g.js";
|
|
|
3
3
|
import "./subsystem-DfXy5gUB.js";
|
|
4
4
|
import "./workspace-DGIcKCCW.js";
|
|
5
5
|
import "./logger-CbUVl62f.js";
|
|
6
|
-
import "./model-selection-
|
|
6
|
+
import "./model-selection-CMEj8bpy.js";
|
|
7
7
|
import "./github-copilot-token-8N63GdbE.js";
|
|
8
8
|
import "./boolean-C7Ct_klp.js";
|
|
9
9
|
import "./env-lw2hsIUY.js";
|
|
10
10
|
import "./frontmatter-C_obXuTp.js";
|
|
11
|
-
import "./fetch-
|
|
12
|
-
import "./fetch-guard-
|
|
13
|
-
import "./ir-
|
|
11
|
+
import "./fetch-CMLoICyN.js";
|
|
12
|
+
import "./fetch-guard-DCj3k042.js";
|
|
13
|
+
import "./ir-CVtBjUiL.js";
|
|
14
14
|
import "./render-IRnn-2gt.js";
|
|
15
|
-
import "./tables-
|
|
16
|
-
import { n as sendPollWhatsApp, t as sendMessageWhatsApp } from "./outbound-
|
|
15
|
+
import "./tables-BAGqh2XD.js";
|
|
16
|
+
import { n as sendPollWhatsApp, t as sendMessageWhatsApp } from "./outbound-BxIJyMzV.js";
|
|
17
17
|
export { sendMessageWhatsApp, sendPollWhatsApp };
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { E as resolvePreferredOpenClawTmpDir } from "./subsystem-DfXy5gUB.js";
|
|
2
2
|
import { q as normalizeAccountId } from "./workspace-DGIcKCCW.js";
|
|
3
|
-
import { Bi as maxBytesForKind, E as retryAsync, Mi as extensionForMime, Mr as resolveDiscordAccount, Pr as normalizeDiscordToken, T as resolveRetryConfig, ao as loadConfig } from "./model-selection-
|
|
3
|
+
import { Bi as maxBytesForKind, E as retryAsync, Mi as extensionForMime, Mr as resolveDiscordAccount, Pr as normalizeDiscordToken, T as resolveRetryConfig, ao as loadConfig } from "./model-selection-CMEj8bpy.js";
|
|
4
4
|
import { i as requireTargetKind, r as parseMentionPrefixOrAtUserTarget, t as buildMessagingTarget } from "./targets-C81dAn9s.js";
|
|
5
|
-
import { a as loadWebMedia, d as chunkMarkdownTextWithMode, m as resolveChunkMode, o as loadWebMediaRaw, s as resolveMarkdownTableMode } from "./ir-
|
|
5
|
+
import { a as loadWebMedia, d as chunkMarkdownTextWithMode, m as resolveChunkMode, o as loadWebMediaRaw, s as resolveMarkdownTableMode } from "./ir-CVtBjUiL.js";
|
|
6
6
|
import { t as resolveFetch } from "./fetch-CeWULXBI.js";
|
|
7
|
-
import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-
|
|
7
|
+
import { n as recordChannelActivity, r as createDiscordRetryRunner } from "./channel-activity-dT3cYb0e.js";
|
|
8
8
|
import { t as buildOutboundMediaLoadOptions } from "./load-options-C-AlrR3n.js";
|
|
9
9
|
import { n as normalizePollInput, t as normalizePollDurationHours } from "./polls-Dw-aNTWI.js";
|
|
10
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
10
|
+
import { t as convertMarkdownTables } from "./tables-BAGqh2XD.js";
|
|
11
11
|
import fs from "node:fs/promises";
|
|
12
12
|
import path from "node:path";
|
|
13
13
|
import { promisify } from "node:util";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { d as logVerbose } from "./subsystem-DfXy5gUB.js";
|
|
2
|
-
import { ao as loadConfig, or as resolveSlackBotToken, rr as resolveSlackAccount } from "./model-selection-
|
|
2
|
+
import { ao as loadConfig, or as resolveSlackBotToken, rr as resolveSlackAccount } from "./model-selection-CMEj8bpy.js";
|
|
3
3
|
import { i as requireTargetKind, n as ensureTargetId, r as parseMentionPrefixOrAtUserTarget, t as buildMessagingTarget } from "./targets-C81dAn9s.js";
|
|
4
4
|
import { i as isSilentReplyText } from "./tokens-6ul2IrzG.js";
|
|
5
|
-
import { r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-
|
|
6
|
-
import { a as loadWebMedia, d as chunkMarkdownTextWithMode, h as resolveTextChunkLimit, m as resolveChunkMode, n as markdownToIR, s as resolveMarkdownTableMode, t as chunkMarkdownIR } from "./ir-
|
|
5
|
+
import { r as withTrustedEnvProxyGuardedFetchMode, t as fetchWithSsrFGuard } from "./fetch-guard-DCj3k042.js";
|
|
6
|
+
import { a as loadWebMedia, d as chunkMarkdownTextWithMode, h as resolveTextChunkLimit, m as resolveChunkMode, n as markdownToIR, s as resolveMarkdownTableMode, t as chunkMarkdownIR } from "./ir-CVtBjUiL.js";
|
|
7
7
|
import { t as renderMarkdownWithMarkers } from "./render-IRnn-2gt.js";
|
|
8
8
|
import { WebClient } from "@slack/web-api";
|
|
9
9
|
//#region src/slack/targets.ts
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { Li as kindFromMime, ao as loadConfig, ci as generateSecureUuid, cr as resolveSignalAccount } from "./model-selection-
|
|
1
|
+
import { Li as kindFromMime, ao as loadConfig, ci as generateSecureUuid, cr as resolveSignalAccount } from "./model-selection-CMEj8bpy.js";
|
|
2
2
|
import { n as fetchWithTimeout } from "./fetch-timeout-Bj8qHhwJ.js";
|
|
3
|
-
import { n as markdownToIR, s as resolveMarkdownTableMode, t as chunkMarkdownIR } from "./ir-
|
|
3
|
+
import { n as markdownToIR, s as resolveMarkdownTableMode, t as chunkMarkdownIR } from "./ir-CVtBjUiL.js";
|
|
4
4
|
import { t as resolveFetch } from "./fetch-CeWULXBI.js";
|
|
5
|
-
import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-
|
|
5
|
+
import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-CVJwpypG.js";
|
|
6
6
|
//#region src/signal/format.ts
|
|
7
7
|
function normalizeUrlForComparison(url) {
|
|
8
8
|
let normalized = url.toLowerCase();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { h as normalizeE164, y as resolveUserPath } from "./logger-CbUVl62f.js";
|
|
2
|
-
import { Li as kindFromMime, Or as isAllowedParsedChatSender, Tr as resolveIMessageAccount, ao as loadConfig } from "./model-selection-
|
|
3
|
-
import { s as resolveMarkdownTableMode } from "./ir-
|
|
4
|
-
import { t as convertMarkdownTables } from "./tables-
|
|
5
|
-
import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-
|
|
2
|
+
import { Li as kindFromMime, Or as isAllowedParsedChatSender, Tr as resolveIMessageAccount, ao as loadConfig } from "./model-selection-CMEj8bpy.js";
|
|
3
|
+
import { s as resolveMarkdownTableMode } from "./ir-CVtBjUiL.js";
|
|
4
|
+
import { t as convertMarkdownTables } from "./tables-BAGqh2XD.js";
|
|
5
|
+
import { t as resolveOutboundAttachmentFromUrl } from "./outbound-attachment-CVJwpypG.js";
|
|
6
6
|
import { spawn } from "node:child_process";
|
|
7
7
|
import { createInterface } from "node:readline";
|
|
8
8
|
//#region src/imessage/target-parsing-helpers.ts
|
|
@@ -3,12 +3,12 @@ import { c as resolveStateDir, d as resolveRequiredHomeDir, l as expandHomePrefi
|
|
|
3
3
|
import { d as logVerbose, l as danger, t as createSubsystemLogger } from "./subsystem-DfXy5gUB.js";
|
|
4
4
|
import { q as normalizeAccountId } from "./workspace-DGIcKCCW.js";
|
|
5
5
|
import { a as CONFIG_DIR, b as safeParseJson } from "./logger-CbUVl62f.js";
|
|
6
|
-
import { Ii as isGifMedia, Ji as formatErrorMessage, Ki as collectErrorGraphCandidates, Li as kindFromMime, Ni as getFileExtension, Ri as normalizeMimeType, Rn as getChannelPlugin, Vs as resolveTelegramPreviewStreamMode, Xi as readErrorName, Xn as resolveTelegramAccount, Yi as formatUncaughtError, ao as loadConfig, ii as writeJsonAtomic, qi as extractErrorCode, so as readConfigFileSnapshotForWrite, tc as withFileLock$1, uo as writeConfigFile, zn as listChannelPlugins } from "./model-selection-
|
|
6
|
+
import { Ii as isGifMedia, Ji as formatErrorMessage, Ki as collectErrorGraphCandidates, Li as kindFromMime, Ni as getFileExtension, Ri as normalizeMimeType, Rn as getChannelPlugin, Vs as resolveTelegramPreviewStreamMode, Xi as readErrorName, Xn as resolveTelegramAccount, Yi as formatUncaughtError, ao as loadConfig, ii as writeJsonAtomic, qi as extractErrorCode, so as readConfigFileSnapshotForWrite, tc as withFileLock$1, uo as writeConfigFile, zn as listChannelPlugins } from "./model-selection-CMEj8bpy.js";
|
|
7
7
|
import { n as normalizeTelegramLookupTarget, r as parseTelegramTarget, t as normalizeTelegramChatId } from "./targets-D4pwl9LR.js";
|
|
8
8
|
import { n as makeProxyFetch } from "./proxy-fetch-BOh1PLOW.js";
|
|
9
|
-
import { a as loadWebMedia, n as markdownToIR, s as resolveMarkdownTableMode, t as chunkMarkdownIR } from "./ir-
|
|
9
|
+
import { a as loadWebMedia, n as markdownToIR, s as resolveMarkdownTableMode, t as chunkMarkdownIR } from "./ir-CVtBjUiL.js";
|
|
10
10
|
import { t as renderMarkdownWithMarkers } from "./render-IRnn-2gt.js";
|
|
11
|
-
import { i as createTelegramRetryRunner, n as recordChannelActivity } from "./channel-activity-
|
|
11
|
+
import { i as createTelegramRetryRunner, n as recordChannelActivity } from "./channel-activity-dT3cYb0e.js";
|
|
12
12
|
import { t as buildOutboundMediaLoadOptions } from "./load-options-C-AlrR3n.js";
|
|
13
13
|
import { n as normalizePollInput } from "./polls-Dw-aNTWI.js";
|
|
14
14
|
import { t as resolveTelegramFetch } from "./fetch-C0iyt-Iz.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { S as toPinoLikeLogger, b as getChildLogger, h as success, l as danger } from "./subsystem-DfXy5gUB.js";
|
|
2
2
|
import { l as ensureDir, y as resolveUserPath } from "./logger-CbUVl62f.js";
|
|
3
|
-
import { Cr as resolveWebCredsPath, Sr as resolveWebCredsBackupPath, Ws as VERSION, _r as maybeRestoreCredsFromBackup, nc as formatCliCommand, xr as resolveDefaultWebAuthDir, yr as readCredsJsonRaw } from "./model-selection-
|
|
3
|
+
import { Cr as resolveWebCredsPath, Sr as resolveWebCredsBackupPath, Ws as VERSION, _r as maybeRestoreCredsFromBackup, nc as formatCliCommand, xr as resolveDefaultWebAuthDir, yr as readCredsJsonRaw } from "./model-selection-CMEj8bpy.js";
|
|
4
4
|
import syncFs from "node:fs";
|
|
5
5
|
import "node:crypto";
|
|
6
6
|
import { DisconnectReason, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "@whiskeysockets/baileys";
|
|
@@ -2,8 +2,8 @@ import { N as resolveAgentSkillsFilter, O as listAgentIds, P as resolveAgentWork
|
|
|
2
2
|
import { c as resolveStateDir } from "./paths-DkxwiA8g.js";
|
|
3
3
|
import { d as logVerbose, t as createSubsystemLogger } from "./subsystem-DfXy5gUB.js";
|
|
4
4
|
import { a as CONFIG_DIR, y as resolveUserPath } from "./logger-CbUVl62f.js";
|
|
5
|
-
import { da as buildWorkspaceSkillCommandSpecs, ha as resolvePluginSkillDirs, ni as createAsyncLock } from "./model-selection-
|
|
6
|
-
import { i as listChatCommands } from "./commands-registry-
|
|
5
|
+
import { da as buildWorkspaceSkillCommandSpecs, ha as resolvePluginSkillDirs, ni as createAsyncLock } from "./model-selection-CMEj8bpy.js";
|
|
6
|
+
import { i as listChatCommands } from "./commands-registry-CyLMCPuP.js";
|
|
7
7
|
import os from "node:os";
|
|
8
8
|
import path from "node:path";
|
|
9
9
|
import syncFs from "node:fs";
|
|
@@ -3,10 +3,10 @@ import "./paths-DkxwiA8g.js";
|
|
|
3
3
|
import "./subsystem-DfXy5gUB.js";
|
|
4
4
|
import "./workspace-DGIcKCCW.js";
|
|
5
5
|
import "./logger-CbUVl62f.js";
|
|
6
|
-
import "./model-selection-
|
|
6
|
+
import "./model-selection-CMEj8bpy.js";
|
|
7
7
|
import "./github-copilot-token-8N63GdbE.js";
|
|
8
8
|
import "./boolean-C7Ct_klp.js";
|
|
9
9
|
import "./env-lw2hsIUY.js";
|
|
10
10
|
import "./frontmatter-C_obXuTp.js";
|
|
11
|
-
import { f as resolveCommandArgMenu, n as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs } from "./commands-registry-
|
|
11
|
+
import { f as resolveCommandArgMenu, n as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as parseCommandArgs } from "./commands-registry-CyLMCPuP.js";
|
|
12
12
|
export { buildCommandTextFromArgs, findCommandByNativeName, listNativeCommandSpecsForConfig, parseCommandArgs, resolveCommandArgMenu };
|