@antelopejs/dms-marketing 0.7.0 → 0.7.1

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 (42) hide show
  1. package/README.md +2 -2
  2. package/dist/db/models/funnels.model.d.ts +0 -1
  3. package/dist/db/models/funnels.model.js +0 -18
  4. package/dist/db/models/funnels.model.js.map +1 -1
  5. package/dist/db/models/page_snapshots.model.d.ts +0 -1
  6. package/dist/db/models/page_snapshots.model.js +0 -14
  7. package/dist/db/models/page_snapshots.model.js.map +1 -1
  8. package/dist/db/models/websites.model.d.ts +0 -1
  9. package/dist/db/models/websites.model.js +0 -29
  10. package/dist/db/models/websites.model.js.map +1 -1
  11. package/dist/db/tables/funnels.table.d.ts +0 -1
  12. package/dist/db/tables/funnels.table.js +0 -4
  13. package/dist/db/tables/funnels.table.js.map +1 -1
  14. package/dist/db/tables/page_snapshots.table.d.ts +0 -1
  15. package/dist/db/tables/page_snapshots.table.js +0 -4
  16. package/dist/db/tables/page_snapshots.table.js.map +1 -1
  17. package/dist/db/tables/websites.table.d.ts +0 -1
  18. package/dist/db/tables/websites.table.js +0 -4
  19. package/dist/db/tables/websites.table.js.map +1 -1
  20. package/dist/implementations/dms-marketing/index.js +0 -5
  21. package/dist/implementations/dms-marketing/index.js.map +1 -1
  22. package/dist/index.js +0 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/services/declarations.d.ts +0 -2
  25. package/dist/services/declarations.js +0 -11
  26. package/dist/services/declarations.js.map +1 -1
  27. package/dist/services/declared-funnel.js +11 -99
  28. package/dist/services/declared-funnel.js.map +1 -1
  29. package/dist/services/declared-snapshot.js +8 -37
  30. package/dist/services/declared-snapshot.js.map +1 -1
  31. package/dist/services/declared-website.js +5 -46
  32. package/dist/services/declared-website.js.map +1 -1
  33. package/dist/services/snapshots.d.ts +1 -0
  34. package/dist/services/snapshots.js +6 -2
  35. package/dist/services/snapshots.js.map +1 -1
  36. package/frontend-vue/app/components/PagesExplorer.vue +1 -1
  37. package/frontend-vue/package.json +1 -1
  38. package/package.json +7 -7
  39. package/skills/dms-marketing/SKILL.md +8 -7
  40. package/dist/services/readiness.d.ts +0 -2
  41. package/dist/services/readiness.js +0 -15
  42. package/dist/services/readiness.js.map +0 -1
package/README.md CHANGED
@@ -43,8 +43,8 @@ Behind a reverse proxy, set the DMS `auth.trustedProxies` option: see [Installat
43
43
 
44
44
  | Package | Version |
45
45
  | --- | --- |
46
- | `@antelopejs/dms` | `>=0.9.0 <1.0.0` |
47
- | `@antelopejs/interface-dms` | `>=0.7.2 <1.0.0` |
46
+ | `@antelopejs/dms` | `>=0.11.0 <1.0.0` |
47
+ | `@antelopejs/interface-dms` | `>=0.9.0 <1.0.0` |
48
48
  | `@antelopejs/dms-frontend` (renderer) | `>=0.6.0 <0.7.0` |
49
49
  | `@antelopejs/interface-dms-marketing` | `>=0.5.0 <0.6.0` |
50
50
  | `@antelopejs/core` (development dependency) | `>=1.16.0 <2` |
@@ -19,7 +19,6 @@ declare const FunnelsModel_base: {
19
19
  validate(obj: unknown, options?: import("@antelopejs/interface-database-decorators").ValidateInputOptions): import("@antelopejs/interface-database-decorators").ValidationResult;
20
20
  };
21
21
  export declare class FunnelsModel extends FunnelsModel_base {
22
- compareDeclared(expected: Funnel, patch: Partial<Funnel>): Promise<boolean>;
23
22
  deleteByWebsite(websiteId: string): Promise<number>;
24
23
  listByWebsite(websiteId: string): Promise<Funnel[]>;
25
24
  listRunning(websiteId: string): Promise<Funnel[]>;
@@ -5,24 +5,6 @@ const interface_database_decorators_1 = require("@antelopejs/interface-database-
5
5
  const funnels_table_1 = require("../tables/funnels.table");
6
6
  const RUNNING_STATUS = "running";
7
7
  class FunnelsModel extends (0, interface_database_decorators_1.BasicDataModel)(funnels_table_1.Funnel, funnels_table_1.funnelsTableName) {
8
- async compareDeclared(expected, patch) {
9
- const count = await this.table
10
- .filter((row) => row
11
- .key("_id")
12
- .eq(expected._id)
13
- .and(row.key("websiteId").eq(expected.websiteId))
14
- .and(row.key("name").eq(expected.name))
15
- .and(row.key("steps").eq(expected.steps))
16
- .and(row.key("conversionWindowMs").eq(expected.conversionWindowMs))
17
- .and(row.key("experiment").eq(expected.experiment))
18
- .and(row
19
- .key("declaredHash")
20
- .default("")
21
- .eq(expected.declaredHash ?? "")))
22
- .update(FunnelsModel.toDatabase({ ...patch, updatedAt: new Date() }))
23
- .run();
24
- return count === 1;
25
- }
26
8
  async deleteByWebsite(websiteId) {
27
9
  return this.table.getAll(websiteId, "websiteId").delete().run();
28
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"funnels.model.js","sourceRoot":"","sources":["../../../src/db/models/funnels.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"funnels.model.js","sourceRoot":"","sources":["../../../src/db/models/funnels.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,2DAIiC;AAEjC,MAAM,cAAc,GAAG,SAAS,CAAC;AAEjC,MAAa,YAAa,SAAQ,IAAA,8CAAc,EAAC,sBAAM,EAAE,gCAAgB,CAAC;IACxE,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;aAC9B,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;aAC5B,GAAG,EAAE,CAAC;IACX,CAAC;IAGD,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;aAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACd,GAAG;aACA,GAAG,CAAC,YAAY,CAAC;aACjB,IAAI,EAAoB;aACxB,GAAG,CAAC,QAAQ,CAAC;aACb,EAAE,CAAC,cAAc,CAAC,CACtB;aACA,GAAG,EAAE,CAAC;IACX,CAAC;IAQD,KAAK,CAAC,MAAM,CACV,SAAiB,EACjB,GAAW,EACX,SAAkB;QAElB,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;aACf,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;aAC9B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACd,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,EAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAClE,CAAC;QACJ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IAMD,KAAK,CAAC,gBAAgB,CAAC,GAAa;QAClC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,GAAG,CAAC;aACX,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;aAClC,QAAQ,EAAE;aACV,GAAG,EAAE,CAAC;IACX,CAAC;CACF;AA9DD,oCA8DC"}
@@ -24,7 +24,6 @@ export declare class PageSnapshotsModel extends PageSnapshotsModel_base {
24
24
  listCaptures(websiteId: string): Promise<PageSnapshotCapture[]>;
25
25
  countByWebsite(websiteId: string, url?: string): Promise<number>;
26
26
  upsert(row: PageSnapshot): Promise<void>;
27
- replaceIfUnchanged(expected: PageSnapshot, patch: Partial<PageSnapshot>): Promise<boolean>;
28
27
  deleteByWebsite(websiteId: string, url?: string): Promise<number>;
29
28
  deleteOlderThan(cutoff: Date): Promise<number>;
30
29
  private byWebsite;
@@ -23,20 +23,6 @@ class PageSnapshotsModel extends (0, interface_database_decorators_1.BasicDataMo
23
23
  async upsert(row) {
24
24
  await this.table.insert(row, { conflict: "replace" }).run();
25
25
  }
26
- async replaceIfUnchanged(expected, patch) {
27
- const count = await this.table
28
- .filter((row) => row
29
- .key("_id")
30
- .eq(expected._id)
31
- .and(row.key("capturedAt").eq(expected.capturedAt))
32
- .and(row
33
- .key("declaredHash")
34
- .default("")
35
- .eq(expected.declaredHash ?? "")))
36
- .update(PageSnapshotsModel.toDatabase(patch))
37
- .run();
38
- return count === 1;
39
- }
40
26
  async deleteByWebsite(websiteId, url) {
41
27
  return this.byWebsite(websiteId, url).delete().run();
42
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"page_snapshots.model.js","sourceRoot":"","sources":["../../../src/db/models/page_snapshots.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,yEAGwC;AACxC,2CAAgD;AAOhD,MAAa,kBAAmB,SAAQ,IAAA,8CAAc,EACpD,mCAAY,EACZ,6CAAsB,CACvB;IAEC,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,GAAW;QAC5C,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;aAChC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;aACvC,GAAG,EAAE,CAAC;IACX,CAAC;IAMD,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;aAChC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC;aACrD,GAAG,EAAoC,CAAC;IAC7C,CAAC;IAGD,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,GAAY;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAiB;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9D,CAAC;IAOD,KAAK,CAAC,kBAAkB,CACtB,QAAsB,EACtB,KAA4B;QAE5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK;aAC3B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CACd,GAAG;aACA,GAAG,CAAC,KAAK,CAAC;aACV,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;aAChB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;aAClD,GAAG,CACF,GAAG;aACA,GAAG,CAAC,cAAc,CAAC;aACnB,OAAO,CAAC,EAAE,CAAC;aACX,EAAE,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CACnC,CACJ;aACA,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAC5C,GAAG,EAAE,CAAC;QACT,OAAO,KAAK,KAAK,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,GAAY;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAY;QAChC,OAAO,IAAA,6BAAiB,EAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAGO,SAAS,CAAC,SAAiB,EAAE,GAAY;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;CACF;AAxED,gDAwEC"}
1
+ {"version":3,"file":"page_snapshots.model.js","sourceRoot":"","sources":["../../../src/db/models/page_snapshots.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,yEAGwC;AACxC,2CAAgD;AAOhD,MAAa,kBAAmB,SAAQ,IAAA,8CAAc,EACpD,mCAAY,EACZ,6CAAsB,CACvB;IAEC,KAAK,CAAC,SAAS,CAAC,SAAiB,EAAE,GAAW;QAC5C,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;aAChC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;aACvC,GAAG,EAAE,CAAC;IACX,CAAC;IAMD,KAAK,CAAC,YAAY,CAAC,SAAiB;QAClC,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;aAChC,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,CAAC;aACrD,GAAG,EAAoC,CAAC;IAC7C,CAAC;IAGD,KAAK,CAAC,cAAc,CAAC,SAAiB,EAAE,GAAY;QAClD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAiB;QAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,SAAiB,EAAE,GAAY;QACnD,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAY;QAChC,OAAO,IAAA,6BAAiB,EAAC,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAC7D,CAAC;IAGO,SAAS,CAAC,SAAiB,EAAE,GAAY;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;CACF;AA7CD,gDA6CC"}
@@ -19,7 +19,6 @@ declare const WebsitesModel_base: {
19
19
  validate(obj: unknown, options?: import("@antelopejs/interface-database-decorators").ValidateInputOptions): import("@antelopejs/interface-database-decorators").ValidationResult;
20
20
  };
21
21
  export declare class WebsitesModel extends WebsitesModel_base {
22
- compareDeclared(expected: Website, patch: Partial<Website>): Promise<boolean>;
23
22
  getByTenant(tenantId: string): Promise<Website[]>;
24
23
  listIdsByTenant(tenantId: string): Promise<string[]>;
25
24
  getMany(ids: string[]): Promise<Website[]>;
@@ -4,35 +4,6 @@ exports.WebsitesModel = void 0;
4
4
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
5
5
  const websites_table_1 = require("../tables/websites.table");
6
6
  class WebsitesModel extends (0, interface_database_decorators_1.BasicDataModel)(websites_table_1.Website, websites_table_1.websitesTableName) {
7
- async compareDeclared(expected, patch) {
8
- const count = await this.table
9
- .filter((row) => row
10
- .key("_id")
11
- .eq(expected._id)
12
- .and(row.key("tenantId").eq(expected.tenantId))
13
- .and(row.key("name").eq(expected.name))
14
- .and(row.key("domain").eq(expected.domain))
15
- .and(row
16
- .key("extraDomains")
17
- .default([])
18
- .eq(expected.extraDomains ?? []))
19
- .and(row.key("trackingEnabled").eq(expected.trackingEnabled))
20
- .and(row
21
- .key("snapshotsEnabled")
22
- .default(false)
23
- .eq(expected.snapshotsEnabled ?? false))
24
- .and(row
25
- .key("snapshotMaskText")
26
- .default(false)
27
- .eq(expected.snapshotMaskText ?? false))
28
- .and(row
29
- .key("declaredHash")
30
- .default("")
31
- .eq(expected.declaredHash ?? "")))
32
- .update(WebsitesModel.toDatabase({ ...patch, updatedAt: new Date() }))
33
- .run();
34
- return count === 1;
35
- }
36
7
  async getByTenant(tenantId) {
37
8
  return this.table
38
9
  .getAll(tenantId, "tenantId")
@@ -1 +1 @@
1
- {"version":3,"file":"websites.model.js","sourceRoot":"","sources":["../../../src/db/models/websites.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websites.model.js","sourceRoot":"","sources":["../../../src/db/models/websites.model.ts"],"names":[],"mappings":";;;AAAA,6FAA2E;AAC3E,6DAAsE;AAEtE,MAAa,aAAc,SAAQ,IAAA,8CAAc,EAAC,wBAAO,EAAE,kCAAiB,CAAC;IAC3E,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;aAC5B,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC;aAC5B,GAAG,EAAE,CAAC;IACX,CAAC;IAGD,KAAK,CAAC,eAAe,CAAC,QAAgB;QACpC,OAAO,IAAI,CAAC,KAAK;aACd,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;aAC5B,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;aAC5B,GAAG,EAAE,CAAC;IACX,CAAC;IAGD,KAAK,CAAC,OAAO,CAAC,GAAa;QACzB,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QAChD,OAAO,IAAI;aACR,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aAC7C,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC;IAC/D,CAAC;CACF;AAlCD,sCAkCC"}
@@ -26,7 +26,6 @@ export declare class Funnel extends Table {
26
26
  steps: FunnelStep[];
27
27
  conversionWindowMs: number;
28
28
  experiment: FunnelExperiment | null;
29
- declaredHash?: string;
30
29
  createdAt: Date;
31
30
  updatedAt: Date;
32
31
  }
@@ -38,10 +38,6 @@ __decorate([
38
38
  (0, interface_database_decorators_1.Field)("any"),
39
39
  __metadata("design:type", Object)
40
40
  ], Funnel.prototype, "experiment", void 0);
41
- __decorate([
42
- (0, interface_database_decorators_1.Field)("string"),
43
- __metadata("design:type", String)
44
- ], Funnel.prototype, "declaredHash", void 0);
45
41
  __decorate([
46
42
  (0, interface_database_decorators_1.CreationTime)(),
47
43
  (0, interface_database_decorators_1.Field)("date"),
@@ -1 +1 @@
1
- {"version":3,"file":"funnels.table.js","sourceRoot":"","sources":["../../../src/db/tables/funnels.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAOmD;AACnD,mEAAyE;AAE5D,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AAOvC,QAAA,mBAAmB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAsDrE,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,qCAAK;CA8BhC,CAAA;AA9BY,wBAAM;AAGT;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;yCACU;AAGlB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oCACK;AAGb;IADP,IAAA,qCAAK,EAAC,CAAC,KAAK,CAAC,CAAC;;qCACa;AAIpB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACmB;AAI3B;IADP,IAAA,qCAAK,EAAC,KAAK,CAAC;;0CAC+B;AAIpC;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;4CACc;AAItB;IAFP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;yCAAC;AAIhB;IAFP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;yCAAC;iBA7Bb,MAAM;IADlB,IAAA,6CAAa,EAAC,wBAAgB,EAAE,8BAAkB,CAAC;GACvC,MAAM,CA8BlB"}
1
+ {"version":3,"file":"funnels.table.js","sourceRoot":"","sources":["../../../src/db/tables/funnels.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAOmD;AACnD,mEAAyE;AAE5D,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AAOvC,QAAA,mBAAmB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC;AAsDrE,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,qCAAK;CA0BhC,CAAA;AA1BY,wBAAM;AAGT;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;yCACU;AAGlB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oCACK;AAGb;IADP,IAAA,qCAAK,EAAC,CAAC,KAAK,CAAC,CAAC;;qCACa;AAIpB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACmB;AAI3B;IADP,IAAA,qCAAK,EAAC,KAAK,CAAC;;0CAC+B;AAIpC;IAFP,IAAA,4CAAY,GAAE;IACd,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;yCAAC;AAIhB;IAFP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;yCAAC;iBAzBb,MAAM;IADlB,IAAA,6CAAa,EAAC,wBAAgB,EAAE,8BAAkB,CAAC;GACvC,MAAM,CA0BlB"}
@@ -15,5 +15,4 @@ export declare class PageSnapshot extends Table {
15
15
  bytes: number;
16
16
  scrollRoot?: boolean;
17
17
  html: string;
18
- declaredHash?: string;
19
18
  }
@@ -70,10 +70,6 @@ __decorate([
70
70
  (0, interface_database_decorators_1.Field)("string"),
71
71
  __metadata("design:type", String)
72
72
  ], PageSnapshot.prototype, "html", void 0);
73
- __decorate([
74
- (0, interface_database_decorators_1.Field)("string"),
75
- __metadata("design:type", String)
76
- ], PageSnapshot.prototype, "declaredHash", void 0);
77
73
  exports.PageSnapshot = PageSnapshot = __decorate([
78
74
  (0, interface_database_decorators_1.RegisterTable)(exports.pageSnapshotsTableName, constants_1.TENANT_SCHEMA_NAME)
79
75
  ], PageSnapshot);
@@ -1 +1 @@
1
- {"version":3,"file":"page_snapshots.table.js","sourceRoot":"","sources":["../../../src/db/tables/page_snapshots.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAKmD;AACnD,mEAAyE;AAG5D,QAAA,sBAAsB,GAAG,0BAA0B,CAAC;AAS1D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,qCAAK;CA6DtC,CAAA;AA7DY,oCAAY;AAGf;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACU;AAGlB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;yCACI;AAGZ;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;4CACe;AAIvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;4CACO;AAGf;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACc;AAGtB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDACe;AAGvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACc;AAGtB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDACe;AAGvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDAC0B;AAKlC;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACM,IAAI;gDAAC;AAMjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACM;AASd;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;gDACY;AAIrB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;0CACK;AAQb;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;kDACc;uBA5DnB,YAAY;IADxB,IAAA,6CAAa,EAAC,8BAAsB,EAAE,8BAAkB,CAAC;GAC7C,YAAY,CA6DxB"}
1
+ {"version":3,"file":"page_snapshots.table.js","sourceRoot":"","sources":["../../../src/db/tables/page_snapshots.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAKmD;AACnD,mEAAyE;AAG5D,QAAA,sBAAsB,GAAG,0BAA0B,CAAC;AAS1D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,qCAAK;CAqDtC,CAAA;AArDY,oCAAY;AAGf;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CACU;AAGlB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;yCACI;AAGZ;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;4CACe;AAIvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;4CACO;AAGf;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACc;AAGtB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDACe;AAGvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;mDACc;AAGtB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;oDACe;AAGvB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;iDAC0B;AAKlC;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACM,IAAI;gDAAC;AAMjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;2CACM;AASd;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;gDACY;AAIrB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;0CACK;uBApDV,YAAY;IADxB,IAAA,6CAAa,EAAC,8BAAsB,EAAE,8BAAkB,CAAC;GAC7C,YAAY,CAqDxB"}
@@ -10,7 +10,6 @@ export declare class Website extends Table {
10
10
  snapshotsEnabled: boolean;
11
11
  snapshotsSetBy?: WebsiteSnapshotsSetBy;
12
12
  snapshotMaskText?: boolean;
13
- declaredHash?: string;
14
13
  createdAt: Date;
15
14
  updatedAt: Date;
16
15
  }
@@ -49,10 +49,6 @@ __decorate([
49
49
  (0, interface_database_decorators_1.Field)("boolean"),
50
50
  __metadata("design:type", Boolean)
51
51
  ], Website.prototype, "snapshotMaskText", void 0);
52
- __decorate([
53
- (0, interface_database_decorators_1.Field)("string"),
54
- __metadata("design:type", String)
55
- ], Website.prototype, "declaredHash", void 0);
56
52
  __decorate([
57
53
  (0, interface_database_decorators_1.Field)("date"),
58
54
  __metadata("design:type", Date)
@@ -1 +1 @@
1
- {"version":3,"file":"websites.table.js","sourceRoot":"","sources":["../../../src/db/tables/websites.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAMmD;AACnD,mEAAuE;AAE1D,QAAA,iBAAiB,GAAG,oBAAoB,CAAC;AAY/C,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,qCAAK;CAoDjC,CAAA;AApDY,0BAAO;AAGV;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;yCACS;AAGjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qCACK;AAGb;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uCACO;AAKf;IADP,IAAA,qCAAK,EAAC,CAAC,QAAQ,CAAC,CAAC;;6CACc;AAIxB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;gDACgB;AAKzB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;iDACiB;AAS1B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CAC+B;AAIvC;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;iDACkB;AAQ3B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;6CACc;AAGtB;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;0CAAC;AAIhB;IAFP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;0CAAC;kBAnDb,OAAO;IADnB,IAAA,6CAAa,EAAC,yBAAiB,EAAE,4BAAgB,CAAC;GACtC,OAAO,CAoDnB"}
1
+ {"version":3,"file":"websites.table.js","sourceRoot":"","sources":["../../../src/db/tables/websites.table.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6FAMmD;AACnD,mEAAuE;AAE1D,QAAA,iBAAiB,GAAG,oBAAoB,CAAC;AAY/C,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,qCAAK;CA4CjC,CAAA;AA5CY,0BAAO;AAGV;IAFP,IAAA,qCAAK,GAAE;IACP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;yCACS;AAGjB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;qCACK;AAGb;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;uCACO;AAKf;IADP,IAAA,qCAAK,EAAC,CAAC,QAAQ,CAAC,CAAC;;6CACc;AAIxB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;gDACgB;AAKzB;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;iDACiB;AAS1B;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;+CAC+B;AAIvC;IADP,IAAA,qCAAK,EAAC,SAAS,CAAC;;iDACkB;AAG3B;IADP,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;0CAAC;AAIhB;IAFP,IAAA,0CAAU,GAAE;IACZ,IAAA,qCAAK,EAAC,MAAM,CAAC;8BACK,IAAI;0CAAC;kBA3Cb,OAAO;IADnB,IAAA,6CAAa,EAAC,yBAAiB,EAAE,4BAAgB,CAAC;GACtC,OAAO,CA4CnB"}
@@ -10,24 +10,19 @@ const declared_funnel_1 = require("@/services/declared-funnel");
10
10
  const declared_snapshot_1 = require("@/services/declared-snapshot");
11
11
  const declared_website_1 = require("@/services/declared-website");
12
12
  const heatmap_1 = require("@/services/heatmap");
13
- const readiness_1 = require("@/services/readiness");
14
13
  async function GetClickHeatmap(query) {
15
14
  return (0, heatmap_1.buildTenantHeatmap)(query);
16
15
  }
17
16
  async function EnsureWebsite(declaration) {
18
- await (0, readiness_1.whenMarketingReady)();
19
17
  return (0, declared_website_1.ensureWebsite)(declaration);
20
18
  }
21
19
  async function EnsureFunnel(declaration) {
22
- await (0, readiness_1.whenMarketingReady)();
23
20
  return (0, declared_funnel_1.ensureFunnel)(declaration);
24
21
  }
25
22
  async function EnsurePageSnapshot(declaration) {
26
- await (0, readiness_1.whenMarketingReady)();
27
23
  return (0, declared_snapshot_1.ensurePageSnapshot)(declaration);
28
24
  }
29
25
  async function ImportAnalytics(batch) {
30
- await (0, readiness_1.whenMarketingReady)();
31
26
  return (0, analytics_import_1.importAnalytics)(batch);
32
27
  }
33
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/implementations/dms-marketing/index.ts"],"names":[],"mappings":";;AAkBA,0CAIC;AAKD,sCAKC;AAED,oCAKC;AAED,gDAKC;AAED,0CAKC;AA1CD,kEAA8D;AAC9D,gEAA0D;AAC1D,oEAAkE;AAClE,kEAA4D;AAC5D,gDAAwD;AACxD,oDAA0D;AAEnD,KAAK,UAAU,eAAe,CACnC,KAA4B;IAE5B,OAAO,IAAA,4BAAkB,EAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAKM,KAAK,UAAU,aAAa,CACjC,WAAwC;IAExC,MAAM,IAAA,8BAAkB,GAAE,CAAC;IAC3B,OAAO,IAAA,gCAAa,EAAC,WAAW,CAAC,CAAC;AACpC,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,WAAuC;IAEvC,MAAM,IAAA,8BAAkB,GAAE,CAAC;IAC3B,OAAO,IAAA,8BAAY,EAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,WAA6C;IAE7C,MAAM,IAAA,8BAAkB,GAAE,CAAC;IAC3B,OAAO,IAAA,sCAAkB,EAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,KAA+B;IAE/B,MAAM,IAAA,8BAAkB,GAAE,CAAC;IAC3B,OAAO,IAAA,kCAAe,EAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/implementations/dms-marketing/index.ts"],"names":[],"mappings":";;AAiBA,0CAIC;AAED,sCAIC;AAED,oCAIC;AAED,gDAIC;AAED,0CAIC;AAlCD,kEAA8D;AAC9D,gEAA0D;AAC1D,oEAAkE;AAClE,kEAA4D;AAC5D,gDAAwD;AAEjD,KAAK,UAAU,eAAe,CACnC,KAA4B;IAE5B,OAAO,IAAA,4BAAkB,EAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAEM,KAAK,UAAU,aAAa,CACjC,WAAwC;IAExC,OAAO,IAAA,gCAAa,EAAC,WAAW,CAAC,CAAC;AACpC,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,WAAuC;IAEvC,OAAO,IAAA,8BAAY,EAAC,WAAW,CAAC,CAAC;AACnC,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,WAA6C;IAE7C,OAAO,IAAA,sCAAkB,EAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,KAA+B;IAE/B,OAAO,IAAA,kCAAe,EAAC,KAAK,CAAC,CAAC;AAChC,CAAC"}
package/dist/index.js CHANGED
@@ -52,7 +52,6 @@ const node_cron_1 = __importDefault(require("node-cron"));
52
52
  const config_1 = require("./config");
53
53
  const hooks_2 = require("./hooks");
54
54
  const frontend_module_1 = require("./frontend-module");
55
- const readiness_1 = require("./services/readiness");
56
55
  const services_1 = require("./services");
57
56
  const constants_1 = require("./types/constants");
58
57
  const HOURLY_CRON = "0 * * * *";
@@ -70,7 +69,6 @@ async function construct(config) {
70
69
  async function onDatabaseInitialized() {
71
70
  const settings = (0, interface_database_decorators_1.GetModel)(db_1.MarketingSettingsModel);
72
71
  await (0, services_1.loadSettings)(settings);
73
- (0, readiness_1.markMarketingReady)();
74
72
  settingsReload ??= setInterval(() => {
75
73
  void (0, services_1.reloadSettings)(settings).catch(logReloadError);
76
74
  }, SETTINGS_RELOAD_MS);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,8BAgBC;AAoCD,0BAAkC;AAElC,oBAYC;AAjGD,6BAA8C;AAC9C,sBAAoB;AACpB,oBAAkB;AAClB,mBAAiB;AAEjB,+DAAgE;AAChE,gEAA6D;AAC7D,6FAAqE;AACrE,2DAAqE;AACrE,yDAAmE;AACnE,0DAAqD;AACrD,qCAAmE;AACnE,mCAAyD;AACzD,uDAAmD;AACnD,oDAA0D;AAC1D,yCAMoB;AACpB,iDAAkD;AAElD,MAAM,WAAW,GAAG,WAAW,CAAC;AAEhC,MAAM,kBAAkB,GAAG,EAAE,GAAG,yBAAa,CAAC;AAE9C,IAAI,SAAS,GAAyB,IAAI,CAAC;AAC3C,IAAI,cAAc,GAA0B,IAAI,CAAC;AAE1C,KAAK,UAAU,SAAS,CAC7B,MAAgC;IAEhC,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;IAClB,MAAM,IAAA,4BAAiB,GAAE,CAAC;IAC1B,IAAA,sCAA8B,GAAE,CAAC;IACjC,IAAA,oBAAY,EAAC,YAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IAI/D,IAAA,mCAAkB,EAChB,wDAAa,qCAAqC,GAAC,EACnD,wDAAa,iCAAiC,GAAC,CAChD,CAAC;IAEF,MAAM,IAAA,wBAAiB,EAAC,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAQD,KAAK,UAAU,qBAAqB;IAClC,MAAM,QAAQ,GAAG,IAAA,wCAAQ,EAAC,2BAAsB,CAAC,CAAC;IAClD,MAAM,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC;IAG7B,IAAA,8BAAkB,GAAE,CAAC;IAIrB,cAAc,KAAK,WAAW,CAAC,GAAG,EAAE;QAClC,KAAK,IAAA,yBAAc,EAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACvB,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,SAAS,KAAK,mBAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAC5C,KAAK,IAAA,yBAAc,EAAC,QAAQ,CAAC;aAC1B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAA,0BAAe,EAAC,aAAa,CAAC,CAAC;aAC1C,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,iBAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,iBAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,OAAO,KAAU,CAAC;AAElC,SAAgB,IAAI;IAClB,IAAA,+BAAoB,GAAE,CAAC;IACvB,IAAI,cAAc,EAAE,CAAC;QACnB,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9B,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QAGd,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,8BAgBC;AAoCD,0BAAkC;AAElC,oBAYC;AAhGD,6BAA8C;AAC9C,sBAAoB;AACpB,oBAAkB;AAClB,mBAAiB;AAEjB,+DAAgE;AAChE,gEAA6D;AAC7D,6FAAqE;AACrE,2DAAqE;AACrE,yDAAmE;AACnE,0DAAqD;AACrD,qCAAmE;AACnE,mCAAyD;AACzD,uDAAmD;AACnD,yCAMoB;AACpB,iDAAkD;AAElD,MAAM,WAAW,GAAG,WAAW,CAAC;AAEhC,MAAM,kBAAkB,GAAG,EAAE,GAAG,yBAAa,CAAC;AAE9C,IAAI,SAAS,GAAyB,IAAI,CAAC;AAC3C,IAAI,cAAc,GAA0B,IAAI,CAAC;AAE1C,KAAK,UAAU,SAAS,CAC7B,MAAgC;IAEhC,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;IAClB,MAAM,IAAA,4BAAiB,GAAE,CAAC;IAC1B,IAAA,sCAA8B,GAAE,CAAC;IACjC,IAAA,oBAAY,EAAC,YAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC;IAI/D,IAAA,mCAAkB,EAChB,wDAAa,qCAAqC,GAAC,EACnD,wDAAa,iCAAiC,GAAC,CAChD,CAAC;IAEF,MAAM,IAAA,wBAAiB,EAAC,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAC,CAAC;AAClD,CAAC;AAQD,KAAK,UAAU,qBAAqB;IAClC,MAAM,QAAQ,GAAG,IAAA,wCAAQ,EAAC,2BAAsB,CAAC,CAAC;IAIlD,MAAM,IAAA,uBAAY,EAAC,QAAQ,CAAC,CAAC;IAI7B,cAAc,KAAK,WAAW,CAAC,GAAG,EAAE;QAClC,KAAK,IAAA,yBAAc,EAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACvB,cAAc,CAAC,KAAK,EAAE,CAAC;IACvB,SAAS,KAAK,mBAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QAC5C,KAAK,IAAA,yBAAc,EAAC,QAAQ,CAAC;aAC1B,IAAI,CAAC,GAAG,EAAE,CAAC,IAAA,0BAAe,EAAC,aAAa,CAAC,CAAC;aAC1C,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,GAAY;IACjC,iBAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,cAAc,CAAC,GAAY;IAClC,iBAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,OAAO,KAAU,CAAC;AAElC,SAAgB,IAAI;IAClB,IAAA,+BAAoB,GAAE,CAAC;IACvB,IAAI,cAAc,EAAE,CAAC;QACnB,aAAa,CAAC,cAAc,CAAC,CAAC;QAC9B,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QAGd,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;QACtB,SAAS,GAAG,IAAI,CAAC;IACnB,CAAC;AACH,CAAC"}
@@ -5,7 +5,5 @@ export declare class MarketingDeclarationError extends Error {
5
5
  export declare const declaredIdSchema: z.ZodString;
6
6
  export declare function requireDeclaredId(operation: string, value: unknown): string;
7
7
  export declare function declaredTenant(operation: string, id: string, tenantId: unknown): string;
8
- export declare function contentHash(content: unknown): string;
9
- export declare function isUntouchedSinceDeclared(declaredHash: string | undefined, currentContent: unknown): declaredHash is string;
10
8
  export declare function instantOf(value: unknown): number | undefined;
11
9
  export declare function describeIssue(error: unknown): string;
@@ -3,11 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.declaredIdSchema = exports.MarketingDeclarationError = void 0;
4
4
  exports.requireDeclaredId = requireDeclaredId;
5
5
  exports.declaredTenant = declaredTenant;
6
- exports.contentHash = contentHash;
7
- exports.isUntouchedSinceDeclared = isUntouchedSinceDeclared;
8
6
  exports.instantOf = instantOf;
9
7
  exports.describeIssue = describeIssue;
10
- const node_crypto_1 = require("node:crypto");
11
8
  const zod_1 = require("zod");
12
9
  const constants_1 = require("@/types/constants");
13
10
  class MarketingDeclarationError extends Error {
@@ -33,14 +30,6 @@ function declaredTenant(operation, id, tenantId) {
33
30
  }
34
31
  return tenantId;
35
32
  }
36
- function contentHash(content) {
37
- return (0, node_crypto_1.createHash)("sha256").update(JSON.stringify(content)).digest("hex");
38
- }
39
- function isUntouchedSinceDeclared(declaredHash, currentContent) {
40
- return (declaredHash !== undefined &&
41
- declaredHash !== null &&
42
- contentHash(currentContent) === declaredHash);
43
- }
44
33
  function instantOf(value) {
45
34
  const ms = typeof value === "number"
46
35
  ? value
@@ -1 +1 @@
1
- {"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../src/services/declarations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declarations.js","sourceRoot":"","sources":["../../src/services/declarations.ts"],"names":[],"mappings":";;;AAoBA,8CAUC;AAED,wCAiBC;AAGD,8BAQC;AASD,sCAQC;AA7ED,6BAAwB;AACxB,iDAAwD;AASxD,MAAa,yBAA0B,SAAQ,KAAK;IAClD,YAAY,SAAiB,EAAE,EAAU,EAAE,MAAc;QACvD,KAAK,CAAC,mBAAmB,SAAS,KAAK,EAAE,OAAO,MAAM,EAAE,CAAC,CAAC;QAC1D,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AALD,8DAKC;AAEY,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,+BAAmB,CAAC,CAAC;AAGtE,SAAgB,iBAAiB,CAAC,SAAiB,EAAE,KAAc;IACjE,MAAM,MAAM,GAAG,wBAAgB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,yBAAyB,CACjC,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,EACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,SAAgB,cAAc,CAC5B,SAAiB,EACjB,EAAU,EACV,QAAiB;IAEjB,IACE,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;QACtB,QAAQ,KAAK,QAAQ,CAAC,IAAI,EAAE,EAC5B,CAAC;QACD,MAAM,IAAI,yBAAyB,CACjC,SAAS,EACT,EAAE,EACF,qFAAqF,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAGD,SAAgB,SAAS,CAAC,KAAc;IACtC,MAAM,EAAE,GACN,OAAO,KAAK,KAAK,QAAQ;QACvB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACnB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACnB,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AAC9C,CAAC;AAGD,MAAM,iBAAiB,GAA2B;IAChD,yCAAyC,EACvC,4CAA4C;CAC/C,CAAC;AAGF,SAAgB,aAAa,CAAC,KAAc;IAC1C,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,OAAO,CAAC;QAC1E,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,SAAS,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
@@ -11,11 +11,6 @@ const declarations_1 = require("./declarations");
11
11
  const experiment_definitions_1 = require("./experiment-definitions");
12
12
  const website_rules_1 = require("./website-rules");
13
13
  const OPERATION = "EnsureFunnel";
14
- const DECLARED_TRANSITIONS = {
15
- draft: ["draft", "running", "stopped"],
16
- running: ["running", "stopped"],
17
- stopped: ["stopped", "running"],
18
- };
19
14
  const windowSchema = zod_1.z
20
15
  .number()
21
16
  .finite()
@@ -64,25 +59,6 @@ function declaredContent(id, declaration) {
64
59
  experiment: declaredExperiment(id, declaration.experiment),
65
60
  };
66
61
  }
67
- function storedContent(funnel) {
68
- const experiment = funnel.experiment ?? null;
69
- return {
70
- websiteId: funnel.websiteId,
71
- name: funnel.name,
72
- steps: funnel.steps.map((step) => ({ kind: step.kind, value: step.value })),
73
- conversionWindowMs: funnel.conversionWindowMs,
74
- experiment: experiment
75
- ? {
76
- key: experiment.key,
77
- variations: experiment.variations.map((v) => ({
78
- key: v.key,
79
- weight: v.weight,
80
- })),
81
- status: experiment.status,
82
- }
83
- : null,
84
- };
85
- }
86
62
  function runInstant(id, field, value) {
87
63
  const now = Date.now();
88
64
  if (value === undefined) {
@@ -94,52 +70,22 @@ function runInstant(id, field, value) {
94
70
  }
95
71
  return at;
96
72
  }
97
- function declaredRuns(id, existing, to, declaration) {
98
- const runs = existing?.runs.map((run) => ({ ...run })) ?? [];
99
- const from = existing?.status ?? "draft";
100
- if (!DECLARED_TRANSITIONS[from].includes(to)) {
101
- throw refuse(id, `the experiment cannot move from ${from} to ${to}`);
102
- }
103
- if (from === to) {
104
- return runs;
105
- }
106
- const last = runs[runs.length - 1];
107
- if (to === "stopped" && from === "running" && last) {
108
- const stoppedAt = runInstant(id, "stoppedAt", declaration?.stoppedAt);
109
- if (stoppedAt < last.startedAt) {
110
- throw refuse(id, "experiment.stoppedAt: before the run started");
111
- }
112
- last.stoppedAt = stoppedAt;
113
- return runs;
73
+ function declaredRuns(id, to, declaration) {
74
+ if (to === "draft") {
75
+ return [];
114
76
  }
115
77
  const startedAt = runInstant(id, "startedAt", declaration?.startedAt);
116
- if (last?.stoppedAt != null && startedAt < last.stoppedAt) {
117
- throw refuse(id, "experiment.startedAt: before the previous run ended");
118
- }
119
78
  if (to === "running") {
120
- runs.push({ startedAt, stoppedAt: null });
121
- return runs;
79
+ return [{ startedAt, stoppedAt: null }];
122
80
  }
123
81
  const stoppedAt = runInstant(id, "stoppedAt", declaration?.stoppedAt);
124
82
  if (stoppedAt < startedAt) {
125
83
  throw refuse(id, "experiment.stoppedAt: before experiment.startedAt");
126
84
  }
127
- runs.push({ startedAt, stoppedAt });
128
- return runs;
85
+ return [{ startedAt, stoppedAt }];
129
86
  }
130
- function resolvedExperiment(id, content, current, declaration) {
131
- const existing = current?.experiment ?? null;
87
+ function resolvedExperiment(id, content, declaration) {
132
88
  const requested = content.experiment;
133
- if (existing && existing.status !== "draft") {
134
- const frozen = requested !== null &&
135
- requested.key === existing.key &&
136
- JSON.stringify(requested.variations) ===
137
- JSON.stringify(existing.variations.map((v) => ({ key: v.key, weight: v.weight }))) &&
138
- content.websiteId === current?.websiteId;
139
- if (!frozen) {
140
- throw refuse(id, "the experiment has left draft: its key, variations and website can no longer change");
141
- }
142
- }
143
89
  if (!requested) {
144
90
  return null;
145
91
  }
@@ -147,7 +93,7 @@ function resolvedExperiment(id, content, current, declaration) {
147
93
  key: requested.key,
148
94
  status: requested.status,
149
95
  variations: requested.variations,
150
- runs: declaredRuns(id, existing, requested.status, declaration.experiment),
96
+ runs: declaredRuns(id, requested.status, declaration.experiment),
151
97
  };
152
98
  }
153
99
  async function assertWebsiteOfTenant(id, websiteId, tenantId) {
@@ -161,38 +107,6 @@ async function assertUniqueKey(id, model, websiteId, experiment) {
161
107
  throw refuse(id, `another funnel of the website already uses the experiment key "${experiment.key}"`);
162
108
  }
163
109
  }
164
- async function refreshFunnel(model, existing, content, declaration) {
165
- const id = existing._id;
166
- if (!(0, declarations_1.isUntouchedSinceDeclared)(existing.declaredHash, storedContent(existing))) {
167
- if (existing.declaredHash) {
168
- await model.compareDeclared(existing, { declaredHash: "" });
169
- }
170
- return { id, status: "kept" };
171
- }
172
- const declaredHash = (0, declarations_1.contentHash)(content);
173
- if (declaredHash === existing.declaredHash) {
174
- return { id, status: "unchanged" };
175
- }
176
- const experiment = resolvedExperiment(id, content, existing, declaration);
177
- await assertUniqueKey(id, model, content.websiteId, experiment);
178
- const previousWebsiteId = existing.websiteId;
179
- const applied = await model.compareDeclared(existing, {
180
- websiteId: content.websiteId,
181
- name: content.name,
182
- steps: content.steps,
183
- conversionWindowMs: content.conversionWindowMs,
184
- experiment,
185
- declaredHash,
186
- });
187
- if (!applied) {
188
- return { id, status: "kept" };
189
- }
190
- (0, experiment_definitions_1.invalidateExperimentDefinitions)(content.websiteId);
191
- if (previousWebsiteId !== content.websiteId) {
192
- (0, experiment_definitions_1.invalidateExperimentDefinitions)(previousWebsiteId);
193
- }
194
- return { id, status: "updated" };
195
- }
196
110
  async function ensureFunnel(declaration) {
197
111
  const id = (0, declarations_1.requireDeclaredId)(OPERATION, declaration?.id);
198
112
  const tenantId = (0, declarations_1.declaredTenant)(OPERATION, id, declaration.tenantId);
@@ -201,9 +115,9 @@ async function ensureFunnel(declaration) {
201
115
  const model = (0, interface_database_decorators_1.GetModel)(db_1.FunnelsModel, tenantId);
202
116
  const existing = await model.get(id);
203
117
  if (existing) {
204
- return refreshFunnel(model, existing, content, declaration);
118
+ return { id, status: "kept" };
205
119
  }
206
- const experiment = resolvedExperiment(id, content, undefined, declaration);
120
+ const experiment = resolvedExperiment(id, content, declaration);
207
121
  await assertUniqueKey(id, model, content.websiteId, experiment);
208
122
  const funnel = {
209
123
  _id: id,
@@ -212,17 +126,15 @@ async function ensureFunnel(declaration) {
212
126
  steps: content.steps,
213
127
  conversionWindowMs: content.conversionWindowMs,
214
128
  experiment,
215
- declaredHash: (0, declarations_1.contentHash)(content),
216
129
  };
217
130
  try {
218
131
  await model.insert(funnel);
219
132
  }
220
133
  catch (err) {
221
- const raced = await model.get(id);
222
- if (!raced) {
134
+ if (!(await model.get(id))) {
223
135
  throw err;
224
136
  }
225
- return refreshFunnel(model, raced, content, declaration);
137
+ return { id, status: "kept" };
226
138
  }
227
139
  (0, experiment_definitions_1.invalidateExperimentDefinitions)(content.websiteId);
228
140
  return { id, status: "created" };
@@ -1 +1 @@
1
- {"version":3,"file":"declared-funnel.js","sourceRoot":"","sources":["../../src/services/declared-funnel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declared-funnel.js","sourceRoot":"","sources":["../../src/services/declared-funnel.ts"],"names":[],"mappings":"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"}
@@ -10,17 +10,6 @@ const declarations_1 = require("./declarations");
10
10
  const snapshots_1 = require("./snapshots");
11
11
  const url_1 = require("./url");
12
12
  const OPERATION = "EnsurePageSnapshot";
13
- function storedContent(row) {
14
- return {
15
- origin: row.origin,
16
- viewport: { width: row.viewportWidth, height: row.viewportHeight },
17
- document: { width: row.documentWidth, height: row.documentHeight },
18
- colorScheme: row.colorScheme ?? null,
19
- html: row.html
20
- ? (0, node_zlib_1.gunzipSync)(Buffer.from(row.html, "base64")).toString("utf8")
21
- : "",
22
- };
23
- }
24
13
  function refuse(url, reason) {
25
14
  return new declarations_1.MarketingDeclarationError(OPERATION, url, reason);
26
15
  }
@@ -34,21 +23,10 @@ async function requireWebsite(url, websiteId, tenantId) {
34
23
  }
35
24
  return website;
36
25
  }
37
- async function refreshSnapshot(model, existing, row) {
38
- if (!(0, declarations_1.isUntouchedSinceDeclared)(existing.declaredHash, storedContent(existing))) {
39
- return "kept";
40
- }
41
- if (row.declaredHash === existing.declaredHash) {
42
- return "unchanged";
43
- }
44
- const { _id: _unchangedId, ...patch } = row;
45
- return (await model.replaceIfUnchanged(existing, patch)) ? "updated" : "kept";
46
- }
47
26
  async function writeSnapshot(tenantId, website, row) {
48
27
  const model = (0, interface_database_decorators_1.GetModel)(db_1.PageSnapshotsModel, tenantId);
49
- const existing = await model.get(row._id);
50
- if (existing) {
51
- return refreshSnapshot(model, existing, row);
28
+ if (await model.get(row._id)) {
29
+ return "kept";
52
30
  }
53
31
  if ((await model.countByWebsite(website._id)) >= constants_1.MAX_SNAPSHOTS_PER_WEBSITE) {
54
32
  throw refuse(row.url, `the website "${website._id}" already holds its ${constants_1.MAX_SNAPSHOTS_PER_WEBSITE} snapshots`);
@@ -57,11 +35,10 @@ async function writeSnapshot(tenantId, website, row) {
57
35
  await model.insert(row);
58
36
  }
59
37
  catch (err) {
60
- const raced = await model.get(row._id);
61
- if (!raced) {
38
+ if (!(await model.get(row._id))) {
62
39
  throw err;
63
40
  }
64
- return refreshSnapshot(model, raced, row);
41
+ return "kept";
65
42
  }
66
43
  return "created";
67
44
  }
@@ -80,13 +57,7 @@ async function ensurePageSnapshot(declaration) {
80
57
  }
81
58
  const url = (0, url_1.parseTrackedUrl)(input.url).path;
82
59
  const layout = (0, types_1.layoutOfWidth)(input.viewport.width);
83
- const content = {
84
- origin,
85
- viewport: input.viewport,
86
- document: input.document,
87
- colorScheme: input.colorScheme ?? null,
88
- html: (0, snapshots_1.sanitizeSnapshotHtml)(input.html),
89
- };
60
+ const html = (0, snapshots_1.sanitizeSnapshotHtml)(input.html);
90
61
  const now = new Date();
91
62
  const row = {
92
63
  _id: (0, snapshots_1.snapshotId)(website._id, layout, url),
@@ -101,11 +72,11 @@ async function ensurePageSnapshot(declaration) {
101
72
  colorScheme: input.colorScheme,
102
73
  capturedAt: now,
103
74
  bytes: Buffer.byteLength(input.html),
104
- html: (0, node_zlib_1.gzipSync)(content.html).toString("base64"),
105
- declaredHash: (0, declarations_1.contentHash)(content),
75
+ scrollRoot: (0, snapshots_1.hasScrollRoot)(html),
76
+ html: (0, node_zlib_1.gzipSync)(html).toString("base64"),
106
77
  };
107
78
  const status = await writeSnapshot(tenantId, website, row);
108
- if (status === "created" || status === "updated") {
79
+ if (status === "created") {
109
80
  (0, snapshots_1.rememberCaptureTime)(row._id, now.getTime());
110
81
  }
111
82
  return { url, layout, status };
@@ -1 +1 @@
1
- {"version":3,"file":"declared-snapshot.js","sourceRoot":"","sources":["../../src/services/declared-snapshot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declared-snapshot.js","sourceRoot":"","sources":["../../src/services/declared-snapshot.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,6 @@ const interface_database_decorators_1 = require("@antelopejs/interface-database-
5
5
  const zod_1 = require("zod");
6
6
  const db_1 = require("@/db");
7
7
  const declarations_1 = require("./declarations");
8
- const experiment_definitions_1 = require("./experiment-definitions");
9
- const origin_guard_1 = require("./origin-guard");
10
- const snapshots_1 = require("./snapshots");
11
8
  const website_cache_1 = require("./website-cache");
12
9
  const website_rules_1 = require("./website-rules");
13
10
  const OPERATION = "EnsureWebsite";
@@ -34,54 +31,17 @@ function declaredContent(id, declaration) {
34
31
  snapshotMaskText: data.snapshotMaskText ?? false,
35
32
  };
36
33
  }
37
- function storedContent(website) {
38
- return {
39
- name: website.name,
40
- domain: website.domain,
41
- extraDomains: website.extraDomains ?? [],
42
- trackingEnabled: website.trackingEnabled,
43
- snapshotsEnabled: website.snapshotsEnabled ?? false,
44
- snapshotMaskText: website.snapshotMaskText ?? false,
45
- };
46
- }
47
34
  async function assertHostsFree(website) {
48
35
  const conflict = await (0, website_rules_1.tenantHostConflict)(website);
49
36
  if (conflict) {
50
37
  throw new declarations_1.MarketingDeclarationError(OPERATION, website._id, `the host "${conflict.hostname}" is already declared by the website "${conflict.website.name}"`);
51
38
  }
52
39
  }
53
- async function refreshWebsite(existing, tenantId, content) {
54
- const id = existing._id;
40
+ function keptWebsite(existing, tenantId) {
55
41
  if (existing.tenantId !== tenantId) {
56
- throw new declarations_1.MarketingDeclarationError(OPERATION, id, "this id already names a website of another tenant");
57
- }
58
- if (!(0, declarations_1.isUntouchedSinceDeclared)(existing.declaredHash, storedContent(existing))) {
59
- if (existing.declaredHash) {
60
- await (0, interface_database_decorators_1.GetModel)(db_1.WebsitesModel).compareDeclared(existing, {
61
- declaredHash: "",
62
- });
63
- }
64
- return { id, status: "kept" };
42
+ throw new declarations_1.MarketingDeclarationError(OPERATION, existing._id, "this id already names a website of another tenant");
65
43
  }
66
- const declaredHash = (0, declarations_1.contentHash)(content);
67
- if (declaredHash === existing.declaredHash) {
68
- return { id, status: "unchanged" };
69
- }
70
- const before = storedContent(existing);
71
- const patch = { ...content, declaredHash, updatedAt: new Date() };
72
- const refreshed = Object.assign({}, existing, patch);
73
- await assertHostsFree(refreshed);
74
- if (!(await (0, interface_database_decorators_1.GetModel)(db_1.WebsitesModel).compareDeclared(existing, patch))) {
75
- return { id, status: "kept" };
76
- }
77
- if (before.snapshotsEnabled !== content.snapshotsEnabled ||
78
- before.snapshotMaskText !== content.snapshotMaskText) {
79
- await (0, snapshots_1.deleteSnapshots)(tenantId, id);
80
- }
81
- (0, website_cache_1.invalidateWebsiteCache)(id);
82
- (0, experiment_definitions_1.invalidateExperimentDefinitions)(id);
83
- (0, origin_guard_1.forgetAcceptedSources)(refreshed);
84
- return { id, status: "updated" };
44
+ return { id: existing._id, status: "kept" };
85
45
  }
86
46
  async function ensureWebsite(declaration) {
87
47
  const id = (0, declarations_1.requireDeclaredId)(OPERATION, declaration?.id);
@@ -90,14 +50,13 @@ async function ensureWebsite(declaration) {
90
50
  const model = (0, interface_database_decorators_1.GetModel)(db_1.WebsitesModel);
91
51
  const existing = await model.get(id);
92
52
  if (existing) {
93
- return refreshWebsite(existing, tenantId, content);
53
+ return keptWebsite(existing, tenantId);
94
54
  }
95
55
  const now = new Date();
96
56
  const website = {
97
57
  _id: id,
98
58
  tenantId,
99
59
  ...content,
100
- declaredHash: (0, declarations_1.contentHash)(content),
101
60
  createdAt: now,
102
61
  updatedAt: now,
103
62
  };
@@ -110,7 +69,7 @@ async function ensureWebsite(declaration) {
110
69
  if (!raced) {
111
70
  throw err;
112
71
  }
113
- return refreshWebsite(raced, tenantId, content);
72
+ return keptWebsite(raced, tenantId);
114
73
  }
115
74
  (0, website_cache_1.invalidateWebsiteCache)(id);
116
75
  return { id, status: "created" };
@@ -1 +1 @@
1
- {"version":3,"file":"declared-website.js","sourceRoot":"","sources":["../../src/services/declared-website.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declared-website.js","sourceRoot":"","sources":["../../src/services/declared-website.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { Website } from "@/db/tables/websites.table";
2
2
  import { type SnapshotColorScheme, type SnapshotLayout, type SnapshotRequestInput } from "@/types";
3
3
  export declare function snapshotId(websiteId: string, layout: SnapshotLayout, url: string): string;
4
+ export declare function hasScrollRoot(html: string): boolean;
4
5
  export declare function rememberCaptureTime(id: string, capturedAt: number): void;
5
6
  export declare function forgetCaptureTimes(): void;
6
7
  export declare function wantsSnapshot(website: Website, url: string, viewportWidth: number, visitorId: string, scrollRoot?: boolean): Promise<string | undefined>;
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.snapshotId = snapshotId;
7
+ exports.hasScrollRoot = hasScrollRoot;
7
8
  exports.rememberCaptureTime = rememberCaptureTime;
8
9
  exports.forgetCaptureTimes = forgetCaptureTimes;
9
10
  exports.wantsSnapshot = wantsSnapshot;
@@ -50,12 +51,15 @@ async function captureStateOf(website, id) {
50
51
  const state = row
51
52
  ? {
52
53
  capturedAt: row.capturedAt.getTime(),
53
- unmarked: row.scrollRoot === undefined && row.declaredHash === undefined,
54
+ unmarked: row.scrollRoot === undefined,
54
55
  }
55
56
  : NO_CAPTURE;
56
57
  captureStates.set(id, state);
57
58
  return state;
58
59
  }
60
+ function hasScrollRoot(html) {
61
+ return html.includes(SCROLL_ROOT_ATTRIBUTE);
62
+ }
59
63
  function rememberCaptureTime(id, capturedAt) {
60
64
  captureStates.set(id, { capturedAt, unmarked: false });
61
65
  }
@@ -255,7 +259,7 @@ async function storeSnapshot(website, input, visitorId) {
255
259
  capturedAt: now,
256
260
  bytes: stored.bytes,
257
261
  html: stored.html,
258
- scrollRoot: "html" in input && input.html.includes(SCROLL_ROOT_ATTRIBUTE),
262
+ scrollRoot: "html" in input && hasScrollRoot(input.html),
259
263
  });
260
264
  captureStates.set(id, { capturedAt: now.getTime(), unmarked: false });
261
265
  (0, realtime_1.noteCollected)(website.tenantId, 1);
@@ -1 +1 @@
1
- {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/services/snapshots.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snapshots.js","sourceRoot":"","sources":["../../src/services/snapshots.ts"],"names":[],"mappings":"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"}
@@ -390,7 +390,7 @@ const usedIn = computed(() =>
390
390
  // holds its place, until the browser hydrating it is mounted. A client
391
391
  // navigation draws it with the list, from the first render: mounted later,
392
392
  // it would come in after the list, and its skeleton after none.
393
- const mounted = ref(!import.meta.env.SSR && !isHydratingComponent())
393
+ const mounted = ref(!import.meta.env.SSR && !isDmsHydrating())
394
394
  if (mounted.value) {
395
395
  selectFirst(inventory.value)
396
396
  }
@@ -7,7 +7,7 @@
7
7
  "license": "Apache-2.0",
8
8
  "packageManager": "pnpm@10.6.5",
9
9
  "engines": {
10
- "@antelopejs/dms-frontend": ">=0.8.0 <0.9.0"
10
+ "@antelopejs/dms-frontend": ">=0.9.0 <0.10.0"
11
11
  },
12
12
  "scripts": {
13
13
  "dev": "pnpm --dir ../playground frontend:dev",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/dms-marketing",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "First-party marketing analytics for the AntelopeJS DMS: traffic dashboards, conversion funnels with A/B splits and click heatmaps, without cookies or external services.",
5
5
  "keywords": [
6
6
  "ab-testing",
@@ -47,10 +47,10 @@
47
47
  "@antelopejs/interface-api": ">=0.0.15 <1.0.0",
48
48
  "@antelopejs/interface-api-util": ">=0.1.3 <1.0.0",
49
49
  "@antelopejs/interface-core": ">=0.2.4 <1.0.0",
50
- "@antelopejs/interface-data-api": ">=0.2.2 <1.0.0",
51
- "@antelopejs/interface-database": ">=0.1.10 <1.0.0",
52
- "@antelopejs/interface-database-decorators": ">=0.1.9 <1.0.0",
53
- "@antelopejs/interface-dms": ">=0.8.0 <1.0.0",
50
+ "@antelopejs/interface-data-api": ">=0.4.0 <1.0.0",
51
+ "@antelopejs/interface-database": ">=0.1.11 <1.0.0",
52
+ "@antelopejs/interface-database-decorators": ">=0.1.10 <1.0.0",
53
+ "@antelopejs/interface-dms": ">=0.9.0 <1.0.0",
54
54
  "@antelopejs/interface-dms-marketing": ">=0.5.0 <0.6.0",
55
55
  "defu": "^6.1.4",
56
56
  "maxmind": "^5.0.7",
@@ -60,9 +60,9 @@
60
60
  "zod": "~3.24.4"
61
61
  },
62
62
  "devDependencies": {
63
- "@antelopejs/core": ">=1.17.0 <2",
63
+ "@antelopejs/core": ">=1.17.1 <2",
64
64
  "@antelopejs/interface-mongodb": ">=0.0.6 <1.0.0",
65
- "@antelopejs/mongodb": "1.4.4",
65
+ "@antelopejs/mongodb": "1.5.0",
66
66
  "@antelopejs/tooling-configs": ">=0.0.9 <1.0.0",
67
67
  "@types/node": "^22.19.15",
68
68
  "@types/sanitize-html": "^2.16.2",
@@ -101,11 +101,11 @@ config: { dashboardTracking: { enabled: true, websiteName: "Dashboard", excludeP
101
101
 
102
102
  ## Content from code
103
103
 
104
- Never write the module's tables. From a module's `start()` (await) — or unawaited with a `.catch` in
105
- `construct()` / a DATABASE_INITIALIZED handler — use `@antelopejs/interface-dms-marketing`:
104
+ Never write the module's tables. From a `Hook.TENANT_BEING_PROVISIONED` handler (once per tenant, the
105
+ `default` one included; never `start()` or DATABASE_INITIALIZED) use `@antelopejs/interface-dms-marketing`:
106
106
 
107
107
  ```typescript
108
- const tenantId = "default"; // explicit, never implied
108
+ RegisterHook(Hook.TENANT_BEING_PROVISIONED, async ({ tenantId }) => {
109
109
  await EnsureWebsite({ tenantId, id: "shop-site", name: "Shop", domain: "shop.example.com",
110
110
  snapshotsEnabled: true }); // id = data-website-id, global
111
111
  await EnsureFunnel({ tenantId, id: "shop-quote", websiteId: "shop-site", name: "Quote",
@@ -116,11 +116,12 @@ await EnsurePageSnapshot({ tenantId, websiteId: "shop-site", url: "https://shop.
116
116
  html, viewport: { width: 1280, height: 800 }, document: { width: 1280, height: 2600 } });
117
117
  await ImportAnalytics({ tenantId, importId: "shop-history", websiteId: "shop-site", sessions: [
118
118
  { visitor: "v1", userAgent, country: "BE", events: [{ kind: "pageview", at: "2026-10-01T09:00:00Z", url }] }] });
119
+ });
119
120
  ```
120
121
 
121
- - Ensure* answer `created` / `unchanged` / `updated` / `kept`: a record someone changed since the last
122
- declaration (hash stored on the row) is never overwritten; delete it in the dashboard to re-take it.
123
- Dashboard rules apply (hostnames, 1-10 steps, 2-8 arms, draft → running ⇄ stopped, arms frozen out of draft).
122
+ - Ensure* write once, from `Hook.TENANT_BEING_PROVISIONED`: `created`, or `kept` for an id that already exists
123
+ (no hash, no refresh); delete a record in the dashboard to re-take it. Dashboard rules apply (hostnames,
124
+ 1-10 steps, 2-8 arms); a split is created draft, running (one open run) or stopped (one closed run).
124
125
  - ImportAnalytics replays through the live collect pipeline with trusted timestamps (same sessions,
125
126
  raw events and daily rows); once per importId + website, later calls `in_progress` (first still replaying, counts not final),
126
127
  then `skipped` (or `failed`); ≤ 10,000 sessions and
@@ -128,7 +129,7 @@ await ImportAnalytics({ tenantId, importId: "shop-history", websiteId: "shop-sit
128
129
  draft splits. `startedAt` on a running split makes imported exposures count.
129
130
  - EnsurePageSnapshot: the heatmap backdrop of a page the tracker cannot capture (not online, imported
130
131
  history); keyed by path + layout of `viewport` (desktop ≥ 1024, tablet ≥ 600, phone); sanitized like a
131
- capture (a `<style>` with `<` before a letter, `!`, `/` or `?` is dropped: CSS-escape that character); needs `snapshotsEnabled`; a live capture replaces it and is never overwritten (`kept`).
132
+ capture (a `<style>` with `<` before a letter, `!`, `/` or `?` is dropped: CSS-escape that character); needs `snapshotsEnabled`; a live capture replaces it; an existing snapshot of that page and layout is `kept`.
132
133
  - `tenantId` is required on every content call: no default. Full contract: the interface package's
133
134
  `docs/1.index.md`.
134
135
 
@@ -1,2 +0,0 @@
1
- export declare function markMarketingReady(): void;
2
- export declare function whenMarketingReady(): Promise<void>;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.markMarketingReady = markMarketingReady;
4
- exports.whenMarketingReady = whenMarketingReady;
5
- let markReady = () => { };
6
- const ready = new Promise((resolve) => {
7
- markReady = resolve;
8
- });
9
- function markMarketingReady() {
10
- markReady();
11
- }
12
- function whenMarketingReady() {
13
- return ready;
14
- }
15
- //# sourceMappingURL=readiness.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../src/services/readiness.ts"],"names":[],"mappings":";;AAWA,gDAEC;AAED,gDAEC;AAXD,IAAI,SAAS,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;AACrC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;IAC1C,SAAS,GAAG,OAAO,CAAC;AACtB,CAAC,CAAC,CAAC;AAEH,SAAgB,kBAAkB;IAChC,SAAS,EAAE,CAAC;AACd,CAAC;AAED,SAAgB,kBAAkB;IAChC,OAAO,KAAK,CAAC;AACf,CAAC"}