@openclaw/qqbot 2026.5.10-beta.2 → 2026.5.10-beta.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/api.js +6 -6
- package/dist/{channel-Cl-NJpPD.js → channel-CmK-n3Oz.js} +12 -12
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.setup-BDM8y3aD.js → channel.setup-D_GS95Pk.js} +2 -2
- package/dist/{config-BNAanXEH.js → config-BT8KP_H1.js} +2 -2
- package/dist/{config-schema-BTV9NZbt.js → config-schema-BCxobX3l.js} +4 -4
- package/dist/{exec-approvals-DgO1msIB.js → exec-approvals-W4oL9R6C.js} +2 -2
- package/dist/{gateway-OhbnW8Uq.js → gateway-Bbsd8-ne.js} +33 -11
- package/dist/{handler-runtime-C9SrM2gR.js → handler-runtime-ZgvjnyoH.js} +4 -4
- package/dist/{outbound-DL154TS6.js → outbound-BLWish89.js} +3 -3
- package/dist/{request-context-Bn63CUkr.js → request-context-BwSBFANU.js} +2 -2
- package/dist/{resolve-Cm33TWZp.js → resolve-D3lCbUze.js} +1 -1
- package/dist/{runtime-CHGblcVc.js → runtime-CZyFkpnB.js} +1 -1
- package/dist/runtime-api.js +1 -1
- package/dist/{sender-C-TmIFow.js → sender-BrpzCcXA.js} +2 -2
- package/dist/setup-plugin-api.js +1 -1
- package/dist/{string-normalize-BzzzPOeb.js → string-normalize-C46CS-F1.js} +2 -2
- package/dist/{target-parser-CTNFSKb1.js → target-parser-C8HaD-ik.js} +2 -2
- package/package.json +6 -5
package/dist/api.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { C as recordMessageReply, E as setOutboundAudioPort, S as getMessageReplyStats, T as OUTBOUND_ERROR_CODES, _ as sendVoice, a as sendText, b as checkMessageReplyLimit, d as buildMediaTarget, f as parseTarget, g as sendVideoMsg, h as sendPhoto, i as sendProactiveMessage, m as sendDocument, n as sendCronMessage, p as resolveOutboundMediaPath, r as sendMedia, v as resolveUserFacingMediaError, w as DEFAULT_MEDIA_SEND_ERROR, x as getMessageReplyConfig, y as MESSAGE_REPLY_LIMIT } from "./outbound-
|
|
2
|
-
import { a as resolveQQBotAccount, i as resolveDefaultQQBotAccountId, n as applyQQBotAccountConfig, r as listQQBotAccountIds, t as DEFAULT_ACCOUNT_ID } from "./config-
|
|
3
|
-
import { t as qqbotPlugin } from "./channel-
|
|
4
|
-
import { L as formatErrorMessage, S as debugLog, o as getAccessToken, x as debugError } from "./sender-
|
|
5
|
-
import { t as qqbotSetupPlugin } from "./channel.setup-
|
|
6
|
-
import { r as getFrameworkCommands, t as getRequestContext } from "./request-context-
|
|
1
|
+
import { C as recordMessageReply, E as setOutboundAudioPort, S as getMessageReplyStats, T as OUTBOUND_ERROR_CODES, _ as sendVoice, a as sendText, b as checkMessageReplyLimit, d as buildMediaTarget, f as parseTarget, g as sendVideoMsg, h as sendPhoto, i as sendProactiveMessage, m as sendDocument, n as sendCronMessage, p as resolveOutboundMediaPath, r as sendMedia, v as resolveUserFacingMediaError, w as DEFAULT_MEDIA_SEND_ERROR, x as getMessageReplyConfig, y as MESSAGE_REPLY_LIMIT } from "./outbound-BLWish89.js";
|
|
2
|
+
import { a as resolveQQBotAccount, i as resolveDefaultQQBotAccountId, n as applyQQBotAccountConfig, r as listQQBotAccountIds, t as DEFAULT_ACCOUNT_ID } from "./config-BT8KP_H1.js";
|
|
3
|
+
import { t as qqbotPlugin } from "./channel-CmK-n3Oz.js";
|
|
4
|
+
import { L as formatErrorMessage, S as debugLog, o as getAccessToken, x as debugError } from "./sender-BrpzCcXA.js";
|
|
5
|
+
import { t as qqbotSetupPlugin } from "./channel.setup-D_GS95Pk.js";
|
|
6
|
+
import { r as getFrameworkCommands, t as getRequestContext } from "./request-context-BwSBFANU.js";
|
|
7
7
|
import { callGatewayTool } from "openclaw/plugin-sdk/agent-harness-runtime";
|
|
8
8
|
//#region extensions/qqbot/src/engine/tools/channel-api.ts
|
|
9
9
|
/**
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { t as asOptionalObjectRecord } from "./string-normalize-
|
|
2
|
-
import { l as ensurePlatformAdapter, u as getBridgeLogger } from "./resolve-
|
|
1
|
+
import { t as asOptionalObjectRecord } from "./string-normalize-C46CS-F1.js";
|
|
2
|
+
import { l as ensurePlatformAdapter, u as getBridgeLogger } from "./resolve-D3lCbUze.js";
|
|
3
3
|
import { a as resolveApprovalTarget } from "./approval-cg0SVahb.js";
|
|
4
|
-
import { a as resolveQQBotAccount, n as applyQQBotAccountConfig, t as DEFAULT_ACCOUNT_ID$1 } from "./config-
|
|
5
|
-
import { a as resolveQQBotExecApprovalConfig, i as matchesQQBotApprovalAccount, n as isQQBotExecApprovalAuthorizedSender, o as shouldHandleQQBotExecApprovalRequest, r as isQQBotExecApprovalClientEnabled, t as isQQBotExecApprovalApprover } from "./exec-approvals-
|
|
6
|
-
import { a as qqbotSetupAdapterShared, i as qqbotMeta, n as qqbotSetupWizard, r as qqbotConfigAdapter, t as qqbotChannelConfigSchema } from "./config-schema-
|
|
4
|
+
import { a as resolveQQBotAccount, n as applyQQBotAccountConfig, t as DEFAULT_ACCOUNT_ID$1 } from "./config-BT8KP_H1.js";
|
|
5
|
+
import { a as resolveQQBotExecApprovalConfig, i as matchesQQBotApprovalAccount, n as isQQBotExecApprovalAuthorizedSender, o as shouldHandleQQBotExecApprovalRequest, r as isQQBotExecApprovalClientEnabled, t as isQQBotExecApprovalApprover } from "./exec-approvals-W4oL9R6C.js";
|
|
6
|
+
import { a as qqbotSetupAdapterShared, i as qqbotMeta, n as qqbotSetupWizard, r as qqbotConfigAdapter, t as qqbotChannelConfigSchema } from "./config-schema-BCxobX3l.js";
|
|
7
7
|
import { n as writeOpenClawConfigThroughRuntime, t as toGatewayAccount } from "./narrowing-BoieBTIU.js";
|
|
8
|
-
import { t as getQQBotRuntime } from "./runtime-
|
|
9
|
-
import { n as normalizeTarget, s as getQQBotDataPath, t as looksLikeQQBotTarget } from "./target-parser-
|
|
8
|
+
import { t as getQQBotRuntime } from "./runtime-CZyFkpnB.js";
|
|
9
|
+
import { n as normalizeTarget, s as getQQBotDataPath, t as looksLikeQQBotTarget } from "./target-parser-C8HaD-ik.js";
|
|
10
10
|
import { getExecApprovalReplyMetadata } from "openclaw/plugin-sdk/approval-runtime";
|
|
11
11
|
import { createMessageReceiptFromOutboundResults, defineChannelMessageAdapter } from "openclaw/plugin-sdk/channel-message";
|
|
12
12
|
import { createChannelApprovalCapability } from "openclaw/plugin-sdk/approval-delivery-runtime";
|
|
13
13
|
import { createLazyChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
|
|
14
14
|
import { resolveApprovalRequestSessionConversation } from "openclaw/plugin-sdk/approval-native-runtime";
|
|
15
|
-
import { normalizeOptionalString } from "openclaw/plugin-sdk/
|
|
15
|
+
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
16
16
|
import fs from "node:fs";
|
|
17
17
|
import { replaceFileAtomicSync } from "openclaw/plugin-sdk/security-runtime";
|
|
18
18
|
import path from "node:path";
|
|
@@ -156,7 +156,7 @@ function createQQBotApprovalCapability() {
|
|
|
156
156
|
},
|
|
157
157
|
load: async () => {
|
|
158
158
|
ensurePlatformAdapter();
|
|
159
|
-
return (await import("./handler-runtime-
|
|
159
|
+
return (await import("./handler-runtime-ZgvjnyoH.js")).qqbotApprovalNativeRuntime;
|
|
160
160
|
}
|
|
161
161
|
})
|
|
162
162
|
});
|
|
@@ -345,7 +345,7 @@ function clearAccountCredentials(cfg, accountId) {
|
|
|
345
345
|
//#region extensions/qqbot/src/channel.ts
|
|
346
346
|
let gatewayModulePromise;
|
|
347
347
|
function loadGatewayModule() {
|
|
348
|
-
gatewayModulePromise ??= import("./gateway-
|
|
348
|
+
gatewayModulePromise ??= import("./gateway-Bbsd8-ne.js");
|
|
349
349
|
return gatewayModulePromise;
|
|
350
350
|
}
|
|
351
351
|
function createQQBotSendReceipt(params) {
|
|
@@ -363,7 +363,7 @@ function createQQBotSendReceipt(params) {
|
|
|
363
363
|
async function sendQQBotText(params) {
|
|
364
364
|
await loadGatewayModule();
|
|
365
365
|
const account = resolveQQBotAccount(params.cfg, params.accountId);
|
|
366
|
-
const { sendText } = await import("./outbound-
|
|
366
|
+
const { sendText } = await import("./outbound-BLWish89.js").then((n) => n.t);
|
|
367
367
|
const result = await sendText({
|
|
368
368
|
to: params.to,
|
|
369
369
|
text: params.text,
|
|
@@ -385,7 +385,7 @@ async function sendQQBotText(params) {
|
|
|
385
385
|
async function sendQQBotMedia(params) {
|
|
386
386
|
await loadGatewayModule();
|
|
387
387
|
const account = resolveQQBotAccount(params.cfg, params.accountId);
|
|
388
|
-
const { sendMedia } = await import("./outbound-
|
|
388
|
+
const { sendMedia } = await import("./outbound-BLWish89.js").then((n) => n.t);
|
|
389
389
|
const result = await sendMedia({
|
|
390
390
|
to: params.to,
|
|
391
391
|
text: params.text ?? "",
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as qqbotPlugin } from "./channel-
|
|
1
|
+
import { t as qqbotPlugin } from "./channel-CmK-n3Oz.js";
|
|
2
2
|
export { qqbotPlugin };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import "./resolve-
|
|
2
|
-
import { a as qqbotSetupAdapterShared, i as qqbotMeta, n as qqbotSetupWizard, r as qqbotConfigAdapter, t as qqbotChannelConfigSchema } from "./config-schema-
|
|
1
|
+
import "./resolve-D3lCbUze.js";
|
|
2
|
+
import { a as qqbotSetupAdapterShared, i as qqbotMeta, n as qqbotSetupWizard, r as qqbotConfigAdapter, t as qqbotChannelConfigSchema } from "./config-schema-BCxobX3l.js";
|
|
3
3
|
//#region extensions/qqbot/src/channel.setup.ts
|
|
4
4
|
/**
|
|
5
5
|
* Setup-only QQBot plugin — lightweight subset used during `openclaw onboard`
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as getPlatformAdapter } from "./string-normalize-
|
|
2
|
-
import { c as resolveDefaultAccountId, n as applyAccountConfig, o as listAccountIds, s as resolveAccountBase, t as DEFAULT_ACCOUNT_ID$1 } from "./resolve-
|
|
1
|
+
import { c as getPlatformAdapter } from "./string-normalize-C46CS-F1.js";
|
|
2
|
+
import { c as resolveDefaultAccountId, n as applyAccountConfig, o as listAccountIds, s as resolveAccountBase, t as DEFAULT_ACCOUNT_ID$1 } from "./resolve-D3lCbUze.js";
|
|
3
3
|
import { coerceSecretRef, normalizeSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
4
4
|
import fs from "node:fs";
|
|
5
5
|
import { resolveDefaultSecretProviderAlias } from "openclaw/plugin-sdk/provider-auth";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { n as normalizeLowercaseStringOrEmpty } from "./string-normalize-
|
|
2
|
-
import { a as isAccountConfigured, i as formatAllowFrom, n as applyAccountConfig, r as describeAccount } from "./resolve-
|
|
3
|
-
import { a as resolveQQBotAccount, i as resolveDefaultQQBotAccountId, n as applyQQBotAccountConfig, r as listQQBotAccountIds } from "./config-
|
|
1
|
+
import { n as normalizeLowercaseStringOrEmpty } from "./string-normalize-C46CS-F1.js";
|
|
2
|
+
import { a as isAccountConfigured, i as formatAllowFrom, n as applyAccountConfig, r as describeAccount } from "./resolve-D3lCbUze.js";
|
|
3
|
+
import { a as resolveQQBotAccount, i as resolveDefaultQQBotAccountId, n as applyQQBotAccountConfig, r as listQQBotAccountIds } from "./config-BT8KP_H1.js";
|
|
4
4
|
import { buildSecretInputSchema } from "openclaw/plugin-sdk/secret-input";
|
|
5
5
|
import { applyAccountNameToChannelSection, deleteAccountFromConfigSection, setAccountEnabledInConfigSection } from "openclaw/plugin-sdk/core";
|
|
6
6
|
import { DEFAULT_ACCOUNT_ID, createStandardChannelSetupStatus, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup";
|
|
7
7
|
import { formatDocsLink } from "openclaw/plugin-sdk/setup-tools";
|
|
8
8
|
import { AllowFromListSchema, buildChannelConfigSchema } from "openclaw/plugin-sdk/channel-config-schema";
|
|
9
|
-
import { z } from "
|
|
9
|
+
import { z } from "zod";
|
|
10
10
|
//#region extensions/qqbot/src/engine/config/setup-logic.ts
|
|
11
11
|
/**
|
|
12
12
|
* QQBot setup business logic (pure layer).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as resolveQQBotAccount, r as listQQBotAccountIds } from "./config-
|
|
1
|
+
import { a as resolveQQBotAccount, r as listQQBotAccountIds } from "./config-BT8KP_H1.js";
|
|
2
2
|
import { resolveApprovalRequestChannelAccountId } from "openclaw/plugin-sdk/approval-native-runtime";
|
|
3
|
-
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/
|
|
3
|
+
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
import { resolveApprovalApprovers } from "openclaw/plugin-sdk/approval-auth-runtime";
|
|
5
5
|
import { createChannelExecApprovalProfile, isChannelExecApprovalClientEnabledFromConfig, matchesApprovalRequestFilters } from "openclaw/plugin-sdk/approval-client-runtime";
|
|
6
6
|
import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { E as setOutboundAudioPort, _ as sendVoice, c as isMediaPayload, g as sendVideoMsg, h as sendPhoto, l as parseQQBotPayload, m as sendDocument, o as encodePayloadForCron, r as sendMedia, s as isCronReminderPayload, u as normalizeMediaTags, v as resolveUserFacingMediaError, w as DEFAULT_MEDIA_SEND_ERROR } from "./outbound-
|
|
2
|
-
import { c as getPlatformAdapter, i as normalizeOptionalString, n as normalizeLowercaseStringOrEmpty, o as readStringField, s as sanitizeFileName, t as asOptionalObjectRecord } from "./string-normalize-
|
|
3
|
-
import { d as setBridgeLogger, l as ensurePlatformAdapter, s as resolveAccountBase } from "./resolve-
|
|
1
|
+
import { E as setOutboundAudioPort, _ as sendVoice, c as isMediaPayload, g as sendVideoMsg, h as sendPhoto, l as parseQQBotPayload, m as sendDocument, o as encodePayloadForCron, r as sendMedia, s as isCronReminderPayload, u as normalizeMediaTags, v as resolveUserFacingMediaError, w as DEFAULT_MEDIA_SEND_ERROR } from "./outbound-BLWish89.js";
|
|
2
|
+
import { c as getPlatformAdapter, i as normalizeOptionalString, n as normalizeLowercaseStringOrEmpty, o as readStringField, s as sanitizeFileName, t as asOptionalObjectRecord } from "./string-normalize-C46CS-F1.js";
|
|
3
|
+
import { d as setBridgeLogger, l as ensurePlatformAdapter, s as resolveAccountBase } from "./resolve-D3lCbUze.js";
|
|
4
4
|
import { i as parseApprovalButtonData } from "./approval-cg0SVahb.js";
|
|
5
5
|
import { t as toGatewayAccount } from "./narrowing-BoieBTIU.js";
|
|
6
|
-
import { B as StreamInputState, C as debugWarn, D as openLocalFile, I as formatDuration, L as formatErrorMessage, N as getImageMimeType, P as getMaxUploadSize, R as StreamContentType, S as debugLog, T as getNextMsgSeq, a as createRawInputNotifyFn, b as withTokenRetry, c as getMessageApi, d as initSender, f as onMessageSent, g as sendText, h as sendMedia$1, i as clearTokenCache, j as formatFileSize, k as downloadFile, l as getPluginUserAgent, m as sendInputNotify, n as acknowledgeInteraction, o as getAccessToken, p as registerAccount, r as buildDeliveryTarget, s as getGatewayUrl, t as accountToCreds, u as initApiConfig, v as startBackgroundTokenRefresh, x as debugError, y as stopBackgroundTokenRefresh, z as StreamInputMode } from "./sender-
|
|
7
|
-
import { n as getQQBotRuntimeForEngine, t as getQQBotRuntime } from "./runtime-
|
|
8
|
-
import { a as getHomeDir, c as getQQBotMediaDir, d as isLocalPath, f as isWindows, i as checkSilkWasmAvailable, m as resolveQQBotPayloadLocalFilePath, o as getQQBotDataDir, p as normalizePath$1, s as getQQBotDataPath, u as getTempDir } from "./target-parser-
|
|
9
|
-
import { a as getPluginVersion, i as getFrameworkVersion, n as runWithRequestContext, o as initCommands, s as matchSlashCommand } from "./request-context-
|
|
6
|
+
import { B as StreamInputState, C as debugWarn, D as openLocalFile, I as formatDuration, L as formatErrorMessage, N as getImageMimeType, P as getMaxUploadSize, R as StreamContentType, S as debugLog, T as getNextMsgSeq, a as createRawInputNotifyFn, b as withTokenRetry, c as getMessageApi, d as initSender, f as onMessageSent, g as sendText, h as sendMedia$1, i as clearTokenCache, j as formatFileSize, k as downloadFile, l as getPluginUserAgent, m as sendInputNotify, n as acknowledgeInteraction, o as getAccessToken, p as registerAccount, r as buildDeliveryTarget, s as getGatewayUrl, t as accountToCreds, u as initApiConfig, v as startBackgroundTokenRefresh, x as debugError, y as stopBackgroundTokenRefresh, z as StreamInputMode } from "./sender-BrpzCcXA.js";
|
|
7
|
+
import { n as getQQBotRuntimeForEngine, t as getQQBotRuntime } from "./runtime-CZyFkpnB.js";
|
|
8
|
+
import { a as getHomeDir, c as getQQBotMediaDir, d as isLocalPath, f as isWindows, i as checkSilkWasmAvailable, m as resolveQQBotPayloadLocalFilePath, o as getQQBotDataDir, p as normalizePath$1, s as getQQBotDataPath, u as getTempDir } from "./target-parser-C8HaD-ik.js";
|
|
9
|
+
import { a as getPluginVersion, i as getFrameworkVersion, n as runWithRequestContext, o as initCommands, s as matchSlashCommand } from "./request-context-BwSBFANU.js";
|
|
10
10
|
import * as fs$1 from "node:fs";
|
|
11
11
|
import fs from "node:fs";
|
|
12
12
|
import * as os$1 from "node:os";
|
|
@@ -17,6 +17,7 @@ import * as path$1 from "node:path";
|
|
|
17
17
|
import path from "node:path";
|
|
18
18
|
import { mimeTypeFromFilePath } from "openclaw/plugin-sdk/media-mime";
|
|
19
19
|
import { resolveRuntimeServiceVersion } from "openclaw/plugin-sdk/cli-runtime";
|
|
20
|
+
import { getRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot";
|
|
20
21
|
import WebSocket from "ws";
|
|
21
22
|
import { resolveAmbientNodeProxyAgent } from "openclaw/plugin-sdk/extension-shared";
|
|
22
23
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
@@ -373,6 +374,25 @@ async function runDiagnostics() {
|
|
|
373
374
|
return report;
|
|
374
375
|
}
|
|
375
376
|
//#endregion
|
|
377
|
+
//#region extensions/qqbot/src/engine/gateway/active-cfg.ts
|
|
378
|
+
function createActiveCfgProvider(options) {
|
|
379
|
+
const loader = options.load ?? defaultGatewayCfgLoader;
|
|
380
|
+
const fallback = options.fallback;
|
|
381
|
+
return { getActiveCfg() {
|
|
382
|
+
return resolveActiveCfg(loader, fallback);
|
|
383
|
+
} };
|
|
384
|
+
}
|
|
385
|
+
function resolveActiveCfg(loader, fallback) {
|
|
386
|
+
try {
|
|
387
|
+
return loader();
|
|
388
|
+
} catch {
|
|
389
|
+
return fallback;
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
function defaultGatewayCfgLoader() {
|
|
393
|
+
return getRuntimeConfig();
|
|
394
|
+
}
|
|
395
|
+
//#endregion
|
|
376
396
|
//#region extensions/qqbot/src/engine/access/sender-match.ts
|
|
377
397
|
/**
|
|
378
398
|
* QQBot sender normalization and allowlist matching.
|
|
@@ -1400,7 +1420,7 @@ var ReconnectState = class {
|
|
|
1400
1420
|
getNextDelay(customDelay) {
|
|
1401
1421
|
const delay = customDelay ?? RECONNECT_DELAYS[Math.min(this.attempts, RECONNECT_DELAYS.length - 1)];
|
|
1402
1422
|
this.attempts++;
|
|
1403
|
-
this.log?.debug?.(`Reconnecting in ${delay}ms (attempt ${this.attempts})`);
|
|
1423
|
+
this.log?.debug?.(`Reconnecting ${this.accountId} in ${delay}ms (attempt ${this.attempts})`);
|
|
1404
1424
|
return delay;
|
|
1405
1425
|
}
|
|
1406
1426
|
/**
|
|
@@ -1747,7 +1767,7 @@ var GatewayConnection = class {
|
|
|
1747
1767
|
* OpenAI-compatible STT (Speech-to-Text) configuration and transcription.
|
|
1748
1768
|
*
|
|
1749
1769
|
* Migrated from `src/stt.ts` — uses core/utils/string-normalize instead
|
|
1750
|
-
* of
|
|
1770
|
+
* of broad SDK text barrels.
|
|
1751
1771
|
*/
|
|
1752
1772
|
/** Resolve the STT configuration from the nested config object. */
|
|
1753
1773
|
function resolveSTTConfig(cfg) {
|
|
@@ -5978,6 +5998,7 @@ async function startGateway$1(ctx) {
|
|
|
5978
5998
|
const groupChatEnabled = groupOpts.enabled;
|
|
5979
5999
|
const groupHistories = groupChatEnabled ? /* @__PURE__ */ new Map() : void 0;
|
|
5980
6000
|
const sessionStoreReader = groupChatEnabled ? groupOpts.sessionStoreReader ?? createNodeSessionStoreReader() : void 0;
|
|
6001
|
+
const activeCfgProvider = createActiveCfgProvider({ fallback: ctx.cfg });
|
|
5981
6002
|
const handleMessage = async (event) => {
|
|
5982
6003
|
log?.info(`Processing message from ${event.senderId}: ${event.content}`, {
|
|
5983
6004
|
accountId: account.accountId,
|
|
@@ -5991,9 +6012,10 @@ async function startGateway$1(ctx) {
|
|
|
5991
6012
|
accountId: account.accountId,
|
|
5992
6013
|
direction: "inbound"
|
|
5993
6014
|
});
|
|
6015
|
+
const activeCfg = activeCfgProvider.getActiveCfg();
|
|
5994
6016
|
const inbound = await buildInboundContext(event, {
|
|
5995
6017
|
account,
|
|
5996
|
-
cfg:
|
|
6018
|
+
cfg: activeCfg,
|
|
5997
6019
|
log,
|
|
5998
6020
|
runtime,
|
|
5999
6021
|
startTyping: (ev) => startTypingForEvent(ev, account, log),
|
|
@@ -6031,7 +6053,7 @@ async function startGateway$1(ctx) {
|
|
|
6031
6053
|
chatType: event.type
|
|
6032
6054
|
}, () => dispatchOutbound(inbound, {
|
|
6033
6055
|
runtime,
|
|
6034
|
-
cfg:
|
|
6056
|
+
cfg: activeCfg,
|
|
6035
6057
|
account,
|
|
6036
6058
|
log
|
|
6037
6059
|
}));
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { l as ensurePlatformAdapter, u as getBridgeLogger } from "./resolve-
|
|
1
|
+
import { l as ensurePlatformAdapter, u as getBridgeLogger } from "./resolve-D3lCbUze.js";
|
|
2
2
|
import { a as resolveApprovalTarget, n as buildExecApprovalText, r as buildPluginApprovalText, t as buildApprovalKeyboard } from "./approval-cg0SVahb.js";
|
|
3
|
-
import { a as resolveQQBotAccount } from "./config-
|
|
4
|
-
import { a as resolveQQBotExecApprovalConfig, i as matchesQQBotApprovalAccount, o as shouldHandleQQBotExecApprovalRequest, r as isQQBotExecApprovalClientEnabled } from "./exec-approvals-
|
|
5
|
-
import { c as getMessageApi, t as accountToCreds } from "./sender-
|
|
3
|
+
import { a as resolveQQBotAccount } from "./config-BT8KP_H1.js";
|
|
4
|
+
import { a as resolveQQBotExecApprovalConfig, i as matchesQQBotApprovalAccount, o as shouldHandleQQBotExecApprovalRequest, r as isQQBotExecApprovalClientEnabled } from "./exec-approvals-W4oL9R6C.js";
|
|
5
|
+
import { c as getMessageApi, t as accountToCreds } from "./sender-BrpzCcXA.js";
|
|
6
6
|
import { resolveApprovalRequestSessionConversation } from "openclaw/plugin-sdk/approval-native-runtime";
|
|
7
7
|
import { createChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-sdk/approval-handler-runtime";
|
|
8
8
|
//#region extensions/qqbot/src/bridge/approval/handler-runtime.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i as normalizeOptionalString, n as normalizeLowercaseStringOrEmpty, s as sanitizeFileName } from "./string-normalize-
|
|
2
|
-
import { A as fileExistsAsync, C as debugWarn, E as UPLOAD_PREPARE_FALLBACK_CODE, F as readFileAsync, L as formatErrorMessage, M as getFileTypeName, N as getImageMimeType, O as checkFileSize, P as getMaxUploadSize, S as debugLog, g as sendText$1, h as sendMedia$1, j as formatFileSize, k as downloadFile, t as accountToCreds, u as initApiConfig, w as UploadDailyLimitExceededError, x as debugError } from "./sender-
|
|
3
|
-
import { c as getQQBotMediaDir, d as isLocalPath, m as resolveQQBotPayloadLocalFilePath, o as getQQBotDataDir, p as normalizePath, r as parseTarget$1 } from "./target-parser-
|
|
1
|
+
import { i as normalizeOptionalString, n as normalizeLowercaseStringOrEmpty, s as sanitizeFileName } from "./string-normalize-C46CS-F1.js";
|
|
2
|
+
import { A as fileExistsAsync, C as debugWarn, E as UPLOAD_PREPARE_FALLBACK_CODE, F as readFileAsync, L as formatErrorMessage, M as getFileTypeName, N as getImageMimeType, O as checkFileSize, P as getMaxUploadSize, S as debugLog, g as sendText$1, h as sendMedia$1, j as formatFileSize, k as downloadFile, t as accountToCreds, u as initApiConfig, w as UploadDailyLimitExceededError, x as debugError } from "./sender-BrpzCcXA.js";
|
|
3
|
+
import { c as getQQBotMediaDir, d as isLocalPath, m as resolveQQBotPayloadLocalFilePath, o as getQQBotDataDir, p as normalizePath, r as parseTarget$1 } from "./target-parser-C8HaD-ik.js";
|
|
4
4
|
import { pathExistsSync, resolveLocalPathFromRootsSync } from "openclaw/plugin-sdk/security-runtime";
|
|
5
5
|
import path from "node:path";
|
|
6
6
|
import { getFileExtension } from "openclaw/plugin-sdk/media-mime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { S as debugLog } from "./sender-
|
|
2
|
-
import { a as getHomeDir, f as isWindows, l as getQQBotMediaPath, o as getQQBotDataDir } from "./target-parser-
|
|
1
|
+
import { S as debugLog } from "./sender-BrpzCcXA.js";
|
|
2
|
+
import { a as getHomeDir, f as isWindows, l as getQQBotMediaPath, o as getQQBotDataDir } from "./target-parser-C8HaD-ik.js";
|
|
3
3
|
import fs from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { loadJsonFile } from "openclaw/plugin-sdk/json-store";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as normalizeStringifiedOptionalString, c as getPlatformAdapter, d as registerPlatformAdapterFactory, l as hasPlatformAdapter, o as readStringField, r as normalizeOptionalLowercaseString, t as asOptionalObjectRecord, u as registerPlatformAdapter } from "./string-normalize-
|
|
1
|
+
import { a as normalizeStringifiedOptionalString, c as getPlatformAdapter, d as registerPlatformAdapterFactory, l as hasPlatformAdapter, o as readStringField, r as normalizeOptionalLowercaseString, t as asOptionalObjectRecord, u as registerPlatformAdapter } from "./string-normalize-C46CS-F1.js";
|
|
2
2
|
import { hasConfiguredSecretInput, normalizeResolvedSecretInputString, normalizeSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
3
3
|
import { resolvePreferredOpenClawTmpDir } from "openclaw/plugin-sdk/temp-path";
|
|
4
4
|
//#region extensions/qqbot/src/bridge/logger.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as setOpenClawVersion } from "./sender-
|
|
1
|
+
import { _ as setOpenClawVersion } from "./sender-BrpzCcXA.js";
|
|
2
2
|
import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
|
|
3
3
|
//#region extensions/qqbot/src/bridge/runtime.ts
|
|
4
4
|
const { setRuntime: _setRuntime, getRuntime: getQQBotRuntime } = createPluginRuntimeStore({
|
package/dist/runtime-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { r as setQQBotRuntime, t as getQQBotRuntime } from "./runtime-
|
|
1
|
+
import { r as setQQBotRuntime, t as getQQBotRuntime } from "./runtime-CZyFkpnB.js";
|
|
2
2
|
export { getQQBotRuntime, setQQBotRuntime };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as getPlatformAdapter, i as normalizeOptionalString, s as sanitizeFileName } from "./string-normalize-
|
|
1
|
+
import { c as getPlatformAdapter, i as normalizeOptionalString, s as sanitizeFileName } from "./string-normalize-C46CS-F1.js";
|
|
2
2
|
import * as fs$1 from "node:fs";
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import * as crypto$1 from "node:crypto";
|
|
@@ -1204,7 +1204,7 @@ var MessageApi = class {
|
|
|
1204
1204
|
if (req.stream_msg_id) body.stream_msg_id = req.stream_msg_id;
|
|
1205
1205
|
return this.client.request(token, "POST", path, body);
|
|
1206
1206
|
}
|
|
1207
|
-
async sendAndNotify(
|
|
1207
|
+
async sendAndNotify(_appId, accessToken, method, path, body, meta) {
|
|
1208
1208
|
const result = await this.client.request(accessToken, method, path, body);
|
|
1209
1209
|
if (result.ext_info?.ref_idx && this.messageSentHook) try {
|
|
1210
1210
|
this.messageSentHook(result.ext_info.ref_idx, meta);
|
package/dist/setup-plugin-api.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as qqbotSetupPlugin } from "./channel.setup-
|
|
1
|
+
import { t as qqbotSetupPlugin } from "./channel.setup-D_GS95Pk.js";
|
|
2
2
|
export { qqbotSetupPlugin };
|
|
@@ -21,8 +21,8 @@ function hasPlatformAdapter() {
|
|
|
21
21
|
* String normalization and record-coercion helpers.
|
|
22
22
|
*
|
|
23
23
|
* These are self-contained re-implementations of the functions that
|
|
24
|
-
* the plugin previously imported from
|
|
25
|
-
* and
|
|
24
|
+
* the plugin previously imported from broad SDK text barrels
|
|
25
|
+
* and shared record/string coercion helpers.
|
|
26
26
|
*
|
|
27
27
|
* core/ modules use these instead of importing plugin-sdk, keeping the
|
|
28
28
|
* shared layer portable between the built-in and standalone versions.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { c as getPlatformAdapter } from "./string-normalize-
|
|
2
|
-
import { C as debugWarn, L as formatErrorMessage, S as debugLog } from "./sender-
|
|
1
|
+
import { c as getPlatformAdapter } from "./string-normalize-C46CS-F1.js";
|
|
2
|
+
import { C as debugWarn, L as formatErrorMessage, S as debugLog } from "./sender-BrpzCcXA.js";
|
|
3
3
|
import * as fs$1 from "node:fs";
|
|
4
4
|
import * as os$1 from "node:os";
|
|
5
5
|
import * as path$1 from "node:path";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/qqbot",
|
|
3
|
-
"version": "2026.5.10-beta.
|
|
3
|
+
"version": "2026.5.10-beta.4",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "OpenClaw QQ Bot channel plugin",
|
|
6
6
|
"repository": {
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
"@tencent-connect/qqbot-connector": "^1.1.0",
|
|
13
13
|
"mpg123-decoder": "^1.0.3",
|
|
14
14
|
"silk-wasm": "^3.7.1",
|
|
15
|
-
"ws": "^8.20.0"
|
|
15
|
+
"ws": "^8.20.0",
|
|
16
|
+
"zod": "^4.4.3"
|
|
16
17
|
},
|
|
17
18
|
"devDependencies": {
|
|
18
19
|
"@openclaw/plugin-sdk": "workspace:*",
|
|
@@ -20,7 +21,7 @@
|
|
|
20
21
|
"openclaw": "workspace:*"
|
|
21
22
|
},
|
|
22
23
|
"peerDependencies": {
|
|
23
|
-
"openclaw": ">=2026.5.10-beta.
|
|
24
|
+
"openclaw": ">=2026.5.10-beta.4"
|
|
24
25
|
},
|
|
25
26
|
"peerDependenciesMeta": {
|
|
26
27
|
"openclaw": {
|
|
@@ -49,10 +50,10 @@
|
|
|
49
50
|
"minHostVersion": ">=2026.4.10"
|
|
50
51
|
},
|
|
51
52
|
"compat": {
|
|
52
|
-
"pluginApi": ">=2026.5.10-beta.
|
|
53
|
+
"pluginApi": ">=2026.5.10-beta.4"
|
|
53
54
|
},
|
|
54
55
|
"build": {
|
|
55
|
-
"openclawVersion": "2026.5.10-beta.
|
|
56
|
+
"openclawVersion": "2026.5.10-beta.4"
|
|
56
57
|
},
|
|
57
58
|
"release": {
|
|
58
59
|
"publishToClawHub": true,
|