@huloglobal/vendure-plugin-visitor-analytics 0.18.2 → 0.18.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/README.md +20 -8
  3. package/dist/abandoned-cart.controller.d.ts.map +1 -1
  4. package/dist/abandoned-cart.controller.js +55 -38
  5. package/dist/abandoned-cart.controller.js.map +1 -1
  6. package/dist/abandoned-cart.scanner.d.ts +4 -0
  7. package/dist/abandoned-cart.scanner.d.ts.map +1 -1
  8. package/dist/abandoned-cart.scanner.js +28 -0
  9. package/dist/abandoned-cart.scanner.js.map +1 -1
  10. package/dist/abandoned-cart.service.d.ts +9 -0
  11. package/dist/abandoned-cart.service.d.ts.map +1 -1
  12. package/dist/abandoned-cart.service.js +125 -84
  13. package/dist/abandoned-cart.service.js.map +1 -1
  14. package/dist/admin-api.js +22 -22
  15. package/dist/admin-api.js.map +1 -1
  16. package/dist/ingest-hardening.test.js +6 -6
  17. package/dist/ingest-hardening.test.js.map +1 -1
  18. package/dist/ingest-utils.d.ts +6 -0
  19. package/dist/ingest-utils.d.ts.map +1 -0
  20. package/dist/ingest-utils.js +34 -0
  21. package/dist/ingest-utils.js.map +1 -0
  22. package/dist/journey-buffs.service.js +21 -21
  23. package/dist/recommendations.controller.d.ts +10 -4
  24. package/dist/recommendations.controller.d.ts.map +1 -1
  25. package/dist/recommendations.controller.js +9 -6
  26. package/dist/recommendations.controller.js.map +1 -1
  27. package/dist/recommendations.service.d.ts +28 -8
  28. package/dist/recommendations.service.d.ts.map +1 -1
  29. package/dist/recommendations.service.js +164 -78
  30. package/dist/recommendations.service.js.map +1 -1
  31. package/dist/search-analytics.service.d.ts.map +1 -1
  32. package/dist/search-analytics.service.js +22 -18
  33. package/dist/search-analytics.service.js.map +1 -1
  34. package/dist/sql-fragments.d.ts +25 -0
  35. package/dist/sql-fragments.d.ts.map +1 -0
  36. package/dist/sql-fragments.js +31 -0
  37. package/dist/sql-fragments.js.map +1 -0
  38. package/dist/visitor-tracking.controller.d.ts +8 -1
  39. package/dist/visitor-tracking.controller.d.ts.map +1 -1
  40. package/dist/visitor-tracking.controller.js +219 -134
  41. package/dist/visitor-tracking.controller.js.map +1 -1
  42. package/dist/visitor-tracking.service.d.ts +0 -4
  43. package/dist/visitor-tracking.service.d.ts.map +1 -1
  44. package/dist/visitor-tracking.service.js +3 -32
  45. package/dist/visitor-tracking.service.js.map +1 -1
  46. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,64 @@ documented here. The format follows
5
5
  [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project
6
6
  adheres to [semantic versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.18.4] — 2026-09-28
9
+
10
+ Optimisation and Postgres pass — no new features, no new tables, no new
11
+ indexes (nothing to migrate).
12
+
13
+ ### Fixed
14
+ - **Postgres.** Every camelCase column on the entity tables
15
+ (`visitor_event`, `conversion_goal`, `abandoned_cart`, `product_co_view`)
16
+ and on the Vendure tables the plugin reads (`customer`, `order`,
17
+ `order_channels_channel`, `product`, `product_variant`,
18
+ `product_translation`, `product_variant_translation`) is quoted;
19
+ `NOW() - INTERVAL …` became `DATE_SUB(…)`; aliases are no longer used in
20
+ `HAVING`; the personal-recommendations seed query no longer combines
21
+ `DISTINCT` with an `ORDER BY` on an unselected column; the
22
+ `CAST(… AS UNSIGNED)` on product ids / result counts is guarded by a
23
+ digits check (Postgres raises where MySQL returns 0); the co-view upsert
24
+ quotes its `ON CONFLICT` target; `SUM(boolean)` in the session summary
25
+ became `MAX(CASE …)`; boolean columns are compared with `TRUE`/`FALSE`;
26
+ the abandoned-cart controller's queries go through the dialect adapter;
27
+ and the boot-time `abandoned_cart` ALTERs quote the column name (an
28
+ install without the migration got a lowercase duplicate) behind an
29
+ information-schema check (MySQL 8 has no `ADD COLUMN IF NOT EXISTS`).
30
+ A corpus test (`tests/pg-corpus.test.ts`, skipped unless `HULO_PG_URL`
31
+ is set) runs all 98 statements against PostgreSQL 17 with TypeORM-quoted
32
+ stand-ins for the entity and Vendure tables.
33
+ - **`POST /ees/track` and `customerId`.** The customer is resolved from
34
+ the Vendure session (`activeUserId` → `customer.userId`, cached 10 min);
35
+ the body value is ignored, so an anonymous beacon can no longer file
36
+ events under an arbitrary customer id. A storefront that never sent the
37
+ session (the bundled tracker does not) sees no change: those events
38
+ were already unlinked.
39
+ - **CORS.** `OPTIONS /ees/track` answers `204` with the same headers as
40
+ the POST (a JSON `fetch` from another origin sends a preflight). A
41
+ disallowed origin gets no `Access-Control-Allow-Origin` header at all —
42
+ the previous `null` is itself a valid origin value.
43
+
44
+ ### Changed
45
+ - **Co-view aggregation.** Pairs are accumulated in memory per
46
+ (A, B, channel) and written as multi-row upserts in chunks of 500 (one
47
+ statement per ordered pair before: a 20-product session cost 380 round
48
+ trips). The end of the last aggregated window is persisted, so
49
+ overlapping runs — `aggregate-now` after the 6-hourly sweep — count
50
+ nothing twice; `aggregate-now?force=1` rebuilds regardless.
51
+ - **Live feed.** One query in flight per stream (a slow tick used to
52
+ queue behind itself every 5 s) and a `: keepalive` comment every 15 s.
53
+ - **CSV exports.** Visitors and abandoned carts stream in id-ordered
54
+ chunks of 5 000 with back-pressure instead of materialising up to
55
+ 200 000 / 50 000 rows first. Rows are in id (chronological) order.
56
+ - **Housekeeping.** Monthly, on the worker: `abandoned_cart` rows in
57
+ status expired / converted / dismissed older than 180 days and
58
+ `product_co_view` pairs not refreshed in 90 days are deleted in batches
59
+ of 5 000.
60
+
61
+ ## [0.18.3] — 2026-09-28
62
+
63
+ ### Changed
64
+ - `normaliseUrl` and `boundedMeta` moved to `src/ingest-utils.ts` (decorator-free, unit-tested). No behaviour change.
65
+
8
66
  ## [0.18.2] — 2026-09-28
9
67
 
10
68
  Reliability and security pass — no new features. Two indexes on
package/README.md CHANGED
@@ -192,7 +192,11 @@ navigator.sendBeacon('/ees/track', body) ||
192
192
 
193
193
  ### Lightweight ingest
194
194
 
195
- - `POST /ees/track` accepts a batch of up to 50 events at once.
195
+ - `POST /ees/track` accepts a batch of up to 50 events at once. The
196
+ `customerId` of a batch comes from the Vendure session of the request
197
+ (never from the body); `OPTIONS /ees/track` answers the CORS preflight.
198
+ With `corsAllowedOrigins` set, a request from any other origin gets no
199
+ `Access-Control-Allow-Origin` header.
196
200
  - Visitor + session cookies (`ees_vid`, `ees_sid`) issued + refreshed
197
201
  automatically. When `signingSecret` is set, cookies are HMAC-signed
198
202
  and tampered values are rejected — the visitor gets a fresh id.
@@ -307,10 +311,14 @@ address). Admin: `GET /ees/abandoned-carts/opt-outs`,
307
311
  customer request; `GET /ees/abandoned-carts/:id` reports `optedOut`.
308
312
 
309
313
  **Schema.** The 0.18.0 columns and the opt-out table are added at boot
310
- with `ADD COLUMN IF NOT EXISTS` / `CREATE TABLE IF NOT EXISTS` (MariaDB
311
- and PostgreSQL). Installs that run TypeORM migrations for plugins can
312
- generate one as usual — the `AbandonedCart` entity declares the same
313
- columns, so the generator finds nothing to add once the plugin has booted.
314
+ (an information-schema check, then `ALTER TABLE … ADD COLUMN` /
315
+ `CREATE TABLE IF NOT EXISTS` — MariaDB, MySQL 8 and PostgreSQL). Installs
316
+ that run TypeORM migrations for plugins can generate one as usual — the
317
+ `AbandonedCart` entity declares the same columns, so the generator finds
318
+ nothing to add once the plugin has booted. Closed carts (expired /
319
+ converted / dismissed) older than 180 days are pruned monthly on the
320
+ worker; every raw statement in the plugin is checked against PostgreSQL
321
+ 17 by `tests/pg-corpus.test.ts`.
314
322
 
315
323
  **Slack notification.**
316
324
  `abandonment.slackWebhookUrl` + `abandonment.slackMinValueMinor`
@@ -340,8 +348,11 @@ Three endpoints, all safe from the storefront (no PII):
340
348
  | `GET /ees/recommendations/personal?visitorId=abc&limit=10` | homepage / cart recs for a returning visitor. Uses their last 10 `product_view` events over 30 days, excludes the seeds so the same product never appears |
341
349
  | `GET /ees/recommendations/trending?hours=24&limit=10` | homepage rail: most-viewed products in the window. Reflects real intent (not search-console clicks) |
342
350
 
343
- `GET /ees/recommendations/aggregate-now` (SuperAdmin only) forces a
344
- sweep — useful after a big backfill or spike.
351
+ `GET /ees/recommendations/aggregate-now` (SuperAdmin only) runs the
352
+ sweep now. It is idempotent: events up to the persisted end of the last
353
+ sweep are not counted again, so it is safe to call after the 6-hourly
354
+ cron. Add `?force=1` to rebuild regardless (e.g. after truncating
355
+ `product_co_view`). Pairs not refreshed in 90 days are pruned monthly.
345
356
 
346
357
  ### Site search analytics (since 0.8.0)
347
358
 
@@ -381,7 +392,8 @@ time-on-page, country, browser, OS.
381
392
  ### CSV export
382
393
 
383
394
  `GET /ees/visitors/export.csv?days=N` (max 90 days) returns the raw
384
- events with full enrichment.
395
+ events with full enrichment, streamed in id order (up to 200 000 rows);
396
+ `GET /ees/abandoned-carts/export.csv?days=N` streams up to 50 000 carts.
385
397
 
386
398
  ## HTTP endpoints
387
399
 
@@ -1 +1 @@
1
- {"version":3,"file":"abandoned-cart.controller.d.ts","sourceRoot":"","sources":["../src/abandoned-cart.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,EAAO,cAAc,EAAqB,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIhE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBACa,uBAAwB,YAAW,sBAAsB;IAGtD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,OAAO,CAA4B;gBAEd,OAAO,EAAE,oBAAoB;IAE1D,sBAAsB,IAAI,IAAI;IAO9B;mFAC+E;IAC/E,OAAO,CAAC,WAAW;IAab,IAAI,CACC,GAAG,EAAE,cAAc,EACX,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM;;;;;;IA8DlC,uDAAuD;IACvD,OAAO,CAAC,iBAAiB;IAiBnB,OAAO,CAAQ,GAAG,EAAE,cAAc,EAAiB,OAAO,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;IAyCnE,SAAS,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,QAAQ,EAAiB,OAAO,CAAC,EAAE,MAAM;IA8BjG;;;;;;OAMG;IAEG,SAAS,CAAQ,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ,EAAc,QAAQ,CAAC,EAAE,MAAM;IAYlF,UAAU,CAAQ,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ,EAAc,QAAQ,CAAC,EAAE,MAAM,EAAU,IAAI,CAAC,EAAE,GAAG;YAQ/F,WAAW;IASzB,OAAO,CAAC,UAAU;IAgBZ,WAAW,CAAQ,GAAG,EAAE,cAAc,EAAiB,OAAO,CAAC,EAAE,MAAM,EAAiB,OAAO,CAAC,EAAE,MAAM;;;;;;IASxG,YAAY,CAAQ,GAAG,EAAE,cAAc,EAAU,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;IAOzE,MAAM,CAAQ,GAAG,EAAE,cAAc,EAAe,KAAK,EAAE,MAAM;IA0BnE;;;;;;;OAOG;YACW,oBAAoB;IAyE5B,iBAAiB,CACZ,GAAG,EAAE,cAAc,EACb,KAAK,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;;;;;;;;;;;IAahD,SAAS,CACJ,GAAG,EAAE,cAAc,EACb,KAAK,EAAE,MAAM,EAClB,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;IAWrC;;;;OAIG;IAEG,OAAO,CAAQ,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ,EAAc,KAAK,CAAC,EAAE,MAAM;IAUnF;;;;;;;;OAQG;IAEG,MAAM,CAAQ,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ,EAAc,MAAM,CAAC,EAAE,MAAM,EAAU,IAAI,CAAC,EAAE,GAAG;IAUvG;;;;OAIG;IAEG,SAAS,CAAQ,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ,EAAc,MAAM,CAAC,EAAE,MAAM,EAAU,IAAI,CAAC,EAAE,GAAG;CAS7G"}
1
+ {"version":3,"file":"abandoned-cart.controller.d.ts","sourceRoot":"","sources":["../src/abandoned-cart.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuD,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,EAAO,cAAc,EAAqB,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAKhE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBACa,uBAAwB,YAAW,sBAAsB;IAGtD,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,OAAO,CAA4B;gBAEd,OAAO,EAAE,oBAAoB;IAE1D,sBAAsB,IAAI,IAAI;IAO9B;mFAC+E;IAC/E,OAAO,CAAC,WAAW;IAab,IAAI,CACC,GAAG,EAAE,cAAc,EACX,OAAO,CAAC,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE,MAAM;;;;;;IA8DlC,uDAAuD;IACvD,OAAO,CAAC,iBAAiB;IAiBnB,OAAO,CAAQ,GAAG,EAAE,cAAc,EAAiB,OAAO,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;IAyCnE,SAAS,CAAQ,GAAG,EAAE,cAAc,EAAS,GAAG,EAAE,QAAQ,EAAiB,OAAO,CAAC,EAAE,MAAM;IA2CjG;;;;;;OAMG;IAEG,SAAS,CAAQ,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ,EAAc,QAAQ,CAAC,EAAE,MAAM;IAYlF,UAAU,CAAQ,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ,EAAc,QAAQ,CAAC,EAAE,MAAM,EAAU,IAAI,CAAC,EAAE,GAAG;YAQ/F,WAAW;IASzB,OAAO,CAAC,UAAU;IAgBZ,WAAW,CAAQ,GAAG,EAAE,cAAc,EAAiB,OAAO,CAAC,EAAE,MAAM,EAAiB,OAAO,CAAC,EAAE,MAAM;;;;;;IASxG,YAAY,CAAQ,GAAG,EAAE,cAAc,EAAU,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;IAOzE,MAAM,CAAQ,GAAG,EAAE,cAAc,EAAe,KAAK,EAAE,MAAM;IA0BnE;;;;;;;OAOG;YACW,oBAAoB;IAyE5B,iBAAiB,CACZ,GAAG,EAAE,cAAc,EACb,KAAK,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;;;;;;;;;;;IAahD,SAAS,CACJ,GAAG,EAAE,cAAc,EACb,KAAK,EAAE,MAAM,EAClB,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;IAWrC;;;;OAIG;IAEG,OAAO,CAAQ,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ,EAAc,KAAK,CAAC,EAAE,MAAM;IAUnF;;;;;;;;OAQG;IAEG,MAAM,CAAQ,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ,EAAc,MAAM,CAAC,EAAE,MAAM,EAAU,IAAI,CAAC,EAAE,GAAG;IAUvG;;;;OAIG;IAEG,SAAS,CAAQ,GAAG,EAAE,OAAO,EAAS,GAAG,EAAE,QAAQ,EAAc,MAAM,CAAC,EAAE,MAAM,EAAU,IAAI,CAAC,EAAE,GAAG;CAS7G"}
@@ -18,6 +18,7 @@ const core_1 = require("@vendure/core");
18
18
  const vendure_licence_sdk_1 = require("@huloglobal/vendure-licence-sdk");
19
19
  const abandoned_cart_service_1 = require("./abandoned-cart.service");
20
20
  const proxy_headers_1 = require("./proxy-headers");
21
+ const visitor_tracking_controller_1 = require("./visitor-tracking.controller");
21
22
  const recovery_tokens_1 = require("./recovery-tokens");
22
23
  /**
23
24
  * Admin API for the Abandoned Cart feature.
@@ -85,25 +86,25 @@ let AbandonedCartController = class AbandonedCartController {
85
86
  params.push(`%${email.toLowerCase()}%`);
86
87
  }
87
88
  const clause = where.length ? `WHERE ${where.join(' AND ')}` : '';
88
- const conn = this.service.connection.rawConnection;
89
+ const conn = (0, vendure_licence_sdk_1.adapterFor)(this.service.connection.rawConnection);
89
90
  const [rows, totalRow] = await Promise.all([
90
91
  conn.query(
91
92
  // itemsJson included so the list can render a preview of the
92
93
  // first few item names alongside the count. Slightly heavier
93
94
  // than the previous SELECT but capped by LIMIT and paginated,
94
95
  // so the payload growth stays proportional to the page size.
95
- `SELECT id, sessionId, visitorId, customerId, currency, totalMinor, itemCount,
96
- itemsJson, email, status, abandonedAt, recoveredAt, notificationSent,
97
- resumeOrderCode, recoveryStep, convertedAt, convertedOrderId, convertedOrderCode,
98
- utmSource, utmMedium, utmCampaign, countryCode, regionCode, city,
99
- ip, ipHash, userAgent, browser, deviceType,
100
- landingUrl, lastKnownUrl, lastKnownReferrer,
101
- pageViews, dwellSeconds,
102
- firstName, lastName, phone,
103
- firstSnapshotAt, lastSnapshotAt
96
+ `SELECT id, \`sessionId\`, \`visitorId\`, \`customerId\`, currency, \`totalMinor\`, \`itemCount\`,
97
+ \`itemsJson\`, email, status, \`abandonedAt\`, \`recoveredAt\`, \`notificationSent\`,
98
+ \`resumeOrderCode\`, \`recoveryStep\`, \`convertedAt\`, \`convertedOrderId\`, \`convertedOrderCode\`,
99
+ \`utmSource\`, \`utmMedium\`, \`utmCampaign\`, \`countryCode\`, \`regionCode\`, city,
100
+ ip, \`ipHash\`, \`userAgent\`, browser, \`deviceType\`,
101
+ \`landingUrl\`, \`lastKnownUrl\`, \`lastKnownReferrer\`,
102
+ \`pageViews\`, \`dwellSeconds\`,
103
+ \`firstName\`, \`lastName\`, phone,
104
+ \`firstSnapshotAt\`, \`lastSnapshotAt\`
104
105
  FROM abandoned_cart
105
106
  ${clause}
106
- ORDER BY abandonedAt DESC
107
+ ORDER BY \`abandonedAt\` DESC
107
108
  LIMIT ? OFFSET ?`, [...params, take, skip]),
108
109
  conn.query(`SELECT COUNT(*) AS c FROM abandoned_cart ${clause}`, params),
109
110
  ]);
@@ -149,19 +150,19 @@ let AbandonedCartController = class AbandonedCartController {
149
150
  async summary(ctx, daysRaw) {
150
151
  const days = Math.min(Math.max(1, parseInt(daysRaw || '30', 10) || 30), 365);
151
152
  const since = new Date(Date.now() - days * 86400000);
152
- const conn = this.service.connection.rawConnection;
153
+ const conn = (0, vendure_licence_sdk_1.adapterFor)(this.service.connection.rawConnection);
153
154
  const rows = await conn.query(`SELECT
154
155
  COUNT(*) AS total,
155
- SUM(CASE WHEN status='abandoned' THEN 1 ELSE 0 END) AS openCount,
156
- SUM(CASE WHEN status='recovered' THEN 1 ELSE 0 END) AS recoveredCount,
157
- SUM(CASE WHEN status='converted' THEN 1 ELSE 0 END) AS convertedCount,
158
- SUM(CASE WHEN status='expired' THEN 1 ELSE 0 END) AS expiredCount,
159
- SUM(CASE WHEN status='dismissed' THEN 1 ELSE 0 END) AS dismissedCount,
160
- SUM(totalMinor) AS totalValueMinor,
161
- SUM(CASE WHEN status IN ('recovered','converted') THEN totalMinor ELSE 0 END) AS recoveredValueMinor,
162
- AVG(totalMinor) AS avgValueMinor
156
+ SUM(CASE WHEN status='abandoned' THEN 1 ELSE 0 END) AS \`openCount\`,
157
+ SUM(CASE WHEN status='recovered' THEN 1 ELSE 0 END) AS \`recoveredCount\`,
158
+ SUM(CASE WHEN status='converted' THEN 1 ELSE 0 END) AS \`convertedCount\`,
159
+ SUM(CASE WHEN status='expired' THEN 1 ELSE 0 END) AS \`expiredCount\`,
160
+ SUM(CASE WHEN status='dismissed' THEN 1 ELSE 0 END) AS \`dismissedCount\`,
161
+ SUM(\`totalMinor\`) AS \`totalValueMinor\`,
162
+ SUM(CASE WHEN status IN ('recovered','converted') THEN \`totalMinor\` ELSE 0 END) AS \`recoveredValueMinor\`,
163
+ AVG(\`totalMinor\`) AS \`avgValueMinor\`
163
164
  FROM abandoned_cart
164
- WHERE abandonedAt >= ?`, [since]);
165
+ WHERE \`abandonedAt\` >= ?`, [since]);
165
166
  const s = (rows === null || rows === void 0 ? void 0 : rows[0]) || {};
166
167
  const total = Number(s.total || 0);
167
168
  const rec = Number(s.recoveredCount || 0) + Number(s.convertedCount || 0);
@@ -184,13 +185,7 @@ let AbandonedCartController = class AbandonedCartController {
184
185
  async exportCsv(ctx, res, daysRaw) {
185
186
  const days = Math.min(Math.max(1, parseInt(daysRaw || '30', 10) || 30), 365);
186
187
  const since = new Date(Date.now() - days * 86400000);
187
- const conn = this.service.connection.rawConnection;
188
- const rows = await conn.query(`SELECT id, sessionId, visitorId, customerId, currency, totalMinor, itemCount,
189
- email, status, abandonedAt, recoveredAt, utmSource, utmMedium, utmCampaign, countryCode
190
- FROM abandoned_cart
191
- WHERE abandonedAt >= ?
192
- ORDER BY abandonedAt DESC
193
- LIMIT 50000`, [since]);
188
+ const conn = (0, vendure_licence_sdk_1.adapterFor)(this.service.connection.rawConnection);
194
189
  res.setHeader('content-type', 'text/csv; charset=utf-8');
195
190
  res.setHeader('content-disposition', `attachment; filename="abandoned-carts-${new Date().toISOString().slice(0, 10)}.csv"`);
196
191
  const esc = (v) => {
@@ -202,8 +197,30 @@ let AbandonedCartController = class AbandonedCartController {
202
197
  const cols = ['id', 'sessionId', 'visitorId', 'customerId', 'currency', 'totalMinor', 'itemCount',
203
198
  'email', 'status', 'abandonedAt', 'recoveredAt', 'utmSource', 'utmMedium', 'utmCampaign', 'countryCode'];
204
199
  res.write(cols.join(',') + '\n');
205
- for (const r of rows) {
206
- res.write(cols.map(c => esc(r[c])).join(',') + '\n');
200
+ // Streamed in id-ordered chunks instead of materialising up to 50 000 rows.
201
+ const CHUNK = 5000;
202
+ const MAX_ROWS = 50000;
203
+ let lastId = 0;
204
+ let written = 0;
205
+ while (written < MAX_ROWS) {
206
+ const rows = await conn.query(`SELECT id, \`sessionId\`, \`visitorId\`, \`customerId\`, currency, \`totalMinor\`, \`itemCount\`,
207
+ email, status, \`abandonedAt\`, \`recoveredAt\`, \`utmSource\`, \`utmMedium\`, \`utmCampaign\`, \`countryCode\`
208
+ FROM abandoned_cart
209
+ WHERE id > ? AND \`abandonedAt\` >= ?
210
+ ORDER BY id
211
+ LIMIT ?`, [lastId, since, Math.min(CHUNK, MAX_ROWS - written)]);
212
+ if (!rows.length)
213
+ break;
214
+ let out = '';
215
+ for (const r of rows) {
216
+ out += cols.map(c => esc(r[c] instanceof Date ? r[c].toISOString() : r[c])).join(',') + '\n';
217
+ }
218
+ lastId = Number(rows[rows.length - 1].id);
219
+ written += rows.length;
220
+ if (!res.write(out))
221
+ await (0, visitor_tracking_controller_1.drained)(res);
222
+ if (res.destroyed || res.writableEnded)
223
+ return;
207
224
  }
208
225
  res.end();
209
226
  }
@@ -269,7 +286,7 @@ let AbandonedCartController = class AbandonedCartController {
269
286
  }
270
287
  async detail(ctx, idRaw) {
271
288
  const id = parseInt(idRaw, 10);
272
- const conn = this.service.connection.rawConnection;
289
+ const conn = (0, vendure_licence_sdk_1.adapterFor)(this.service.connection.rawConnection);
273
290
  const rows = await conn.query(`SELECT * FROM abandoned_cart WHERE id = ? LIMIT 1`, [id]);
274
291
  if (!(rows === null || rows === void 0 ? void 0 : rows.length))
275
292
  return { error: 'not-found' };
@@ -304,7 +321,7 @@ let AbandonedCartController = class AbandonedCartController {
304
321
  async enrichItemsWithNames(items) {
305
322
  if (!Array.isArray(items) || !items.length)
306
323
  return items || [];
307
- const conn = this.service.connection.rawConnection;
324
+ const conn = (0, vendure_licence_sdk_1.adapterFor)(this.service.connection.rawConnection);
308
325
  const variantIds = new Set();
309
326
  const productIds = new Set();
310
327
  for (const it of items) {
@@ -323,11 +340,11 @@ let AbandonedCartController = class AbandonedCartController {
323
340
  try {
324
341
  const vids = Array.from(variantIds);
325
342
  const ph = vids.map(() => '?').join(',');
326
- const rows = await conn.query(`SELECT pv.id AS variantId, pv.productId AS productId, pvt.name AS name
343
+ const rows = await conn.query(`SELECT pv.id AS \`variantId\`, pv.\`productId\` AS \`productId\`, pvt.name AS name
327
344
  FROM product_variant pv
328
- LEFT JOIN product_variant_translation pvt ON pvt.baseId = pv.id
345
+ LEFT JOIN product_variant_translation pvt ON pvt.\`baseId\` = pv.id
329
346
  WHERE pv.id IN (${ph})
330
- ORDER BY pv.id, pvt.languageCode = 'en' DESC`, vids);
347
+ ORDER BY pv.id, pvt.\`languageCode\` = 'en' DESC`, vids);
331
348
  for (const row of rows) {
332
349
  const vid = Number(row.variantId);
333
350
  if (variantNames.has(vid))
@@ -344,9 +361,9 @@ let AbandonedCartController = class AbandonedCartController {
344
361
  try {
345
362
  const pids = Array.from(productIds);
346
363
  const ph = pids.map(() => '?').join(',');
347
- const rows = await conn.query(`SELECT baseId AS productId, name FROM product_translation
348
- WHERE baseId IN (${ph})
349
- ORDER BY baseId, languageCode = 'en' DESC`, pids);
364
+ const rows = await conn.query(`SELECT \`baseId\` AS \`productId\`, name FROM product_translation
365
+ WHERE \`baseId\` IN (${ph})
366
+ ORDER BY \`baseId\`, \`languageCode\` = 'en' DESC`, pids);
350
367
  for (const row of rows) {
351
368
  const pid = Number(row.productId);
352
369
  if (productNames.has(pid))
@@ -1 +1 @@
1
- {"version":3,"file":"abandoned-cart.controller.js","sourceRoot":"","sources":["../src/abandoned-cart.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abandoned-cart.controller.js","sourceRoot":"","sources":["../src/abandoned-cart.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAA6G;AAC7G,wCAAuE;AAEvE,yEAA0E;AAC1E,qEAAgE;AAChE,mDAA4C;AAC5C,+EAAwD;AACxD,uDAAyE;AAEzE;;;;;;;;;;;;;;;;;;;GAmBG;AAEI,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAGhC,YAA6B,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;QAFlD,YAAO,GAAuB,IAAI,CAAC;IAEkB,CAAC;IAE9D,sBAAsB;QAClB,oEAAoE;QACpE,oEAAoE;QACpE,2DAA2D;QAC3D,IAAI,CAAC,OAAO,GAAG,IAAI,iCAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAM,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;mFAC+E;IACvE,WAAW,CAAC,GAAY,EAAE,GAAa,EAAE,MAAc,EAAE,IAAY;QACzE,MAAM,EAAE,GAAG,IAAA,yBAAS,EAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;YACnC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAIK,AAAN,KAAK,CAAC,IAAI,CACC,GAAmB,EACX,OAAgB,EAChB,OAAgB,EACd,MAAe,EACb,WAAoB,EACvB,KAAc;;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,IAAI,MAAM,EAAE,CAAC;YAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAAC,CAAC;QAC9D,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;QAC9E,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,IAAA,gCAAU,EAAE,IAAI,CAAC,OAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACxE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACvC,IAAI,CAAC,KAAK;YACN,6DAA6D;YAC7D,6DAA6D;YAC7D,8DAA8D;YAC9D,6DAA6D;YAC7D;;;;;;;;;;mBAUG,MAAM;;kCAES,EAClB,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAC1B;YACD,IAAI,CAAC,KAAK,CAAC,4CAA4C,MAAM,EAAE,EAAE,MAAM,CAAC;SAC3E,CAAC,CAAC;QACH,wBAAwB;QACxB,iEAAiE;QACjE,iDAAiD;QACjD,8CAA8C;QAC9C,6DAA6D;QAC7D,wDAAwD;QACxD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,KAAK,GAAU,EAAE,CAAC;YACtB,IAAI,CAAC;gBAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;YACzD,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC;YAChB,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAC/C,+DAA+D;YAC/D,iEAAiE;YACjE,OAAO,CAAC,CAAC,SAAS,CAAC;QACvB,CAAC;QACD,OAAO;YACH,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,MAAM,CAAC,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,CAAC,CAAC,0CAAE,CAAC,KAAI,CAAC,CAAC;YACpC,IAAI,EAAE,IAAI;SACb,CAAC;IACN,CAAC;IAED,uDAAuD;IAC/C,iBAAiB,CAAC,KAAY;QAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACtD,4DAA4D;QAC5D,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,KAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,GAAG,KAAI,CAAC,CAAC,CACtD,CAAC;QACF,MAAM,KAAK,GAAG,MAAM;aACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,IAAI,KAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;aACtC,MAAM,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,GAAG,KAAK,CAAC,MAAM,UAAU,CAAC;QACpD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACnC,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,SAAS,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/D,CAAC;IAIK,AAAN,KAAK,CAAC,OAAO,CAAQ,GAAmB,EAAiB,OAAgB;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,QAAS,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,IAAA,gCAAU,EAAE,IAAI,CAAC,OAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACxE,MAAM,IAAI,GAAU,MAAM,IAAI,CAAC,KAAK,CAChC;;;;;;;;;;;wCAW4B,EAC5B,CAAC,KAAK,CAAC,CACV,CAAC;QACF,MAAM,CAAC,GAAG,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,CAAC,CAAC,KAAI,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjE,OAAO;YACH,UAAU,EAAE,IAAI;YAChB,WAAW;YACX,KAAK;YACL,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC;YACnC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC;YAC7C,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC;YAC7C,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC;YACzC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC;YAC7C,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;YAClE,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC;YAC/C,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,mBAAmB,IAAI,CAAC,CAAC;YACvD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,CAAC;SAC1D,CAAC;IACN,CAAC;IAIK,AAAN,KAAK,CAAC,SAAS,CAAQ,GAAmB,EAAS,GAAa,EAAiB,OAAgB;QAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,QAAS,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,IAAA,gCAAU,EAAE,IAAI,CAAC,OAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACxE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,yBAAyB,CAAC,CAAC;QACzD,GAAG,CAAC,SAAS,CAAC,qBAAqB,EAC/B,yCAAyC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC1F,MAAM,GAAG,GAAG,CAAC,CAAM,EAAE,EAAE;YACnB,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,8BAA8B;YACvE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,IAAI,EAAC,WAAW,EAAC,WAAW,EAAC,YAAY,EAAC,UAAU,EAAC,YAAY,EAAC,WAAW;YAC7E,OAAO,EAAC,QAAQ,EAAC,aAAa,EAAC,aAAa,EAAC,WAAW,EAAC,WAAW,EAAC,aAAa,EAAC,aAAa,CAAC,CAAC;QAChH,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACjC,4EAA4E;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC;QACnB,MAAM,QAAQ,GAAG,KAAM,CAAC;QACxB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,OAAO,OAAO,GAAG,QAAQ,EAAE,CAAC;YACxB,MAAM,IAAI,GAAU,MAAM,IAAI,CAAC,KAAK,CAChC;;;;;yBAKS,EACT,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,CAAC,CACvD,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,MAAM;YACxB,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACnB,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACjG,CAAC;YACD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC1C,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC;YACvB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAA,qCAAO,EAAC,GAAG,CAAC,CAAC;YACxC,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,aAAa;gBAAE,OAAO;QACnD,CAAC;QACD,GAAG,CAAC,GAAG,EAAE,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IAEG,AAAN,KAAK,CAAC,SAAS,CAAQ,GAAY,EAAS,GAAa,EAAc,QAAiB;QACpF,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YAAE,OAAO;QACrD,2EAA2E;QAC3E,wEAAwE;QACxE,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACpF,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,kCAAkC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/G,CAAC;IAGK,AAAN,KAAK,CAAC,UAAU,CAAQ,GAAY,EAAS,GAAa,EAAc,QAAiB,EAAU,IAAU;QACzG,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YAAE,OAAO;QACrD,MAAM,KAAK,GAAG,QAAQ,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,CAAC,CAAA,IAAI,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,GAAY,EAAE,QAAiB;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;QAC7D,MAAM,KAAK,GAAG,IAAA,mCAAiB,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QACzD,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAA,yBAAS,EAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACxB,CAAC;IAEO,UAAU,CAAC,EAAW,EAAE,aAAsB;QAClD,MAAM,KAAK,GAAG,aAAa,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAClI,MAAM,IAAI,GAAG,aAAa;YACtB,CAAC,CAAC,+BAA+B,aAAa,8KAA8K;YAC5N,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,mGAAmG;gBACrG,CAAC,CAAC,iHAAiH,CAAC;QACxH,OAAO,gIAAgI;cACjI,gDAAgD,KAAK,UAAU;cAC/D,+LAA+L;cAC/L,8NAA8N;cAC9N,0BAA0B,KAAK,WAAW,IAAI,2BAA2B,CAAC;IACpF,CAAC;IAIK,AAAN,KAAK,CAAC,WAAW,CAAQ,GAAmB,EAAiB,OAAgB,EAAiB,OAAgB;QAC1G,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,OAAO,IAAI,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACpE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IAIK,AAAN,KAAK,CAAC,YAAY,CAAQ,GAAmB,EAAU,IAAwB;QAC3E,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IACtD,CAAC;IAIK,AAAN,KAAK,CAAC,MAAM,CAAQ,GAAmB,EAAe,KAAa;QAC/D,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAA,gCAAU,EAAE,IAAI,CAAC,OAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACxE,MAAM,IAAI,GAAU,MAAM,IAAI,CAAC,KAAK,CAChC,mDAAmD,EACnD,CAAC,EAAE,CAAC,CACP,CAAC;QACF,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA;YAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,KAAK,GAAU,EAAE,CAAC;QACtB,IAAI,CAAC;YAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QACzD,8DAA8D;QAC9D,2DAA2D;QAC3D,8DAA8D;QAC9D,uDAAuD;QACvD,6DAA6D;QAC7D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC1E,OAAO;YACH,GAAG,CAAC;YACJ,KAAK,EAAE,aAAa;YACpB,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;YACnD,QAAQ;SACX,CAAC;IACN,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,oBAAoB,CAAC,KAAY;QAC3C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAA,gCAAU,EAAE,IAAI,CAAC,OAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QACrC,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;YACrB,IAAI,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI;gBAAE,SAAS;YACvB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,SAAS,CAAC,CAAC;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,SAAS,CAAC,CAAC;YAClC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,GAAG,EAA+C,CAAC;QAC5E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC/C,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAU,MAAM,IAAI,CAAC,KAAK,CAChC;;;uCAGmB,EAAE;sEAC6B,EAClD,IAAI,CACP,CAAC;gBACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAClC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,SAAS;oBACpC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE;wBAClB,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;wBAC5B,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;qBACnC,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC;gBACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAU,MAAM,IAAI,CAAC,KAAK,CAChC;4CACwB,EAAE;uEACyB,EACnD,IAAI,CACP,CAAC;gBACF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAClC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,SAAS;oBACpC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;gBAClD,CAAC;YACL,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAClB,IAAI,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI;gBAAE,OAAO,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,SAAS,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE,CAAC;gBACd,OAAO;oBACH,GAAG,EAAE;oBACL,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS;iBAC7C,CAAC;YACN,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,SAAS,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,KAAK;gBAAE,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YACzC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAIK,AAAN,KAAK,CAAC,iBAAiB,CACZ,GAAmB,EACb,KAAa,EAClB,IAA0C;QAElD,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/B,MAAM,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,eAAe,KAAK,SAAS;YACtD,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAA,mCAAiB,EAAC,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE;YAC7G,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,KAAK,EAAE,gCAAgC,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC;QAC3H,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC7B,CAAC;IAIK,AAAN,KAAK,CAAC,SAAS,CACJ,GAAmB,EACb,KAAa,EAClB,IAAyB;QAEjC,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,KAAI,EAAE,CAAQ,CAAC;QACjD,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5D,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC;QACvC,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,MAAa,CAAC,CAAC;QAC5D,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;IACtD,CAAC;IAED;;;;OAIG;IAEG,AAAN,KAAK,CAAC,OAAO,CAAQ,GAAY,EAAS,GAAa,EAAc,KAAc;QAC/E,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YAAE,OAAO;QACrD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;OAQG;IAEG,AAAN,KAAK,CAAC,MAAM,CAAQ,GAAY,EAAS,GAAa,EAAc,MAAe,EAAU,IAAU;QACnG,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;YAAE,OAAO;QACrD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,CAAC,CAAA,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,IAAI,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;YAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IAEG,AAAN,KAAK,CAAC,SAAS,CAAQ,GAAY,EAAS,GAAa,EAAc,MAAe,EAAU,IAAU;QACtG,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;YAAE,OAAO;QACvD,GAAG,CAAC,SAAS,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,KAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,CAAC,CAAA,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,IAAA,mCAAiB,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,6BAA6B,EAAE,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QACjG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACrE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;CACJ,CAAA;AAtcY,0DAAuB;AA2B1B;IAFL,IAAA,YAAG,EAAC,iBAAiB,CAAC;IACtB,IAAA,YAAK,EAAC,iBAAU,CAAC,YAAY,CAAC;IAE1B,WAAA,IAAA,UAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IACb,WAAA,IAAA,cAAK,EAAC,QAAQ,CAAC,CAAA;IACf,WAAA,IAAA,cAAK,EAAC,UAAU,CAAC,CAAA;IACjB,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;qCALH,qBAAc;;mDAiE7B;AAoBK;IAFL,IAAA,YAAG,EAAC,yBAAyB,CAAC;IAC9B,IAAA,YAAK,EAAC,iBAAU,CAAC,YAAY,CAAC;IAChB,WAAA,IAAA,UAAG,GAAE,CAAA;IAAuB,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;;qCAA9B,qBAAc;;sDAqCvC;AAIK;IAFL,IAAA,YAAG,EAAC,4BAA4B,CAAC;IACjC,IAAA,YAAK,EAAC,iBAAU,CAAC,YAAY,CAAC;IACd,WAAA,IAAA,UAAG,GAAE,CAAA;IAAuB,WAAA,IAAA,YAAG,GAAE,CAAA;IAAiB,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;;qCAApD,qBAAc;;wDAyCzC;AAUK;IADL,IAAA,YAAG,EAAC,yBAAyB,CAAC;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;IAAiB,WAAA,IAAA,cAAK,EAAC,GAAG,CAAC,CAAA;;;;wDASrE;AAGK;IADL,IAAA,aAAI,EAAC,yBAAyB,CAAC;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;IAAiB,WAAA,IAAA,cAAK,EAAC,GAAG,CAAC,CAAA;IAAqB,WAAA,IAAA,aAAI,GAAE,CAAA;;;;yDAMjG;AA2BK;IAFL,IAAA,YAAG,EAAC,0BAA0B,CAAC;IAC/B,IAAA,YAAK,EAAC,iBAAU,CAAC,YAAY,CAAC;IACZ,WAAA,IAAA,UAAG,GAAE,CAAA;IAAuB,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;IAAoB,WAAA,IAAA,cAAK,EAAC,MAAM,CAAC,CAAA;;qCAA/D,qBAAc;;0DAK3C;AAIK;IAFL,IAAA,aAAI,EAAC,iCAAiC,CAAC;IACvC,IAAA,YAAK,EAAC,iBAAU,CAAC,cAAc,CAAC;IACb,WAAA,IAAA,UAAG,GAAE,CAAA;IAAuB,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAAvB,qBAAc;;2DAG5C;AAIK;IAFL,IAAA,YAAG,EAAC,qBAAqB,CAAC;IAC1B,IAAA,YAAK,EAAC,iBAAU,CAAC,YAAY,CAAC;IACjB,WAAA,IAAA,UAAG,GAAE,CAAA;IAAuB,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;;qCAA5B,qBAAc;;qDAwBtC;AAmFK;IAFL,IAAA,aAAI,EAAC,mCAAmC,CAAC;IACzC,IAAA,YAAK,EAAC,iBAAU,CAAC,cAAc,CAAC;IAE5B,WAAA,IAAA,UAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IACX,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAFK,qBAAc;;gEAW7B;AAIK;IAFL,IAAA,aAAI,EAAC,4BAA4B,CAAC;IAClC,IAAA,YAAK,EAAC,iBAAU,CAAC,cAAc,CAAC;IAE5B,WAAA,IAAA,UAAG,GAAE,CAAA;IACL,WAAA,IAAA,cAAK,EAAC,IAAI,CAAC,CAAA;IACX,WAAA,IAAA,aAAI,GAAE,CAAA;;qCAFK,qBAAc;;wDAW7B;AAQK;IADL,IAAA,YAAG,EAAC,cAAc,CAAC;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;IAAiB,WAAA,IAAA,cAAK,EAAC,GAAG,CAAC,CAAA;;;;sDAQnE;AAYK;IADL,IAAA,aAAI,EAAC,qBAAqB,CAAC;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;IAAiB,WAAA,IAAA,cAAK,EAAC,GAAG,CAAC,CAAA;IAAmB,WAAA,IAAA,aAAI,GAAE,CAAA;;;;qDAQ3F;AAQK;IADL,IAAA,aAAI,EAAC,wBAAwB,CAAC;IACd,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgB,WAAA,IAAA,YAAG,GAAE,CAAA;IAAiB,WAAA,IAAA,cAAK,EAAC,GAAG,CAAC,CAAA;IAAmB,WAAA,IAAA,aAAI,GAAE,CAAA;;;;wDAQ9F;kCArcQ,uBAAuB;IADnC,IAAA,mBAAU,EAAC,KAAK,CAAC;qCAIwB,6CAAoB;GAHjD,uBAAuB,CAscnC"}
@@ -27,8 +27,12 @@ export declare class AbandonedCartScanner implements OnApplicationBootstrap, OnA
27
27
  private readonly processContext;
28
28
  private cartTimer;
29
29
  private recsTimer;
30
+ private pruneTimer;
31
+ /** `YYYY-MM` of the last completed prune (in-memory: a restart re-runs it once, harmlessly). */
32
+ private prunedMonth;
30
33
  constructor(cartSvc: AbandonedCartService, recsSvc: RecommendationsService, processContext: ProcessContext);
31
34
  onApplicationBootstrap(): void;
35
+ private pruneIfDue;
32
36
  onApplicationShutdown(): void;
33
37
  }
34
38
  //# sourceMappingURL=abandoned-cart.scanner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abandoned-cart.scanner.d.ts","sourceRoot":"","sources":["../src/abandoned-cart.scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,oBAAqB,YAAW,sBAAsB,EAAE,qBAAqB;IAKlF,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IANnC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAA+B;gBAG3B,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,cAAc;IAGnD,sBAAsB;IAuCtB,qBAAqB;CAIxB"}
1
+ {"version":3,"file":"abandoned-cart.scanner.d.ts","sourceRoot":"","sources":["../src/abandoned-cart.scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAInE;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBACa,oBAAqB,YAAW,sBAAsB,EAAE,qBAAqB;IAQlF,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,cAAc;IATnC,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,SAAS,CAA+B;IAChD,OAAO,CAAC,UAAU,CAA+B;IACjD,gGAAgG;IAChG,OAAO,CAAC,WAAW,CAAM;gBAGJ,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,sBAAsB,EAC/B,cAAc,EAAE,cAAc;IAGnD,sBAAsB;YA4CR,UAAU;IAcxB,qBAAqB;CAKxB"}
@@ -41,8 +41,12 @@ let AbandonedCartScanner = class AbandonedCartScanner {
41
41
  this.processContext = processContext;
42
42
  this.cartTimer = null;
43
43
  this.recsTimer = null;
44
+ this.pruneTimer = null;
45
+ /** `YYYY-MM` of the last completed prune (in-memory: a restart re-runs it once, harmlessly). */
46
+ this.prunedMonth = '';
44
47
  }
45
48
  onApplicationBootstrap() {
49
+ var _a, _b;
46
50
  // Only the worker process runs the sweeps. Guard here rather
47
51
  // than throwing — a mono-process dev setup still works.
48
52
  if (!this.processContext.isWorker)
@@ -78,8 +82,28 @@ let AbandonedCartScanner = class AbandonedCartScanner {
78
82
  common_1.Logger.error(`Co-view aggregation failed: ${e === null || e === void 0 ? void 0 : e.message}`, loggerCtx);
79
83
  });
80
84
  }, 6 * 60 * 60000);
85
+ // Monthly housekeeping: closed carts older than 180 days and co-view pairs
86
+ // not refreshed in 90 days. Checked every 6 h, runs once per calendar month.
87
+ this.pruneTimer = setInterval(() => { this.pruneIfDue().catch(() => undefined); }, 6 * 60 * 60000);
88
+ (_b = (_a = setTimeout(() => { this.pruneIfDue().catch(() => undefined); }, 10 * 60000)).unref) === null || _b === void 0 ? void 0 : _b.call(_a);
81
89
  common_1.Logger.log('Abandoned-cart + recommendations scanners started (worker)', loggerCtx);
82
90
  }
91
+ async pruneIfDue() {
92
+ const month = new Date().toISOString().slice(0, 7);
93
+ if (month === this.prunedMonth)
94
+ return;
95
+ this.prunedMonth = month;
96
+ try {
97
+ const carts = await this.cartSvc.pruneClosedCarts(180, 5000);
98
+ const pairs = await this.recsSvc.pruneStalePairs(90, 5000);
99
+ if (carts || pairs)
100
+ common_1.Logger.log(`Monthly prune: ${carts} closed cart(s) older than 180 days, ${pairs} co-view pair(s) idle for 90 days`, loggerCtx);
101
+ }
102
+ catch (e) {
103
+ this.prunedMonth = '';
104
+ common_1.Logger.error(`Monthly prune failed: ${e === null || e === void 0 ? void 0 : e.message}`, loggerCtx);
105
+ }
106
+ }
83
107
  onApplicationShutdown() {
84
108
  if (this.cartTimer) {
85
109
  clearInterval(this.cartTimer);
@@ -89,6 +113,10 @@ let AbandonedCartScanner = class AbandonedCartScanner {
89
113
  clearInterval(this.recsTimer);
90
114
  this.recsTimer = null;
91
115
  }
116
+ if (this.pruneTimer) {
117
+ clearInterval(this.pruneTimer);
118
+ this.pruneTimer = null;
119
+ }
92
120
  }
93
121
  };
94
122
  exports.AbandonedCartScanner = AbandonedCartScanner;
@@ -1 +1 @@
1
- {"version":3,"file":"abandoned-cart.scanner.js","sourceRoot":"","sources":["../src/abandoned-cart.scanner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAmG;AACnG,wCAA+C;AAC/C,qEAAgE;AAChE,uEAAmE;AAEnE,MAAM,SAAS,GAAG,sBAAsB,CAAC;AAEzC;;;;;;;;;;;;;;;;;;GAkBG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAI7B,YACqB,OAA6B,EAC7B,OAA+B,EAC/B,cAA8B;QAF9B,YAAO,GAAP,OAAO,CAAsB;QAC7B,YAAO,GAAP,OAAO,CAAwB;QAC/B,mBAAc,GAAd,cAAc,CAAgB;QAN3C,cAAS,GAA0B,IAAI,CAAC;QACxC,cAAS,GAA0B,IAAI,CAAC;IAM7C,CAAC;IAEJ,sBAAsB;QAClB,6DAA6D;QAC7D,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ;YAAE,OAAO;QAE1C,iEAAiE;QACjE,kEAAkE;QAClE,iEAAiE;QACjE,iEAAiE;QACjE,0CAA0C;QAC1C,MAAM,OAAO,GAAG,GAAG,EAAE;YACjB,mEAAmE;YACnE,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACvD,OAAO,sBAAsB,CAAC,gBAAgB,EAAE,CAAC;QACrD,CAAC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,OAAO,EAAE;gBAAE,OAAO;YACvB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;gBACjC,eAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,CAAC,GAAG,KAAM,CAAC,CAAC;QACf,8DAA8D;QAC9D,mBAAmB;QACnB,IAAI,OAAO,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;gBACjC,eAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;YACjF,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,IAAI,CAAC,OAAO,EAAE;gBAAE,OAAO;YACvB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC9C,eAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAM,CAAC,CAAC;QAEpB,eAAM,CAAC,GAAG,CAAC,4DAA4D,EAAE,SAAS,CAAC,CAAC;IACxF,CAAC;IAED,qBAAqB;QACjB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAAC,CAAC;QAC7E,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAAC,CAAC;IACjF,CAAC;CACJ,CAAA;AArDY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,mBAAU,GAAE;qCAMqB,6CAAoB;QACpB,gDAAsB;QACf,qBAAc;GAP1C,oBAAoB,CAqDhC"}
1
+ {"version":3,"file":"abandoned-cart.scanner.js","sourceRoot":"","sources":["../src/abandoned-cart.scanner.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,15 @@ export declare class AbandonedCartService implements OnApplicationBootstrap {
94
94
  * run TypeORM migrations for plugins. Idempotent; never blocks boot. */
95
95
  onApplicationBootstrap(): Promise<void>;
96
96
  ensureSchema(): Promise<void>;
97
+ /** `abandoned_cart` is a TypeORM entity table, so on Postgres its columns are
98
+ * quoted camelCase: the column name is backticked here so an install that never
99
+ * ran the migration gets `"convertedAt"`, not a lowercase duplicate. The
100
+ * information-schema check (case-insensitive) also keeps MySQL 8 happy, which has
101
+ * no `ADD COLUMN IF NOT EXISTS`. */
102
+ private addColumnIfMissing;
103
+ /** Monthly housekeeping (worker): closed carts older than `days` and stale co-view
104
+ * pairs go in id-ordered batches of `batch`. Open (`abandoned`/`recovered`) carts are kept. */
105
+ pruneClosedCarts(days?: number, batch?: number): Promise<number>;
97
106
  private opts;
98
107
  /**
99
108
  * Full detection pass. Runs periodically (cron). Finds every session
@@ -1 +1 @@
1
- {"version":3,"file":"abandoned-cart.service.d.ts","sourceRoot":"","sources":["../src/abandoned-cart.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abandoned-cart.service.d.ts","sourceRoot":"","sources":["../src/abandoned-cart.service.ts"],"names":[],"mappings":"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"}