@ecat/weixin-bot-cli 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/acp/client.js +4 -3
- package/dist/acp/client.js.map +1 -1
- package/dist/media/media-download.d.ts +14 -1
- package/dist/media/media-download.js.map +1 -1
- package/dist/messaging/send.js +1 -2
- package/dist/messaging/send.js.map +1 -1
- package/dist/util/logger.js +1 -1
- package/dist/util/logger.js.map +1 -1
- package/package.json +1 -1
- package/dist/messaging/debug-mode.d.ts +0 -9
- package/dist/messaging/debug-mode.js +0 -63
- package/dist/messaging/debug-mode.js.map +0 -1
- package/dist/messaging/inbound.d.ts +0 -69
- package/dist/messaging/inbound.js +0 -201
- package/dist/messaging/inbound.js.map +0 -1
package/dist/acp/client.js
CHANGED
|
@@ -118,9 +118,10 @@ export class AcpManager {
|
|
|
118
118
|
throw new Error("Connection already initialized. Call close() first.");
|
|
119
119
|
}
|
|
120
120
|
// Spawn the agent as a subprocess
|
|
121
|
-
const cmd = process.platform === "win32" ?
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
const cmd = process.platform === "win32" ?
|
|
122
|
+
["cmd", "/c", this.agentCmd, ...this.agentArgs] :
|
|
123
|
+
["bash", "-c", `${this.agentCmd} ${this.agentArgs.join(" ")}`];
|
|
124
|
+
this.agentProcess = spawn(cmd[0], cmd.slice(1), {
|
|
124
125
|
stdio: ["pipe", "pipe", "inherit"],
|
|
125
126
|
});
|
|
126
127
|
// Create streams to communicate with the agent
|
package/dist/acp/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/acp/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/acp/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
export type WeixinInboundMediaOpts = {
|
|
2
|
+
/** Local path to decrypted image file. */
|
|
3
|
+
decryptedPicPath?: string;
|
|
4
|
+
/** Local path to transcoded/raw voice file (.wav or .silk). */
|
|
5
|
+
decryptedVoicePath?: string;
|
|
6
|
+
/** MIME type for the voice file (e.g. "audio/wav" or "audio/silk"). */
|
|
7
|
+
voiceMediaType?: string;
|
|
8
|
+
/** Local path to decrypted file attachment. */
|
|
9
|
+
decryptedFilePath?: string;
|
|
10
|
+
/** MIME type for the file attachment (guessed from file_name). */
|
|
11
|
+
fileMediaType?: string;
|
|
12
|
+
/** Local path to decrypted video file. */
|
|
13
|
+
decryptedVideoPath?: string;
|
|
14
|
+
};
|
|
2
15
|
import type { WeixinMessage } from "../api/types.js";
|
|
3
16
|
/** Persist a buffer via the framework's unified media store. */
|
|
4
17
|
type SaveMediaFn = (buffer: Buffer, contentType?: string, subdir?: string, maxBytes?: number, originalFilename?: string) => Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-download.js","sourceRoot":"","sources":["../../src/media/media-download.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"media-download.js","sourceRoot":"","sources":["../../src/media/media-download.ts"],"names":[],"mappings":"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"}
|
package/dist/messaging/send.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
// Local standalone stripMarkdown to remove openclaw dependency
|
|
2
1
|
export function stripMarkdown(str) {
|
|
3
2
|
return str.replace(/([_*~`])/g, '');
|
|
4
3
|
}
|
|
@@ -7,7 +6,7 @@ import { logger } from "../util/logger.js";
|
|
|
7
6
|
import { generateId } from "../util/random.js";
|
|
8
7
|
import { MessageItemType, MessageState, MessageType } from "../api/types.js";
|
|
9
8
|
function generateClientId() {
|
|
10
|
-
return generateId("
|
|
9
|
+
return generateId("weixin-bot-cli");
|
|
11
10
|
}
|
|
12
11
|
/**
|
|
13
12
|
* Convert markdown-formatted model reply to plain text for Weixin delivery.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/messaging/send.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"send.js","sourceRoot":"","sources":["../../src/messaging/send.ts"],"names":[],"mappings":"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"}
|
package/dist/util/logger.js
CHANGED
|
@@ -18,7 +18,7 @@ const LEVEL_IDS = {
|
|
|
18
18
|
};
|
|
19
19
|
const DEFAULT_LOG_LEVEL = "INFO";
|
|
20
20
|
function resolveMinLevel() {
|
|
21
|
-
const env = process.env.
|
|
21
|
+
const env = process.env.WEIXIN_BOT_CLI_LOG_LEVEL?.toUpperCase();
|
|
22
22
|
if (env && env in LEVEL_IDS)
|
|
23
23
|
return LEVEL_IDS[env];
|
|
24
24
|
return LEVEL_IDS[DEFAULT_LOG_LEVEL];
|
package/dist/util/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAI7B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;AACxE,MAAM,SAAS,GAAG,gBAAgB,CAAC;AACnC,MAAM,OAAO,GAAG,MAAM,CAAC;AACvB,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC9C,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC;AAC5C,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC;AAE7B,yDAAyD;AACzD,MAAM,SAAS,GAA2B;IACxC,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,KAAK,EAAE,CAAC;CACT,CAAC;AAEF,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC,SAAS,eAAe;IACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/util/logger.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/** Toggle debug mode for a bot account. Returns the new state. */
|
|
2
|
-
export declare function toggleDebugMode(accountId: string): boolean;
|
|
3
|
-
/** Check whether debug mode is active for a bot account. */
|
|
4
|
-
export declare function isDebugMode(accountId: string): boolean;
|
|
5
|
-
/**
|
|
6
|
-
* Reset internal state — only for tests.
|
|
7
|
-
* @internal
|
|
8
|
-
*/
|
|
9
|
-
export declare function _resetForTest(): void;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-bot debug mode toggle, persisted to disk so it survives gateway restarts.
|
|
3
|
-
*
|
|
4
|
-
* State file: `<stateDir>/openclaw-weixin/debug-mode.json`
|
|
5
|
-
* Format: `{ "accounts": { "<accountId>": true, ... } }`
|
|
6
|
-
*
|
|
7
|
-
* When enabled, processOneMessage appends a timing summary after each
|
|
8
|
-
* AI reply is delivered to the user.
|
|
9
|
-
*/
|
|
10
|
-
import fs from "node:fs";
|
|
11
|
-
import path from "node:path";
|
|
12
|
-
import { resolveStateDir } from "../storage/state-dir.js";
|
|
13
|
-
import { logger } from "../util/logger.js";
|
|
14
|
-
function resolveDebugModePath() {
|
|
15
|
-
return path.join(resolveStateDir(), "openclaw-weixin", "debug-mode.json");
|
|
16
|
-
}
|
|
17
|
-
function loadState() {
|
|
18
|
-
try {
|
|
19
|
-
const raw = fs.readFileSync(resolveDebugModePath(), "utf-8");
|
|
20
|
-
const parsed = JSON.parse(raw);
|
|
21
|
-
if (parsed && typeof parsed.accounts === "object")
|
|
22
|
-
return parsed;
|
|
23
|
-
}
|
|
24
|
-
catch {
|
|
25
|
-
// missing or corrupt — start fresh
|
|
26
|
-
}
|
|
27
|
-
return { accounts: {} };
|
|
28
|
-
}
|
|
29
|
-
function saveState(state) {
|
|
30
|
-
const filePath = resolveDebugModePath();
|
|
31
|
-
fs.mkdirSync(path.dirname(filePath), { recursive: true });
|
|
32
|
-
fs.writeFileSync(filePath, JSON.stringify(state, null, 2), "utf-8");
|
|
33
|
-
}
|
|
34
|
-
/** Toggle debug mode for a bot account. Returns the new state. */
|
|
35
|
-
export function toggleDebugMode(accountId) {
|
|
36
|
-
const state = loadState();
|
|
37
|
-
const next = !state.accounts[accountId];
|
|
38
|
-
state.accounts[accountId] = next;
|
|
39
|
-
try {
|
|
40
|
-
saveState(state);
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
logger.error(`debug-mode: failed to persist state: ${String(err)}`);
|
|
44
|
-
}
|
|
45
|
-
return next;
|
|
46
|
-
}
|
|
47
|
-
/** Check whether debug mode is active for a bot account. */
|
|
48
|
-
export function isDebugMode(accountId) {
|
|
49
|
-
return loadState().accounts[accountId] === true;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Reset internal state — only for tests.
|
|
53
|
-
* @internal
|
|
54
|
-
*/
|
|
55
|
-
export function _resetForTest() {
|
|
56
|
-
try {
|
|
57
|
-
fs.unlinkSync(resolveDebugModePath());
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
// ignore if not present
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=debug-mode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug-mode.js","sourceRoot":"","sources":["../../src/messaging/debug-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAM3C,SAAS,oBAAoB;IAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,SAAS;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;QACjD,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,mCAAmC;IACrC,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC1B,CAAC;AAED,SAAS,SAAS,CAAC,KAAqB;IACtC,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACtE,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACxC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACjC,IAAI,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,wCAAwC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,OAAO,SAAS,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;AAClD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;AACH,CAAC"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import type { WeixinMessage, MessageItem } from "../api/types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Restore persisted context tokens for an account into the in-memory map.
|
|
4
|
-
* Called once during gateway startAccount to survive restarts.
|
|
5
|
-
*/
|
|
6
|
-
export declare function restoreContextTokens(accountId: string): void;
|
|
7
|
-
/** Remove all context tokens for a given account (memory + disk). */
|
|
8
|
-
export declare function clearContextTokensForAccount(accountId: string): void;
|
|
9
|
-
/** Store a context token for a given account+user pair (memory + disk). */
|
|
10
|
-
export declare function setContextToken(accountId: string, userId: string, token: string): void;
|
|
11
|
-
/** Retrieve the cached context token for a given account+user pair. */
|
|
12
|
-
export declare function getContextToken(accountId: string, userId: string): string | undefined;
|
|
13
|
-
/**
|
|
14
|
-
* Find all accountIds that have an active contextToken for the given userId.
|
|
15
|
-
* Used to infer the sending bot account from the recipient address when
|
|
16
|
-
* accountId is not explicitly provided (e.g. cron delivery).
|
|
17
|
-
*
|
|
18
|
-
* Returns all matching accountIds (not just the first) so the caller can
|
|
19
|
-
* detect ambiguity when multiple accounts have sessions with the same user.
|
|
20
|
-
*/
|
|
21
|
-
export declare function findAccountIdsByContextToken(accountIds: string[], userId: string): string[];
|
|
22
|
-
/** Inbound context passed to the OpenClaw core pipeline (matches MsgContext shape). */
|
|
23
|
-
export type WeixinMsgContext = {
|
|
24
|
-
Body: string;
|
|
25
|
-
From: string;
|
|
26
|
-
To: string;
|
|
27
|
-
AccountId: string;
|
|
28
|
-
OriginatingChannel: "openclaw-weixin";
|
|
29
|
-
OriginatingTo: string;
|
|
30
|
-
MessageSid: string;
|
|
31
|
-
Timestamp?: number;
|
|
32
|
-
Provider: "openclaw-weixin";
|
|
33
|
-
ChatType: "direct";
|
|
34
|
-
/** Set by monitor after resolveAgentRoute so dispatchReplyFromConfig uses the correct session. */
|
|
35
|
-
SessionKey?: string;
|
|
36
|
-
context_token?: string;
|
|
37
|
-
MediaUrl?: string;
|
|
38
|
-
MediaPath?: string;
|
|
39
|
-
MediaType?: string;
|
|
40
|
-
/** Raw message body for framework command authorization. */
|
|
41
|
-
CommandBody?: string;
|
|
42
|
-
/** Whether the sender is authorized to execute slash commands. */
|
|
43
|
-
CommandAuthorized?: boolean;
|
|
44
|
-
};
|
|
45
|
-
/** Returns true if the message item is a media type (image, video, file, or voice). */
|
|
46
|
-
export declare function isMediaItem(item: MessageItem): boolean;
|
|
47
|
-
export type WeixinInboundMediaOpts = {
|
|
48
|
-
/** Local path to decrypted image file. */
|
|
49
|
-
decryptedPicPath?: string;
|
|
50
|
-
/** Local path to transcoded/raw voice file (.wav or .silk). */
|
|
51
|
-
decryptedVoicePath?: string;
|
|
52
|
-
/** MIME type for the voice file (e.g. "audio/wav" or "audio/silk"). */
|
|
53
|
-
voiceMediaType?: string;
|
|
54
|
-
/** Local path to decrypted file attachment. */
|
|
55
|
-
decryptedFilePath?: string;
|
|
56
|
-
/** MIME type for the file attachment (guessed from file_name). */
|
|
57
|
-
fileMediaType?: string;
|
|
58
|
-
/** Local path to decrypted video file. */
|
|
59
|
-
decryptedVideoPath?: string;
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* Convert a WeixinMessage from getUpdates to the inbound MsgContext for the core pipeline.
|
|
63
|
-
* Media: only pass MediaPath (local file, after CDN download + decrypt).
|
|
64
|
-
* We never pass MediaUrl — the upstream CDN URL is encrypted/auth-only.
|
|
65
|
-
* Priority when multiple media types present: image > video > file > voice.
|
|
66
|
-
*/
|
|
67
|
-
export declare function weixinMessageToMsgContext(msg: WeixinMessage, accountId: string, opts?: WeixinInboundMediaOpts): WeixinMsgContext;
|
|
68
|
-
/** Extract the context_token from an inbound WeixinMsgContext. */
|
|
69
|
-
export declare function getContextTokenFromMsgContext(ctx: WeixinMsgContext): string | undefined;
|
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
import fs from "node:fs";
|
|
2
|
-
import path from "node:path";
|
|
3
|
-
import { logger } from "../util/logger.js";
|
|
4
|
-
import { generateId } from "../util/random.js";
|
|
5
|
-
import { MessageItemType } from "../api/types.js";
|
|
6
|
-
import { resolveStateDir } from "../storage/state-dir.js";
|
|
7
|
-
// ---------------------------------------------------------------------------
|
|
8
|
-
// Context token store (in-process cache + disk persistence)
|
|
9
|
-
// ---------------------------------------------------------------------------
|
|
10
|
-
/**
|
|
11
|
-
* contextToken is issued per-message by the Weixin getupdates API and must
|
|
12
|
-
* be echoed verbatim in every outbound send. The in-memory map is the primary
|
|
13
|
-
* lookup; a disk-backed file per account ensures tokens survive gateway restarts.
|
|
14
|
-
*/
|
|
15
|
-
const contextTokenStore = new Map();
|
|
16
|
-
function contextTokenKey(accountId, userId) {
|
|
17
|
-
return `${accountId}:${userId}`;
|
|
18
|
-
}
|
|
19
|
-
// ---------------------------------------------------------------------------
|
|
20
|
-
// Disk persistence helpers
|
|
21
|
-
// ---------------------------------------------------------------------------
|
|
22
|
-
function resolveContextTokenFilePath(accountId) {
|
|
23
|
-
return path.join(resolveStateDir(), "openclaw-weixin", "accounts", `${accountId}.context-tokens.json`);
|
|
24
|
-
}
|
|
25
|
-
/** Persist all context tokens for a given account to disk. */
|
|
26
|
-
function persistContextTokens(accountId) {
|
|
27
|
-
const prefix = `${accountId}:`;
|
|
28
|
-
const tokens = {};
|
|
29
|
-
for (const [k, v] of contextTokenStore) {
|
|
30
|
-
if (k.startsWith(prefix)) {
|
|
31
|
-
tokens[k.slice(prefix.length)] = v;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
const filePath = resolveContextTokenFilePath(accountId);
|
|
35
|
-
try {
|
|
36
|
-
const dir = path.dirname(filePath);
|
|
37
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
38
|
-
fs.writeFileSync(filePath, JSON.stringify(tokens, null, 0), "utf-8");
|
|
39
|
-
}
|
|
40
|
-
catch (err) {
|
|
41
|
-
logger.warn(`persistContextTokens: failed to write ${filePath}: ${String(err)}`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Restore persisted context tokens for an account into the in-memory map.
|
|
46
|
-
* Called once during gateway startAccount to survive restarts.
|
|
47
|
-
*/
|
|
48
|
-
export function restoreContextTokens(accountId) {
|
|
49
|
-
const filePath = resolveContextTokenFilePath(accountId);
|
|
50
|
-
try {
|
|
51
|
-
if (!fs.existsSync(filePath))
|
|
52
|
-
return;
|
|
53
|
-
const raw = fs.readFileSync(filePath, "utf-8");
|
|
54
|
-
const tokens = JSON.parse(raw);
|
|
55
|
-
let count = 0;
|
|
56
|
-
for (const [userId, token] of Object.entries(tokens)) {
|
|
57
|
-
if (typeof token === "string" && token) {
|
|
58
|
-
contextTokenStore.set(contextTokenKey(accountId, userId), token);
|
|
59
|
-
count++;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
logger.info(`restoreContextTokens: restored ${count} tokens for account=${accountId}`);
|
|
63
|
-
}
|
|
64
|
-
catch (err) {
|
|
65
|
-
logger.warn(`restoreContextTokens: failed to read ${filePath}: ${String(err)}`);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/** Remove all context tokens for a given account (memory + disk). */
|
|
69
|
-
export function clearContextTokensForAccount(accountId) {
|
|
70
|
-
const prefix = `${accountId}:`;
|
|
71
|
-
for (const k of [...contextTokenStore.keys()]) {
|
|
72
|
-
if (k.startsWith(prefix)) {
|
|
73
|
-
contextTokenStore.delete(k);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
const filePath = resolveContextTokenFilePath(accountId);
|
|
77
|
-
try {
|
|
78
|
-
if (fs.existsSync(filePath))
|
|
79
|
-
fs.unlinkSync(filePath);
|
|
80
|
-
}
|
|
81
|
-
catch (err) {
|
|
82
|
-
logger.warn(`clearContextTokensForAccount: failed to remove ${filePath}: ${String(err)}`);
|
|
83
|
-
}
|
|
84
|
-
logger.info(`clearContextTokensForAccount: cleared tokens for account=${accountId}`);
|
|
85
|
-
}
|
|
86
|
-
/** Store a context token for a given account+user pair (memory + disk). */
|
|
87
|
-
export function setContextToken(accountId, userId, token) {
|
|
88
|
-
const k = contextTokenKey(accountId, userId);
|
|
89
|
-
logger.debug(`setContextToken: key=${k}`);
|
|
90
|
-
contextTokenStore.set(k, token);
|
|
91
|
-
persistContextTokens(accountId);
|
|
92
|
-
}
|
|
93
|
-
/** Retrieve the cached context token for a given account+user pair. */
|
|
94
|
-
export function getContextToken(accountId, userId) {
|
|
95
|
-
const k = contextTokenKey(accountId, userId);
|
|
96
|
-
const val = contextTokenStore.get(k);
|
|
97
|
-
logger.debug(`getContextToken: key=${k} found=${val !== undefined} storeSize=${contextTokenStore.size}`);
|
|
98
|
-
return val;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Find all accountIds that have an active contextToken for the given userId.
|
|
102
|
-
* Used to infer the sending bot account from the recipient address when
|
|
103
|
-
* accountId is not explicitly provided (e.g. cron delivery).
|
|
104
|
-
*
|
|
105
|
-
* Returns all matching accountIds (not just the first) so the caller can
|
|
106
|
-
* detect ambiguity when multiple accounts have sessions with the same user.
|
|
107
|
-
*/
|
|
108
|
-
export function findAccountIdsByContextToken(accountIds, userId) {
|
|
109
|
-
return accountIds.filter((id) => contextTokenStore.has(contextTokenKey(id, userId)));
|
|
110
|
-
}
|
|
111
|
-
// ---------------------------------------------------------------------------
|
|
112
|
-
// Message ID generation
|
|
113
|
-
// ---------------------------------------------------------------------------
|
|
114
|
-
function generateMessageSid() {
|
|
115
|
-
return generateId("openclaw-weixin");
|
|
116
|
-
}
|
|
117
|
-
/** Returns true if the message item is a media type (image, video, file, or voice). */
|
|
118
|
-
export function isMediaItem(item) {
|
|
119
|
-
return (item.type === MessageItemType.IMAGE ||
|
|
120
|
-
item.type === MessageItemType.VIDEO ||
|
|
121
|
-
item.type === MessageItemType.FILE ||
|
|
122
|
-
item.type === MessageItemType.VOICE);
|
|
123
|
-
}
|
|
124
|
-
function bodyFromItemList(itemList) {
|
|
125
|
-
if (!itemList?.length)
|
|
126
|
-
return "";
|
|
127
|
-
for (const item of itemList) {
|
|
128
|
-
if (item.type === MessageItemType.TEXT && item.text_item?.text != null) {
|
|
129
|
-
const text = String(item.text_item.text);
|
|
130
|
-
const ref = item.ref_msg;
|
|
131
|
-
if (!ref)
|
|
132
|
-
return text;
|
|
133
|
-
// Quoted media is passed as MediaPath; only include the current text as body.
|
|
134
|
-
if (ref.message_item && isMediaItem(ref.message_item))
|
|
135
|
-
return text;
|
|
136
|
-
// Build quoted context from both title and message_item content.
|
|
137
|
-
const parts = [];
|
|
138
|
-
if (ref.title)
|
|
139
|
-
parts.push(ref.title);
|
|
140
|
-
if (ref.message_item) {
|
|
141
|
-
const refBody = bodyFromItemList([ref.message_item]);
|
|
142
|
-
if (refBody)
|
|
143
|
-
parts.push(refBody);
|
|
144
|
-
}
|
|
145
|
-
if (!parts.length)
|
|
146
|
-
return text;
|
|
147
|
-
return `[引用: ${parts.join(" | ")}]\n${text}`;
|
|
148
|
-
}
|
|
149
|
-
// 语音转文字:如果语音消息有 text 字段,直接使用文字内容
|
|
150
|
-
if (item.type === MessageItemType.VOICE && item.voice_item?.text) {
|
|
151
|
-
return item.voice_item.text;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return "";
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Convert a WeixinMessage from getUpdates to the inbound MsgContext for the core pipeline.
|
|
158
|
-
* Media: only pass MediaPath (local file, after CDN download + decrypt).
|
|
159
|
-
* We never pass MediaUrl — the upstream CDN URL is encrypted/auth-only.
|
|
160
|
-
* Priority when multiple media types present: image > video > file > voice.
|
|
161
|
-
*/
|
|
162
|
-
export function weixinMessageToMsgContext(msg, accountId, opts) {
|
|
163
|
-
const from_user_id = msg.from_user_id ?? "";
|
|
164
|
-
const ctx = {
|
|
165
|
-
Body: bodyFromItemList(msg.item_list),
|
|
166
|
-
From: from_user_id,
|
|
167
|
-
To: from_user_id,
|
|
168
|
-
AccountId: accountId,
|
|
169
|
-
OriginatingChannel: "openclaw-weixin",
|
|
170
|
-
OriginatingTo: from_user_id,
|
|
171
|
-
MessageSid: generateMessageSid(),
|
|
172
|
-
Timestamp: msg.create_time_ms,
|
|
173
|
-
Provider: "openclaw-weixin",
|
|
174
|
-
ChatType: "direct",
|
|
175
|
-
};
|
|
176
|
-
if (msg.context_token) {
|
|
177
|
-
ctx.context_token = msg.context_token;
|
|
178
|
-
}
|
|
179
|
-
if (opts?.decryptedPicPath) {
|
|
180
|
-
ctx.MediaPath = opts.decryptedPicPath;
|
|
181
|
-
ctx.MediaType = "image/*";
|
|
182
|
-
}
|
|
183
|
-
else if (opts?.decryptedVideoPath) {
|
|
184
|
-
ctx.MediaPath = opts.decryptedVideoPath;
|
|
185
|
-
ctx.MediaType = "video/mp4";
|
|
186
|
-
}
|
|
187
|
-
else if (opts?.decryptedFilePath) {
|
|
188
|
-
ctx.MediaPath = opts.decryptedFilePath;
|
|
189
|
-
ctx.MediaType = opts.fileMediaType ?? "application/octet-stream";
|
|
190
|
-
}
|
|
191
|
-
else if (opts?.decryptedVoicePath) {
|
|
192
|
-
ctx.MediaPath = opts.decryptedVoicePath;
|
|
193
|
-
ctx.MediaType = opts.voiceMediaType ?? "audio/wav";
|
|
194
|
-
}
|
|
195
|
-
return ctx;
|
|
196
|
-
}
|
|
197
|
-
/** Extract the context_token from an inbound WeixinMsgContext. */
|
|
198
|
-
export function getContextTokenFromMsgContext(ctx) {
|
|
199
|
-
return ctx.context_token;
|
|
200
|
-
}
|
|
201
|
-
//# sourceMappingURL=inbound.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../src/messaging/inbound.ts"],"names":[],"mappings":"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"}
|