@openclaw/zalo 2026.9.1-beta.1 → 2026.9.2
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/{actions.runtime-3ZRHK2SE.js → actions.runtime-Bw8qKwdO.js} +1 -1
- package/dist/api.js +2 -2
- package/dist/{channel-A8nLvhBc.js → channel-hG8iBI_S.js} +4 -7
- package/dist/channel-plugin-api.js +1 -1
- package/dist/{channel.runtime-gH4VQVIN.js → channel.runtime-jqx3Fyja.js} +4 -4
- package/dist/{monitor-ado96nMT.js → monitor-0WIjv0t5.js} +14 -34
- package/dist/{monitor.webhook-CcTwt1dC.js → monitor.webhook-B5RaWvFf.js} +2 -2
- package/dist/{send-Cb7ITYME.js → send-w8RLKyQx.js} +2 -2
- package/dist/setup-api.js +1 -1
- package/dist/{setup-core-CcCJ1E26.js → setup-core-DgD3ai3p.js} +15 -4
- package/dist/{setup-surface-CIpp_MDf.js → setup-surface-D5xgPinc.js} +1 -1
- package/dist/setup-surface.js +2 -2
- package/dist/{webhook-spool-DPgnFGD0.js → webhook-spool-2fDB_7Qy.js} +3 -2
- package/openclaw.plugin.json +0 -1
- package/package.json +4 -4
package/dist/api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as zaloDmPolicy, r as zaloSetupAdapter, t as createZaloSetupWizardProxy } from "./setup-core-
|
|
2
|
-
import { t as zaloPlugin } from "./channel-
|
|
1
|
+
import { n as zaloDmPolicy, r as zaloSetupAdapter, t as createZaloSetupWizardProxy } from "./setup-core-DgD3ai3p.js";
|
|
2
|
+
import { t as zaloPlugin } from "./channel-hG8iBI_S.js";
|
|
3
3
|
import { n as resolveZaloRuntimeGroupPolicy } from "./group-access-8qHRzDHx.js";
|
|
4
4
|
import { zaloSetupWizard } from "./setup-api.js";
|
|
5
5
|
export { createZaloSetupWizardProxy, resolveZaloRuntimeGroupPolicy, zaloDmPolicy, zaloPlugin, zaloSetupAdapter, zaloSetupWizard };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as inspectZaloAccount, d as resolveZaloAccount, i as zaloSetupContract, l as
|
|
1
|
+
import { c as inspectZaloAccount, d as resolveDefaultZaloAccountId, f as resolveZaloAccount, i as zaloSetupContract, l as isZaloAccountConfigured, m as buildSecretInputSchema, t as createZaloSetupWizardProxy, u as listZaloAccountIds } from "./setup-core-DgD3ai3p.js";
|
|
2
2
|
import { n as collectRuntimeConfigAssignments, r as secretTargetRegistryEntries } from "./secret-contract-Cpsqe5Cv.js";
|
|
3
3
|
import { describeWebhookAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
|
|
4
4
|
import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
|
|
@@ -24,7 +24,7 @@ import { z } from "zod";
|
|
|
24
24
|
import { buildChannelOutboundSessionRoute, stripChannelTargetPrefix, stripTargetKindPrefix } from "openclaw/plugin-sdk/core";
|
|
25
25
|
import { coerceStatusIssueAccountId, readStatusIssueFields } from "openclaw/plugin-sdk/extension-shared";
|
|
26
26
|
//#region extensions/zalo/src/actions.ts
|
|
27
|
-
const loadZaloActionsRuntime = createLazyRuntimeNamedExport(() => import("./actions.runtime-
|
|
27
|
+
const loadZaloActionsRuntime = createLazyRuntimeNamedExport(() => import("./actions.runtime-Bw8qKwdO.js"), "zaloActionsRuntime");
|
|
28
28
|
const providerId = "zalo";
|
|
29
29
|
const ZALO_ACTIONS = /* @__PURE__ */ new Set(["send"]);
|
|
30
30
|
function listEnabledAccounts(cfg, accountId) {
|
|
@@ -186,8 +186,8 @@ function looksLikeZaloChatId(raw, normalized) {
|
|
|
186
186
|
const target = normalizeZaloMessagingTarget(normalized ?? raw);
|
|
187
187
|
return Boolean(target);
|
|
188
188
|
}
|
|
189
|
-
const loadZaloChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-
|
|
190
|
-
const zaloSetupWizard = createZaloSetupWizardProxy(async () => (await import("./setup-surface-
|
|
189
|
+
const loadZaloChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-jqx3Fyja.js"));
|
|
190
|
+
const zaloSetupWizard = createZaloSetupWizardProxy(async () => (await import("./setup-surface-D5xgPinc.js").then((n) => n.t)).zaloSetupWizard);
|
|
191
191
|
const zaloTextChunkLimit = 2e3;
|
|
192
192
|
async function sendZaloDelivery(ctx) {
|
|
193
193
|
const result = await (await loadZaloChannelRuntime()).sendZaloText({
|
|
@@ -220,9 +220,6 @@ const zaloMessageAdapter = defineChannelMessageAdapter({
|
|
|
220
220
|
media: sendZaloDelivery
|
|
221
221
|
}
|
|
222
222
|
});
|
|
223
|
-
function isZaloAccountConfigured(account) {
|
|
224
|
-
return account.tokenStatus ? account.tokenStatus !== "missing" : Boolean(account.token?.trim());
|
|
225
|
-
}
|
|
226
223
|
const zaloConfigAdapter = createScopedChannelConfigAdapter({
|
|
227
224
|
sectionKey: "zalo",
|
|
228
225
|
listAccountIds: listZaloAccountIds,
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as zaloPlugin } from "./channel-
|
|
1
|
+
import { t as zaloPlugin } from "./channel-hG8iBI_S.js";
|
|
2
2
|
export { zaloPlugin };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { h as normalizeSecretInputString } from "./setup-core-DgD3ai3p.js";
|
|
2
2
|
import { n as PAIRING_APPROVED_MESSAGE } from "./runtime-api-CN6fYNQK.js";
|
|
3
|
-
import { a as getMe, n as resolveZaloProxyFetch, r as ZaloApiError, t as sendMessageZalo } from "./send-
|
|
3
|
+
import { a as getMe, n as resolveZaloProxyFetch, r as ZaloApiError, t as sendMessageZalo } from "./send-w8RLKyQx.js";
|
|
4
4
|
import { createAccountStatusSink } from "openclaw/plugin-sdk/channel-outbound";
|
|
5
5
|
import { runChannelProbe } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
6
6
|
//#region extensions/zalo/src/probe.ts
|
|
@@ -35,7 +35,7 @@ async function probeZalo(token, timeoutMs = 5e3, fetcher) {
|
|
|
35
35
|
//#endregion
|
|
36
36
|
//#region extensions/zalo/src/channel.runtime.ts
|
|
37
37
|
async function notifyZaloPairingApproval(params) {
|
|
38
|
-
const { resolveZaloAccount } = await import("./setup-core-
|
|
38
|
+
const { resolveZaloAccount } = await import("./setup-core-DgD3ai3p.js").then((n) => n.s);
|
|
39
39
|
const account = resolveZaloAccount({ cfg: params.cfg });
|
|
40
40
|
if (!account.token) throw new Error("Zalo token not configured");
|
|
41
41
|
await sendMessageZalo(params.id, PAIRING_APPROVED_MESSAGE, { token: account.token });
|
|
@@ -69,7 +69,7 @@ async function startZaloGatewayAccount(ctx) {
|
|
|
69
69
|
setStatus: ctx.setStatus
|
|
70
70
|
});
|
|
71
71
|
ctx.log?.info(`[${account.accountId}] starting provider${zaloBotLabel} mode=${mode}`);
|
|
72
|
-
const { monitorZaloProvider } = await import("./monitor-
|
|
72
|
+
const { monitorZaloProvider } = await import("./monitor-0WIjv0t5.js");
|
|
73
73
|
return monitorZaloProvider({
|
|
74
74
|
token,
|
|
75
75
|
account,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as resolveZaloRuntimeGroupPolicy, t as normalizeZaloAllowEntry } from "./group-access-8qHRzDHx.js";
|
|
2
2
|
import { X as getZaloRuntime } from "./runtime-api-CN6fYNQK.js";
|
|
3
|
-
import { c as sendChatAction, d as setWebhook, f as ZALO_OUTBOUND_MEDIA_TTL_MS, i as deleteWebhook, l as sendMessage, n as resolveZaloProxyFetch, o as getUpdates, r as ZaloApiError, s as getWebhookInfo, u as sendPhoto } from "./send-
|
|
3
|
+
import { c as sendChatAction, d as setWebhook, f as ZALO_OUTBOUND_MEDIA_TTL_MS, i as deleteWebhook, l as sendMessage, n as resolveZaloProxyFetch, o as getUpdates, r as ZaloApiError, s as getWebhookInfo, u as sendPhoto } from "./send-w8RLKyQx.js";
|
|
4
4
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
5
5
|
import { createLazyRuntimeModule, createLazyRuntimeNamedExport } from "openclaw/plugin-sdk/lazy-runtime";
|
|
6
6
|
import { deliverTextOrMediaReply, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
|
|
@@ -8,7 +8,7 @@ import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtim
|
|
|
8
8
|
import { resolveDefaultGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
|
|
9
9
|
import { createChannelPairingController } from "openclaw/plugin-sdk/channel-pairing";
|
|
10
10
|
import { logTypingFailure } from "openclaw/plugin-sdk/channel-feedback";
|
|
11
|
-
import {
|
|
11
|
+
import { registerPluginHttpRoute, resolveWebhookPath } from "openclaw/plugin-sdk/webhook-ingress";
|
|
12
12
|
import { asDateTimestampMs, resolveExpiresAtMsFromDurationMs } from "openclaw/plugin-sdk/number-runtime";
|
|
13
13
|
import { createChannelPartialDeliveryError, formatInboundMediaUnavailableText, resolveChannelInboundRouteEnvelope } from "openclaw/plugin-sdk/channel-inbound";
|
|
14
14
|
import { resolveStableChannelMessageIngress } from "openclaw/plugin-sdk/channel-ingress-runtime";
|
|
@@ -169,20 +169,18 @@ const DEFAULT_MEDIA_MAX_MB = 5;
|
|
|
169
169
|
const WEBHOOK_CLEANUP_TIMEOUT_MS = 5e3;
|
|
170
170
|
const ZALO_TYPING_TIMEOUT_MS = 5e3;
|
|
171
171
|
const UNIX_MILLISECONDS_THRESHOLD = 0xe8d4a51000;
|
|
172
|
-
const hostedMediaRouteRefs = /* @__PURE__ */ new Map();
|
|
173
172
|
function resolveZaloTimestampMs(date) {
|
|
174
173
|
if (!date) return;
|
|
175
174
|
return date >= UNIX_MILLISECONDS_THRESHOLD ? date : date * 1e3;
|
|
176
175
|
}
|
|
177
|
-
const loadZaloWebhookRuntime = createLazyRuntimeNamedExport(() => import("./monitor.webhook-
|
|
178
|
-
const loadZaloWebhookIngressRuntime = createLazyRuntimeNamedExport(() => import("./webhook-spool-
|
|
176
|
+
const loadZaloWebhookRuntime = createLazyRuntimeNamedExport(() => import("./monitor.webhook-B5RaWvFf.js"), "zaloWebhookRuntime");
|
|
177
|
+
const loadZaloWebhookIngressRuntime = createLazyRuntimeNamedExport(() => import("./webhook-spool-2fDB_7Qy.js"), "zaloWebhookIngressRuntime");
|
|
179
178
|
const loadZaloWebhookModule = createLazyRuntimeModule(async () => ({
|
|
180
179
|
...await loadZaloWebhookRuntime(),
|
|
181
180
|
...await loadZaloWebhookIngressRuntime()
|
|
182
181
|
}));
|
|
183
182
|
function registerSharedHostedMediaRoute(params) {
|
|
184
|
-
|
|
185
|
-
const unregister = registerPluginHttpRoute({
|
|
183
|
+
return registerPluginHttpRoute({
|
|
186
184
|
auth: "plugin",
|
|
187
185
|
match: "prefix",
|
|
188
186
|
path: params.path,
|
|
@@ -199,23 +197,6 @@ function registerSharedHostedMediaRoute(params) {
|
|
|
199
197
|
}
|
|
200
198
|
}
|
|
201
199
|
});
|
|
202
|
-
const acquired = hostedMediaRouteRefs.get(routeKey) ?? {
|
|
203
|
-
count: 0,
|
|
204
|
-
unregisters: []
|
|
205
|
-
};
|
|
206
|
-
if (acquired.count === 0) hostedMediaRouteRefs.set(routeKey, acquired);
|
|
207
|
-
acquired.count += 1;
|
|
208
|
-
acquired.unregisters.push(unregister);
|
|
209
|
-
let released = false;
|
|
210
|
-
return () => {
|
|
211
|
-
if (released) return;
|
|
212
|
-
released = true;
|
|
213
|
-
if (hostedMediaRouteRefs.get(routeKey) !== acquired) return;
|
|
214
|
-
acquired.count -= 1;
|
|
215
|
-
if (acquired.count > 0) return;
|
|
216
|
-
hostedMediaRouteRefs.delete(routeKey);
|
|
217
|
-
for (const unregisterHandle of acquired.unregisters) unregisterHandle();
|
|
218
|
-
};
|
|
219
200
|
}
|
|
220
201
|
function formatZaloError(error) {
|
|
221
202
|
if (error instanceof Error) return error.stack ?? `${error.name}: ${error.message}`;
|
|
@@ -323,9 +304,7 @@ async function processUpdate(params) {
|
|
|
323
304
|
case "message.sticker.received":
|
|
324
305
|
logVerbose(core, runtime, `[${account.accountId}] Received sticker from ${message.from.id}`);
|
|
325
306
|
break;
|
|
326
|
-
case "message.unsupported.received":
|
|
327
|
-
logVerbose(core, runtime, `[${account.accountId}] Received unsupported message type from ${message.from.id}`);
|
|
328
|
-
break;
|
|
307
|
+
case "message.unsupported.received": logVerbose(core, runtime, `[${account.accountId}] Received unsupported message type from ${message.from.id}`);
|
|
329
308
|
}
|
|
330
309
|
}
|
|
331
310
|
async function handleTextMessage(params) {
|
|
@@ -677,15 +656,16 @@ async function deliverZaloReply(params) {
|
|
|
677
656
|
});
|
|
678
657
|
} catch (error) {
|
|
679
658
|
if (!visibleReplySent) throw error;
|
|
659
|
+
const receipt = createMessageReceiptFromOutboundResults({
|
|
660
|
+
results: acceptedMessageIds.map((messageId) => ({
|
|
661
|
+
channel: "zalo",
|
|
662
|
+
messageId
|
|
663
|
+
})),
|
|
664
|
+
kind: reply.hasMedia ? "media" : "text"
|
|
665
|
+
});
|
|
680
666
|
throw createChannelPartialDeliveryError(error, {
|
|
681
667
|
messageIds: acceptedMessageIds,
|
|
682
|
-
receipt
|
|
683
|
-
results: acceptedMessageIds.map((messageId) => ({
|
|
684
|
-
channel: "zalo",
|
|
685
|
-
messageId
|
|
686
|
-
})),
|
|
687
|
-
kind: reply.hasMedia ? "media" : "text"
|
|
688
|
-
}),
|
|
668
|
+
receipt,
|
|
689
669
|
visibleReplySent: true
|
|
690
670
|
});
|
|
691
671
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { L as registerWebhookTarget, R as registerWebhookTargetWithPluginRoute, U as resolveWebhookTargetWithAuthOrRejectSync, Y as withResolvedWebhookRequestPipeline, i as WEBHOOK_RATE_LIMIT_DEFAULTS, r as WEBHOOK_ANOMALY_COUNTER_DEFAULTS, s as applyBasicWebhookRequestGuards, v as createFixedWindowRateLimiter, y as createWebhookAnomalyTracker, z as resolveClientIp } from "./runtime-api-CN6fYNQK.js";
|
|
2
|
-
import { ZaloWebhookPayloadError } from "./webhook-spool-
|
|
2
|
+
import { ZaloWebhookPayloadError } from "./webhook-spool-2fDB_7Qy.js";
|
|
3
3
|
import { safeEqualSecret } from "openclaw/plugin-sdk/security-runtime";
|
|
4
4
|
import { readWebhookBodyOrReject } from "openclaw/plugin-sdk/webhook-request-guards";
|
|
5
5
|
//#region extensions/zalo/src/monitor.webhook.ts
|
|
@@ -90,7 +90,7 @@ async function handleZaloWebhookRequest(req, res) {
|
|
|
90
90
|
const body = await readWebhookBodyOrReject({
|
|
91
91
|
req,
|
|
92
92
|
res,
|
|
93
|
-
maxBytes:
|
|
93
|
+
maxBytes: 1048576,
|
|
94
94
|
timeoutMs: 3e4,
|
|
95
95
|
invalidBodyMessage: "Bad Request"
|
|
96
96
|
});
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { f as resolveZaloAccount, p as resolveZaloToken } from "./setup-core-DgD3ai3p.js";
|
|
2
2
|
import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
|
|
3
3
|
import { stripChannelTargetPrefix, stripTargetKindPrefix } from "openclaw/plugin-sdk/core";
|
|
4
4
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
@@ -9,7 +9,7 @@ import { resolvePinnedHostnameWithPolicy } from "openclaw/plugin-sdk/ssrf-runtim
|
|
|
9
9
|
import { makeProxyFetch } from "openclaw/plugin-sdk/fetch-runtime";
|
|
10
10
|
//#region extensions/zalo/src/timeouts.ts
|
|
11
11
|
const ZALO_DEFAULT_REQUEST_TIMEOUT_MS = 3e4;
|
|
12
|
-
const ZALO_OUTBOUND_MEDIA_TTL_MS =
|
|
12
|
+
const ZALO_OUTBOUND_MEDIA_TTL_MS = 12e4;
|
|
13
13
|
const ZALO_SEND_PHOTO_REQUEST_TIMEOUT_MS = 15e4;
|
|
14
14
|
//#endregion
|
|
15
15
|
//#region extensions/zalo/src/api.ts
|
package/dist/setup-api.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as zaloDmPolicy, r as zaloSetupAdapter, t as createZaloSetupWizardProxy } from "./setup-core-
|
|
1
|
+
import { n as zaloDmPolicy, r as zaloSetupAdapter, t as createZaloSetupWizardProxy } from "./setup-core-DgD3ai3p.js";
|
|
2
2
|
import { n as resolveZaloRuntimeGroupPolicy } from "./group-access-8qHRzDHx.js";
|
|
3
3
|
import { loadBundledEntryExportSync } from "openclaw/plugin-sdk/channel-entry-contract";
|
|
4
4
|
//#region extensions/zalo/setup-api.ts
|
|
@@ -93,6 +93,7 @@ function resolveZaloToken(config, accountId, options) {
|
|
|
93
93
|
//#region extensions/zalo/src/accounts.ts
|
|
94
94
|
var accounts_exports = /* @__PURE__ */ __exportAll({
|
|
95
95
|
inspectZaloAccount: () => inspectZaloAccount,
|
|
96
|
+
isZaloAccountConfigured: () => isZaloAccountConfigured,
|
|
96
97
|
listZaloAccountIds: () => listZaloAccountIds,
|
|
97
98
|
resolveDefaultZaloAccountId: () => resolveDefaultZaloAccountId,
|
|
98
99
|
resolveZaloAccount: () => resolveZaloAccount
|
|
@@ -129,10 +130,19 @@ function resolveZaloAccount(params) {
|
|
|
129
130
|
});
|
|
130
131
|
}
|
|
131
132
|
function inspectZaloAccount(params) {
|
|
132
|
-
|
|
133
|
+
const account = resolveZaloAccountWithMode({
|
|
133
134
|
...params,
|
|
134
135
|
mode: "inspect"
|
|
135
136
|
});
|
|
137
|
+
return {
|
|
138
|
+
...account,
|
|
139
|
+
configured: isZaloAccountConfigured(account),
|
|
140
|
+
mode: account.config.webhookUrl ? "webhook" : "polling",
|
|
141
|
+
dmPolicy: account.config.dmPolicy ?? "pairing"
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function isZaloAccountConfigured(account) {
|
|
145
|
+
return account.tokenStatus ? account.tokenStatus !== "missing" : Boolean(account.token?.trim());
|
|
136
146
|
}
|
|
137
147
|
//#endregion
|
|
138
148
|
//#region extensions/zalo/src/setup-allow-from.ts
|
|
@@ -153,7 +163,7 @@ async function promptZaloAllowFrom(params) {
|
|
|
153
163
|
cfg,
|
|
154
164
|
accountId
|
|
155
165
|
}).config.allowFrom ?? [];
|
|
156
|
-
const
|
|
166
|
+
const normalized = (await prompter.text({
|
|
157
167
|
message: t$1("wizard.zalo.allowFromPrompt"),
|
|
158
168
|
placeholder: "123456789",
|
|
159
169
|
initialValue: existingAllowFrom[0] ? String(existingAllowFrom[0]) : void 0,
|
|
@@ -162,7 +172,8 @@ async function promptZaloAllowFrom(params) {
|
|
|
162
172
|
if (!raw) return t$1("common.required");
|
|
163
173
|
if (!/^\d+$/.test(raw)) return t$1("wizard.zalo.allowFromNumeric");
|
|
164
174
|
}
|
|
165
|
-
})).trim()
|
|
175
|
+
})).trim();
|
|
176
|
+
const unique = mergeAllowFromEntries(existingAllowFrom, [normalized]);
|
|
166
177
|
if (accountId === DEFAULT_ACCOUNT_ID$1) return {
|
|
167
178
|
...cfg,
|
|
168
179
|
channels: {
|
|
@@ -283,4 +294,4 @@ function createZaloSetupWizardProxy(loadWizard) {
|
|
|
283
294
|
});
|
|
284
295
|
}
|
|
285
296
|
//#endregion
|
|
286
|
-
export { noteZaloTokenHelp as a, inspectZaloAccount as c,
|
|
297
|
+
export { noteZaloTokenHelp as a, inspectZaloAccount as c, resolveDefaultZaloAccountId as d, resolveZaloAccount as f, __exportAll as g, normalizeSecretInputString as h, zaloSetupContract as i, isZaloAccountConfigured as l, buildSecretInputSchema as m, zaloDmPolicy as n, promptZaloAllowFrom as o, resolveZaloToken as p, zaloSetupAdapter as r, accounts_exports as s, createZaloSetupWizardProxy as t, listZaloAccountIds as u };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as noteZaloTokenHelp, c as inspectZaloAccount,
|
|
1
|
+
import { a as noteZaloTokenHelp, c as inspectZaloAccount, g as __exportAll, n as zaloDmPolicy, o as promptZaloAllowFrom } from "./setup-core-DgD3ai3p.js";
|
|
2
2
|
import { DEFAULT_ACCOUNT_ID, buildSingleChannelSecretPromptState, createSetupTranslator, createStandardChannelSetupStatus, hasConfiguredSecretInput, promptSingleChannelSecretInput, runSingleChannelSecretStep } from "openclaw/plugin-sdk/setup";
|
|
3
3
|
//#region extensions/zalo/src/setup-surface.ts
|
|
4
4
|
var setup_surface_exports = /* @__PURE__ */ __exportAll({ zaloSetupWizard: () => zaloSetupWizard });
|
package/dist/setup-surface.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { r as zaloSetupAdapter } from "./setup-core-
|
|
2
|
-
import { n as zaloSetupWizard } from "./setup-surface-
|
|
1
|
+
import { r as zaloSetupAdapter } from "./setup-core-DgD3ai3p.js";
|
|
2
|
+
import { n as zaloSetupWizard } from "./setup-surface-D5xgPinc.js";
|
|
3
3
|
export { zaloSetupAdapter, zaloSetupWizard };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { X as getZaloRuntime } from "./runtime-api-CN6fYNQK.js";
|
|
2
|
-
import { r as ZaloApiError } from "./send-
|
|
2
|
+
import { r as ZaloApiError } from "./send-w8RLKyQx.js";
|
|
3
3
|
import { DEFAULT_INGRESS_ADOPTION_STALL_MS, DEFAULT_INGRESS_RETRY_MAX_ATTEMPTS, bindIngressLifecycleToReplyOptions, createChannelIngressError, createChannelIngressMonitor } from "openclaw/plugin-sdk/channel-outbound";
|
|
4
4
|
import { normalizeNullableString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import { z } from "zod";
|
|
@@ -125,8 +125,9 @@ function isZaloAuthenticationFailure(error) {
|
|
|
125
125
|
return false;
|
|
126
126
|
}
|
|
127
127
|
function createZaloWebhookIngress(options) {
|
|
128
|
+
const queue = options.queue ?? getZaloRuntime().state.openChannelIngressQueue({ accountId: options.accountId });
|
|
128
129
|
const monitor = createChannelIngressMonitor({
|
|
129
|
-
queue
|
|
130
|
+
queue,
|
|
130
131
|
inspect: (rawEvent) => inspectZaloWebhookEvent(rawEvent),
|
|
131
132
|
payload: {
|
|
132
133
|
storage: "raw-event",
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/zalo",
|
|
3
|
-
"version": "2026.9.
|
|
3
|
+
"version": "2026.9.2",
|
|
4
4
|
"description": "OpenClaw Zalo channel plugin for bot and webhook chats.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"type": "module",
|
|
10
10
|
"peerDependencies": {
|
|
11
|
-
"openclaw": ">=2026.9.
|
|
11
|
+
"openclaw": ">=2026.9.2"
|
|
12
12
|
},
|
|
13
13
|
"peerDependenciesMeta": {
|
|
14
14
|
"openclaw": {
|
|
@@ -82,10 +82,10 @@
|
|
|
82
82
|
"minHostVersion": ">=2026.4.10"
|
|
83
83
|
},
|
|
84
84
|
"compat": {
|
|
85
|
-
"pluginApi": ">=2026.9.
|
|
85
|
+
"pluginApi": ">=2026.9.2"
|
|
86
86
|
},
|
|
87
87
|
"build": {
|
|
88
|
-
"openclawVersion": "2026.9.
|
|
88
|
+
"openclawVersion": "2026.9.2"
|
|
89
89
|
},
|
|
90
90
|
"release": {
|
|
91
91
|
"publishToClawHub": true,
|