riverbankcms 0.26.0 → 0.27.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/acceptance/matrix.mjs +3 -3
- package/dist/cli/index.mjs +154 -388
- package/dist/{entryCommands-61TwBBCA.mjs → entryCommands-Dg5IT7Uv.mjs} +369 -79
- package/dist/{eventUpsertInputSchema-zAAQrjXE.mjs → eventUpsertInputSchema-D4xpVjUT.mjs} +3 -2
- package/dist/load-config-BcATOVmw.mjs +4 -0
- package/dist/{load-config-C7Ght4_r.mjs → load-config-DsPKn5yN.mjs} +2 -2
- package/dist/{plan-DB3FQqwH.mjs → plan-oltx4aO0.mjs} +1 -1
- package/dist/scaffold/index.mjs +2 -2
- package/dist/{sdk-event-upsert-CH3xwzuX.mjs → sdk-event-upsert-CnvVuQJy.mjs} +2896 -2770
- package/dist/{src-DsR6-gBQ.mjs → src-DqoU7zKs.mjs} +7 -1
- package/dist/testing.mjs +4 -4
- package/package.json +1 -1
- package/dist/load-config-DAdJwh-i.mjs +0 -4
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import { $n as
|
|
4
|
-
import { n as CliSdkPeerError, t as loadConfigFile } from "./load-config-
|
|
2
|
+
import { A as evaluateSiteCommandExposure, Cr as asPageFlowPresetId, E as parseAndPlanCommandBatchForTypes, F as entryIdentifierForCommand, Hn as getDirectImageUrlForSiteScopedPath, Qn as buildMediaIdentifierFromFilename, T as createDryRunReport, V as eventBookingOfferIntentSchema, Vr as parseSurfaceTree, X as createContentEntryRef, Y as createCommandRef, an as headerLayoutIdValues, ar as getExtensionForMimeType, br as asAppearancePresetId, cr as normalizeAmbiguousStoragePathForSite, dn as pageDesignBoundaryTreatmentSchema, dr as MAX_MANAGEMENT_MEDIA_UPLOAD_BYTES, fn as pageDesignIntentSchemaVersion, in as asHeaderStyleId, j as getSiteCommandMetadata, jt as themeSchema, k as evaluateSiteCommandBatchExposure, m as isInternalResolvedLinkValue, n as sdkCourseBookingSettingsSchema, nn as footerLookIdValues, nr as slugifyMediaIdentifier, on as headerStyleIdValues, or as getMimeType, ot as slugPart, pn as footerPreferencesSchema, pt as headerPreferencesSchema, r as sdkEventOccurrenceInputSchema, rn as asHeaderLayoutId, rt as createSiteCommandSiteRef, s as RESOLVED_INTERNAL_LINK_ENTITY_TYPES, sn as buttonStyleSelectionSchema, tn as asFooterLookId, tr as resolveMediaIdentifier, ur as FILE_SIZE_LIMITS, w as stableStringify, wr as asSiteStyleId, x as resolvePageUpsertSeo, y as eventVisibilitySchema } from "./sdk-event-upsert-CnvVuQJy.mjs";
|
|
3
|
+
import { $n as err, C as createSecret, Jn as unsafeAsStaffMemberId, Ln as unsafeAsOccurrenceId, Nn as unsafeAsEventOfferingId, P as parseFooterCompositionV1, Pn as unsafeAsEventSeriesId, St as resolveBookingTimeZoneId, T as parseManagementKey, _ as publicReadFreshnessSeconds, c as parseVerticalId, d as DEFAULT_EVENT_TYPE_PRESETS, er as ok, f as EVENT_PRESET_VALUES, g as getPublicReadCachePolicy, l as parseVerticalPresetId, ln as assertNever, nt as formatDate, o as areConfiguredBookingVerticalConfigsEqual, q as locationValueSchema, r as resolveEventCatalogue, s as canonicalizeConfiguredBookingVerticalConfig, t as committedWriteProofSchema, u as resolveSiteVerticalBookingConfig, vt as parseBookingLocalDate, w as exposeSecret, wn as unsafeAsAppointmentResourceId, xn as parseSiteId, yn as parsePageId } from "./src-DqoU7zKs.mjs";
|
|
4
|
+
import { n as CliSdkPeerError, t as loadConfigFile } from "./load-config-DsPKn5yN.mjs";
|
|
5
5
|
import { Command } from "commander";
|
|
6
6
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
7
7
|
import * as fs$1 from "fs/promises";
|
|
@@ -473,19 +473,39 @@ const retentionPolicyRegistry = {
|
|
|
473
473
|
},
|
|
474
474
|
email_audit_metadata: {
|
|
475
475
|
dataClass: "email_audit_metadata",
|
|
476
|
-
policyKind: "
|
|
476
|
+
policyKind: "platform_auto_delete",
|
|
477
477
|
trigger: "created_at",
|
|
478
478
|
window: {
|
|
479
479
|
kind: "relative",
|
|
480
480
|
unit: "months",
|
|
481
481
|
value: 12
|
|
482
482
|
},
|
|
483
|
-
action: "
|
|
483
|
+
action: "hard_delete",
|
|
484
484
|
automation: {
|
|
485
|
-
kind: "
|
|
486
|
-
|
|
485
|
+
kind: "scheduled",
|
|
486
|
+
jobKind: "email_audit_metadata_cleanup",
|
|
487
|
+
executionModes: ["dry_run", "scheduled"],
|
|
488
|
+
executionSubstrate: "vercel_cron"
|
|
487
489
|
},
|
|
488
|
-
rationale: "
|
|
490
|
+
rationale: "Sent email records are kept for twelve months; send jobs and delivery receipts preserve their independent history."
|
|
491
|
+
},
|
|
492
|
+
transactional_email_job_payload: {
|
|
493
|
+
dataClass: "transactional_email_job_payload",
|
|
494
|
+
policyKind: "platform_auto_delete",
|
|
495
|
+
trigger: "delivery_finished_at",
|
|
496
|
+
window: {
|
|
497
|
+
kind: "relative",
|
|
498
|
+
unit: "days",
|
|
499
|
+
value: 90
|
|
500
|
+
},
|
|
501
|
+
action: "hard_delete",
|
|
502
|
+
automation: {
|
|
503
|
+
kind: "scheduled",
|
|
504
|
+
jobKind: "transactional_email_payload_cleanup",
|
|
505
|
+
executionModes: ["dry_run", "scheduled"],
|
|
506
|
+
executionSubstrate: "vercel_cron"
|
|
507
|
+
},
|
|
508
|
+
rationale: "Finished email jobs lose copied content after ninety days once completion work is settled; delivery and replay evidence remain."
|
|
489
509
|
},
|
|
490
510
|
dsar_run_metadata: {
|
|
491
511
|
dataClass: "dsar_run_metadata",
|
|
@@ -1452,6 +1472,26 @@ function normalizeSiteCacheId(id) {
|
|
|
1452
1472
|
const parsed = parseSiteId(id);
|
|
1453
1473
|
return parsed.ok ? parsed.value : id;
|
|
1454
1474
|
}
|
|
1475
|
+
/** Memory caches follow the same public-read policy as HTTP and batch readers. */
|
|
1476
|
+
function buildPublicReadMemoryCacheTags(endpoint, params) {
|
|
1477
|
+
const policy = getPublicReadCachePolicy(endpoint);
|
|
1478
|
+
if (policy.kind === "live") return [];
|
|
1479
|
+
const templates = {
|
|
1480
|
+
published_content: TAG_TEMPLATES.siteRoutableContent,
|
|
1481
|
+
public_team_members: TAG_TEMPLATES.publicTeamMembers,
|
|
1482
|
+
public_products: TAG_TEMPLATES.publicShop,
|
|
1483
|
+
site_forms: TAG_TEMPLATES.siteForms
|
|
1484
|
+
};
|
|
1485
|
+
return buildCacheReadTags([
|
|
1486
|
+
...policy.tags.map((kind) => templates[kind]),
|
|
1487
|
+
...endpoint === "checkRedirect" ? [
|
|
1488
|
+
TAG_TEMPLATES.siteRedirects,
|
|
1489
|
+
TAG_TEMPLATES.siteBySlug,
|
|
1490
|
+
TAG_TEMPLATES.siteById
|
|
1491
|
+
] : [],
|
|
1492
|
+
...endpoint === "getPublicFormById" ? [TAG_TEMPLATES.formById] : []
|
|
1493
|
+
], params);
|
|
1494
|
+
}
|
|
1455
1495
|
|
|
1456
1496
|
//#endregion
|
|
1457
1497
|
//#region ../api/src/sdkEntryReadEndpoints.ts
|
|
@@ -5603,6 +5643,29 @@ const ENDPOINT_DEFINITIONS = {
|
|
|
5603
5643
|
auth: "user",
|
|
5604
5644
|
responseKind: "json"
|
|
5605
5645
|
},
|
|
5646
|
+
previewSiteBrandingOperation: {
|
|
5647
|
+
path: "/sites/{siteId}/settings/general/preview",
|
|
5648
|
+
method: "POST",
|
|
5649
|
+
auth: "user",
|
|
5650
|
+
responseKind: "json",
|
|
5651
|
+
errors: [
|
|
5652
|
+
"validation:invalid_input",
|
|
5653
|
+
"auth:insufficient_permissions",
|
|
5654
|
+
"server:internal_error"
|
|
5655
|
+
]
|
|
5656
|
+
},
|
|
5657
|
+
confirmSiteBrandingOperation: {
|
|
5658
|
+
path: "/sites/{siteId}/settings/general/confirm",
|
|
5659
|
+
method: "POST",
|
|
5660
|
+
auth: "user",
|
|
5661
|
+
responseKind: "json",
|
|
5662
|
+
tags: [TAG_TEMPLATES.site, TAG_TEMPLATES.siteSettings],
|
|
5663
|
+
errors: [
|
|
5664
|
+
"validation:invalid_input",
|
|
5665
|
+
"auth:insufficient_permissions",
|
|
5666
|
+
"server:internal_error"
|
|
5667
|
+
]
|
|
5668
|
+
},
|
|
5606
5669
|
getSiteFooterBlocks: {
|
|
5607
5670
|
path: "/sites/{siteId}/content/footer-blocks",
|
|
5608
5671
|
method: "GET",
|
|
@@ -6683,48 +6746,6 @@ const ENDPOINT_DEFINITIONS = {
|
|
|
6683
6746
|
auth: "user",
|
|
6684
6747
|
responseKind: "json"
|
|
6685
6748
|
},
|
|
6686
|
-
classifyMediaAsset: {
|
|
6687
|
-
path: "/media/{assetId}/classify",
|
|
6688
|
-
method: "POST",
|
|
6689
|
-
tags: ["media", "media-{assetId}"],
|
|
6690
|
-
auth: "user",
|
|
6691
|
-
responseKind: "json"
|
|
6692
|
-
},
|
|
6693
|
-
classifyMediaBatch: {
|
|
6694
|
-
path: "/media/classify",
|
|
6695
|
-
method: "POST",
|
|
6696
|
-
tags: ["media"],
|
|
6697
|
-
auth: "user",
|
|
6698
|
-
responseKind: "json"
|
|
6699
|
-
},
|
|
6700
|
-
mediaJobsStatus: {
|
|
6701
|
-
path: "/media/jobs/status",
|
|
6702
|
-
method: "GET",
|
|
6703
|
-
tags: ["media"],
|
|
6704
|
-
auth: "user",
|
|
6705
|
-
responseKind: "json"
|
|
6706
|
-
},
|
|
6707
|
-
enqueueMediaClassifyJob: {
|
|
6708
|
-
path: "/media/jobs",
|
|
6709
|
-
method: "POST",
|
|
6710
|
-
tags: ["media"],
|
|
6711
|
-
auth: "user",
|
|
6712
|
-
responseKind: "json"
|
|
6713
|
-
},
|
|
6714
|
-
runMediaClassifyJob: {
|
|
6715
|
-
path: "/media/jobs/run",
|
|
6716
|
-
method: "POST",
|
|
6717
|
-
tags: ["media"],
|
|
6718
|
-
auth: "user",
|
|
6719
|
-
responseKind: "json"
|
|
6720
|
-
},
|
|
6721
|
-
runAllMediaClassifyJobs: {
|
|
6722
|
-
path: "/media/jobs/run-all",
|
|
6723
|
-
method: "POST",
|
|
6724
|
-
tags: ["media"],
|
|
6725
|
-
auth: "user",
|
|
6726
|
-
responseKind: "json"
|
|
6727
|
-
},
|
|
6728
6749
|
initSiteContent: {
|
|
6729
6750
|
path: "/sites/{siteId}/content/init",
|
|
6730
6751
|
method: "POST",
|
|
@@ -7615,6 +7636,14 @@ const ENDPOINT_DEFINITIONS = {
|
|
|
7615
7636
|
auth: "admin",
|
|
7616
7637
|
responseKind: "json"
|
|
7617
7638
|
},
|
|
7639
|
+
adminClearSitePublicCache: {
|
|
7640
|
+
path: "/admin/sites/{siteId}/cache/clear",
|
|
7641
|
+
method: "POST",
|
|
7642
|
+
tags: ["admin", "sites"],
|
|
7643
|
+
auth: "admin",
|
|
7644
|
+
errors: [],
|
|
7645
|
+
responseKind: "json"
|
|
7646
|
+
},
|
|
7618
7647
|
adminDeleteSite: {
|
|
7619
7648
|
path: "/admin/sites/{siteId}",
|
|
7620
7649
|
method: "DELETE",
|
|
@@ -10763,7 +10792,6 @@ function authoredThemeJournalValue(input) {
|
|
|
10763
10792
|
preferences: input.preferences
|
|
10764
10793
|
};
|
|
10765
10794
|
}
|
|
10766
|
-
/** Shared request/value wire contract: authored theme bytes exclude compiled chrome. */
|
|
10767
10795
|
const chromelessBodyThemeSchema = themeSchema.omit({
|
|
10768
10796
|
header: true,
|
|
10769
10797
|
footer: true
|
|
@@ -10780,22 +10808,24 @@ const themeSaveBodySchema = z.object({
|
|
|
10780
10808
|
}).strict().optional(),
|
|
10781
10809
|
footerLookId: z.enum(footerLookIdValues).transform(asFooterLookId).nullable().optional()
|
|
10782
10810
|
}).strict();
|
|
10783
|
-
const
|
|
10811
|
+
const themeJournalValueShape = {
|
|
10784
10812
|
snapshot: themeSchema,
|
|
10785
10813
|
body: themeSaveBodySchema,
|
|
10786
10814
|
preferences: z.object({
|
|
10787
10815
|
header: headerPreferencesSchema.nullable(),
|
|
10788
10816
|
footer: footerPreferencesSchema
|
|
10789
10817
|
}).strict()
|
|
10790
|
-
}
|
|
10791
|
-
const
|
|
10818
|
+
};
|
|
10819
|
+
const themeJournalValueSchema = z.object(themeJournalValueShape).strict();
|
|
10820
|
+
const themeJournalEvidenceShape = {
|
|
10792
10821
|
siteId: z.string().uuid(),
|
|
10793
10822
|
selectionId: z.string().uuid(),
|
|
10794
10823
|
expectedRevision: z.number().int().nonnegative(),
|
|
10795
10824
|
revision: z.number().int().nonnegative(),
|
|
10796
10825
|
before: themeJournalValueSchema,
|
|
10797
10826
|
after: themeJournalValueSchema
|
|
10798
|
-
}
|
|
10827
|
+
};
|
|
10828
|
+
const themeJournalEvidenceSchema = z.object(themeJournalEvidenceShape).strict();
|
|
10799
10829
|
|
|
10800
10830
|
//#endregion
|
|
10801
10831
|
//#region ../api/src/bookingSettingsSections.ts
|
|
@@ -10849,13 +10879,8 @@ const BOOKING_SETTINGS_SECTION_KEYS = {
|
|
|
10849
10879
|
* Whether each email is sent, and when. No section owns these: the command
|
|
10850
10880
|
* behind an email's own screen (`updateEmailSendSetting`) is their only writer,
|
|
10851
10881
|
* so a section save can neither send them nor overwrite them.
|
|
10852
|
-
*
|
|
10853
|
-
* `remindersEnabled` is the old shared reminders switch. Nothing writes it any
|
|
10854
|
-
* more. It's read only as the fallback for a reminder switch that hasn't been
|
|
10855
|
-
* set, until stored settings are backfilled and the key is removed.
|
|
10856
10882
|
*/
|
|
10857
10883
|
const BOOKING_SETTINGS_EMAIL_SEND_KEYS = [
|
|
10858
|
-
"remindersEnabled",
|
|
10859
10884
|
"eventRemindersEnabled",
|
|
10860
10885
|
"eventReminderHours",
|
|
10861
10886
|
"appointmentRemindersEnabled",
|
|
@@ -14370,6 +14395,25 @@ function parsePublicProductCategorySelector(value) {
|
|
|
14370
14395
|
return undefined;
|
|
14371
14396
|
}
|
|
14372
14397
|
|
|
14398
|
+
//#endregion
|
|
14399
|
+
//#region ../api/src/request-error.ts
|
|
14400
|
+
var ApiRequestError = class extends Error {
|
|
14401
|
+
constructor(message, options) {
|
|
14402
|
+
super(message);
|
|
14403
|
+
this.name = "ApiRequestError";
|
|
14404
|
+
this.endpoint = options.endpoint;
|
|
14405
|
+
this.status = options.status;
|
|
14406
|
+
this.method = options.method;
|
|
14407
|
+
this.auth = options.auth;
|
|
14408
|
+
this.requestId = options.requestId;
|
|
14409
|
+
this.body = options.body;
|
|
14410
|
+
this.cause = options.cause;
|
|
14411
|
+
this.errorCode = options.errorCode;
|
|
14412
|
+
this.tag = options.tag;
|
|
14413
|
+
this.retryAfterMs = options.retryAfterMs;
|
|
14414
|
+
}
|
|
14415
|
+
};
|
|
14416
|
+
|
|
14373
14417
|
//#endregion
|
|
14374
14418
|
//#region ../api/src/token.ts
|
|
14375
14419
|
async function getAuthHeaders(supabase) {
|
|
@@ -14885,22 +14929,6 @@ function setSdkVersion(version) {
|
|
|
14885
14929
|
function getSdkVersion() {
|
|
14886
14930
|
return sdkVersion;
|
|
14887
14931
|
}
|
|
14888
|
-
var ApiRequestError = class extends Error {
|
|
14889
|
-
constructor(message, options) {
|
|
14890
|
-
super(message);
|
|
14891
|
-
this.name = "ApiRequestError";
|
|
14892
|
-
this.endpoint = options.endpoint;
|
|
14893
|
-
this.status = options.status;
|
|
14894
|
-
this.method = options.method;
|
|
14895
|
-
this.auth = options.auth;
|
|
14896
|
-
this.requestId = options.requestId;
|
|
14897
|
-
this.body = options.body;
|
|
14898
|
-
this.cause = options.cause;
|
|
14899
|
-
this.errorCode = options.errorCode;
|
|
14900
|
-
this.tag = options.tag;
|
|
14901
|
-
this.retryAfterMs = options.retryAfterMs;
|
|
14902
|
-
}
|
|
14903
|
-
};
|
|
14904
14932
|
/**
|
|
14905
14933
|
* Parse the Retry-After header value to milliseconds.
|
|
14906
14934
|
* The header can be either:
|
|
@@ -16605,6 +16633,268 @@ function linkPayloadKindToNavigationUrlType(kind) {
|
|
|
16605
16633
|
return LINK_PAYLOAD_NAVIGATION_URL_TYPES[kind];
|
|
16606
16634
|
}
|
|
16607
16635
|
|
|
16636
|
+
//#endregion
|
|
16637
|
+
//#region ../api/src/admin.ts
|
|
16638
|
+
async function startImpersonation(apiClient, body, options) {
|
|
16639
|
+
try {
|
|
16640
|
+
return unwrapResponse(await apiClient({
|
|
16641
|
+
endpoint: "adminStartImpersonation",
|
|
16642
|
+
body,
|
|
16643
|
+
options
|
|
16644
|
+
}));
|
|
16645
|
+
} catch (error) {
|
|
16646
|
+
return normalizeApiError(error, "Failed to start impersonation session");
|
|
16647
|
+
}
|
|
16648
|
+
}
|
|
16649
|
+
async function stopImpersonation(apiClient, body, options) {
|
|
16650
|
+
try {
|
|
16651
|
+
return unwrapResponse(await apiClient({
|
|
16652
|
+
endpoint: "adminStopImpersonation",
|
|
16653
|
+
body,
|
|
16654
|
+
options
|
|
16655
|
+
}));
|
|
16656
|
+
} catch (error) {
|
|
16657
|
+
return normalizeApiError(error, "Failed to stop impersonation session");
|
|
16658
|
+
}
|
|
16659
|
+
}
|
|
16660
|
+
async function assignAdminRole(apiClient, body, options) {
|
|
16661
|
+
try {
|
|
16662
|
+
return unwrapResponse(await apiClient({
|
|
16663
|
+
endpoint: "adminAssignRole",
|
|
16664
|
+
body,
|
|
16665
|
+
options
|
|
16666
|
+
}));
|
|
16667
|
+
} catch (error) {
|
|
16668
|
+
return normalizeApiError(error, "Failed to assign admin role");
|
|
16669
|
+
}
|
|
16670
|
+
}
|
|
16671
|
+
async function revokeAdminRole(apiClient, body, options) {
|
|
16672
|
+
try {
|
|
16673
|
+
return unwrapResponse(await apiClient({
|
|
16674
|
+
endpoint: "adminRevokeRole",
|
|
16675
|
+
body,
|
|
16676
|
+
options
|
|
16677
|
+
}));
|
|
16678
|
+
} catch (error) {
|
|
16679
|
+
return normalizeApiError(error, "Failed to revoke admin role");
|
|
16680
|
+
}
|
|
16681
|
+
}
|
|
16682
|
+
async function adminChangePlan(apiClient, body, options) {
|
|
16683
|
+
try {
|
|
16684
|
+
return unwrapResponse(await apiClient({
|
|
16685
|
+
endpoint: "adminChangePlan",
|
|
16686
|
+
body: {
|
|
16687
|
+
...body,
|
|
16688
|
+
attemptId: body.attemptId ?? crypto.randomUUID()
|
|
16689
|
+
},
|
|
16690
|
+
options
|
|
16691
|
+
}));
|
|
16692
|
+
} catch (error) {
|
|
16693
|
+
return normalizeApiError(error, "Failed to update billing plan");
|
|
16694
|
+
}
|
|
16695
|
+
}
|
|
16696
|
+
async function listAdminInvites(apiClient, params = {}, options) {
|
|
16697
|
+
try {
|
|
16698
|
+
return unwrapResponse(await apiClient({
|
|
16699
|
+
endpoint: "adminListInvites",
|
|
16700
|
+
params,
|
|
16701
|
+
options
|
|
16702
|
+
}));
|
|
16703
|
+
} catch (error) {
|
|
16704
|
+
return normalizeApiError(error, "Failed to load invites");
|
|
16705
|
+
}
|
|
16706
|
+
}
|
|
16707
|
+
async function createAdminInvite(apiClient, body, options) {
|
|
16708
|
+
try {
|
|
16709
|
+
return unwrapResponse(await apiClient({
|
|
16710
|
+
endpoint: "adminCreateInvite",
|
|
16711
|
+
body,
|
|
16712
|
+
options
|
|
16713
|
+
}));
|
|
16714
|
+
} catch (error) {
|
|
16715
|
+
return normalizeApiError(error, "Failed to create invite");
|
|
16716
|
+
}
|
|
16717
|
+
}
|
|
16718
|
+
async function revokeAdminInvite(apiClient, inviteId, options) {
|
|
16719
|
+
try {
|
|
16720
|
+
return unwrapResponse(await apiClient({
|
|
16721
|
+
endpoint: "adminRevokeInvite",
|
|
16722
|
+
params: { inviteId },
|
|
16723
|
+
options
|
|
16724
|
+
}));
|
|
16725
|
+
} catch (error) {
|
|
16726
|
+
return normalizeApiError(error, "Failed to revoke invite");
|
|
16727
|
+
}
|
|
16728
|
+
}
|
|
16729
|
+
async function createAdminUser(apiClient, body, options) {
|
|
16730
|
+
try {
|
|
16731
|
+
return unwrapResponse(await apiClient({
|
|
16732
|
+
endpoint: "adminCreateUser",
|
|
16733
|
+
body,
|
|
16734
|
+
options
|
|
16735
|
+
}));
|
|
16736
|
+
} catch (error) {
|
|
16737
|
+
return normalizeApiError(error, "Failed to create user");
|
|
16738
|
+
}
|
|
16739
|
+
}
|
|
16740
|
+
async function adminDeleteSite(apiClient, siteId, options) {
|
|
16741
|
+
try {
|
|
16742
|
+
return unwrapResponse(await apiClient({
|
|
16743
|
+
endpoint: "adminDeleteSite",
|
|
16744
|
+
params: { siteId },
|
|
16745
|
+
options
|
|
16746
|
+
}));
|
|
16747
|
+
} catch (error) {
|
|
16748
|
+
return normalizeApiError(error, "Failed to delete site");
|
|
16749
|
+
}
|
|
16750
|
+
}
|
|
16751
|
+
async function adminDeleteUser(apiClient, userId, params = {}, options) {
|
|
16752
|
+
const forceQuery = params.force ? { force: "true" } : {};
|
|
16753
|
+
try {
|
|
16754
|
+
return unwrapResponse(await apiClient({
|
|
16755
|
+
endpoint: "adminDeleteUser",
|
|
16756
|
+
params: {
|
|
16757
|
+
userId,
|
|
16758
|
+
...forceQuery
|
|
16759
|
+
},
|
|
16760
|
+
options
|
|
16761
|
+
}));
|
|
16762
|
+
} catch (error) {
|
|
16763
|
+
return normalizeApiError(error, "Failed to delete user");
|
|
16764
|
+
}
|
|
16765
|
+
}
|
|
16766
|
+
async function listAllowedDomains(apiClient, params = {}, options) {
|
|
16767
|
+
try {
|
|
16768
|
+
return unwrapResponse(await apiClient({
|
|
16769
|
+
endpoint: "adminListAllowedDomains",
|
|
16770
|
+
params,
|
|
16771
|
+
options
|
|
16772
|
+
}));
|
|
16773
|
+
} catch (error) {
|
|
16774
|
+
return normalizeApiError(error, "Failed to load allowed domains");
|
|
16775
|
+
}
|
|
16776
|
+
}
|
|
16777
|
+
async function addAllowedDomain(apiClient, body, options) {
|
|
16778
|
+
try {
|
|
16779
|
+
return unwrapResponse(await apiClient({
|
|
16780
|
+
endpoint: "adminAddAllowedDomain",
|
|
16781
|
+
body,
|
|
16782
|
+
options
|
|
16783
|
+
}));
|
|
16784
|
+
} catch (error) {
|
|
16785
|
+
return normalizeApiError(error, "Failed to add domain");
|
|
16786
|
+
}
|
|
16787
|
+
}
|
|
16788
|
+
async function deleteAllowedDomain(apiClient, domainId, options) {
|
|
16789
|
+
try {
|
|
16790
|
+
return unwrapResponse(await apiClient({
|
|
16791
|
+
endpoint: "adminDeleteAllowedDomain",
|
|
16792
|
+
params: { domainId },
|
|
16793
|
+
options
|
|
16794
|
+
}));
|
|
16795
|
+
} catch (error) {
|
|
16796
|
+
return normalizeApiError(error, "Failed to remove domain");
|
|
16797
|
+
}
|
|
16798
|
+
}
|
|
16799
|
+
async function listGscPropertiesAdmin(apiClient, options) {
|
|
16800
|
+
try {
|
|
16801
|
+
return unwrapResponse(await apiClient({
|
|
16802
|
+
endpoint: "listGscPropertiesAdmin",
|
|
16803
|
+
options
|
|
16804
|
+
}));
|
|
16805
|
+
} catch (error) {
|
|
16806
|
+
return normalizeApiError(error, "Failed to load GSC properties");
|
|
16807
|
+
}
|
|
16808
|
+
}
|
|
16809
|
+
async function setGscPersistEnabled(apiClient, body, options) {
|
|
16810
|
+
try {
|
|
16811
|
+
return unwrapResponse(await apiClient({
|
|
16812
|
+
endpoint: "adminGscMetaPersist",
|
|
16813
|
+
body,
|
|
16814
|
+
options
|
|
16815
|
+
}));
|
|
16816
|
+
} catch (error) {
|
|
16817
|
+
return normalizeApiError(error, "Failed to update GSC persist toggle");
|
|
16818
|
+
}
|
|
16819
|
+
}
|
|
16820
|
+
async function startGscVerification(apiClient, body, options) {
|
|
16821
|
+
try {
|
|
16822
|
+
return unwrapResponse(await apiClient({
|
|
16823
|
+
endpoint: "adminGscVerifyStart",
|
|
16824
|
+
body,
|
|
16825
|
+
options
|
|
16826
|
+
}));
|
|
16827
|
+
} catch (error) {
|
|
16828
|
+
return normalizeApiError(error, "Failed to start GSC verification");
|
|
16829
|
+
}
|
|
16830
|
+
}
|
|
16831
|
+
async function confirmGscVerification(apiClient, body, options) {
|
|
16832
|
+
try {
|
|
16833
|
+
return unwrapResponse(await apiClient({
|
|
16834
|
+
endpoint: "adminGscVerifyConfirm",
|
|
16835
|
+
body,
|
|
16836
|
+
options
|
|
16837
|
+
}));
|
|
16838
|
+
} catch (error) {
|
|
16839
|
+
return normalizeApiError(error, "Failed to confirm GSC verification");
|
|
16840
|
+
}
|
|
16841
|
+
}
|
|
16842
|
+
async function runGscIngestionForSite(apiClient, body, options) {
|
|
16843
|
+
try {
|
|
16844
|
+
return unwrapResponse(await apiClient({
|
|
16845
|
+
endpoint: "adminSeoIngestRun",
|
|
16846
|
+
body,
|
|
16847
|
+
options
|
|
16848
|
+
}));
|
|
16849
|
+
} catch (error) {
|
|
16850
|
+
return normalizeApiError(error, "Failed to run GSC ingestion");
|
|
16851
|
+
}
|
|
16852
|
+
}
|
|
16853
|
+
async function getPriceOverride(apiClient, params, options) {
|
|
16854
|
+
try {
|
|
16855
|
+
return unwrapResponse(await apiClient({
|
|
16856
|
+
endpoint: "adminGetPriceOverride",
|
|
16857
|
+
params,
|
|
16858
|
+
options
|
|
16859
|
+
}));
|
|
16860
|
+
} catch (error) {
|
|
16861
|
+
return normalizeApiError(error, "Failed to get price override");
|
|
16862
|
+
}
|
|
16863
|
+
}
|
|
16864
|
+
async function upsertPriceOverride(apiClient, body, options) {
|
|
16865
|
+
try {
|
|
16866
|
+
return unwrapResponse(await apiClient({
|
|
16867
|
+
endpoint: "adminUpsertPriceOverride",
|
|
16868
|
+
body,
|
|
16869
|
+
options
|
|
16870
|
+
}));
|
|
16871
|
+
} catch (error) {
|
|
16872
|
+
return normalizeApiError(error, "Failed to set custom price");
|
|
16873
|
+
}
|
|
16874
|
+
}
|
|
16875
|
+
async function deletePriceOverride(apiClient, body, options) {
|
|
16876
|
+
try {
|
|
16877
|
+
return unwrapResponse(await apiClient({
|
|
16878
|
+
endpoint: "adminDeletePriceOverride",
|
|
16879
|
+
body,
|
|
16880
|
+
options
|
|
16881
|
+
}));
|
|
16882
|
+
} catch (error) {
|
|
16883
|
+
return normalizeApiError(error, "Failed to clear custom price");
|
|
16884
|
+
}
|
|
16885
|
+
}
|
|
16886
|
+
async function adminClearSitePublicCache(apiClient, siteId, options) {
|
|
16887
|
+
try {
|
|
16888
|
+
return unwrapResponse(await apiClient({
|
|
16889
|
+
endpoint: "adminClearSitePublicCache",
|
|
16890
|
+
params: { siteId },
|
|
16891
|
+
options
|
|
16892
|
+
}));
|
|
16893
|
+
} catch (error) {
|
|
16894
|
+
return normalizeApiError(error, "The public page cache could not be cleared.");
|
|
16895
|
+
}
|
|
16896
|
+
}
|
|
16897
|
+
|
|
16608
16898
|
//#endregion
|
|
16609
16899
|
//#region ../api/src/accessAdmin.ts
|
|
16610
16900
|
const STAFF_OPERATIONAL_CAPABILITIES = ["appointments", "event_ops"];
|
|
@@ -17270,8 +17560,8 @@ const SETTINGS_SURFACE_POLICIES = {
|
|
|
17270
17560
|
},
|
|
17271
17561
|
"settings.emails.sent": {
|
|
17272
17562
|
surfaceId: "settings.emails.sent",
|
|
17273
|
-
navVisibilityPolicy:
|
|
17274
|
-
pageAccessPolicy:
|
|
17563
|
+
navVisibilityPolicy: editorPolicy,
|
|
17564
|
+
pageAccessPolicy: editorPolicy,
|
|
17275
17565
|
actionIds: []
|
|
17276
17566
|
},
|
|
17277
17567
|
"settings.ai.siteProfile": {
|
|
@@ -24614,4 +24904,4 @@ function optionalTitle(data) {
|
|
|
24614
24904
|
}
|
|
24615
24905
|
|
|
24616
24906
|
//#endregion
|
|
24617
|
-
export { normalizeMediaValueToIdentifierOnly as $, createCommandContext as $t, formatDiffDetail as A, getEnvPrefix as An, navigationIdentity as At, buildFieldChanges as B, portablePageDesignSchema as Bn, preparePushConfigTarget as Bt, reportFromOutcomes as C, requireEnvironmentWriteAuthorization as Cn, fileExists$1 as Ct, normalizeRemoteHomepageReference as D, transportSuggestion as Dn, writeJsonFileAtomic as Dt, createEmptySyncResult as E, formatError as En, writeJsonFile$1 as Et, calculatePullDiff as F, createManagementClient as Fn, navigationCommandItemToManagementInput as Ft, syncLocalMediaForPull as G, APPOINTMENT_SERVICE_VISIBILITY_VALUES as Gt, formatFieldPath as H, API_ENDPOINTS as Hn, extractApiErrorMessage as Ht, buildJsonDiff as I, ManagementApiError as In, normalizeNavigationConfigItemForCommand as It, admitBinaryWriteDestination as J,
|
|
24907
|
+
export { normalizeMediaValueToIdentifierOnly as $, createCommandContext as $t, formatDiffDetail as A, getEnvPrefix as An, navigationIdentity as At, buildFieldChanges as B, portablePageDesignSchema as Bn, preparePushConfigTarget as Bt, reportFromOutcomes as C, requireEnvironmentWriteAuthorization as Cn, fileExists$1 as Ct, normalizeRemoteHomepageReference as D, transportSuggestion as Dn, writeJsonFileAtomic as Dt, createEmptySyncResult as E, formatError as En, writeJsonFile$1 as Et, calculatePullDiff as F, createManagementClient as Fn, navigationCommandItemToManagementInput as Ft, syncLocalMediaForPull as G, APPOINTMENT_SERVICE_VISIBILITY_VALUES as Gt, formatFieldPath as H, API_ENDPOINTS as Hn, extractApiErrorMessage as Ht, buildJsonDiff as I, ManagementApiError as In, normalizeNavigationConfigItemForCommand as It, admitBinaryWriteDestination as J, ApiRequestError as Jt, applyLocalMediaPush as K, createBearerAPIClient as Kt, hasPageOperations as L, sdkEventScheduleSchema as Ln, applyPushConfigPlan as Lt, hasPendingChanges as M, isLocalConfigured as Mn, convertPulledFooterToLocal as Mt, findChangedFieldsWithValues as N, isRemoteConfigured as Nn, convertPulledNavigationToLocal as Nt, calculateDiff as O, CliExit as On, isMediaValue as Ot, formatHumanDiff as P, loadSdkEnvironment as Pn, convertPulledPagesToLocal as Pt, normalizeMediaIdentifierInput as Q, createClientForEnv as Qt, pageMetadataForUpsert as R, sdkSettingsUpdateSchema as Rn, createPushConfigCommand as Rt, planCliCommandBatchForBindings as S, planEnvironmentWriteAuthorization as Sn, ensureDir$1 as St, executeResidualSettingsSyncPlan as T, ErrorCodes as Tn, readJsonFile as Tt, revalidateLocalMediaPushPlan as U, ApiEnvelopeError as Un, normalizeApiError as Ut, formatFieldChange as V, sdkConfiguredBookingVerticalConfigSchema as Vn, revalidatePushConfigPlan as Vt, syncLocalMediaForPush as W, unwrapResponse as Wn, isRecord$5 as Wt, writeBinaryFileAtomic as X, bindRequestTimeout as Xt, readStableBinaryFile as Y, mapEnvironmentExecutionOutcomesJson as Yt, sha256 as Z, confirmAction as Zt, commandExecutionToReport as _, withErrorHandling as _n, metadataFilePath as _t, executeEntryCommandPlanAsReport as a, getOutputContext as an, readEntries as at, executeCompiledCliCommandPlanAsReport as b, parseEnvironmentSelection as bn, writeMetadataFile as bt, titleFromEntryData as c, managementClientConfigFor as cn, readEventsMeta as ct, unsafeAsCliEntryIdentifier as d, parseJsonData as dn, readNavigationMeta as dt, createGetCommand as en, walkLocalContentMedia as et, unsafeAsCliFormSlug as f, parsePaginationOptions as fn, readPagesMeta as ft, commandCompileFailureToReport as g, withConfirmation as gn, ensureMetadataDir as gt, mutationCounterForEffect as h, withCommandContext as hn, writeMediaManifest as ht, entrySiteCommandTypes as i, formatDateShort as in, findLegacyEntryFiles as it, formatDiffSummary as j, getEnvironmentDebugInfo as jn, navigationIdentityMap as jt, calculateFooterDiff as k, createOutput as kn, duplicateNavigationIdentityMessage as kt, unsafeAsCliBlockIdentifier as l, mapEntryForOutput as ln, readFooterMeta as lt, commandReportToSyncResult as m, runWithInvocation as mn, readVenuesMeta as mt, entryCommandCompileErrorToReport as n, createOutputForCommand as nn, downloadMedia as nt, executeEntryCommandPlanAsSyncResult as o, getOutputOnlyContext as on, readAllMeta as ot, unsafeAsCliPageIdentifier as p, resolveCommandPath as pn, readSettingsMeta as pt, prepareLocalMediaForPush as q, deriveCmsApiUrlFromDashboardUrl as qt, entryCommandReportToSyncResult as r, currentInvocationEnvelope as rn, extractMediaIdentifiers as rt, syncResultForEntryCommandCompileError as s, handleCommandError as sn, readEventCategoriesMeta as st, compileEntryPushCommands as t, createListCommand as tn, buildStorageUrl as tt, unsafeAsCliContentTypeKey as u, parseJsonArray as un, readFormsMeta as ut, commandReportHasFailures as v, withOutputOnlyErrorHandling as vn, metadataTargetFromEnvironment as vt, mergeManySyncResults as w, withRiverbankEnv as wn, listFiles as wt, formatManagementError as x, planEnvironmentExecution as xn, writeMetadataRecordMap as xt, executeCliCommandPlan as y, executeEnvironmentPlan as yn, readMetadataFile as yt, calculateEntryDiffs as z, linkPayloadSchema as zn, loadPushConfigTarget as zt };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { _ as normalizeLinkValue, a as classifySdkEventSchedule, g as linkSchema, i as sdkEventUpsertOptionalFieldSchemas, n as sdkCourseBookingSettingsSchema, o as classifySdkEventBookingOffer } from "./sdk-event-upsert-
|
|
3
|
-
import { f as EVENT_PRESET_VALUES } from "./src-
|
|
2
|
+
import { _ as normalizeLinkValue, a as classifySdkEventSchedule, g as linkSchema, i as sdkEventUpsertOptionalFieldSchemas, n as sdkCourseBookingSettingsSchema, o as classifySdkEventBookingOffer } from "./sdk-event-upsert-CnvVuQJy.mjs";
|
|
3
|
+
import { f as EVENT_PRESET_VALUES } from "./src-DqoU7zKs.mjs";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
|
|
6
6
|
//#region ../blocks/src/lib/typeGuards.ts
|
|
@@ -4817,6 +4817,7 @@ const eventRunCommonInputSchema = z.object({
|
|
|
4817
4817
|
eventRef: z.string().min(1),
|
|
4818
4818
|
status: sdkEventUpsertOptionalFieldSchemas.status,
|
|
4819
4819
|
visibility: sdkEventUpsertOptionalFieldSchemas.visibility,
|
|
4820
|
+
waitlistMode: sdkEventUpsertOptionalFieldSchemas.waitlistMode,
|
|
4820
4821
|
occurrences: sdkEventUpsertOptionalFieldSchemas.occurrences.unwrap(),
|
|
4821
4822
|
schedule: eventScheduleInputSchema.optional(),
|
|
4822
4823
|
attendeeMigration: sdkEventUpsertOptionalFieldSchemas.attendeeMigration,
|
|
@@ -7,7 +7,7 @@ import { existsSync as existsSync$1 } from "fs";
|
|
|
7
7
|
import { fileURLToPath } from "url";
|
|
8
8
|
|
|
9
9
|
//#region package.json
|
|
10
|
-
var version = "0.
|
|
10
|
+
var version = "0.27.0";
|
|
11
11
|
var peerDependencies = { "@riverbankcms/sdk": ">=0.157.0 <1.0.0" };
|
|
12
12
|
var package_default = {
|
|
13
13
|
name: "riverbankcms",
|
|
@@ -83,7 +83,7 @@ var package_default = {
|
|
|
83
83
|
//#endregion
|
|
84
84
|
//#region src/version.ts
|
|
85
85
|
/** The package manifest is the source-run fallback; builds inject this value. */
|
|
86
|
-
const CLI_VERSION = typeof "0.
|
|
86
|
+
const CLI_VERSION = typeof "0.27.0" === "string" ? "0.27.0" : version;
|
|
87
87
|
/**
|
|
88
88
|
* The CLI's SDK peer range is bundled from the CLI manifest alongside its
|
|
89
89
|
* version. Runtime config loading uses this value as the single compatibility
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { $n as
|
|
2
|
+
import { $n as err, er as ok, xn as parseSiteId } from "./src-DqoU7zKs.mjs";
|
|
3
3
|
import { existsSync, readFileSync } from "node:fs";
|
|
4
4
|
import { dirname, isAbsolute, join, parse, relative, resolve, sep } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
package/dist/scaffold/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import "../src-
|
|
3
|
-
import { a as prepareScaffoldExecution, d as loadGeneratedPackageRanges, i as preflightScaffoldTargets, l as deriveGeneratedPackageRanges, o as writeScaffoldFiles, r as preflightScaffoldPlan, s as deriveScaffoldLocalManifest, t as deriveScaffoldPlan, u as findPackageManifestPath } from "../plan-
|
|
2
|
+
import "../src-DqoU7zKs.mjs";
|
|
3
|
+
import { a as prepareScaffoldExecution, d as loadGeneratedPackageRanges, i as preflightScaffoldTargets, l as deriveGeneratedPackageRanges, o as writeScaffoldFiles, r as preflightScaffoldPlan, s as deriveScaffoldLocalManifest, t as deriveScaffoldPlan, u as findPackageManifestPath } from "../plan-oltx4aO0.mjs";
|
|
4
4
|
|
|
5
5
|
export { deriveGeneratedPackageRanges, deriveScaffoldLocalManifest, deriveScaffoldPlan, findPackageManifestPath, loadGeneratedPackageRanges, preflightScaffoldPlan, preflightScaffoldTargets, prepareScaffoldExecution, writeScaffoldFiles };
|