@openclaw/whatsapp 2026.8.2 → 2026.8.34

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 (69) hide show
  1. package/dist/{accounts-CeKQbu_s.js → .setup/accounts-u_tUoK19.mjs} +2 -2
  2. package/dist/{action-runtime-Bw0loEdy.js → .setup/action-runtime-BVUf4f89.mjs} +3 -3
  3. package/dist/{active-listener-BEjWsCNM.js → .setup/active-listener-CDjoX9QR.mjs} +2 -2
  4. package/dist/{agent-tools-login-B-2qZPzc.js → .setup/agent-tools-login-B6MAs75N.mjs} +2 -2
  5. package/dist/{approval-handler.runtime-DeyPb57-.js → .setup/approval-handler.runtime-Dkpo_P9l.mjs} +12 -8
  6. package/dist/{approval-reactions-DGDA6hQ7.js → .setup/approval-reactions-S0t29Eux.mjs} +6 -6
  7. package/dist/{auth-store-DTj1H9pv.js → .setup/auth-store-BLlwNwk9.mjs} +5 -5
  8. package/dist/{channel-DxMmDjqK.js → .setup/channel-Bx4V4MFn.mjs} +23 -19
  9. package/dist/{channel-react-action-BUp7Wbfr.js → .setup/channel-react-action-N47OoLaS.mjs} +5 -5
  10. package/dist/{channel.runtime-BwSnyXRX.js → .setup/channel.runtime-RzZe__SD.mjs} +6 -6
  11. package/dist/{channel.setup-aOFLSQyw.js → .setup/channel.setup-BhDdl2Ne.mjs} +1 -1
  12. package/dist/{connection-controller-BvkxsbWi.js → .setup/connection-controller-DdJ3ZYk3.mjs} +5 -5
  13. package/dist/{connection-controller-runtime-context-DG0tuYuw.js → .setup/connection-controller-runtime-context-hgLJoRc8.mjs} +1 -1
  14. package/dist/{directory-config-LgxYJLWY.js → .setup/directory-config-CyZpW0t5.mjs} +8 -8
  15. package/dist/{group-session-key-KUguLmSZ.js → .setup/group-session-key-Bx_RT7LG.mjs} +5 -5
  16. package/dist/.setup/legacy-session-surface-api-B2szjq4r.mjs +2 -0
  17. package/dist/{login-Bk_jiXKD.js → .setup/login-B6mR1G7c.mjs} +5 -5
  18. package/dist/{login-qr-B3m61NqA.js → .setup/login-qr-y11oWl3Y.mjs} +6 -6
  19. package/dist/{monitor-CTsyo-HE.js → .setup/monitor-BfbT-HY2.mjs} +20 -20
  20. package/dist/.setup/normalize-B1wBftQ7.mjs +2 -0
  21. package/dist/{question-reactions-B9D6MHXZ.js → .setup/question-reactions-CP6JdAfC.mjs} +2 -2
  22. package/dist/{resolve-outbound-target-1GqbT1uX.js → .setup/resolve-outbound-target-CHYl534S.mjs} +1 -1
  23. package/dist/{send-DiPjiygK.js → .setup/send-DhVkeVOL.mjs} +7 -7
  24. package/dist/{send-api-kFcuhSiY.js → .setup/send-api-BkGtYGVg.mjs} +7 -7
  25. package/dist/{session.runtime-Nsqaehbd.js → .setup/session.runtime-DcJuO42v.mjs} +1 -1
  26. package/dist/{setup-finalize-CqH5wTK5.js → .setup/setup-finalize-CEXYNKnx.mjs} +6 -6
  27. package/dist/.setup/setup-plugin-api-Cza7x2wL.mjs +3 -0
  28. package/dist/{setup-surface-Dm3T6S8t.js → .setup/setup-surface-akF37VwD.mjs} +4 -4
  29. package/dist/{shared-DDjonGys.js → .setup/shared-Bz5KSNaw.mjs} +13 -13
  30. package/dist/{socket-close-CpkkJZCU.js → .setup/socket-close-Ci2nLeBQ.mjs} +4 -4
  31. package/dist/{text-runtime-DyfmcATV.js → .setup/text-runtime-CHl0iPYe.mjs} +1 -1
  32. package/dist/action-runtime-api.js +1 -1
  33. package/dist/action-runtime.runtime.js +1 -1
  34. package/dist/agent-tools-api.js +4 -4
  35. package/dist/api.js +15 -15
  36. package/dist/auth-presence.js +1 -1
  37. package/dist/channel-config-api.js +1 -1
  38. package/dist/channel-plugin-api.js +1 -1
  39. package/dist/contract-api.js +5 -5
  40. package/dist/directory-contract-api.js +1 -1
  41. package/dist/doctor-contract-api.js +2 -2
  42. package/dist/legacy-session-surface-api.js +1 -1
  43. package/dist/light-runtime-api.js +4 -4
  44. package/dist/login-qr-runtime.js +1 -1
  45. package/dist/runtime-api.js +13 -13
  46. package/dist/runtime-setter-api.js +1 -1
  47. package/dist/security-contract-api.js +1 -1
  48. package/dist/setup-entry.js +3 -2
  49. package/dist/setup-plugin-api.js +1 -1
  50. package/package.json +4 -4
  51. package/dist/normalize-C7Hkc_vE.js +0 -2
  52. /package/dist/{account-ids-CB5SOWjc.js → .setup/account-ids-CB5SOWjc.mjs} +0 -0
  53. /package/dist/{audio-preflight.runtime-C_glQhZY.js → .setup/audio-preflight.runtime-C_glQhZY.mjs} +0 -0
  54. /package/dist/{command-policy-BIOSHySD.js → .setup/command-policy-BIOSHySD.mjs} +0 -0
  55. /package/dist/{config-schema-BYA6e_Ii.js → .setup/config-schema-BYA6e_Ii.mjs} +0 -0
  56. /package/dist/{constants-C7m81BNe.js → .setup/constants-C7m81BNe.mjs} +0 -0
  57. /package/dist/{creds-files-W6B3EMZ8.js → .setup/creds-files-W6B3EMZ8.mjs} +0 -0
  58. /package/dist/{doctor-CwzVXKoE.js → .setup/doctor-CwzVXKoE.mjs} +0 -0
  59. /package/dist/{group-config-path-BGyzT9Lg.js → .setup/group-config-path-BGyzT9Lg.mjs} +0 -0
  60. /package/dist/{group-session-contract-DDnZSsJ1.js → .setup/group-session-contract-DDnZSsJ1.mjs} +0 -0
  61. /package/dist/{normalize-target-CugRyONv.js → .setup/normalize-target-CugRyONv.mjs} +0 -0
  62. /package/dist/{reply-resolver.runtime-Ded8D58Y.js → .setup/reply-resolver.runtime-Ded8D58Y.mjs} +0 -0
  63. /package/dist/{rolldown-runtime-D7D4PA-g.js → .setup/rolldown-runtime-D7D4PA-g.mjs} +0 -0
  64. /package/dist/{runtime-BLlToOi6.js → .setup/runtime-BLlToOi6.mjs} +0 -0
  65. /package/dist/{runtime-group-policy-DeSRFXEV.js → .setup/runtime-group-policy-DeSRFXEV.mjs} +0 -0
  66. /package/dist/{security-contract-nAzD945y.js → .setup/security-contract-nAzD945y.mjs} +0 -0
  67. /package/dist/{session-contract-DMTm6Q_L.js → .setup/session-contract-DMTm6Q_L.mjs} +0 -0
  68. /package/dist/{session-errors-JuazczrA.js → .setup/session-errors-JuazczrA.mjs} +0 -0
  69. /package/dist/{targets-runtime-RBjx3pg_.js → .setup/targets-runtime-RBjx3pg_.mjs} +0 -0
@@ -1,5 +1,5 @@
1
- import { n as listConfiguredAccountIds, r as resolveDefaultWhatsAppAccountId, t as listAccountIds } from "./account-ids-CB5SOWjc.js";
2
- import { n as hasWebCredsRegularFileSync, r as hasWebCredsSync } from "./creds-files-W6B3EMZ8.js";
1
+ import { n as listConfiguredAccountIds, r as resolveDefaultWhatsAppAccountId, t as listAccountIds } from "./account-ids-CB5SOWjc.mjs";
2
+ import { n as hasWebCredsRegularFileSync, r as hasWebCredsSync } from "./creds-files-W6B3EMZ8.mjs";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
5
5
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId, resolveAccountEntry, resolveMergedAccountConfig, resolveUserPath } from "openclaw/plugin-sdk/account-core";
@@ -1,6 +1,6 @@
1
- import { a as resolveWhatsAppAccount } from "./accounts-CeKQbu_s.js";
2
- import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-1GqbT1uX.js";
3
- import { r as sendReactionWhatsApp, v as resolveWhatsAppReactionLevel } from "./send-DiPjiygK.js";
1
+ import { a as resolveWhatsAppAccount } from "./accounts-u_tUoK19.mjs";
2
+ import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-CHYl534S.mjs";
3
+ import { r as sendReactionWhatsApp, v as resolveWhatsAppReactionLevel } from "./send-DhVkeVOL.mjs";
4
4
  import { ToolAuthorizationError, createActionGate, jsonResult, readReactionParams, readStringParam } from "openclaw/plugin-sdk/channel-actions";
5
5
  //#region extensions/whatsapp/src/action-runtime-target-auth.ts
6
6
  function resolveAuthorizedWhatsAppOutboundTarget(params) {
@@ -1,5 +1,5 @@
1
- import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.js";
2
- import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-DG0tuYuw.js";
1
+ import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.mjs";
2
+ import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-hgLJoRc8.mjs";
3
3
  //#region extensions/whatsapp/src/active-listener.ts
4
4
  function resolveWebAccountId(params) {
5
5
  return (params.accountId ?? "").trim() || resolveDefaultWhatsAppAccountId(params.cfg);
@@ -1,5 +1,5 @@
1
- import { startWebLoginWithQr, waitForWebLogin } from "./login-qr-runtime.js";
2
- import "./login-qr-api.js";
1
+ import { startWebLoginWithQr, waitForWebLogin } from "../login-qr-runtime.js";
2
+ import "../login-qr-api.js";
3
3
  import { optionalPositiveIntegerSchema, readPositiveIntegerParam } from "openclaw/plugin-sdk/channel-actions";
4
4
  import { hasNonEmptyString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { Type } from "typebox";
@@ -1,10 +1,10 @@
1
- import "./accounts-CeKQbu_s.js";
2
- import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.js";
3
- import { s as normalizeWhatsAppMessagingTarget } from "./normalize-target-CugRyONv.js";
4
- import { i as sendTypingWhatsApp, t as sendMessageWhatsApp } from "./send-DiPjiygK.js";
5
- import { i as getWhatsAppRuntime } from "./runtime-BLlToOi6.js";
6
- import "./normalize-C7Hkc_vE.js";
7
- import { i as unregisterWhatsAppApprovalReactionTarget, r as registerWhatsAppApprovalReactionTarget } from "./approval-reactions-DGDA6hQ7.js";
1
+ import "./accounts-u_tUoK19.mjs";
2
+ import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.mjs";
3
+ import { s as normalizeWhatsAppMessagingTarget } from "./normalize-target-CugRyONv.mjs";
4
+ import { i as sendTypingWhatsApp, t as sendMessageWhatsApp } from "./send-DhVkeVOL.mjs";
5
+ import { i as getWhatsAppRuntime } from "./runtime-BLlToOi6.mjs";
6
+ import "./normalize-B1wBftQ7.mjs";
7
+ import { i as unregisterWhatsAppApprovalReactionTarget, r as registerWhatsAppApprovalReactionTarget } from "./approval-reactions-S0t29Eux.mjs";
8
8
  import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env";
9
9
  import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
10
10
  import { buildApprovalReactionPendingContent } from "openclaw/plugin-sdk/approval-reaction-runtime";
@@ -16,7 +16,11 @@ function buildPendingPayload(params) {
16
16
  return buildApprovalReactionPendingContent(params);
17
17
  }
18
18
  const whatsappApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapter({
19
- eventKinds: ["exec", "plugin"],
19
+ eventKinds: [
20
+ "exec",
21
+ "plugin",
22
+ "system-agent"
23
+ ],
20
24
  availability: {
21
25
  isConfigured: ({ context }) => Boolean(context),
22
26
  shouldHandle: ({ context }) => Boolean(context)
@@ -1,7 +1,7 @@
1
- import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { a as resolveWhatsAppAccount } from "./accounts-CeKQbu_s.js";
3
- import { n as getOptionalWhatsAppRuntime } from "./runtime-BLlToOi6.js";
4
- import { c as getWhatsAppApprovalApprovers, l as whatsappApprovalAuth } from "./group-session-key-KUguLmSZ.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
+ import { a as resolveWhatsAppAccount } from "./accounts-u_tUoK19.mjs";
3
+ import { n as getOptionalWhatsAppRuntime } from "./runtime-BLlToOi6.mjs";
4
+ import { c as getWhatsAppApprovalApprovers, l as whatsappApprovalAuth } from "./group-session-key-Bx_RT7LG.mjs";
5
5
  import { isApprovalNotFoundError } from "openclaw/plugin-sdk/error-runtime";
6
6
  import { createLazyRuntimeSurface } from "openclaw/plugin-sdk/lazy-runtime";
7
7
  import { approvalReactionDecisionSetsMatch, buildApprovalReactionDeliveredBindingMarker, createApprovalReactionTargetStore, listApprovalReactionBindings, readApprovalReactionDecisionList, readApprovalReactionDeliveredBinding, readApprovalReactionPresentationBinding, resolveTypedApprovalReactionTarget } from "openclaw/plugin-sdk/approval-reaction-runtime";
@@ -54,7 +54,7 @@ function reportApprovalBindingCorrelationMismatch(binding) {
54
54
  }
55
55
  function readPersistedTarget(target) {
56
56
  const value = target;
57
- if (!value || typeof value.approvalId !== "string" || value.approvalKind !== "exec" && value.approvalKind !== "plugin") return null;
57
+ if (!value || typeof value.approvalId !== "string" || value.approvalKind !== "exec" && value.approvalKind !== "plugin" && value.approvalKind !== "system-agent") return null;
58
58
  const allowedDecisions = readApprovalReactionDecisionList(value.allowedDecisions);
59
59
  if (!allowedDecisions) return null;
60
60
  return {
@@ -114,7 +114,7 @@ function registerWhatsAppApprovalReactionTarget(params) {
114
114
  const key = buildReactionTargetKey(params);
115
115
  const approvalId = params.approvalId.trim();
116
116
  const allowedDecisions = listApprovalReactionBindings({ allowedDecisions: params.allowedDecisions }).map((binding) => binding.decision);
117
- if (!key || !approvalId || params.approvalKind !== "exec" && params.approvalKind !== "plugin" || allowedDecisions.length === 0) return null;
117
+ if (!key || !approvalId || params.approvalKind !== "exec" && params.approvalKind !== "plugin" && params.approvalKind !== "system-agent" || allowedDecisions.length === 0) return null;
118
118
  const target = {
119
119
  approvalId,
120
120
  approvalKind: params.approvalKind,
@@ -1,7 +1,7 @@
1
- import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { a as readWebCredsJsonRaw, c as resolveWebCredsPath, i as isWhatsAppBaileysAuthFileName, l as statWebCredsFileSync, o as readWebCredsJsonRawSync, r as hasWebCredsSync, s as resolveWebCredsBackupPath, t as assertWebCredsPathRegularFileOrMissing } from "./creds-files-W6B3EMZ8.js";
3
- import { r as jidToE164 } from "./targets-runtime-RBjx3pg_.js";
4
- import { n as resolveUserPath, t as normalizeE164 } from "./text-runtime-DyfmcATV.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
+ import { a as readWebCredsJsonRaw, c as resolveWebCredsPath, i as isWhatsAppBaileysAuthFileName, l as statWebCredsFileSync, o as readWebCredsJsonRawSync, r as hasWebCredsSync, s as resolveWebCredsBackupPath, t as assertWebCredsPathRegularFileOrMissing } from "./creds-files-W6B3EMZ8.mjs";
3
+ import { r as jidToE164 } from "./targets-runtime-RBjx3pg_.mjs";
4
+ import { n as resolveUserPath, t as normalizeE164 } from "./text-runtime-CHl0iPYe.mjs";
5
5
  import path from "node:path";
6
6
  import { resolveOAuthDir as resolveOAuthDir$1 } from "openclaw/plugin-sdk/state-paths";
7
7
  import { replaceFileAtomic } from "openclaw/plugin-sdk/security-runtime";
@@ -17,7 +17,7 @@ const CREDS_FILE_MODE = 384;
17
17
  const CREDS_SAVE_FLUSH_TIMEOUT_MS = 15e3;
18
18
  const credsSaveQueues = /* @__PURE__ */ new Map();
19
19
  async function stringifyCreds(creds) {
20
- const { BufferJSON } = await import("./session.runtime-Nsqaehbd.js").then((n) => n.o);
20
+ const { BufferJSON } = await import("./session.runtime-DcJuO42v.mjs").then((n) => n.o);
21
21
  return JSON.stringify(creds, BufferJSON.replacer);
22
22
  }
23
23
  async function writeWebCredsRawAtomically(params) {
@@ -1,16 +1,16 @@
1
- import { a as resolveWhatsAppAccount } from "./accounts-CeKQbu_s.js";
2
- import { r as resolveDefaultWhatsAppAccountId, t as listAccountIds } from "./account-ids-CB5SOWjc.js";
3
- import { c as normalizeWhatsAppTarget, i as looksLikeWhatsAppTargetId, n as isWhatsAppNewsletterJid, o as normalizeWhatsAppAllowFromEntry, s as normalizeWhatsAppMessagingTarget, t as isWhatsAppGroupJid } from "./normalize-target-CugRyONv.js";
4
- import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-1GqbT1uX.js";
5
- import { c as normalizeWhatsAppPayloadTextPreservingIndentation, i as sendTypingWhatsApp, n as sendPollWhatsApp, o as normalizeWhatsAppOutboundPayload, s as normalizeWhatsAppPayloadText, t as sendMessageWhatsApp, v as resolveWhatsAppReactionLevel } from "./send-DiPjiygK.js";
6
- import { i as getWhatsAppRuntime } from "./runtime-BLlToOi6.js";
7
- import "./normalize-C7Hkc_vE.js";
8
- import { c as toWhatsappJid } from "./targets-runtime-RBjx3pg_.js";
9
- import "./text-runtime-DyfmcATV.js";
10
- import { c as getWhatsAppApprovalApprovers, l as whatsappApprovalAuth, s as lookupInboundMessageMetaForTarget, t as resolveWhatsAppGroupSessionKey } from "./group-session-key-KUguLmSZ.js";
11
- import { a as resolveWhatsAppGroupRequireMention, c as loadWhatsAppChannelRuntime, i as whatsappSetupContract, l as readWhatsAppAccountLinkState, n as whatsappSetupWizardProxy, o as resolveWhatsAppGroupToolPolicy, s as formatWhatsAppConfigAllowFromEntries, t as createWhatsAppPluginBase } from "./shared-DDjonGys.js";
12
- import { t as whatsappCommandPolicy } from "./command-policy-BIOSHySD.js";
13
- import { f as readWebAuthExistsForDecision, n as WHATSAPP_AUTH_UNSTABLE_CODE } from "./auth-store-DTj1H9pv.js";
1
+ import { a as resolveWhatsAppAccount } from "./accounts-u_tUoK19.mjs";
2
+ import { r as resolveDefaultWhatsAppAccountId, t as listAccountIds } from "./account-ids-CB5SOWjc.mjs";
3
+ import { c as normalizeWhatsAppTarget, i as looksLikeWhatsAppTargetId, n as isWhatsAppNewsletterJid, o as normalizeWhatsAppAllowFromEntry, s as normalizeWhatsAppMessagingTarget, t as isWhatsAppGroupJid } from "./normalize-target-CugRyONv.mjs";
4
+ import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-CHYl534S.mjs";
5
+ import { c as normalizeWhatsAppPayloadTextPreservingIndentation, i as sendTypingWhatsApp, n as sendPollWhatsApp, o as normalizeWhatsAppOutboundPayload, s as normalizeWhatsAppPayloadText, t as sendMessageWhatsApp, v as resolveWhatsAppReactionLevel } from "./send-DhVkeVOL.mjs";
6
+ import { i as getWhatsAppRuntime } from "./runtime-BLlToOi6.mjs";
7
+ import "./normalize-B1wBftQ7.mjs";
8
+ import { c as toWhatsappJid } from "./targets-runtime-RBjx3pg_.mjs";
9
+ import "./text-runtime-CHl0iPYe.mjs";
10
+ import { c as getWhatsAppApprovalApprovers, l as whatsappApprovalAuth, s as lookupInboundMessageMetaForTarget, t as resolveWhatsAppGroupSessionKey } from "./group-session-key-Bx_RT7LG.mjs";
11
+ import { a as resolveWhatsAppGroupRequireMention, c as loadWhatsAppChannelRuntime, i as whatsappSetupContract, l as readWhatsAppAccountLinkState, n as whatsappSetupWizardProxy, o as resolveWhatsAppGroupToolPolicy, s as formatWhatsAppConfigAllowFromEntries, t as createWhatsAppPluginBase } from "./shared-Bz5KSNaw.mjs";
12
+ import { t as whatsappCommandPolicy } from "./command-policy-BIOSHySD.mjs";
13
+ import { f as readWebAuthExistsForDecision, n as WHATSAPP_AUTH_UNSTABLE_CODE } from "./auth-store-BLlwNwk9.mjs";
14
14
  import { createActionGate as createActionGate$1 } from "openclaw/plugin-sdk/channel-actions";
15
15
  import { normalizeOptionalAccountId } from "openclaw/plugin-sdk/account-core";
16
16
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -66,7 +66,11 @@ const whatsappApproval = createApproverRestrictedNativeApprovalCapabilityFromFor
66
66
  }, "plugin") }
67
67
  },
68
68
  createNativeRuntime: (routing) => createLazyChannelApprovalNativeRuntimeAdapter({
69
- eventKinds: ["exec", "plugin"],
69
+ eventKinds: [
70
+ "exec",
71
+ "plugin",
72
+ "system-agent"
73
+ ],
70
74
  isConfigured: ({ cfg, accountId, context }) => Boolean(context) && routing.canAnyApprovalPotentiallyRouteToChannel({
71
75
  cfg,
72
76
  accountId,
@@ -78,7 +82,7 @@ const whatsappApproval = createApproverRestrictedNativeApprovalCapabilityFromFor
78
82
  approvalKind,
79
83
  request
80
84
  }),
81
- load: async () => (await import("./approval-handler.runtime-DeyPb57-.js")).whatsappApprovalNativeRuntime
85
+ load: async () => (await import("./approval-handler.runtime-Dkpo_P9l.mjs")).whatsappApprovalNativeRuntime
82
86
  })
83
87
  });
84
88
  function buildWhatsAppPendingPayload(params, approvalKind) {
@@ -264,8 +268,8 @@ function createWhatsAppOutboundBase({ sendMessageWhatsApp, sendPollWhatsApp, sho
264
268
  }
265
269
  //#endregion
266
270
  //#region extensions/whatsapp/src/channel-outbound.ts
267
- const loadWhatsAppApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-DGDA6hQ7.js").then((n) => n.t));
268
- const loadWhatsAppQuestionReactionsModule = createLazyRuntimeModule(() => import("./question-reactions-B9D6MHXZ.js").then((n) => n.n));
271
+ const loadWhatsAppApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-S0t29Eux.mjs").then((n) => n.t));
272
+ const loadWhatsAppQuestionReactionsModule = createLazyRuntimeModule(() => import("./question-reactions-CP6JdAfC.mjs").then((n) => n.n));
269
273
  function normalizeWhatsAppChannelPayloadText(text) {
270
274
  return normalizeWhatsAppPayloadTextPreservingIndentation(text);
271
275
  }
@@ -528,8 +532,8 @@ function collectWhatsAppStatusIssues(accounts) {
528
532
  }
529
533
  //#endregion
530
534
  //#region extensions/whatsapp/src/channel.ts
531
- const loadWhatsAppDirectoryConfig = createLazyRuntimeModule(() => import("./directory-config-LgxYJLWY.js").then((n) => n.t));
532
- const loadWhatsAppChannelReactAction = createLazyRuntimeModule(() => import("./channel-react-action-BUp7Wbfr.js"));
535
+ const loadWhatsAppDirectoryConfig = createLazyRuntimeModule(() => import("./directory-config-CyZpW0t5.mjs").then((n) => n.t));
536
+ const loadWhatsAppChannelReactAction = createLazyRuntimeModule(() => import("./channel-react-action-N47OoLaS.mjs"));
533
537
  function resolveWhatsAppTargetInfo(raw) {
534
538
  const normalized = normalizeWhatsAppTarget(raw);
535
539
  if (!normalized) return null;
@@ -1,8 +1,8 @@
1
- import { a as resolveWhatsAppAccount, s as resolveWhatsAppMediaMaxBytes } from "./accounts-CeKQbu_s.js";
2
- import { c as normalizeWhatsAppTarget, t as isWhatsAppGroupJid } from "./normalize-target-CugRyONv.js";
3
- import { r as resolveAuthorizedWhatsAppOutboundTarget, t as handleWhatsAppAction } from "./action-runtime-Bw0loEdy.js";
4
- import { a as sendWhatsAppUploadFile } from "./send-DiPjiygK.js";
5
- import "./normalize-C7Hkc_vE.js";
1
+ import { a as resolveWhatsAppAccount, s as resolveWhatsAppMediaMaxBytes } from "./accounts-u_tUoK19.mjs";
2
+ import { c as normalizeWhatsAppTarget, t as isWhatsAppGroupJid } from "./normalize-target-CugRyONv.mjs";
3
+ import { r as resolveAuthorizedWhatsAppOutboundTarget, t as handleWhatsAppAction } from "./action-runtime-BVUf4f89.mjs";
4
+ import { a as sendWhatsAppUploadFile } from "./send-DhVkeVOL.mjs";
5
+ import "./normalize-B1wBftQ7.mjs";
6
6
  import { jsonResult, readStringOrNumberParam, readStringParam as readStringParam$1, resolveReactionMessageId } from "openclaw/plugin-sdk/channel-actions";
7
7
  import { canonicalizeBase64, estimateBase64DecodedBytes } from "openclaw/plugin-sdk/media-runtime";
8
8
  import { readBooleanParam } from "openclaw/plugin-sdk/boolean-param";
@@ -1,9 +1,9 @@
1
- import { startWebLoginWithQr as startWebLoginWithQr$1, waitForWebLogin as waitForWebLogin$1 } from "./login-qr-runtime.js";
2
- import { c as logoutWeb$1, d as readWebAuthExistsBestEffort$1, f as readWebAuthExistsForDecision$1, g as readWebSelfId$1, h as readWebAuthState$1, m as readWebAuthSnapshotBestEffort$1, o as getWebAuthAgeMs$1, p as readWebAuthSnapshot$1, s as logWebSelfId$1, x as webAuthExists$1 } from "./auth-store-DTj1H9pv.js";
3
- import { t as getActiveWebListener$1 } from "./active-listener-BEjWsCNM.js";
4
- import { t as monitorWebChannel$1 } from "./monitor-CTsyo-HE.js";
5
- import { t as loginWeb$1 } from "./login-Bk_jiXKD.js";
6
- import { whatsappSetupWizard as whatsappSetupWizard$1 } from "./setup-surface-Dm3T6S8t.js";
1
+ import { startWebLoginWithQr as startWebLoginWithQr$1, waitForWebLogin as waitForWebLogin$1 } from "../login-qr-runtime.js";
2
+ import { c as logoutWeb$1, d as readWebAuthExistsBestEffort$1, f as readWebAuthExistsForDecision$1, g as readWebSelfId$1, h as readWebAuthState$1, m as readWebAuthSnapshotBestEffort$1, o as getWebAuthAgeMs$1, p as readWebAuthSnapshot$1, s as logWebSelfId$1, x as webAuthExists$1 } from "./auth-store-BLlwNwk9.mjs";
3
+ import { t as getActiveWebListener$1 } from "./active-listener-CDjoX9QR.mjs";
4
+ import { t as monitorWebChannel$1 } from "./monitor-BfbT-HY2.mjs";
5
+ import { t as loginWeb$1 } from "./login-B6mR1G7c.mjs";
6
+ import { whatsappSetupWizard as whatsappSetupWizard$1 } from "./setup-surface-akF37VwD.mjs";
7
7
  //#region extensions/whatsapp/src/channel.runtime.ts
8
8
  function getActiveWebListener(...args) {
9
9
  return getActiveWebListener$1(...args);
@@ -1,4 +1,4 @@
1
- import { a as resolveWhatsAppGroupRequireMention, i as whatsappSetupContract, l as readWhatsAppAccountLinkState, n as whatsappSetupWizardProxy, o as resolveWhatsAppGroupToolPolicy, t as createWhatsAppPluginBase } from "./shared-DDjonGys.js";
1
+ import { a as resolveWhatsAppGroupRequireMention, i as whatsappSetupContract, l as readWhatsAppAccountLinkState, n as whatsappSetupWizardProxy, o as resolveWhatsAppGroupToolPolicy, t as createWhatsAppPluginBase } from "./shared-Bz5KSNaw.mjs";
2
2
  //#region extensions/whatsapp/src/channel.setup.ts
3
3
  const whatsappSetupPlugin = { ...createWhatsAppPluginBase({
4
4
  groups: {
@@ -1,8 +1,8 @@
1
- import { r as getWhatsAppChannelRuntime } from "./runtime-BLlToOi6.js";
2
- import { n as WHATSAPP_CONNECTION_OWNER_PENDING_CAPABILITY, t as WHATSAPP_CONNECTION_CONTROLLER_CAPABILITY } from "./connection-controller-runtime-context-DG0tuYuw.js";
3
- import { M as waitForCredsSaveQueueWithTimeout, c as logoutWeb, f as readWebAuthExistsForDecision, k as resolveComparableIdentity, r as WhatsAppAuthUnstableError } from "./auth-store-DTj1H9pv.js";
4
- import { a as waitForWaConnection, m as acquireWhatsAppGatewayConnectionOwner, o as DEFAULT_WHATSAPP_SOCKET_TIMING, r as createWaSocket, t as closeWhatsAppSocketAndWait } from "./socket-close-CpkkJZCU.js";
5
- import { n as getStatusCode, t as formatError } from "./session-errors-JuazczrA.js";
1
+ import { r as getWhatsAppChannelRuntime } from "./runtime-BLlToOi6.mjs";
2
+ import { n as WHATSAPP_CONNECTION_OWNER_PENDING_CAPABILITY, t as WHATSAPP_CONNECTION_CONTROLLER_CAPABILITY } from "./connection-controller-runtime-context-hgLJoRc8.mjs";
3
+ import { M as waitForCredsSaveQueueWithTimeout, c as logoutWeb, f as readWebAuthExistsForDecision, k as resolveComparableIdentity, r as WhatsAppAuthUnstableError } from "./auth-store-BLlwNwk9.mjs";
4
+ import { a as waitForWaConnection, m as acquireWhatsAppGatewayConnectionOwner, o as DEFAULT_WHATSAPP_SOCKET_TIMING, r as createWaSocket, t as closeWhatsAppSocketAndWait } from "./socket-close-Ci2nLeBQ.mjs";
5
+ import { n as getStatusCode, t as formatError } from "./session-errors-JuazczrA.mjs";
6
6
  import { computeBackoff, info, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
7
7
  import { registerChannelRuntimeContext } from "openclaw/plugin-sdk/channel-runtime-context";
8
8
  import { clamp } from "openclaw/plugin-sdk/text-utility-runtime";
@@ -1,4 +1,4 @@
1
- import { t as getOptionalWhatsAppChannelRuntime } from "./runtime-BLlToOi6.js";
1
+ import { t as getOptionalWhatsAppChannelRuntime } from "./runtime-BLlToOi6.mjs";
2
2
  import { getChannelRuntimeContext } from "openclaw/plugin-sdk/channel-runtime-context";
3
3
  //#region extensions/whatsapp/src/connection-controller-runtime-context.ts
4
4
  const WHATSAPP_CONNECTION_CONTROLLER_CAPABILITY = "connection-controller";
@@ -1,11 +1,11 @@
1
- import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { c as resolveMergedWhatsAppAccountConfig, o as resolveWhatsAppAuthDir } from "./accounts-CeKQbu_s.js";
3
- import { c as normalizeWhatsAppTarget, t as isWhatsAppGroupJid } from "./normalize-target-CugRyONv.js";
4
- import { i as hasPendingWhatsAppConnectionOwner, r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-DG0tuYuw.js";
5
- import "./normalize-C7Hkc_vE.js";
6
- import { M as waitForCredsSaveQueueWithTimeout, f as readWebAuthExistsForDecision } from "./auth-store-DTj1H9pv.js";
7
- import { n as resolveWebAccountId } from "./active-listener-BEjWsCNM.js";
8
- import { a as waitForWaConnection, h as acquireWhatsAppStandaloneConnectionOwner, n as createWaDirectorySocket, p as WhatsAppConnectionOwnerBusyError, t as closeWhatsAppSocketAndWait } from "./socket-close-CpkkJZCU.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
+ import { c as resolveMergedWhatsAppAccountConfig, o as resolveWhatsAppAuthDir } from "./accounts-u_tUoK19.mjs";
3
+ import { c as normalizeWhatsAppTarget, t as isWhatsAppGroupJid } from "./normalize-target-CugRyONv.mjs";
4
+ import { i as hasPendingWhatsAppConnectionOwner, r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-hgLJoRc8.mjs";
5
+ import "./normalize-B1wBftQ7.mjs";
6
+ import { M as waitForCredsSaveQueueWithTimeout, f as readWebAuthExistsForDecision } from "./auth-store-BLlwNwk9.mjs";
7
+ import { n as resolveWebAccountId } from "./active-listener-CDjoX9QR.mjs";
8
+ import { a as waitForWaConnection, h as acquireWhatsAppStandaloneConnectionOwner, n as createWaDirectorySocket, p as WhatsAppConnectionOwnerBusyError, t as closeWhatsAppSocketAndWait } from "./socket-close-Ci2nLeBQ.mjs";
9
9
  import { listResolvedDirectoryGroupEntriesFromMapKeys, listResolvedDirectoryUserEntriesFromAllowFrom } from "openclaw/plugin-sdk/directory-config-runtime";
10
10
  //#region extensions/whatsapp/src/directory-config.ts
11
11
  var directory_config_exports = /* @__PURE__ */ __exportAll({
@@ -1,8 +1,8 @@
1
- import { a as resolveWhatsAppAccount } from "./accounts-CeKQbu_s.js";
2
- import { c as normalizeWhatsAppTarget } from "./normalize-target-CugRyONv.js";
3
- import "./normalize-C7Hkc_vE.js";
4
- import { r as jidToE164 } from "./targets-runtime-RBjx3pg_.js";
5
- import "./text-runtime-DyfmcATV.js";
1
+ import { a as resolveWhatsAppAccount } from "./accounts-u_tUoK19.mjs";
2
+ import { c as normalizeWhatsAppTarget } from "./normalize-target-CugRyONv.mjs";
3
+ import "./normalize-B1wBftQ7.mjs";
4
+ import { r as jidToE164 } from "./targets-runtime-RBjx3pg_.mjs";
5
+ import "./text-runtime-CHl0iPYe.mjs";
6
6
  import { formatMediaPlaceholderText } from "openclaw/plugin-sdk/channel-inbound";
7
7
  import { createChannelApprovalAuth } from "openclaw/plugin-sdk/approval-auth-runtime";
8
8
  import { isHostedLidUser, isHostedPnUser, isLidUser, isPnUser } from "baileys";
@@ -0,0 +1,2 @@
1
+ import { whatsappLegacySessionSurface } from "../legacy-session-surface-api.js";
2
+ export { whatsappLegacySessionSurface };
@@ -1,8 +1,8 @@
1
- import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { a as resolveWhatsAppAccount } from "./accounts-CeKQbu_s.js";
3
- import { b as restoreCredsFromBackupIfNeeded } from "./auth-store-DTj1H9pv.js";
4
- import { f as renderQrTerminal, r as createWaSocket, u as resolveWhatsAppSocketTiming } from "./socket-close-CpkkJZCU.js";
5
- import { a as closeWaSocketSoon, o as waitForWhatsAppLoginResult } from "./connection-controller-BvkxsbWi.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
+ import { a as resolveWhatsAppAccount } from "./accounts-u_tUoK19.mjs";
3
+ import { b as restoreCredsFromBackupIfNeeded } from "./auth-store-BLlwNwk9.mjs";
4
+ import { f as renderQrTerminal, r as createWaSocket, u as resolveWhatsAppSocketTiming } from "./socket-close-Ci2nLeBQ.mjs";
5
+ import { a as closeWaSocketSoon, o as waitForWhatsAppLoginResult } from "./connection-controller-DdJ3ZYk3.mjs";
6
6
  import { formatCliCommand } from "openclaw/plugin-sdk/cli-runtime";
7
7
  import { logInfo } from "openclaw/plugin-sdk/logging-core";
8
8
  import { danger, defaultRuntime, success } from "openclaw/plugin-sdk/runtime-env";
@@ -1,9 +1,9 @@
1
- import { a as resolveWhatsAppAccount } from "./accounts-CeKQbu_s.js";
2
- import { c as logoutWeb, f as readWebAuthExistsForDecision, g as readWebSelfId, n as WHATSAPP_AUTH_UNSTABLE_CODE } from "./auth-store-DTj1H9pv.js";
3
- import { t as getActiveWebListener } from "./active-listener-BEjWsCNM.js";
4
- import { r as createWaSocket, u as resolveWhatsAppSocketTiming } from "./socket-close-CpkkJZCU.js";
5
- import { t as formatError } from "./session-errors-JuazczrA.js";
6
- import { i as closeWaSocket, o as waitForWhatsAppLoginResult, t as WHATSAPP_LOGGED_OUT_QR_MESSAGE } from "./connection-controller-BvkxsbWi.js";
1
+ import { a as resolveWhatsAppAccount } from "./accounts-u_tUoK19.mjs";
2
+ import { c as logoutWeb, f as readWebAuthExistsForDecision, g as readWebSelfId, n as WHATSAPP_AUTH_UNSTABLE_CODE } from "./auth-store-BLlwNwk9.mjs";
3
+ import { t as getActiveWebListener } from "./active-listener-CDjoX9QR.mjs";
4
+ import { r as createWaSocket, u as resolveWhatsAppSocketTiming } from "./socket-close-Ci2nLeBQ.mjs";
5
+ import { t as formatError } from "./session-errors-JuazczrA.mjs";
6
+ import { i as closeWaSocket, o as waitForWhatsAppLoginResult, t as WHATSAPP_LOGGED_OUT_QR_MESSAGE } from "./connection-controller-DdJ3ZYk3.mjs";
7
7
  import { logInfo } from "openclaw/plugin-sdk/logging-core";
8
8
  import { danger, defaultRuntime, info, success } from "openclaw/plugin-sdk/runtime-env";
9
9
  import { renderQrPngDataUrl } from "openclaw/plugin-sdk/media-runtime";
@@ -1,20 +1,20 @@
1
- import { a as resolveWhatsAppAccount, s as resolveWhatsAppMediaMaxBytes } from "./accounts-CeKQbu_s.js";
2
- import { c as normalizeWhatsAppPayloadTextPreservingIndentation, d as listWhatsAppSendResultMessageIds, f as mergeWhatsAppAcceptedSendError, g as withWhatsAppLogicalDeliveryActivity, h as rememberWhatsAppPartialSend, l as prepareWhatsAppOutboundMedia, m as rememberWhatsAppAcceptedSend, o as normalizeWhatsAppOutboundPayload, p as normalizeWhatsAppSendResult, r as sendReactionWhatsApp, v as resolveWhatsAppReactionLevel } from "./send-DiPjiygK.js";
3
- import { i as getWhatsAppRuntime } from "./runtime-BLlToOi6.js";
4
- import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-DG0tuYuw.js";
5
- import { a as markdownToWhatsAppChunks, c as toWhatsappJid, l as toWhatsappJidWithLid, n as isSelfChatMode, o as resolveEquivalentWhatsAppDirectChatJids, r as jidToE164, s as resolveJidToE164 } from "./targets-runtime-RBjx3pg_.js";
6
- import { t as normalizeE164 } from "./text-runtime-DyfmcATV.js";
7
- import { a as cacheInboundMessageMeta, i as buildQuotedMessageOptions, n as resolveWhatsAppGroupSessionRoute, o as lookupInboundMessageMeta, r as resolveWhatsAppLegacyGroupSessionKey } from "./group-session-key-KUguLmSZ.js";
8
- import { C as getMentionIdentities, D as getSenderIdentity, E as getSelfIdentity, O as identitiesOverlap, S as getComparableIdentityValues, T as getReplyContext, g as readWebSelfId, k as resolveComparableIdentity, o as getWebAuthAgeMs, r as WhatsAppAuthUnstableError, v as readWebSelfIdentityForDecision, w as getPrimaryIdentityId } from "./auth-store-DTj1H9pv.js";
9
- import { n as resolveWhatsAppGroupsConfigPath } from "./group-config-path-BGyzT9Lg.js";
10
- import { a as waitForWaConnection, c as isWhatsAppSocketOperationTimeoutError, d as withWhatsAppSocketOperationTimeout, l as resolveWhatsAppSocketOperationTimeoutMs, r as createWaSocket, s as createWhatsAppSocketOperationTimeoutAdapter, u as resolveWhatsAppSocketTiming } from "./socket-close-CpkkJZCU.js";
11
- import { n as getStatusCode, t as formatError } from "./session-errors-JuazczrA.js";
12
- import { t as BufferJSON } from "./session.runtime-Nsqaehbd.js";
13
- import { _ as resolveInboundMediaMimetype, a as addWhatsAppImagePreviewFields, c as extractContextInfo, d as extractMediaKind, f as extractMentionedJids, g as projectWhatsAppInboundMessage, h as hasInboundUserContent, i as resolveWhatsAppOutboundMentions, l as extractExternalAdReplyContext, n as addWhatsAppOutboundMentionsToContent, o as describeReplyContext, p as extractText, r as mayContainWhatsAppOutboundMention, s as extractContactContext, t as createWebSendApi, u as extractLocationData } from "./send-api-kFcuhSiY.js";
14
- import { t as resolveWhatsAppRuntimeGroupPolicy } from "./runtime-group-policy-DeSRFXEV.js";
15
- import { c as computeBackoff, d as resolveReconnectPolicy, f as sleepWithAbort, l as newConnectionId, n as WHATSAPP_WATCHDOG_TIMEOUT_ERROR, r as WhatsAppConnectionController, s as DEFAULT_RECONNECT_POLICY, u as resolveHeartbeatSeconds } from "./connection-controller-BvkxsbWi.js";
16
- import { n as maybeResolveWhatsAppApprovalReaction } from "./approval-reactions-DGDA6hQ7.js";
17
- import { t as maybeResolveWhatsAppQuestionReaction } from "./question-reactions-B9D6MHXZ.js";
1
+ import { a as resolveWhatsAppAccount, s as resolveWhatsAppMediaMaxBytes } from "./accounts-u_tUoK19.mjs";
2
+ import { c as normalizeWhatsAppPayloadTextPreservingIndentation, d as listWhatsAppSendResultMessageIds, f as mergeWhatsAppAcceptedSendError, g as withWhatsAppLogicalDeliveryActivity, h as rememberWhatsAppPartialSend, l as prepareWhatsAppOutboundMedia, m as rememberWhatsAppAcceptedSend, o as normalizeWhatsAppOutboundPayload, p as normalizeWhatsAppSendResult, r as sendReactionWhatsApp, v as resolveWhatsAppReactionLevel } from "./send-DhVkeVOL.mjs";
3
+ import { i as getWhatsAppRuntime } from "./runtime-BLlToOi6.mjs";
4
+ import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-hgLJoRc8.mjs";
5
+ import { a as markdownToWhatsAppChunks, c as toWhatsappJid, l as toWhatsappJidWithLid, n as isSelfChatMode, o as resolveEquivalentWhatsAppDirectChatJids, r as jidToE164, s as resolveJidToE164 } from "./targets-runtime-RBjx3pg_.mjs";
6
+ import { t as normalizeE164 } from "./text-runtime-CHl0iPYe.mjs";
7
+ import { a as cacheInboundMessageMeta, i as buildQuotedMessageOptions, n as resolveWhatsAppGroupSessionRoute, o as lookupInboundMessageMeta, r as resolveWhatsAppLegacyGroupSessionKey } from "./group-session-key-Bx_RT7LG.mjs";
8
+ import { C as getMentionIdentities, D as getSenderIdentity, E as getSelfIdentity, O as identitiesOverlap, S as getComparableIdentityValues, T as getReplyContext, g as readWebSelfId, k as resolveComparableIdentity, o as getWebAuthAgeMs, r as WhatsAppAuthUnstableError, v as readWebSelfIdentityForDecision, w as getPrimaryIdentityId } from "./auth-store-BLlwNwk9.mjs";
9
+ import { n as resolveWhatsAppGroupsConfigPath } from "./group-config-path-BGyzT9Lg.mjs";
10
+ import { a as waitForWaConnection, c as isWhatsAppSocketOperationTimeoutError, d as withWhatsAppSocketOperationTimeout, l as resolveWhatsAppSocketOperationTimeoutMs, r as createWaSocket, s as createWhatsAppSocketOperationTimeoutAdapter, u as resolveWhatsAppSocketTiming } from "./socket-close-Ci2nLeBQ.mjs";
11
+ import { n as getStatusCode, t as formatError } from "./session-errors-JuazczrA.mjs";
12
+ import { t as BufferJSON } from "./session.runtime-DcJuO42v.mjs";
13
+ import { _ as resolveInboundMediaMimetype, a as addWhatsAppImagePreviewFields, c as extractContextInfo, d as extractMediaKind, f as extractMentionedJids, g as projectWhatsAppInboundMessage, h as hasInboundUserContent, i as resolveWhatsAppOutboundMentions, l as extractExternalAdReplyContext, n as addWhatsAppOutboundMentionsToContent, o as describeReplyContext, p as extractText, r as mayContainWhatsAppOutboundMention, s as extractContactContext, t as createWebSendApi, u as extractLocationData } from "./send-api-BkGtYGVg.mjs";
14
+ import { t as resolveWhatsAppRuntimeGroupPolicy } from "./runtime-group-policy-DeSRFXEV.mjs";
15
+ import { c as computeBackoff, d as resolveReconnectPolicy, f as sleepWithAbort, l as newConnectionId, n as WHATSAPP_WATCHDOG_TIMEOUT_ERROR, r as WhatsAppConnectionController, s as DEFAULT_RECONNECT_POLICY, u as resolveHeartbeatSeconds } from "./connection-controller-DdJ3ZYk3.mjs";
16
+ import { n as maybeResolveWhatsAppApprovalReaction } from "./approval-reactions-S0t29Eux.mjs";
17
+ import { t as maybeResolveWhatsAppQuestionReaction } from "./question-reactions-CP6JdAfC.mjs";
18
18
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
19
19
  import { filterSupplementalContextItems, resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
20
20
  import { createAckReactionHandle, createStatusReactionController, logAckFailure, removeAckReactionHandleAfterReply, shouldAckReaction } from "openclaw/plugin-sdk/channel-feedback";
@@ -3678,7 +3678,7 @@ async function processMessage(params) {
3678
3678
  let audioTranscript = params.preflightAudioTranscript ?? void 0;
3679
3679
  const hasAudioBody = (params.msg.payload.media?.kind === "audio" || params.msg.payload.media?.type?.startsWith("audio/") === true) && !params.msg.payload.body.trim();
3680
3680
  if (params.preflightAudioTranscript === void 0 && hasAudioBody && params.msg.payload.media?.path) try {
3681
- const { transcribeFirstAudio } = await import("./audio-preflight.runtime-C_glQhZY.js");
3681
+ const { transcribeFirstAudio } = await import("./audio-preflight.runtime-C_glQhZY.mjs");
3682
3682
  audioTranscript = await transcribeFirstAudio({
3683
3683
  ctx: {
3684
3684
  media: [{
@@ -4080,7 +4080,7 @@ function createWebOnMessageHandler(params) {
4080
4080
  const transcribeAudioOnce = async () => {
4081
4081
  if (preflightAudioTranscript !== void 0 || !hasAudioBody || !msg.payload.media?.path) return;
4082
4082
  try {
4083
- const { transcribeFirstAudio } = await import("./audio-preflight.runtime-C_glQhZY.js");
4083
+ const { transcribeFirstAudio } = await import("./audio-preflight.runtime-C_glQhZY.mjs");
4084
4084
  preflightAudioTranscript = await transcribeFirstAudio({
4085
4085
  ctx: {
4086
4086
  media: [{
@@ -4245,7 +4245,7 @@ function createWebOnMessageHandler(params) {
4245
4245
  function isNonRetryableWebCloseStatus(statusCode) {
4246
4246
  return statusCode === 440;
4247
4247
  }
4248
- const loadReplyResolverRuntime = createLazyRuntimeModule(() => import("./reply-resolver.runtime-Ded8D58Y.js"));
4248
+ const loadReplyResolverRuntime = createLazyRuntimeModule(() => import("./reply-resolver.runtime-Ded8D58Y.mjs"));
4249
4249
  function resolveWebMonitorConfigSnapshot(params) {
4250
4250
  const account = resolveWhatsAppAccount({
4251
4251
  cfg: params.cfg,
@@ -0,0 +1,2 @@
1
+ import "./normalize-target-CugRyONv.mjs";
2
+ export {};
@@ -1,5 +1,5 @@
1
- import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { a as resolveWhatsAppAccount } from "./accounts-CeKQbu_s.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
+ import { a as resolveWhatsAppAccount } from "./accounts-u_tUoK19.mjs";
3
3
  import { createQuestionReactionTargetStore, 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-CugRyONv.js";
1
+ import { c as normalizeWhatsAppTarget, n as isWhatsAppNewsletterJid, t as isWhatsAppGroupJid } from "./normalize-target-CugRyONv.mjs";
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,10 +1,10 @@
1
- import { a as resolveWhatsAppAccount, c as resolveMergedWhatsAppAccountConfig, s as resolveWhatsAppMediaMaxBytes } from "./accounts-CeKQbu_s.js";
2
- import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.js";
3
- import { n as isWhatsAppNewsletterJid } from "./normalize-target-CugRyONv.js";
4
- import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-DG0tuYuw.js";
5
- import "./normalize-C7Hkc_vE.js";
6
- import { a as markdownToWhatsAppChunks, c as toWhatsappJid } from "./targets-runtime-RBjx3pg_.js";
7
- import { a as stripToolCallXmlTags, i as sanitizeAssistantVisibleTextWithProfile, r as sanitizeAssistantVisibleText } from "./text-runtime-DyfmcATV.js";
1
+ import { a as resolveWhatsAppAccount, c as resolveMergedWhatsAppAccountConfig, s as resolveWhatsAppMediaMaxBytes } from "./accounts-u_tUoK19.mjs";
2
+ import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.mjs";
3
+ import { n as isWhatsAppNewsletterJid } from "./normalize-target-CugRyONv.mjs";
4
+ import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-hgLJoRc8.mjs";
5
+ import "./normalize-B1wBftQ7.mjs";
6
+ import { a as markdownToWhatsAppChunks, c as toWhatsappJid } from "./targets-runtime-RBjx3pg_.mjs";
7
+ import { a as stripToolCallXmlTags, i as sanitizeAssistantVisibleTextWithProfile, r as sanitizeAssistantVisibleText } from "./text-runtime-CHl0iPYe.mjs";
8
8
  import path from "node:path";
9
9
  import { normalizeStringEntries, normalizeUniqueStringEntries, uniqueStrings } 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-CugRyONv.js";
2
- import { _ as resolveWhatsAppDocumentFileName, f as mergeWhatsAppAcceptedSendError, m as rememberWhatsAppAcceptedSend, p as normalizeWhatsAppSendResult, u as combineWhatsAppSendResults } from "./send-DiPjiygK.js";
3
- import "./normalize-C7Hkc_vE.js";
4
- import { c as toWhatsappJid, l as toWhatsappJidWithLid, r as jidToE164 } from "./targets-runtime-RBjx3pg_.js";
5
- import "./text-runtime-DyfmcATV.js";
6
- import { i as buildQuotedMessageOptions } from "./group-session-key-KUguLmSZ.js";
7
- import { k as resolveComparableIdentity } from "./auth-store-DTj1H9pv.js";
1
+ import { n as isWhatsAppNewsletterJid } from "./normalize-target-CugRyONv.mjs";
2
+ import { _ as resolveWhatsAppDocumentFileName, f as mergeWhatsAppAcceptedSendError, m as rememberWhatsAppAcceptedSend, p as normalizeWhatsAppSendResult, u as combineWhatsAppSendResults } from "./send-DhVkeVOL.mjs";
3
+ import "./normalize-B1wBftQ7.mjs";
4
+ import { c as toWhatsappJid, l as toWhatsappJidWithLid, r as jidToE164 } from "./targets-runtime-RBjx3pg_.mjs";
5
+ import "./text-runtime-CHl0iPYe.mjs";
6
+ import { i as buildQuotedMessageOptions } from "./group-session-key-Bx_RT7LG.mjs";
7
+ import { k as resolveComparableIdentity } from "./auth-store-BLlwNwk9.mjs";
8
8
  import { isRecord, normalizeLowercaseStringOrEmpty, uniqueStrings } from "openclaw/plugin-sdk/string-coerce-runtime";
9
9
  import { logVerbose } from "openclaw/plugin-sdk/runtime-env";
10
10
  import { formatLocationText } from "openclaw/plugin-sdk/channel-inbound";
@@ -1,4 +1,4 @@
1
- import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.mjs";
2
2
  import { BufferJSON, DEFAULT_CONNECTION_CONFIG, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "baileys";
3
3
  //#region extensions/whatsapp/src/session.runtime.ts
4
4
  var session_runtime_exports = /* @__PURE__ */ __exportAll({
@@ -1,8 +1,8 @@
1
- import { a as resolveWhatsAppAccount, o as resolveWhatsAppAuthDir } from "./accounts-CeKQbu_s.js";
2
- import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.js";
3
- import { r as hasWebCredsSync } from "./creds-files-W6B3EMZ8.js";
4
- import { a as normalizeWhatsAppAllowFromEntries, o as normalizeWhatsAppAllowFromEntry } from "./normalize-target-CugRyONv.js";
5
- import { r as whatsappSetupAdapter } from "./shared-DDjonGys.js";
1
+ import { a as resolveWhatsAppAccount, o as resolveWhatsAppAuthDir } from "./accounts-u_tUoK19.mjs";
2
+ import { r as resolveDefaultWhatsAppAccountId } from "./account-ids-CB5SOWjc.mjs";
3
+ import { r as hasWebCredsSync } from "./creds-files-W6B3EMZ8.mjs";
4
+ import { a as normalizeWhatsAppAllowFromEntries, o as normalizeWhatsAppAllowFromEntry } from "./normalize-target-CugRyONv.mjs";
5
+ import { r as whatsappSetupAdapter } from "./shared-Bz5KSNaw.mjs";
6
6
  import { formatCliCommand, formatDocsLink } from "openclaw/plugin-sdk/setup-tools";
7
7
  import { DEFAULT_ACCOUNT_ID, createSetupTranslator, splitSetupEntries } from "openclaw/plugin-sdk/setup";
8
8
  //#region extensions/whatsapp/src/setup-finalize.ts
@@ -296,7 +296,7 @@ async function finalizeWhatsAppSetup(params) {
296
296
  };
297
297
  let loginWeb;
298
298
  try {
299
- ({loginWeb} = await import("./login-Bk_jiXKD.js").then((n) => n.n));
299
+ ({loginWeb} = await import("./login-B6mR1G7c.mjs").then((n) => n.n));
300
300
  } catch (error) {
301
301
  await reportLoginFailure(error);
302
302
  }
@@ -0,0 +1,3 @@
1
+ import { t as whatsappSetupPlugin } from "./channel.setup-BhDdl2Ne.mjs";
2
+ import "../setup-plugin-api.js";
3
+ export { whatsappSetupPlugin };
@@ -1,6 +1,6 @@
1
- import { o as resolveWhatsAppAuthDir } from "./accounts-CeKQbu_s.js";
2
- import { t as listAccountIds } from "./account-ids-CB5SOWjc.js";
3
- import { a as formatWhatsAppWebAuthStatusState, h as readWebAuthState } from "./auth-store-DTj1H9pv.js";
1
+ import { o as resolveWhatsAppAuthDir } from "./accounts-u_tUoK19.mjs";
2
+ import { t as listAccountIds } from "./account-ids-CB5SOWjc.mjs";
3
+ import { a as formatWhatsAppWebAuthStatusState, h as readWebAuthState } from "./auth-store-BLlwNwk9.mjs";
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-CqH5wTK5.js")).finalizeWhatsAppSetup(params),
39
+ finalize: async (params) => await (await import("./setup-finalize-CEXYNKnx.mjs")).finalizeWhatsAppSetup(params),
40
40
  disable: (cfg) => setSetupChannelEnabled(cfg, channel, false),
41
41
  onAccountRecorded: (accountId, options) => {
42
42
  options?.onAccountId?.(channel, accountId);
@@ -1,12 +1,12 @@
1
- import { a as resolveWhatsAppAccount, n as hasAnyWhatsAppAuth } from "./accounts-CeKQbu_s.js";
2
- import { r as resolveDefaultWhatsAppAccountId, t as listAccountIds } from "./account-ids-CB5SOWjc.js";
3
- import { a as normalizeWhatsAppAllowFromEntries } from "./normalize-target-CugRyONv.js";
4
- import { t as WhatsAppChannelConfigSchema } from "./config-schema-BYA6e_Ii.js";
5
- import { n as whatsappDoctor } from "./doctor-CwzVXKoE.js";
6
- import { t as resolveWhatsAppConfigPath } from "./group-config-path-BGyzT9Lg.js";
7
- import { t as resolveLegacyGroupSessionKey } from "./group-session-contract-DDnZSsJ1.js";
8
- import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-nAzD945y.js";
9
- import { n as deriveLegacySessionChatType, r as isLegacyGroupSessionKey, t as canonicalizeLegacySessionKey } from "./session-contract-DMTm6Q_L.js";
1
+ import { a as resolveWhatsAppAccount, n as hasAnyWhatsAppAuth } from "./accounts-u_tUoK19.mjs";
2
+ import { r as resolveDefaultWhatsAppAccountId, t as listAccountIds } from "./account-ids-CB5SOWjc.mjs";
3
+ import { a as normalizeWhatsAppAllowFromEntries } from "./normalize-target-CugRyONv.mjs";
4
+ import { t as WhatsAppChannelConfigSchema } from "./config-schema-BYA6e_Ii.mjs";
5
+ import { n as whatsappDoctor } from "./doctor-CwzVXKoE.mjs";
6
+ import { t as resolveWhatsAppConfigPath } from "./group-config-path-BGyzT9Lg.mjs";
7
+ import { t as resolveLegacyGroupSessionKey } from "./group-session-contract-DDnZSsJ1.mjs";
8
+ import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-nAzD945y.mjs";
9
+ import { n as deriveLegacySessionChatType, r as isLegacyGroupSessionKey, t as canonicalizeLegacySessionKey } from "./session-contract-DMTm6Q_L.mjs";
10
10
  import { normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
11
11
  import { normalizeE164 } from "openclaw/plugin-sdk/account-resolution";
12
12
  import { createChannelPluginBase } from "openclaw/plugin-sdk/core";
@@ -20,14 +20,14 @@ 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-DTj1H9pv.js").then((n) => n.i));
23
+ const loadWhatsAppAuthStore = createLazyRuntimeModule(() => import("./auth-store-BLlwNwk9.mjs").then((n) => n.i));
24
24
  async function readWhatsAppAccountLinkState(authDir) {
25
25
  const state = await (await loadWhatsAppAuthStore()).readWebAuthState(authDir);
26
26
  return state === "unstable" ? "unknown" : state;
27
27
  }
28
28
  const loadWhatsAppChannelRuntime = createLazyRuntimeModule(async () => {
29
29
  await loadWhatsAppAuthStore();
30
- return await import("./channel.runtime-BwSnyXRX.js");
30
+ return await import("./channel.runtime-RzZe__SD.mjs");
31
31
  });
32
32
  //#endregion
33
33
  //#region extensions/whatsapp/src/config-accessors.ts
@@ -79,7 +79,7 @@ function applyGroupAllowFromFromStore(params) {
79
79
  if (!section || typeof section !== "object" || params.storeAllowFrom.length === 0) return params.cfg;
80
80
  let changed = false;
81
81
  const maybeApply = (prefix, holder) => {
82
- if (holder.groupPolicy !== "allowlist") return;
82
+ if (holder.groupPolicy !== "open") return;
83
83
  const allowFrom = Array.isArray(holder.allowFrom) ? holder.allowFrom : [];
84
84
  const groupAllowFrom = Array.isArray(holder.groupAllowFrom) ? holder.groupAllowFrom : [];
85
85
  if (allowFrom.length > 0 || groupAllowFrom.length > 0) return;
@@ -116,7 +116,7 @@ async function applyWhatsAppSecurityConfigFixes(params) {
116
116
  //#region extensions/whatsapp/src/shared.ts
117
117
  const WHATSAPP_CHANNEL = "whatsapp";
118
118
  async function loadWhatsAppSetupSurface() {
119
- return await import("./setup-surface-Dm3T6S8t.js");
119
+ return await import("./setup-surface-akF37VwD.mjs");
120
120
  }
121
121
  const whatsappSetupWizardProxy = createWhatsAppSetupWizardProxy(async () => (await loadWhatsAppSetupSurface()).whatsappSetupWizard);
122
122
  const whatsappConfigAdapter = createScopedChannelConfigAdapter({
@@ -1,7 +1,7 @@
1
- import { c as resolveWebCredsPath, s as resolveWebCredsBackupPath, t as assertWebCredsPathRegularFileOrMissing } from "./creds-files-W6B3EMZ8.js";
2
- import { A as enqueueCredsSave, M as waitForCredsSaveQueueWithTimeout, N as writeCredsJsonAtomically, P as writeWebCredsRawAtomically, b as restoreCredsFromBackupIfNeeded, u as readCredsJsonRaw, y as resolveDefaultWebAuthDir } from "./auth-store-DTj1H9pv.js";
3
- import { n as getStatusCode } from "./session-errors-JuazczrA.js";
4
- import { a as makeWASocket, i as makeCacheableSignalKeyStore, n as createBaileysSignalRepository, r as fetchLatestBaileysVersion, s as useMultiFileAuthState } from "./session.runtime-Nsqaehbd.js";
1
+ import { c as resolveWebCredsPath, s as resolveWebCredsBackupPath, t as assertWebCredsPathRegularFileOrMissing } from "./creds-files-W6B3EMZ8.mjs";
2
+ import { A as enqueueCredsSave, M as waitForCredsSaveQueueWithTimeout, N as writeCredsJsonAtomically, P as writeWebCredsRawAtomically, b as restoreCredsFromBackupIfNeeded, u as readCredsJsonRaw, y as resolveDefaultWebAuthDir } from "./auth-store-BLlwNwk9.mjs";
3
+ import { n as getStatusCode } from "./session-errors-JuazczrA.mjs";
4
+ import { a as makeWASocket, i as makeCacheableSignalKeyStore, n as createBaileysSignalRepository, r as fetchLatestBaileysVersion, s as useMultiFileAuthState } from "./session.runtime-DcJuO42v.mjs";
5
5
  import { VERSION, formatCliCommand } from "openclaw/plugin-sdk/cli-runtime";
6
6
  import { toErrorObject } from "openclaw/plugin-sdk/error-runtime";
7
7
  import { danger, getChildLogger, success, toPinoLikeLogger } from "openclaw/plugin-sdk/runtime-env";
@@ -1,4 +1,4 @@
1
- import "./targets-runtime-RBjx3pg_.js";
1
+ import "./targets-runtime-RBjx3pg_.mjs";
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 };
@@ -1,2 +1,2 @@
1
- import { t as handleWhatsAppAction } from "./action-runtime-Bw0loEdy.js";
1
+ import { t as handleWhatsAppAction } from "./.setup/action-runtime-BVUf4f89.mjs";
2
2
  export { handleWhatsAppAction };
@@ -1,2 +1,2 @@
1
- import { t as handleWhatsAppAction } from "./action-runtime-Bw0loEdy.js";
1
+ import { t as handleWhatsAppAction } from "./.setup/action-runtime-BVUf4f89.mjs";
2
2
  export { handleWhatsAppAction };
@@ -1,7 +1,7 @@
1
- import { a as resolveWhatsAppAccount } from "./accounts-CeKQbu_s.js";
2
- import { r as getWhatsAppConnectionController } from "./connection-controller-runtime-context-DG0tuYuw.js";
3
- import { s as resolveJidToE164 } from "./targets-runtime-RBjx3pg_.js";
4
- import { n as registerWhatsAppLoginTool } from "./agent-tools-login-B-2qZPzc.js";
1
+ import { a as resolveWhatsAppAccount } from "./.setup/accounts-u_tUoK19.mjs";
2
+ import { r as getWhatsAppConnectionController } from "./.setup/connection-controller-runtime-context-hgLJoRc8.mjs";
3
+ import { s as resolveJidToE164 } from "./.setup/targets-runtime-RBjx3pg_.mjs";
4
+ import { n as registerWhatsAppLoginTool } from "./.setup/agent-tools-login-B6MAs75N.mjs";
5
5
  import { createActionGate, stringEnum } from "openclaw/plugin-sdk/channel-actions";
6
6
  import path from "node:path";
7
7
  import { resolveOAuthDir } from "openclaw/plugin-sdk/state-paths";
package/dist/api.js CHANGED
@@ -1,18 +1,18 @@
1
- import { a as resolveWhatsAppAccount, i as listWhatsAppAuthDirs, n as hasAnyWhatsAppAuth, o as resolveWhatsAppAuthDir, r as listEnabledWhatsAppAccounts, s as resolveWhatsAppMediaMaxBytes, t as DEFAULT_WHATSAPP_MEDIA_MAX_MB } from "./accounts-CeKQbu_s.js";
2
- import { r as resolveDefaultWhatsAppAccountId, t as listAccountIds } from "./account-ids-CB5SOWjc.js";
3
- import { a as normalizeWhatsAppAllowFromEntries, c as normalizeWhatsAppTarget, i as looksLikeWhatsAppTargetId, r as isWhatsAppUserTarget, s as normalizeWhatsAppMessagingTarget, t as isWhatsAppGroupJid } from "./normalize-target-CugRyONv.js";
4
- import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-1GqbT1uX.js";
5
- import { c as toWhatsappJid, i as markdownToWhatsApp, l as toWhatsappJidWithLid, n as isSelfChatMode, r as jidToE164, s as resolveJidToE164, t as assertWebChannel } from "./targets-runtime-RBjx3pg_.js";
6
- import { n as resolveUserPath, t as normalizeE164 } from "./text-runtime-DyfmcATV.js";
7
- import { n as WHATSAPP_LEGACY_OUTBOUND_SEND_DEP_KEYS, t as whatsappPlugin } from "./channel-DxMmDjqK.js";
8
- import { a as resolveWhatsAppGroupRequireMention, o as resolveWhatsAppGroupToolPolicy } from "./shared-DDjonGys.js";
9
- import { t as whatsappCommandPolicy } from "./command-policy-BIOSHySD.js";
10
- import { t as whatsappSetupPlugin } from "./channel.setup-aOFLSQyw.js";
11
- import { t as DEFAULT_WEB_MEDIA_BYTES } from "./constants-C7m81BNe.js";
12
- import { a as waitForWaConnection, o as DEFAULT_WHATSAPP_SOCKET_TIMING, r as createWaSocket, s as createWhatsAppSocketOperationTimeoutAdapter } from "./socket-close-CpkkJZCU.js";
13
- import { n as getStatusCode, t as formatError } from "./session-errors-JuazczrA.js";
14
- import { n as listWhatsAppDirectoryGroupsFromConfig, r as listWhatsAppDirectoryPeersFromConfig } from "./directory-config-LgxYJLWY.js";
15
- import { _ as resolveInboundMediaMimetype, c as extractContextInfo, m as findMessageSection, o as describeReplyContext, p as extractText, t as createWebSendApi, u as extractLocationData } from "./send-api-kFcuhSiY.js";
1
+ import { a as resolveWhatsAppAccount, i as listWhatsAppAuthDirs, n as hasAnyWhatsAppAuth, o as resolveWhatsAppAuthDir, r as listEnabledWhatsAppAccounts, s as resolveWhatsAppMediaMaxBytes, t as DEFAULT_WHATSAPP_MEDIA_MAX_MB } from "./.setup/accounts-u_tUoK19.mjs";
2
+ import { r as resolveDefaultWhatsAppAccountId, t as listAccountIds } from "./.setup/account-ids-CB5SOWjc.mjs";
3
+ import { a as normalizeWhatsAppAllowFromEntries, c as normalizeWhatsAppTarget, i as looksLikeWhatsAppTargetId, r as isWhatsAppUserTarget, s as normalizeWhatsAppMessagingTarget, t as isWhatsAppGroupJid } from "./.setup/normalize-target-CugRyONv.mjs";
4
+ import { t as resolveWhatsAppOutboundTarget } from "./.setup/resolve-outbound-target-CHYl534S.mjs";
5
+ import { c as toWhatsappJid, i as markdownToWhatsApp, l as toWhatsappJidWithLid, n as isSelfChatMode, r as jidToE164, s as resolveJidToE164, t as assertWebChannel } from "./.setup/targets-runtime-RBjx3pg_.mjs";
6
+ import { n as resolveUserPath, t as normalizeE164 } from "./.setup/text-runtime-CHl0iPYe.mjs";
7
+ import { n as WHATSAPP_LEGACY_OUTBOUND_SEND_DEP_KEYS, t as whatsappPlugin } from "./.setup/channel-Bx4V4MFn.mjs";
8
+ import { a as resolveWhatsAppGroupRequireMention, o as resolveWhatsAppGroupToolPolicy } from "./.setup/shared-Bz5KSNaw.mjs";
9
+ import { t as whatsappCommandPolicy } from "./.setup/command-policy-BIOSHySD.mjs";
10
+ import { t as whatsappSetupPlugin } from "./.setup/channel.setup-BhDdl2Ne.mjs";
11
+ import { t as DEFAULT_WEB_MEDIA_BYTES } from "./.setup/constants-C7m81BNe.mjs";
12
+ import { a as waitForWaConnection, o as DEFAULT_WHATSAPP_SOCKET_TIMING, r as createWaSocket, s as createWhatsAppSocketOperationTimeoutAdapter } from "./.setup/socket-close-Ci2nLeBQ.mjs";
13
+ import { n as getStatusCode, t as formatError } from "./.setup/session-errors-JuazczrA.mjs";
14
+ import { n as listWhatsAppDirectoryGroupsFromConfig, r as listWhatsAppDirectoryPeersFromConfig } from "./.setup/directory-config-CyZpW0t5.mjs";
15
+ import { _ as resolveInboundMediaMimetype, c as extractContextInfo, m as findMessageSection, o as describeReplyContext, p as extractText, t as createWebSendApi, u as extractLocationData } from "./.setup/send-api-BkGtYGVg.mjs";
16
16
  import { asBoolean, isRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
17
17
  import { formatLocationText } from "openclaw/plugin-sdk/channel-inbound";
18
18
  //#region extensions/whatsapp/src/qa-driver.runtime.ts
@@ -1,4 +1,4 @@
1
- import { r as hasWebCredsSync } from "./creds-files-W6B3EMZ8.js";
1
+ import { r as hasWebCredsSync } from "./.setup/creds-files-W6B3EMZ8.mjs";
2
2
  import fs from "node:fs";
3
3
  import path from "node:path";
4
4
  import { resolveOAuthDir } from "openclaw/plugin-sdk/state-paths";
@@ -1,2 +1,2 @@
1
- import { t as WhatsAppChannelConfigSchema } from "./config-schema-BYA6e_Ii.js";
1
+ import { t as WhatsAppChannelConfigSchema } from "./.setup/config-schema-BYA6e_Ii.mjs";
2
2
  export { WhatsAppChannelConfigSchema };
@@ -1,2 +1,2 @@
1
- import { t as whatsappPlugin } from "./channel-DxMmDjqK.js";
1
+ import { t as whatsappPlugin } from "./.setup/channel-Bx4V4MFn.mjs";
2
2
  export { whatsappPlugin };
@@ -1,8 +1,8 @@
1
- import { c as normalizeWhatsAppTarget$1, t as isWhatsAppGroupJid$1 } from "./normalize-target-CugRyONv.js";
2
- import { t as whatsappCommandPolicy$1 } from "./command-policy-BIOSHySD.js";
3
- import { t as resolveLegacyGroupSessionKey$1 } from "./group-session-contract-DDnZSsJ1.js";
4
- import { r as isLegacyGroupSessionKey$1, t as canonicalizeLegacySessionKey$1 } from "./session-contract-DMTm6Q_L.js";
5
- import { t as resolveWhatsAppRuntimeGroupPolicy$1 } from "./runtime-group-policy-DeSRFXEV.js";
1
+ import { c as normalizeWhatsAppTarget$1, t as isWhatsAppGroupJid$1 } from "./.setup/normalize-target-CugRyONv.mjs";
2
+ import { t as whatsappCommandPolicy$1 } from "./.setup/command-policy-BIOSHySD.mjs";
3
+ import { t as resolveLegacyGroupSessionKey$1 } from "./.setup/group-session-contract-DDnZSsJ1.mjs";
4
+ import { r as isLegacyGroupSessionKey$1, t as canonicalizeLegacySessionKey$1 } from "./.setup/session-contract-DMTm6Q_L.mjs";
5
+ import { t as resolveWhatsAppRuntimeGroupPolicy$1 } from "./.setup/runtime-group-policy-DeSRFXEV.mjs";
6
6
  //#region extensions/whatsapp/contract-api.ts
7
7
  const canonicalizeLegacySessionKey = canonicalizeLegacySessionKey$1;
8
8
  const isLegacyGroupSessionKey = isLegacyGroupSessionKey$1;
@@ -1,4 +1,4 @@
1
- import { n as listWhatsAppDirectoryGroupsFromConfig, r as listWhatsAppDirectoryPeersFromConfig } from "./directory-config-LgxYJLWY.js";
1
+ import { n as listWhatsAppDirectoryGroupsFromConfig, r as listWhatsAppDirectoryPeersFromConfig } from "./.setup/directory-config-CyZpW0t5.mjs";
2
2
  //#region extensions/whatsapp/directory-contract-api.ts
3
3
  const whatsappDirectoryContractPlugin = {
4
4
  id: "whatsapp",
@@ -1,5 +1,5 @@
1
- import { i as isWhatsAppBaileysAuthFileName } from "./creds-files-W6B3EMZ8.js";
2
- import { t as normalizeCompatibilityConfig$1 } from "./doctor-CwzVXKoE.js";
1
+ import { i as isWhatsAppBaileysAuthFileName } from "./.setup/creds-files-W6B3EMZ8.mjs";
2
+ import { t as normalizeCompatibilityConfig$1 } from "./.setup/doctor-CwzVXKoE.mjs";
3
3
  import fs from "node:fs";
4
4
  import path from "node:path";
5
5
  import { fileExists } from "openclaw/plugin-sdk/security-runtime";
@@ -1,4 +1,4 @@
1
- import { r as isLegacyGroupSessionKey, t as canonicalizeLegacySessionKey } from "./session-contract-DMTm6Q_L.js";
1
+ import { r as isLegacyGroupSessionKey, t as canonicalizeLegacySessionKey } from "./.setup/session-contract-DMTm6Q_L.mjs";
2
2
  //#region extensions/whatsapp/legacy-session-surface-api.ts
3
3
  const whatsappLegacySessionSurface = {
4
4
  isLegacyGroupSessionKey,
@@ -1,5 +1,5 @@
1
- import { t as createWhatsAppLoginTool } from "./agent-tools-login-B-2qZPzc.js";
2
- import { c as logoutWeb, g as readWebSelfId, l as pickWebChannel, o as getWebAuthAgeMs, s as logWebSelfId, t as WA_WEB_AUTH_DIR, x as webAuthExists, y as resolveDefaultWebAuthDir } from "./auth-store-DTj1H9pv.js";
3
- import { t as getActiveWebListener } from "./active-listener-BEjWsCNM.js";
4
- import { n as getStatusCode, t as formatError } from "./session-errors-JuazczrA.js";
1
+ import { t as createWhatsAppLoginTool } from "./.setup/agent-tools-login-B6MAs75N.mjs";
2
+ import { c as logoutWeb, g as readWebSelfId, l as pickWebChannel, o as getWebAuthAgeMs, s as logWebSelfId, t as WA_WEB_AUTH_DIR, x as webAuthExists, y as resolveDefaultWebAuthDir } from "./.setup/auth-store-BLlwNwk9.mjs";
3
+ import { t as getActiveWebListener } from "./.setup/active-listener-CDjoX9QR.mjs";
4
+ import { n as getStatusCode, t as formatError } from "./.setup/session-errors-JuazczrA.mjs";
5
5
  export { WA_WEB_AUTH_DIR, createWhatsAppLoginTool, formatError, getActiveWebListener, getStatusCode, getWebAuthAgeMs, logWebSelfId, logoutWeb, pickWebChannel, readWebSelfId, resolveDefaultWebAuthDir, webAuthExists };
@@ -1,6 +1,6 @@
1
1
  import { createLazyRuntimeModule } from "openclaw/plugin-sdk/lazy-runtime";
2
2
  //#region extensions/whatsapp/login-qr-runtime.ts
3
- const loadLoginQrModule = createLazyRuntimeModule(() => import("./login-qr-B3m61NqA.js"));
3
+ const loadLoginQrModule = createLazyRuntimeModule(() => import("./.setup/login-qr-y11oWl3Y.mjs"));
4
4
  async function startWebLoginWithQr(...args) {
5
5
  const { startWebLoginWithQr: startWebLoginWithQrLocal } = await loadLoginQrModule();
6
6
  return await startWebLoginWithQrLocal(...args);
@@ -1,16 +1,16 @@
1
- import { c as resolveWebCredsPath, r as hasWebCredsSync, s as resolveWebCredsBackupPath } from "./creds-files-W6B3EMZ8.js";
2
- import { n as whatsAppActionRuntime, t as handleWhatsAppAction } from "./action-runtime-Bw0loEdy.js";
3
- import { i as sendTypingWhatsApp, n as sendPollWhatsApp, r as sendReactionWhatsApp, t as sendMessageWhatsApp } from "./send-DiPjiygK.js";
4
- import { a as setWhatsAppRuntime } from "./runtime-BLlToOi6.js";
1
+ import { c as resolveWebCredsPath, r as hasWebCredsSync, s as resolveWebCredsBackupPath } from "./.setup/creds-files-W6B3EMZ8.mjs";
2
+ import { n as whatsAppActionRuntime, t as handleWhatsAppAction } from "./.setup/action-runtime-BVUf4f89.mjs";
3
+ import { i as sendTypingWhatsApp, n as sendPollWhatsApp, r as sendReactionWhatsApp, t as sendMessageWhatsApp } from "./.setup/send-DhVkeVOL.mjs";
4
+ import { a as setWhatsAppRuntime } from "./.setup/runtime-BLlToOi6.mjs";
5
5
  import { startWebLoginWithQr, waitForWebLogin } from "./login-qr-runtime.js";
6
- import { t as createWhatsAppLoginTool } from "./agent-tools-login-B-2qZPzc.js";
7
- import { M as waitForCredsSaveQueueWithTimeout, N 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, j as waitForCredsSaveQueue, 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, x as webAuthExists, y as resolveDefaultWebAuthDir } from "./auth-store-DTj1H9pv.js";
8
- import { t as DEFAULT_WEB_MEDIA_BYTES } from "./constants-C7m81BNe.js";
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-CpkkJZCU.js";
11
- import { n as getStatusCode, t as formatError } from "./session-errors-JuazczrA.js";
12
- import { p as extractText, s as extractContactContext, u as extractLocationData } from "./send-api-kFcuhSiY.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-CTsyo-HE.js";
14
- import { t as loginWeb } from "./login-Bk_jiXKD.js";
6
+ import { t as createWhatsAppLoginTool } from "./.setup/agent-tools-login-B6MAs75N.mjs";
7
+ import { M as waitForCredsSaveQueueWithTimeout, N 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, j as waitForCredsSaveQueue, 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, x as webAuthExists, y as resolveDefaultWebAuthDir } from "./.setup/auth-store-BLlwNwk9.mjs";
8
+ import { t as DEFAULT_WEB_MEDIA_BYTES } from "./.setup/constants-C7m81BNe.mjs";
9
+ import { n as resolveWebAccountId, t as getActiveWebListener } from "./.setup/active-listener-CDjoX9QR.mjs";
10
+ import { a as waitForWaConnection, i as newConnectionId, r as createWaSocket } from "./.setup/socket-close-Ci2nLeBQ.mjs";
11
+ import { n as getStatusCode, t as formatError } from "./.setup/session-errors-JuazczrA.mjs";
12
+ import { p as extractText, s as extractContactContext, u as extractLocationData } from "./.setup/send-api-BkGtYGVg.mjs";
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 "./.setup/monitor-BfbT-HY2.mjs";
14
+ import { t as loginWeb } from "./.setup/login-B6mR1G7c.mjs";
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,2 +1,2 @@
1
- import { a as setWhatsAppRuntime } from "./runtime-BLlToOi6.js";
1
+ import { a as setWhatsAppRuntime } from "./.setup/runtime-BLlToOi6.mjs";
2
2
  export { setWhatsAppRuntime };
@@ -1,2 +1,2 @@
1
- import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./security-contract-nAzD945y.js";
1
+ import { n as unsupportedSecretRefSurfacePatterns, t as collectUnsupportedSecretRefConfigCandidates } from "./.setup/security-contract-nAzD945y.mjs";
2
2
  export { collectUnsupportedSecretRefConfigCandidates, unsupportedSecretRefSurfacePatterns };
@@ -1,14 +1,15 @@
1
1
  import { defineBundledChannelSetupEntry } from "openclaw/plugin-sdk/channel-entry-contract";
2
+ import { fileURLToPath } from "node:url";
2
3
  //#region extensions/whatsapp/setup-entry.ts
3
4
  var setup_entry_default = defineBundledChannelSetupEntry({
4
5
  importMetaUrl: import.meta.url,
5
6
  features: { legacySessionSurfaces: true },
6
7
  plugin: {
7
- specifier: "./setup-plugin-api.js",
8
+ specifier: fileURLToPath(new URL(".setup/setup-plugin-api-Cza7x2wL.mjs", import.meta.url).href),
8
9
  exportName: "whatsappSetupPlugin"
9
10
  },
10
11
  legacySessionSurface: {
11
- specifier: "./legacy-session-surface-api.js",
12
+ specifier: fileURLToPath(new URL(".setup/legacy-session-surface-api-B2szjq4r.mjs", import.meta.url).href),
12
13
  exportName: "whatsappLegacySessionSurface"
13
14
  }
14
15
  });
@@ -1,2 +1,2 @@
1
- import { t as whatsappSetupPlugin } from "./channel.setup-aOFLSQyw.js";
1
+ import { t as whatsappSetupPlugin } from "./.setup/channel.setup-BhDdl2Ne.mjs";
2
2
  export { whatsappSetupPlugin };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/whatsapp",
3
- "version": "2026.8.2",
3
+ "version": "2026.8.34",
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.17"
14
14
  },
15
15
  "peerDependencies": {
16
- "openclaw": ">=2026.8.2"
16
+ "openclaw": ">=2026.8.34"
17
17
  },
18
18
  "peerDependenciesMeta": {
19
19
  "openclaw": {
@@ -65,10 +65,10 @@
65
65
  "minHostVersion": ">=2026.4.25"
66
66
  },
67
67
  "compat": {
68
- "pluginApi": ">=2026.8.2"
68
+ "pluginApi": ">=2026.8.34"
69
69
  },
70
70
  "build": {
71
- "openclawVersion": "2026.8.2"
71
+ "openclawVersion": "2026.8.34"
72
72
  },
73
73
  "release": {
74
74
  "publishToClawHub": true,
@@ -1,2 +0,0 @@
1
- import "./normalize-target-CugRyONv.js";
2
- export {};