@openclaw/whatsapp 2026.7.2-beta.7 → 2026.7.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{access-control-pZcxTmd5.js → .setup/access-control-C0jumQuO.mjs} +5 -4
- package/dist/.setup/account-config-6PTOSfaI.mjs +47 -0
- package/dist/{accounts-CSqLvCY5.js → .setup/accounts-Dw16pdNl.mjs} +9 -47
- package/dist/{action-runtime-BzfDFPbH.js → .setup/action-runtime-DLK_9v4r.mjs} +3 -3
- package/dist/{active-listener-BEjWsCNM.js → .setup/active-listener-CloPBx0S.mjs} +3 -3
- package/dist/{agent-tools-login-DE9MU98T.js → .setup/agent-tools-login-DINqgaYo.mjs} +19 -7
- package/dist/{approval-handler.runtime-DrA59QSA.js → .setup/approval-handler.runtime-DtJZbu3y.mjs} +14 -20
- package/dist/{approval-resolver-DoeBBt22.js → .setup/approval-resolver-DF-lu8k5.mjs} +1 -2
- package/dist/{auth-store-DcEpIOmE.js → .setup/auth-store-BZKGa0tW.mjs} +25 -29
- package/dist/{channel-Dg62olhy.js → .setup/channel-9WGjBznd.mjs} +117 -132
- package/dist/{channel-react-action-J_YtyMGX.js → .setup/channel-react-action-mvIbAFhn.mjs} +15 -12
- package/dist/{channel.runtime-BP0xNmLi.js → .setup/channel.runtime-DmmMgRJQ.mjs} +6 -6
- package/dist/.setup/channel.setup-ByBYSeLd.mjs +22 -0
- package/dist/.setup/config-schema-mBX2nmn1.mjs +47 -0
- package/dist/{connection-controller-BOB2MVKY.js → .setup/connection-controller-Dt62u6fI.mjs} +29 -226
- package/dist/.setup/connection-controller-registry-TSX_udJp.mjs +22 -0
- package/dist/{constants-HU41RHGI.js → .setup/constants-C7m81BNe.mjs} +1 -1
- package/dist/.setup/directory-config-B7Obxrq2.mjs +37 -0
- package/dist/.setup/doctor-By3SB4lm.mjs +48 -0
- package/dist/{group-session-key-DVMZlO3x.js → .setup/group-session-key-CEwPRRRK.mjs} +5 -38
- package/dist/{identity-CPrT5aEU.js → .setup/identity-CDB1bT-p.mjs} +2 -2
- package/dist/.setup/legacy-session-surface-api-B2szjq4r.mjs +2 -0
- package/dist/.setup/legacy-state-migrations-api-DXCxufZz.mjs +3 -0
- package/dist/{login-CvY2Dhch.js → .setup/login-7b3M0iBp.mjs} +12 -51
- package/dist/{login-qr-Bncpb6js.js → .setup/login-qr-CbyA4QX5.mjs} +47 -23
- package/dist/{monitor-CfkaUSL2.js → .setup/monitor-Dh6Di_YO.mjs} +1451 -1843
- package/dist/.setup/normalize-eddWWsNV.mjs +2 -0
- package/dist/{normalize-target-CugRyONv.js → .setup/normalize-target-bVWjgftN.mjs} +10 -18
- package/dist/{resolve-outbound-target-1GqbT1uX.js → .setup/resolve-outbound-target-oI7VpU4w.mjs} +1 -1
- package/dist/.setup/runtime-BfAdAEYT.mjs +8 -0
- package/dist/.setup/send-BQjMC41n.mjs +777 -0
- package/dist/{send-api-7wk6eQyW.js → .setup/send-api-BiAkPLr3.mjs} +155 -105
- package/dist/{session-errors-JuazczrA.js → .setup/session-errors-BAj9D2La.mjs} +1 -2
- package/dist/.setup/session-vUI41Jel.mjs +252 -0
- package/dist/.setup/session.runtime-B-V3rXP6.mjs +12 -0
- package/dist/{shared-CAxd15bp.js → .setup/setup-core--FfzntMG.mjs} +94 -63
- package/dist/{setup-finalize-BZucx24W.js → .setup/setup-finalize-DCruIciL.mjs} +17 -46
- package/dist/.setup/setup-plugin-api-B6ck_20D.mjs +3 -0
- package/dist/{setup-surface-BkVcd769.js → .setup/setup-surface-Zvj2cLzz.mjs} +4 -4
- package/dist/.setup/socket-timing-DhbVFjah.mjs +77 -0
- package/dist/{state-migrations-CAMTrs2U.js → .setup/state-migrations-D_BmQUR9.mjs} +8 -1
- package/dist/.setup/targets-runtime-C-GiVn6Y.mjs +188 -0
- package/dist/.setup/text-runtime-CUrq1mFq.mjs +4 -0
- package/dist/action-runtime-api.js +1 -1
- package/dist/action-runtime.runtime.js +1 -1
- package/dist/{call-tool-api.js → agent-tools-api.js} +26 -11
- package/dist/api.js +27 -17
- package/dist/auth-presence.js +1 -1
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-plugin-api.js +1 -1
- package/dist/constants.js +2 -0
- package/dist/contract-api.js +5 -5
- package/dist/directory-contract-api.js +1 -1
- package/dist/doctor-contract-api.js +5 -46
- package/dist/index.js +4 -4
- package/dist/legacy-session-surface-api.js +1 -1
- package/dist/legacy-state-migrations-api.js +1 -1
- package/dist/light-runtime-api.js +4 -4
- package/dist/login-qr-runtime.js +1 -1
- package/dist/runtime-api.js +14 -14
- package/dist/runtime-setter-api.js +1 -1
- package/dist/security-contract-api.js +1 -1
- package/dist/setup-entry.js +4 -3
- package/dist/setup-plugin-api.js +1 -1
- package/dist/targets.js +2 -0
- package/node_modules/audio-decode/node_modules/@thi.ng/bitstream/package.json +4 -4
- package/node_modules/audio-decode/node_modules/@thi.ng/errors/package.json +4 -4
- package/node_modules/audio-decode/node_modules/audio-type/package.json +2 -3
- package/node_modules/baileys/node_modules/@protobufjs/aspromise/LICENSE +26 -0
- package/node_modules/baileys/node_modules/@protobufjs/aspromise/README.md +13 -0
- package/node_modules/baileys/node_modules/{protobufjs/src/util/aspromise.d.ts → @protobufjs/aspromise/index.d.ts} +13 -13
- package/node_modules/baileys/node_modules/{protobufjs/src/util/aspromise.js → @protobufjs/aspromise/index.js} +52 -52
- package/node_modules/baileys/node_modules/@protobufjs/aspromise/package.json +21 -0
- package/node_modules/baileys/node_modules/@protobufjs/aspromise/tests/index.js +130 -0
- package/node_modules/baileys/node_modules/@protobufjs/base64/LICENSE +26 -0
- package/node_modules/baileys/node_modules/@protobufjs/base64/README.md +19 -0
- package/node_modules/baileys/node_modules/{protobufjs/src/util/base64.d.ts → @protobufjs/base64/index.d.ts} +32 -32
- package/node_modules/baileys/node_modules/{protobufjs/src/util/base64.js → @protobufjs/base64/index.js} +139 -146
- package/node_modules/baileys/node_modules/@protobufjs/base64/package.json +21 -0
- package/node_modules/baileys/node_modules/@protobufjs/base64/tests/index.js +46 -0
- package/node_modules/baileys/node_modules/@protobufjs/codegen/LICENSE +26 -0
- package/node_modules/baileys/node_modules/@protobufjs/codegen/README.md +49 -0
- package/node_modules/baileys/node_modules/{protobufjs/src/util/codegen.d.ts → @protobufjs/codegen/index.d.ts} +31 -31
- package/node_modules/baileys/node_modules/{protobufjs/src/util/codegen.js → @protobufjs/codegen/index.js} +112 -118
- package/node_modules/baileys/node_modules/@protobufjs/codegen/package.json +13 -0
- package/node_modules/baileys/node_modules/@protobufjs/codegen/tests/index.js +13 -0
- package/node_modules/baileys/node_modules/@protobufjs/eventemitter/CHANGELOG.md +8 -0
- package/node_modules/baileys/node_modules/@protobufjs/eventemitter/LICENSE +26 -0
- package/node_modules/baileys/node_modules/@protobufjs/eventemitter/README.md +22 -0
- package/node_modules/baileys/node_modules/{protobufjs/src/util/eventemitter.d.ts → @protobufjs/eventemitter/index.d.ts} +45 -45
- package/node_modules/baileys/node_modules/{protobufjs/src/util/eventemitter.js → @protobufjs/eventemitter/index.js} +86 -86
- package/node_modules/baileys/node_modules/@protobufjs/eventemitter/package.json +21 -0
- package/node_modules/baileys/node_modules/@protobufjs/eventemitter/tests/index.js +83 -0
- package/node_modules/baileys/node_modules/@protobufjs/fetch/CHANGELOG.md +8 -0
- package/node_modules/baileys/node_modules/@protobufjs/fetch/LICENSE +26 -0
- package/node_modules/baileys/node_modules/@protobufjs/fetch/README.md +13 -0
- package/node_modules/baileys/node_modules/{protobufjs/src/util/fetch.d.ts → @protobufjs/fetch/index.d.ts} +56 -56
- package/node_modules/baileys/node_modules/{protobufjs/src/util/fetch.js → @protobufjs/fetch/index.js} +112 -112
- package/node_modules/baileys/node_modules/@protobufjs/fetch/package.json +27 -0
- package/node_modules/baileys/node_modules/@protobufjs/fetch/tests/data/file.txt +1 -0
- package/node_modules/baileys/node_modules/@protobufjs/fetch/tests/index.js +158 -0
- package/node_modules/baileys/node_modules/@protobufjs/fetch/util/fs.js +11 -0
- package/node_modules/baileys/node_modules/@protobufjs/float/LICENSE +26 -0
- package/node_modules/baileys/node_modules/@protobufjs/float/README.md +102 -0
- package/node_modules/baileys/node_modules/@protobufjs/float/bench/index.js +87 -0
- package/node_modules/baileys/node_modules/@protobufjs/float/bench/suite.js +46 -0
- package/node_modules/baileys/node_modules/{protobufjs/src/util/float.js → @protobufjs/float/index.js} +335 -335
- package/node_modules/baileys/node_modules/@protobufjs/float/package.json +26 -0
- package/node_modules/baileys/node_modules/@protobufjs/float/tests/index.js +100 -0
- package/node_modules/baileys/node_modules/@protobufjs/inquire/CHANGELOG.md +8 -0
- package/node_modules/baileys/node_modules/@protobufjs/inquire/LICENSE +26 -0
- package/node_modules/baileys/node_modules/@protobufjs/inquire/README.md +13 -0
- package/node_modules/baileys/node_modules/@protobufjs/inquire/index.d.ts +10 -0
- package/node_modules/baileys/node_modules/@protobufjs/inquire/index.js +38 -0
- package/node_modules/baileys/node_modules/@protobufjs/inquire/package.json +21 -0
- package/node_modules/baileys/node_modules/@protobufjs/inquire/tests/data/array.js +1 -0
- package/node_modules/baileys/node_modules/@protobufjs/inquire/tests/data/emptyArray.js +1 -0
- package/node_modules/baileys/node_modules/@protobufjs/inquire/tests/data/emptyObject.js +1 -0
- package/node_modules/baileys/node_modules/@protobufjs/inquire/tests/data/object.js +1 -0
- package/node_modules/baileys/node_modules/@protobufjs/inquire/tests/index.js +20 -0
- package/node_modules/baileys/node_modules/@protobufjs/path/LICENSE +26 -0
- package/node_modules/baileys/node_modules/@protobufjs/path/README.md +19 -0
- package/node_modules/baileys/node_modules/{protobufjs/src/util/path.d.ts → @protobufjs/path/index.d.ts} +22 -22
- package/node_modules/baileys/node_modules/{protobufjs/src/util/path.js → @protobufjs/path/index.js} +65 -100
- package/node_modules/baileys/node_modules/@protobufjs/path/package.json +21 -0
- package/node_modules/baileys/node_modules/@protobufjs/path/tests/index.js +60 -0
- package/node_modules/baileys/node_modules/@protobufjs/pool/.npmignore +3 -0
- package/node_modules/baileys/node_modules/@protobufjs/pool/LICENSE +26 -0
- package/node_modules/baileys/node_modules/@protobufjs/pool/README.md +13 -0
- package/node_modules/baileys/node_modules/{protobufjs/src/util/pool.d.ts → @protobufjs/pool/index.d.ts} +32 -32
- package/node_modules/baileys/node_modules/{protobufjs/src/util/pool.js → @protobufjs/pool/index.js} +48 -48
- package/node_modules/baileys/node_modules/@protobufjs/pool/package.json +21 -0
- package/node_modules/baileys/node_modules/@protobufjs/pool/tests/index.js +33 -0
- package/node_modules/baileys/node_modules/@protobufjs/utf8/LICENSE +26 -0
- package/node_modules/baileys/node_modules/@protobufjs/utf8/README.md +20 -0
- package/node_modules/baileys/node_modules/{protobufjs/src/util/utf8.d.ts → @protobufjs/utf8/index.d.ts} +24 -24
- package/node_modules/baileys/node_modules/{protobufjs/src/util/utf8.js → @protobufjs/utf8/index.js} +104 -190
- package/node_modules/baileys/node_modules/@protobufjs/utf8/package.json +21 -0
- package/node_modules/baileys/node_modules/@protobufjs/utf8/tests/data/surrogate_pair_bug.txt +207 -0
- package/node_modules/baileys/node_modules/@protobufjs/utf8/tests/data/utf8.txt +216 -0
- package/node_modules/baileys/node_modules/@protobufjs/utf8/tests/index.js +74 -0
- package/node_modules/baileys/node_modules/@types/node/LICENSE +21 -0
- package/node_modules/baileys/node_modules/@types/node/README.md +15 -0
- package/node_modules/baileys/node_modules/@types/node/assert/strict.d.ts +68 -0
- package/node_modules/baileys/node_modules/@types/node/assert.d.ts +1077 -0
- package/node_modules/baileys/node_modules/@types/node/async_hooks.d.ts +711 -0
- package/node_modules/baileys/node_modules/@types/node/buffer.buffer.d.ts +466 -0
- package/node_modules/baileys/node_modules/@types/node/buffer.d.ts +1799 -0
- package/node_modules/baileys/node_modules/@types/node/child_process.d.ts +1362 -0
- package/node_modules/baileys/node_modules/@types/node/cluster.d.ts +432 -0
- package/node_modules/baileys/node_modules/@types/node/console.d.ts +93 -0
- package/node_modules/baileys/node_modules/@types/node/constants.d.ts +14 -0
- package/node_modules/baileys/node_modules/@types/node/crypto.d.ts +3954 -0
- package/node_modules/baileys/node_modules/@types/node/dgram.d.ts +537 -0
- package/node_modules/baileys/node_modules/@types/node/diagnostics_channel.d.ts +794 -0
- package/node_modules/baileys/node_modules/@types/node/dns/promises.d.ts +497 -0
- package/node_modules/baileys/node_modules/@types/node/dns.d.ts +876 -0
- package/node_modules/baileys/node_modules/@types/node/domain.d.ts +150 -0
- package/node_modules/baileys/node_modules/@types/node/events.d.ts +1008 -0
- package/node_modules/baileys/node_modules/@types/node/ffi.d.ts +486 -0
- package/node_modules/baileys/node_modules/@types/node/fs/promises.d.ts +1471 -0
- package/node_modules/baileys/node_modules/@types/node/fs.d.ts +4786 -0
- package/node_modules/baileys/node_modules/@types/node/globals.d.ts +150 -0
- package/node_modules/baileys/node_modules/@types/node/globals.typedarray.d.ts +101 -0
- package/node_modules/baileys/node_modules/@types/node/http.d.ts +2172 -0
- package/node_modules/baileys/node_modules/@types/node/http2.d.ts +2489 -0
- package/node_modules/baileys/node_modules/@types/node/https.d.ts +400 -0
- package/node_modules/baileys/node_modules/@types/node/index.d.ts +115 -0
- package/node_modules/baileys/node_modules/@types/node/inspector/promises.d.ts +35 -0
- package/node_modules/baileys/node_modules/@types/node/inspector.d.ts +264 -0
- package/node_modules/baileys/node_modules/@types/node/inspector.generated.d.ts +4406 -0
- package/node_modules/baileys/node_modules/@types/node/module.d.ts +726 -0
- package/node_modules/baileys/node_modules/@types/node/net.d.ts +970 -0
- package/node_modules/baileys/node_modules/@types/node/os.d.ts +498 -0
- package/node_modules/baileys/node_modules/@types/node/package.json +155 -0
- package/node_modules/baileys/node_modules/@types/node/path/posix.d.ts +8 -0
- package/node_modules/baileys/node_modules/@types/node/path/win32.d.ts +8 -0
- package/node_modules/baileys/node_modules/@types/node/path.d.ts +178 -0
- package/node_modules/baileys/node_modules/@types/node/perf_hooks.d.ts +604 -0
- package/node_modules/baileys/node_modules/@types/node/process.d.ts +2217 -0
- package/node_modules/baileys/node_modules/@types/node/punycode.d.ts +89 -0
- package/node_modules/baileys/node_modules/@types/node/querystring.d.ts +139 -0
- package/node_modules/baileys/node_modules/@types/node/quic.d.ts +978 -0
- package/node_modules/baileys/node_modules/@types/node/readline/promises.d.ts +158 -0
- package/node_modules/baileys/node_modules/@types/node/readline.d.ts +508 -0
- package/node_modules/baileys/node_modules/@types/node/repl.d.ts +420 -0
- package/node_modules/baileys/node_modules/@types/node/sea.d.ts +47 -0
- package/node_modules/baileys/node_modules/@types/node/sqlite.d.ts +1123 -0
- package/node_modules/baileys/node_modules/@types/node/stream/consumers.d.ts +114 -0
- package/node_modules/baileys/node_modules/@types/node/stream/iter.d.ts +451 -0
- package/node_modules/baileys/node_modules/@types/node/stream/promises.d.ts +211 -0
- package/node_modules/baileys/node_modules/@types/node/stream/web.d.ts +300 -0
- package/node_modules/baileys/node_modules/@types/node/stream.d.ts +1806 -0
- package/node_modules/baileys/node_modules/@types/node/string_decoder.d.ts +27 -0
- package/node_modules/baileys/node_modules/@types/node/test/reporters.d.ts +59 -0
- package/node_modules/baileys/node_modules/@types/node/test.d.ts +2389 -0
- package/node_modules/baileys/node_modules/@types/node/timers/promises.d.ts +93 -0
- package/node_modules/baileys/node_modules/@types/node/timers.d.ts +149 -0
- package/node_modules/baileys/node_modules/@types/node/tls.d.ts +1193 -0
- package/node_modules/baileys/node_modules/@types/node/trace_events.d.ts +103 -0
- package/node_modules/baileys/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +462 -0
- package/node_modules/baileys/node_modules/@types/node/ts5.6/compatibility/float16array.d.ts +71 -0
- package/node_modules/baileys/node_modules/@types/node/ts5.6/globals.typedarray.d.ts +36 -0
- package/node_modules/baileys/node_modules/@types/node/ts5.6/index.d.ts +117 -0
- package/node_modules/baileys/node_modules/@types/node/ts5.7/compatibility/float16array.d.ts +72 -0
- package/node_modules/baileys/node_modules/@types/node/ts5.7/index.d.ts +117 -0
- package/node_modules/baileys/node_modules/@types/node/tty.d.ts +225 -0
- package/node_modules/baileys/node_modules/@types/node/url.d.ts +556 -0
- package/node_modules/baileys/node_modules/@types/node/util/types.d.ts +558 -0
- package/node_modules/baileys/node_modules/@types/node/util.d.ts +1677 -0
- package/node_modules/baileys/node_modules/@types/node/v8.d.ts +1062 -0
- package/node_modules/baileys/node_modules/@types/node/vm.d.ts +1136 -0
- package/node_modules/baileys/node_modules/@types/node/wasi.d.ts +131 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/abortcontroller.d.ts +59 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/blob.d.ts +23 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/console.d.ts +9 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/crypto.d.ts +39 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/domexception.d.ts +83 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/encoding.d.ts +11 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/events.d.ts +106 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/fetch.d.ts +69 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/importmeta.d.ts +13 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/messaging.d.ts +23 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/navigator.d.ts +25 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/performance.d.ts +45 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/storage.d.ts +24 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/streams.d.ts +115 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/timers.d.ts +44 -0
- package/node_modules/baileys/node_modules/@types/node/web-globals/url.d.ts +24 -0
- package/node_modules/baileys/node_modules/@types/node/worker_threads.d.ts +669 -0
- package/node_modules/baileys/node_modules/@types/node/zlib/iter.d.ts +131 -0
- package/node_modules/baileys/node_modules/@types/node/zlib.d.ts +589 -0
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/browser/index.d.ts.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/browser/index.js +4 -11
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/browser/index.js.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/browser/index.min.js +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/browser/index.min.js.map +3 -3
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/index.js +4 -11
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/index.js.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/index.min.js +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/index.min.js.map +3 -3
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/node/index.d.ts.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/node/index.js +4 -11
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/node/index.js.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/node/index.min.js +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/commonjs/node/index.min.js.map +3 -3
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/browser/index.d.ts.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/browser/index.js +4 -11
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/browser/index.js.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/browser/index.min.js +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/browser/index.min.js.map +3 -3
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/index.d.ts.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/index.js +4 -11
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/index.js.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/index.min.js +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/index.min.js.map +3 -3
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/node/index.d.ts.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/node/index.js +4 -11
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/node/index.js.map +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/node/index.min.js +1 -1
- package/node_modules/baileys/node_modules/lru-cache/dist/esm/node/index.min.js.map +3 -3
- package/node_modules/baileys/node_modules/lru-cache/package.json +1 -1
- package/node_modules/baileys/node_modules/music-metadata/lib/common/Util.d.ts +1 -1
- package/node_modules/baileys/node_modules/music-metadata/lib/common/Util.js +1 -7
- package/node_modules/baileys/node_modules/music-metadata/lib/id3v2/FrameHeader.js +3 -23
- package/node_modules/baileys/node_modules/music-metadata/lib/id3v2/FrameParser.js +2 -2
- package/node_modules/baileys/node_modules/music-metadata/lib/id3v2/ID3v2Token.js +1 -1
- package/node_modules/baileys/node_modules/music-metadata/lib/mp4/AtomToken.js +13 -38
- package/node_modules/baileys/node_modules/music-metadata/lib/mpeg/MpegParser.js +1 -1
- package/node_modules/baileys/node_modules/music-metadata/package.json +6 -6
- package/node_modules/baileys/node_modules/p-queue/dist/index.js +27 -37
- package/node_modules/baileys/node_modules/p-queue/package.json +1 -1
- package/node_modules/baileys/node_modules/protobufjs/README.md +553 -266
- package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.js +1985 -3177
- package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
- package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
- package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
- package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.js +1244 -1966
- package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
- package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
- package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
- package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.js +2005 -3330
- package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/node_modules/baileys/node_modules/protobufjs/ext/descriptor/README.md +70 -3
- package/node_modules/baileys/node_modules/protobufjs/ext/descriptor/index.d.ts +193 -0
- package/node_modules/baileys/node_modules/protobufjs/ext/descriptor/index.js +1185 -1
- package/node_modules/baileys/node_modules/protobufjs/ext/descriptor/test.js +54 -0
- package/node_modules/baileys/node_modules/protobufjs/google/api/annotations.json +1 -3
- package/node_modules/baileys/node_modules/protobufjs/google/api/http.json +1 -2
- package/node_modules/baileys/node_modules/protobufjs/google/protobuf/api.json +6 -12
- package/node_modules/baileys/node_modules/protobufjs/google/protobuf/descriptor.json +87 -170
- package/node_modules/baileys/node_modules/protobufjs/google/protobuf/descriptor.proto +8 -0
- package/node_modules/baileys/node_modules/protobufjs/google/protobuf/source_context.json +1 -2
- package/node_modules/baileys/node_modules/protobufjs/google/protobuf/type.json +7 -14
- package/node_modules/baileys/node_modules/protobufjs/index.d.ts +703 -1066
- package/node_modules/baileys/node_modules/protobufjs/package.json +52 -25
- package/node_modules/baileys/node_modules/protobufjs/scripts/postinstall.js +32 -0
- package/node_modules/baileys/node_modules/protobufjs/src/common.js +8 -14
- package/node_modules/baileys/node_modules/protobufjs/src/converter.js +51 -85
- package/node_modules/baileys/node_modules/protobufjs/src/decoder.js +61 -205
- package/node_modules/baileys/node_modules/protobufjs/src/encoder.js +7 -27
- package/node_modules/baileys/node_modules/protobufjs/src/enum.js +5 -18
- package/node_modules/baileys/node_modules/protobufjs/src/field.js +19 -71
- package/node_modules/baileys/node_modules/protobufjs/src/index-light.js +29 -29
- package/node_modules/baileys/node_modules/protobufjs/src/index-minimal.js +13 -12
- package/node_modules/baileys/node_modules/protobufjs/src/index.js +6 -6
- package/node_modules/baileys/node_modules/protobufjs/src/mapfield.js +8 -26
- package/node_modules/baileys/node_modules/protobufjs/src/message.js +11 -5
- package/node_modules/baileys/node_modules/protobufjs/src/method.js +7 -30
- package/node_modules/baileys/node_modules/protobufjs/src/namespace.js +10 -26
- package/node_modules/baileys/node_modules/protobufjs/src/object.js +31 -41
- package/node_modules/baileys/node_modules/protobufjs/src/oneof.js +1 -12
- package/node_modules/baileys/node_modules/protobufjs/src/parse.js +47 -169
- package/node_modules/baileys/node_modules/protobufjs/src/reader.js +50 -412
- package/node_modules/baileys/node_modules/protobufjs/src/reader_buffer.js +5 -31
- package/node_modules/baileys/node_modules/protobufjs/src/root.js +4 -16
- package/node_modules/baileys/node_modules/protobufjs/src/rpc/service.js +5 -18
- package/node_modules/baileys/node_modules/protobufjs/src/service.js +2 -15
- package/node_modules/baileys/node_modules/protobufjs/src/tokenize.js +1 -6
- package/node_modules/baileys/node_modules/protobufjs/src/type.js +36 -80
- package/node_modules/baileys/node_modules/protobufjs/src/typescript.jsdoc +15 -0
- package/node_modules/baileys/node_modules/protobufjs/src/util/longbits.js +6 -10
- package/node_modules/baileys/node_modules/protobufjs/src/util/minimal.js +54 -71
- package/node_modules/baileys/node_modules/protobufjs/src/util.js +17 -51
- package/node_modules/baileys/node_modules/protobufjs/src/verifier.js +14 -19
- package/node_modules/baileys/node_modules/protobufjs/src/wrappers.js +3 -2
- package/node_modules/baileys/node_modules/protobufjs/src/writer.js +191 -424
- package/node_modules/baileys/node_modules/protobufjs/src/writer_buffer.js +26 -41
- package/node_modules/baileys/node_modules/protobufjs/tsconfig.json +5 -3
- package/node_modules/baileys/node_modules/undici-types/LICENSE +21 -0
- package/node_modules/baileys/node_modules/undici-types/README.md +6 -0
- package/node_modules/baileys/node_modules/undici-types/agent.d.ts +30 -0
- package/node_modules/baileys/node_modules/undici-types/api.d.ts +43 -0
- package/node_modules/baileys/node_modules/undici-types/balanced-pool.d.ts +30 -0
- package/node_modules/baileys/node_modules/undici-types/cache-interceptor.d.ts +179 -0
- package/node_modules/baileys/node_modules/undici-types/cache.d.ts +36 -0
- package/node_modules/baileys/node_modules/undici-types/client-stats.d.ts +15 -0
- package/node_modules/baileys/node_modules/undici-types/client.d.ts +129 -0
- package/node_modules/baileys/node_modules/undici-types/connector.d.ts +36 -0
- package/node_modules/baileys/node_modules/undici-types/content-type.d.ts +21 -0
- package/node_modules/baileys/node_modules/undici-types/cookies.d.ts +30 -0
- package/node_modules/baileys/node_modules/undici-types/diagnostics-channel.d.ts +74 -0
- package/node_modules/baileys/node_modules/undici-types/dispatcher.d.ts +253 -0
- package/node_modules/baileys/node_modules/undici-types/dispatcher1-wrapper.d.ts +7 -0
- package/node_modules/baileys/node_modules/undici-types/env-http-proxy-agent.d.ts +22 -0
- package/node_modules/baileys/node_modules/undici-types/errors.d.ts +177 -0
- package/node_modules/baileys/node_modules/undici-types/eventsource.d.ts +66 -0
- package/node_modules/baileys/node_modules/undici-types/fetch.d.ts +231 -0
- package/node_modules/baileys/node_modules/undici-types/formdata.d.ts +108 -0
- package/node_modules/baileys/node_modules/undici-types/global-dispatcher.d.ts +9 -0
- package/node_modules/baileys/node_modules/undici-types/global-origin.d.ts +7 -0
- package/node_modules/baileys/node_modules/undici-types/h2c-client.d.ts +73 -0
- package/node_modules/baileys/node_modules/undici-types/handlers.d.ts +14 -0
- package/node_modules/baileys/node_modules/undici-types/header.d.ts +165 -0
- package/node_modules/baileys/node_modules/undici-types/index.d.ts +93 -0
- package/node_modules/baileys/node_modules/undici-types/interceptors.d.ts +80 -0
- package/node_modules/baileys/node_modules/undici-types/mock-agent.d.ts +68 -0
- package/node_modules/baileys/node_modules/undici-types/mock-call-history.d.ts +111 -0
- package/node_modules/baileys/node_modules/undici-types/mock-client.d.ts +27 -0
- package/node_modules/baileys/node_modules/undici-types/mock-errors.d.ts +12 -0
- package/node_modules/baileys/node_modules/undici-types/mock-interceptor.d.ts +94 -0
- package/node_modules/baileys/node_modules/undici-types/mock-pool.d.ts +27 -0
- package/node_modules/baileys/node_modules/undici-types/package.json +55 -0
- package/node_modules/baileys/node_modules/undici-types/patch.d.ts +29 -0
- package/node_modules/baileys/node_modules/undici-types/pool-stats.d.ts +19 -0
- package/node_modules/baileys/node_modules/undici-types/pool.d.ts +39 -0
- package/node_modules/baileys/node_modules/undici-types/proxy-agent.d.ts +29 -0
- package/node_modules/baileys/node_modules/undici-types/readable.d.ts +68 -0
- package/node_modules/baileys/node_modules/undici-types/retry-agent.d.ts +8 -0
- package/node_modules/baileys/node_modules/undici-types/retry-handler.d.ts +125 -0
- package/node_modules/baileys/node_modules/undici-types/round-robin-pool.d.ts +39 -0
- package/node_modules/baileys/node_modules/undici-types/snapshot-agent.d.ts +113 -0
- package/node_modules/baileys/node_modules/undici-types/socks5-proxy-agent.d.ts +25 -0
- package/node_modules/baileys/node_modules/undici-types/util.d.ts +18 -0
- package/node_modules/baileys/node_modules/undici-types/utility.d.ts +7 -0
- package/node_modules/baileys/node_modules/undici-types/webidl.d.ts +346 -0
- package/node_modules/baileys/node_modules/undici-types/websocket.d.ts +188 -0
- package/node_modules/baileys/node_modules/ws/lib/permessage-deflate.js +3 -1
- package/node_modules/baileys/node_modules/ws/package.json +1 -1
- package/node_modules/typebox/build/compile/validator.d.mts +4 -1
- package/node_modules/typebox/build/guard/guard.d.mts +1 -1
- package/node_modules/typebox/build/guard/guard.mjs +2 -5
- package/node_modules/typebox/build/guard/string.mjs +4 -16
- package/node_modules/typebox/build/schema/engine/_functions.mjs +15 -34
- package/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
- package/node_modules/typebox/build/type/action/readonly_object.mjs +0 -8
- package/node_modules/typebox/build/typebox.d.mts +1 -1
- package/node_modules/typebox/build/typebox.mjs +1 -1
- package/node_modules/typebox/package.json +1 -1
- package/node_modules/typebox/readme.md +32 -29
- package/openclaw.plugin.json +239 -214
- package/package.json +11 -21
- package/dist/approval-reactions-Cu66aYdq.js +0 -373
- package/dist/channel.setup-pMwNVkCA.js +0 -19
- package/dist/config-schema-BQP5YCeK.js +0 -50
- package/dist/connection-controller-runtime-context-DG0tuYuw.js +0 -23
- package/dist/directory-config-DalGrfGN.js +0 -196
- package/dist/doctor-CwzVXKoE.js +0 -10
- package/dist/normalize-C7Hkc_vE.js +0 -2
- package/dist/question-reactions-CRsnyoMK.js +0 -142
- package/dist/runtime-BLlToOi6.js +0 -21
- package/dist/send-D37ddk22.js +0 -436
- package/dist/session.runtime-Nsqaehbd.js +0 -16
- package/dist/socket-close-DridEuzz.js +0 -622
- package/dist/targets-runtime-TMk0lGuy.js +0 -299
- package/dist/text-runtime-CaKLhowd.js +0 -4
- package/node_modules/baileys/node_modules/protobufjs/ext/README.md +0 -70
- package/node_modules/baileys/node_modules/protobufjs/ext/descriptor.d.ts +0 -87
- package/node_modules/baileys/node_modules/protobufjs/ext/descriptor.generated.d.ts +0 -417
- package/node_modules/baileys/node_modules/protobufjs/ext/descriptor.js +0 -1356
- package/node_modules/baileys/node_modules/protobufjs/ext/protojson.LICENSE +0 -201
- package/node_modules/baileys/node_modules/protobufjs/ext/protojson.d.ts +0 -20
- package/node_modules/baileys/node_modules/protobufjs/ext/protojson.generated.d.ts +0 -49
- package/node_modules/baileys/node_modules/protobufjs/ext/protojson.js +0 -951
- package/node_modules/baileys/node_modules/protobufjs/ext/textformat.d.ts +0 -19
- package/node_modules/baileys/node_modules/protobufjs/ext/textformat.generated.d.ts +0 -33
- package/node_modules/baileys/node_modules/protobufjs/ext/textformat.js +0 -1276
- package/node_modules/baileys/node_modules/protobufjs/google/protobuf/compiler/plugin.json +0 -126
- package/node_modules/baileys/node_modules/protobufjs/google/protobuf/compiler/plugin.proto +0 -47
- package/node_modules/baileys/node_modules/protobufjs/src/typescript.js +0 -25
- /package/dist/{account-ids-CB5SOWjc.js → .setup/account-ids-CB5SOWjc.mjs} +0 -0
- /package/dist/{audio-preflight.runtime-C_glQhZY.js → .setup/audio-preflight.runtime-C_glQhZY.mjs} +0 -0
- /package/dist/{command-policy-BIOSHySD.js → .setup/command-policy-BIOSHySD.mjs} +0 -0
- /package/dist/{creds-files-B1kSWtBg.js → .setup/creds-files-B1kSWtBg.mjs} +0 -0
- /package/dist/{group-config-path-BGyzT9Lg.js → .setup/group-config-path-BGyzT9Lg.mjs} +0 -0
- /package/dist/{group-session-contract-DDnZSsJ1.js → .setup/group-session-contract-DDnZSsJ1.mjs} +0 -0
- /package/dist/{reply-resolver.runtime-Ded8D58Y.js → .setup/reply-resolver.runtime-Ded8D58Y.mjs} +0 -0
- /package/dist/{rolldown-runtime-D7D4PA-g.js → .setup/rolldown-runtime-D7D4PA-g.mjs} +0 -0
- /package/dist/{security-contract-nAzD945y.js → .setup/security-contract-nAzD945y.mjs} +0 -0
- /package/dist/{session-contract-DMTm6Q_L.js → .setup/session-contract-DMTm6Q_L.mjs} +0 -0
- /package/node_modules/baileys/node_modules/{protobufjs/src/util/float.d.ts → @protobufjs/float/index.d.ts} +0 -0
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
|
|
2
|
-
import { a as resolveWhatsAppAccount } from "./accounts-CSqLvCY5.js";
|
|
3
|
-
import { questionGatewayRuntime } from "openclaw/plugin-sdk/question-gateway-runtime";
|
|
4
|
-
//#region extensions/whatsapp/src/question-reactions.ts
|
|
5
|
-
var question_reactions_exports = /* @__PURE__ */ __exportAll({
|
|
6
|
-
clearWhatsAppQuestionReactionTargetsForTest: () => clearWhatsAppQuestionReactionTargetsForTest,
|
|
7
|
-
maybeResolveWhatsAppQuestionReaction: () => maybeResolveWhatsAppQuestionReaction,
|
|
8
|
-
registerWhatsAppQuestionReactionTargetForDeliveredPayload: () => registerWhatsAppQuestionReactionTargetForDeliveredPayload
|
|
9
|
-
});
|
|
10
|
-
const TARGET_TTL_MS = 1440 * 60 * 1e3;
|
|
11
|
-
const targets = /* @__PURE__ */ new Map();
|
|
12
|
-
function storeTarget(key, binding) {
|
|
13
|
-
const existing = targets.get(key);
|
|
14
|
-
if (existing) clearTimeout(existing.cleanupTimer);
|
|
15
|
-
const target = {
|
|
16
|
-
...binding,
|
|
17
|
-
terminal: false,
|
|
18
|
-
expiresAtMs: Date.now() + TARGET_TTL_MS,
|
|
19
|
-
cleanupTimer: setTimeout(() => {
|
|
20
|
-
if (targets.get(key) === target) targets.delete(key);
|
|
21
|
-
}, TARGET_TTL_MS)
|
|
22
|
-
};
|
|
23
|
-
target.cleanupTimer.unref?.();
|
|
24
|
-
targets.set(key, target);
|
|
25
|
-
questionGatewayRuntime.registerChannelDelivery({
|
|
26
|
-
questionId: binding.questionId,
|
|
27
|
-
deliveryId: `whatsapp-reaction:${key}`,
|
|
28
|
-
finalize: () => {
|
|
29
|
-
target.terminal = true;
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
function buildKey(accountId, remoteJid, messageId) {
|
|
34
|
-
const parts = [
|
|
35
|
-
accountId,
|
|
36
|
-
remoteJid,
|
|
37
|
-
messageId
|
|
38
|
-
].map((part) => part.trim());
|
|
39
|
-
return parts.every(Boolean) ? parts.join(":") : void 0;
|
|
40
|
-
}
|
|
41
|
-
function addCandidate(values, value) {
|
|
42
|
-
const normalized = value?.trim();
|
|
43
|
-
if (normalized && !values.includes(normalized)) values.push(normalized);
|
|
44
|
-
}
|
|
45
|
-
function listDeliveredIdentities(results) {
|
|
46
|
-
const identities = [];
|
|
47
|
-
const seen = /* @__PURE__ */ new Set();
|
|
48
|
-
const add = (messageId, remoteJid) => {
|
|
49
|
-
const id = messageId?.trim() ?? "";
|
|
50
|
-
const jid = remoteJid?.trim() ?? "";
|
|
51
|
-
const key = `${jid}:${id}`;
|
|
52
|
-
if (id && id !== "unknown" && jid && !seen.has(key)) {
|
|
53
|
-
seen.add(key);
|
|
54
|
-
identities.push({
|
|
55
|
-
messageId: id,
|
|
56
|
-
remoteJid: jid
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
for (const result of results) {
|
|
61
|
-
if (result.channel !== "whatsapp") continue;
|
|
62
|
-
add(result.messageId, result.toJid);
|
|
63
|
-
for (const raw of result.receipt?.raw ?? []) add(raw.messageId, raw.toJid);
|
|
64
|
-
for (const part of result.receipt?.parts ?? []) add(part.raw?.messageId ?? part.platformMessageId, part.raw?.toJid);
|
|
65
|
-
}
|
|
66
|
-
return identities;
|
|
67
|
-
}
|
|
68
|
-
function registerWhatsAppQuestionReactionTargetForDeliveredPayload(params) {
|
|
69
|
-
const binding = questionGatewayRuntime.readReactionBinding(params.payload);
|
|
70
|
-
if (params.target.channel !== "whatsapp" || !binding) return false;
|
|
71
|
-
const accountId = resolveWhatsAppAccount({
|
|
72
|
-
cfg: params.cfg,
|
|
73
|
-
accountId: params.target.accountId
|
|
74
|
-
}).accountId;
|
|
75
|
-
let registered = false;
|
|
76
|
-
for (const identity of listDeliveredIdentities(params.results)) {
|
|
77
|
-
const key = buildKey(accountId, identity.remoteJid, identity.messageId);
|
|
78
|
-
if (!key) continue;
|
|
79
|
-
storeTarget(key, binding);
|
|
80
|
-
registered = true;
|
|
81
|
-
}
|
|
82
|
-
return registered;
|
|
83
|
-
}
|
|
84
|
-
async function maybeResolveWhatsAppQuestionReaction(params) {
|
|
85
|
-
const reaction = params.msg.message?.reactionMessage;
|
|
86
|
-
const reactionKey = reaction?.text?.trim() ?? "";
|
|
87
|
-
const messageId = reaction?.key?.id?.trim() ?? "";
|
|
88
|
-
const optionIndex = questionGatewayRuntime.resolveReactionIndex(reactionKey);
|
|
89
|
-
if (optionIndex === void 0 || !messageId) return false;
|
|
90
|
-
const remoteJids = [];
|
|
91
|
-
addCandidate(remoteJids, reaction?.key?.remoteJid);
|
|
92
|
-
addCandidate(remoteJids, params.msg.key?.remoteJid);
|
|
93
|
-
const candidates = [];
|
|
94
|
-
for (const remoteJid of remoteJids) {
|
|
95
|
-
addCandidate(candidates, remoteJid);
|
|
96
|
-
for (const mapped of await params.resolveReactionTargetJids?.(remoteJid) ?? []) addCandidate(candidates, mapped);
|
|
97
|
-
}
|
|
98
|
-
let matched;
|
|
99
|
-
for (const remoteJid of candidates) {
|
|
100
|
-
const key = buildKey(params.accountId, remoteJid, messageId);
|
|
101
|
-
const target = key ? targets.get(key) : void 0;
|
|
102
|
-
if (key && target) {
|
|
103
|
-
matched = {
|
|
104
|
-
key,
|
|
105
|
-
target
|
|
106
|
-
};
|
|
107
|
-
break;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
if (!matched) return false;
|
|
111
|
-
if (matched.target.expiresAtMs <= Date.now() || matched.target.terminal) {
|
|
112
|
-
matched.target.terminal = true;
|
|
113
|
-
params.logDebug?.(`whatsapp: stale question reaction ignored id=${matched.target.questionId}`);
|
|
114
|
-
return true;
|
|
115
|
-
}
|
|
116
|
-
const optionValue = matched.target.optionValues[optionIndex];
|
|
117
|
-
if (!optionValue) {
|
|
118
|
-
params.logDebug?.(`whatsapp: out-of-range question reaction ignored id=${matched.target.questionId}`);
|
|
119
|
-
return true;
|
|
120
|
-
}
|
|
121
|
-
try {
|
|
122
|
-
const result = await questionGatewayRuntime.resolveReaction({
|
|
123
|
-
cfg: params.cfg,
|
|
124
|
-
questionId: matched.target.questionId,
|
|
125
|
-
optionValue,
|
|
126
|
-
senderId: params.senderId,
|
|
127
|
-
gatewayUrl: params.gatewayUrl,
|
|
128
|
-
clientDisplayName: `WhatsApp question (${params.senderId})`
|
|
129
|
-
});
|
|
130
|
-
matched.target.terminal = result?.status === "answered" || result?.status === "already-terminal";
|
|
131
|
-
if (result?.status === "already-terminal") params.logDebug?.(`whatsapp: stale question reaction ignored id=${matched.target.questionId}`);
|
|
132
|
-
} catch (error) {
|
|
133
|
-
params.logDebug?.(`whatsapp: question reaction failed id=${matched.target.questionId}: ${String(error)}`);
|
|
134
|
-
}
|
|
135
|
-
return true;
|
|
136
|
-
}
|
|
137
|
-
function clearWhatsAppQuestionReactionTargetsForTest() {
|
|
138
|
-
for (const target of targets.values()) clearTimeout(target.cleanupTimer);
|
|
139
|
-
targets.clear();
|
|
140
|
-
}
|
|
141
|
-
//#endregion
|
|
142
|
-
export { question_reactions_exports as n, maybeResolveWhatsAppQuestionReaction as t };
|
package/dist/runtime-BLlToOi6.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
|
|
2
|
-
//#region extensions/whatsapp/src/runtime.ts
|
|
3
|
-
const runtimeStore = createPluginRuntimeStore({
|
|
4
|
-
pluginId: "whatsapp",
|
|
5
|
-
errorMessage: "WhatsApp runtime not initialized"
|
|
6
|
-
});
|
|
7
|
-
const channelRuntimeStore = createPluginRuntimeStore({
|
|
8
|
-
key: "plugin-runtime:whatsapp:channel-context-owner",
|
|
9
|
-
errorMessage: "WhatsApp channel runtime not initialized"
|
|
10
|
-
});
|
|
11
|
-
/** Injects current helpers while preserving the process-lifetime channel context owner. */
|
|
12
|
-
function setWhatsAppRuntime(next) {
|
|
13
|
-
if (!channelRuntimeStore.tryGetRuntime()) channelRuntimeStore.setRuntime(next.channel);
|
|
14
|
-
runtimeStore.setRuntime(next);
|
|
15
|
-
}
|
|
16
|
-
const getWhatsAppRuntime = runtimeStore.getRuntime;
|
|
17
|
-
const getOptionalWhatsAppRuntime = runtimeStore.tryGetRuntime;
|
|
18
|
-
const getWhatsAppChannelRuntime = channelRuntimeStore.getRuntime;
|
|
19
|
-
const getOptionalWhatsAppChannelRuntime = channelRuntimeStore.tryGetRuntime;
|
|
20
|
-
//#endregion
|
|
21
|
-
export { setWhatsAppRuntime as a, getWhatsAppRuntime as i, getOptionalWhatsAppRuntime as n, getWhatsAppChannelRuntime as r, getOptionalWhatsAppChannelRuntime as t };
|
package/dist/send-D37ddk22.js
DELETED
|
@@ -1,436 +0,0 @@
|
|
|
1
|
-
import { a as resolveWhatsAppAccount, c as resolveMergedWhatsAppAccountConfig, s as resolveWhatsAppMediaMaxBytes } from "./accounts-CSqLvCY5.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-TMk0lGuy.js";
|
|
7
|
-
import { a as stripToolCallXmlTags, i as sanitizeAssistantVisibleTextWithProfile, r as sanitizeAssistantVisibleText } from "./text-runtime-CaKLhowd.js";
|
|
8
|
-
import path from "node:path";
|
|
9
|
-
import { normalizeUniqueStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
10
|
-
import { resolveReactionLevel } from "openclaw/plugin-sdk/status-helpers";
|
|
11
|
-
import { formatCliCommand } from "openclaw/plugin-sdk/cli-runtime";
|
|
12
|
-
import { generateSecureUuid } from "openclaw/plugin-sdk/core";
|
|
13
|
-
import { PlatformMessageNotDispatchedError } from "openclaw/plugin-sdk/error-runtime";
|
|
14
|
-
import { redactIdentifier } from "openclaw/plugin-sdk/logging-core";
|
|
15
|
-
import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
|
|
16
|
-
import { loadOutboundMediaFromUrl } from "openclaw/plugin-sdk/outbound-media";
|
|
17
|
-
import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
|
|
18
|
-
import { normalizePollInput } from "openclaw/plugin-sdk/poll-runtime";
|
|
19
|
-
import { resolveChunkMode, resolveTextChunkLimit } from "openclaw/plugin-sdk/reply-chunking";
|
|
20
|
-
import { createSubsystemLogger, getChildLogger as getChildLogger$1 } from "openclaw/plugin-sdk/runtime-env";
|
|
21
|
-
import { extensionForMime, mediaKindFromMime, mimeTypeFromFilePath, normalizeMimeType } from "openclaw/plugin-sdk/media-mime";
|
|
22
|
-
import { sanitizeForPlainText } from "openclaw/plugin-sdk/channel-outbound";
|
|
23
|
-
import { MEDIA_FFMPEG_MAX_AUDIO_DURATION_SECS, transcodeAudioBufferToOpus } from "openclaw/plugin-sdk/media-runtime";
|
|
24
|
-
import { resolveOutboundMediaUrls } from "openclaw/plugin-sdk/reply-payload";
|
|
25
|
-
//#region extensions/whatsapp/src/reaction-level.ts
|
|
26
|
-
/** Resolve the effective reaction level and its implications for WhatsApp. */
|
|
27
|
-
function resolveWhatsAppReactionLevel(params) {
|
|
28
|
-
return resolveReactionLevel({
|
|
29
|
-
value: resolveMergedWhatsAppAccountConfig({
|
|
30
|
-
cfg: params.cfg,
|
|
31
|
-
accountId: params.accountId
|
|
32
|
-
}).reactionLevel,
|
|
33
|
-
defaultLevel: "minimal",
|
|
34
|
-
invalidFallback: "minimal"
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
//#endregion
|
|
38
|
-
//#region extensions/whatsapp/src/document-filename.ts
|
|
39
|
-
const WHATSAPP_DEFAULT_DOCUMENT_FILE_NAME = "file";
|
|
40
|
-
function resolveWhatsAppDefaultDocumentFileName(mimetype) {
|
|
41
|
-
const extension = extensionForMime(mimetype);
|
|
42
|
-
return extension ? `${WHATSAPP_DEFAULT_DOCUMENT_FILE_NAME}${extension}` : WHATSAPP_DEFAULT_DOCUMENT_FILE_NAME;
|
|
43
|
-
}
|
|
44
|
-
function resolveWhatsAppDocumentFileName(params) {
|
|
45
|
-
const fallbackName = resolveWhatsAppDefaultDocumentFileName(params.mimetype);
|
|
46
|
-
return stripAsciiControlCharacters(params.fileName ?? "").trim() || fallbackName;
|
|
47
|
-
}
|
|
48
|
-
function stripAsciiControlCharacters(value) {
|
|
49
|
-
let stripped = "";
|
|
50
|
-
for (const char of value) {
|
|
51
|
-
const code = char.charCodeAt(0);
|
|
52
|
-
if (code > 31 && code !== 127) stripped += char;
|
|
53
|
-
}
|
|
54
|
-
return stripped;
|
|
55
|
-
}
|
|
56
|
-
//#endregion
|
|
57
|
-
//#region extensions/whatsapp/src/outbound-media-contract.ts
|
|
58
|
-
const WHATSAPP_VOICE_FILE_NAME = "voice.ogg";
|
|
59
|
-
const WHATSAPP_VOICE_SAMPLE_RATE_HZ = 48e3;
|
|
60
|
-
const WHATSAPP_VOICE_BITRATE = "64k";
|
|
61
|
-
const WHATSAPP_VOICE_MIMETYPE = "audio/ogg; codecs=opus";
|
|
62
|
-
function stripWhatsAppPluralToolXml(text) {
|
|
63
|
-
return stripToolCallXmlTags(text, { stripFunctionCallsXmlPayloads: true });
|
|
64
|
-
}
|
|
65
|
-
function finalizeWhatsAppVisibleText(text) {
|
|
66
|
-
return sanitizeForPlainText(stripWhatsAppPluralToolXml(text));
|
|
67
|
-
}
|
|
68
|
-
function normalizeWhatsAppPayloadText(text) {
|
|
69
|
-
return finalizeWhatsAppVisibleText(sanitizeAssistantVisibleText(text ?? "")).trimStart();
|
|
70
|
-
}
|
|
71
|
-
function stripLeadingBlankLines(text) {
|
|
72
|
-
return text.replace(/^(?:[ \t]*\r?\n)+/, "");
|
|
73
|
-
}
|
|
74
|
-
function normalizeWhatsAppPayloadTextPreservingIndentation(text) {
|
|
75
|
-
const normalized = stripLeadingBlankLines(finalizeWhatsAppVisibleText(sanitizeAssistantVisibleTextWithProfile(stripLeadingBlankLines(text ?? ""), "history")));
|
|
76
|
-
return normalized.trim() ? normalized : "";
|
|
77
|
-
}
|
|
78
|
-
function resolveAdditiveWhatsAppMediaUrls(payload) {
|
|
79
|
-
return normalizeUniqueStringEntries([...payload.mediaUrl ? [payload.mediaUrl] : [], ...payload.mediaUrls ?? []]);
|
|
80
|
-
}
|
|
81
|
-
function normalizeWhatsAppOutboundPayload(payload, options) {
|
|
82
|
-
const preferredMediaUrls = normalizeUniqueStringEntries(payload.mediaUrls);
|
|
83
|
-
const mediaUrls = normalizeUniqueStringEntries(resolveOutboundMediaUrls({
|
|
84
|
-
mediaUrl: payload.mediaUrl,
|
|
85
|
-
mediaUrls: preferredMediaUrls
|
|
86
|
-
}));
|
|
87
|
-
const normalizeText = options?.normalizeText ?? normalizeWhatsAppPayloadText;
|
|
88
|
-
return {
|
|
89
|
-
...payload,
|
|
90
|
-
text: normalizeText(payload.text),
|
|
91
|
-
mediaUrl: mediaUrls[0],
|
|
92
|
-
mediaUrls: mediaUrls.length > 0 ? mediaUrls : void 0
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
function inferWhatsAppMediaKind(media, resolvedContentType) {
|
|
96
|
-
const isGenericDocument = media.kind === "document" && normalizeMimeType(media.contentType) === "application/octet-stream";
|
|
97
|
-
if (media.kind === "image" || media.kind === "audio" || media.kind === "video" || media.kind === "document" && !isGenericDocument) return media.kind;
|
|
98
|
-
const inferredKind = mediaKindFromMime(normalizeMimeType(resolvedContentType));
|
|
99
|
-
return !inferredKind || inferredKind === "sticker" || inferredKind === "unknown" ? "document" : inferredKind;
|
|
100
|
-
}
|
|
101
|
-
function normalizeWhatsAppLoadedMedia(media, mediaUrl) {
|
|
102
|
-
const filenameMimeType = mimeTypeFromFilePath(media.fileName);
|
|
103
|
-
const normalizedContentType = normalizeMimeType(media.contentType);
|
|
104
|
-
const resolvedContentType = !normalizedContentType || normalizedContentType === "application/octet-stream" ? filenameMimeType ?? media.contentType : media.contentType;
|
|
105
|
-
const kind = inferWhatsAppMediaKind(media, resolvedContentType);
|
|
106
|
-
const mimetype = kind === "audio" && isWhatsAppNativeVoiceAudio({
|
|
107
|
-
contentType: media.contentType,
|
|
108
|
-
fileName: media.fileName,
|
|
109
|
-
mediaUrl
|
|
110
|
-
}) ? WHATSAPP_VOICE_MIMETYPE : resolvedContentType ?? "application/octet-stream";
|
|
111
|
-
const fileName = kind === "document" ? resolveWhatsAppDocumentFileName({
|
|
112
|
-
fileName: media.fileName ?? deriveWhatsAppDocumentFileName(mediaUrl),
|
|
113
|
-
mimetype
|
|
114
|
-
}) : media.fileName;
|
|
115
|
-
return {
|
|
116
|
-
buffer: media.buffer,
|
|
117
|
-
kind,
|
|
118
|
-
mimetype,
|
|
119
|
-
...fileName ? { fileName } : {}
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
async function prepareWhatsAppOutboundMedia(media, mediaUrl) {
|
|
123
|
-
const normalized = normalizeWhatsAppLoadedMedia(media, mediaUrl);
|
|
124
|
-
if (normalized.kind !== "audio") return normalized;
|
|
125
|
-
if (isWhatsAppNativeVoiceAudio({
|
|
126
|
-
contentType: media.contentType,
|
|
127
|
-
fileName: media.fileName,
|
|
128
|
-
mediaUrl
|
|
129
|
-
})) return normalized;
|
|
130
|
-
return {
|
|
131
|
-
buffer: await transcodeToWhatsAppVoiceOpus({
|
|
132
|
-
buffer: media.buffer,
|
|
133
|
-
fileName: media.fileName ?? deriveWhatsAppDocumentFileName(mediaUrl) ?? "audio"
|
|
134
|
-
}),
|
|
135
|
-
kind: "audio",
|
|
136
|
-
mimetype: WHATSAPP_VOICE_MIMETYPE
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
function isWhatsAppNativeVoiceAudio(params) {
|
|
140
|
-
const contentType = normalizeMimeType(params.contentType);
|
|
141
|
-
if (contentType === "audio/ogg" || contentType === "audio/opus") return true;
|
|
142
|
-
const fileName = params.fileName ?? deriveWhatsAppDocumentFileName(params.mediaUrl) ?? "";
|
|
143
|
-
const ext = path.extname(fileName).toLowerCase();
|
|
144
|
-
return ext === ".ogg" || ext === ".opus";
|
|
145
|
-
}
|
|
146
|
-
async function transcodeToWhatsAppVoiceOpus(params) {
|
|
147
|
-
return await transcodeAudioBufferToOpus({
|
|
148
|
-
audioBuffer: params.buffer,
|
|
149
|
-
inputFileName: params.fileName,
|
|
150
|
-
tempPrefix: "whatsapp-voice-",
|
|
151
|
-
outputFileName: WHATSAPP_VOICE_FILE_NAME,
|
|
152
|
-
maxDurationSeconds: MEDIA_FFMPEG_MAX_AUDIO_DURATION_SECS,
|
|
153
|
-
sampleRateHz: WHATSAPP_VOICE_SAMPLE_RATE_HZ,
|
|
154
|
-
channels: 1,
|
|
155
|
-
bitrate: WHATSAPP_VOICE_BITRATE
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
function deriveWhatsAppDocumentFileName(mediaUrl) {
|
|
159
|
-
if (!mediaUrl) return;
|
|
160
|
-
try {
|
|
161
|
-
const parsed = new URL(mediaUrl);
|
|
162
|
-
const fileName = path.posix.basename(parsed.pathname);
|
|
163
|
-
return fileName ? decodeURIComponent(fileName) : void 0;
|
|
164
|
-
} catch {
|
|
165
|
-
return (mediaUrl.split(/[?#]/, 1)[0] ?? "").split(/[\\/]/).pop() || void 0;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
//#endregion
|
|
169
|
-
//#region extensions/whatsapp/src/send.ts
|
|
170
|
-
const outboundLog = createSubsystemLogger("gateway/channels/whatsapp").child("outbound");
|
|
171
|
-
function supportsForcedDocumentDelivery(kind) {
|
|
172
|
-
return kind === "image" || kind === "video";
|
|
173
|
-
}
|
|
174
|
-
function buildWhatsAppMediaSendState(params) {
|
|
175
|
-
const { media, caption } = params;
|
|
176
|
-
const forceDocumentDelivery = Boolean(params.forceDocument && supportsForcedDocumentDelivery(media.kind));
|
|
177
|
-
let text = caption ?? "";
|
|
178
|
-
let documentFileName = media.kind === "document" ? media.fileName : void 0;
|
|
179
|
-
let visibleTextAfterVoice;
|
|
180
|
-
if (media.kind === "audio" && caption) {
|
|
181
|
-
visibleTextAfterVoice = caption;
|
|
182
|
-
text = "";
|
|
183
|
-
}
|
|
184
|
-
if (forceDocumentDelivery) documentFileName ??= resolveWhatsAppDocumentFileName({
|
|
185
|
-
fileName: media.fileName,
|
|
186
|
-
mimetype: media.mimetype
|
|
187
|
-
});
|
|
188
|
-
return {
|
|
189
|
-
mediaBuffer: media.buffer,
|
|
190
|
-
mediaType: media.mimetype,
|
|
191
|
-
text,
|
|
192
|
-
forceDocumentDelivery,
|
|
193
|
-
...documentFileName ? { documentFileName } : {},
|
|
194
|
-
...visibleTextAfterVoice ? { visibleTextAfterVoice } : {}
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
function resolveOutboundWhatsAppAccountId(params) {
|
|
198
|
-
const explicitAccountId = params.accountId?.trim();
|
|
199
|
-
if (explicitAccountId) return explicitAccountId;
|
|
200
|
-
return resolveDefaultWhatsAppAccountId(params.cfg);
|
|
201
|
-
}
|
|
202
|
-
function requireOutboundActiveWebListener(params) {
|
|
203
|
-
const resolvedAccountId = resolveOutboundWhatsAppAccountId(params) ?? resolveDefaultWhatsAppAccountId(params.cfg);
|
|
204
|
-
const listener = getWhatsAppConnectionController(resolvedAccountId)?.getActiveListener() ?? null;
|
|
205
|
-
if (!listener) {
|
|
206
|
-
const cause = /* @__PURE__ */ new Error(`No active WhatsApp Web listener (account: ${resolvedAccountId}). Start the gateway, then link WhatsApp with: ${formatCliCommand(`openclaw channels login --channel whatsapp --account ${resolvedAccountId}`)}.`);
|
|
207
|
-
throw new PlatformMessageNotDispatchedError(cause.message, { cause });
|
|
208
|
-
}
|
|
209
|
-
return {
|
|
210
|
-
accountId: resolvedAccountId,
|
|
211
|
-
listener
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
function resolveActualSentRemoteJid(result, fallbackJid) {
|
|
215
|
-
if (!result || typeof result !== "object") return fallbackJid;
|
|
216
|
-
const rawKeys = result.keys;
|
|
217
|
-
const keys = Array.isArray(rawKeys) ? rawKeys : [];
|
|
218
|
-
for (const key of keys) if (typeof key?.remoteJid === "string" && key.remoteJid.trim()) return key.remoteJid.trim();
|
|
219
|
-
return fallbackJid;
|
|
220
|
-
}
|
|
221
|
-
async function sendMessageWhatsApp(to, body, options) {
|
|
222
|
-
let text = options.preserveLeadingWhitespace ? body : normalizeWhatsAppPayloadText(body);
|
|
223
|
-
const jid = toWhatsappJid(to);
|
|
224
|
-
const mediaUrls = resolveAdditiveWhatsAppMediaUrls(options);
|
|
225
|
-
const mediaPayload = options.mediaPayload;
|
|
226
|
-
const primaryMediaUrl = mediaUrls[0] ?? mediaPayload?.fileName;
|
|
227
|
-
const hasMedia = Boolean(mediaPayload || primaryMediaUrl);
|
|
228
|
-
if (!text && !hasMedia) return {
|
|
229
|
-
messageId: "",
|
|
230
|
-
toJid: jid
|
|
231
|
-
};
|
|
232
|
-
const correlationId = generateSecureUuid();
|
|
233
|
-
const startedAt = Date.now();
|
|
234
|
-
const cfg = requireRuntimeConfig(options.cfg, "WhatsApp send");
|
|
235
|
-
const { listener: active, accountId: resolvedAccountId } = requireOutboundActiveWebListener({
|
|
236
|
-
cfg,
|
|
237
|
-
accountId: options.accountId
|
|
238
|
-
});
|
|
239
|
-
const account = resolveWhatsAppAccount({
|
|
240
|
-
cfg,
|
|
241
|
-
accountId: resolvedAccountId ?? options.accountId
|
|
242
|
-
});
|
|
243
|
-
const tableMode = resolveMarkdownTableMode({
|
|
244
|
-
cfg,
|
|
245
|
-
channel: "whatsapp",
|
|
246
|
-
accountId: resolvedAccountId ?? options.accountId
|
|
247
|
-
});
|
|
248
|
-
const accountIdForFormatting = resolvedAccountId ?? options.accountId;
|
|
249
|
-
const textLimit = Math.min(resolveTextChunkLimit(cfg, "whatsapp", accountIdForFormatting, { fallbackLimit: 4e3 }), 4096);
|
|
250
|
-
const textChunks = markdownToWhatsAppChunks(text, textLimit, tableMode, resolveChunkMode(cfg, "whatsapp", accountIdForFormatting));
|
|
251
|
-
text = textChunks.shift() ?? "";
|
|
252
|
-
if (!text && !hasMedia) return {
|
|
253
|
-
messageId: "",
|
|
254
|
-
toJid: jid
|
|
255
|
-
};
|
|
256
|
-
const redactedTo = redactIdentifier(to);
|
|
257
|
-
const logger = getChildLogger$1({
|
|
258
|
-
module: "web-outbound",
|
|
259
|
-
correlationId,
|
|
260
|
-
to: redactedTo
|
|
261
|
-
});
|
|
262
|
-
try {
|
|
263
|
-
const redactedJid = redactIdentifier(jid);
|
|
264
|
-
let mediaBuffer;
|
|
265
|
-
let mediaType;
|
|
266
|
-
let documentFileName;
|
|
267
|
-
let visibleTextAfterVoice;
|
|
268
|
-
let forceDocumentDelivery = false;
|
|
269
|
-
let media;
|
|
270
|
-
if (mediaPayload) media = await prepareWhatsAppOutboundMedia(mediaPayload, primaryMediaUrl);
|
|
271
|
-
else if (primaryMediaUrl) media = await prepareWhatsAppOutboundMedia(await loadOutboundMediaFromUrl(primaryMediaUrl, {
|
|
272
|
-
maxBytes: resolveWhatsAppMediaMaxBytes(account),
|
|
273
|
-
optimizeImages: options.forceDocument ? false : void 0,
|
|
274
|
-
mediaAccess: options.mediaAccess,
|
|
275
|
-
mediaLocalRoots: options.mediaLocalRoots,
|
|
276
|
-
mediaReadFile: options.mediaReadFile
|
|
277
|
-
}), primaryMediaUrl);
|
|
278
|
-
if (media) {
|
|
279
|
-
const mediaSendState = buildWhatsAppMediaSendState({
|
|
280
|
-
media,
|
|
281
|
-
caption: text || void 0,
|
|
282
|
-
forceDocument: options.forceDocument
|
|
283
|
-
});
|
|
284
|
-
mediaBuffer = mediaSendState.mediaBuffer;
|
|
285
|
-
mediaType = mediaSendState.mediaType;
|
|
286
|
-
documentFileName = mediaSendState.documentFileName;
|
|
287
|
-
visibleTextAfterVoice = mediaSendState.visibleTextAfterVoice;
|
|
288
|
-
forceDocumentDelivery = mediaSendState.forceDocumentDelivery;
|
|
289
|
-
text = mediaSendState.text;
|
|
290
|
-
}
|
|
291
|
-
outboundLog.info(`Sending message -> ${redactedJid}${hasMedia ? " (media)" : ""}`);
|
|
292
|
-
logger.info({
|
|
293
|
-
jid: redactedJid,
|
|
294
|
-
hasMedia
|
|
295
|
-
}, "sending message");
|
|
296
|
-
if (!isWhatsAppNewsletterJid(jid)) {
|
|
297
|
-
await active.assertSendReady?.(to);
|
|
298
|
-
await active.sendComposingTo(to);
|
|
299
|
-
}
|
|
300
|
-
const accountId = Boolean(options.accountId?.trim()) ? resolvedAccountId : void 0;
|
|
301
|
-
const sendOptions = options.gifPlayback || forceDocumentDelivery || accountId || documentFileName || options.quotedMessageKey ? {
|
|
302
|
-
...options.gifPlayback ? { gifPlayback: true } : {},
|
|
303
|
-
...forceDocumentDelivery ? { asDocument: true } : {},
|
|
304
|
-
...documentFileName ? { fileName: documentFileName } : {},
|
|
305
|
-
...options.quotedMessageKey ? { quotedMessageKey: options.quotedMessageKey } : {},
|
|
306
|
-
accountId
|
|
307
|
-
} : void 0;
|
|
308
|
-
const result = sendOptions ? await active.sendMessage(to, text, mediaBuffer, mediaType, sendOptions) : await active.sendMessage(to, text, mediaBuffer, mediaType);
|
|
309
|
-
const messageId = result?.messageId ?? "unknown";
|
|
310
|
-
const sentRemoteJid = resolveActualSentRemoteJid(result, jid);
|
|
311
|
-
const trailingTextChunks = [visibleTextAfterVoice, ...textChunks].filter((chunk) => Boolean(chunk));
|
|
312
|
-
if (trailingTextChunks.length > 0) {
|
|
313
|
-
await options.onDeliveryResult?.({
|
|
314
|
-
messageId,
|
|
315
|
-
toJid: sentRemoteJid
|
|
316
|
-
});
|
|
317
|
-
for (const trailingText of trailingTextChunks) {
|
|
318
|
-
const trailingResult = sendOptions ? await active.sendMessage(to, trailingText, void 0, void 0, sendOptions) : await active.sendMessage(to, trailingText, void 0, void 0);
|
|
319
|
-
await options.onDeliveryResult?.({
|
|
320
|
-
messageId: trailingResult?.messageId ?? "unknown",
|
|
321
|
-
toJid: resolveActualSentRemoteJid(trailingResult, jid)
|
|
322
|
-
});
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
const durationMs = Date.now() - startedAt;
|
|
326
|
-
outboundLog.info(`Sent message ${messageId} -> ${redactedJid}${hasMedia ? " (media)" : ""} (${durationMs}ms)`);
|
|
327
|
-
logger.info({
|
|
328
|
-
jid: redactedJid,
|
|
329
|
-
messageId
|
|
330
|
-
}, "sent message");
|
|
331
|
-
return {
|
|
332
|
-
messageId,
|
|
333
|
-
toJid: sentRemoteJid
|
|
334
|
-
};
|
|
335
|
-
} catch (err) {
|
|
336
|
-
logger.error({
|
|
337
|
-
err: String(err),
|
|
338
|
-
to: redactedTo,
|
|
339
|
-
hasMedia
|
|
340
|
-
}, "failed to send via web session");
|
|
341
|
-
throw err;
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
async function sendTypingWhatsApp(to, options) {
|
|
345
|
-
const { listener: active } = requireOutboundActiveWebListener({
|
|
346
|
-
cfg: requireRuntimeConfig(options.cfg, "WhatsApp typing send"),
|
|
347
|
-
accountId: options.accountId
|
|
348
|
-
});
|
|
349
|
-
if (!isWhatsAppNewsletterJid(toWhatsappJid(to))) {
|
|
350
|
-
await active.assertSendReady?.(to);
|
|
351
|
-
await active.sendComposingTo(to);
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
async function sendReactionWhatsApp(chatJid, messageId, emoji, options) {
|
|
355
|
-
const correlationId = generateSecureUuid();
|
|
356
|
-
const { listener: active } = requireOutboundActiveWebListener({
|
|
357
|
-
cfg: requireRuntimeConfig(options.cfg, "WhatsApp reaction"),
|
|
358
|
-
accountId: options.accountId
|
|
359
|
-
});
|
|
360
|
-
const redactedChatJid = redactIdentifier(chatJid);
|
|
361
|
-
const logger = getChildLogger$1({
|
|
362
|
-
module: "web-outbound",
|
|
363
|
-
correlationId,
|
|
364
|
-
chatJid: redactedChatJid,
|
|
365
|
-
messageId
|
|
366
|
-
});
|
|
367
|
-
try {
|
|
368
|
-
const redactedJid = redactIdentifier(toWhatsappJid(chatJid));
|
|
369
|
-
outboundLog.info(`Sending reaction "${emoji}" -> message ${messageId}`);
|
|
370
|
-
logger.info({
|
|
371
|
-
chatJid: redactedJid,
|
|
372
|
-
messageId,
|
|
373
|
-
emoji
|
|
374
|
-
}, "sending reaction");
|
|
375
|
-
await active.sendReaction(chatJid, messageId, emoji, options.fromMe ?? false, options.participant);
|
|
376
|
-
outboundLog.info(`Sent reaction "${emoji}" -> message ${messageId}`);
|
|
377
|
-
logger.info({
|
|
378
|
-
chatJid: redactedJid,
|
|
379
|
-
messageId,
|
|
380
|
-
emoji
|
|
381
|
-
}, "sent reaction");
|
|
382
|
-
} catch (err) {
|
|
383
|
-
logger.error({
|
|
384
|
-
err: String(err),
|
|
385
|
-
chatJid: redactedChatJid,
|
|
386
|
-
messageId,
|
|
387
|
-
emoji
|
|
388
|
-
}, "failed to send reaction via web session");
|
|
389
|
-
throw err;
|
|
390
|
-
}
|
|
391
|
-
}
|
|
392
|
-
async function sendPollWhatsApp(to, poll, options) {
|
|
393
|
-
const correlationId = generateSecureUuid();
|
|
394
|
-
const startedAt = Date.now();
|
|
395
|
-
const { listener: active } = requireOutboundActiveWebListener({
|
|
396
|
-
cfg: requireRuntimeConfig(options.cfg, "WhatsApp poll"),
|
|
397
|
-
accountId: options.accountId
|
|
398
|
-
});
|
|
399
|
-
const redactedTo = redactIdentifier(to);
|
|
400
|
-
const logger = getChildLogger$1({
|
|
401
|
-
module: "web-outbound",
|
|
402
|
-
correlationId,
|
|
403
|
-
to: redactedTo
|
|
404
|
-
});
|
|
405
|
-
try {
|
|
406
|
-
const jid = toWhatsappJid(to);
|
|
407
|
-
const redactedJid = redactIdentifier(jid);
|
|
408
|
-
const normalized = normalizePollInput(poll, { maxOptions: 12 });
|
|
409
|
-
outboundLog.info(`Sending poll -> ${redactedJid}`);
|
|
410
|
-
logger.info({
|
|
411
|
-
jid: redactedJid,
|
|
412
|
-
optionCount: normalized.options.length,
|
|
413
|
-
maxSelections: normalized.maxSelections
|
|
414
|
-
}, "sending poll");
|
|
415
|
-
if (!isWhatsAppNewsletterJid(jid)) await active.assertSendReady?.(to);
|
|
416
|
-
const messageId = (await active.sendPoll(to, normalized))?.messageId ?? "unknown";
|
|
417
|
-
const durationMs = Date.now() - startedAt;
|
|
418
|
-
outboundLog.info(`Sent poll ${messageId} -> ${redactedJid} (${durationMs}ms)`);
|
|
419
|
-
logger.info({
|
|
420
|
-
jid: redactedJid,
|
|
421
|
-
messageId
|
|
422
|
-
}, "sent poll");
|
|
423
|
-
return {
|
|
424
|
-
messageId,
|
|
425
|
-
toJid: jid
|
|
426
|
-
};
|
|
427
|
-
} catch (err) {
|
|
428
|
-
logger.error({
|
|
429
|
-
err: String(err),
|
|
430
|
-
to: redactedTo
|
|
431
|
-
}, "failed to send poll via web session");
|
|
432
|
-
throw err;
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
-
//#endregion
|
|
436
|
-
export { normalizeWhatsAppOutboundPayload as a, prepareWhatsAppOutboundMedia as c, sendTypingWhatsApp as i, resolveWhatsAppDocumentFileName as l, sendPollWhatsApp as n, normalizeWhatsAppPayloadText as o, sendReactionWhatsApp as r, normalizeWhatsAppPayloadTextPreservingIndentation as s, sendMessageWhatsApp as t, resolveWhatsAppReactionLevel as u };
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
|
|
2
|
-
import { BufferJSON, DEFAULT_CONNECTION_CONFIG, fetchLatestBaileysVersion, makeCacheableSignalKeyStore, makeWASocket, useMultiFileAuthState } from "baileys";
|
|
3
|
-
//#region extensions/whatsapp/src/session.runtime.ts
|
|
4
|
-
var session_runtime_exports = /* @__PURE__ */ __exportAll({
|
|
5
|
-
BufferJSON: () => BufferJSON,
|
|
6
|
-
createBaileysSignalRepository: () => createBaileysSignalRepository,
|
|
7
|
-
fetchLatestBaileysVersion: () => fetchLatestBaileysVersion,
|
|
8
|
-
makeCacheableSignalKeyStore: () => makeCacheableSignalKeyStore,
|
|
9
|
-
makeWASocket: () => makeWASocket,
|
|
10
|
-
useMultiFileAuthState: () => useMultiFileAuthState
|
|
11
|
-
});
|
|
12
|
-
function createBaileysSignalRepository(...args) {
|
|
13
|
-
return DEFAULT_CONNECTION_CONFIG.makeSignalRepository(...args);
|
|
14
|
-
}
|
|
15
|
-
//#endregion
|
|
16
|
-
export { makeWASocket as a, makeCacheableSignalKeyStore as i, createBaileysSignalRepository as n, session_runtime_exports as o, fetchLatestBaileysVersion as r, useMultiFileAuthState as s, BufferJSON as t };
|