@openclaw/whatsapp 2026.7.2-beta.4 → 2026.7.2-beta.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.
Files changed (47) hide show
  1. package/README.md +1 -1
  2. package/dist/{access-control-CRz_v6bR.js → access-control-pZcxTmd5.js} +4 -4
  3. package/dist/{accounts-CxPuEFi-.js → accounts-CSqLvCY5.js} +0 -1
  4. package/dist/{action-runtime-CHU7xb6o.js → action-runtime-B2bNDUwE.js} +3 -3
  5. package/dist/action-runtime-api.js +1 -1
  6. package/dist/action-runtime.runtime.js +1 -1
  7. package/dist/api.js +13 -19
  8. package/dist/{approval-handler.runtime-C4ddB7Kc.js → approval-handler.runtime-CmtqgLSQ.js} +5 -5
  9. package/dist/{approval-reactions-P2HXjmln.js → approval-reactions-Cu66aYdq.js} +3 -3
  10. package/dist/{auth-store-DirYMTbo.js → auth-store-DcEpIOmE.js} +2 -2
  11. package/dist/call-tool-api.js +2 -2
  12. package/dist/{channel-B9xjrOGG.js → channel-DcWBc3Hb.js} +23 -60
  13. package/dist/channel-config-api.js +1 -1
  14. package/dist/channel-plugin-api.js +1 -1
  15. package/dist/{channel-react-action-CBW-PA8q.js → channel-react-action-DUIkjl6w.js} +5 -5
  16. package/dist/{channel.runtime-DdKuhlNu.js → channel.runtime-Q5fJ2I2b.js} +4 -4
  17. package/dist/{channel.setup-DXUCPHel.js → channel.setup-C_1u6HN6.js} +1 -1
  18. package/dist/{config-schema-C6IeKIC0.js → config-schema-DARep0Nn.js} +1 -5
  19. package/dist/{connection-controller-BVRExqrB.js → connection-controller-BOB2MVKY.js} +3 -3
  20. package/dist/contract-api.js +2 -2
  21. package/dist/{directory-config-BTbJkV1W.js → directory-config-DalGrfGN.js} +5 -5
  22. package/dist/directory-contract-api.js +1 -1
  23. package/dist/{group-session-key-DJSdYfnb.js → group-session-key-DVMZlO3x.js} +5 -5
  24. package/dist/{identity-BM4_wZeM.js → identity-CPrT5aEU.js} +2 -2
  25. package/dist/light-runtime-api.js +1 -1
  26. package/dist/{login-BKUm7KSk.js → login-CvY2Dhch.js} +4 -4
  27. package/dist/{login-qr-DagJvMbg.js → login-qr-Bncpb6js.js} +4 -4
  28. package/dist/login-qr-runtime.js +1 -1
  29. package/dist/{monitor-CBVNJ2lb.js → monitor-B7phZF9w.js} +258 -330
  30. package/dist/normalize-C7Hkc_vE.js +2 -0
  31. package/dist/{normalize-target-DSZnHkKF.js → normalize-target-CugRyONv.js} +6 -2
  32. package/dist/{question-reactions-CaOrSYzU.js → question-reactions-CRsnyoMK.js} +1 -1
  33. package/dist/{resolve-outbound-target-BR97fAbB.js → resolve-outbound-target-1GqbT1uX.js} +1 -1
  34. package/dist/runtime-api.js +7 -7
  35. package/dist/{send-DhJVN30g.js → send-BTXJAyK4.js} +5 -5
  36. package/dist/{send-api-CpHwbor_.js → send-api-BY_AkSiB.js} +7 -7
  37. package/dist/{setup-finalize-9XzKdFq6.js → setup-finalize-C-m-vCl9.js} +4 -4
  38. package/dist/setup-plugin-api.js +1 -1
  39. package/dist/{setup-surface-Kv3mPki2.js → setup-surface-BjvUbR6M.js} +3 -3
  40. package/dist/{shared-CuqHFnKd.js → shared-UcAwtJaq.js} +6 -6
  41. package/dist/{socket-close-BoSHhQNJ.js → socket-close-DridEuzz.js} +1 -1
  42. package/dist/{targets-runtime-CKFrhoX4.js → targets-runtime-TMk0lGuy.js} +4 -13
  43. package/dist/{text-runtime-CU_IlbK5.js → text-runtime-CaKLhowd.js} +1 -1
  44. package/openclaw.plugin.json +2 -18
  45. package/package.json +4 -5
  46. package/dist/normalize-C-Z16y7Q.js +0 -2
  47. package/npm-shrinkwrap.json +0 -954
@@ -0,0 +1,2 @@
1
+ import "./normalize-target-CugRyONv.js";
2
+ export {};
@@ -1,5 +1,6 @@
1
- import { normalizeLowercaseStringOrEmpty, normalizeStringEntries, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
1
+ import { normalizeLowercaseStringOrEmpty, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
2
2
  import { normalizeE164 } from "openclaw/plugin-sdk/account-resolution";
3
+ import { formatNormalizedAllowFromEntries } from "openclaw/plugin-sdk/allow-from";
3
4
  //#region extensions/whatsapp/src/normalize-target.ts
4
5
  const WHATSAPP_USER_JID_RE = /^(\d+)(?::\d+)?@s\.whatsapp\.net$/i;
5
6
  const WHATSAPP_LEGACY_USER_JID_RE = /^(\d+)@c\.us$/i;
@@ -76,7 +77,10 @@ function normalizeWhatsAppMessagingTarget(raw) {
76
77
  return normalizeWhatsAppTarget(trimmed) ?? void 0;
77
78
  }
78
79
  function normalizeWhatsAppAllowFromEntries(allowFrom) {
79
- return uniqueStrings(normalizeStringEntries(allowFrom).map(normalizeWhatsAppAllowFromEntry).filter((entry) => Boolean(entry)));
80
+ return uniqueStrings(formatNormalizedAllowFromEntries({
81
+ allowFrom,
82
+ normalizeEntry: normalizeWhatsAppAllowFromEntry
83
+ }));
80
84
  }
81
85
  function normalizeWhatsAppAllowFromEntry(entry) {
82
86
  if (entry === "*") return entry;
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { a as resolveWhatsAppAccount } from "./accounts-CxPuEFi-.js";
2
+ import { a as resolveWhatsAppAccount } from "./accounts-CSqLvCY5.js";
3
3
  import { questionGatewayRuntime } from "openclaw/plugin-sdk/question-gateway-runtime";
4
4
  //#region extensions/whatsapp/src/question-reactions.ts
5
5
  var question_reactions_exports = /* @__PURE__ */ __exportAll({
@@ -1,4 +1,4 @@
1
- import { c as normalizeWhatsAppTarget, n as isWhatsAppNewsletterJid, t as isWhatsAppGroupJid } from "./normalize-target-DSZnHkKF.js";
1
+ import { c as normalizeWhatsAppTarget, n as isWhatsAppNewsletterJid, t as isWhatsAppGroupJid } from "./normalize-target-CugRyONv.js";
2
2
  import { normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
3
3
  import { missingTargetError } from "openclaw/plugin-sdk/channel-feedback";
4
4
  //#region extensions/whatsapp/src/resolve-outbound-target.ts
@@ -1,16 +1,16 @@
1
1
  import { o as resolveWebCredsBackupPath, r as hasWebCredsSync, s as resolveWebCredsPath } from "./creds-files-B1kSWtBg.js";
2
- import { n as whatsAppActionRuntime, t as handleWhatsAppAction } from "./action-runtime-CHU7xb6o.js";
3
- import { i as sendTypingWhatsApp, n as sendPollWhatsApp, r as sendReactionWhatsApp, t as sendMessageWhatsApp } from "./send-DhJVN30g.js";
2
+ import { n as whatsAppActionRuntime, t as handleWhatsAppAction } from "./action-runtime-B2bNDUwE.js";
3
+ import { i as sendTypingWhatsApp, n as sendPollWhatsApp, r as sendReactionWhatsApp, t as sendMessageWhatsApp } from "./send-BTXJAyK4.js";
4
4
  import { a as setWhatsAppRuntime } from "./runtime-BLlToOi6.js";
5
5
  import { startWebLoginWithQr, waitForWebLogin } from "./login-qr-runtime.js";
6
6
  import { t as createWhatsAppLoginTool } from "./agent-tools-login-DfyToBpG.js";
7
- import { C as waitForCredsSaveQueue, T as writeCredsJsonAtomically, _ as readWebSelfIdentity, a as formatWhatsAppWebAuthStatusState, b as restoreCredsFromBackupIfNeeded, c as logoutWeb, d as readWebAuthExistsBestEffort, f as readWebAuthExistsForDecision, g as readWebSelfId, h as readWebAuthState, l as pickWebChannel, m as readWebAuthSnapshotBestEffort, n as WHATSAPP_AUTH_UNSTABLE_CODE, o as getWebAuthAgeMs, p as readWebAuthSnapshot, r as WhatsAppAuthUnstableError, s as logWebSelfId, t as WA_WEB_AUTH_DIR, u as readCredsJsonRaw, v as readWebSelfIdentityForDecision, w as waitForCredsSaveQueueWithTimeout, x as webAuthExists, y as resolveDefaultWebAuthDir } from "./auth-store-DirYMTbo.js";
7
+ import { C as waitForCredsSaveQueue, T as writeCredsJsonAtomically, _ as readWebSelfIdentity, a as formatWhatsAppWebAuthStatusState, b as restoreCredsFromBackupIfNeeded, c as logoutWeb, d as readWebAuthExistsBestEffort, f as readWebAuthExistsForDecision, g as readWebSelfId, h as readWebAuthState, l as pickWebChannel, m as readWebAuthSnapshotBestEffort, n as WHATSAPP_AUTH_UNSTABLE_CODE, o as getWebAuthAgeMs, p as readWebAuthSnapshot, r as WhatsAppAuthUnstableError, s as logWebSelfId, t as WA_WEB_AUTH_DIR, u as readCredsJsonRaw, v as readWebSelfIdentityForDecision, w as waitForCredsSaveQueueWithTimeout, x as webAuthExists, y as resolveDefaultWebAuthDir } from "./auth-store-DcEpIOmE.js";
8
8
  import { t as DEFAULT_WEB_MEDIA_BYTES } from "./constants-HU41RHGI.js";
9
9
  import { n as resolveWebAccountId, t as getActiveWebListener } from "./active-listener-BEjWsCNM.js";
10
- import { a as waitForWaConnection, i as newConnectionId, r as createWaSocket } from "./socket-close-BoSHhQNJ.js";
10
+ import { a as waitForWaConnection, i as newConnectionId, r as createWaSocket } from "./socket-close-DridEuzz.js";
11
11
  import { n as getStatusCode, t as formatError } from "./session-errors-JuazczrA.js";
12
- import { g as extractLocationData, p as extractContactContext, y as extractText } from "./send-api-CpHwbor_.js";
13
- import { a as loadWebMediaRaw, c as monitorWebInbox, i as loadWebMedia, l as resetWebInboundDedupe, n as LocalMediaAccessError, o as optimizeImageToJpeg, r as getDefaultLocalRoots, s as optimizeImageToPng, t as monitorWebChannel } from "./monitor-CBVNJ2lb.js";
14
- import { t as loginWeb } from "./login-BKUm7KSk.js";
12
+ import { g as extractLocationData, p as extractContactContext, y as extractText } from "./send-api-BY_AkSiB.js";
13
+ import { a as loadWebMediaRaw, c as monitorWebInbox, i as loadWebMedia, l as resetWebInboundDedupe, n as LocalMediaAccessError, o as optimizeImageToJpeg, r as getDefaultLocalRoots, s as optimizeImageToPng, t as monitorWebChannel } from "./monitor-B7phZF9w.js";
14
+ import { t as loginWeb } from "./login-CvY2Dhch.js";
15
15
  import { HEARTBEAT_PROMPT, HEARTBEAT_TOKEN, SILENT_REPLY_TOKEN, stripHeartbeatToken } from "openclaw/plugin-sdk/reply-runtime";
16
16
  export { DEFAULT_WEB_MEDIA_BYTES, HEARTBEAT_PROMPT, HEARTBEAT_TOKEN, LocalMediaAccessError, SILENT_REPLY_TOKEN, WA_WEB_AUTH_DIR, WHATSAPP_AUTH_UNSTABLE_CODE, WhatsAppAuthUnstableError, createWaSocket, createWhatsAppLoginTool, extractContactContext, extractLocationData, extractText, formatError, formatWhatsAppWebAuthStatusState, getActiveWebListener, getDefaultLocalRoots, getStatusCode, getWebAuthAgeMs, handleWhatsAppAction, hasWebCredsSync, loadWebMedia, loadWebMediaRaw, logWebSelfId, loginWeb, logoutWeb, monitorWebChannel, monitorWebInbox, newConnectionId, optimizeImageToJpeg, optimizeImageToPng, pickWebChannel, readCredsJsonRaw, readWebAuthExistsBestEffort, readWebAuthExistsForDecision, readWebAuthSnapshot, readWebAuthSnapshotBestEffort, readWebAuthState, readWebSelfId, readWebSelfIdentity, readWebSelfIdentityForDecision, resetWebInboundDedupe, resolveDefaultWebAuthDir, resolveWebAccountId, resolveWebCredsBackupPath, resolveWebCredsPath, restoreCredsFromBackupIfNeeded, sendMessageWhatsApp, sendPollWhatsApp, sendReactionWhatsApp, sendTypingWhatsApp, setWhatsAppRuntime, startWebLoginWithQr, stripHeartbeatToken, waitForCredsSaveQueue, waitForCredsSaveQueueWithTimeout, waitForWaConnection, waitForWebLogin, webAuthExists, whatsAppActionRuntime, writeCredsJsonAtomically };
@@ -1,10 +1,10 @@
1
- import { a as resolveWhatsAppAccount, c as resolveMergedWhatsAppAccountConfig, s as resolveWhatsAppMediaMaxBytes } from "./accounts-CxPuEFi-.js";
1
+ import { a as resolveWhatsAppAccount, c as resolveMergedWhatsAppAccountConfig, s as resolveWhatsAppMediaMaxBytes } from "./accounts-CSqLvCY5.js";
2
2
  import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.js";
3
- import { n as isWhatsAppNewsletterJid } from "./normalize-target-DSZnHkKF.js";
3
+ import { n as isWhatsAppNewsletterJid } from "./normalize-target-CugRyONv.js";
4
4
  import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-DG0tuYuw.js";
5
- import "./normalize-C-Z16y7Q.js";
6
- import { a as markdownToWhatsAppChunks, c as toWhatsappJid } from "./targets-runtime-CKFrhoX4.js";
7
- import { a as stripToolCallXmlTags, i as sanitizeAssistantVisibleTextWithProfile, r as sanitizeAssistantVisibleText } from "./text-runtime-CU_IlbK5.js";
5
+ import "./normalize-C7Hkc_vE.js";
6
+ import { a as markdownToWhatsAppChunks, c as toWhatsappJid } from "./targets-runtime-TMk0lGuy.js";
7
+ import { a as stripToolCallXmlTags, i as sanitizeAssistantVisibleTextWithProfile, r as sanitizeAssistantVisibleText } from "./text-runtime-CaKLhowd.js";
8
8
  import path from "node:path";
9
9
  import { normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
10
10
  import { resolveReactionLevel } from "openclaw/plugin-sdk/status-helpers";
@@ -1,10 +1,10 @@
1
- import { n as isWhatsAppNewsletterJid } from "./normalize-target-DSZnHkKF.js";
2
- import { l as resolveWhatsAppDocumentFileName } from "./send-DhJVN30g.js";
3
- import "./normalize-C-Z16y7Q.js";
4
- import { c as toWhatsappJid, l as toWhatsappJidWithLid, r as jidToE164 } from "./targets-runtime-CKFrhoX4.js";
5
- import "./text-runtime-CU_IlbK5.js";
6
- import { i as buildQuotedMessageOptions } from "./group-session-key-DJSdYfnb.js";
7
- import { c as resolveComparableIdentity } from "./identity-BM4_wZeM.js";
1
+ import { n as isWhatsAppNewsletterJid } from "./normalize-target-CugRyONv.js";
2
+ import { l as resolveWhatsAppDocumentFileName } from "./send-BTXJAyK4.js";
3
+ import "./normalize-C7Hkc_vE.js";
4
+ import { c as toWhatsappJid, l as toWhatsappJidWithLid, r as jidToE164 } from "./targets-runtime-TMk0lGuy.js";
5
+ import "./text-runtime-CaKLhowd.js";
6
+ import { i as buildQuotedMessageOptions } from "./group-session-key-DVMZlO3x.js";
7
+ import { c as resolveComparableIdentity } from "./identity-CPrT5aEU.js";
8
8
  import { normalizeLowercaseStringOrEmpty, normalizeStringEntries, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
10
10
  import { createMessageReceiptFromOutboundResults, listMessageReceiptPlatformIds } from "openclaw/plugin-sdk/channel-outbound";
@@ -1,8 +1,8 @@
1
- import { a as resolveWhatsAppAccount, o as resolveWhatsAppAuthDir } from "./accounts-CxPuEFi-.js";
1
+ import { a as resolveWhatsAppAccount, o as resolveWhatsAppAuthDir } from "./accounts-CSqLvCY5.js";
2
2
  import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.js";
3
3
  import { r as hasWebCredsSync } from "./creds-files-B1kSWtBg.js";
4
- import { a as normalizeWhatsAppAllowFromEntries, o as normalizeWhatsAppAllowFromEntry } from "./normalize-target-DSZnHkKF.js";
5
- import { r as whatsappSetupAdapter } from "./shared-CuqHFnKd.js";
4
+ import { a as normalizeWhatsAppAllowFromEntries, o as normalizeWhatsAppAllowFromEntry } from "./normalize-target-CugRyONv.js";
5
+ import { r as whatsappSetupAdapter } from "./shared-UcAwtJaq.js";
6
6
  import { DEFAULT_ACCOUNT_ID, createSetupTranslator, splitSetupEntries } from "openclaw/plugin-sdk/setup";
7
7
  import { formatCliCommand, formatDocsLink } from "openclaw/plugin-sdk/setup-tools";
8
8
  //#region extensions/whatsapp/src/setup-finalize.ts
@@ -295,7 +295,7 @@ async function finalizeWhatsAppSetup(params) {
295
295
  };
296
296
  let loginWeb;
297
297
  try {
298
- ({loginWeb} = await import("./login-BKUm7KSk.js").then((n) => n.n));
298
+ ({loginWeb} = await import("./login-CvY2Dhch.js").then((n) => n.n));
299
299
  } catch (error) {
300
300
  await reportLoginFailure(error);
301
301
  }
@@ -1,2 +1,2 @@
1
- import { t as whatsappSetupPlugin } from "./channel.setup-DXUCPHel.js";
1
+ import { t as whatsappSetupPlugin } from "./channel.setup-C_1u6HN6.js";
2
2
  export { whatsappSetupPlugin };
@@ -1,6 +1,6 @@
1
- import { o as resolveWhatsAppAuthDir } from "./accounts-CxPuEFi-.js";
1
+ import { o as resolveWhatsAppAuthDir } from "./accounts-CSqLvCY5.js";
2
2
  import { t as listAccountIds } from "./account-ids-CB5SOWjc.js";
3
- import { a as formatWhatsAppWebAuthStatusState, h as readWebAuthState } from "./auth-store-DirYMTbo.js";
3
+ import { a as formatWhatsAppWebAuthStatusState, h as readWebAuthState } from "./auth-store-DcEpIOmE.js";
4
4
  import { DEFAULT_ACCOUNT_ID, createSetupTranslator, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup";
5
5
  //#region extensions/whatsapp/src/setup-surface.ts
6
6
  const t = createSetupTranslator();
@@ -36,7 +36,7 @@ const whatsappSetupWizard = {
36
36
  },
37
37
  resolveShouldPromptAccountIds: ({ shouldPromptAccountIds }) => shouldPromptAccountIds,
38
38
  credentials: [],
39
- finalize: async (params) => await (await import("./setup-finalize-9XzKdFq6.js")).finalizeWhatsAppSetup(params),
39
+ finalize: async (params) => await (await import("./setup-finalize-C-m-vCl9.js")).finalizeWhatsAppSetup(params),
40
40
  disable: (cfg) => setSetupChannelEnabled(cfg, channel, false),
41
41
  onAccountRecorded: (accountId, options) => {
42
42
  options?.onAccountId?.(channel, accountId);
@@ -1,7 +1,7 @@
1
- import { a as resolveWhatsAppAccount, n as hasAnyWhatsAppAuth } from "./accounts-CxPuEFi-.js";
1
+ import { a as resolveWhatsAppAccount, n as hasAnyWhatsAppAuth } from "./accounts-CSqLvCY5.js";
2
2
  import { r as resolveDefaultWhatsAppAccountId, t as listAccountIds } from "./account-ids-CB5SOWjc.js";
3
- import { a as normalizeWhatsAppAllowFromEntries } from "./normalize-target-DSZnHkKF.js";
4
- import { t as WhatsAppChannelConfigSchema } from "./config-schema-C6IeKIC0.js";
3
+ import { a as normalizeWhatsAppAllowFromEntries } from "./normalize-target-CugRyONv.js";
4
+ import { t as WhatsAppChannelConfigSchema } from "./config-schema-DARep0Nn.js";
5
5
  import { n as whatsappDoctor } from "./doctor-CwzVXKoE.js";
6
6
  import { t as resolveWhatsAppConfigPath } from "./group-config-path-BGyzT9Lg.js";
7
7
  import { t as resolveLegacyGroupSessionKey } from "./group-session-contract-DDnZSsJ1.js";
@@ -20,13 +20,13 @@ import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter, createSco
20
20
  import { createDelegatedSetupWizardProxy } from "openclaw/plugin-sdk/setup-runtime";
21
21
  import { readChannelAllowFromStore } from "openclaw/plugin-sdk/channel-pairing";
22
22
  //#region extensions/whatsapp/src/channel-runtime-loader.ts
23
- const loadWhatsAppAuthStore = createLazyRuntimeModule(() => import("./auth-store-DirYMTbo.js").then((n) => n.i));
23
+ const loadWhatsAppAuthStore = createLazyRuntimeModule(() => import("./auth-store-DcEpIOmE.js").then((n) => n.i));
24
24
  async function isWhatsAppAuthConfigured(authDir) {
25
25
  return await (await loadWhatsAppAuthStore()).readWebAuthState(authDir) === "linked";
26
26
  }
27
27
  const loadWhatsAppChannelRuntime = createLazyRuntimeModule(async () => {
28
28
  await loadWhatsAppAuthStore();
29
- return await import("./channel.runtime-DdKuhlNu.js");
29
+ return await import("./channel.runtime-Q5fJ2I2b.js");
30
30
  });
31
31
  //#endregion
32
32
  //#region extensions/whatsapp/src/config-accessors.ts
@@ -152,7 +152,7 @@ async function applyWhatsAppSecurityConfigFixes(params) {
152
152
  //#region extensions/whatsapp/src/shared.ts
153
153
  const WHATSAPP_CHANNEL = "whatsapp";
154
154
  async function loadWhatsAppSetupSurface() {
155
- return await import("./setup-surface-Kv3mPki2.js");
155
+ return await import("./setup-surface-BjvUbR6M.js");
156
156
  }
157
157
  const whatsappSetupWizardProxy = createWhatsAppSetupWizardProxy(async () => (await loadWhatsAppSetupSurface()).whatsappSetupWizard);
158
158
  const whatsappConfigAdapter = createScopedChannelConfigAdapter({
@@ -1,5 +1,5 @@
1
1
  import { o as resolveWebCredsBackupPath, s as resolveWebCredsPath, t as assertWebCredsPathRegularFileOrMissing } from "./creds-files-B1kSWtBg.js";
2
- import { E as writeWebCredsRawAtomically, S as enqueueCredsSave, T as writeCredsJsonAtomically, b as restoreCredsFromBackupIfNeeded, u as readCredsJsonRaw, w as waitForCredsSaveQueueWithTimeout, y as resolveDefaultWebAuthDir } from "./auth-store-DirYMTbo.js";
2
+ import { E as writeWebCredsRawAtomically, S as enqueueCredsSave, T as writeCredsJsonAtomically, b as restoreCredsFromBackupIfNeeded, u as readCredsJsonRaw, w as waitForCredsSaveQueueWithTimeout, y as resolveDefaultWebAuthDir } from "./auth-store-DcEpIOmE.js";
3
3
  import { n as getStatusCode } from "./session-errors-JuazczrA.js";
4
4
  import { a as makeWASocket, i as makeCacheableSignalKeyStore, n as createBaileysSignalRepository, r as fetchLatestBaileysVersion, s as useMultiFileAuthState } from "./session.runtime-Nsqaehbd.js";
5
5
  import { VERSION, formatCliCommand } from "openclaw/plugin-sdk/cli-runtime";
@@ -3,35 +3,26 @@ import path from "node:path";
3
3
  import { normalizeE164 } from "openclaw/plugin-sdk/account-resolution";
4
4
  import { chunkMarkdownTextWithMode } from "openclaw/plugin-sdk/reply-chunking";
5
5
  import { logVerbose, shouldLogVerbose } from "openclaw/plugin-sdk/runtime-env";
6
- import { markdownToIRWithMeta, renderMarkdownIRChunksWithinLimit, renderMarkdownWithMarkers, sliceMarkdownIR } from "openclaw/plugin-sdk/text-chunking";
6
+ import { FormatCapabilityProfile, markdownToIRWithMeta, renderMarkdownIRChunksWithinLimit, renderMarkdownWithMarkers, sliceMarkdownIR } from "openclaw/plugin-sdk/text-chunking";
7
7
  import { CONFIG_DIR, resolveUserPath as resolveUserPath$1 } from "openclaw/plugin-sdk/text-utility-runtime";
8
8
  //#region extensions/whatsapp/src/targets-runtime.ts
9
- const WHATSAPP_FORMAT_CAPABILITIES = {
9
+ const WHATSAPP_FORMAT_CAPABILITIES = FormatCapabilityProfile.define({
10
10
  mechanism: "markdown",
11
11
  constructs: {
12
- bold: "native",
13
- italic: "native",
14
12
  underline: "strip",
15
- strikethrough: "native",
16
13
  spoiler: "fallback",
17
- codeInline: "native",
18
- codeBlock: "native",
19
14
  codeLanguage: "fallback",
20
15
  linkLabel: "fallback",
21
16
  heading: "fallback",
22
- bulletList: "native",
23
- orderedList: "native",
24
17
  taskList: "fallback",
25
18
  table: "fallback",
26
- blockquote: "native",
27
- image: "fallback",
28
- mention: "native"
19
+ image: "fallback"
29
20
  },
30
21
  chunk: {
31
22
  limit: 4096,
32
23
  unit: "chars"
33
24
  }
34
- };
25
+ });
35
26
  const WHATSAPP_STYLE_MARKERS = {
36
27
  bold: {
37
28
  open: "*",
@@ -1,4 +1,4 @@
1
- import "./targets-runtime-CKFrhoX4.js";
1
+ import "./targets-runtime-TMk0lGuy.js";
2
2
  import { sanitizeAssistantVisibleText, sanitizeAssistantVisibleTextWithProfile, stripToolCallXmlTags } from "openclaw/plugin-sdk/text-chunking";
3
3
  import { normalizeE164, resolveUserPath as resolveUserPath$1 } from "openclaw/plugin-sdk/text-utility-runtime";
4
4
  export { stripToolCallXmlTags as a, sanitizeAssistantVisibleTextWithProfile as i, resolveUserPath$1 as n, sanitizeAssistantVisibleText as r, normalizeE164 as t };
@@ -368,12 +368,6 @@
368
368
  "extensive"
369
369
  ]
370
370
  },
371
- "debounceMs": {
372
- "default": 0,
373
- "type": "integer",
374
- "minimum": 0,
375
- "maximum": 9007199254740991
376
- },
377
371
  "pluginHooks": {
378
372
  "type": "object",
379
373
  "properties": {
@@ -717,11 +711,6 @@
717
711
  "extensive"
718
712
  ]
719
713
  },
720
- "debounceMs": {
721
- "type": "integer",
722
- "minimum": 0,
723
- "maximum": 9007199254740991
724
- },
725
714
  "pluginHooks": {
726
715
  "type": "object",
727
716
  "properties": {
@@ -766,8 +755,7 @@
766
755
  "required": [
767
756
  "dmPolicy",
768
757
  "groupPolicy",
769
- "mediaMaxMb",
770
- "debounceMs"
758
+ "mediaMaxMb"
771
759
  ],
772
760
  "additionalProperties": false
773
761
  },
@@ -776,7 +764,7 @@
776
764
  "uiHints": {
777
765
  "": {
778
766
  "label": "WhatsApp",
779
- "help": "WhatsApp channel provider configuration for access policy and message batching behavior. Use this section to tune responsiveness and direct-message routing safety for WhatsApp chats."
767
+ "help": "WhatsApp channel provider configuration for access policy and direct-message routing safety."
780
768
  },
781
769
  "dmPolicy": {
782
770
  "label": "WhatsApp DM Policy",
@@ -804,10 +792,6 @@
804
792
  "label": "WhatsApp Self-Phone Mode",
805
793
  "help": "Same-phone setup (bot uses your personal WhatsApp number)."
806
794
  },
807
- "debounceMs": {
808
- "label": "WhatsApp Message Debounce (ms)",
809
- "help": "Debounce window (ms) for batching rapid consecutive messages from the same sender (0 to disable)."
810
- },
811
795
  "configWrites": {
812
796
  "label": "WhatsApp Config Writes",
813
797
  "help": "Allow WhatsApp to write config in response to channel events/commands (default: true)."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/whatsapp",
3
- "version": "2026.7.2-beta.4",
3
+ "version": "2026.7.2-beta.5",
4
4
  "description": "OpenClaw WhatsApp channel plugin for WhatsApp Web chats.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,7 +13,7 @@
13
13
  "typebox": "1.3.6"
14
14
  },
15
15
  "peerDependencies": {
16
- "openclaw": ">=2026.7.2-beta.4"
16
+ "openclaw": ">=2026.7.2-beta.5"
17
17
  },
18
18
  "peerDependenciesMeta": {
19
19
  "openclaw": {
@@ -66,10 +66,10 @@
66
66
  "minHostVersion": ">=2026.4.25"
67
67
  },
68
68
  "compat": {
69
- "pluginApi": ">=2026.7.2-beta.4"
69
+ "pluginApi": ">=2026.7.2-beta.5"
70
70
  },
71
71
  "build": {
72
- "openclawVersion": "2026.7.2-beta.4"
72
+ "openclawVersion": "2026.7.2-beta.5"
73
73
  },
74
74
  "release": {
75
75
  "publishToClawHub": true,
@@ -83,7 +83,6 @@
83
83
  "files": [
84
84
  "dist/**",
85
85
  "openclaw.plugin.json",
86
- "npm-shrinkwrap.json",
87
86
  "README.md",
88
87
  "skills/**"
89
88
  ],
@@ -1,2 +0,0 @@
1
- import "./normalize-target-DSZnHkKF.js";
2
- export {};