riverbankcms 0.27.0 → 0.28.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.
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
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";
2
+ import { A as evaluateSiteCommandExposure, E as parseAndPlanCommandBatchForTypes, F as entryIdentifierForCommand, It as themeSchema, K as bookingQuestionAttachmentSchema, Mr as asPageFlowPresetId, Nr as asSiteStyleId, T as createDryRunReport, V as eventBookingOfferIntentSchema, X as createCommandRef, Xr as parseSurfaceTree, Z as createContentEntryRef, Zn as getDirectImageUrlForSiteScopedPath, _n as pageDesignIntentSchemaVersion, _r as normalizeAmbiguousStoragePathForSite, br as MAX_MANAGEMENT_MEDIA_UPLOAD_BYTES, cn as asHeaderLayoutId, ct as require_dist, dn as headerStyleIdValues, dr as slugifyMediaIdentifier, fn as buttonStyleSelectionSchema, gn as pageDesignBoundaryTreatmentSchema, gt as headerPreferencesSchema, hr as getMimeType, it as createSiteCommandSiteRef, j as getSiteCommandMetadata, k as evaluateSiteCommandBatchExposure, kr as asAppearancePresetId, ln as asHeaderStyleId, m as isInternalResolvedLinkValue, mr as getExtensionForMimeType, n as sdkCourseBookingSettingsSchema, on as asFooterLookId, r as sdkEventOccurrenceInputSchema, s as RESOLVED_INTERNAL_LINK_ENTITY_TYPES, sn as footerLookIdValues, sr as buildMediaIdentifierFromFilename, st as slugPart, un as headerLayoutIdValues, ur as resolveMediaIdentifier, vn as footerPreferencesSchema, w as stableStringify, x as resolvePageUpsertSeo, y as eventVisibilitySchema, yr as FILE_SIZE_LIMITS } from "./sdk-event-upsert-BrJvTQ-D.mjs";
3
+ import { C as createSecret, Cn as parsePageId, Et as resolveBookingTimeZoneId, L as parseFooterCompositionV1, Ln as unsafeAsEventOfferingId, On as unsafeAsAppointmentResourceId, Qn as unsafeAsStaffMemberId, Rn as unsafeAsEventSeriesId, St as parseBookingLocalDate, T as parseManagementKey, Tn as parseSiteId, Vn as unsafeAsOccurrenceId, Z as locationValueSchema, _ as publicReadFreshnessSeconds, c as parseVerticalId, d as DEFAULT_EVENT_TYPE_PRESETS, f as EVENT_PRESET_VALUES, g as getPublicReadCachePolicy, ir as ok, l as parseVerticalPresetId, o as areConfiguredBookingVerticalConfigsEqual, ot as formatDate, pn as assertNever, r as resolveEventCatalogue, rr as err, s as canonicalizeConfiguredBookingVerticalConfig, t as committedWriteProofSchema, u as resolveSiteVerticalBookingConfig, w as exposeSecret } from "./src-D9-RAM-l.mjs";
4
+ import { n as CliSdkPeerError, t as loadConfigFile } from "./load-config-9DBnYiBm.mjs";
5
5
  import { Command } from "commander";
6
6
  import { AsyncLocalStorage } from "node:async_hooks";
7
7
  import * as fs$1 from "fs/promises";
@@ -934,6 +934,13 @@ function pageCommitReasonFromTag(tag) {
934
934
  //#endregion
935
935
  //#region ../api/src/pageJournalEndpoints.ts
936
936
  const PAGE_JOURNAL_ENDPOINT_DEFINITIONS = {
937
+ getPagePublishReadinessFacts: {
938
+ path: "/sites/{siteId}/pages/readiness-facts",
939
+ method: "POST",
940
+ auth: "user",
941
+ responseKind: "json",
942
+ errors: ["validation:invalid_input", "server:internal_error"]
943
+ },
937
944
  replayThemeJournalChange: {
938
945
  path: "/sites/{siteId}/theme/journal",
939
946
  method: "POST",
@@ -3097,6 +3104,7 @@ const SDK_APPOINTMENT_SERVICE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3097
3104
  errors: [
3098
3105
  "validation:invalid_input",
3099
3106
  "resource:not_found",
3107
+ "resource:conflict",
3100
3108
  "server:internal_error"
3101
3109
  ]
3102
3110
  },
@@ -3115,6 +3123,7 @@ const SDK_APPOINTMENT_SERVICE_ENDPOINT_DEFINITIONS = defineEndpointDefinitions({
3115
3123
  errors: [
3116
3124
  "validation:invalid_input",
3117
3125
  "resource:not_found",
3126
+ "resource:conflict",
3118
3127
  "server:internal_error"
3119
3128
  ]
3120
3129
  }
@@ -5321,6 +5330,7 @@ const ENDPOINT_DEFINITIONS = {
5321
5330
  responseKind: "json"
5322
5331
  },
5323
5332
  createContentEntry: {
5333
+ editLease: "unleased-editor",
5324
5334
  path: "/sites/{siteId}/content/{type}",
5325
5335
  method: "POST",
5326
5336
  tags: ["site-{siteId}", "content-{siteId}-{type}"],
@@ -5688,6 +5698,7 @@ const ENDPOINT_DEFINITIONS = {
5688
5698
  errors: [
5689
5699
  "validation:invalid_input",
5690
5700
  "resource:not_found",
5701
+ "resource:conflict",
5691
5702
  "auth:forbidden",
5692
5703
  "server:internal_error"
5693
5704
  ]
@@ -7011,14 +7022,6 @@ const ENDPOINT_DEFINITIONS = {
7011
7022
  auth: "user",
7012
7023
  responseKind: "json"
7013
7024
  },
7014
- getPageDesignEditorState: {
7015
- path: "/sites/{siteId}/pages/{pageId}/design",
7016
- method: "GET",
7017
- tags: [TAG_TEMPLATES.siteRoutableContent, TAG_TEMPLATES.pageById],
7018
- auth: "user",
7019
- responseKind: "json",
7020
- errors: ["resource:not_found", "server:internal_error"]
7021
- },
7022
7025
  savePageDesignState: {
7023
7026
  editLease: "managed",
7024
7027
  path: "/sites/{siteId}/pages/{pageId}/design-state",
@@ -10462,6 +10465,7 @@ function normalizeSdkThemeWire(theme) {
10462
10465
 
10463
10466
  //#endregion
10464
10467
  //#region ../api/src/sdkPullResponseSchemas.ts
10468
+ var import_dist = require_dist();
10465
10469
  const sdkIdentifierSchema$1 = z.string().min(1);
10466
10470
  const sdkTimestampSchema$2 = z.string().min(1);
10467
10471
  const sdkJsonObjectSchema$1 = z.record(z.string(), z.unknown());
@@ -10577,29 +10581,16 @@ const sdkPullSettingsSchema = sdkSettingsUpdateSchema.extend({
10577
10581
  seoDefaults: sdkSeoDefaultsSchema.nullable(),
10578
10582
  verticalConfig: sdkConfiguredBookingVerticalConfigSchema.optional()
10579
10583
  });
10580
- /** A form's schema as the SDK pulls it; the push route extends it. */
10581
- const sdkPullFormSchema = z.object({
10584
+ /** Existing flat form wire shape; detailed questionnaires retain their canonical sections. */
10585
+ const sdkPullFlatFormSchema = z.object({
10586
+ schemaVersion: z.undefined().optional(),
10582
10587
  version: z.string().optional(),
10583
- fields: z.array(z.object({
10584
- id: sdkIdentifierSchema$1,
10585
- label: z.string(),
10586
- type: z.string(),
10587
- required: z.boolean().optional(),
10588
- placeholder: z.string().optional(),
10589
- helpText: z.string().optional(),
10590
- layout: z.object({ width: z.enum(["full", "half"]).optional() }).optional(),
10591
- options: z.array(z.object({
10592
- value: z.string(),
10593
- label: z.string()
10594
- })).optional(),
10595
- multiple: z.boolean().optional(),
10596
- minLength: z.number().optional(),
10597
- maxLength: z.number().optional(),
10598
- pattern: z.string().optional(),
10599
- min: z.number().optional(),
10600
- max: z.number().optional()
10601
- }))
10588
+ sections: z.never().optional(),
10589
+ fields: z.array(import_dist.formFieldTransportSchema)
10602
10590
  });
10591
+ const sdkPullFormSchema = z.discriminatedUnion("schemaVersion", [sdkPullFlatFormSchema, import_dist.bookingQuestionsDetailedSchemaSchema]);
10592
+ /** The same pulled definition, with nonempty fields required on a flat write. */
10593
+ const sdkFormDefinitionInputSchema = z.discriminatedUnion("schemaVersion", [sdkPullFlatFormSchema.extend({ fields: sdkPullFlatFormSchema.shape.fields.min(1, "Form must have at least one field") }), import_dist.bookingQuestionsDetailedSchemaSchema]);
10603
10594
  const sdkPullFormSchemaWithId = z.object({
10604
10595
  id: sdkIdentifierSchema$1,
10605
10596
  slug: sdkIdentifierSchema$1,
@@ -10683,6 +10674,7 @@ const sdkPullEventRunCommonSchema = z.object({
10683
10674
  bookingOffer: eventBookingOfferIntentSchema,
10684
10675
  venueRef: z.string().nullable(),
10685
10676
  formRef: z.string().nullable(),
10677
+ bookingQuestions: bookingQuestionAttachmentSchema.nullable().optional(),
10686
10678
  settings: sdkJsonObjectSchema$1,
10687
10679
  presentation: z.unknown().optional(),
10688
10680
  tags: z.array(z.string()),
@@ -10785,8 +10777,6 @@ function authoredThemeJournalValue(input) {
10785
10777
  body: {
10786
10778
  ...input.selections,
10787
10779
  theme,
10788
- themeId: input.themeId,
10789
- selectionId: input.selectionId,
10790
10780
  overrides: input.overrides
10791
10781
  },
10792
10782
  preferences: input.preferences
@@ -10810,7 +10800,10 @@ const themeSaveBodySchema = z.object({
10810
10800
  }).strict();
10811
10801
  const themeJournalValueShape = {
10812
10802
  snapshot: themeSchema,
10813
- body: themeSaveBodySchema,
10803
+ body: themeSaveBodySchema.omit({
10804
+ themeId: true,
10805
+ selectionId: true
10806
+ }),
10814
10807
  preferences: z.object({
10815
10808
  header: headerPreferencesSchema.nullable(),
10816
10809
  footer: footerPreferencesSchema
@@ -15388,6 +15381,7 @@ function normalizeApiError(error, fallback) {
15388
15381
  body: error.body,
15389
15382
  cause: error,
15390
15383
  errorCode: error.errorCode,
15384
+ tag: error.tag,
15391
15385
  retryAfterMs: error.retryAfterMs
15392
15386
  });
15393
15387
  }
@@ -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-CnvVuQJy.mjs";
3
- import { f as EVENT_PRESET_VALUES } from "./src-DqoU7zKs.mjs";
2
+ import { _ as normalizeLinkValue, a as classifySdkEventSchedule, g as linkSchema, i as sdkEventUpsertOptionalFieldSchemas, n as sdkCourseBookingSettingsSchema, o as classifySdkEventBookingOffer } from "./sdk-event-upsert-BrJvTQ-D.mjs";
3
+ import { f as EVENT_PRESET_VALUES } from "./src-D9-RAM-l.mjs";
4
4
  import { z } from "zod";
5
5
 
6
6
  //#region ../blocks/src/lib/typeGuards.ts
@@ -280,14 +280,15 @@ const ROUTE_METADATA_MANIFEST = {
280
280
  id: "draftTitle",
281
281
  type: "text",
282
282
  label: "Title",
283
+ description: "The page's own name. It doesn't change any heading on the page.",
283
284
  required: true,
284
285
  multiline: false
285
286
  },
286
287
  {
287
288
  id: "draftSlug",
288
289
  type: "slug",
289
- label: "Slug",
290
- description: "Used in the URL.",
290
+ label: "Page address",
291
+ description: "The part of the web address after your site's name.",
291
292
  required: true,
292
293
  sourceFieldId: "draftTitle",
293
294
  statusFieldId: "draftStatus",
@@ -297,17 +298,17 @@ const ROUTE_METADATA_MANIFEST = {
297
298
  {
298
299
  id: "draftMetaTitle",
299
300
  type: "text",
300
- label: "Meta title",
301
- description: "Used for SEO and social previews.",
302
- multiline: true,
301
+ label: "Search title",
302
+ description: "Shown as the link in search results.",
303
+ multiline: false,
303
304
  required: false,
304
305
  ui: { showCharCount: { max: 60 } }
305
306
  },
306
307
  {
307
308
  id: "draftMetaDescription",
308
309
  type: "text",
309
- label: "Meta description",
310
- description: "Optional description for SEO and previews.",
310
+ label: "Search description",
311
+ description: "The short summary under the link in search results.",
311
312
  required: false,
312
313
  multiline: true,
313
314
  ui: { showCharCount: { max: 160 } }
@@ -315,8 +316,9 @@ const ROUTE_METADATA_MANIFEST = {
315
316
  {
316
317
  id: "ogImageId",
317
318
  type: "text",
318
- label: "Social image asset ID",
319
- description: "Optional media asset ID used for social sharing.",
319
+ label: "Social image",
320
+ description: "Shown when someone shares a link to this page.",
321
+ ui: { widget: "socialImage" },
320
322
  required: false,
321
323
  multiline: false
322
324
  }
@@ -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.27.0";
10
+ var version = "0.28.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.27.0" === "string" ? "0.27.0" : version;
86
+ const CLI_VERSION = typeof "0.28.0" === "string" ? "0.28.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
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env node
2
+ import { t as loadConfigFile } from "./load-config-9DBnYiBm.mjs";
3
+
4
+ export { loadConfigFile };
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { $n as err, er as ok, xn as parseSiteId } from "./src-DqoU7zKs.mjs";
2
+ import { Tn as parseSiteId, ir as ok, rr as err } from "./src-D9-RAM-l.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";
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
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";
2
+ import "../src-D9-RAM-l.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-DU4T2YGq.mjs";
4
4
 
5
5
  export { deriveGeneratedPackageRanges, deriveScaffoldLocalManifest, deriveScaffoldPlan, findPackageManifestPath, loadGeneratedPackageRanges, preflightScaffoldPlan, preflightScaffoldTargets, prepareScaffoldExecution, writeScaffoldFiles };