@0xmaxma/claude-gateway 1.8.9 → 1.8.11
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 +46 -6
- package/config.template.json +2 -1
- package/dist/agent/runner.d.ts +86 -1
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +396 -9
- package/dist/agent/runner.js.map +1 -1
- package/dist/api/router.d.ts.map +1 -1
- package/dist/api/router.js +1028 -6
- package/dist/api/router.js.map +1 -1
- package/dist/api/share-router.d.ts.map +1 -1
- package/dist/api/share-router.js +24 -0
- package/dist/api/share-router.js.map +1 -1
- package/dist/api/webhooks-router.d.ts +2 -0
- package/dist/api/webhooks-router.d.ts.map +1 -1
- package/dist/api/webhooks-router.js +2 -0
- package/dist/api/webhooks-router.js.map +1 -1
- package/dist/api/whatsapp-access.d.ts +123 -0
- package/dist/api/whatsapp-access.d.ts.map +1 -0
- package/dist/api/whatsapp-access.js +135 -0
- package/dist/api/whatsapp-access.js.map +1 -0
- package/dist/api/whatsapp-cloud-access.d.ts +48 -0
- package/dist/api/whatsapp-cloud-access.d.ts.map +1 -0
- package/dist/api/whatsapp-cloud-access.js +58 -0
- package/dist/api/whatsapp-cloud-access.js.map +1 -0
- package/dist/api/whatsapp-cloud-client.d.ts +143 -0
- package/dist/api/whatsapp-cloud-client.d.ts.map +1 -0
- package/dist/api/whatsapp-cloud-client.js +298 -0
- package/dist/api/whatsapp-cloud-client.js.map +1 -0
- package/dist/api/whatsapp-cloud-webhook-router.d.ts +132 -0
- package/dist/api/whatsapp-cloud-webhook-router.d.ts.map +1 -0
- package/dist/api/whatsapp-cloud-webhook-router.js +494 -0
- package/dist/api/whatsapp-cloud-webhook-router.js.map +1 -0
- package/dist/cli/args.d.ts +34 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +55 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/commands/app.d.ts +28 -0
- package/dist/cli/commands/app.d.ts.map +1 -0
- package/dist/cli/commands/app.js +411 -0
- package/dist/cli/commands/app.js.map +1 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +77 -16
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/service.d.ts.map +1 -1
- package/dist/cli/commands/service.js +373 -56
- package/dist/cli/commands/service.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +1 -17
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/http-client.d.ts +8 -0
- package/dist/cli/http-client.d.ts.map +1 -1
- package/dist/cli/http-client.js +5 -2
- package/dist/cli/http-client.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +16 -4
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/prompt.d.ts +17 -2
- package/dist/cli/prompt.d.ts.map +1 -1
- package/dist/cli/prompt.js +33 -2
- package/dist/cli/prompt.js.map +1 -1
- package/dist/config/loader.d.ts +8 -0
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +22 -4
- package/dist/config/loader.js.map +1 -1
- package/dist/config/watcher.d.ts.map +1 -1
- package/dist/config/watcher.js +12 -0
- package/dist/config/watcher.js.map +1 -1
- package/dist/config/whatsapp-accounts.d.ts +77 -0
- package/dist/config/whatsapp-accounts.d.ts.map +1 -0
- package/dist/config/whatsapp-accounts.js +218 -0
- package/dist/config/whatsapp-accounts.js.map +1 -0
- package/dist/history/db.d.ts.map +1 -1
- package/dist/history/db.js +43 -11
- package/dist/history/db.js.map +1 -1
- package/dist/history/types.d.ts +18 -1
- package/dist/history/types.d.ts.map +1 -1
- package/dist/history/types.js +1 -1
- package/dist/history/types.js.map +1 -1
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -1
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +37 -0
- package/dist/session/process.js.map +1 -1
- package/dist/session/store.d.ts +3 -2
- package/dist/session/store.d.ts.map +1 -1
- package/dist/session/store.js +1 -1
- package/dist/session/store.js.map +1 -1
- package/dist/share/session-video-catalog.d.ts +19 -0
- package/dist/share/session-video-catalog.d.ts.map +1 -0
- package/dist/share/session-video-catalog.js +119 -0
- package/dist/share/session-video-catalog.js.map +1 -0
- package/dist/shared/image-optimize.d.ts +32 -0
- package/dist/shared/image-optimize.d.ts.map +1 -0
- package/dist/shared/image-optimize.js +197 -0
- package/dist/shared/image-optimize.js.map +1 -0
- package/dist/shared/image-sniff.d.ts +9 -0
- package/dist/shared/image-sniff.d.ts.map +1 -1
- package/dist/shared/image-sniff.js +13 -0
- package/dist/shared/image-sniff.js.map +1 -1
- package/dist/shared/text-chunk.d.ts +37 -0
- package/dist/shared/text-chunk.d.ts.map +1 -0
- package/dist/shared/text-chunk.js +105 -0
- package/dist/shared/text-chunk.js.map +1 -0
- package/dist/shared/whatsapp-ack.d.ts +13 -0
- package/dist/shared/whatsapp-ack.d.ts.map +1 -0
- package/dist/shared/whatsapp-ack.js +16 -0
- package/dist/shared/whatsapp-ack.js.map +1 -0
- package/dist/types.d.ts +183 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/whatsapp/manager.d.ts +173 -0
- package/dist/whatsapp/manager.d.ts.map +1 -0
- package/dist/whatsapp/manager.js +838 -0
- package/dist/whatsapp/manager.js.map +1 -0
- package/mcp/server.ts +4 -0
- package/mcp/tools/image/module.ts +6 -1
- package/mcp/tools/telegram/receiver-server.ts +15 -8
- package/mcp/tools/telegram/reply-attachment.ts +81 -0
- package/mcp/tools/video/module.ts +6 -1
- package/mcp/tools/whatsapp/module.ts +162 -0
- package/mcp/tools/whatsapp-cloud/module.ts +536 -0
- package/package.json +7 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share-router.d.ts","sourceRoot":"","sources":["../../src/api/share-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAMpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EACL,UAAU,EAEV,WAAW,EAOZ,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"share-router.d.ts","sourceRoot":"","sources":["../../src/api/share-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AAMpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EACL,UAAU,EAEV,WAAW,EAOZ,MAAM,sBAAsB,CAAC;AAmE9B;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAqC5E;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC;qDACiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,UAAU,EACjB,aAAa,EAAE,MAAM,EACrB,IAAI,GAAE,qBAA0B,GAC/B,MAAM,CA2GR;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,MAAM,EAAE,EACjB,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,cAAc,CAAC,EAAE,WAAW,GAC3B,MAAM,CA6UR"}
|
package/dist/api/share-router.js
CHANGED
|
@@ -44,6 +44,7 @@ const router_1 = require("./router");
|
|
|
44
44
|
const media_store_1 = require("../history/media-store");
|
|
45
45
|
const share_store_1 = require("../share/share-store");
|
|
46
46
|
const session_image_catalog_1 = require("../share/session-image-catalog");
|
|
47
|
+
const session_video_catalog_1 = require("../share/session-video-catalog");
|
|
47
48
|
const PURPOSE_RE = /^[a-z][a-z0-9_]{0,31}$/;
|
|
48
49
|
const MIN_TTL_SECONDS = 10;
|
|
49
50
|
const MAX_TTL_SECONDS = 86400;
|
|
@@ -517,6 +518,29 @@ function createSharesPrivateRouter(store, apiKeys, agentsBaseDir, publicBaseUrl,
|
|
|
517
518
|
const items = (0, session_image_catalog_1.computeSessionImageCatalog)({ agentsBaseDir, store, agentId, sessionId });
|
|
518
519
|
res.json({ items });
|
|
519
520
|
});
|
|
521
|
+
/**
|
|
522
|
+
* GET /api/v1/video-catalog?agent_id=...&session_id=... — the deterministic
|
|
523
|
+
* video list of one session, oldest first. Response:
|
|
524
|
+
* { items: [{ index, relative_path, origin, ts, available, desc? }] }.
|
|
525
|
+
*
|
|
526
|
+
* The video analogue of /v1/image-catalog, kept separate so clips never leak
|
|
527
|
+
* into the image-reference surface. Read-only: mints nothing, returns no token.
|
|
528
|
+
*/
|
|
529
|
+
router.get('/v1/video-catalog', auth, (req, res) => {
|
|
530
|
+
const apiKey = req.apiKey;
|
|
531
|
+
const agentId = typeof req.query.agent_id === 'string' ? req.query.agent_id.trim() : '';
|
|
532
|
+
const sessionId = typeof req.query.session_id === 'string' ? req.query.session_id.trim() : '';
|
|
533
|
+
if (!(0, router_1.isValidAgentId)(agentId) || !(0, router_1.isValidSessionId)(sessionId)) {
|
|
534
|
+
res.status(400).json({ error: 'agent_id and session_id must be valid identifiers' });
|
|
535
|
+
return;
|
|
536
|
+
}
|
|
537
|
+
if (!(0, auth_1.canAccessAgent)(apiKey, agentId)) {
|
|
538
|
+
res.status(403).json({ error: `API key has no access to agent '${agentId}'` });
|
|
539
|
+
return;
|
|
540
|
+
}
|
|
541
|
+
const items = (0, session_video_catalog_1.computeSessionVideoCatalog)({ agentsBaseDir, agentId, sessionId });
|
|
542
|
+
res.json({ items });
|
|
543
|
+
});
|
|
520
544
|
return router;
|
|
521
545
|
}
|
|
522
546
|
//# sourceMappingURL=share-router.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"share-router.js","sourceRoot":"","sources":["../../src/api/share-router.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0FA,sDAqCC;AAQD,4DA+GC;AAED,8DA2TC;AAnjBD,qCAAoD;AACpD,uCAAyB;AACzB,2CAA6B;AAC7B,iCAAiE;AACjE,qCAA4D;AAC5D,wDAAoD;AAEpD,sDAU8B;AAC9B,0EAA4E;AAsB5E,MAAM,UAAU,GAAG,wBAAwB,CAAC;AAC5C,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,eAAe,GAAG,KAAM,CAAC;AAC/B,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAC9B,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AACvC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAEvC,SAAS,SAAS,CAAC,IAAY;IAC7B,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,qBAAqB,CAAC,CAAC,OAAO,GAAG,CAAC;QACvC,KAAK,gBAAgB,CAAC,CAAC,OAAO,GAAG,CAAC;QAClC,KAAK,qBAAqB,CAAC,CAAC,OAAO,GAAG,CAAC;QACvC,KAAK,uBAAuB,CAAC,CAAC,OAAO,GAAG,CAAC;QACzC,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC;IACtB,CAAC;AACH,CAAC;AAED;iEACiE;AACjE,SAAS,cAAc,CAAC,GAAa;IACnC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACvD,CAAC;AAED;;;;iEAIiE;AACjE,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC,OAAO,CACtC,SAAS,EACT,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CACxD,CAAC;AACJ,CAAC;AAED;;;;8EAI8E;AAC9E,MAAM,YAAY,GAA2B,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC;AAE1E;;;;;;GAMG;AACH,SAAgB,qBAAqB,CAAC,QAAgB,EAAE,IAAY;IAClE,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,8EAA8E;IAC9E,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,6EAA6E;IAC7E,yEAAyE;IACzE,2EAA2E;IAC3E,yDAAyD;IACzD,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACpD,2EAA2E;IAC3E,4EAA4E;IAC5E,6EAA6E;IAC7E,8EAA8E;IAC9E,2EAA2E;IAC3E,8EAA8E;IAC9E,0EAA0E;IAC1E,2EAA2E;IAC3E,2CAA2C;IAC3C,4EAA4E;IAC5E,4EAA4E;IAC5E,2EAA2E;IAC3E,sEAAsE;IACtE,sDAAsD;IACtD,MAAM,IAAI,GACR,CAAC,GAAG,OAAO,CAAC;SACT,KAAK,CAAC,CAAC,EAAE,0BAA0B,GAAG,MAAM,CAAC,MAAM,CAAC;SACpD,IAAI,CAAC,EAAE,CAAC;SACR,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC;SAC/B,IAAI,EAAE,IAAI,UAAU,CAAC;IAC1B,yEAAyE;IACzE,8EAA8E;IAC9E,4CAA4C;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,UAAU,CAAC;IACjG,OAAO,yBAAyB,SAAS,GAAG,MAAM,uBAAuB,OAAO,CAAC,GAAG,IAAI,GAAG,MAAM,EAAE,CAAC,EAAE,CAAC;AACzG,CAAC;AAQD,SAAgB,wBAAwB,CACtC,KAAiB,EACjB,aAAqB,EACrB,OAA8B,EAAE;IAEhC,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAA,sBAAQ,EAAC,qBAAqB,CAAC,CAAC,CAAC;IACxD,MAAM,aAAa,GACjB,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC1G,MAAM,MAAM,GAAG,IAAA,gCAAkB,GAAE,CAAC;IAEpC,2EAA2E;IAC3E,2EAA2E;IAC3E,6CAA6C;IAC7C,MAAM,OAAO,GAAG,IAAI,GAAG,EAA8C,CAAC;IACtE,6EAA6E;IAC7E,+EAA+E;IAC/E,4EAA4E;IAC5E,iDAAiD;IACjD,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,MAAM,iBAAiB,GAAG,KAAM,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAW,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,6DAA6D;YAC7D,IAAI,OAAO,CAAC,IAAI,GAAG,KAAM,EAAE,CAAC;gBAC1B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO;oBAAE,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO;wBAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,KAAM,EAAE,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,IAAI,aAAa;YAAE,OAAO,KAAK,CAAC;QAC/C,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,gEAAgE;IAChE,yEAAyE;IACzE,MAAM,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACvF,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,SAAS,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC7D,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,KAAK,GAAG,WAAW,IAAI,iBAAiB,EAAE,CAAC;gBAC7C,WAAW,GAAG,KAAK,CAAC;gBACpB,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC,wCAAwC;YAClE,CAAC;YACD,cAAc,CAAC,GAAG,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,uEAAuE;QACvE,0EAA0E;QAC1E,4EAA4E;QAC5E,IAAI,EAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,wBAAU,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACrF,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3B,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,YAAY;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAC;YACvF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAClC,sEAAsE;YACtE,wEAAwE;YACxE,uEAAuE;YACvE,qCAAqC;YACrC,MAAM,IAAI,GAAG,IAAA,6BAAe,EAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAE/C,wEAAwE;YACxE,0EAA0E;YAC1E,sCAAsC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC1C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;gBAClB,cAAc,EAAE,IAAI;gBACpB,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;gBACnC,qBAAqB,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC;gBAC1G,wBAAwB,EAAE,SAAS;gBACnC,eAAe,EAAE,mBAAmB;aACrC,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBACjB,GAAG,CAAC,GAAG,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,oEAAoE;gBACpE,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACzD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACtB,IAAI,CAAC;wBAAC,GAAG,CAAC,OAAO,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,OAAO,YAAY,KAAK,CAAC,OAAO,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACrG,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;gBACrB,IAAI,CAAC;oBAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;YAC1D,CAAC;YACD,yEAAyE;YACzE,cAAc,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,yBAAyB,CACvC,KAAiB,EACjB,OAAiB,EACjB,aAAqB,EACrB,aAAsB,EACtB,cAA4B;IAE5B,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IACxB,MAAM,IAAI,GAAG,IAAA,8BAAuB,EAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,cAAc,IAAI,IAAA,gCAAkB,GAAE,CAAC;IACtD,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE;QACvB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAA,sBAAQ,EAAC,mBAAmB,CAAC,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uCAAyB,CAAC;IACjF,CAAC,CAAC,EAAE,CAAC;IAEL;;;;;;;;;OASG;IACH,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QAC9D,MAAM,MAAM,GAAI,GAAqB,CAAC,MAAM,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,IAOhB,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,IAAI,CAAC,IAAA,uBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,IAAA,yBAAgB,EAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAA,qBAAc,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,OAAO,GAAG,EAAE,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAClH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QACD,IAAI,UAAU,GAAG,UAAU,CAAC;QAC5B,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YACD,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,eAAe,CAAC,EAAE,eAAe,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACpF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,EAAE,CAAC,CAAC;YACrE,OAAO;QACT,CAAC;QACD,MAAM,SAAS,GAAmB,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACjC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,MAAM,CAAC,OAAO,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;YAChG,OAAO;QACT,CAAC;QAeD,MAAM,QAAQ,GAAe,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,GAAG,IAAI,IAAiB,EAAE,CAAC;YACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;gBAC5C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,qDAAqD,EAAE,CAAC,CAAC;gBACvF,OAAO;YACT,CAAC;YACD,MAAM,GAAG,GAAG,GAAgD,CAAC;YAC7D,IAAI,SAAiB,CAAC;YACtB,IAAI,aAAqB,CAAC;YAC1B,IAAI,MAA0B,CAAC;YAC/B,IAAI,WAA+B,CAAC;YACpC,IAAI,WAA+B,CAAC;YACpC,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnF,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yDAAyD,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;oBACxH,OAAO;gBACT,CAAC;gBACD,SAAS,GAAG,YAAY,QAAQ,CAAC,UAAU,EAAE,CAAC;gBAC9C,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC;gBACtC,IAAI,QAAQ,CAAC,MAAM;oBAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC9C,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC;gBAChC,IAAI,QAAQ,CAAC,MAAM;oBAAE,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC;YACrD,CAAC;iBAAM,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC3D,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBAChC,SAAS,GAAG,EAAE,CAAC,CAAC,2DAA2D;YAC7E,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC,CAAC;gBAC3E,OAAO;YACT,CAAC;YACD,IAAI,SAAS,CAAC;YACd,IAAI,CAAC;gBACH,SAAS,GAAG,IAAA,+BAAiB,EAAC,aAAa,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YACvG,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,wBAAU,EAAE,CAAC;oBAC9B,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC7E,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;gBACrE,OAAO;YACT,CAAC;YACD,IAAI,CAAC,SAAS;gBAAE,SAAS,GAAG,QAAQ,SAAS,CAAC,YAAY,EAAE,CAAC;YAC7D,0EAA0E;YAC1E,wEAAwE;YACxE,mEAAmE;YACnE,iEAAiE;YACjE,oEAAoE;YACpE,+BAA+B;YAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACpB,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC;YAC/B,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC;gBACZ,SAAS;gBACT,YAAY,EAAE,SAAS,CAAC,YAAY;gBACpC,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,qEAAqE;gBACrE,qEAAqE;gBACrE,kEAAkE;gBAClE,sEAAsE;gBACtE,uEAAuE;gBACvE,uEAAuE;gBACvE,sEAAsE;gBACtE,wEAAwE;gBACxE,mCAAmC;gBACnC,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACpE,MAAM;gBACN,QAAQ,EAAE,WAAW;gBACrB,WAAW;aACZ,CAAC,CAAC;QACL,CAAC;QACD,IAAI,UAAU,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,gCAAgC,MAAM,CAAC,aAAa,QAAQ,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAC3H,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC3B,OAAO;gBACP,SAAS;gBACT,YAAY,EAAE,CAAC,CAAC,YAAY;gBAC5B,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO;gBACP,UAAU;gBACV,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,CAAC,OAAO,YAAY,OAAO,YAAY,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7F,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,aAAa,WAAW,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1E,UAAU,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;gBACpD,qDAAqD;gBACrD,4DAA4D;gBAC5D,oEAAoE;gBACpE,yBAAyB;gBACzB,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChE,oDAAoD;gBACpD,kEAAkE;gBAClE,qEAAqE;gBACrE,kEAAkE;gBAClE,mCAAmC;gBACnC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACzE,MAAM,MAAM,GAAI,GAAqB,CAAC,MAAM,CAAC;QAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,IAAI,CAAC,IAAA,qBAAc,EAAC,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,CAAC,wBAAwB,OAAO,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACvE,MAAM,MAAM,GAAI,GAAqB,CAAC,MAAM,CAAC;QAC7C,MAAM,IAAI,GAAG,GAAG,CAAC,IAQhB,CAAC;QACF,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,IAAI,CAAC,IAAA,uBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,IAAA,yBAAgB,EAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAA,qBAAc,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,OAAO,GAAG,EAAE,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACzG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;YACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,kBAAkB,GAAG,EAAE,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9G,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACzG,2EAA2E;QAC3E,2EAA2E;QAC3E,oBAAoB;QACpB,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAClE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC;YACxD,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,KAAK,GAAsF,EAAE,CAAC;QACpG,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAI,KAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAChE,MAAM,IAAI,GAAI,KAAkB,CAAC,KAAK,CAAE,CAAC;YACzC,IAAI,SAAS,CAAC;YACd,IAAI,CAAC;gBACH,oEAAoE;gBACpE,uEAAuE;gBACvE,gEAAgE;gBAChE,SAAS,GAAG,IAAA,+BAAiB,EAAC,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;YACnF,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,GAAG,YAAY,wBAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;gBACnE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;gBACvG,OAAO;YACT,CAAC;YACD,MAAM,UAAU,GAAG,KAAK,CAAC,gBAAgB,CAAC;gBACxC,OAAO;gBACP,SAAS;gBACT,YAAY,EAAE,SAAS,CAAC,YAAY;gBACpC,QAAQ;gBACR,KAAK;gBACL,MAAM;gBACN,UAAU,EAAE,KAAK;gBACjB,MAAM;aACP,CAAC,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrG,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,sCAAsC,KAAK,CAAC,MAAM,aAAa,QAAQ,EAAE,CAAC,CAAC;QACvF,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC,GAAY,EAAE,GAAa,EAAE,EAAE;QACpE,MAAM,MAAM,GAAI,GAAqB,CAAC,MAAM,CAAC;QAC7C,MAAM,OAAO,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9F,IAAI,CAAC,IAAA,uBAAc,EAAC,OAAO,CAAC,IAAI,CAAC,IAAA,yBAAgB,EAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC,CAAC;YACrF,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAA,qBAAc,EAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,mCAAmC,OAAO,GAAG,EAAE,CAAC,CAAC;YAC/E,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,kDAA0B,EAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QACvF,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"share-router.js","sourceRoot":"","sources":["../../src/api/share-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,7 @@ import { Router, type Request, type Response } from 'express';
|
|
|
22
22
|
import type { AgentRunner } from '../agent/runner';
|
|
23
23
|
import { type LineWebhookOptions } from './line-webhook-router';
|
|
24
24
|
import { type SlackWebhookOptions } from './slack-webhook-router';
|
|
25
|
+
import { type WhatsAppCloudWebhookOptions } from './whatsapp-cloud-webhook-router';
|
|
25
26
|
/**
|
|
26
27
|
* A per-app webhook handler. `verify` answers provider URL-verification probes
|
|
27
28
|
* (GET / empty POST); `handlePost` processes a signed inbound POST. Each handler
|
|
@@ -40,6 +41,7 @@ export interface WebhookAppHandler {
|
|
|
40
41
|
export interface WebhooksOptions {
|
|
41
42
|
line?: LineWebhookOptions;
|
|
42
43
|
slack?: SlackWebhookOptions;
|
|
44
|
+
whatsapp_cloud?: WhatsAppCloudWebhookOptions;
|
|
43
45
|
}
|
|
44
46
|
export declare function createWebhooksRouter(agents: Map<string, AgentRunner>, logDir: string, opts?: WebhooksOptions): Router;
|
|
45
47
|
//# sourceMappingURL=webhooks-router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks-router.d.ts","sourceRoot":"","sources":["../../src/api/webhooks-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAgB,EAAE,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"webhooks-router.d.ts","sourceRoot":"","sources":["../../src/api/webhooks-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAgB,EAAE,MAAM,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EAA6B,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAqC,KAAK,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAItH;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxD;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,cAAc,CAAC,EAAE,2BAA2B,CAAC;CAC9C;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,IAAI,GAAE,eAAoB,GACzB,MAAM,CAuCR"}
|
|
@@ -57,6 +57,7 @@ exports.createWebhooksRouter = createWebhooksRouter;
|
|
|
57
57
|
const express_1 = __importStar(require("express"));
|
|
58
58
|
const line_webhook_router_1 = require("./line-webhook-router");
|
|
59
59
|
const slack_webhook_router_1 = require("./slack-webhook-router");
|
|
60
|
+
const whatsapp_cloud_webhook_router_1 = require("./whatsapp-cloud-webhook-router");
|
|
60
61
|
const MAX_BODY_BYTES = 256 * 1024; // pre-auth body cap
|
|
61
62
|
function createWebhooksRouter(agents, logDir, opts = {}) {
|
|
62
63
|
const router = (0, express_1.Router)();
|
|
@@ -64,6 +65,7 @@ function createWebhooksRouter(agents, logDir, opts = {}) {
|
|
|
64
65
|
const handlers = {
|
|
65
66
|
line: (0, line_webhook_router_1.createLineWebhookHandler)(agents, logDir, opts.line ?? {}),
|
|
66
67
|
slack: (0, slack_webhook_router_1.createSlackWebhookHandler)(agents, logDir, opts.slack ?? {}),
|
|
68
|
+
whatsapp_cloud: (0, whatsapp_cloud_webhook_router_1.createWhatsAppCloudWebhookHandler)(agents, logDir, opts.whatsapp_cloud ?? {}),
|
|
67
69
|
};
|
|
68
70
|
const resolve = (req, res) => {
|
|
69
71
|
const app = req.params.app;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks-router.js","sourceRoot":"","sources":["../../src/api/webhooks-router.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"webhooks-router.js","sourceRoot":"","sources":["../../src/api/webhooks-router.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,oDA2CC;AA7FD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,mDAAuE;AAEvE,+DAA0F;AAC1F,iEAA6F;AAC7F,mFAAsH;AAEtH,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,oBAAoB;AAwBvD,SAAgB,oBAAoB,CAClC,MAAgC,EAChC,MAAc,EACd,OAAwB,EAAE;IAE1B,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IACxB,MAAM,OAAO,GAAG,iBAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IAEpE,MAAM,QAAQ,GAAsC;QAClD,IAAI,EAAE,IAAA,8CAAwB,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC/D,KAAK,EAAE,IAAA,gDAAyB,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QAClE,cAAc,EAAE,IAAA,iEAAiC,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;KAC7F,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,GAAa,EAA4B,EAAE;QACxE,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3B,+EAA+E;QAC/E,oFAAoF;QACpF,kFAAkF;QAClF,yCAAyC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAChG,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,wBAAwB,GAAG,EAAE,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;QACxD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO;YAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;QACzD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAClC,IAAI,OAAO;YAAE,KAAK,OAAO,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACjC,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAErD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WhatsApp DM/group access control — pure, stateless sender gate.
|
|
3
|
+
*
|
|
4
|
+
* Structural port of `slack-access.ts` (same closed-by-default posture,
|
|
5
|
+
* same two-tier dmPolicy/groupPolicy shape — Slack is the right template
|
|
6
|
+
* here, not the DM-only `sms-access.ts`, because WhatsApp has real groups).
|
|
7
|
+
* The manager reads `whatsapp` config directly and calls this once per
|
|
8
|
+
* inbound message — no env plumbing, no state files.
|
|
9
|
+
*
|
|
10
|
+
* Default (policy absent) is CLOSED: only ids in the allowlist pass. Set
|
|
11
|
+
* `dmPolicy`/`groupPolicy`: 'open' to restore "reply to anyone" behavior.
|
|
12
|
+
*
|
|
13
|
+
* Allowlist entries MUST be WhatsApp JIDs (e.g. "66812345678@s.whatsapp.net"
|
|
14
|
+
* for a DM sender, "1234567890-1234567890@g.us" for a group) — never a
|
|
15
|
+
* bare phone number or a group's display name (renamable/ambiguous, same
|
|
16
|
+
* footgun Slack/LINE's own doc comments call out).
|
|
17
|
+
*/
|
|
18
|
+
export declare function isWhatsAppSenderAllowed(policy: 'open' | 'allowlist' | 'disabled' | undefined, allowlist: string[] | undefined, id: string): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Structural view of a Baileys inbound message — the only fields the gate
|
|
21
|
+
* needs. Kept local (not the Baileys `WAMessage` type) so this module stays
|
|
22
|
+
* pure and trivially testable.
|
|
23
|
+
*/
|
|
24
|
+
export interface WhatsAppMessageLike {
|
|
25
|
+
key?: {
|
|
26
|
+
remoteJid?: string | null;
|
|
27
|
+
/** Sender within a group (absent for 1:1 DMs, where remoteJid IS the sender). */
|
|
28
|
+
participant?: string | null;
|
|
29
|
+
/**
|
|
30
|
+
* Phone-number JID for `participant`, present when WhatsApp's Linked ID
|
|
31
|
+
* (LID) privacy system reports `participant` as a `@lid` address instead
|
|
32
|
+
* of the classic `@s.whatsapp.net` phone JID.
|
|
33
|
+
*/
|
|
34
|
+
participantPn?: string | null;
|
|
35
|
+
/**
|
|
36
|
+
* Phone-number JID for `remoteJid` on a 1:1 chat, present when LID
|
|
37
|
+
* privacy reports `remoteJid` itself as `@lid` instead of the classic
|
|
38
|
+
* `@s.whatsapp.net` form.
|
|
39
|
+
*/
|
|
40
|
+
senderPn?: string | null;
|
|
41
|
+
fromMe?: boolean | null;
|
|
42
|
+
} | null;
|
|
43
|
+
message?: {
|
|
44
|
+
/** @mentioned JIDs, present on group messages that tag someone (including the bot). */
|
|
45
|
+
extendedTextMessage?: {
|
|
46
|
+
contextInfo?: {
|
|
47
|
+
mentionedJid?: string[] | null;
|
|
48
|
+
} | null;
|
|
49
|
+
} | null;
|
|
50
|
+
imageMessage?: {
|
|
51
|
+
contextInfo?: {
|
|
52
|
+
mentionedJid?: string[] | null;
|
|
53
|
+
} | null;
|
|
54
|
+
} | null;
|
|
55
|
+
} | null;
|
|
56
|
+
}
|
|
57
|
+
export type WhatsAppSourceKind = 'user' | 'group' | 'other';
|
|
58
|
+
export interface ResolvedWhatsAppSource {
|
|
59
|
+
/** Conversation key — the reply target: the DM JID or the group JID. */
|
|
60
|
+
conversationId: string;
|
|
61
|
+
/** The human who sent the message — same as conversationId for a DM, the participant JID for a group. */
|
|
62
|
+
senderId: string;
|
|
63
|
+
kind: WhatsAppSourceKind;
|
|
64
|
+
/** @mentioned JIDs on this message (group messages only; empty for DMs). */
|
|
65
|
+
mentionedJids: string[];
|
|
66
|
+
}
|
|
67
|
+
/** Map a raw Baileys message to {conversationId, senderId, kind, mentionedJids}. */
|
|
68
|
+
export declare function resolveWhatsAppSource(msg: WhatsAppMessageLike | undefined | null): ResolvedWhatsAppSource;
|
|
69
|
+
/** The subset of `whatsapp` config the conversation gate reads. */
|
|
70
|
+
export interface WhatsAppAccessConfig {
|
|
71
|
+
dmPolicy?: 'open' | 'allowlist' | 'disabled';
|
|
72
|
+
dmAllowlist?: string[];
|
|
73
|
+
groupPolicy?: 'open' | 'allowlist' | 'disabled';
|
|
74
|
+
groupAllowlist?: string[];
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Gate an already-resolved WhatsApp source. DMs are gated on the sender's
|
|
78
|
+
* JID against `dmPolicy`/`dmAllowlist`; groups are gated on the group JID
|
|
79
|
+
* against `groupPolicy`/`groupAllowlist`, closed by default — same posture
|
|
80
|
+
* as DMs. Unknown source kinds are denied.
|
|
81
|
+
*/
|
|
82
|
+
export declare function isResolvedSourceAllowed(cfg: WhatsAppAccessConfig | undefined, resolved: ResolvedWhatsAppSource): boolean;
|
|
83
|
+
/**
|
|
84
|
+
* Convenience wrapper that resolves a raw message and gates it in one call.
|
|
85
|
+
* Equivalent to `isResolvedSourceAllowed(cfg, resolveWhatsAppSource(msg))`.
|
|
86
|
+
*/
|
|
87
|
+
export declare function isWhatsAppConversationAllowed(cfg: WhatsAppAccessConfig | undefined, msg: WhatsAppMessageLike | undefined | null): boolean;
|
|
88
|
+
/**
|
|
89
|
+
* @mention gate for groups (mirrors `slack`/`line`'s `requireMention`,
|
|
90
|
+
* default true — only effective in groups, DMs always pass). Unlike Slack
|
|
91
|
+
* (which infers "was mentioned" from the event *type* being `app_mention`)
|
|
92
|
+
* Baileys hands every message's mentioned-JID list directly on
|
|
93
|
+
* `contextInfo.mentionedJid` — no separate text-scanning heuristic needed,
|
|
94
|
+
* just check one of the bot's own JIDs is in that list.
|
|
95
|
+
*
|
|
96
|
+
* Under WhatsApp's Linked ID (LID) privacy system a group can report the
|
|
97
|
+
* mentioned bot using its `@lid` identity even though `sock.user.id` (the
|
|
98
|
+
* phone-number JID we log in with) is the classic `@s.whatsapp.net` form —
|
|
99
|
+
* two different strings for the same bot. Pass `botLid` (`sock.user.lid`)
|
|
100
|
+
* alongside `botJid` (`sock.user.id`) so either form matches; omit it if
|
|
101
|
+
* unknown (older Baileys / non-LID accounts) and only `botJid` is checked.
|
|
102
|
+
*/
|
|
103
|
+
export declare function wasBotMentioned(mentionedJids: string[], botJid: string | undefined, botLid?: string | null): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Canonical form of a WhatsApp JID for equality checks.
|
|
106
|
+
*
|
|
107
|
+
* WhatsApp JIDs occasionally carry a ":<device>" suffix on the *user* part
|
|
108
|
+
* (multi-device, e.g. "66811112222:5@s.whatsapp.net") — strip only that
|
|
109
|
+
* segment, not everything after the first colon, or the "@server" half gets
|
|
110
|
+
* dropped too and a same-user-different-device JID never matches at all
|
|
111
|
+
* (splitting on ':' before splitting on '@' would do exactly that). The
|
|
112
|
+
* `@lid` vs `@s.whatsapp.net` distinction is preserved: those are genuinely
|
|
113
|
+
* different addresses, and callers that must accept either (wasBotMentioned)
|
|
114
|
+
* normalize both forms and compare against the set.
|
|
115
|
+
*
|
|
116
|
+
* Shared by the INBOUND mention gate (wasBotMentioned above) and the OUTBOUND
|
|
117
|
+
* `@digits` → `mentions:[jid]` matcher in WhatsAppManager, so both sides agree
|
|
118
|
+
* on what "the same participant" means.
|
|
119
|
+
*/
|
|
120
|
+
export declare function normalizeWhatsAppJid(jid: string): string;
|
|
121
|
+
/** The user half of a normalized JID — "66811112222" from "66811112222:5@s.whatsapp.net". */
|
|
122
|
+
export declare function whatsAppJidUser(jid: string): string;
|
|
123
|
+
//# sourceMappingURL=whatsapp-access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatsapp-access.d.ts","sourceRoot":"","sources":["../../src/api/whatsapp-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,EACrD,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAC/B,EAAE,EAAE,MAAM,GACT,OAAO,CAKT;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE;QACJ,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,iFAAiF;QACjF,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B;;;;WAIG;QACH,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B;;;;WAIG;QACH,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;KACzB,GAAG,IAAI,CAAC;IACT,OAAO,CAAC,EAAE;QACR,uFAAuF;QACvF,mBAAmB,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE;gBAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;QACzF,YAAY,CAAC,EAAE;YAAE,WAAW,CAAC,EAAE;gBAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;aAAE,GAAG,IAAI,CAAA;SAAE,GAAG,IAAI,CAAC;KACnF,GAAG,IAAI,CAAC;CACV;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5D,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB,yGAAyG;IACzG,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,kBAAkB,CAAC;IACzB,4EAA4E;IAC5E,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI,GAAG,sBAAsB,CA+BzG;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,oBAAoB,GAAG,SAAS,EACrC,QAAQ,EAAE,sBAAsB,GAC/B,OAAO,CAST;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,oBAAoB,GAAG,SAAS,EACrC,GAAG,EAAE,mBAAmB,GAAG,SAAS,GAAG,IAAI,GAC1C,OAAO,CAET;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAIT;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGxD;AAED,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isWhatsAppSenderAllowed = isWhatsAppSenderAllowed;
|
|
4
|
+
exports.resolveWhatsAppSource = resolveWhatsAppSource;
|
|
5
|
+
exports.isResolvedSourceAllowed = isResolvedSourceAllowed;
|
|
6
|
+
exports.isWhatsAppConversationAllowed = isWhatsAppConversationAllowed;
|
|
7
|
+
exports.wasBotMentioned = wasBotMentioned;
|
|
8
|
+
exports.normalizeWhatsAppJid = normalizeWhatsAppJid;
|
|
9
|
+
exports.whatsAppJidUser = whatsAppJidUser;
|
|
10
|
+
/**
|
|
11
|
+
* WhatsApp DM/group access control — pure, stateless sender gate.
|
|
12
|
+
*
|
|
13
|
+
* Structural port of `slack-access.ts` (same closed-by-default posture,
|
|
14
|
+
* same two-tier dmPolicy/groupPolicy shape — Slack is the right template
|
|
15
|
+
* here, not the DM-only `sms-access.ts`, because WhatsApp has real groups).
|
|
16
|
+
* The manager reads `whatsapp` config directly and calls this once per
|
|
17
|
+
* inbound message — no env plumbing, no state files.
|
|
18
|
+
*
|
|
19
|
+
* Default (policy absent) is CLOSED: only ids in the allowlist pass. Set
|
|
20
|
+
* `dmPolicy`/`groupPolicy`: 'open' to restore "reply to anyone" behavior.
|
|
21
|
+
*
|
|
22
|
+
* Allowlist entries MUST be WhatsApp JIDs (e.g. "66812345678@s.whatsapp.net"
|
|
23
|
+
* for a DM sender, "1234567890-1234567890@g.us" for a group) — never a
|
|
24
|
+
* bare phone number or a group's display name (renamable/ambiguous, same
|
|
25
|
+
* footgun Slack/LINE's own doc comments call out).
|
|
26
|
+
*/
|
|
27
|
+
function isWhatsAppSenderAllowed(policy, allowlist, id) {
|
|
28
|
+
if (policy === 'open')
|
|
29
|
+
return true;
|
|
30
|
+
if (policy === 'disabled')
|
|
31
|
+
return false;
|
|
32
|
+
// 'allowlist' OR undefined (closed default) → only listed ids pass.
|
|
33
|
+
return !!id && (allowlist ?? []).includes(id);
|
|
34
|
+
}
|
|
35
|
+
/** Map a raw Baileys message to {conversationId, senderId, kind, mentionedJids}. */
|
|
36
|
+
function resolveWhatsAppSource(msg) {
|
|
37
|
+
const remoteJid = msg?.key?.remoteJid ?? '';
|
|
38
|
+
if (!remoteJid)
|
|
39
|
+
return { conversationId: '', senderId: '', kind: 'other', mentionedJids: [] };
|
|
40
|
+
const mentionedJids = msg?.message?.extendedTextMessage?.contextInfo?.mentionedJid ??
|
|
41
|
+
msg?.message?.imageMessage?.contextInfo?.mentionedJid ??
|
|
42
|
+
[];
|
|
43
|
+
if (remoteJid.endsWith('@g.us')) {
|
|
44
|
+
// Group: the sender is `participant`, the conversation is the group JID itself.
|
|
45
|
+
// `participant` arrives as a `@lid` address (not the classic phone JID)
|
|
46
|
+
// for some senders under WhatsApp's Linked ID privacy system — prefer
|
|
47
|
+
// `participantPn` (the real phone-number JID) when Baileys supplies it.
|
|
48
|
+
const participant = msg?.key?.participantPn || msg?.key?.participant || '';
|
|
49
|
+
if (!participant)
|
|
50
|
+
return { conversationId: '', senderId: '', kind: 'other', mentionedJids: [] };
|
|
51
|
+
return { conversationId: remoteJid, senderId: participant, kind: 'group', mentionedJids };
|
|
52
|
+
}
|
|
53
|
+
if (remoteJid.endsWith('@s.whatsapp.net') || remoteJid.endsWith('@lid')) {
|
|
54
|
+
// DM: sender and conversation are (normally) the same JID. Under
|
|
55
|
+
// WhatsApp's Linked ID (LID) privacy system, `remoteJid` itself can
|
|
56
|
+
// arrive as `<id>@lid` instead of the classic `<phone>@s.whatsapp.net`
|
|
57
|
+
// — reply on whichever JID we actually received the message on
|
|
58
|
+
// (`remoteJid`), but gate on the real phone-number JID (`senderPn`, when
|
|
59
|
+
// Baileys supplies it): allowlists are documented and configured in
|
|
60
|
+
// phone-number JID form and would never match a bare `@lid`.
|
|
61
|
+
const senderId = msg?.key?.senderPn || remoteJid;
|
|
62
|
+
return { conversationId: remoteJid, senderId, kind: 'user', mentionedJids: [] };
|
|
63
|
+
}
|
|
64
|
+
// Broadcast lists, status updates, newsletters, etc. — not a supported source.
|
|
65
|
+
return { conversationId: '', senderId: '', kind: 'other', mentionedJids: [] };
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Gate an already-resolved WhatsApp source. DMs are gated on the sender's
|
|
69
|
+
* JID against `dmPolicy`/`dmAllowlist`; groups are gated on the group JID
|
|
70
|
+
* against `groupPolicy`/`groupAllowlist`, closed by default — same posture
|
|
71
|
+
* as DMs. Unknown source kinds are denied.
|
|
72
|
+
*/
|
|
73
|
+
function isResolvedSourceAllowed(cfg, resolved) {
|
|
74
|
+
const { conversationId, senderId, kind } = resolved;
|
|
75
|
+
if (kind === 'user') {
|
|
76
|
+
return isWhatsAppSenderAllowed(cfg?.dmPolicy, cfg?.dmAllowlist, senderId || conversationId);
|
|
77
|
+
}
|
|
78
|
+
if (kind === 'group') {
|
|
79
|
+
return isWhatsAppSenderAllowed(cfg?.groupPolicy, cfg?.groupAllowlist, conversationId);
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Convenience wrapper that resolves a raw message and gates it in one call.
|
|
85
|
+
* Equivalent to `isResolvedSourceAllowed(cfg, resolveWhatsAppSource(msg))`.
|
|
86
|
+
*/
|
|
87
|
+
function isWhatsAppConversationAllowed(cfg, msg) {
|
|
88
|
+
return isResolvedSourceAllowed(cfg, resolveWhatsAppSource(msg));
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @mention gate for groups (mirrors `slack`/`line`'s `requireMention`,
|
|
92
|
+
* default true — only effective in groups, DMs always pass). Unlike Slack
|
|
93
|
+
* (which infers "was mentioned" from the event *type* being `app_mention`)
|
|
94
|
+
* Baileys hands every message's mentioned-JID list directly on
|
|
95
|
+
* `contextInfo.mentionedJid` — no separate text-scanning heuristic needed,
|
|
96
|
+
* just check one of the bot's own JIDs is in that list.
|
|
97
|
+
*
|
|
98
|
+
* Under WhatsApp's Linked ID (LID) privacy system a group can report the
|
|
99
|
+
* mentioned bot using its `@lid` identity even though `sock.user.id` (the
|
|
100
|
+
* phone-number JID we log in with) is the classic `@s.whatsapp.net` form —
|
|
101
|
+
* two different strings for the same bot. Pass `botLid` (`sock.user.lid`)
|
|
102
|
+
* alongside `botJid` (`sock.user.id`) so either form matches; omit it if
|
|
103
|
+
* unknown (older Baileys / non-LID accounts) and only `botJid` is checked.
|
|
104
|
+
*/
|
|
105
|
+
function wasBotMentioned(mentionedJids, botJid, botLid) {
|
|
106
|
+
if (!botJid && !botLid)
|
|
107
|
+
return false;
|
|
108
|
+
const botIdentities = [botJid, botLid].filter((v) => !!v).map(normalizeWhatsAppJid);
|
|
109
|
+
return mentionedJids.some((jid) => botIdentities.includes(normalizeWhatsAppJid(jid)));
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Canonical form of a WhatsApp JID for equality checks.
|
|
113
|
+
*
|
|
114
|
+
* WhatsApp JIDs occasionally carry a ":<device>" suffix on the *user* part
|
|
115
|
+
* (multi-device, e.g. "66811112222:5@s.whatsapp.net") — strip only that
|
|
116
|
+
* segment, not everything after the first colon, or the "@server" half gets
|
|
117
|
+
* dropped too and a same-user-different-device JID never matches at all
|
|
118
|
+
* (splitting on ':' before splitting on '@' would do exactly that). The
|
|
119
|
+
* `@lid` vs `@s.whatsapp.net` distinction is preserved: those are genuinely
|
|
120
|
+
* different addresses, and callers that must accept either (wasBotMentioned)
|
|
121
|
+
* normalize both forms and compare against the set.
|
|
122
|
+
*
|
|
123
|
+
* Shared by the INBOUND mention gate (wasBotMentioned above) and the OUTBOUND
|
|
124
|
+
* `@digits` → `mentions:[jid]` matcher in WhatsAppManager, so both sides agree
|
|
125
|
+
* on what "the same participant" means.
|
|
126
|
+
*/
|
|
127
|
+
function normalizeWhatsAppJid(jid) {
|
|
128
|
+
const [userPart, server] = jid.split('@');
|
|
129
|
+
return server ? `${userPart.split(':')[0]}@${server}` : userPart.split(':')[0];
|
|
130
|
+
}
|
|
131
|
+
/** The user half of a normalized JID — "66811112222" from "66811112222:5@s.whatsapp.net". */
|
|
132
|
+
function whatsAppJidUser(jid) {
|
|
133
|
+
return normalizeWhatsAppJid(jid).split('@')[0] ?? '';
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=whatsapp-access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatsapp-access.js","sourceRoot":"","sources":["../../src/api/whatsapp-access.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WhatsApp Business Cloud API DM access control — pure, stateless sender gate.
|
|
3
|
+
*
|
|
4
|
+
* Structural port of `whatsapp-access.ts` (the Baileys sibling), simplified:
|
|
5
|
+
* the Cloud API has no group concept (a Business phone number cannot be added
|
|
6
|
+
* to a group the way a personal/linked number can — every inbound message is
|
|
7
|
+
* a 1:1 conversation with the business), so there is no group tier here at
|
|
8
|
+
* all — `kind` is `'user' | 'other'`, not `'user' | 'group' | 'other'`.
|
|
9
|
+
*
|
|
10
|
+
* ⚠️ FOOTGUN: Cloud API's inbound `from` is a BARE PHONE-NUMBER STRING (e.g.
|
|
11
|
+
* `"66812345678"` — digits only, no `+`, no `@s.whatsapp.net` suffix), NOT a
|
|
12
|
+
* JID like Baileys hands `whatsapp-access.ts`. `dmAllowlist` entries here
|
|
13
|
+
* MUST be bare digits — pasting a JID (`"66812345678@s.whatsapp.net"`) or a
|
|
14
|
+
* `+`-prefixed E.164 string will silently never match. This is the exact
|
|
15
|
+
* same class of footgun Slack/LINE's own doc comments call out for their
|
|
16
|
+
* allowlists, just with a different wrong shape (JID/`+` instead of a name).
|
|
17
|
+
*
|
|
18
|
+
* Default (policy absent) is CLOSED: only ids in the allowlist pass. Set
|
|
19
|
+
* `dmPolicy: 'open'` to restore "reply to anyone" behavior.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isWhatsAppCloudSenderAllowed(policy: 'open' | 'allowlist' | 'disabled' | undefined, allowlist: string[] | undefined, id: string): boolean;
|
|
22
|
+
export type WhatsAppCloudSourceKind = 'user' | 'other';
|
|
23
|
+
export interface ResolvedWhatsAppCloudSource {
|
|
24
|
+
/** Conversation key — the reply target: the sender's bare phone-number string. */
|
|
25
|
+
conversationId: string;
|
|
26
|
+
/** The human who sent the message — always the same as conversationId (no groups). */
|
|
27
|
+
senderId: string;
|
|
28
|
+
kind: WhatsAppCloudSourceKind;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Map a raw inbound Cloud API `from` field to {conversationId, senderId, kind}.
|
|
32
|
+
* `from` is always a bare phone-number string on a real webhook payload —
|
|
33
|
+
* empty/missing is the only "other" case, since there is no group tier to
|
|
34
|
+
* misclassify into.
|
|
35
|
+
*/
|
|
36
|
+
export declare function resolveWhatsAppCloudSource(from: string | undefined | null): ResolvedWhatsAppCloudSource;
|
|
37
|
+
/** The subset of `whatsapp_cloud` config the conversation gate reads. */
|
|
38
|
+
export interface WhatsAppCloudAccessConfig {
|
|
39
|
+
dmPolicy?: 'open' | 'allowlist' | 'disabled';
|
|
40
|
+
dmAllowlist?: string[];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Gate an already-resolved WhatsApp Cloud source. Every source is a DM
|
|
44
|
+
* (`kind === 'user'`), gated on the sender's bare phone number against
|
|
45
|
+
* `dmPolicy`/`dmAllowlist`. Unknown/empty source kinds are denied.
|
|
46
|
+
*/
|
|
47
|
+
export declare function isResolvedWhatsAppCloudSourceAllowed(cfg: WhatsAppCloudAccessConfig | undefined, resolved: ResolvedWhatsAppCloudSource): boolean;
|
|
48
|
+
//# sourceMappingURL=whatsapp-cloud-access.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatsapp-cloud-access.d.ts","sourceRoot":"","sources":["../../src/api/whatsapp-cloud-access.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,EACrD,SAAS,EAAE,MAAM,EAAE,GAAG,SAAS,EAC/B,EAAE,EAAE,MAAM,GACT,OAAO,CAKT;AAED,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvD,MAAM,WAAW,2BAA2B;IAC1C,kFAAkF;IAClF,cAAc,EAAE,MAAM,CAAC;IACvB,sFAAsF;IACtF,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,uBAAuB,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,2BAA2B,CAIvG;AAED,yEAAyE;AACzE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,oCAAoC,CAClD,GAAG,EAAE,yBAAyB,GAAG,SAAS,EAC1C,QAAQ,EAAE,2BAA2B,GACpC,OAAO,CAMT"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isWhatsAppCloudSenderAllowed = isWhatsAppCloudSenderAllowed;
|
|
4
|
+
exports.resolveWhatsAppCloudSource = resolveWhatsAppCloudSource;
|
|
5
|
+
exports.isResolvedWhatsAppCloudSourceAllowed = isResolvedWhatsAppCloudSourceAllowed;
|
|
6
|
+
/**
|
|
7
|
+
* WhatsApp Business Cloud API DM access control — pure, stateless sender gate.
|
|
8
|
+
*
|
|
9
|
+
* Structural port of `whatsapp-access.ts` (the Baileys sibling), simplified:
|
|
10
|
+
* the Cloud API has no group concept (a Business phone number cannot be added
|
|
11
|
+
* to a group the way a personal/linked number can — every inbound message is
|
|
12
|
+
* a 1:1 conversation with the business), so there is no group tier here at
|
|
13
|
+
* all — `kind` is `'user' | 'other'`, not `'user' | 'group' | 'other'`.
|
|
14
|
+
*
|
|
15
|
+
* ⚠️ FOOTGUN: Cloud API's inbound `from` is a BARE PHONE-NUMBER STRING (e.g.
|
|
16
|
+
* `"66812345678"` — digits only, no `+`, no `@s.whatsapp.net` suffix), NOT a
|
|
17
|
+
* JID like Baileys hands `whatsapp-access.ts`. `dmAllowlist` entries here
|
|
18
|
+
* MUST be bare digits — pasting a JID (`"66812345678@s.whatsapp.net"`) or a
|
|
19
|
+
* `+`-prefixed E.164 string will silently never match. This is the exact
|
|
20
|
+
* same class of footgun Slack/LINE's own doc comments call out for their
|
|
21
|
+
* allowlists, just with a different wrong shape (JID/`+` instead of a name).
|
|
22
|
+
*
|
|
23
|
+
* Default (policy absent) is CLOSED: only ids in the allowlist pass. Set
|
|
24
|
+
* `dmPolicy: 'open'` to restore "reply to anyone" behavior.
|
|
25
|
+
*/
|
|
26
|
+
function isWhatsAppCloudSenderAllowed(policy, allowlist, id) {
|
|
27
|
+
if (policy === 'open')
|
|
28
|
+
return true;
|
|
29
|
+
if (policy === 'disabled')
|
|
30
|
+
return false;
|
|
31
|
+
// 'allowlist' OR undefined (closed default) → only listed ids pass.
|
|
32
|
+
return !!id && (allowlist ?? []).includes(id);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Map a raw inbound Cloud API `from` field to {conversationId, senderId, kind}.
|
|
36
|
+
* `from` is always a bare phone-number string on a real webhook payload —
|
|
37
|
+
* empty/missing is the only "other" case, since there is no group tier to
|
|
38
|
+
* misclassify into.
|
|
39
|
+
*/
|
|
40
|
+
function resolveWhatsAppCloudSource(from) {
|
|
41
|
+
const id = from ?? '';
|
|
42
|
+
if (!id)
|
|
43
|
+
return { conversationId: '', senderId: '', kind: 'other' };
|
|
44
|
+
return { conversationId: id, senderId: id, kind: 'user' };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Gate an already-resolved WhatsApp Cloud source. Every source is a DM
|
|
48
|
+
* (`kind === 'user'`), gated on the sender's bare phone number against
|
|
49
|
+
* `dmPolicy`/`dmAllowlist`. Unknown/empty source kinds are denied.
|
|
50
|
+
*/
|
|
51
|
+
function isResolvedWhatsAppCloudSourceAllowed(cfg, resolved) {
|
|
52
|
+
const { conversationId, senderId, kind } = resolved;
|
|
53
|
+
if (kind === 'user') {
|
|
54
|
+
return isWhatsAppCloudSenderAllowed(cfg?.dmPolicy, cfg?.dmAllowlist, senderId || conversationId);
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=whatsapp-cloud-access.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"whatsapp-cloud-access.js","sourceRoot":"","sources":["../../src/api/whatsapp-cloud-access.ts"],"names":[],"mappings":";;AAoBA,oEASC;AAkBD,gEAIC;AAaD,oFASC;AAzED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,4BAA4B,CAC1C,MAAqD,EACrD,SAA+B,EAC/B,EAAU;IAEV,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,KAAK,CAAC;IACxC,oEAAoE;IACpE,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AAYD;;;;;GAKG;AACH,SAAgB,0BAA0B,CAAC,IAA+B;IACxE,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACpE,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC5D,CAAC;AAQD;;;;GAIG;AACH,SAAgB,oCAAoC,CAClD,GAA0C,EAC1C,QAAqC;IAErC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;IACpD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACpB,OAAO,4BAA4B,CAAC,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,IAAI,cAAc,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|