@riverbankcms/sdk 0.91.0 → 0.93.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/{PreviewEditorSidebar-3TT47WCF.mjs → PreviewEditorSidebar-D3PAF7NW.mjs} +3 -3
- package/dist/{PreviewEditorUI-ORCLLUNZ.mjs → PreviewEditorUI-G5JVJEIJ.mjs} +3 -3
- package/dist/SdkPreviewModeRuntime-NHTLRNQD.mjs +8 -0
- package/dist/_dts/api/src/bookingConfig.d.ts +13 -1
- package/dist/_dts/api/src/bookingOperations.d.ts +1 -0
- package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +6 -6
- package/dist/_dts/api/src/common/envelope.d.ts +10 -0
- package/dist/_dts/api/src/customerMembershipOutcomes.d.ts +4 -4
- package/dist/_dts/api/src/index.d.ts +2 -2
- package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +6 -0
- package/dist/_dts/api/src/request.d.ts +1 -1
- package/dist/_dts/blocks/src/contracts/proof-block-islands.d.ts +32 -0
- package/dist/_dts/blocks/src/system/blocks/courses/shared/pricing.d.ts +12 -1
- package/dist/_dts/blocks/src/system/blocks/courses/shared/schemas.d.ts +12 -0
- package/dist/_dts/blocks/src/system/blocks/courses/shared/types.d.ts +4 -1
- package/dist/_dts/blocks/src/system/blocks/events/shared/schemas.d.ts +44 -0
- package/dist/_dts/blocks/src/system/manifest/fieldValidation/index.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/api/types.d.ts +8 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.d.ts +8 -1
- package/dist/_dts/blocks/src/system/runtime/hooks/useHeadlessBookingFlow.state.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.headless.state.d.ts +4 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.interactive.d.ts +40 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.reserved-fields.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-form.state.d.ts +29 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/booking-runtime-sources.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/components.d.ts +6 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/useCourseRegistrationWizard.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/TicketSelectionStep.d.ts +8 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/hooks.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/types.d.ts +1 -1
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationSubmit.d.ts +1 -0
- package/dist/_dts/blocks/src/system/runtime/nodes/event-registration/useEventRegistrationWizard.d.ts +9 -0
- package/dist/_dts/content-editor/src/controller/EntryControllerProvider.d.ts +14 -14
- package/dist/_dts/content-editor/src/controller/useEntrySyncHelpers.d.ts +1 -1
- package/dist/_dts/content-editor/src/hooks/useEntryActions.d.ts +5 -15
- package/dist/_dts/content-editor/src/ui/editorSnapshot.d.ts +46 -0
- package/dist/_dts/content-editor/src/ui/editorUiStore.d.ts +43 -36
- package/dist/_dts/content-model/src/entry-slots/types.d.ts +110 -2
- package/dist/_dts/core/src/branded.d.ts +3 -0
- package/dist/_dts/core/src/event-pricing.d.ts +18 -1
- package/dist/_dts/core/src/money-input.d.ts +34 -4
- package/dist/_dts/db/src/generated/supabase/database.types.d.ts +70 -0
- package/dist/_dts/media-core/src/fileAssetCompatibility.d.ts +1 -1
- package/dist/_dts/media-core/src/filePersistence.d.ts +5 -1
- package/dist/_dts/media-core/src/fileStorage.d.ts +1 -0
- package/dist/_dts/media-core/src/fileUploadFinalization.d.ts +29 -1
- package/dist/_dts/media-core/src/index.d.ts +1 -0
- package/dist/_dts/media-core/src/legacyMediaValue.d.ts +11 -0
- package/dist/_dts/media-core/src/videoPrep.d.ts +15 -6
- package/dist/_dts/media-core/src/videoSlotPolicy.d.ts +5 -5
- package/dist/_dts/media-react/src/hooks/useApiMediaUploader.d.ts +2 -1
- package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +2 -0
- package/dist/_dts/sdk/src/cli/commands/push/execute/localMediaReporting.d.ts +23 -0
- package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +54 -0
- package/dist/_dts/sdk/src/cli/commands/push/scopes/mediaPrep.d.ts +7 -2
- package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +6 -0
- package/dist/_dts/sdk/src/cli/media/local-sync.d.ts +35 -0
- package/dist/_dts/sdk/src/rendering/islands/types.d.ts +23 -1
- package/dist/_dts/sdk/src/version.d.ts +1 -1
- package/dist/{chunk-GDT2QGIL.mjs → chunk-A63UXN3P.mjs} +21 -19
- package/dist/{chunk-U5YM4AWE.mjs → chunk-AJZGT6YG.mjs} +1 -1
- package/dist/{chunk-AFPMCLS7.mjs → chunk-AQ6RT6LZ.mjs} +2 -2
- package/dist/{chunk-ZA2S7H34.mjs → chunk-NT76QGIJ.mjs} +98 -1
- package/dist/{chunk-RQUZYSES.mjs → chunk-PCNCETBI.mjs} +1196 -426
- package/dist/{chunk-S3YHJWEU.mjs → chunk-XIK2HYI3.mjs} +7 -7
- package/dist/cli/index.mjs +749 -166
- package/dist/client/{accordion-AFX37652.mjs → accordion-RNQIPG55.mjs} +2 -2
- package/dist/client/{bookingForm-32V5QCOW.mjs → bookingForm-HYEEVRLP.mjs} +89 -14
- package/dist/client/bookings.mjs +243 -17
- package/dist/client/{carousel-TJGQJ7ER.mjs → carousel-W7DQ3YPU.mjs} +3 -3
- package/dist/client/{cart-JUU2JEW4.mjs → cart-PXJ3SXXO.mjs} +7 -7
- package/dist/client/{checkout-RD6BTFX4.mjs → checkout-X3JYSOXI.mjs} +7 -7
- package/dist/client/{chunk-MLBNVN4H.mjs → chunk-6SYGVVWA.mjs} +67 -4
- package/dist/client/{chunk-E6VIWZUG.mjs → chunk-DUOHLWLF.mjs} +3 -3
- package/dist/client/{chunk-6QZIBNGV.mjs → chunk-IXDSXF2D.mjs} +154 -16
- package/dist/client/{chunk-CKXEUWWA.mjs → chunk-J6TMMMXW.mjs} +3 -3
- package/dist/client/{chunk-PMNAV6LO.mjs → chunk-JNE6UI6U.mjs} +7 -6
- package/dist/client/{chunk-ISAUXU5R.mjs → chunk-OLAOAZEO.mjs} +1 -1
- package/dist/client/{chunk-RWYFG625.mjs → chunk-PCHACQEB.mjs} +30 -2
- package/dist/client/{chunk-FMZZHAIR.mjs → chunk-PICR3NTQ.mjs} +52 -5
- package/dist/client/{chunk-6RN62XBV.mjs → chunk-Q47XGAGS.mjs} +1 -1
- package/dist/client/{chunk-WHZQDPBZ.mjs → chunk-TNGL2WJF.mjs} +1 -0
- package/dist/client/{chunk-C4LP6BPG.mjs → chunk-WERRJXNJ.mjs} +1 -1
- package/dist/client/{chunk-RMOFBBNA.mjs → chunk-YYVGSYBO.mjs} +6 -6
- package/dist/client/client.mjs +641 -54
- package/dist/client/{courseRegistration-X63QAIVV.mjs → courseRegistration-QZ67PVHO.mjs} +111 -11
- package/dist/client/{eventCalendar-5T24GCZL.mjs → eventCalendar-V3BDHQNT.mjs} +9 -9
- package/dist/client/{eventCombined-AZVTF22X.mjs → eventCombined-XYFRN2RG.mjs} +9 -9
- package/dist/client/{eventDetails-7GPFNLGF.mjs → eventDetails-TFE5TWKV.mjs} +9 -9
- package/dist/client/{eventListing-QEUMTMUM.mjs → eventListing-IQ6AGWZ6.mjs} +9 -9
- package/dist/client/{eventRegistration-P2EDKCQZ.mjs → eventRegistration-WGJVFKQJ.mjs} +9 -9
- package/dist/client/{form-NUJ7H4IN.mjs → form-6UZY6RUA.mjs} +3 -3
- package/dist/client/{headerSection-JB7LECPL.mjs → headerSection-RSFXY6V3.mjs} +3 -3
- package/dist/client/hooks.mjs +57 -5
- package/dist/client/{locationMap-UEYWUCSW.mjs → locationMap-24FH67I4.mjs} +3 -3
- package/dist/client/{newsletterForm-S2YZQ2X7.mjs → newsletterForm-QVL3MLTN.mjs} +3 -3
- package/dist/client/{productDetail-H5MADGG7.mjs → productDetail-ZDYN3G4T.mjs} +7 -7
- package/dist/client/{productList-DK7YON7H.mjs → productList-4BMJLQHZ.mjs} +7 -7
- package/dist/client/rendering/client.mjs +503 -36
- package/dist/client/rendering/islands.mjs +19 -19
- package/dist/client/rendering.mjs +583 -39
- package/dist/client/{shop-6PA7RDRJ.mjs → shop-U5C634FF.mjs} +7 -7
- package/dist/preview-next/client/runtime.mjs +5 -5
- package/dist/{sdk-runtime-JP5347OB.mjs → sdk-runtime-VGV46WVB.mjs} +6 -6
- package/dist/server/components.mjs +287 -68
- package/dist/server/config-validation.mjs +58 -5
- package/dist/server/config.mjs +58 -5
- package/dist/server/data.mjs +57 -5
- package/dist/server/index.mjs +104 -29
- package/dist/server/next.mjs +347 -85
- package/dist/server/page-converter.mjs +22 -5
- package/dist/server/prebuild.mjs +1 -1
- package/dist/server/rendering/server.mjs +287 -68
- package/dist/server/rendering.mjs +287 -68
- package/dist/server/routing.mjs +131 -67
- package/dist/server/server.mjs +189 -94
- package/package.json +1 -1
- package/dist/SdkPreviewModeRuntime-GMCDQPZZ.mjs +0 -8
|
@@ -45,9 +45,6 @@ function formatKeyAsLabel(key) {
|
|
|
45
45
|
return key.replace(/([A-Z])/g, " $1").replace(/[-_]/g, " ").trim().split(" ").map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()).join(" ");
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
// ../blocks/src/system/manifest/schema.ts
|
|
49
|
-
import { z as z2 } from "zod";
|
|
50
|
-
|
|
51
48
|
// ../core/src/result.ts
|
|
52
49
|
function ok(value) {
|
|
53
50
|
return { ok: true, value };
|
|
@@ -101,6 +98,7 @@ function publicEventPricingType(pricing) {
|
|
|
101
98
|
return "free";
|
|
102
99
|
case "single_paid":
|
|
103
100
|
case "ticket_types":
|
|
101
|
+
case "sliding_scale":
|
|
104
102
|
case "course":
|
|
105
103
|
return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
106
104
|
case "external":
|
|
@@ -299,6 +297,9 @@ function parseAspectRatioValue(value) {
|
|
|
299
297
|
return numeric;
|
|
300
298
|
}
|
|
301
299
|
|
|
300
|
+
// ../blocks/src/system/manifest/schema.ts
|
|
301
|
+
import { z as z2 } from "zod";
|
|
302
|
+
|
|
302
303
|
// ../blocks/src/system/node/schema.ts
|
|
303
304
|
import { z } from "zod";
|
|
304
305
|
var transformStepSchema = z.object({
|
|
@@ -19282,9 +19283,12 @@ var coursePricingOptionSchema = z35.object({
|
|
|
19282
19283
|
});
|
|
19283
19284
|
var coursePricingSchema = z35.object({
|
|
19284
19285
|
bookingRequirement: z35.enum(["none", "required"]),
|
|
19285
|
-
pricingStrategy: z35.enum(["free", "single", "tiered"]),
|
|
19286
|
+
pricingStrategy: z35.enum(["free", "single", "tiered", "sliding_scale"]),
|
|
19286
19287
|
currency: z35.string(),
|
|
19287
19288
|
singlePriceAmount: z35.number().nullable(),
|
|
19289
|
+
slidingMinAmount: z35.number().nullable().optional(),
|
|
19290
|
+
slidingMaxAmount: z35.number().nullable().optional(),
|
|
19291
|
+
slidingSuggestedAmount: z35.number().nullable().optional(),
|
|
19288
19292
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
19289
19293
|
options: z35.array(coursePricingOptionSchema)
|
|
19290
19294
|
});
|
|
@@ -19438,6 +19442,19 @@ var publicEventPricingSchema = z36.discriminatedUnion("kind", [
|
|
|
19438
19442
|
ticketTypes: z36.array(publicEventTicketTypeSchema),
|
|
19439
19443
|
display: publicEventTicketTypePriceDisplaySchema
|
|
19440
19444
|
}),
|
|
19445
|
+
z36.object({
|
|
19446
|
+
kind: z36.literal("sliding_scale"),
|
|
19447
|
+
minAmount: z36.number(),
|
|
19448
|
+
maxAmount: z36.number(),
|
|
19449
|
+
suggestedAmount: z36.number().nullable(),
|
|
19450
|
+
currency: z36.string(),
|
|
19451
|
+
display: z36.object({
|
|
19452
|
+
kind: z36.literal("range"),
|
|
19453
|
+
minAmount: z36.number(),
|
|
19454
|
+
maxAmount: z36.number(),
|
|
19455
|
+
currency: z36.string()
|
|
19456
|
+
})
|
|
19457
|
+
}),
|
|
19441
19458
|
z36.object({
|
|
19442
19459
|
kind: z36.literal("course"),
|
|
19443
19460
|
display: z36.object({ kind: z36.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
@@ -19854,7 +19871,7 @@ function isRecord3(value) {
|
|
|
19854
19871
|
}
|
|
19855
19872
|
function isPublicEventPricing(value) {
|
|
19856
19873
|
if (!isRecord3(value) || typeof value.kind !== "string") return false;
|
|
19857
|
-
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course" || value.kind === "external";
|
|
19874
|
+
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "sliding_scale" || value.kind === "ticket_types" || value.kind === "course" || value.kind === "external";
|
|
19858
19875
|
}
|
|
19859
19876
|
function isPublicEventTicketType(value) {
|
|
19860
19877
|
return isRecord3(value) && typeof value.id === "string";
|
package/dist/server/prebuild.mjs
CHANGED
|
@@ -54,65 +54,6 @@ function formatKeyAsLabel(key) {
|
|
|
54
54
|
// ../blocks/src/system/manifest/fieldValidation/index.ts
|
|
55
55
|
import { z as z4 } from "zod";
|
|
56
56
|
|
|
57
|
-
// ../blocks/src/system/types/link.ts
|
|
58
|
-
import { z } from "zod";
|
|
59
|
-
var nullableString = z.union([z.string().min(1), z.null()]);
|
|
60
|
-
var resolvedInternalLinkKeys = ["entityId", "entityType", "href", "title", "typeLabel"];
|
|
61
|
-
var internalRouteOnlyLinkSchema = z.object({
|
|
62
|
-
kind: z.literal("internal"),
|
|
63
|
-
routeId: z.string().min(1)
|
|
64
|
-
}).passthrough().superRefine((value, ctx) => {
|
|
65
|
-
const hasResolvedMetadata = resolvedInternalLinkKeys.some((key) => value[key] != null);
|
|
66
|
-
if (!hasResolvedMetadata) return;
|
|
67
|
-
ctx.addIssue({
|
|
68
|
-
code: "custom",
|
|
69
|
-
message: "Internal links with resolved metadata must include entityId, entityType, href, title, and typeLabel"
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
var internalResolvedLinkSchema = z.object({
|
|
73
|
-
kind: z.literal("internal"),
|
|
74
|
-
routeId: z.string().min(1),
|
|
75
|
-
entityId: z.string().min(1),
|
|
76
|
-
entityType: z.enum(["page", "content"]),
|
|
77
|
-
href: z.string().min(1),
|
|
78
|
-
title: z.string().min(1),
|
|
79
|
-
typeLabel: z.string().min(1),
|
|
80
|
-
contentTypeKey: nullableString.optional(),
|
|
81
|
-
contentTypeName: nullableString.optional(),
|
|
82
|
-
updatedAt: nullableString.optional()
|
|
83
|
-
}).passthrough();
|
|
84
|
-
var internalLinkSchema = z.union([
|
|
85
|
-
internalResolvedLinkSchema,
|
|
86
|
-
internalRouteOnlyLinkSchema
|
|
87
|
-
]);
|
|
88
|
-
var externalLinkSchema = z.object({
|
|
89
|
-
kind: z.literal("external"),
|
|
90
|
-
href: z.string().min(1)
|
|
91
|
-
}).passthrough();
|
|
92
|
-
var customLinkSchema = z.object({
|
|
93
|
-
kind: z.literal("url"),
|
|
94
|
-
href: z.string().min(1)
|
|
95
|
-
}).passthrough();
|
|
96
|
-
var pageLinkSchema = z.object({
|
|
97
|
-
kind: z.literal("page"),
|
|
98
|
-
identifier: z.string().min(1)
|
|
99
|
-
}).passthrough();
|
|
100
|
-
var entryLinkSchema = z.object({
|
|
101
|
-
kind: z.literal("entry"),
|
|
102
|
-
contentType: z.string().min(1),
|
|
103
|
-
identifier: z.string().min(1)
|
|
104
|
-
}).passthrough();
|
|
105
|
-
var linkSchema = z.union([
|
|
106
|
-
internalLinkSchema,
|
|
107
|
-
externalLinkSchema,
|
|
108
|
-
customLinkSchema,
|
|
109
|
-
pageLinkSchema,
|
|
110
|
-
entryLinkSchema
|
|
111
|
-
]);
|
|
112
|
-
|
|
113
|
-
// ../blocks/src/system/manifest/schema.ts
|
|
114
|
-
import { z as z3 } from "zod";
|
|
115
|
-
|
|
116
57
|
// ../core/src/result.ts
|
|
117
58
|
function ok(value) {
|
|
118
59
|
return { ok: true, value };
|
|
@@ -123,6 +64,8 @@ function err(error) {
|
|
|
123
64
|
|
|
124
65
|
// ../core/src/branded.ts
|
|
125
66
|
var unsafeAsMediaAssetId = (id) => id;
|
|
67
|
+
var unsafeAsStorageBucketName = (value) => value;
|
|
68
|
+
var unsafeAsStoragePath = (value) => value;
|
|
126
69
|
|
|
127
70
|
// ../core/src/assert-never.ts
|
|
128
71
|
function assertNever(value, message = "Unexpected variant") {
|
|
@@ -177,6 +120,7 @@ function publicEventPricingType(pricing) {
|
|
|
177
120
|
return "free";
|
|
178
121
|
case "single_paid":
|
|
179
122
|
case "ticket_types":
|
|
123
|
+
case "sliding_scale":
|
|
180
124
|
case "course":
|
|
181
125
|
return isFreePublicEventPriceDisplay(pricing.display) ? "free" : "paid";
|
|
182
126
|
case "external":
|
|
@@ -189,6 +133,7 @@ function publicEventPricingCurrency(pricing) {
|
|
|
189
133
|
case "free_registration":
|
|
190
134
|
case "single_paid":
|
|
191
135
|
case "ticket_types":
|
|
136
|
+
case "sliding_scale":
|
|
192
137
|
return pricing.currency;
|
|
193
138
|
case "course":
|
|
194
139
|
return pricing.display.display.currency;
|
|
@@ -220,6 +165,8 @@ function formatCoursePriceDisplayLabel(display, options) {
|
|
|
220
165
|
return `Course (${formatCurrencyAmount(display.amount, display.currency, options)})`;
|
|
221
166
|
case "from":
|
|
222
167
|
return `Course (From ${formatCurrencyAmount(display.amount, display.currency, options)})`;
|
|
168
|
+
case "range":
|
|
169
|
+
return `Course (${formatCurrencyAmount(display.minAmount, display.currency, options)} - ${formatCurrencyAmount(display.maxAmount, display.currency, options)})`;
|
|
223
170
|
default:
|
|
224
171
|
return assertNever(display);
|
|
225
172
|
}
|
|
@@ -511,6 +458,77 @@ function resolvePlanningDateInput(input = {}) {
|
|
|
511
458
|
return resolvePlanningNowDate(input);
|
|
512
459
|
}
|
|
513
460
|
|
|
461
|
+
// ../media-core/src/fileSafety.ts
|
|
462
|
+
var CONTROL_CHARACTER_PATTERN = /[\u0000-\u001f\u007f]/u;
|
|
463
|
+
function containsUnsafePathSegmentCharacter(value) {
|
|
464
|
+
return value.includes("/") || value.includes("\\") || CONTROL_CHARACTER_PATTERN.test(value);
|
|
465
|
+
}
|
|
466
|
+
function isReservedPathSegment(value) {
|
|
467
|
+
return value === "." || value === "..";
|
|
468
|
+
}
|
|
469
|
+
function isUnsafePathSegment(segment) {
|
|
470
|
+
return segment.trim().length === 0 || segment !== segment.trim() || isReservedPathSegment(segment) || containsUnsafePathSegmentCharacter(segment);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
// ../media-core/src/fileStorage.ts
|
|
474
|
+
var FILE_STORAGE_BUCKETS = {
|
|
475
|
+
publicSite: unsafeAsStorageBucketName("media"),
|
|
476
|
+
privateSite: unsafeAsStorageBucketName("site-files-private"),
|
|
477
|
+
temporary: unsafeAsStorageBucketName("temp-uploads")
|
|
478
|
+
};
|
|
479
|
+
var PUBLIC_SITE_FILE_STORAGE_BUCKETS = [
|
|
480
|
+
FILE_STORAGE_BUCKETS.publicSite,
|
|
481
|
+
// Existing site logo and font uploads predate the unified file buckets.
|
|
482
|
+
unsafeAsStorageBucketName("site-assets"),
|
|
483
|
+
unsafeAsStorageBucketName("site-fonts")
|
|
484
|
+
];
|
|
485
|
+
var PRIVATE_SITE_FILE_BUCKET_MIME_TYPES = [
|
|
486
|
+
"application/pdf",
|
|
487
|
+
"application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
488
|
+
"text/plain",
|
|
489
|
+
"application/rtf",
|
|
490
|
+
"text/rtf",
|
|
491
|
+
"image/jpeg",
|
|
492
|
+
"image/png",
|
|
493
|
+
"image/webp",
|
|
494
|
+
"image/gif",
|
|
495
|
+
"image/avif",
|
|
496
|
+
"image/heic",
|
|
497
|
+
"image/heif",
|
|
498
|
+
"image/svg+xml",
|
|
499
|
+
"text/csv",
|
|
500
|
+
"application/csv",
|
|
501
|
+
"application/vnd.ms-excel",
|
|
502
|
+
"application/zip",
|
|
503
|
+
"application/x-zip-compressed",
|
|
504
|
+
"audio/mpeg",
|
|
505
|
+
"audio/mp4",
|
|
506
|
+
"audio/wav",
|
|
507
|
+
"audio/x-wav",
|
|
508
|
+
"audio/ogg",
|
|
509
|
+
"audio/webm",
|
|
510
|
+
"audio/flac",
|
|
511
|
+
"video/mp4",
|
|
512
|
+
"video/webm",
|
|
513
|
+
"video/quicktime"
|
|
514
|
+
];
|
|
515
|
+
var TEMP_UPLOAD_BUCKET_MIME_TYPES = [
|
|
516
|
+
...PRIVATE_SITE_FILE_BUCKET_MIME_TYPES,
|
|
517
|
+
"font/woff2",
|
|
518
|
+
"application/font-woff2",
|
|
519
|
+
"application/x-font-woff2",
|
|
520
|
+
"application/octet-stream"
|
|
521
|
+
];
|
|
522
|
+
function parseStoragePath(value) {
|
|
523
|
+
return joinStoragePathSegments(value.split("/"));
|
|
524
|
+
}
|
|
525
|
+
function joinStoragePathSegments(segments) {
|
|
526
|
+
if (segments.some(isUnsafePathSegment)) {
|
|
527
|
+
return err("unsafe-path-segment");
|
|
528
|
+
}
|
|
529
|
+
return ok(unsafeAsStoragePath(segments.join("/")));
|
|
530
|
+
}
|
|
531
|
+
|
|
514
532
|
// ../media-core/src/typeGuards.ts
|
|
515
533
|
function isRecord(value) {
|
|
516
534
|
return Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
@@ -527,10 +545,10 @@ var RELATIVE_STORAGE_PATH_PREFIXES = [
|
|
|
527
545
|
"imports/"
|
|
528
546
|
];
|
|
529
547
|
function isRelativeDirectImageStoragePath(storagePath) {
|
|
530
|
-
return RELATIVE_STORAGE_PATH_PREFIXES.some((prefix) => storagePath.startsWith(prefix));
|
|
548
|
+
return RELATIVE_STORAGE_PATH_PREFIXES.some((prefix) => storagePath.startsWith(prefix)) && parseStoragePath(storagePath).ok;
|
|
531
549
|
}
|
|
532
550
|
function isSiteScopedDirectImageStoragePath(storagePath) {
|
|
533
|
-
return storagePath.startsWith("sites/");
|
|
551
|
+
return storagePath.startsWith("sites/") && parseStoragePath(storagePath).ok;
|
|
534
552
|
}
|
|
535
553
|
function encodeStoragePath(storagePath) {
|
|
536
554
|
return storagePath.split("/").map((segment) => encodeURIComponent(segment)).join("/");
|
|
@@ -786,6 +804,82 @@ function mediaIdentifierOrFallback(current, fallback2) {
|
|
|
786
804
|
return fallback2 ?? (typeof current === "string" ? current : void 0);
|
|
787
805
|
}
|
|
788
806
|
|
|
807
|
+
// ../media-core/src/legacyMediaValue.ts
|
|
808
|
+
function legacyStringMediaTypeForField(field) {
|
|
809
|
+
if (field.type === "file") {
|
|
810
|
+
return field.fileKinds?.[0] ?? "document";
|
|
811
|
+
}
|
|
812
|
+
return field.mediaKinds?.[0] ?? "image";
|
|
813
|
+
}
|
|
814
|
+
function normalizeLegacyStringMediaValueForField(value, field) {
|
|
815
|
+
if (typeof value !== "string") return value;
|
|
816
|
+
const src = value.trim();
|
|
817
|
+
if (!src) return value;
|
|
818
|
+
return {
|
|
819
|
+
type: legacyStringMediaTypeForField(field),
|
|
820
|
+
src
|
|
821
|
+
};
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
// ../blocks/src/system/types/link.ts
|
|
825
|
+
import { z } from "zod";
|
|
826
|
+
var nullableString = z.union([z.string().min(1), z.null()]);
|
|
827
|
+
var resolvedInternalLinkKeys = ["entityId", "entityType", "href", "title", "typeLabel"];
|
|
828
|
+
var internalRouteOnlyLinkSchema = z.object({
|
|
829
|
+
kind: z.literal("internal"),
|
|
830
|
+
routeId: z.string().min(1)
|
|
831
|
+
}).passthrough().superRefine((value, ctx) => {
|
|
832
|
+
const hasResolvedMetadata = resolvedInternalLinkKeys.some((key) => value[key] != null);
|
|
833
|
+
if (!hasResolvedMetadata) return;
|
|
834
|
+
ctx.addIssue({
|
|
835
|
+
code: "custom",
|
|
836
|
+
message: "Internal links with resolved metadata must include entityId, entityType, href, title, and typeLabel"
|
|
837
|
+
});
|
|
838
|
+
});
|
|
839
|
+
var internalResolvedLinkSchema = z.object({
|
|
840
|
+
kind: z.literal("internal"),
|
|
841
|
+
routeId: z.string().min(1),
|
|
842
|
+
entityId: z.string().min(1),
|
|
843
|
+
entityType: z.enum(["page", "content"]),
|
|
844
|
+
href: z.string().min(1),
|
|
845
|
+
title: z.string().min(1),
|
|
846
|
+
typeLabel: z.string().min(1),
|
|
847
|
+
contentTypeKey: nullableString.optional(),
|
|
848
|
+
contentTypeName: nullableString.optional(),
|
|
849
|
+
updatedAt: nullableString.optional()
|
|
850
|
+
}).passthrough();
|
|
851
|
+
var internalLinkSchema = z.union([
|
|
852
|
+
internalResolvedLinkSchema,
|
|
853
|
+
internalRouteOnlyLinkSchema
|
|
854
|
+
]);
|
|
855
|
+
var externalLinkSchema = z.object({
|
|
856
|
+
kind: z.literal("external"),
|
|
857
|
+
href: z.string().min(1)
|
|
858
|
+
}).passthrough();
|
|
859
|
+
var customLinkSchema = z.object({
|
|
860
|
+
kind: z.literal("url"),
|
|
861
|
+
href: z.string().min(1)
|
|
862
|
+
}).passthrough();
|
|
863
|
+
var pageLinkSchema = z.object({
|
|
864
|
+
kind: z.literal("page"),
|
|
865
|
+
identifier: z.string().min(1)
|
|
866
|
+
}).passthrough();
|
|
867
|
+
var entryLinkSchema = z.object({
|
|
868
|
+
kind: z.literal("entry"),
|
|
869
|
+
contentType: z.string().min(1),
|
|
870
|
+
identifier: z.string().min(1)
|
|
871
|
+
}).passthrough();
|
|
872
|
+
var linkSchema = z.union([
|
|
873
|
+
internalLinkSchema,
|
|
874
|
+
externalLinkSchema,
|
|
875
|
+
customLinkSchema,
|
|
876
|
+
pageLinkSchema,
|
|
877
|
+
entryLinkSchema
|
|
878
|
+
]);
|
|
879
|
+
|
|
880
|
+
// ../blocks/src/system/manifest/schema.ts
|
|
881
|
+
import { z as z3 } from "zod";
|
|
882
|
+
|
|
789
883
|
// ../blocks/src/system/node/schema.ts
|
|
790
884
|
import { z as z2 } from "zod";
|
|
791
885
|
var transformStepSchema = z2.object({
|
|
@@ -2546,7 +2640,10 @@ function deriveFieldValidationPlan(field, path = [field.id]) {
|
|
|
2546
2640
|
return makePlan("richText", "object", field, path, required, commonConstraints(required, { kind: "richTextDoc" }));
|
|
2547
2641
|
case "media":
|
|
2548
2642
|
case "file":
|
|
2549
|
-
return
|
|
2643
|
+
return {
|
|
2644
|
+
...makePlan("media", "object", field, path, required, commonConstraints(required, { kind: "mediaObject" })),
|
|
2645
|
+
legacyStringType: legacyStringMediaTypeForField(field)
|
|
2646
|
+
};
|
|
2550
2647
|
case "link":
|
|
2551
2648
|
return makePlan("link", "object", field, path, required, commonConstraints(required, { kind: "linkObject" }));
|
|
2552
2649
|
case "boolean":
|
|
@@ -2731,15 +2828,23 @@ function normalizeFieldValue(plan, value, ctx) {
|
|
|
2731
2828
|
return normalizeRepeaterItems(plan, value, ctx);
|
|
2732
2829
|
case "boolean":
|
|
2733
2830
|
case "richText":
|
|
2734
|
-
case "media":
|
|
2735
2831
|
case "link":
|
|
2736
2832
|
case "select":
|
|
2737
2833
|
case "passthrough":
|
|
2738
2834
|
return value;
|
|
2835
|
+
case "media":
|
|
2836
|
+
return normalizeMediaInput(plan, value);
|
|
2739
2837
|
default:
|
|
2740
2838
|
return assertNever2(plan);
|
|
2741
2839
|
}
|
|
2742
2840
|
}
|
|
2841
|
+
function normalizeMediaInput(plan, value) {
|
|
2842
|
+
return normalizeLegacyStringMediaValueForField(value, {
|
|
2843
|
+
type: plan.fieldType,
|
|
2844
|
+
mediaKinds: plan.fieldType === "media" ? [plan.legacyStringType] : void 0,
|
|
2845
|
+
fileKinds: plan.fieldType === "file" ? [plan.legacyStringType] : void 0
|
|
2846
|
+
});
|
|
2847
|
+
}
|
|
2743
2848
|
function normalizeObjectChildren(children, value, ctx) {
|
|
2744
2849
|
if (!value || typeof value !== "object" || Array.isArray(value)) return value;
|
|
2745
2850
|
const normalized = {
|
|
@@ -3003,6 +3108,21 @@ function fieldPlanToZod(plan, options = {}) {
|
|
|
3003
3108
|
}
|
|
3004
3109
|
});
|
|
3005
3110
|
}
|
|
3111
|
+
function fieldPresenceForPlan(plan) {
|
|
3112
|
+
return plan.required ? { kind: "required" } : { kind: "optional" };
|
|
3113
|
+
}
|
|
3114
|
+
function fieldPlanToObjectPropertyZod(plan, options = {}) {
|
|
3115
|
+
const schema = fieldPlanToZod(plan, options);
|
|
3116
|
+
const presence = fieldPresenceForPlan(plan);
|
|
3117
|
+
switch (presence.kind) {
|
|
3118
|
+
case "required":
|
|
3119
|
+
return schema;
|
|
3120
|
+
case "optional":
|
|
3121
|
+
return schema.optional();
|
|
3122
|
+
default:
|
|
3123
|
+
return assertNever2(presence);
|
|
3124
|
+
}
|
|
3125
|
+
}
|
|
3006
3126
|
function addFieldIssueToZodContext(zodCtx, validationIssue, rootPath) {
|
|
3007
3127
|
const message = fieldIssueToMessage(validationIssue);
|
|
3008
3128
|
const path = relativeZodIssuePath(validationIssue.path, rootPath);
|
|
@@ -3215,7 +3335,7 @@ function createManifestValidator(manifestOrFields, options = {}) {
|
|
|
3215
3335
|
function deriveContentZodFromPlans(plans, options) {
|
|
3216
3336
|
const shape = {};
|
|
3217
3337
|
for (const plan of plans) {
|
|
3218
|
-
shape[plan.fieldId] =
|
|
3338
|
+
shape[plan.fieldId] = fieldPlanToObjectPropertyZod(plan, options);
|
|
3219
3339
|
}
|
|
3220
3340
|
return z5.object(shape).catchall(z5.unknown()).passthrough();
|
|
3221
3341
|
}
|
|
@@ -26324,9 +26444,12 @@ var coursePricingOptionSchema = z43.object({
|
|
|
26324
26444
|
});
|
|
26325
26445
|
var coursePricingSchema = z43.object({
|
|
26326
26446
|
bookingRequirement: z43.enum(["none", "required"]),
|
|
26327
|
-
pricingStrategy: z43.enum(["free", "single", "tiered"]),
|
|
26447
|
+
pricingStrategy: z43.enum(["free", "single", "tiered", "sliding_scale"]),
|
|
26328
26448
|
currency: z43.string(),
|
|
26329
26449
|
singlePriceAmount: z43.number().nullable(),
|
|
26450
|
+
slidingMinAmount: z43.number().nullable().optional(),
|
|
26451
|
+
slidingMaxAmount: z43.number().nullable().optional(),
|
|
26452
|
+
slidingSuggestedAmount: z43.number().nullable().optional(),
|
|
26330
26453
|
paymentTerms: blockBookingPaymentTermsSchema,
|
|
26331
26454
|
options: z43.array(coursePricingOptionSchema)
|
|
26332
26455
|
});
|
|
@@ -26480,6 +26603,19 @@ var publicEventPricingSchema = z44.discriminatedUnion("kind", [
|
|
|
26480
26603
|
ticketTypes: z44.array(publicEventTicketTypeSchema),
|
|
26481
26604
|
display: publicEventTicketTypePriceDisplaySchema
|
|
26482
26605
|
}),
|
|
26606
|
+
z44.object({
|
|
26607
|
+
kind: z44.literal("sliding_scale"),
|
|
26608
|
+
minAmount: z44.number(),
|
|
26609
|
+
maxAmount: z44.number(),
|
|
26610
|
+
suggestedAmount: z44.number().nullable(),
|
|
26611
|
+
currency: z44.string(),
|
|
26612
|
+
display: z44.object({
|
|
26613
|
+
kind: z44.literal("range"),
|
|
26614
|
+
minAmount: z44.number(),
|
|
26615
|
+
maxAmount: z44.number(),
|
|
26616
|
+
currency: z44.string()
|
|
26617
|
+
})
|
|
26618
|
+
}),
|
|
26483
26619
|
z44.object({
|
|
26484
26620
|
kind: z44.literal("course"),
|
|
26485
26621
|
display: z44.object({ kind: z44.literal("course"), display: publicCoursePriceDisplaySchema })
|
|
@@ -26896,7 +27032,7 @@ function isRecord6(value) {
|
|
|
26896
27032
|
}
|
|
26897
27033
|
function isPublicEventPricing(value) {
|
|
26898
27034
|
if (!isRecord6(value) || typeof value.kind !== "string") return false;
|
|
26899
|
-
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "ticket_types" || value.kind === "course" || value.kind === "external";
|
|
27035
|
+
return value.kind === "drop_in" || value.kind === "free_registration" || value.kind === "single_paid" || value.kind === "sliding_scale" || value.kind === "ticket_types" || value.kind === "course" || value.kind === "external";
|
|
26900
27036
|
}
|
|
26901
27037
|
function isPublicEventTicketType(value) {
|
|
26902
27038
|
return isRecord6(value) && typeof value.id === "string";
|
|
@@ -27513,7 +27649,9 @@ function getSelectableCoursePricingOptionsForNow(course, now) {
|
|
|
27513
27649
|
return left.name.localeCompare(right.name);
|
|
27514
27650
|
});
|
|
27515
27651
|
}
|
|
27516
|
-
function resolveCoursePricingState(course, selectedPricingOptionId, nowInput = {}) {
|
|
27652
|
+
function resolveCoursePricingState(course, selectedPricingOptionId, selectedSlidingAmountOrNowInput, nowInput = {}) {
|
|
27653
|
+
const selectedSlidingAmount = typeof selectedSlidingAmountOrNowInput === "number" || selectedSlidingAmountOrNowInput === null ? selectedSlidingAmountOrNowInput : null;
|
|
27654
|
+
const effectiveNowInput = typeof selectedSlidingAmountOrNowInput === "object" && selectedSlidingAmountOrNowInput !== null ? selectedSlidingAmountOrNowInput : nowInput;
|
|
27517
27655
|
const currency = course.pricing?.currency ?? course.currency;
|
|
27518
27656
|
if (!course.pricing) {
|
|
27519
27657
|
const legacyAmount = course.priceCents ?? 0;
|
|
@@ -27523,6 +27661,8 @@ function resolveCoursePricingState(course, selectedPricingOptionId, nowInput = {
|
|
|
27523
27661
|
selectableOptions: [],
|
|
27524
27662
|
requiresSelection: false,
|
|
27525
27663
|
selectedOption: null,
|
|
27664
|
+
slidingScale: null,
|
|
27665
|
+
selectedSlidingAmount: null,
|
|
27526
27666
|
selectedPriceAmount: legacyAmount,
|
|
27527
27667
|
selectedRequiresPayment: legacyAmount > 0,
|
|
27528
27668
|
hasPaidSelection: legacyAmount > 0,
|
|
@@ -27537,6 +27677,8 @@ function resolveCoursePricingState(course, selectedPricingOptionId, nowInput = {
|
|
|
27537
27677
|
selectableOptions: [],
|
|
27538
27678
|
requiresSelection: false,
|
|
27539
27679
|
selectedOption: null,
|
|
27680
|
+
slidingScale: null,
|
|
27681
|
+
selectedSlidingAmount: null,
|
|
27540
27682
|
selectedPriceAmount: 0,
|
|
27541
27683
|
selectedRequiresPayment: false,
|
|
27542
27684
|
hasPaidSelection: false,
|
|
@@ -27550,6 +27692,8 @@ function resolveCoursePricingState(course, selectedPricingOptionId, nowInput = {
|
|
|
27550
27692
|
selectableOptions: [],
|
|
27551
27693
|
requiresSelection: false,
|
|
27552
27694
|
selectedOption: null,
|
|
27695
|
+
slidingScale: null,
|
|
27696
|
+
selectedSlidingAmount: null,
|
|
27553
27697
|
selectedPriceAmount: amount,
|
|
27554
27698
|
selectedRequiresPayment: amount > 0,
|
|
27555
27699
|
hasPaidSelection: amount > 0,
|
|
@@ -27559,7 +27703,7 @@ function resolveCoursePricingState(course, selectedPricingOptionId, nowInput = {
|
|
|
27559
27703
|
case "tiered": {
|
|
27560
27704
|
const selectableOptions = getSelectableCoursePricingOptionsForNow(
|
|
27561
27705
|
course,
|
|
27562
|
-
resolvePlanningDateInput(
|
|
27706
|
+
resolvePlanningDateInput(effectiveNowInput)
|
|
27563
27707
|
);
|
|
27564
27708
|
const selectedOption = (selectedPricingOptionId ? selectableOptions.find((option) => option.id === selectedPricingOptionId) : null) ?? (selectableOptions.length === 1 ? selectableOptions[0] ?? null : null);
|
|
27565
27709
|
const lowestAmount = selectableOptions.reduce((lowest, option) => {
|
|
@@ -27575,12 +27719,51 @@ function resolveCoursePricingState(course, selectedPricingOptionId, nowInput = {
|
|
|
27575
27719
|
selectableOptions,
|
|
27576
27720
|
requiresSelection: selectableOptions.length > 1,
|
|
27577
27721
|
selectedOption,
|
|
27722
|
+
slidingScale: null,
|
|
27723
|
+
selectedSlidingAmount: null,
|
|
27578
27724
|
selectedPriceAmount: selectedOption?.priceAmount ?? null,
|
|
27579
27725
|
selectedRequiresPayment: (selectedOption?.priceAmount ?? 0) > 0,
|
|
27580
27726
|
hasPaidSelection: selectableOptions.some((option) => option.priceAmount > 0),
|
|
27581
27727
|
hasFreeSelection: selectableOptions.some((option) => option.priceAmount === 0)
|
|
27582
27728
|
};
|
|
27583
27729
|
}
|
|
27730
|
+
case "sliding_scale": {
|
|
27731
|
+
const minAmount = course.pricing.slidingMinAmount ?? null;
|
|
27732
|
+
const maxAmount = course.pricing.slidingMaxAmount ?? null;
|
|
27733
|
+
if (minAmount === null || maxAmount === null || minAmount < 0 || maxAmount < minAmount) {
|
|
27734
|
+
return {
|
|
27735
|
+
currency,
|
|
27736
|
+
display: { kind: "unavailable", currency },
|
|
27737
|
+
selectableOptions: [],
|
|
27738
|
+
requiresSelection: true,
|
|
27739
|
+
selectedOption: null,
|
|
27740
|
+
slidingScale: null,
|
|
27741
|
+
selectedSlidingAmount: null,
|
|
27742
|
+
selectedPriceAmount: null,
|
|
27743
|
+
selectedRequiresPayment: false,
|
|
27744
|
+
hasPaidSelection: false,
|
|
27745
|
+
hasFreeSelection: false
|
|
27746
|
+
};
|
|
27747
|
+
}
|
|
27748
|
+
const normalizedSelectedAmount = typeof selectedSlidingAmount === "number" && Number.isFinite(selectedSlidingAmount) ? selectedSlidingAmount : null;
|
|
27749
|
+
return {
|
|
27750
|
+
currency,
|
|
27751
|
+
display: { kind: "range", minAmount, maxAmount, currency },
|
|
27752
|
+
selectableOptions: [],
|
|
27753
|
+
requiresSelection: normalizedSelectedAmount === null,
|
|
27754
|
+
selectedOption: null,
|
|
27755
|
+
slidingScale: {
|
|
27756
|
+
minAmount,
|
|
27757
|
+
maxAmount,
|
|
27758
|
+
suggestedAmount: course.pricing.slidingSuggestedAmount ?? null
|
|
27759
|
+
},
|
|
27760
|
+
selectedSlidingAmount: normalizedSelectedAmount,
|
|
27761
|
+
selectedPriceAmount: normalizedSelectedAmount,
|
|
27762
|
+
selectedRequiresPayment: (normalizedSelectedAmount ?? 0) > 0,
|
|
27763
|
+
hasPaidSelection: maxAmount > 0,
|
|
27764
|
+
hasFreeSelection: minAmount === 0
|
|
27765
|
+
};
|
|
27766
|
+
}
|
|
27584
27767
|
}
|
|
27585
27768
|
}
|
|
27586
27769
|
function formatCoursePriceDisplay(display, locale) {
|
|
@@ -40035,6 +40218,7 @@ var bookingServiceSchema = z64.object({
|
|
|
40035
40218
|
title: z64.string(),
|
|
40036
40219
|
description: z64.string().nullable().optional().transform((value) => value ?? void 0),
|
|
40037
40220
|
durationMinutes: z64.number().optional(),
|
|
40221
|
+
pricing: z64.custom().optional(),
|
|
40038
40222
|
priceAmount: z64.number().nullable().optional(),
|
|
40039
40223
|
priceCurrency: z64.string().nullable().optional(),
|
|
40040
40224
|
paymentTerms: blockBookingPaymentTermsSchema.optional(),
|
|
@@ -68165,6 +68349,38 @@ var NAMED_SURFACE_IDS = SURFACE_IDS.filter(
|
|
|
68165
68349
|
(surfaceId) => surfaceId !== DEFAULT_SURFACE_ID
|
|
68166
68350
|
);
|
|
68167
68351
|
|
|
68352
|
+
// ../api/src/common/envelope.ts
|
|
68353
|
+
var API_ERROR_CODES = [
|
|
68354
|
+
"auth:unauthenticated",
|
|
68355
|
+
"auth:token_expired",
|
|
68356
|
+
"auth:token_invalid",
|
|
68357
|
+
"auth:forbidden",
|
|
68358
|
+
"auth:mfa_required",
|
|
68359
|
+
"auth:sudo_required",
|
|
68360
|
+
"auth:insufficient_permissions",
|
|
68361
|
+
"auth:impersonation_restricted",
|
|
68362
|
+
"validation:invalid_input",
|
|
68363
|
+
"validation:missing_field",
|
|
68364
|
+
"validation:invalid_format",
|
|
68365
|
+
"validation:payload_too_large",
|
|
68366
|
+
"resource:not_found",
|
|
68367
|
+
"resource:already_exists",
|
|
68368
|
+
"resource:conflict",
|
|
68369
|
+
"resource:gone",
|
|
68370
|
+
"rate_limit:exceeded",
|
|
68371
|
+
"billing:payment_required",
|
|
68372
|
+
"billing:plan_limit_exceeded",
|
|
68373
|
+
"billing:pass_redemption_failed",
|
|
68374
|
+
"server:internal_error",
|
|
68375
|
+
"server:unavailable",
|
|
68376
|
+
"external:service_error",
|
|
68377
|
+
"external:registrar_orphaned_contact_profile",
|
|
68378
|
+
"network:connection_error",
|
|
68379
|
+
"network:timeout",
|
|
68380
|
+
"network:dns_error"
|
|
68381
|
+
];
|
|
68382
|
+
var API_ERROR_CODE_SET = new Set(API_ERROR_CODES);
|
|
68383
|
+
|
|
68168
68384
|
// ../api/src/customerMembershipOutcomes.ts
|
|
68169
68385
|
var CANONICAL_REFUND_CONFLICT_CODES = [
|
|
68170
68386
|
"already_refunded",
|
|
@@ -68174,6 +68390,7 @@ var CANONICAL_REFUND_CONFLICT_CODES = [
|
|
|
68174
68390
|
];
|
|
68175
68391
|
var CANONICAL_REFUND_PLANNER_ERROR_CODES = [
|
|
68176
68392
|
...CANONICAL_REFUND_CONFLICT_CODES,
|
|
68393
|
+
"invalid_amount",
|
|
68177
68394
|
"amount_exceeds_remaining",
|
|
68178
68395
|
"pass_revoke_requires_full_refund",
|
|
68179
68396
|
"refund_failed"
|
|
@@ -68200,6 +68417,7 @@ var CUSTOMER_MEMBERSHIP_PAYMENT_REFUND_FAILED_CODES = [
|
|
|
68200
68417
|
// ../api/src/bookingRefundOutcomes.ts
|
|
68201
68418
|
var STANDARD_LINE_ITEM_REFUND_INVALID_CODES = [
|
|
68202
68419
|
"missing_amount",
|
|
68420
|
+
"invalid_amount",
|
|
68203
68421
|
"amount_exceeds_remaining",
|
|
68204
68422
|
"credit_refunds_disabled",
|
|
68205
68423
|
"missing_credit_customer",
|
|
@@ -68214,6 +68432,7 @@ var EVENT_ATTENDEE_REFUND_INVALID_CODES = [
|
|
|
68214
68432
|
var MANAGED_PRODUCT_REFUND_INVALID_CODES = [
|
|
68215
68433
|
"credit_refunds_disabled",
|
|
68216
68434
|
"not_refundable",
|
|
68435
|
+
"invalid_amount",
|
|
68217
68436
|
"amount_exceeds_remaining"
|
|
68218
68437
|
];
|
|
68219
68438
|
var CUSTOMER_PASS_REFUND_INVALID_CODES = [
|