@openclaw/zalo 2026.5.26-beta.2 → 2026.5.27-beta.1

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.
@@ -1,4 +1,4 @@
1
- import { t as sendMessageZalo } from "./send-PSCRWrLk.js";
1
+ import { t as sendMessageZalo } from "./send-BboEv7dI.js";
2
2
  //#region extensions/zalo/src/actions.runtime.ts
3
3
  const zaloActionsRuntime = { sendMessageZalo };
4
4
  //#endregion
package/dist/api.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { n as zaloDmPolicy, r as zaloSetupAdapter, t as createZaloSetupWizardProxy } from "./setup-core-oTTioJT-.js";
2
- import { t as zaloPlugin } from "./channel-DndbQ5Tw.js";
2
+ import { t as zaloPlugin } from "./channel-BA6L6Fn5.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 };
@@ -5,7 +5,7 @@ import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
5
5
  import { formatAllowFromLowercase } from "openclaw/plugin-sdk/allow-from";
6
6
  import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter, createScopedDmSecurityResolver, mapAllowFromEntries } from "openclaw/plugin-sdk/channel-config-helpers";
7
7
  import { buildChannelConfigSchema, createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
8
- import { defineChannelMessageAdapter } from "openclaw/plugin-sdk/channel-message";
8
+ import { defineChannelMessageAdapter } from "openclaw/plugin-sdk/channel-outbound";
9
9
  import { buildOpenGroupPolicyRestrictSendersWarning, buildOpenGroupPolicyWarning, createOpenProviderGroupPolicyWarningCollector } from "openclaw/plugin-sdk/channel-policy";
10
10
  import { createEmptyChannelResult, createRawChannelSendResultAdapter } from "openclaw/plugin-sdk/channel-send-result";
11
11
  import { buildTokenChannelStatusSummary } from "openclaw/plugin-sdk/channel-status";
@@ -24,7 +24,7 @@ import { AllowFromListSchema, DmPolicySchema, GroupPolicySchema, MarkdownConfigS
24
24
  import { z } from "zod";
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-C2IWzYPE.js"), "zaloActionsRuntime");
27
+ const loadZaloActionsRuntime = createLazyRuntimeNamedExport(() => import("./actions.runtime-DAPgpcUQ.js"), "zaloActionsRuntime");
28
28
  const providerId = "zalo";
29
29
  function listEnabledAccounts(cfg, accountId) {
30
30
  return (accountId ? [resolveZaloAccount({
@@ -173,7 +173,7 @@ function normalizeZaloMessagingTarget(raw) {
173
173
  if (!trimmed) return;
174
174
  return trimmed.replace(/^(zalo|zl):/i, "").trim();
175
175
  }
176
- const loadZaloChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-CxZ07sqX.js"));
176
+ const loadZaloChannelRuntime = createLazyRuntimeModule(() => import("./channel.runtime-BdmO4TNM.js"));
177
177
  const zaloSetupWizard = createZaloSetupWizardProxy(async () => (await import("./setup-surface-BUaA8o_s.js")).zaloSetupWizard);
178
178
  const zaloTextChunkLimit = 2e3;
179
179
  const zaloRawSendResultAdapter = createRawChannelSendResultAdapter({
@@ -1,2 +1,2 @@
1
- import { t as zaloPlugin } from "./channel-DndbQ5Tw.js";
1
+ import { t as zaloPlugin } from "./channel-BA6L6Fn5.js";
2
2
  export { zaloPlugin };
@@ -1,7 +1,7 @@
1
1
  import { p as normalizeSecretInputString } from "./setup-core-oTTioJT-.js";
2
- import { i as PAIRING_APPROVED_MESSAGE } from "./runtime-api-DMCqJCzM.js";
3
- import { a as getMe, n as resolveZaloProxyFetch, r as ZaloApiError, t as sendMessageZalo } from "./send-PSCRWrLk.js";
4
- import { createAccountStatusSink } from "openclaw/plugin-sdk/channel-lifecycle";
2
+ import { i as PAIRING_APPROVED_MESSAGE } from "./runtime-api-CDwUY_-_.js";
3
+ import { a as getMe, n as resolveZaloProxyFetch, r as ZaloApiError, t as sendMessageZalo } from "./send-BboEv7dI.js";
4
+ import { createAccountStatusSink } from "openclaw/plugin-sdk/channel-outbound";
5
5
  //#region extensions/zalo/src/probe.ts
6
6
  async function probeZalo(token, timeoutMs = 5e3, fetcher) {
7
7
  if (!token?.trim()) return {
@@ -86,7 +86,7 @@ async function startZaloGatewayAccount(ctx) {
86
86
  setStatus: ctx.setStatus
87
87
  });
88
88
  ctx.log?.info(`[${account.accountId}] starting provider${zaloBotLabel} mode=${mode}`);
89
- const { monitorZaloProvider } = await import("./monitor-DIzv7XJO.js");
89
+ const { monitorZaloProvider } = await import("./monitor-BjYu5dvV.js");
90
90
  return monitorZaloProvider({
91
91
  token,
92
92
  account,
@@ -1,6 +1,6 @@
1
1
  import { n as resolveZaloRuntimeGroupPolicy, t as normalizeZaloAllowEntry } from "./group-access-8qHRzDHx.js";
2
- import { t as getZaloRuntime } from "./runtime-api-DMCqJCzM.js";
3
- import { c as sendChatAction, d as setWebhook, i as deleteWebhook, l as sendMessage, n as resolveZaloProxyFetch, o as getUpdates, r as ZaloApiError, s as getWebhookInfo, u as sendPhoto } from "./send-PSCRWrLk.js";
2
+ import { t as getZaloRuntime } from "./runtime-api-CDwUY_-_.js";
3
+ import { c as sendChatAction, d as setWebhook, i as deleteWebhook, l as sendMessage, n as resolveZaloProxyFetch, o as getUpdates, r as ZaloApiError, s as getWebhookInfo, u as sendPhoto } from "./send-BboEv7dI.js";
4
4
  import { deliverTextOrMediaReply, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
5
5
  import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { resolveDefaultGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
@@ -192,7 +192,7 @@ const ZALO_TYPING_TIMEOUT_MS = 5e3;
192
192
  let zaloWebhookModulePromise;
193
193
  const hostedMediaRouteRefs = /* @__PURE__ */ new Map();
194
194
  function loadZaloWebhookModule() {
195
- zaloWebhookModulePromise ??= import("./monitor.webhook-jC7_H1EO.js");
195
+ zaloWebhookModulePromise ??= import("./monitor.webhook-BSYRYNHE.js");
196
196
  return zaloWebhookModulePromise;
197
197
  }
198
198
  function registerSharedHostedMediaRoute(params) {
@@ -527,7 +527,7 @@ async function processMessageWithPipeline(params) {
527
527
  timestamp: date ? date * 1e3 : void 0,
528
528
  body: rawBody
529
529
  });
530
- const ctxPayload = core.channel.turn.buildContext({
530
+ const ctxPayload = core.channel.inbound.buildContext({
531
531
  channel: "zalo",
532
532
  accountId: route.accountId,
533
533
  messageId: message_id,
@@ -540,27 +540,19 @@ async function processMessageWithPipeline(params) {
540
540
  conversation: {
541
541
  kind: isGroup ? "group" : "direct",
542
542
  id: chatId,
543
- label: fromLabel,
544
- routePeer: {
545
- kind: isGroup ? "group" : "direct",
546
- id: chatId
547
- }
543
+ label: fromLabel
548
544
  },
549
545
  route: {
550
546
  agentId: route.agentId,
551
547
  accountId: route.accountId,
552
548
  routeSessionKey: route.sessionKey
553
549
  },
554
- reply: {
555
- to: `zalo:${chatId}`,
556
- originatingTo: `zalo:${chatId}`
557
- },
550
+ reply: { to: `zalo:${chatId}` },
558
551
  message: {
559
552
  body,
560
553
  bodyForAgent: rawBody,
561
554
  rawBody,
562
- commandBody: rawBody,
563
- envelopeFrom: fromLabel
555
+ commandBody: rawBody
564
556
  },
565
557
  media: mediaPath || mediaType ? [{
566
558
  path: mediaPath,
@@ -577,7 +569,7 @@ async function processMessageWithPipeline(params) {
577
569
  channel: "zalo",
578
570
  accountId: account.accountId
579
571
  });
580
- await core.channel.turn.runAssembled({
572
+ await core.channel.inbound.dispatchReply({
581
573
  cfg: config,
582
574
  channel: "zalo",
583
575
  accountId: account.accountId,
@@ -1,4 +1,4 @@
1
- import { B as registerWebhookTargetWithPluginRoute, I as readJsonWebhookBodyOrReject, K as resolveWebhookTargetWithAuthOrRejectSync, Q as withResolvedWebhookRequestPipeline, V as resolveClientIp, a as WEBHOOK_ANOMALY_COUNTER_DEFAULTS, b as createFixedWindowRateLimiter, l as applyBasicWebhookRequestGuards, o as WEBHOOK_RATE_LIMIT_DEFAULTS, x as createWebhookAnomalyTracker, z as registerWebhookTarget } from "./runtime-api-DMCqJCzM.js";
1
+ import { B as registerWebhookTargetWithPluginRoute, I as readJsonWebhookBodyOrReject, K as resolveWebhookTargetWithAuthOrRejectSync, Q as withResolvedWebhookRequestPipeline, V as resolveClientIp, a as WEBHOOK_ANOMALY_COUNTER_DEFAULTS, b as createFixedWindowRateLimiter, l as applyBasicWebhookRequestGuards, o as WEBHOOK_RATE_LIMIT_DEFAULTS, x as createWebhookAnomalyTracker, z as registerWebhookTarget } from "./runtime-api-CDwUY_-_.js";
2
2
  import { safeEqualSecret } from "openclaw/plugin-sdk/security-runtime";
3
3
  import { createClaimableDedupe } from "openclaw/plugin-sdk/persistent-dedupe";
4
4
  //#region extensions/zalo/src/monitor.webhook.ts
@@ -1,5 +1,5 @@
1
1
  import { formatAllowFromLowercase as formatAllowFromLowercase$1, isNormalizedSenderAllowed } from "openclaw/plugin-sdk/allow-from";
2
- import { createChannelMessageReplyPipeline } from "openclaw/plugin-sdk/channel-message";
2
+ import { createChannelMessageReplyPipeline } from "openclaw/plugin-sdk/channel-outbound";
3
3
  import { PAIRING_APPROVED_MESSAGE, buildTokenChannelStatusSummary as buildTokenChannelStatusSummary$1 } from "openclaw/plugin-sdk/channel-status";
4
4
  import { deliverTextOrMediaReply as deliverTextOrMediaReply$1, isNumericTargetId as isNumericTargetId$1, sendPayloadWithChunkedTextAndMedia as sendPayloadWithChunkedTextAndMedia$1 } from "openclaw/plugin-sdk/reply-payload";
5
5
  import { buildBaseAccountStatusSnapshot } from "openclaw/plugin-sdk/status-helpers";
@@ -1,2 +1,2 @@
1
- import { A as mergeAllowFromEntries, B as registerWebhookTargetWithPluginRoute, C as formatAllowFromLowercase, D as isNumericTargetId, E as isNormalizedSenderAllowed, F as promptSingleChannelSecretInput, G as resolveWebhookPath, H as resolveDefaultGroupPolicy, I as readJsonWebhookBodyOrReject, J as sendPayloadWithChunkedTextAndMedia, K as resolveWebhookTargetWithAuthOrRejectSync, L as readStringParam, M as normalizeAccountId, N as normalizeResolvedSecretInputString, O as jsonResult, P as normalizeSecretInputString, Q as withResolvedWebhookRequestPipeline, R as registerPluginHttpRoute, S as deliverTextOrMediaReply, T as hasConfiguredSecretInput, U as resolveInboundRouteEnvelopeBuilderWithRuntime, V as resolveClientIp, W as resolveOpenProviderRuntimeGroupPolicy, X as waitForAbortSignal, Y as setTopLevelChannelDmPolicyWithAllowFrom, Z as warnMissingProviderGroupPolicyFallbackOnce, _ as createChannelMessageReplyPipeline, a as WEBHOOK_ANOMALY_COUNTER_DEFAULTS, b as createFixedWindowRateLimiter, c as applyAccountNameToChannelSection, d as buildBaseAccountStatusSnapshot, f as buildChannelConfigSchema, g as chunkTextForOutbound, h as buildTokenChannelStatusSummary, i as PAIRING_APPROVED_MESSAGE, j as migrateBaseNameToDefaultAccount, k as logTypingFailure, l as applyBasicWebhookRequestGuards, m as buildSingleChannelSecretPromptState, n as setZaloRuntime, o as WEBHOOK_RATE_LIMIT_DEFAULTS, p as buildSecretInputSchema, q as runSingleChannelSecretStep, r as DEFAULT_ACCOUNT_ID, s as addWildcardAllowFrom, u as applySetupAccountConfigPatch, v as createChannelPairingController, w as formatPairingApproveHint, x as createWebhookAnomalyTracker, y as createDedupeCache, z as registerWebhookTarget } from "./runtime-api-DMCqJCzM.js";
1
+ import { A as mergeAllowFromEntries, B as registerWebhookTargetWithPluginRoute, C as formatAllowFromLowercase, D as isNumericTargetId, E as isNormalizedSenderAllowed, F as promptSingleChannelSecretInput, G as resolveWebhookPath, H as resolveDefaultGroupPolicy, I as readJsonWebhookBodyOrReject, J as sendPayloadWithChunkedTextAndMedia, K as resolveWebhookTargetWithAuthOrRejectSync, L as readStringParam, M as normalizeAccountId, N as normalizeResolvedSecretInputString, O as jsonResult, P as normalizeSecretInputString, Q as withResolvedWebhookRequestPipeline, R as registerPluginHttpRoute, S as deliverTextOrMediaReply, T as hasConfiguredSecretInput, U as resolveInboundRouteEnvelopeBuilderWithRuntime, V as resolveClientIp, W as resolveOpenProviderRuntimeGroupPolicy, X as waitForAbortSignal, Y as setTopLevelChannelDmPolicyWithAllowFrom, Z as warnMissingProviderGroupPolicyFallbackOnce, _ as createChannelMessageReplyPipeline, a as WEBHOOK_ANOMALY_COUNTER_DEFAULTS, b as createFixedWindowRateLimiter, c as applyAccountNameToChannelSection, d as buildBaseAccountStatusSnapshot, f as buildChannelConfigSchema, g as chunkTextForOutbound, h as buildTokenChannelStatusSummary, i as PAIRING_APPROVED_MESSAGE, j as migrateBaseNameToDefaultAccount, k as logTypingFailure, l as applyBasicWebhookRequestGuards, m as buildSingleChannelSecretPromptState, n as setZaloRuntime, o as WEBHOOK_RATE_LIMIT_DEFAULTS, p as buildSecretInputSchema, q as runSingleChannelSecretStep, r as DEFAULT_ACCOUNT_ID, s as addWildcardAllowFrom, u as applySetupAccountConfigPatch, v as createChannelPairingController, w as formatPairingApproveHint, x as createWebhookAnomalyTracker, y as createDedupeCache, z as registerWebhookTarget } from "./runtime-api-CDwUY_-_.js";
2
2
  export { DEFAULT_ACCOUNT_ID, PAIRING_APPROVED_MESSAGE, WEBHOOK_ANOMALY_COUNTER_DEFAULTS, WEBHOOK_RATE_LIMIT_DEFAULTS, addWildcardAllowFrom, applyAccountNameToChannelSection, applyBasicWebhookRequestGuards, applySetupAccountConfigPatch, buildBaseAccountStatusSnapshot, buildChannelConfigSchema, buildSecretInputSchema, buildSingleChannelSecretPromptState, buildTokenChannelStatusSummary, chunkTextForOutbound, createChannelMessageReplyPipeline, createChannelPairingController, createDedupeCache, createFixedWindowRateLimiter, createWebhookAnomalyTracker, deliverTextOrMediaReply, formatAllowFromLowercase, formatPairingApproveHint, hasConfiguredSecretInput, isNormalizedSenderAllowed, isNumericTargetId, jsonResult, logTypingFailure, mergeAllowFromEntries, migrateBaseNameToDefaultAccount, normalizeAccountId, normalizeResolvedSecretInputString, normalizeSecretInputString, promptSingleChannelSecretInput, readJsonWebhookBodyOrReject, readStringParam, registerPluginHttpRoute, registerWebhookTarget, registerWebhookTargetWithPluginRoute, resolveClientIp, resolveDefaultGroupPolicy, resolveInboundRouteEnvelopeBuilderWithRuntime, resolveOpenProviderRuntimeGroupPolicy, resolveWebhookPath, resolveWebhookTargetWithAuthOrRejectSync, runSingleChannelSecretStep, sendPayloadWithChunkedTextAndMedia, setTopLevelChannelDmPolicyWithAllowFrom, setZaloRuntime, waitForAbortSignal, warnMissingProviderGroupPolicyFallbackOnce, withResolvedWebhookRequestPipeline };
@@ -1,5 +1,5 @@
1
1
  import { d as resolveZaloToken, u as resolveZaloAccount } from "./setup-core-oTTioJT-.js";
2
- import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-message";
2
+ import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
3
3
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
4
4
  import { resolvePinnedHostnameWithPolicy } from "openclaw/plugin-sdk/ssrf-runtime";
5
5
  import { makeProxyFetch } from "openclaw/plugin-sdk/fetch-runtime";
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@openclaw/zalo",
3
- "version": "2026.5.26-beta.2",
3
+ "version": "2026.5.27-beta.1",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "@openclaw/zalo",
9
- "version": "2026.5.26-beta.2",
9
+ "version": "2026.5.27-beta.1",
10
10
  "dependencies": {
11
11
  "zod": "4.4.3"
12
12
  },
13
13
  "peerDependencies": {
14
- "openclaw": ">=2026.5.26-beta.2"
14
+ "openclaw": ">=2026.5.27-beta.1"
15
15
  },
16
16
  "peerDependenciesMeta": {
17
17
  "openclaw": {
@@ -1,5 +1,7 @@
1
1
  {
2
2
  "id": "zalo",
3
+ "name": "Zalo",
4
+ "description": "OpenClaw Zalo channel plugin for bot and webhook chats.",
3
5
  "activation": {
4
6
  "onStartup": false
5
7
  },
package/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@openclaw/zalo",
3
- "version": "2026.5.26-beta.2",
4
- "description": "OpenClaw Zalo channel plugin",
3
+ "version": "2026.5.27-beta.1",
4
+ "description": "OpenClaw Zalo channel plugin for bot and webhook chats.",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/openclaw/openclaw"
8
8
  },
9
9
  "type": "module",
10
10
  "peerDependencies": {
11
- "openclaw": ">=2026.5.26-beta.2"
11
+ "openclaw": ">=2026.5.27-beta.1"
12
12
  },
13
13
  "peerDependenciesMeta": {
14
14
  "openclaw": {
@@ -39,10 +39,10 @@
39
39
  "minHostVersion": ">=2026.4.10"
40
40
  },
41
41
  "compat": {
42
- "pluginApi": ">=2026.5.26-beta.2"
42
+ "pluginApi": ">=2026.5.27-beta.1"
43
43
  },
44
44
  "build": {
45
- "openclawVersion": "2026.5.26-beta.2"
45
+ "openclawVersion": "2026.5.27-beta.1"
46
46
  },
47
47
  "release": {
48
48
  "publishToClawHub": true,