@aranova/tracking-next 1.0.0 → 1.1.0

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 (39) hide show
  1. package/dist/blog-server.js.map +1 -1
  2. package/dist/blog-server.mjs.map +1 -1
  3. package/dist/blog.js.map +1 -1
  4. package/dist/blog.mjs.map +1 -1
  5. package/dist/calendar-server.js.map +1 -1
  6. package/dist/calendar-server.mjs.map +1 -1
  7. package/dist/calendar.js.map +1 -1
  8. package/dist/calendar.mjs.map +1 -1
  9. package/dist/client.d.mts +9 -3
  10. package/dist/client.d.ts +9 -3
  11. package/dist/client.js +550 -194
  12. package/dist/client.js.map +1 -1
  13. package/dist/client.mjs +550 -194
  14. package/dist/client.mjs.map +1 -1
  15. package/dist/index.d.mts +5 -5
  16. package/dist/index.d.ts +5 -5
  17. package/dist/index.js +336 -271
  18. package/dist/index.js.map +1 -1
  19. package/dist/index.mjs +336 -271
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/{ingest-typed-BdKmlouW.d.ts → ingest-typed-MBuMe9Pn.d.ts} +94 -2
  22. package/dist/{ingest-typed-Bo7WPmpU.d.mts → ingest-typed-UA13xTfI.d.mts} +94 -2
  23. package/dist/{phone-utils-CubQif9Z.d.mts → phone-utils-C0ds6cqZ.d.mts} +6 -0
  24. package/dist/{phone-utils-CubQif9Z.d.ts → phone-utils-C0ds6cqZ.d.ts} +6 -0
  25. package/dist/phone.d.mts +1 -1
  26. package/dist/phone.d.ts +1 -1
  27. package/dist/{sales-DG150g3o.d.ts → sales-DQC815f3.d.ts} +1 -1
  28. package/dist/{sales-D7KstKA-.d.mts → sales-w1reW_Y3.d.mts} +1 -1
  29. package/dist/sales.d.mts +2 -2
  30. package/dist/sales.d.ts +2 -2
  31. package/dist/sales.js +6 -1
  32. package/dist/sales.js.map +1 -1
  33. package/dist/sales.mjs +6 -1
  34. package/dist/sales.mjs.map +1 -1
  35. package/dist/server.d.mts +1 -1
  36. package/dist/server.d.ts +1 -1
  37. package/dist/{tracking-config-runtime-D7prdTE1.d.mts → tracking-config-runtime-C6H7ofmo.d.mts} +6 -0
  38. package/dist/{tracking-config-runtime-D7prdTE1.d.ts → tracking-config-runtime-C6H7ofmo.d.ts} +6 -0
  39. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -339,6 +339,7 @@ var TRACKING_CAPABILITIES = [
339
339
  "consent_controls",
340
340
  "conversion_goals_auto",
341
341
  "conversion_goals_manual",
342
+ "cross_site_linker",
342
343
  "cta_click_capture",
343
344
  "form_capture",
344
345
  "phone_click_capture",
@@ -365,6 +366,9 @@ function readDomMarkers() {
365
366
  return found;
366
367
  }
367
368
 
369
+ // ../tracking-core/src/cross-site-link.ts
370
+ var z = __toESM(require("zod/mini"));
371
+
368
372
  // ../tracking-core/src/tracking.ts
369
373
  var TRACKING_COOKIE_MAX_AGE_SECONDS = 7776e3;
370
374
  var TRACKING_PARAM_KEYS = [
@@ -609,6 +613,43 @@ function buildLandingPayloadFields(sessionId, override) {
609
613
  };
610
614
  }
611
615
 
616
+ // ../tracking-core/src/cross-site-link.ts
617
+ var LINK_PARAM = "_arv";
618
+ var LINK_TOKEN_TTL_MS = 5 * 60 * 1e3;
619
+ var FUTURE_SKEW_MS = 60 * 1e3;
620
+ var CARRIED_KEYS = {
621
+ g: "gclid",
622
+ w: "wbraid",
623
+ gb: "gbraid",
624
+ f: "fbclid",
625
+ y: "ylpcid"
626
+ };
627
+ var CARRIED_ENTRIES = Object.entries(CARRIED_KEYS);
628
+ var identifier = z.string().check(z.minLength(1), z.maxLength(128));
629
+ var optionalIdentifier = z.optional(identifier);
630
+ var linkTokenSchema = z.object({
631
+ v: identifier,
632
+ s: identifier,
633
+ // Epoch ms in base36.
634
+ t: z.string().check(z.regex(/^[0-9a-z]{1,12}$/)),
635
+ g: optionalIdentifier,
636
+ w: optionalIdentifier,
637
+ gb: optionalIdentifier,
638
+ f: optionalIdentifier,
639
+ fc: optionalIdentifier,
640
+ y: optionalIdentifier
641
+ });
642
+ function stripLinkParam(url) {
643
+ try {
644
+ const parsed = new URL(url, typeof window === "undefined" ? void 0 : window.location.href);
645
+ if (!parsed.searchParams.has(LINK_PARAM)) return url;
646
+ parsed.searchParams.delete(LINK_PARAM);
647
+ return parsed.href;
648
+ } catch {
649
+ return url;
650
+ }
651
+ }
652
+
612
653
  // ../tracking-core/src/payloads.ts
613
654
  function createTrackingClientContext(surface, input = {}) {
614
655
  return {
@@ -648,6 +689,7 @@ function createTrackingSessionUpsertPayload(trackingParams, input, context) {
648
689
  };
649
690
  }
650
691
  function createTrackingEventCreatePayload(trackingParams, input, context) {
692
+ const pageUrl = input.pageUrl ?? (typeof window === "undefined" ? null : window.location.href);
651
693
  return {
652
694
  session_id: input.sessionId,
653
695
  event_type: input.eventType,
@@ -658,7 +700,7 @@ function createTrackingEventCreatePayload(trackingParams, input, context) {
658
700
  fbclid: trackingParams.fbclid,
659
701
  fbc: getFbcCookie(),
660
702
  fbp: getFbpCookie(),
661
- page_url: input.pageUrl ?? (typeof window === "undefined" ? null : window.location.href),
703
+ page_url: pageUrl === null ? null : stripLinkParam(pageUrl),
662
704
  metadata: input.metadata ?? null,
663
705
  context
664
706
  };
@@ -770,7 +812,8 @@ function parseConversionConfig(raw) {
770
812
  gtag_ids: isStringMap(obj.gtag_ids) ? obj.gtag_ids : {},
771
813
  meta_pixel_ids: isStringMap(obj.meta_pixel_ids) ? obj.meta_pixel_ids : {},
772
814
  services,
773
- goals
815
+ goals,
816
+ linked_hostnames: Array.isArray(obj.linked_hostnames) ? obj.linked_hostnames.filter((h) => typeof h === "string" && h.length > 0) : []
774
817
  };
775
818
  }
776
819
  var CACHE_PREFIX = "_aranova_cfg_";
@@ -854,6 +897,7 @@ function resolveConversionConfig(options) {
854
897
  getFiring: (key) => goalsByKey.get(key)?.firing ?? null,
855
898
  getGoal: (key) => goalsByKey.get(key) ?? null,
856
899
  listGoals: () => [...goalsByKey.values()],
900
+ linkedHostnames: () => current?.linked_hostnames ?? [],
857
901
  current: () => current,
858
902
  isReady: () => current !== null,
859
903
  onResolve: (listener) => {
@@ -1061,7 +1105,7 @@ function validateConfig(config, ref) {
1061
1105
  function pageViewSnapshot() {
1062
1106
  if (typeof window === "undefined" || typeof document === "undefined") return null;
1063
1107
  return {
1064
- href: window.location.href,
1108
+ href: stripLinkParam(window.location.href),
1065
1109
  title: document.title || null,
1066
1110
  referrer: document.referrer || null
1067
1111
  };
@@ -1212,6 +1256,10 @@ var TrackingConfigRuntime = class {
1212
1256
  listGoals() {
1213
1257
  return this.current?.goals ?? [];
1214
1258
  }
1259
+ /** Sibling hostnames for the linker — read from the cached object even while unconfirmed. */
1260
+ linkedHostnames() {
1261
+ return this.current?.linked_hostnames ?? [];
1262
+ }
1215
1263
  async revalidateNow() {
1216
1264
  try {
1217
1265
  const headers = {};
@@ -1455,6 +1503,18 @@ var EVENT_SEMANTICS = {
1455
1503
  category: "engagement",
1456
1504
  outcomeRole: "engagement",
1457
1505
  clientVisibility: "simple"
1506
+ },
1507
+ site_link_click: {
1508
+ label: "Left for sibling site",
1509
+ category: "page",
1510
+ outcomeRole: "navigation",
1511
+ clientVisibility: "detailed"
1512
+ },
1513
+ site_link_arrival: {
1514
+ label: "Arrived from sibling site",
1515
+ category: "page",
1516
+ outcomeRole: "navigation",
1517
+ clientVisibility: "simple"
1458
1518
  }
1459
1519
  };
1460
1520
  function getEventSemantics(eventName) {
@@ -1696,11 +1756,11 @@ function createSalesClient(config) {
1696
1756
  }
1697
1757
 
1698
1758
  // ../tracking-core/src/resources/sales/schema.ts
1699
- var z2 = __toESM(require("zod/mini"));
1759
+ var z3 = __toESM(require("zod/mini"));
1700
1760
 
1701
1761
  // ../tracking-core/src/resources/sales/generated/zod.gen.ts
1702
- var z = __toESM(require("zod/mini"));
1703
- var zErrorCode = z.enum([
1762
+ var z2 = __toESM(require("zod/mini"));
1763
+ var zErrorCode = z2.enum([
1704
1764
  "missing_credentials",
1705
1765
  "invalid_api_key",
1706
1766
  "not_authenticated",
@@ -1725,36 +1785,36 @@ var zErrorCode = z.enum([
1725
1785
  "rate_limited",
1726
1786
  "internal_error"
1727
1787
  ]);
1728
- var zSaleItemEntitySchema = z.object({
1729
- category: z.nullable(z.string()),
1730
- external_item_id: z.nullable(z.string()),
1731
- id: z.uuid(),
1732
- name: z.nullable(z.string()),
1733
- quantity: z.string().check(z.regex(/^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$/)),
1734
- unit_cost_cents: z.nullable(z.int()),
1735
- unit_price_cents: z.int()
1788
+ var zSaleItemEntitySchema = z2.object({
1789
+ category: z2.nullable(z2.string()),
1790
+ external_item_id: z2.nullable(z2.string()),
1791
+ id: z2.uuid(),
1792
+ name: z2.nullable(z2.string()),
1793
+ quantity: z2.string().check(z2.regex(/^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$/)),
1794
+ unit_cost_cents: z2.nullable(z2.int()),
1795
+ unit_price_cents: z2.int()
1736
1796
  });
1737
- var zSaleItemInputSchema = z.strictObject({
1738
- category: z.nullish(z.string()),
1739
- external_item_id: z.nullish(z.string()),
1740
- name: z.nullish(z.string()),
1741
- quantity: z.string().check(z.regex(/^\d+(\.\d{1,3})?$/)),
1742
- unit_cost_cents: z.nullish(z.int().check(z.gte(0))),
1743
- unit_price_cents: z.int().check(z.gte(0))
1797
+ var zSaleItemInputSchema = z2.strictObject({
1798
+ category: z2.nullish(z2.string()),
1799
+ external_item_id: z2.nullish(z2.string()),
1800
+ name: z2.nullish(z2.string()),
1801
+ quantity: z2.string().check(z2.regex(/^\d+(\.\d{1,3})?$/)),
1802
+ unit_cost_cents: z2.nullish(z2.int().check(z2.gte(0))),
1803
+ unit_price_cents: z2.int().check(z2.gte(0))
1744
1804
  });
1745
- var zSaleServiceEntitySchema = z.object({
1746
- amount_cents: z.int(),
1747
- id: z.uuid(),
1748
- mapped: z.nullable(z.boolean()),
1749
- service_id: z.uuid(),
1750
- service_key: z.string(),
1751
- service_label: z.string()
1805
+ var zSaleServiceEntitySchema = z2.object({
1806
+ amount_cents: z2.int(),
1807
+ id: z2.uuid(),
1808
+ mapped: z2.nullable(z2.boolean()),
1809
+ service_id: z2.uuid(),
1810
+ service_key: z2.string(),
1811
+ service_label: z2.string()
1752
1812
  });
1753
- var zSaleServiceInputSchema = z.strictObject({
1754
- amount_cents: z.int().check(z.gte(0)),
1755
- service: z.string()
1813
+ var zSaleServiceInputSchema = z2.strictObject({
1814
+ amount_cents: z2.int().check(z2.gte(0)),
1815
+ service: z2.string()
1756
1816
  });
1757
- var zSmsAutomationState = z.enum([
1817
+ var zSmsAutomationState = z2.enum([
1758
1818
  "needs_check",
1759
1819
  "failed",
1760
1820
  "undelivered",
@@ -1766,7 +1826,7 @@ var zSmsAutomationState = z.enum([
1766
1826
  "eligible",
1767
1827
  "not_applicable"
1768
1828
  ]);
1769
- var zSmsWithheldReason = z.enum([
1829
+ var zSmsWithheldReason = z2.enum([
1770
1830
  "automation_disabled",
1771
1831
  "sms_disabled",
1772
1832
  "no_phone",
@@ -1779,77 +1839,82 @@ var zSmsWithheldReason = z.enum([
1779
1839
  "sender_not_ready",
1780
1840
  "missing_review_url",
1781
1841
  "no_handler",
1782
- "dispatch_already_recorded"
1842
+ "dispatch_already_recorded",
1843
+ "text_back_disabled",
1844
+ "number_not_active",
1845
+ "a2p_registration_required",
1846
+ "alert_recipient_cannot_receive_sms",
1847
+ "line_type_unresolved"
1783
1848
  ]);
1784
- var zSaleSmsStatusSchema = z.object({
1785
- can_send_now: z._default(z.boolean(), false),
1786
- last_message_at: z.nullable(z.iso.datetime({ offset: true })),
1787
- reason_detail: z.nullable(z.string()),
1849
+ var zSaleSmsStatusSchema = z2.object({
1850
+ can_send_now: z2._default(z2.boolean(), false),
1851
+ last_message_at: z2.nullable(z2.iso.datetime({ offset: true })),
1852
+ reason_detail: z2.nullable(z2.string()),
1788
1853
  state: zSmsAutomationState,
1789
- suppressed_by_other_sale: z._default(z.boolean(), false),
1790
- withheld_reason: z.nullable(zSmsWithheldReason)
1854
+ suppressed_by_other_sale: z2._default(z2.boolean(), false),
1855
+ withheld_reason: z2.nullable(zSmsWithheldReason)
1791
1856
  });
1792
- var zSupportedCurrency = z.enum(["USD", "CAD"]);
1793
- var zTrackingEnvironment = z.enum(["production", "development"]);
1794
- var zSaleCreateSchema = z.strictObject({
1795
- amount_total_cents: z.nullish(z.int().check(z.gte(0))),
1857
+ var zSupportedCurrency = z2.enum(["USD", "CAD"]);
1858
+ var zTrackingEnvironment = z2.enum(["production", "development"]);
1859
+ var zSaleCreateSchema = z2.strictObject({
1860
+ amount_total_cents: z2.nullish(z2.int().check(z2.gte(0))),
1796
1861
  currency: zSupportedCurrency,
1797
- customer_email: z.nullish(z.email().check(z.maxLength(320))),
1798
- customer_name: z.nullish(z.string().check(z.maxLength(200))),
1799
- customer_phone: z.nullish(z.string().check(z.maxLength(64))),
1800
- description: z.nullish(z.string()),
1801
- environment: z._default(z.optional(zTrackingEnvironment), "production"),
1802
- external_id: z.nullish(z.string()),
1803
- items: z.optional(z.array(zSaleItemInputSchema)),
1804
- metadata: z.nullish(z.record(z.string(), z.unknown())),
1805
- occurred_at: z.iso.datetime({ offset: true }),
1806
- service: z.nullish(z.string()),
1807
- services: z.nullish(z.array(zSaleServiceInputSchema)),
1808
- sms_consent: z.nullish(z.boolean())
1862
+ customer_email: z2.nullish(z2.email().check(z2.maxLength(320))),
1863
+ customer_name: z2.nullish(z2.string().check(z2.maxLength(200))),
1864
+ customer_phone: z2.nullish(z2.string().check(z2.maxLength(64))),
1865
+ description: z2.nullish(z2.string()),
1866
+ environment: z2._default(z2.optional(zTrackingEnvironment), "production"),
1867
+ external_id: z2.nullish(z2.string()),
1868
+ items: z2.optional(z2.array(zSaleItemInputSchema)),
1869
+ metadata: z2.nullish(z2.record(z2.string(), z2.unknown())),
1870
+ occurred_at: z2.iso.datetime({ offset: true }),
1871
+ service: z2.nullish(z2.string()),
1872
+ services: z2.nullish(z2.array(zSaleServiceInputSchema)),
1873
+ sms_consent: z2.nullish(z2.boolean())
1809
1874
  });
1810
- var zValidationError = z.object({
1811
- ctx: z.optional(z.record(z.string(), z.unknown())),
1812
- input: z.optional(z.unknown()),
1813
- loc: z.array(z.union([z.string(), z.int()])),
1814
- msg: z.string(),
1815
- type: z.string()
1875
+ var zValidationError = z2.object({
1876
+ ctx: z2.optional(z2.record(z2.string(), z2.unknown())),
1877
+ input: z2.optional(z2.unknown()),
1878
+ loc: z2.array(z2.union([z2.string(), z2.int()])),
1879
+ msg: z2.string(),
1880
+ type: z2.string()
1816
1881
  });
1817
- var zHttpValidationError = z.object({
1818
- detail: z.optional(z.array(zValidationError))
1882
+ var zHttpValidationError = z2.object({
1883
+ detail: z2.optional(z2.array(zValidationError))
1819
1884
  });
1820
- var zValidationErrorItem = z.object({
1821
- loc: z.array(z.union([z.string(), z.int()])),
1822
- msg: z.string(),
1823
- type: z.string()
1885
+ var zValidationErrorItem = z2.object({
1886
+ loc: z2.array(z2.union([z2.string(), z2.int()])),
1887
+ msg: z2.string(),
1888
+ type: z2.string()
1824
1889
  });
1825
- var zApiErrorSchema = z.object({
1890
+ var zApiErrorSchema = z2.object({
1826
1891
  code: zErrorCode,
1827
- context: z._default(z.nullish(z.record(z.string(), z.unknown())), null),
1828
- detail: z.string(),
1829
- errors: z._default(z.nullish(z.array(zValidationErrorItem)), null),
1830
- request_id: z._default(z.nullish(z.string()), null)
1892
+ context: z2._default(z2.nullish(z2.record(z2.string(), z2.unknown())), null),
1893
+ detail: z2.string(),
1894
+ errors: z2._default(z2.nullish(z2.array(zValidationErrorItem)), null),
1895
+ request_id: z2._default(z2.nullish(z2.string()), null)
1831
1896
  });
1832
- var zWritebackEmailSource = z.enum(["NONE", "SALE", "CUSTOMER", "HARVESTED"]);
1833
- var zWritebackEnrichmentStatus = z.enum(["NONE", "MATCHED", "AMBIGUOUS"]);
1834
- var zWritebackSaleUploadCounts = z.object({
1835
- failed: z._default(z.int(), 0),
1836
- pending: z._default(z.int(), 0),
1837
- skipped: z._default(z.int(), 0),
1838
- submitted: z._default(z.int(), 0),
1839
- total: z._default(z.int(), 0),
1840
- uploaded: z._default(z.int(), 0)
1897
+ var zWritebackEmailSource = z2.enum(["NONE", "SALE", "CUSTOMER", "HARVESTED"]);
1898
+ var zWritebackEnrichmentStatus = z2.enum(["NONE", "MATCHED", "AMBIGUOUS"]);
1899
+ var zWritebackSaleUploadCounts = z2.object({
1900
+ failed: z2._default(z2.int(), 0),
1901
+ pending: z2._default(z2.int(), 0),
1902
+ skipped: z2._default(z2.int(), 0),
1903
+ submitted: z2._default(z2.int(), 0),
1904
+ total: z2._default(z2.int(), 0),
1905
+ uploaded: z2._default(z2.int(), 0)
1841
1906
  });
1842
- var zSaleWritebackStatusSchema = z.object({
1843
- blocked_reason: z.nullable(z.string()),
1844
- can_dispatch: z._default(z.boolean(), false),
1845
- email_source: z.nullable(zWritebackEmailSource),
1846
- enrichment_status: z.nullable(zWritebackEnrichmentStatus),
1847
- gclid_attached: z._default(z.boolean(), false),
1848
- identifiers_sent: z.nullable(z.string()),
1849
- mapped_service_ids: z.array(z.uuid()),
1850
- matched_submit_count: z.nullable(z.int()),
1851
- needs_force: z._default(z.boolean(), false),
1852
- rollup: z.enum([
1907
+ var zSaleWritebackStatusSchema = z2.object({
1908
+ blocked_reason: z2.nullable(z2.string()),
1909
+ can_dispatch: z2._default(z2.boolean(), false),
1910
+ email_source: z2.nullable(zWritebackEmailSource),
1911
+ enrichment_status: z2.nullable(zWritebackEnrichmentStatus),
1912
+ gclid_attached: z2._default(z2.boolean(), false),
1913
+ identifiers_sent: z2.nullable(z2.string()),
1914
+ mapped_service_ids: z2.array(z2.uuid()),
1915
+ matched_submit_count: z2.nullable(z2.int()),
1916
+ needs_force: z2._default(z2.boolean(), false),
1917
+ rollup: z2.enum([
1853
1918
  "failed",
1854
1919
  "skipped",
1855
1920
  "pending",
@@ -1859,37 +1924,37 @@ var zSaleWritebackStatusSchema = z.object({
1859
1924
  "out_of_window",
1860
1925
  "blocked"
1861
1926
  ]),
1862
- stale: z._default(z.boolean(), false),
1863
- uncovered_service_ids: z.array(z.uuid()),
1927
+ stale: z2._default(z2.boolean(), false),
1928
+ uncovered_service_ids: z2.array(z2.uuid()),
1864
1929
  uploads: zWritebackSaleUploadCounts
1865
1930
  });
1866
- var zSaleEntitySchema = z.object({
1867
- amount_total_cents: z.int(),
1868
- business_id: z.uuid(),
1869
- business_name: z.nullable(z.string()),
1870
- created_at: z.iso.datetime({ offset: true }),
1871
- currency: z.string(),
1872
- customer_email: z.nullable(z.string()),
1873
- customer_name: z.nullable(z.string()),
1874
- customer_name_placeholder_confirmed: z._default(z.boolean(), false),
1875
- customer_name_placeholder_confirmed_at: z.nullable(z.iso.datetime({ offset: true })),
1876
- customer_phone: z.nullable(z.string()),
1877
- description: z.nullable(z.string()),
1931
+ var zSaleEntitySchema = z2.object({
1932
+ amount_total_cents: z2.int(),
1933
+ business_id: z2.uuid(),
1934
+ business_name: z2.nullable(z2.string()),
1935
+ created_at: z2.iso.datetime({ offset: true }),
1936
+ currency: z2.string(),
1937
+ customer_email: z2.nullable(z2.string()),
1938
+ customer_name: z2.nullable(z2.string()),
1939
+ customer_name_placeholder_confirmed: z2._default(z2.boolean(), false),
1940
+ customer_name_placeholder_confirmed_at: z2.nullable(z2.iso.datetime({ offset: true })),
1941
+ customer_phone: z2.nullable(z2.string()),
1942
+ description: z2.nullable(z2.string()),
1878
1943
  environment: zTrackingEnvironment,
1879
- external_id: z.nullable(z.string()),
1880
- id: z.uuid(),
1881
- items: z.array(zSaleItemEntitySchema),
1882
- metadata: z.nullable(z.record(z.string(), z.unknown())),
1883
- occurred_at: z.iso.datetime({ offset: true }),
1884
- service_id: z.nullable(z.uuid()),
1885
- service_key: z.nullable(z.string()),
1886
- service_label: z.nullable(z.string()),
1887
- services: z.array(zSaleServiceEntitySchema),
1888
- sms_automation: z.nullable(zSaleSmsStatusSchema),
1889
- sms_consent: z._default(z.boolean(), false),
1890
- sms_consent_granted_at: z.nullable(z.iso.datetime({ offset: true })),
1891
- updated_at: z.iso.datetime({ offset: true }),
1892
- writeback: z.nullable(zSaleWritebackStatusSchema)
1944
+ external_id: z2.nullable(z2.string()),
1945
+ id: z2.uuid(),
1946
+ items: z2.array(zSaleItemEntitySchema),
1947
+ metadata: z2.nullable(z2.record(z2.string(), z2.unknown())),
1948
+ occurred_at: z2.iso.datetime({ offset: true }),
1949
+ service_id: z2.nullable(z2.uuid()),
1950
+ service_key: z2.nullable(z2.string()),
1951
+ service_label: z2.nullable(z2.string()),
1952
+ services: z2.array(zSaleServiceEntitySchema),
1953
+ sms_automation: z2.nullable(zSaleSmsStatusSchema),
1954
+ sms_consent: z2._default(z2.boolean(), false),
1955
+ sms_consent_granted_at: z2.nullable(z2.iso.datetime({ offset: true })),
1956
+ updated_at: z2.iso.datetime({ offset: true }),
1957
+ writeback: z2.nullable(zSaleWritebackStatusSchema)
1893
1958
  });
1894
1959
 
1895
1960
  // ../tracking-core/src/resources/sales/schema.ts
@@ -1897,11 +1962,11 @@ var saleItemSchema = zSaleItemInputSchema;
1897
1962
  var saleServiceSchema = zSaleServiceInputSchema;
1898
1963
  var currencySchema = zSupportedCurrency;
1899
1964
  var SUPPORTED_CURRENCIES = currencySchema.options;
1900
- var centsSchema = z2.int().check(z2.gte(0));
1901
- var metadataSchema = z2.record(z2.string(), z2.unknown());
1902
- var customerNameSchema = z2.string().check(z2.maxLength(200));
1903
- var customerPhoneSchema = z2.string().check(z2.maxLength(64));
1904
- var customerEmailSchema = z2.email().check(z2.maxLength(320));
1965
+ var centsSchema = z3.int().check(z3.gte(0));
1966
+ var metadataSchema = z3.record(z3.string(), z3.unknown());
1967
+ var customerNameSchema = z3.string().check(z3.maxLength(200));
1968
+ var customerPhoneSchema = z3.string().check(z3.maxLength(64));
1969
+ var customerEmailSchema = z3.email().check(z3.maxLength(320));
1905
1970
  function addIssue(ctx, path, message) {
1906
1971
  ctx.issues.push({ code: "custom", input: ctx.value, path, message });
1907
1972
  }
@@ -1935,24 +2000,24 @@ function refineServiceXor(val, ctx, { requireAmount }) {
1935
2000
  );
1936
2001
  }
1937
2002
  }
1938
- var saleCreateSchema = z2.extend(zSaleCreateSchema, { items: z2._default(z2.array(saleItemSchema), []) }).check((ctx) => refineServiceXor(ctx.value, ctx, { requireAmount: true }));
1939
- var saleUpdateSchema = z2.strictObject({
1940
- description: z2.nullish(z2.string()),
1941
- service: z2.nullish(z2.string()),
1942
- services: z2.nullish(z2.array(saleServiceSchema)),
1943
- currency: z2.optional(currencySchema),
1944
- amount_total_cents: z2.optional(centsSchema),
1945
- occurred_at: z2.optional(z2.iso.datetime()),
1946
- items: z2.optional(z2.array(saleItemSchema)),
1947
- metadata: z2.nullish(metadataSchema),
1948
- customer_name: z2.nullish(customerNameSchema),
2003
+ var saleCreateSchema = z3.extend(zSaleCreateSchema, { items: z3._default(z3.array(saleItemSchema), []) }).check((ctx) => refineServiceXor(ctx.value, ctx, { requireAmount: true }));
2004
+ var saleUpdateSchema = z3.strictObject({
2005
+ description: z3.nullish(z3.string()),
2006
+ service: z3.nullish(z3.string()),
2007
+ services: z3.nullish(z3.array(saleServiceSchema)),
2008
+ currency: z3.optional(currencySchema),
2009
+ amount_total_cents: z3.optional(centsSchema),
2010
+ occurred_at: z3.optional(z3.iso.datetime()),
2011
+ items: z3.optional(z3.array(saleItemSchema)),
2012
+ metadata: z3.nullish(metadataSchema),
2013
+ customer_name: z3.nullish(customerNameSchema),
1949
2014
  // Re-attest when changing a filler-looking name; the server clears the
1950
2015
  // prior attestation whenever `customer_name` changes.
1951
- customer_name_placeholder_confirmed: z2.optional(z2.boolean()),
1952
- customer_phone: z2.nullish(customerPhoneSchema),
1953
- customer_email: z2.nullish(customerEmailSchema),
2016
+ customer_name_placeholder_confirmed: z3.optional(z3.boolean()),
2017
+ customer_phone: z3.nullish(customerPhoneSchema),
2018
+ customer_email: z3.nullish(customerEmailSchema),
1954
2019
  // NOT NULL server-side: omit to leave unchanged (explicit null is rejected).
1955
- sms_consent: z2.optional(z2.boolean())
2020
+ sms_consent: z3.optional(z3.boolean())
1956
2021
  }).check((ctx) => refineServiceXor(ctx.value, ctx, { requireAmount: false }));
1957
2022
  var TRACKING_RANGES = ["24h", "7d", "30d"];
1958
2023
  var NAMED_RANGES = [
@@ -2080,80 +2145,80 @@ function isCalendarError(error, code) {
2080
2145
  }
2081
2146
 
2082
2147
  // ../tracking-core/src/resources/calendar/schema.ts
2083
- var z4 = __toESM(require("zod/mini"));
2148
+ var z5 = __toESM(require("zod/mini"));
2084
2149
 
2085
2150
  // ../tracking-core/src/resources/calendar/generated/zod.gen.ts
2086
- var z3 = __toESM(require("zod/mini"));
2087
- var zBookingAttendee = z3.strictObject({
2088
- display_name: z3.nullish(z3.string().check(z3.maxLength(200))),
2089
- email: z3.email().check(z3.maxLength(320)),
2090
- optional: z3._default(z3.optional(z3.boolean()), false)
2151
+ var z4 = __toESM(require("zod/mini"));
2152
+ var zBookingAttendee = z4.strictObject({
2153
+ display_name: z4.nullish(z4.string().check(z4.maxLength(200))),
2154
+ email: z4.email().check(z4.maxLength(320)),
2155
+ optional: z4._default(z4.optional(z4.boolean()), false)
2091
2156
  });
2092
- var zBookingCancelSchema = z3.strictObject({
2093
- notify_attendees: z3._default(z3.optional(z3.boolean()), true),
2094
- reason: z3.nullish(z3.string().check(z3.maxLength(500)))
2157
+ var zBookingCancelSchema = z4.strictObject({
2158
+ notify_attendees: z4._default(z4.optional(z4.boolean()), true),
2159
+ reason: z4.nullish(z4.string().check(z4.maxLength(500)))
2095
2160
  });
2096
- var zBookingCustomerInput = z3.strictObject({
2097
- email: z3.email().check(z3.maxLength(320)),
2098
- name: z3.nullish(z3.string().check(z3.maxLength(200))),
2099
- phone: z3.nullish(z3.string().check(z3.maxLength(64))),
2100
- sms_consent: z3._default(z3.optional(z3.boolean()), false)
2161
+ var zBookingCustomerInput = z4.strictObject({
2162
+ email: z4.email().check(z4.maxLength(320)),
2163
+ name: z4.nullish(z4.string().check(z4.maxLength(200))),
2164
+ phone: z4.nullish(z4.string().check(z4.maxLength(64))),
2165
+ sms_consent: z4._default(z4.optional(z4.boolean()), false)
2101
2166
  });
2102
- var zBookingCustomerOutput = z3.strictObject({
2103
- email: z3.email().check(z3.maxLength(320)),
2104
- name: z3.nullable(z3.string().check(z3.maxLength(200))),
2105
- phone: z3.nullable(z3.string().check(z3.maxLength(64))),
2106
- sms_consent: z3._default(z3.boolean(), false)
2167
+ var zBookingCustomerOutput = z4.strictObject({
2168
+ email: z4.email().check(z4.maxLength(320)),
2169
+ name: z4.nullable(z4.string().check(z4.maxLength(200))),
2170
+ phone: z4.nullable(z4.string().check(z4.maxLength(64))),
2171
+ sms_consent: z4._default(z4.boolean(), false)
2107
2172
  });
2108
- var zBookingRescheduleSchema = z3.strictObject({
2109
- duration_minutes: z3.nullish(z3.int().check(z3.gt(0), z3.lte(1440))),
2110
- end_at: z3.nullish(z3.iso.datetime({ offset: true })),
2111
- notify_attendees: z3._default(z3.optional(z3.boolean()), true),
2112
- reason: z3.nullish(z3.string().check(z3.maxLength(500))),
2113
- start_at: z3.iso.datetime({ offset: true }),
2114
- time_zone: z3.string().check(z3.minLength(1), z3.maxLength(64), z3.regex(/^[A-Za-z0-9_+\-\/]+$/))
2173
+ var zBookingRescheduleSchema = z4.strictObject({
2174
+ duration_minutes: z4.nullish(z4.int().check(z4.gt(0), z4.lte(1440))),
2175
+ end_at: z4.nullish(z4.iso.datetime({ offset: true })),
2176
+ notify_attendees: z4._default(z4.optional(z4.boolean()), true),
2177
+ reason: z4.nullish(z4.string().check(z4.maxLength(500))),
2178
+ start_at: z4.iso.datetime({ offset: true }),
2179
+ time_zone: z4.string().check(z4.minLength(1), z4.maxLength(64), z4.regex(/^[A-Za-z0-9_+\-\/]+$/))
2115
2180
  });
2116
- var zBookingResponse = z3.strictObject({
2117
- appointment_type: z3.nullable(z3.string()),
2118
- calendar_key: z3.string(),
2181
+ var zBookingResponse = z4.strictObject({
2182
+ appointment_type: z4.nullable(z4.string()),
2183
+ calendar_key: z4.string(),
2119
2184
  customer: zBookingCustomerOutput,
2120
- end_at: z3.iso.datetime({ offset: true }),
2121
- google_html_link: z3.nullable(z3.string()),
2122
- google_sync_state: z3.string(),
2123
- id: z3.string(),
2124
- manage_token: z3.nullable(z3.string()),
2125
- meet_url: z3.nullable(z3.string()),
2126
- start_at: z3.iso.datetime({ offset: true }),
2127
- status: z3.string(),
2128
- time_zone: z3.string(),
2129
- title: z3.string()
2185
+ end_at: z4.iso.datetime({ offset: true }),
2186
+ google_html_link: z4.nullable(z4.string()),
2187
+ google_sync_state: z4.string(),
2188
+ id: z4.string(),
2189
+ manage_token: z4.nullable(z4.string()),
2190
+ meet_url: z4.nullable(z4.string()),
2191
+ start_at: z4.iso.datetime({ offset: true }),
2192
+ status: z4.string(),
2193
+ time_zone: z4.string(),
2194
+ title: z4.string()
2130
2195
  });
2131
- var zBookingSource = z3.enum(["website", "phone", "walk_in", "import", "operator"]);
2132
- var zBookingMetadata = z3.strictObject({
2133
- custom: z3.nullish(
2134
- z3.record(z3.string(), z3.nullable(z3.union([z3.string(), z3.int(), z3.number(), z3.boolean()])))
2196
+ var zBookingSource = z4.enum(["website", "phone", "walk_in", "import", "operator"]);
2197
+ var zBookingMetadata = z4.strictObject({
2198
+ custom: z4.nullish(
2199
+ z4.record(z4.string(), z4.nullable(z4.union([z4.string(), z4.int(), z4.number(), z4.boolean()])))
2135
2200
  ),
2136
- fbclid: z3.nullish(z3.string().check(z3.maxLength(256))),
2137
- gclid: z3.nullish(z3.string().check(z3.maxLength(256))),
2138
- landing_page: z3.nullish(z3.string().check(z3.maxLength(2048))),
2139
- notes: z3.nullish(z3.string().check(z3.maxLength(2e3))),
2140
- referrer: z3.nullish(z3.string().check(z3.maxLength(2048))),
2141
- schema_version: z3._default(z3.optional(z3.int()), 1),
2142
- service: z3.nullish(z3.string().check(z3.maxLength(64))),
2143
- session_id: z3.nullish(z3.string().check(z3.maxLength(64))),
2144
- source: z3.nullish(zBookingSource),
2145
- utm_campaign: z3.nullish(z3.string().check(z3.maxLength(128))),
2146
- utm_content: z3.nullish(z3.string().check(z3.maxLength(128))),
2147
- utm_medium: z3.nullish(z3.string().check(z3.maxLength(128))),
2148
- utm_source: z3.nullish(z3.string().check(z3.maxLength(128))),
2149
- utm_term: z3.nullish(z3.string().check(z3.maxLength(128))),
2150
- visitor_id: z3.nullish(z3.string().check(z3.maxLength(64)))
2201
+ fbclid: z4.nullish(z4.string().check(z4.maxLength(256))),
2202
+ gclid: z4.nullish(z4.string().check(z4.maxLength(256))),
2203
+ landing_page: z4.nullish(z4.string().check(z4.maxLength(2048))),
2204
+ notes: z4.nullish(z4.string().check(z4.maxLength(2e3))),
2205
+ referrer: z4.nullish(z4.string().check(z4.maxLength(2048))),
2206
+ schema_version: z4._default(z4.optional(z4.int()), 1),
2207
+ service: z4.nullish(z4.string().check(z4.maxLength(64))),
2208
+ session_id: z4.nullish(z4.string().check(z4.maxLength(64))),
2209
+ source: z4.nullish(zBookingSource),
2210
+ utm_campaign: z4.nullish(z4.string().check(z4.maxLength(128))),
2211
+ utm_content: z4.nullish(z4.string().check(z4.maxLength(128))),
2212
+ utm_medium: z4.nullish(z4.string().check(z4.maxLength(128))),
2213
+ utm_source: z4.nullish(z4.string().check(z4.maxLength(128))),
2214
+ utm_term: z4.nullish(z4.string().check(z4.maxLength(128))),
2215
+ visitor_id: z4.nullish(z4.string().check(z4.maxLength(64)))
2151
2216
  });
2152
- var zCustomLocation = z3.strictObject({
2153
- kind: z3.literal("custom"),
2154
- text: z3.string().check(z3.maxLength(1024))
2217
+ var zCustomLocation = z4.strictObject({
2218
+ kind: z4.literal("custom"),
2219
+ text: z4.string().check(z4.maxLength(1024))
2155
2220
  });
2156
- var zErrorCode2 = z3.enum([
2221
+ var zErrorCode2 = z4.enum([
2157
2222
  "missing_credentials",
2158
2223
  "invalid_api_key",
2159
2224
  "not_authenticated",
@@ -2178,66 +2243,66 @@ var zErrorCode2 = z3.enum([
2178
2243
  "rate_limited",
2179
2244
  "internal_error"
2180
2245
  ]);
2181
- var zMeetLocation = z3.strictObject({
2182
- kind: z3.literal("google_meet")
2246
+ var zMeetLocation = z4.strictObject({
2247
+ kind: z4.literal("google_meet")
2183
2248
  });
2184
- var zPhoneLocation = z3.strictObject({
2185
- kind: z3.literal("phone"),
2186
- phone: z3.string().check(z3.maxLength(64))
2249
+ var zPhoneLocation = z4.strictObject({
2250
+ kind: z4.literal("phone"),
2251
+ phone: z4.string().check(z4.maxLength(64))
2187
2252
  });
2188
- var zPhysicalLocation = z3.strictObject({
2189
- address: z3.string().check(z3.maxLength(1024)),
2190
- kind: z3.literal("physical")
2253
+ var zPhysicalLocation = z4.strictObject({
2254
+ address: z4.string().check(z4.maxLength(1024)),
2255
+ kind: z4.literal("physical")
2191
2256
  });
2192
- var zReminderMethod = z3.enum(["email", "popup"]);
2193
- var zBookingReminder = z3.strictObject({
2257
+ var zReminderMethod = z4.enum(["email", "popup"]);
2258
+ var zBookingReminder = z4.strictObject({
2194
2259
  method: zReminderMethod,
2195
- minutes_before: z3.int().check(z3.gte(0), z3.lte(40320))
2260
+ minutes_before: z4.int().check(z4.gte(0), z4.lte(40320))
2196
2261
  });
2197
- var zBookingReminders = z3.strictObject({
2198
- overrides: z3.optional(z3.array(zBookingReminder).check(z3.maxLength(5))),
2199
- use_calendar_defaults: z3._default(z3.optional(z3.boolean()), true)
2262
+ var zBookingReminders = z4.strictObject({
2263
+ overrides: z4.optional(z4.array(zBookingReminder).check(z4.maxLength(5))),
2264
+ use_calendar_defaults: z4._default(z4.optional(z4.boolean()), true)
2200
2265
  });
2201
- var zBookingCreateSchema = z3.strictObject({
2202
- appointment_type: z3.nullish(z3.string().check(z3.maxLength(64))),
2203
- attendees: z3.optional(z3.array(zBookingAttendee).check(z3.maxLength(20))),
2204
- buffer_after_minutes: z3._default(z3.optional(z3.int().check(z3.gte(0), z3.lte(1440))), 0),
2205
- buffer_before_minutes: z3._default(z3.optional(z3.int().check(z3.gte(0), z3.lte(1440))), 0),
2206
- calendar_key: z3.string().check(z3.minLength(1), z3.maxLength(64)),
2266
+ var zBookingCreateSchema = z4.strictObject({
2267
+ appointment_type: z4.nullish(z4.string().check(z4.maxLength(64))),
2268
+ attendees: z4.optional(z4.array(zBookingAttendee).check(z4.maxLength(20))),
2269
+ buffer_after_minutes: z4._default(z4.optional(z4.int().check(z4.gte(0), z4.lte(1440))), 0),
2270
+ buffer_before_minutes: z4._default(z4.optional(z4.int().check(z4.gte(0), z4.lte(1440))), 0),
2271
+ calendar_key: z4.string().check(z4.minLength(1), z4.maxLength(64)),
2207
2272
  customer: zBookingCustomerInput,
2208
- description: z3.nullish(z3.string().check(z3.maxLength(8e3))),
2209
- duration_minutes: z3.nullish(z3.int().check(z3.gt(0), z3.lte(1440))),
2210
- end_at: z3.nullish(z3.iso.datetime({ offset: true })),
2211
- idempotency_key: z3.nullish(z3.string().check(z3.maxLength(128))),
2212
- location: z3.nullish(z3.union([zMeetLocation, zPhysicalLocation, zPhoneLocation, zCustomLocation])),
2213
- metadata: z3.nullish(zBookingMetadata),
2214
- reminders: z3.nullish(zBookingReminders),
2215
- send_invites: z3._default(z3.optional(z3.boolean()), true),
2216
- start_at: z3.iso.datetime({ offset: true }),
2217
- time_zone: z3.string().check(z3.minLength(1), z3.maxLength(64), z3.regex(/^[A-Za-z0-9_+\-\/]+$/)),
2218
- title: z3.nullish(z3.string().check(z3.maxLength(300)))
2273
+ description: z4.nullish(z4.string().check(z4.maxLength(8e3))),
2274
+ duration_minutes: z4.nullish(z4.int().check(z4.gt(0), z4.lte(1440))),
2275
+ end_at: z4.nullish(z4.iso.datetime({ offset: true })),
2276
+ idempotency_key: z4.nullish(z4.string().check(z4.maxLength(128))),
2277
+ location: z4.nullish(z4.union([zMeetLocation, zPhysicalLocation, zPhoneLocation, zCustomLocation])),
2278
+ metadata: z4.nullish(zBookingMetadata),
2279
+ reminders: z4.nullish(zBookingReminders),
2280
+ send_invites: z4._default(z4.optional(z4.boolean()), true),
2281
+ start_at: z4.iso.datetime({ offset: true }),
2282
+ time_zone: z4.string().check(z4.minLength(1), z4.maxLength(64), z4.regex(/^[A-Za-z0-9_+\-\/]+$/)),
2283
+ title: z4.nullish(z4.string().check(z4.maxLength(300)))
2219
2284
  });
2220
- var zValidationError2 = z3.object({
2221
- ctx: z3.optional(z3.record(z3.string(), z3.unknown())),
2222
- input: z3.optional(z3.unknown()),
2223
- loc: z3.array(z3.union([z3.string(), z3.int()])),
2224
- msg: z3.string(),
2225
- type: z3.string()
2285
+ var zValidationError2 = z4.object({
2286
+ ctx: z4.optional(z4.record(z4.string(), z4.unknown())),
2287
+ input: z4.optional(z4.unknown()),
2288
+ loc: z4.array(z4.union([z4.string(), z4.int()])),
2289
+ msg: z4.string(),
2290
+ type: z4.string()
2226
2291
  });
2227
- var zHttpValidationError2 = z3.object({
2228
- detail: z3.optional(z3.array(zValidationError2))
2292
+ var zHttpValidationError2 = z4.object({
2293
+ detail: z4.optional(z4.array(zValidationError2))
2229
2294
  });
2230
- var zValidationErrorItem2 = z3.object({
2231
- loc: z3.array(z3.union([z3.string(), z3.int()])),
2232
- msg: z3.string(),
2233
- type: z3.string()
2295
+ var zValidationErrorItem2 = z4.object({
2296
+ loc: z4.array(z4.union([z4.string(), z4.int()])),
2297
+ msg: z4.string(),
2298
+ type: z4.string()
2234
2299
  });
2235
- var zApiErrorSchema2 = z3.object({
2300
+ var zApiErrorSchema2 = z4.object({
2236
2301
  code: zErrorCode2,
2237
- context: z3._default(z3.nullish(z3.record(z3.string(), z3.unknown())), null),
2238
- detail: z3.string(),
2239
- errors: z3._default(z3.nullish(z3.array(zValidationErrorItem2)), null),
2240
- request_id: z3._default(z3.nullish(z3.string()), null)
2302
+ context: z4._default(z4.nullish(z4.record(z4.string(), z4.unknown())), null),
2303
+ detail: z4.string(),
2304
+ errors: z4._default(z4.nullish(z4.array(zValidationErrorItem2)), null),
2305
+ request_id: z4._default(z4.nullish(z4.string()), null)
2241
2306
  });
2242
2307
 
2243
2308
  // ../tracking-core/src/resources/calendar/schema.ts
@@ -2274,29 +2339,29 @@ function isKnownTimeZone(timeZone) {
2274
2339
  return false;
2275
2340
  }
2276
2341
  }
2277
- var ianaTz = z4.string().check(
2278
- z4.minLength(1),
2279
- z4.maxLength(64),
2280
- z4.regex(/^[A-Za-z0-9_+\-/]+$/),
2281
- z4.refine(isKnownTimeZone, { error: "unknown IANA time zone" })
2342
+ var ianaTz = z5.string().check(
2343
+ z5.minLength(1),
2344
+ z5.maxLength(64),
2345
+ z5.regex(/^[A-Za-z0-9_+\-/]+$/),
2346
+ z5.refine(isKnownTimeZone, { error: "unknown IANA time zone" })
2282
2347
  );
2283
2348
  var bookingAttendeeSchema = zBookingAttendee;
2284
2349
  var bookingReminderSchema = zBookingReminder;
2285
2350
  var bookingCustomerSchema = zBookingCustomerInput;
2286
- var bookingMetadataSchema = z4.extend(zBookingMetadata, {
2287
- custom: z4.nullish(
2288
- z4.record(z4.string(), z4.union([z4.string(), z4.int(), z4.number(), z4.boolean(), z4.null()]))
2351
+ var bookingMetadataSchema = z5.extend(zBookingMetadata, {
2352
+ custom: z5.nullish(
2353
+ z5.record(z5.string(), z5.union([z5.string(), z5.int(), z5.number(), z5.boolean(), z5.null()]))
2289
2354
  )
2290
2355
  });
2291
- var bookingLocationSchema = z4.union([
2356
+ var bookingLocationSchema = z5.union([
2292
2357
  zMeetLocation,
2293
2358
  zPhysicalLocation,
2294
2359
  zPhoneLocation,
2295
2360
  zCustomLocation
2296
2361
  ]);
2297
- var bookingLocationNullableSchema = z4.union([
2362
+ var bookingLocationNullableSchema = z5.union([
2298
2363
  ...bookingLocationSchema.def.options,
2299
- z4.null()
2364
+ z5.null()
2300
2365
  ]);
2301
2366
  function addIssue2(ctx, path, message) {
2302
2367
  ctx.issues.push({ code: "custom", input: ctx.value, path, message });
@@ -2312,26 +2377,26 @@ function refineEndXor(value, ctx) {
2312
2377
  addIssue2(ctx, ["end_at"], "end_at must be after start_at");
2313
2378
  }
2314
2379
  }
2315
- var bookingRemindersSchema = z4.extend(zBookingReminders, {
2316
- overrides: z4._default(
2317
- z4.array(bookingReminderSchema).check(z4.maxLength(MAX_REMINDER_OVERRIDES)),
2380
+ var bookingRemindersSchema = z5.extend(zBookingReminders, {
2381
+ overrides: z5._default(
2382
+ z5.array(bookingReminderSchema).check(z5.maxLength(MAX_REMINDER_OVERRIDES)),
2318
2383
  []
2319
2384
  )
2320
2385
  });
2321
- var bookingCreateSchema = z4.extend(zBookingCreateSchema, {
2386
+ var bookingCreateSchema = z5.extend(zBookingCreateSchema, {
2322
2387
  time_zone: ianaTz,
2323
2388
  // The generated field is `z.union([...variants]).nullish()`, which nests one
2324
2389
  // `anyOf` inside another; Pydantic's `BookingLocation | None` flattens to a
2325
2390
  // single list and the drift snapshot compares structure. Override with the
2326
2391
  // flattened union.
2327
- location: z4.optional(bookingLocationNullableSchema),
2328
- attendees: z4._default(z4.array(bookingAttendeeSchema).check(z4.maxLength(MAX_ATTENDEES)), []),
2392
+ location: z5.optional(bookingLocationNullableSchema),
2393
+ attendees: z5._default(z5.array(bookingAttendeeSchema).check(z5.maxLength(MAX_ATTENDEES)), []),
2329
2394
  // These reference the un-composed generated schemas; generation can't nest
2330
2395
  // our compositions into its own output.
2331
- reminders: z4.nullish(bookingRemindersSchema),
2332
- metadata: z4.nullish(bookingMetadataSchema)
2396
+ reminders: z5.nullish(bookingRemindersSchema),
2397
+ metadata: z5.nullish(bookingMetadataSchema)
2333
2398
  }).check((ctx) => refineEndXor(ctx.value, ctx));
2334
- var bookingRescheduleSchema = z4.extend(zBookingRescheduleSchema, { time_zone: ianaTz }).check((ctx) => refineEndXor(ctx.value, ctx));
2399
+ var bookingRescheduleSchema = z5.extend(zBookingRescheduleSchema, { time_zone: ianaTz }).check((ctx) => refineEndXor(ctx.value, ctx));
2335
2400
  var bookingCancelSchema = zBookingCancelSchema;
2336
2401
 
2337
2402
  // ../tracking-core/src/resources/calendar/slots.ts