@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.
- package/dist/blog-server.js.map +1 -1
- package/dist/blog-server.mjs.map +1 -1
- package/dist/blog.js.map +1 -1
- package/dist/blog.mjs.map +1 -1
- package/dist/calendar-server.js.map +1 -1
- package/dist/calendar-server.mjs.map +1 -1
- package/dist/calendar.js.map +1 -1
- package/dist/calendar.mjs.map +1 -1
- package/dist/client.d.mts +9 -3
- package/dist/client.d.ts +9 -3
- package/dist/client.js +550 -194
- package/dist/client.js.map +1 -1
- package/dist/client.mjs +550 -194
- package/dist/client.mjs.map +1 -1
- package/dist/index.d.mts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +336 -271
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +336 -271
- package/dist/index.mjs.map +1 -1
- package/dist/{ingest-typed-BdKmlouW.d.ts → ingest-typed-MBuMe9Pn.d.ts} +94 -2
- package/dist/{ingest-typed-Bo7WPmpU.d.mts → ingest-typed-UA13xTfI.d.mts} +94 -2
- package/dist/{phone-utils-CubQif9Z.d.mts → phone-utils-C0ds6cqZ.d.mts} +6 -0
- package/dist/{phone-utils-CubQif9Z.d.ts → phone-utils-C0ds6cqZ.d.ts} +6 -0
- package/dist/phone.d.mts +1 -1
- package/dist/phone.d.ts +1 -1
- package/dist/{sales-DG150g3o.d.ts → sales-DQC815f3.d.ts} +1 -1
- package/dist/{sales-D7KstKA-.d.mts → sales-w1reW_Y3.d.mts} +1 -1
- package/dist/sales.d.mts +2 -2
- package/dist/sales.d.ts +2 -2
- package/dist/sales.js +6 -1
- package/dist/sales.js.map +1 -1
- package/dist/sales.mjs +6 -1
- package/dist/sales.mjs.map +1 -1
- package/dist/server.d.mts +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/{tracking-config-runtime-D7prdTE1.d.mts → tracking-config-runtime-C6H7ofmo.d.mts} +6 -0
- package/dist/{tracking-config-runtime-D7prdTE1.d.ts → tracking-config-runtime-C6H7ofmo.d.ts} +6 -0
- 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:
|
|
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
|
|
1759
|
+
var z3 = __toESM(require("zod/mini"));
|
|
1700
1760
|
|
|
1701
1761
|
// ../tracking-core/src/resources/sales/generated/zod.gen.ts
|
|
1702
|
-
var
|
|
1703
|
-
var zErrorCode =
|
|
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 =
|
|
1729
|
-
category:
|
|
1730
|
-
external_item_id:
|
|
1731
|
-
id:
|
|
1732
|
-
name:
|
|
1733
|
-
quantity:
|
|
1734
|
-
unit_cost_cents:
|
|
1735
|
-
unit_price_cents:
|
|
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 =
|
|
1738
|
-
category:
|
|
1739
|
-
external_item_id:
|
|
1740
|
-
name:
|
|
1741
|
-
quantity:
|
|
1742
|
-
unit_cost_cents:
|
|
1743
|
-
unit_price_cents:
|
|
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 =
|
|
1746
|
-
amount_cents:
|
|
1747
|
-
id:
|
|
1748
|
-
mapped:
|
|
1749
|
-
service_id:
|
|
1750
|
-
service_key:
|
|
1751
|
-
service_label:
|
|
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 =
|
|
1754
|
-
amount_cents:
|
|
1755
|
-
service:
|
|
1813
|
+
var zSaleServiceInputSchema = z2.strictObject({
|
|
1814
|
+
amount_cents: z2.int().check(z2.gte(0)),
|
|
1815
|
+
service: z2.string()
|
|
1756
1816
|
});
|
|
1757
|
-
var zSmsAutomationState =
|
|
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 =
|
|
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 =
|
|
1785
|
-
can_send_now:
|
|
1786
|
-
last_message_at:
|
|
1787
|
-
reason_detail:
|
|
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:
|
|
1790
|
-
withheld_reason:
|
|
1854
|
+
suppressed_by_other_sale: z2._default(z2.boolean(), false),
|
|
1855
|
+
withheld_reason: z2.nullable(zSmsWithheldReason)
|
|
1791
1856
|
});
|
|
1792
|
-
var zSupportedCurrency =
|
|
1793
|
-
var zTrackingEnvironment =
|
|
1794
|
-
var zSaleCreateSchema =
|
|
1795
|
-
amount_total_cents:
|
|
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:
|
|
1798
|
-
customer_name:
|
|
1799
|
-
customer_phone:
|
|
1800
|
-
description:
|
|
1801
|
-
environment:
|
|
1802
|
-
external_id:
|
|
1803
|
-
items:
|
|
1804
|
-
metadata:
|
|
1805
|
-
occurred_at:
|
|
1806
|
-
service:
|
|
1807
|
-
services:
|
|
1808
|
-
sms_consent:
|
|
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 =
|
|
1811
|
-
ctx:
|
|
1812
|
-
input:
|
|
1813
|
-
loc:
|
|
1814
|
-
msg:
|
|
1815
|
-
type:
|
|
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 =
|
|
1818
|
-
detail:
|
|
1882
|
+
var zHttpValidationError = z2.object({
|
|
1883
|
+
detail: z2.optional(z2.array(zValidationError))
|
|
1819
1884
|
});
|
|
1820
|
-
var zValidationErrorItem =
|
|
1821
|
-
loc:
|
|
1822
|
-
msg:
|
|
1823
|
-
type:
|
|
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 =
|
|
1890
|
+
var zApiErrorSchema = z2.object({
|
|
1826
1891
|
code: zErrorCode,
|
|
1827
|
-
context:
|
|
1828
|
-
detail:
|
|
1829
|
-
errors:
|
|
1830
|
-
request_id:
|
|
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 =
|
|
1833
|
-
var zWritebackEnrichmentStatus =
|
|
1834
|
-
var zWritebackSaleUploadCounts =
|
|
1835
|
-
failed:
|
|
1836
|
-
pending:
|
|
1837
|
-
skipped:
|
|
1838
|
-
submitted:
|
|
1839
|
-
total:
|
|
1840
|
-
uploaded:
|
|
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 =
|
|
1843
|
-
blocked_reason:
|
|
1844
|
-
can_dispatch:
|
|
1845
|
-
email_source:
|
|
1846
|
-
enrichment_status:
|
|
1847
|
-
gclid_attached:
|
|
1848
|
-
identifiers_sent:
|
|
1849
|
-
mapped_service_ids:
|
|
1850
|
-
matched_submit_count:
|
|
1851
|
-
needs_force:
|
|
1852
|
-
rollup:
|
|
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:
|
|
1863
|
-
uncovered_service_ids:
|
|
1927
|
+
stale: z2._default(z2.boolean(), false),
|
|
1928
|
+
uncovered_service_ids: z2.array(z2.uuid()),
|
|
1864
1929
|
uploads: zWritebackSaleUploadCounts
|
|
1865
1930
|
});
|
|
1866
|
-
var zSaleEntitySchema =
|
|
1867
|
-
amount_total_cents:
|
|
1868
|
-
business_id:
|
|
1869
|
-
business_name:
|
|
1870
|
-
created_at:
|
|
1871
|
-
currency:
|
|
1872
|
-
customer_email:
|
|
1873
|
-
customer_name:
|
|
1874
|
-
customer_name_placeholder_confirmed:
|
|
1875
|
-
customer_name_placeholder_confirmed_at:
|
|
1876
|
-
customer_phone:
|
|
1877
|
-
description:
|
|
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:
|
|
1880
|
-
id:
|
|
1881
|
-
items:
|
|
1882
|
-
metadata:
|
|
1883
|
-
occurred_at:
|
|
1884
|
-
service_id:
|
|
1885
|
-
service_key:
|
|
1886
|
-
service_label:
|
|
1887
|
-
services:
|
|
1888
|
-
sms_automation:
|
|
1889
|
-
sms_consent:
|
|
1890
|
-
sms_consent_granted_at:
|
|
1891
|
-
updated_at:
|
|
1892
|
-
writeback:
|
|
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 =
|
|
1901
|
-
var metadataSchema =
|
|
1902
|
-
var customerNameSchema =
|
|
1903
|
-
var customerPhoneSchema =
|
|
1904
|
-
var customerEmailSchema =
|
|
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 =
|
|
1939
|
-
var saleUpdateSchema =
|
|
1940
|
-
description:
|
|
1941
|
-
service:
|
|
1942
|
-
services:
|
|
1943
|
-
currency:
|
|
1944
|
-
amount_total_cents:
|
|
1945
|
-
occurred_at:
|
|
1946
|
-
items:
|
|
1947
|
-
metadata:
|
|
1948
|
-
customer_name:
|
|
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:
|
|
1952
|
-
customer_phone:
|
|
1953
|
-
customer_email:
|
|
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:
|
|
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
|
|
2148
|
+
var z5 = __toESM(require("zod/mini"));
|
|
2084
2149
|
|
|
2085
2150
|
// ../tracking-core/src/resources/calendar/generated/zod.gen.ts
|
|
2086
|
-
var
|
|
2087
|
-
var zBookingAttendee =
|
|
2088
|
-
display_name:
|
|
2089
|
-
email:
|
|
2090
|
-
optional:
|
|
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 =
|
|
2093
|
-
notify_attendees:
|
|
2094
|
-
reason:
|
|
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 =
|
|
2097
|
-
email:
|
|
2098
|
-
name:
|
|
2099
|
-
phone:
|
|
2100
|
-
sms_consent:
|
|
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 =
|
|
2103
|
-
email:
|
|
2104
|
-
name:
|
|
2105
|
-
phone:
|
|
2106
|
-
sms_consent:
|
|
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 =
|
|
2109
|
-
duration_minutes:
|
|
2110
|
-
end_at:
|
|
2111
|
-
notify_attendees:
|
|
2112
|
-
reason:
|
|
2113
|
-
start_at:
|
|
2114
|
-
time_zone:
|
|
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 =
|
|
2117
|
-
appointment_type:
|
|
2118
|
-
calendar_key:
|
|
2181
|
+
var zBookingResponse = z4.strictObject({
|
|
2182
|
+
appointment_type: z4.nullable(z4.string()),
|
|
2183
|
+
calendar_key: z4.string(),
|
|
2119
2184
|
customer: zBookingCustomerOutput,
|
|
2120
|
-
end_at:
|
|
2121
|
-
google_html_link:
|
|
2122
|
-
google_sync_state:
|
|
2123
|
-
id:
|
|
2124
|
-
manage_token:
|
|
2125
|
-
meet_url:
|
|
2126
|
-
start_at:
|
|
2127
|
-
status:
|
|
2128
|
-
time_zone:
|
|
2129
|
-
title:
|
|
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 =
|
|
2132
|
-
var zBookingMetadata =
|
|
2133
|
-
custom:
|
|
2134
|
-
|
|
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:
|
|
2137
|
-
gclid:
|
|
2138
|
-
landing_page:
|
|
2139
|
-
notes:
|
|
2140
|
-
referrer:
|
|
2141
|
-
schema_version:
|
|
2142
|
-
service:
|
|
2143
|
-
session_id:
|
|
2144
|
-
source:
|
|
2145
|
-
utm_campaign:
|
|
2146
|
-
utm_content:
|
|
2147
|
-
utm_medium:
|
|
2148
|
-
utm_source:
|
|
2149
|
-
utm_term:
|
|
2150
|
-
visitor_id:
|
|
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 =
|
|
2153
|
-
kind:
|
|
2154
|
-
text:
|
|
2217
|
+
var zCustomLocation = z4.strictObject({
|
|
2218
|
+
kind: z4.literal("custom"),
|
|
2219
|
+
text: z4.string().check(z4.maxLength(1024))
|
|
2155
2220
|
});
|
|
2156
|
-
var zErrorCode2 =
|
|
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 =
|
|
2182
|
-
kind:
|
|
2246
|
+
var zMeetLocation = z4.strictObject({
|
|
2247
|
+
kind: z4.literal("google_meet")
|
|
2183
2248
|
});
|
|
2184
|
-
var zPhoneLocation =
|
|
2185
|
-
kind:
|
|
2186
|
-
phone:
|
|
2249
|
+
var zPhoneLocation = z4.strictObject({
|
|
2250
|
+
kind: z4.literal("phone"),
|
|
2251
|
+
phone: z4.string().check(z4.maxLength(64))
|
|
2187
2252
|
});
|
|
2188
|
-
var zPhysicalLocation =
|
|
2189
|
-
address:
|
|
2190
|
-
kind:
|
|
2253
|
+
var zPhysicalLocation = z4.strictObject({
|
|
2254
|
+
address: z4.string().check(z4.maxLength(1024)),
|
|
2255
|
+
kind: z4.literal("physical")
|
|
2191
2256
|
});
|
|
2192
|
-
var zReminderMethod =
|
|
2193
|
-
var zBookingReminder =
|
|
2257
|
+
var zReminderMethod = z4.enum(["email", "popup"]);
|
|
2258
|
+
var zBookingReminder = z4.strictObject({
|
|
2194
2259
|
method: zReminderMethod,
|
|
2195
|
-
minutes_before:
|
|
2260
|
+
minutes_before: z4.int().check(z4.gte(0), z4.lte(40320))
|
|
2196
2261
|
});
|
|
2197
|
-
var zBookingReminders =
|
|
2198
|
-
overrides:
|
|
2199
|
-
use_calendar_defaults:
|
|
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 =
|
|
2202
|
-
appointment_type:
|
|
2203
|
-
attendees:
|
|
2204
|
-
buffer_after_minutes:
|
|
2205
|
-
buffer_before_minutes:
|
|
2206
|
-
calendar_key:
|
|
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:
|
|
2209
|
-
duration_minutes:
|
|
2210
|
-
end_at:
|
|
2211
|
-
idempotency_key:
|
|
2212
|
-
location:
|
|
2213
|
-
metadata:
|
|
2214
|
-
reminders:
|
|
2215
|
-
send_invites:
|
|
2216
|
-
start_at:
|
|
2217
|
-
time_zone:
|
|
2218
|
-
title:
|
|
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 =
|
|
2221
|
-
ctx:
|
|
2222
|
-
input:
|
|
2223
|
-
loc:
|
|
2224
|
-
msg:
|
|
2225
|
-
type:
|
|
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 =
|
|
2228
|
-
detail:
|
|
2292
|
+
var zHttpValidationError2 = z4.object({
|
|
2293
|
+
detail: z4.optional(z4.array(zValidationError2))
|
|
2229
2294
|
});
|
|
2230
|
-
var zValidationErrorItem2 =
|
|
2231
|
-
loc:
|
|
2232
|
-
msg:
|
|
2233
|
-
type:
|
|
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 =
|
|
2300
|
+
var zApiErrorSchema2 = z4.object({
|
|
2236
2301
|
code: zErrorCode2,
|
|
2237
|
-
context:
|
|
2238
|
-
detail:
|
|
2239
|
-
errors:
|
|
2240
|
-
request_id:
|
|
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 =
|
|
2278
|
-
|
|
2279
|
-
|
|
2280
|
-
|
|
2281
|
-
|
|
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 =
|
|
2287
|
-
custom:
|
|
2288
|
-
|
|
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 =
|
|
2356
|
+
var bookingLocationSchema = z5.union([
|
|
2292
2357
|
zMeetLocation,
|
|
2293
2358
|
zPhysicalLocation,
|
|
2294
2359
|
zPhoneLocation,
|
|
2295
2360
|
zCustomLocation
|
|
2296
2361
|
]);
|
|
2297
|
-
var bookingLocationNullableSchema =
|
|
2362
|
+
var bookingLocationNullableSchema = z5.union([
|
|
2298
2363
|
...bookingLocationSchema.def.options,
|
|
2299
|
-
|
|
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 =
|
|
2316
|
-
overrides:
|
|
2317
|
-
|
|
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 =
|
|
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:
|
|
2328
|
-
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:
|
|
2332
|
-
metadata:
|
|
2396
|
+
reminders: z5.nullish(bookingRemindersSchema),
|
|
2397
|
+
metadata: z5.nullish(bookingMetadataSchema)
|
|
2333
2398
|
}).check((ctx) => refineEndXor(ctx.value, ctx));
|
|
2334
|
-
var bookingRescheduleSchema =
|
|
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
|