@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.mjs
CHANGED
|
@@ -213,6 +213,7 @@ var TRACKING_CAPABILITIES = [
|
|
|
213
213
|
"consent_controls",
|
|
214
214
|
"conversion_goals_auto",
|
|
215
215
|
"conversion_goals_manual",
|
|
216
|
+
"cross_site_linker",
|
|
216
217
|
"cta_click_capture",
|
|
217
218
|
"form_capture",
|
|
218
219
|
"phone_click_capture",
|
|
@@ -239,6 +240,9 @@ function readDomMarkers() {
|
|
|
239
240
|
return found;
|
|
240
241
|
}
|
|
241
242
|
|
|
243
|
+
// ../tracking-core/src/cross-site-link.ts
|
|
244
|
+
import * as z from "zod/mini";
|
|
245
|
+
|
|
242
246
|
// ../tracking-core/src/tracking.ts
|
|
243
247
|
var TRACKING_COOKIE_MAX_AGE_SECONDS = 7776e3;
|
|
244
248
|
var TRACKING_PARAM_KEYS = [
|
|
@@ -483,6 +487,43 @@ function buildLandingPayloadFields(sessionId, override) {
|
|
|
483
487
|
};
|
|
484
488
|
}
|
|
485
489
|
|
|
490
|
+
// ../tracking-core/src/cross-site-link.ts
|
|
491
|
+
var LINK_PARAM = "_arv";
|
|
492
|
+
var LINK_TOKEN_TTL_MS = 5 * 60 * 1e3;
|
|
493
|
+
var FUTURE_SKEW_MS = 60 * 1e3;
|
|
494
|
+
var CARRIED_KEYS = {
|
|
495
|
+
g: "gclid",
|
|
496
|
+
w: "wbraid",
|
|
497
|
+
gb: "gbraid",
|
|
498
|
+
f: "fbclid",
|
|
499
|
+
y: "ylpcid"
|
|
500
|
+
};
|
|
501
|
+
var CARRIED_ENTRIES = Object.entries(CARRIED_KEYS);
|
|
502
|
+
var identifier = z.string().check(z.minLength(1), z.maxLength(128));
|
|
503
|
+
var optionalIdentifier = z.optional(identifier);
|
|
504
|
+
var linkTokenSchema = z.object({
|
|
505
|
+
v: identifier,
|
|
506
|
+
s: identifier,
|
|
507
|
+
// Epoch ms in base36.
|
|
508
|
+
t: z.string().check(z.regex(/^[0-9a-z]{1,12}$/)),
|
|
509
|
+
g: optionalIdentifier,
|
|
510
|
+
w: optionalIdentifier,
|
|
511
|
+
gb: optionalIdentifier,
|
|
512
|
+
f: optionalIdentifier,
|
|
513
|
+
fc: optionalIdentifier,
|
|
514
|
+
y: optionalIdentifier
|
|
515
|
+
});
|
|
516
|
+
function stripLinkParam(url) {
|
|
517
|
+
try {
|
|
518
|
+
const parsed = new URL(url, typeof window === "undefined" ? void 0 : window.location.href);
|
|
519
|
+
if (!parsed.searchParams.has(LINK_PARAM)) return url;
|
|
520
|
+
parsed.searchParams.delete(LINK_PARAM);
|
|
521
|
+
return parsed.href;
|
|
522
|
+
} catch {
|
|
523
|
+
return url;
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
|
|
486
527
|
// ../tracking-core/src/payloads.ts
|
|
487
528
|
function createTrackingClientContext(surface, input = {}) {
|
|
488
529
|
return {
|
|
@@ -522,6 +563,7 @@ function createTrackingSessionUpsertPayload(trackingParams, input, context) {
|
|
|
522
563
|
};
|
|
523
564
|
}
|
|
524
565
|
function createTrackingEventCreatePayload(trackingParams, input, context) {
|
|
566
|
+
const pageUrl = input.pageUrl ?? (typeof window === "undefined" ? null : window.location.href);
|
|
525
567
|
return {
|
|
526
568
|
session_id: input.sessionId,
|
|
527
569
|
event_type: input.eventType,
|
|
@@ -532,7 +574,7 @@ function createTrackingEventCreatePayload(trackingParams, input, context) {
|
|
|
532
574
|
fbclid: trackingParams.fbclid,
|
|
533
575
|
fbc: getFbcCookie(),
|
|
534
576
|
fbp: getFbpCookie(),
|
|
535
|
-
page_url:
|
|
577
|
+
page_url: pageUrl === null ? null : stripLinkParam(pageUrl),
|
|
536
578
|
metadata: input.metadata ?? null,
|
|
537
579
|
context
|
|
538
580
|
};
|
|
@@ -644,7 +686,8 @@ function parseConversionConfig(raw) {
|
|
|
644
686
|
gtag_ids: isStringMap(obj.gtag_ids) ? obj.gtag_ids : {},
|
|
645
687
|
meta_pixel_ids: isStringMap(obj.meta_pixel_ids) ? obj.meta_pixel_ids : {},
|
|
646
688
|
services,
|
|
647
|
-
goals
|
|
689
|
+
goals,
|
|
690
|
+
linked_hostnames: Array.isArray(obj.linked_hostnames) ? obj.linked_hostnames.filter((h) => typeof h === "string" && h.length > 0) : []
|
|
648
691
|
};
|
|
649
692
|
}
|
|
650
693
|
var CACHE_PREFIX = "_aranova_cfg_";
|
|
@@ -728,6 +771,7 @@ function resolveConversionConfig(options) {
|
|
|
728
771
|
getFiring: (key) => goalsByKey.get(key)?.firing ?? null,
|
|
729
772
|
getGoal: (key) => goalsByKey.get(key) ?? null,
|
|
730
773
|
listGoals: () => [...goalsByKey.values()],
|
|
774
|
+
linkedHostnames: () => current?.linked_hostnames ?? [],
|
|
731
775
|
current: () => current,
|
|
732
776
|
isReady: () => current !== null,
|
|
733
777
|
onResolve: (listener) => {
|
|
@@ -935,7 +979,7 @@ function validateConfig(config, ref) {
|
|
|
935
979
|
function pageViewSnapshot() {
|
|
936
980
|
if (typeof window === "undefined" || typeof document === "undefined") return null;
|
|
937
981
|
return {
|
|
938
|
-
href: window.location.href,
|
|
982
|
+
href: stripLinkParam(window.location.href),
|
|
939
983
|
title: document.title || null,
|
|
940
984
|
referrer: document.referrer || null
|
|
941
985
|
};
|
|
@@ -1086,6 +1130,10 @@ var TrackingConfigRuntime = class {
|
|
|
1086
1130
|
listGoals() {
|
|
1087
1131
|
return this.current?.goals ?? [];
|
|
1088
1132
|
}
|
|
1133
|
+
/** Sibling hostnames for the linker — read from the cached object even while unconfirmed. */
|
|
1134
|
+
linkedHostnames() {
|
|
1135
|
+
return this.current?.linked_hostnames ?? [];
|
|
1136
|
+
}
|
|
1089
1137
|
async revalidateNow() {
|
|
1090
1138
|
try {
|
|
1091
1139
|
const headers = {};
|
|
@@ -1329,6 +1377,18 @@ var EVENT_SEMANTICS = {
|
|
|
1329
1377
|
category: "engagement",
|
|
1330
1378
|
outcomeRole: "engagement",
|
|
1331
1379
|
clientVisibility: "simple"
|
|
1380
|
+
},
|
|
1381
|
+
site_link_click: {
|
|
1382
|
+
label: "Left for sibling site",
|
|
1383
|
+
category: "page",
|
|
1384
|
+
outcomeRole: "navigation",
|
|
1385
|
+
clientVisibility: "detailed"
|
|
1386
|
+
},
|
|
1387
|
+
site_link_arrival: {
|
|
1388
|
+
label: "Arrived from sibling site",
|
|
1389
|
+
category: "page",
|
|
1390
|
+
outcomeRole: "navigation",
|
|
1391
|
+
clientVisibility: "simple"
|
|
1332
1392
|
}
|
|
1333
1393
|
};
|
|
1334
1394
|
function getEventSemantics(eventName) {
|
|
@@ -1570,11 +1630,11 @@ function createSalesClient(config) {
|
|
|
1570
1630
|
}
|
|
1571
1631
|
|
|
1572
1632
|
// ../tracking-core/src/resources/sales/schema.ts
|
|
1573
|
-
import * as
|
|
1633
|
+
import * as z3 from "zod/mini";
|
|
1574
1634
|
|
|
1575
1635
|
// ../tracking-core/src/resources/sales/generated/zod.gen.ts
|
|
1576
|
-
import * as
|
|
1577
|
-
var zErrorCode =
|
|
1636
|
+
import * as z2 from "zod/mini";
|
|
1637
|
+
var zErrorCode = z2.enum([
|
|
1578
1638
|
"missing_credentials",
|
|
1579
1639
|
"invalid_api_key",
|
|
1580
1640
|
"not_authenticated",
|
|
@@ -1599,36 +1659,36 @@ var zErrorCode = z.enum([
|
|
|
1599
1659
|
"rate_limited",
|
|
1600
1660
|
"internal_error"
|
|
1601
1661
|
]);
|
|
1602
|
-
var zSaleItemEntitySchema =
|
|
1603
|
-
category:
|
|
1604
|
-
external_item_id:
|
|
1605
|
-
id:
|
|
1606
|
-
name:
|
|
1607
|
-
quantity:
|
|
1608
|
-
unit_cost_cents:
|
|
1609
|
-
unit_price_cents:
|
|
1662
|
+
var zSaleItemEntitySchema = z2.object({
|
|
1663
|
+
category: z2.nullable(z2.string()),
|
|
1664
|
+
external_item_id: z2.nullable(z2.string()),
|
|
1665
|
+
id: z2.uuid(),
|
|
1666
|
+
name: z2.nullable(z2.string()),
|
|
1667
|
+
quantity: z2.string().check(z2.regex(/^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$/)),
|
|
1668
|
+
unit_cost_cents: z2.nullable(z2.int()),
|
|
1669
|
+
unit_price_cents: z2.int()
|
|
1610
1670
|
});
|
|
1611
|
-
var zSaleItemInputSchema =
|
|
1612
|
-
category:
|
|
1613
|
-
external_item_id:
|
|
1614
|
-
name:
|
|
1615
|
-
quantity:
|
|
1616
|
-
unit_cost_cents:
|
|
1617
|
-
unit_price_cents:
|
|
1671
|
+
var zSaleItemInputSchema = z2.strictObject({
|
|
1672
|
+
category: z2.nullish(z2.string()),
|
|
1673
|
+
external_item_id: z2.nullish(z2.string()),
|
|
1674
|
+
name: z2.nullish(z2.string()),
|
|
1675
|
+
quantity: z2.string().check(z2.regex(/^\d+(\.\d{1,3})?$/)),
|
|
1676
|
+
unit_cost_cents: z2.nullish(z2.int().check(z2.gte(0))),
|
|
1677
|
+
unit_price_cents: z2.int().check(z2.gte(0))
|
|
1618
1678
|
});
|
|
1619
|
-
var zSaleServiceEntitySchema =
|
|
1620
|
-
amount_cents:
|
|
1621
|
-
id:
|
|
1622
|
-
mapped:
|
|
1623
|
-
service_id:
|
|
1624
|
-
service_key:
|
|
1625
|
-
service_label:
|
|
1679
|
+
var zSaleServiceEntitySchema = z2.object({
|
|
1680
|
+
amount_cents: z2.int(),
|
|
1681
|
+
id: z2.uuid(),
|
|
1682
|
+
mapped: z2.nullable(z2.boolean()),
|
|
1683
|
+
service_id: z2.uuid(),
|
|
1684
|
+
service_key: z2.string(),
|
|
1685
|
+
service_label: z2.string()
|
|
1626
1686
|
});
|
|
1627
|
-
var zSaleServiceInputSchema =
|
|
1628
|
-
amount_cents:
|
|
1629
|
-
service:
|
|
1687
|
+
var zSaleServiceInputSchema = z2.strictObject({
|
|
1688
|
+
amount_cents: z2.int().check(z2.gte(0)),
|
|
1689
|
+
service: z2.string()
|
|
1630
1690
|
});
|
|
1631
|
-
var zSmsAutomationState =
|
|
1691
|
+
var zSmsAutomationState = z2.enum([
|
|
1632
1692
|
"needs_check",
|
|
1633
1693
|
"failed",
|
|
1634
1694
|
"undelivered",
|
|
@@ -1640,7 +1700,7 @@ var zSmsAutomationState = z.enum([
|
|
|
1640
1700
|
"eligible",
|
|
1641
1701
|
"not_applicable"
|
|
1642
1702
|
]);
|
|
1643
|
-
var zSmsWithheldReason =
|
|
1703
|
+
var zSmsWithheldReason = z2.enum([
|
|
1644
1704
|
"automation_disabled",
|
|
1645
1705
|
"sms_disabled",
|
|
1646
1706
|
"no_phone",
|
|
@@ -1653,77 +1713,82 @@ var zSmsWithheldReason = z.enum([
|
|
|
1653
1713
|
"sender_not_ready",
|
|
1654
1714
|
"missing_review_url",
|
|
1655
1715
|
"no_handler",
|
|
1656
|
-
"dispatch_already_recorded"
|
|
1716
|
+
"dispatch_already_recorded",
|
|
1717
|
+
"text_back_disabled",
|
|
1718
|
+
"number_not_active",
|
|
1719
|
+
"a2p_registration_required",
|
|
1720
|
+
"alert_recipient_cannot_receive_sms",
|
|
1721
|
+
"line_type_unresolved"
|
|
1657
1722
|
]);
|
|
1658
|
-
var zSaleSmsStatusSchema =
|
|
1659
|
-
can_send_now:
|
|
1660
|
-
last_message_at:
|
|
1661
|
-
reason_detail:
|
|
1723
|
+
var zSaleSmsStatusSchema = z2.object({
|
|
1724
|
+
can_send_now: z2._default(z2.boolean(), false),
|
|
1725
|
+
last_message_at: z2.nullable(z2.iso.datetime({ offset: true })),
|
|
1726
|
+
reason_detail: z2.nullable(z2.string()),
|
|
1662
1727
|
state: zSmsAutomationState,
|
|
1663
|
-
suppressed_by_other_sale:
|
|
1664
|
-
withheld_reason:
|
|
1728
|
+
suppressed_by_other_sale: z2._default(z2.boolean(), false),
|
|
1729
|
+
withheld_reason: z2.nullable(zSmsWithheldReason)
|
|
1665
1730
|
});
|
|
1666
|
-
var zSupportedCurrency =
|
|
1667
|
-
var zTrackingEnvironment =
|
|
1668
|
-
var zSaleCreateSchema =
|
|
1669
|
-
amount_total_cents:
|
|
1731
|
+
var zSupportedCurrency = z2.enum(["USD", "CAD"]);
|
|
1732
|
+
var zTrackingEnvironment = z2.enum(["production", "development"]);
|
|
1733
|
+
var zSaleCreateSchema = z2.strictObject({
|
|
1734
|
+
amount_total_cents: z2.nullish(z2.int().check(z2.gte(0))),
|
|
1670
1735
|
currency: zSupportedCurrency,
|
|
1671
|
-
customer_email:
|
|
1672
|
-
customer_name:
|
|
1673
|
-
customer_phone:
|
|
1674
|
-
description:
|
|
1675
|
-
environment:
|
|
1676
|
-
external_id:
|
|
1677
|
-
items:
|
|
1678
|
-
metadata:
|
|
1679
|
-
occurred_at:
|
|
1680
|
-
service:
|
|
1681
|
-
services:
|
|
1682
|
-
sms_consent:
|
|
1736
|
+
customer_email: z2.nullish(z2.email().check(z2.maxLength(320))),
|
|
1737
|
+
customer_name: z2.nullish(z2.string().check(z2.maxLength(200))),
|
|
1738
|
+
customer_phone: z2.nullish(z2.string().check(z2.maxLength(64))),
|
|
1739
|
+
description: z2.nullish(z2.string()),
|
|
1740
|
+
environment: z2._default(z2.optional(zTrackingEnvironment), "production"),
|
|
1741
|
+
external_id: z2.nullish(z2.string()),
|
|
1742
|
+
items: z2.optional(z2.array(zSaleItemInputSchema)),
|
|
1743
|
+
metadata: z2.nullish(z2.record(z2.string(), z2.unknown())),
|
|
1744
|
+
occurred_at: z2.iso.datetime({ offset: true }),
|
|
1745
|
+
service: z2.nullish(z2.string()),
|
|
1746
|
+
services: z2.nullish(z2.array(zSaleServiceInputSchema)),
|
|
1747
|
+
sms_consent: z2.nullish(z2.boolean())
|
|
1683
1748
|
});
|
|
1684
|
-
var zValidationError =
|
|
1685
|
-
ctx:
|
|
1686
|
-
input:
|
|
1687
|
-
loc:
|
|
1688
|
-
msg:
|
|
1689
|
-
type:
|
|
1749
|
+
var zValidationError = z2.object({
|
|
1750
|
+
ctx: z2.optional(z2.record(z2.string(), z2.unknown())),
|
|
1751
|
+
input: z2.optional(z2.unknown()),
|
|
1752
|
+
loc: z2.array(z2.union([z2.string(), z2.int()])),
|
|
1753
|
+
msg: z2.string(),
|
|
1754
|
+
type: z2.string()
|
|
1690
1755
|
});
|
|
1691
|
-
var zHttpValidationError =
|
|
1692
|
-
detail:
|
|
1756
|
+
var zHttpValidationError = z2.object({
|
|
1757
|
+
detail: z2.optional(z2.array(zValidationError))
|
|
1693
1758
|
});
|
|
1694
|
-
var zValidationErrorItem =
|
|
1695
|
-
loc:
|
|
1696
|
-
msg:
|
|
1697
|
-
type:
|
|
1759
|
+
var zValidationErrorItem = z2.object({
|
|
1760
|
+
loc: z2.array(z2.union([z2.string(), z2.int()])),
|
|
1761
|
+
msg: z2.string(),
|
|
1762
|
+
type: z2.string()
|
|
1698
1763
|
});
|
|
1699
|
-
var zApiErrorSchema =
|
|
1764
|
+
var zApiErrorSchema = z2.object({
|
|
1700
1765
|
code: zErrorCode,
|
|
1701
|
-
context:
|
|
1702
|
-
detail:
|
|
1703
|
-
errors:
|
|
1704
|
-
request_id:
|
|
1766
|
+
context: z2._default(z2.nullish(z2.record(z2.string(), z2.unknown())), null),
|
|
1767
|
+
detail: z2.string(),
|
|
1768
|
+
errors: z2._default(z2.nullish(z2.array(zValidationErrorItem)), null),
|
|
1769
|
+
request_id: z2._default(z2.nullish(z2.string()), null)
|
|
1705
1770
|
});
|
|
1706
|
-
var zWritebackEmailSource =
|
|
1707
|
-
var zWritebackEnrichmentStatus =
|
|
1708
|
-
var zWritebackSaleUploadCounts =
|
|
1709
|
-
failed:
|
|
1710
|
-
pending:
|
|
1711
|
-
skipped:
|
|
1712
|
-
submitted:
|
|
1713
|
-
total:
|
|
1714
|
-
uploaded:
|
|
1771
|
+
var zWritebackEmailSource = z2.enum(["NONE", "SALE", "CUSTOMER", "HARVESTED"]);
|
|
1772
|
+
var zWritebackEnrichmentStatus = z2.enum(["NONE", "MATCHED", "AMBIGUOUS"]);
|
|
1773
|
+
var zWritebackSaleUploadCounts = z2.object({
|
|
1774
|
+
failed: z2._default(z2.int(), 0),
|
|
1775
|
+
pending: z2._default(z2.int(), 0),
|
|
1776
|
+
skipped: z2._default(z2.int(), 0),
|
|
1777
|
+
submitted: z2._default(z2.int(), 0),
|
|
1778
|
+
total: z2._default(z2.int(), 0),
|
|
1779
|
+
uploaded: z2._default(z2.int(), 0)
|
|
1715
1780
|
});
|
|
1716
|
-
var zSaleWritebackStatusSchema =
|
|
1717
|
-
blocked_reason:
|
|
1718
|
-
can_dispatch:
|
|
1719
|
-
email_source:
|
|
1720
|
-
enrichment_status:
|
|
1721
|
-
gclid_attached:
|
|
1722
|
-
identifiers_sent:
|
|
1723
|
-
mapped_service_ids:
|
|
1724
|
-
matched_submit_count:
|
|
1725
|
-
needs_force:
|
|
1726
|
-
rollup:
|
|
1781
|
+
var zSaleWritebackStatusSchema = z2.object({
|
|
1782
|
+
blocked_reason: z2.nullable(z2.string()),
|
|
1783
|
+
can_dispatch: z2._default(z2.boolean(), false),
|
|
1784
|
+
email_source: z2.nullable(zWritebackEmailSource),
|
|
1785
|
+
enrichment_status: z2.nullable(zWritebackEnrichmentStatus),
|
|
1786
|
+
gclid_attached: z2._default(z2.boolean(), false),
|
|
1787
|
+
identifiers_sent: z2.nullable(z2.string()),
|
|
1788
|
+
mapped_service_ids: z2.array(z2.uuid()),
|
|
1789
|
+
matched_submit_count: z2.nullable(z2.int()),
|
|
1790
|
+
needs_force: z2._default(z2.boolean(), false),
|
|
1791
|
+
rollup: z2.enum([
|
|
1727
1792
|
"failed",
|
|
1728
1793
|
"skipped",
|
|
1729
1794
|
"pending",
|
|
@@ -1733,37 +1798,37 @@ var zSaleWritebackStatusSchema = z.object({
|
|
|
1733
1798
|
"out_of_window",
|
|
1734
1799
|
"blocked"
|
|
1735
1800
|
]),
|
|
1736
|
-
stale:
|
|
1737
|
-
uncovered_service_ids:
|
|
1801
|
+
stale: z2._default(z2.boolean(), false),
|
|
1802
|
+
uncovered_service_ids: z2.array(z2.uuid()),
|
|
1738
1803
|
uploads: zWritebackSaleUploadCounts
|
|
1739
1804
|
});
|
|
1740
|
-
var zSaleEntitySchema =
|
|
1741
|
-
amount_total_cents:
|
|
1742
|
-
business_id:
|
|
1743
|
-
business_name:
|
|
1744
|
-
created_at:
|
|
1745
|
-
currency:
|
|
1746
|
-
customer_email:
|
|
1747
|
-
customer_name:
|
|
1748
|
-
customer_name_placeholder_confirmed:
|
|
1749
|
-
customer_name_placeholder_confirmed_at:
|
|
1750
|
-
customer_phone:
|
|
1751
|
-
description:
|
|
1805
|
+
var zSaleEntitySchema = z2.object({
|
|
1806
|
+
amount_total_cents: z2.int(),
|
|
1807
|
+
business_id: z2.uuid(),
|
|
1808
|
+
business_name: z2.nullable(z2.string()),
|
|
1809
|
+
created_at: z2.iso.datetime({ offset: true }),
|
|
1810
|
+
currency: z2.string(),
|
|
1811
|
+
customer_email: z2.nullable(z2.string()),
|
|
1812
|
+
customer_name: z2.nullable(z2.string()),
|
|
1813
|
+
customer_name_placeholder_confirmed: z2._default(z2.boolean(), false),
|
|
1814
|
+
customer_name_placeholder_confirmed_at: z2.nullable(z2.iso.datetime({ offset: true })),
|
|
1815
|
+
customer_phone: z2.nullable(z2.string()),
|
|
1816
|
+
description: z2.nullable(z2.string()),
|
|
1752
1817
|
environment: zTrackingEnvironment,
|
|
1753
|
-
external_id:
|
|
1754
|
-
id:
|
|
1755
|
-
items:
|
|
1756
|
-
metadata:
|
|
1757
|
-
occurred_at:
|
|
1758
|
-
service_id:
|
|
1759
|
-
service_key:
|
|
1760
|
-
service_label:
|
|
1761
|
-
services:
|
|
1762
|
-
sms_automation:
|
|
1763
|
-
sms_consent:
|
|
1764
|
-
sms_consent_granted_at:
|
|
1765
|
-
updated_at:
|
|
1766
|
-
writeback:
|
|
1818
|
+
external_id: z2.nullable(z2.string()),
|
|
1819
|
+
id: z2.uuid(),
|
|
1820
|
+
items: z2.array(zSaleItemEntitySchema),
|
|
1821
|
+
metadata: z2.nullable(z2.record(z2.string(), z2.unknown())),
|
|
1822
|
+
occurred_at: z2.iso.datetime({ offset: true }),
|
|
1823
|
+
service_id: z2.nullable(z2.uuid()),
|
|
1824
|
+
service_key: z2.nullable(z2.string()),
|
|
1825
|
+
service_label: z2.nullable(z2.string()),
|
|
1826
|
+
services: z2.array(zSaleServiceEntitySchema),
|
|
1827
|
+
sms_automation: z2.nullable(zSaleSmsStatusSchema),
|
|
1828
|
+
sms_consent: z2._default(z2.boolean(), false),
|
|
1829
|
+
sms_consent_granted_at: z2.nullable(z2.iso.datetime({ offset: true })),
|
|
1830
|
+
updated_at: z2.iso.datetime({ offset: true }),
|
|
1831
|
+
writeback: z2.nullable(zSaleWritebackStatusSchema)
|
|
1767
1832
|
});
|
|
1768
1833
|
|
|
1769
1834
|
// ../tracking-core/src/resources/sales/schema.ts
|
|
@@ -1771,11 +1836,11 @@ var saleItemSchema = zSaleItemInputSchema;
|
|
|
1771
1836
|
var saleServiceSchema = zSaleServiceInputSchema;
|
|
1772
1837
|
var currencySchema = zSupportedCurrency;
|
|
1773
1838
|
var SUPPORTED_CURRENCIES = currencySchema.options;
|
|
1774
|
-
var centsSchema =
|
|
1775
|
-
var metadataSchema =
|
|
1776
|
-
var customerNameSchema =
|
|
1777
|
-
var customerPhoneSchema =
|
|
1778
|
-
var customerEmailSchema =
|
|
1839
|
+
var centsSchema = z3.int().check(z3.gte(0));
|
|
1840
|
+
var metadataSchema = z3.record(z3.string(), z3.unknown());
|
|
1841
|
+
var customerNameSchema = z3.string().check(z3.maxLength(200));
|
|
1842
|
+
var customerPhoneSchema = z3.string().check(z3.maxLength(64));
|
|
1843
|
+
var customerEmailSchema = z3.email().check(z3.maxLength(320));
|
|
1779
1844
|
function addIssue(ctx, path, message) {
|
|
1780
1845
|
ctx.issues.push({ code: "custom", input: ctx.value, path, message });
|
|
1781
1846
|
}
|
|
@@ -1809,24 +1874,24 @@ function refineServiceXor(val, ctx, { requireAmount }) {
|
|
|
1809
1874
|
);
|
|
1810
1875
|
}
|
|
1811
1876
|
}
|
|
1812
|
-
var saleCreateSchema =
|
|
1813
|
-
var saleUpdateSchema =
|
|
1814
|
-
description:
|
|
1815
|
-
service:
|
|
1816
|
-
services:
|
|
1817
|
-
currency:
|
|
1818
|
-
amount_total_cents:
|
|
1819
|
-
occurred_at:
|
|
1820
|
-
items:
|
|
1821
|
-
metadata:
|
|
1822
|
-
customer_name:
|
|
1877
|
+
var saleCreateSchema = z3.extend(zSaleCreateSchema, { items: z3._default(z3.array(saleItemSchema), []) }).check((ctx) => refineServiceXor(ctx.value, ctx, { requireAmount: true }));
|
|
1878
|
+
var saleUpdateSchema = z3.strictObject({
|
|
1879
|
+
description: z3.nullish(z3.string()),
|
|
1880
|
+
service: z3.nullish(z3.string()),
|
|
1881
|
+
services: z3.nullish(z3.array(saleServiceSchema)),
|
|
1882
|
+
currency: z3.optional(currencySchema),
|
|
1883
|
+
amount_total_cents: z3.optional(centsSchema),
|
|
1884
|
+
occurred_at: z3.optional(z3.iso.datetime()),
|
|
1885
|
+
items: z3.optional(z3.array(saleItemSchema)),
|
|
1886
|
+
metadata: z3.nullish(metadataSchema),
|
|
1887
|
+
customer_name: z3.nullish(customerNameSchema),
|
|
1823
1888
|
// Re-attest when changing a filler-looking name; the server clears the
|
|
1824
1889
|
// prior attestation whenever `customer_name` changes.
|
|
1825
|
-
customer_name_placeholder_confirmed:
|
|
1826
|
-
customer_phone:
|
|
1827
|
-
customer_email:
|
|
1890
|
+
customer_name_placeholder_confirmed: z3.optional(z3.boolean()),
|
|
1891
|
+
customer_phone: z3.nullish(customerPhoneSchema),
|
|
1892
|
+
customer_email: z3.nullish(customerEmailSchema),
|
|
1828
1893
|
// NOT NULL server-side: omit to leave unchanged (explicit null is rejected).
|
|
1829
|
-
sms_consent:
|
|
1894
|
+
sms_consent: z3.optional(z3.boolean())
|
|
1830
1895
|
}).check((ctx) => refineServiceXor(ctx.value, ctx, { requireAmount: false }));
|
|
1831
1896
|
var TRACKING_RANGES = ["24h", "7d", "30d"];
|
|
1832
1897
|
var NAMED_RANGES = [
|
|
@@ -1964,80 +2029,80 @@ function isCalendarError(error, code) {
|
|
|
1964
2029
|
}
|
|
1965
2030
|
|
|
1966
2031
|
// ../tracking-core/src/resources/calendar/schema.ts
|
|
1967
|
-
import * as
|
|
2032
|
+
import * as z5 from "zod/mini";
|
|
1968
2033
|
|
|
1969
2034
|
// ../tracking-core/src/resources/calendar/generated/zod.gen.ts
|
|
1970
|
-
import * as
|
|
1971
|
-
var zBookingAttendee =
|
|
1972
|
-
display_name:
|
|
1973
|
-
email:
|
|
1974
|
-
optional:
|
|
2035
|
+
import * as z4 from "zod/mini";
|
|
2036
|
+
var zBookingAttendee = z4.strictObject({
|
|
2037
|
+
display_name: z4.nullish(z4.string().check(z4.maxLength(200))),
|
|
2038
|
+
email: z4.email().check(z4.maxLength(320)),
|
|
2039
|
+
optional: z4._default(z4.optional(z4.boolean()), false)
|
|
1975
2040
|
});
|
|
1976
|
-
var zBookingCancelSchema =
|
|
1977
|
-
notify_attendees:
|
|
1978
|
-
reason:
|
|
2041
|
+
var zBookingCancelSchema = z4.strictObject({
|
|
2042
|
+
notify_attendees: z4._default(z4.optional(z4.boolean()), true),
|
|
2043
|
+
reason: z4.nullish(z4.string().check(z4.maxLength(500)))
|
|
1979
2044
|
});
|
|
1980
|
-
var zBookingCustomerInput =
|
|
1981
|
-
email:
|
|
1982
|
-
name:
|
|
1983
|
-
phone:
|
|
1984
|
-
sms_consent:
|
|
2045
|
+
var zBookingCustomerInput = z4.strictObject({
|
|
2046
|
+
email: z4.email().check(z4.maxLength(320)),
|
|
2047
|
+
name: z4.nullish(z4.string().check(z4.maxLength(200))),
|
|
2048
|
+
phone: z4.nullish(z4.string().check(z4.maxLength(64))),
|
|
2049
|
+
sms_consent: z4._default(z4.optional(z4.boolean()), false)
|
|
1985
2050
|
});
|
|
1986
|
-
var zBookingCustomerOutput =
|
|
1987
|
-
email:
|
|
1988
|
-
name:
|
|
1989
|
-
phone:
|
|
1990
|
-
sms_consent:
|
|
2051
|
+
var zBookingCustomerOutput = z4.strictObject({
|
|
2052
|
+
email: z4.email().check(z4.maxLength(320)),
|
|
2053
|
+
name: z4.nullable(z4.string().check(z4.maxLength(200))),
|
|
2054
|
+
phone: z4.nullable(z4.string().check(z4.maxLength(64))),
|
|
2055
|
+
sms_consent: z4._default(z4.boolean(), false)
|
|
1991
2056
|
});
|
|
1992
|
-
var zBookingRescheduleSchema =
|
|
1993
|
-
duration_minutes:
|
|
1994
|
-
end_at:
|
|
1995
|
-
notify_attendees:
|
|
1996
|
-
reason:
|
|
1997
|
-
start_at:
|
|
1998
|
-
time_zone:
|
|
2057
|
+
var zBookingRescheduleSchema = z4.strictObject({
|
|
2058
|
+
duration_minutes: z4.nullish(z4.int().check(z4.gt(0), z4.lte(1440))),
|
|
2059
|
+
end_at: z4.nullish(z4.iso.datetime({ offset: true })),
|
|
2060
|
+
notify_attendees: z4._default(z4.optional(z4.boolean()), true),
|
|
2061
|
+
reason: z4.nullish(z4.string().check(z4.maxLength(500))),
|
|
2062
|
+
start_at: z4.iso.datetime({ offset: true }),
|
|
2063
|
+
time_zone: z4.string().check(z4.minLength(1), z4.maxLength(64), z4.regex(/^[A-Za-z0-9_+\-\/]+$/))
|
|
1999
2064
|
});
|
|
2000
|
-
var zBookingResponse =
|
|
2001
|
-
appointment_type:
|
|
2002
|
-
calendar_key:
|
|
2065
|
+
var zBookingResponse = z4.strictObject({
|
|
2066
|
+
appointment_type: z4.nullable(z4.string()),
|
|
2067
|
+
calendar_key: z4.string(),
|
|
2003
2068
|
customer: zBookingCustomerOutput,
|
|
2004
|
-
end_at:
|
|
2005
|
-
google_html_link:
|
|
2006
|
-
google_sync_state:
|
|
2007
|
-
id:
|
|
2008
|
-
manage_token:
|
|
2009
|
-
meet_url:
|
|
2010
|
-
start_at:
|
|
2011
|
-
status:
|
|
2012
|
-
time_zone:
|
|
2013
|
-
title:
|
|
2069
|
+
end_at: z4.iso.datetime({ offset: true }),
|
|
2070
|
+
google_html_link: z4.nullable(z4.string()),
|
|
2071
|
+
google_sync_state: z4.string(),
|
|
2072
|
+
id: z4.string(),
|
|
2073
|
+
manage_token: z4.nullable(z4.string()),
|
|
2074
|
+
meet_url: z4.nullable(z4.string()),
|
|
2075
|
+
start_at: z4.iso.datetime({ offset: true }),
|
|
2076
|
+
status: z4.string(),
|
|
2077
|
+
time_zone: z4.string(),
|
|
2078
|
+
title: z4.string()
|
|
2014
2079
|
});
|
|
2015
|
-
var zBookingSource =
|
|
2016
|
-
var zBookingMetadata =
|
|
2017
|
-
custom:
|
|
2018
|
-
|
|
2080
|
+
var zBookingSource = z4.enum(["website", "phone", "walk_in", "import", "operator"]);
|
|
2081
|
+
var zBookingMetadata = z4.strictObject({
|
|
2082
|
+
custom: z4.nullish(
|
|
2083
|
+
z4.record(z4.string(), z4.nullable(z4.union([z4.string(), z4.int(), z4.number(), z4.boolean()])))
|
|
2019
2084
|
),
|
|
2020
|
-
fbclid:
|
|
2021
|
-
gclid:
|
|
2022
|
-
landing_page:
|
|
2023
|
-
notes:
|
|
2024
|
-
referrer:
|
|
2025
|
-
schema_version:
|
|
2026
|
-
service:
|
|
2027
|
-
session_id:
|
|
2028
|
-
source:
|
|
2029
|
-
utm_campaign:
|
|
2030
|
-
utm_content:
|
|
2031
|
-
utm_medium:
|
|
2032
|
-
utm_source:
|
|
2033
|
-
utm_term:
|
|
2034
|
-
visitor_id:
|
|
2085
|
+
fbclid: z4.nullish(z4.string().check(z4.maxLength(256))),
|
|
2086
|
+
gclid: z4.nullish(z4.string().check(z4.maxLength(256))),
|
|
2087
|
+
landing_page: z4.nullish(z4.string().check(z4.maxLength(2048))),
|
|
2088
|
+
notes: z4.nullish(z4.string().check(z4.maxLength(2e3))),
|
|
2089
|
+
referrer: z4.nullish(z4.string().check(z4.maxLength(2048))),
|
|
2090
|
+
schema_version: z4._default(z4.optional(z4.int()), 1),
|
|
2091
|
+
service: z4.nullish(z4.string().check(z4.maxLength(64))),
|
|
2092
|
+
session_id: z4.nullish(z4.string().check(z4.maxLength(64))),
|
|
2093
|
+
source: z4.nullish(zBookingSource),
|
|
2094
|
+
utm_campaign: z4.nullish(z4.string().check(z4.maxLength(128))),
|
|
2095
|
+
utm_content: z4.nullish(z4.string().check(z4.maxLength(128))),
|
|
2096
|
+
utm_medium: z4.nullish(z4.string().check(z4.maxLength(128))),
|
|
2097
|
+
utm_source: z4.nullish(z4.string().check(z4.maxLength(128))),
|
|
2098
|
+
utm_term: z4.nullish(z4.string().check(z4.maxLength(128))),
|
|
2099
|
+
visitor_id: z4.nullish(z4.string().check(z4.maxLength(64)))
|
|
2035
2100
|
});
|
|
2036
|
-
var zCustomLocation =
|
|
2037
|
-
kind:
|
|
2038
|
-
text:
|
|
2101
|
+
var zCustomLocation = z4.strictObject({
|
|
2102
|
+
kind: z4.literal("custom"),
|
|
2103
|
+
text: z4.string().check(z4.maxLength(1024))
|
|
2039
2104
|
});
|
|
2040
|
-
var zErrorCode2 =
|
|
2105
|
+
var zErrorCode2 = z4.enum([
|
|
2041
2106
|
"missing_credentials",
|
|
2042
2107
|
"invalid_api_key",
|
|
2043
2108
|
"not_authenticated",
|
|
@@ -2062,66 +2127,66 @@ var zErrorCode2 = z3.enum([
|
|
|
2062
2127
|
"rate_limited",
|
|
2063
2128
|
"internal_error"
|
|
2064
2129
|
]);
|
|
2065
|
-
var zMeetLocation =
|
|
2066
|
-
kind:
|
|
2130
|
+
var zMeetLocation = z4.strictObject({
|
|
2131
|
+
kind: z4.literal("google_meet")
|
|
2067
2132
|
});
|
|
2068
|
-
var zPhoneLocation =
|
|
2069
|
-
kind:
|
|
2070
|
-
phone:
|
|
2133
|
+
var zPhoneLocation = z4.strictObject({
|
|
2134
|
+
kind: z4.literal("phone"),
|
|
2135
|
+
phone: z4.string().check(z4.maxLength(64))
|
|
2071
2136
|
});
|
|
2072
|
-
var zPhysicalLocation =
|
|
2073
|
-
address:
|
|
2074
|
-
kind:
|
|
2137
|
+
var zPhysicalLocation = z4.strictObject({
|
|
2138
|
+
address: z4.string().check(z4.maxLength(1024)),
|
|
2139
|
+
kind: z4.literal("physical")
|
|
2075
2140
|
});
|
|
2076
|
-
var zReminderMethod =
|
|
2077
|
-
var zBookingReminder =
|
|
2141
|
+
var zReminderMethod = z4.enum(["email", "popup"]);
|
|
2142
|
+
var zBookingReminder = z4.strictObject({
|
|
2078
2143
|
method: zReminderMethod,
|
|
2079
|
-
minutes_before:
|
|
2144
|
+
minutes_before: z4.int().check(z4.gte(0), z4.lte(40320))
|
|
2080
2145
|
});
|
|
2081
|
-
var zBookingReminders =
|
|
2082
|
-
overrides:
|
|
2083
|
-
use_calendar_defaults:
|
|
2146
|
+
var zBookingReminders = z4.strictObject({
|
|
2147
|
+
overrides: z4.optional(z4.array(zBookingReminder).check(z4.maxLength(5))),
|
|
2148
|
+
use_calendar_defaults: z4._default(z4.optional(z4.boolean()), true)
|
|
2084
2149
|
});
|
|
2085
|
-
var zBookingCreateSchema =
|
|
2086
|
-
appointment_type:
|
|
2087
|
-
attendees:
|
|
2088
|
-
buffer_after_minutes:
|
|
2089
|
-
buffer_before_minutes:
|
|
2090
|
-
calendar_key:
|
|
2150
|
+
var zBookingCreateSchema = z4.strictObject({
|
|
2151
|
+
appointment_type: z4.nullish(z4.string().check(z4.maxLength(64))),
|
|
2152
|
+
attendees: z4.optional(z4.array(zBookingAttendee).check(z4.maxLength(20))),
|
|
2153
|
+
buffer_after_minutes: z4._default(z4.optional(z4.int().check(z4.gte(0), z4.lte(1440))), 0),
|
|
2154
|
+
buffer_before_minutes: z4._default(z4.optional(z4.int().check(z4.gte(0), z4.lte(1440))), 0),
|
|
2155
|
+
calendar_key: z4.string().check(z4.minLength(1), z4.maxLength(64)),
|
|
2091
2156
|
customer: zBookingCustomerInput,
|
|
2092
|
-
description:
|
|
2093
|
-
duration_minutes:
|
|
2094
|
-
end_at:
|
|
2095
|
-
idempotency_key:
|
|
2096
|
-
location:
|
|
2097
|
-
metadata:
|
|
2098
|
-
reminders:
|
|
2099
|
-
send_invites:
|
|
2100
|
-
start_at:
|
|
2101
|
-
time_zone:
|
|
2102
|
-
title:
|
|
2157
|
+
description: z4.nullish(z4.string().check(z4.maxLength(8e3))),
|
|
2158
|
+
duration_minutes: z4.nullish(z4.int().check(z4.gt(0), z4.lte(1440))),
|
|
2159
|
+
end_at: z4.nullish(z4.iso.datetime({ offset: true })),
|
|
2160
|
+
idempotency_key: z4.nullish(z4.string().check(z4.maxLength(128))),
|
|
2161
|
+
location: z4.nullish(z4.union([zMeetLocation, zPhysicalLocation, zPhoneLocation, zCustomLocation])),
|
|
2162
|
+
metadata: z4.nullish(zBookingMetadata),
|
|
2163
|
+
reminders: z4.nullish(zBookingReminders),
|
|
2164
|
+
send_invites: z4._default(z4.optional(z4.boolean()), true),
|
|
2165
|
+
start_at: z4.iso.datetime({ offset: true }),
|
|
2166
|
+
time_zone: z4.string().check(z4.minLength(1), z4.maxLength(64), z4.regex(/^[A-Za-z0-9_+\-\/]+$/)),
|
|
2167
|
+
title: z4.nullish(z4.string().check(z4.maxLength(300)))
|
|
2103
2168
|
});
|
|
2104
|
-
var zValidationError2 =
|
|
2105
|
-
ctx:
|
|
2106
|
-
input:
|
|
2107
|
-
loc:
|
|
2108
|
-
msg:
|
|
2109
|
-
type:
|
|
2169
|
+
var zValidationError2 = z4.object({
|
|
2170
|
+
ctx: z4.optional(z4.record(z4.string(), z4.unknown())),
|
|
2171
|
+
input: z4.optional(z4.unknown()),
|
|
2172
|
+
loc: z4.array(z4.union([z4.string(), z4.int()])),
|
|
2173
|
+
msg: z4.string(),
|
|
2174
|
+
type: z4.string()
|
|
2110
2175
|
});
|
|
2111
|
-
var zHttpValidationError2 =
|
|
2112
|
-
detail:
|
|
2176
|
+
var zHttpValidationError2 = z4.object({
|
|
2177
|
+
detail: z4.optional(z4.array(zValidationError2))
|
|
2113
2178
|
});
|
|
2114
|
-
var zValidationErrorItem2 =
|
|
2115
|
-
loc:
|
|
2116
|
-
msg:
|
|
2117
|
-
type:
|
|
2179
|
+
var zValidationErrorItem2 = z4.object({
|
|
2180
|
+
loc: z4.array(z4.union([z4.string(), z4.int()])),
|
|
2181
|
+
msg: z4.string(),
|
|
2182
|
+
type: z4.string()
|
|
2118
2183
|
});
|
|
2119
|
-
var zApiErrorSchema2 =
|
|
2184
|
+
var zApiErrorSchema2 = z4.object({
|
|
2120
2185
|
code: zErrorCode2,
|
|
2121
|
-
context:
|
|
2122
|
-
detail:
|
|
2123
|
-
errors:
|
|
2124
|
-
request_id:
|
|
2186
|
+
context: z4._default(z4.nullish(z4.record(z4.string(), z4.unknown())), null),
|
|
2187
|
+
detail: z4.string(),
|
|
2188
|
+
errors: z4._default(z4.nullish(z4.array(zValidationErrorItem2)), null),
|
|
2189
|
+
request_id: z4._default(z4.nullish(z4.string()), null)
|
|
2125
2190
|
});
|
|
2126
2191
|
|
|
2127
2192
|
// ../tracking-core/src/resources/calendar/schema.ts
|
|
@@ -2158,29 +2223,29 @@ function isKnownTimeZone(timeZone) {
|
|
|
2158
2223
|
return false;
|
|
2159
2224
|
}
|
|
2160
2225
|
}
|
|
2161
|
-
var ianaTz =
|
|
2162
|
-
|
|
2163
|
-
|
|
2164
|
-
|
|
2165
|
-
|
|
2226
|
+
var ianaTz = z5.string().check(
|
|
2227
|
+
z5.minLength(1),
|
|
2228
|
+
z5.maxLength(64),
|
|
2229
|
+
z5.regex(/^[A-Za-z0-9_+\-/]+$/),
|
|
2230
|
+
z5.refine(isKnownTimeZone, { error: "unknown IANA time zone" })
|
|
2166
2231
|
);
|
|
2167
2232
|
var bookingAttendeeSchema = zBookingAttendee;
|
|
2168
2233
|
var bookingReminderSchema = zBookingReminder;
|
|
2169
2234
|
var bookingCustomerSchema = zBookingCustomerInput;
|
|
2170
|
-
var bookingMetadataSchema =
|
|
2171
|
-
custom:
|
|
2172
|
-
|
|
2235
|
+
var bookingMetadataSchema = z5.extend(zBookingMetadata, {
|
|
2236
|
+
custom: z5.nullish(
|
|
2237
|
+
z5.record(z5.string(), z5.union([z5.string(), z5.int(), z5.number(), z5.boolean(), z5.null()]))
|
|
2173
2238
|
)
|
|
2174
2239
|
});
|
|
2175
|
-
var bookingLocationSchema =
|
|
2240
|
+
var bookingLocationSchema = z5.union([
|
|
2176
2241
|
zMeetLocation,
|
|
2177
2242
|
zPhysicalLocation,
|
|
2178
2243
|
zPhoneLocation,
|
|
2179
2244
|
zCustomLocation
|
|
2180
2245
|
]);
|
|
2181
|
-
var bookingLocationNullableSchema =
|
|
2246
|
+
var bookingLocationNullableSchema = z5.union([
|
|
2182
2247
|
...bookingLocationSchema.def.options,
|
|
2183
|
-
|
|
2248
|
+
z5.null()
|
|
2184
2249
|
]);
|
|
2185
2250
|
function addIssue2(ctx, path, message) {
|
|
2186
2251
|
ctx.issues.push({ code: "custom", input: ctx.value, path, message });
|
|
@@ -2196,26 +2261,26 @@ function refineEndXor(value, ctx) {
|
|
|
2196
2261
|
addIssue2(ctx, ["end_at"], "end_at must be after start_at");
|
|
2197
2262
|
}
|
|
2198
2263
|
}
|
|
2199
|
-
var bookingRemindersSchema =
|
|
2200
|
-
overrides:
|
|
2201
|
-
|
|
2264
|
+
var bookingRemindersSchema = z5.extend(zBookingReminders, {
|
|
2265
|
+
overrides: z5._default(
|
|
2266
|
+
z5.array(bookingReminderSchema).check(z5.maxLength(MAX_REMINDER_OVERRIDES)),
|
|
2202
2267
|
[]
|
|
2203
2268
|
)
|
|
2204
2269
|
});
|
|
2205
|
-
var bookingCreateSchema =
|
|
2270
|
+
var bookingCreateSchema = z5.extend(zBookingCreateSchema, {
|
|
2206
2271
|
time_zone: ianaTz,
|
|
2207
2272
|
// The generated field is `z.union([...variants]).nullish()`, which nests one
|
|
2208
2273
|
// `anyOf` inside another; Pydantic's `BookingLocation | None` flattens to a
|
|
2209
2274
|
// single list and the drift snapshot compares structure. Override with the
|
|
2210
2275
|
// flattened union.
|
|
2211
|
-
location:
|
|
2212
|
-
attendees:
|
|
2276
|
+
location: z5.optional(bookingLocationNullableSchema),
|
|
2277
|
+
attendees: z5._default(z5.array(bookingAttendeeSchema).check(z5.maxLength(MAX_ATTENDEES)), []),
|
|
2213
2278
|
// These reference the un-composed generated schemas; generation can't nest
|
|
2214
2279
|
// our compositions into its own output.
|
|
2215
|
-
reminders:
|
|
2216
|
-
metadata:
|
|
2280
|
+
reminders: z5.nullish(bookingRemindersSchema),
|
|
2281
|
+
metadata: z5.nullish(bookingMetadataSchema)
|
|
2217
2282
|
}).check((ctx) => refineEndXor(ctx.value, ctx));
|
|
2218
|
-
var bookingRescheduleSchema =
|
|
2283
|
+
var bookingRescheduleSchema = z5.extend(zBookingRescheduleSchema, { time_zone: ianaTz }).check((ctx) => refineEndXor(ctx.value, ctx));
|
|
2219
2284
|
var bookingCancelSchema = zBookingCancelSchema;
|
|
2220
2285
|
|
|
2221
2286
|
// ../tracking-core/src/resources/calendar/slots.ts
|