@riverbankcms/sdk 0.64.0 → 0.67.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.
Files changed (78) hide show
  1. package/dist/_dts/api/src/aiPlayground.d.ts +18 -11
  2. package/dist/_dts/api/src/apiEndpointTypes.d.ts +12 -0
  3. package/dist/_dts/api/src/bookingOperations.d.ts +1 -1
  4. package/dist/_dts/api/src/endpoints.d.ts +25 -0
  5. package/dist/_dts/api/src/sdkConfig/contracts.d.ts +0 -40
  6. package/dist/_dts/api/src/sdkContracts.d.ts +1 -1
  7. package/dist/_dts/api/src/siteMembers.d.ts +1 -1
  8. package/dist/_dts/api/src/siteOperations.d.ts +1 -1
  9. package/dist/_dts/billing/src/plans/types.d.ts +1 -1
  10. package/dist/_dts/blocks/src/bindings/index.d.ts +1 -1
  11. package/dist/_dts/blocks/src/system/node/validation-constants.d.ts +1 -1
  12. package/dist/_dts/blocks/src/system/transforms/registry/formatting.d.ts +1 -0
  13. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +2 -1
  14. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +81 -0
  15. package/dist/_dts/preview-next/src/client/blocks/pageDesignRuntimePreview.d.ts +7 -3
  16. package/dist/_dts/preview-next/src/client/blocks/previewProjection/runtimeContentDecoration.d.ts +2 -2
  17. package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +33 -0
  18. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +2 -1
  19. package/dist/_dts/sdk/src/cli/env.d.ts +2 -1
  20. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +2 -1
  21. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +13 -0
  22. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +114 -0
  23. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +26 -48
  24. package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +50 -0
  25. package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +57 -0
  26. package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +5 -0
  27. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +57 -0
  28. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +83 -0
  29. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +67 -14
  30. package/dist/_dts/sdk/src/cli/sync/executor.d.ts +10 -28
  31. package/dist/_dts/sdk/src/cli/sync/index.d.ts +1 -1
  32. package/dist/_dts/sdk/src/config/dashboard-validation.d.ts +0 -48
  33. package/dist/_dts/sdk/src/config/types.d.ts +1 -1
  34. package/dist/_dts/sdk/src/version.d.ts +1 -1
  35. package/dist/_dts/site-commands/src/adapter.d.ts +2 -2
  36. package/dist/_dts/site-commands/src/commands.d.ts +410 -13
  37. package/dist/_dts/site-commands/src/domain.d.ts +3 -3
  38. package/dist/_dts/site-commands/src/exposure.d.ts +41 -0
  39. package/dist/_dts/site-commands/src/index.d.ts +1 -0
  40. package/dist/_dts/site-commands/src/metadata.d.ts +93 -2
  41. package/dist/_dts/site-commands/src/planner.d.ts +13 -6
  42. package/dist/_dts/site-commands/src/refs.d.ts +13 -1
  43. package/dist/_dts/theme-core/src/palette/utils/index.d.ts +1 -0
  44. package/dist/_dts/theme-core/src/palette/utils/onColor.d.ts +2 -0
  45. package/dist/_dts/theme-core/src/site-styles/accessibleSurfaces.d.ts +83 -0
  46. package/dist/_dts/theme-core/src/site-styles/contentTemplateRuntimeCompiler.d.ts +2 -1
  47. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +89 -12
  48. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +8 -2
  49. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  50. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +3 -2
  51. package/dist/_dts/theme-core/src/site-styles/runtimeCompiler.d.ts +9 -6
  52. package/dist/_dts/ui/src/callout.d.ts +1 -1
  53. package/dist/cli/index.mjs +4290 -2513
  54. package/dist/client/client.mjs +598 -372
  55. package/dist/client/hooks.mjs +311 -123
  56. package/dist/client/rendering/client.mjs +209 -68
  57. package/dist/client/rendering/islands.mjs +281 -150
  58. package/dist/client/rendering.mjs +416 -190
  59. package/dist/preview-next/before-render.mjs +61 -13
  60. package/dist/preview-next/client/runtime.mjs +930 -376
  61. package/dist/preview-next/middleware.mjs +61 -13
  62. package/dist/server/components.mjs +526 -325
  63. package/dist/server/config-validation.mjs +313 -125
  64. package/dist/server/config.mjs +313 -125
  65. package/dist/server/data.mjs +311 -123
  66. package/dist/server/index.mjs +78 -16
  67. package/dist/server/next.mjs +527 -326
  68. package/dist/server/page-converter.mjs +159 -41
  69. package/dist/server/prebuild.mjs +1 -1
  70. package/dist/server/rendering/server.mjs +526 -325
  71. package/dist/server/rendering.mjs +526 -325
  72. package/dist/server/routing.mjs +392 -131
  73. package/dist/server/server.mjs +312 -124
  74. package/dist/server/theme-bridge.mjs +155 -48
  75. package/package.json +1 -1
  76. package/dist/_dts/path-utils/src/index.d.ts +0 -8
  77. package/dist/_dts/path-utils/src/redirectPaths.d.ts +0 -26
  78. package/dist/_dts/path-utils/src/safeAppPath.d.ts +0 -26
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { type BlockRef, type BlocksRef, type CommandRef, type ContentEntryRef, type CourseRef, type PassProductRef, type MembershipProductRef, type BookingCustomerRef, type CustomerPassRef, type CustomerMembershipRef, type AppointmentBookingRef, type CourseEnrollmentRef, type EventRegistrationRef, type PassRedemptionRef, type EventSeriesRef, type MediaRef, type NavigationRef, type PageRef, type SiteStyleRef, type StaffRef, type TicketTypeRef, type VenueRef, type AppointmentServiceRef, type AppointmentResourceRef, type AppointmentAvailabilityRef, type SiteCommandSiteRef } from './refs';
2
+ import { type BlockRef, type BlocksRef, type CommandRef, type ContentEntryRef, type CourseRef, type PassProductRef, type MembershipProductRef, type BookingCustomerRef, type CustomerPassRef, type CustomerMembershipRef, type AppointmentBookingRef, type CourseEnrollmentRef, type EventRegistrationRef, type PassRedemptionRef, type OrderRef, type EventSeriesRef, type FormRef, type FooterRef, type MediaRef, type NavigationRef, type PageRef, type SiteStyleRef, type StaffRef, type TicketTypeRef, type VenueRef, type AppointmentServiceRef, type AppointmentResourceRef, type AppointmentAvailabilityRef, type SiteCommandSiteRef } from './refs';
3
3
  export declare const navigationLocations: readonly ["main", "header", "footer"];
4
4
  export type NavigationLocation = (typeof navigationLocations)[number];
5
5
  export declare const navigationMenuRoles: readonly ["primary", "footer"];
@@ -57,8 +57,12 @@ export declare const upsertPageCommandSchema: z.ZodObject<{
57
57
  type: z.ZodLiteral<"upsertPage">;
58
58
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>;
59
59
  input: z.ZodObject<{
60
+ identifier: z.ZodOptional<z.ZodString>;
60
61
  slug: z.ZodString;
61
62
  title: z.ZodString;
63
+ path: z.ZodOptional<z.ZodString>;
64
+ seoTitle: z.ZodOptional<z.ZodString>;
65
+ seoDescription: z.ZodOptional<z.ZodString>;
62
66
  status: z.ZodOptional<z.ZodEnum<{
63
67
  draft: "draft";
64
68
  published: "published";
@@ -80,41 +84,160 @@ export declare const upsertBlockTreeCommandSchema: z.ZodObject<{
80
84
  }, z.core.$strict>>>;
81
85
  }, z.core.$strict>;
82
86
  }, z.core.$strict>;
87
+ export declare const upsertPageBlockCommandSchema: z.ZodObject<{
88
+ type: z.ZodLiteral<"upsertPageBlock">;
89
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<BlockRef, string>>;
90
+ input: z.ZodObject<{
91
+ pageIdentifier: z.ZodString;
92
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
93
+ identifier: z.ZodOptional<z.ZodString>;
94
+ type: z.ZodString;
95
+ purpose: z.ZodOptional<z.ZodString>;
96
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
97
+ children: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodUnknown>>>;
98
+ }, z.core.$strict>;
99
+ }, z.core.$strict>;
100
+ export declare const deletePageBlockCommandSchema: z.ZodObject<{
101
+ type: z.ZodLiteral<"deletePageBlock">;
102
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<CommandRef, string>>;
103
+ input: z.ZodObject<{
104
+ pageIdentifier: z.ZodString;
105
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
106
+ blockRef: z.ZodPipe<z.ZodString, z.ZodTransform<BlockRef, string>>;
107
+ identifier: z.ZodOptional<z.ZodString>;
108
+ }, z.core.$strict>;
109
+ }, z.core.$strict>;
110
+ export declare const reorderPageBlocksCommandSchema: z.ZodObject<{
111
+ type: z.ZodLiteral<"reorderPageBlocks">;
112
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<BlocksRef, string>>;
113
+ input: z.ZodObject<{
114
+ pageIdentifier: z.ZodString;
115
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
116
+ blocks: z.ZodReadonly<z.ZodArray<z.ZodObject<{
117
+ blockRef: z.ZodPipe<z.ZodString, z.ZodTransform<BlockRef, string>>;
118
+ identifier: z.ZodOptional<z.ZodString>;
119
+ }, z.core.$strict>>>;
120
+ }, z.core.$strict>;
121
+ }, z.core.$strict>;
83
122
  type NavigationItem = Readonly<{
84
123
  label: string;
124
+ isCta?: boolean;
85
125
  pageRef?: PageRef;
86
126
  contentEntryRef?: ContentEntryRef;
127
+ link?: NavigationLinkCommandInput;
87
128
  url?: string;
88
129
  children?: readonly NavigationItem[];
89
130
  }>;
131
+ declare const navigationLinkCommandInputSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
132
+ kind: z.ZodLiteral<"page">;
133
+ identifier: z.ZodString;
134
+ }, z.core.$strict>, z.ZodObject<{
135
+ kind: z.ZodLiteral<"entry">;
136
+ contentType: z.ZodString;
137
+ identifier: z.ZodString;
138
+ }, z.core.$strict>, z.ZodObject<{
139
+ kind: z.ZodLiteral<"external">;
140
+ href: z.ZodString;
141
+ }, z.core.$strict>, z.ZodObject<{
142
+ kind: z.ZodLiteral<"url">;
143
+ href: z.ZodString;
144
+ }, z.core.$strict>, z.ZodObject<{
145
+ kind: z.ZodLiteral<"portal">;
146
+ path: z.ZodOptional<z.ZodString>;
147
+ labels: z.ZodOptional<z.ZodObject<{
148
+ loggedOut: z.ZodOptional<z.ZodString>;
149
+ loggedIn: z.ZodOptional<z.ZodString>;
150
+ }, z.core.$strict>>;
151
+ }, z.core.$strict>, z.ZodObject<{
152
+ kind: z.ZodLiteral<"cart">;
153
+ badge: z.ZodEnum<{
154
+ "show-count": "show-count";
155
+ hidden: "hidden";
156
+ }>;
157
+ label: z.ZodDiscriminatedUnion<[z.ZodObject<{
158
+ kind: z.ZodLiteral<"icon-only">;
159
+ }, z.core.$strict>, z.ZodObject<{
160
+ kind: z.ZodLiteral<"icon-with-label">;
161
+ label: z.ZodString;
162
+ }, z.core.$strict>], "kind">;
163
+ }, z.core.$strict>], "kind">;
164
+ type NavigationLinkCommandInput = z.infer<typeof navigationLinkCommandInputSchema>;
90
165
  export declare const upsertNavigationMenuCommandSchema: z.ZodObject<{
91
166
  type: z.ZodLiteral<"upsertNavigationMenu">;
92
167
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<NavigationRef, string>>;
93
168
  input: z.ZodObject<{
94
- location: z.ZodEnum<{
169
+ name: z.ZodOptional<z.ZodString>;
170
+ location: z.ZodOptional<z.ZodEnum<{
95
171
  header: "header";
96
172
  footer: "footer";
97
173
  main: "main";
98
- }>;
174
+ }>>;
99
175
  role: z.ZodOptional<z.ZodEnum<{
100
176
  footer: "footer";
101
177
  primary: "primary";
102
178
  }>>;
103
179
  items: z.ZodReadonly<z.ZodArray<z.ZodType<Readonly<{
104
180
  label: string;
181
+ isCta?: boolean;
105
182
  pageRef?: PageRef;
106
183
  contentEntryRef?: ContentEntryRef;
184
+ link?: NavigationLinkCommandInput;
107
185
  url?: string;
108
186
  children?: readonly NavigationItem[];
109
187
  }>, unknown, z.core.$ZodTypeInternals<Readonly<{
110
188
  label: string;
189
+ isCta?: boolean;
111
190
  pageRef?: PageRef;
112
191
  contentEntryRef?: ContentEntryRef;
192
+ link?: NavigationLinkCommandInput;
113
193
  url?: string;
114
194
  children?: readonly NavigationItem[];
115
195
  }>, unknown>>>>;
116
196
  }, z.core.$strict>;
117
197
  }, z.core.$strict>;
198
+ export declare const upsertFormCommandSchema: z.ZodObject<{
199
+ type: z.ZodLiteral<"upsertForm">;
200
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<FormRef, string>>;
201
+ input: z.ZodObject<{
202
+ slug: z.ZodString;
203
+ name: z.ZodString;
204
+ schema: z.ZodObject<{
205
+ version: z.ZodOptional<z.ZodString>;
206
+ fields: z.ZodReadonly<z.ZodArray<z.ZodObject<{
207
+ id: z.ZodString;
208
+ label: z.ZodString;
209
+ type: z.ZodString;
210
+ required: z.ZodOptional<z.ZodBoolean>;
211
+ placeholder: z.ZodOptional<z.ZodString>;
212
+ helpText: z.ZodOptional<z.ZodString>;
213
+ layout: z.ZodOptional<z.ZodObject<{
214
+ width: z.ZodOptional<z.ZodEnum<{
215
+ full: "full";
216
+ half: "half";
217
+ }>>;
218
+ }, z.core.$strict>>;
219
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
220
+ value: z.ZodString;
221
+ label: z.ZodString;
222
+ }, z.core.$strict>>>;
223
+ multiple: z.ZodOptional<z.ZodBoolean>;
224
+ minLength: z.ZodOptional<z.ZodNumber>;
225
+ maxLength: z.ZodOptional<z.ZodNumber>;
226
+ pattern: z.ZodOptional<z.ZodString>;
227
+ min: z.ZodOptional<z.ZodNumber>;
228
+ max: z.ZodOptional<z.ZodNumber>;
229
+ }, z.core.$strict>>>;
230
+ }, z.core.$strict>;
231
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
232
+ }, z.core.$strict>;
233
+ }, z.core.$strict>;
234
+ export declare const upsertFooterContentCommandSchema: z.ZodObject<{
235
+ type: z.ZodLiteral<"upsertFooterContent">;
236
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<FooterRef, string>>;
237
+ input: z.ZodObject<{
238
+ bottomText: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
239
+ }, z.core.$strict>;
240
+ }, z.core.$strict>;
118
241
  export declare const upsertContentEntryCommandSchema: z.ZodObject<{
119
242
  type: z.ZodLiteral<"upsertContentEntry">;
120
243
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<ContentEntryRef, string>>;
@@ -131,9 +254,24 @@ export declare const upsertContentEntryCommandSchema: z.ZodObject<{
131
254
  export declare const publishPageCommandSchema: z.ZodObject<{
132
255
  type: z.ZodLiteral<"publishPage">;
133
256
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<CommandRef, string>>;
134
- input: z.ZodObject<{
257
+ input: z.ZodUnion<readonly [z.ZodObject<{
258
+ identifier: z.ZodString;
259
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
260
+ }, z.core.$strict>, z.ZodObject<{
135
261
  pageRef: z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>;
136
- }, z.core.$strict>;
262
+ identifier: z.ZodOptional<z.ZodString>;
263
+ }, z.core.$strict>]>;
264
+ }, z.core.$strict>;
265
+ export declare const unpublishPageCommandSchema: z.ZodObject<{
266
+ type: z.ZodLiteral<"unpublishPage">;
267
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<CommandRef, string>>;
268
+ input: z.ZodUnion<readonly [z.ZodObject<{
269
+ identifier: z.ZodString;
270
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
271
+ }, z.core.$strict>, z.ZodObject<{
272
+ pageRef: z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>;
273
+ identifier: z.ZodOptional<z.ZodString>;
274
+ }, z.core.$strict>]>;
137
275
  }, z.core.$strict>;
138
276
  export declare const publishContentEntryCommandSchema: z.ZodObject<{
139
277
  type: z.ZodLiteral<"publishContentEntry">;
@@ -589,6 +727,27 @@ export declare const seedPassRedemptionCommandSchema: z.ZodObject<{
589
727
  }, z.core.$strict>], "kind">;
590
728
  }, z.core.$strict>;
591
729
  }, z.core.$strict>;
730
+ /** Seeds one portal-visible historical order for existing seeded booking activity. */
731
+ export declare const seedPortalOrderCommandSchema: z.ZodObject<{
732
+ type: z.ZodLiteral<"seedPortalOrder">;
733
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<OrderRef, string>>;
734
+ input: z.ZodObject<{
735
+ customerRef: z.ZodPipe<z.ZodString, z.ZodTransform<BookingCustomerRef, string>>;
736
+ subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
737
+ kind: z.ZodLiteral<"event_registration">;
738
+ eventRegistrationRef: z.ZodPipe<z.ZodString, z.ZodTransform<EventRegistrationRef, string>>;
739
+ }, z.core.$strict>, z.ZodObject<{
740
+ kind: z.ZodLiteral<"course_enrollment">;
741
+ courseEnrollmentRef: z.ZodPipe<z.ZodString, z.ZodTransform<CourseEnrollmentRef, string>>;
742
+ }, z.core.$strict>], "kind">;
743
+ paymentMethod: z.ZodEnum<{
744
+ free: "free";
745
+ membership_access: "membership_access";
746
+ }>;
747
+ subtotalCents: z.ZodNumber;
748
+ currency: z.ZodString;
749
+ }, z.core.$strict>;
750
+ }, z.core.$strict>;
592
751
  /** Describes an appointment service recipe command without mutating resource assignment. */
593
752
  export declare const upsertAppointmentServiceCommandSchema: z.ZodObject<{
594
753
  type: z.ZodLiteral<"upsertAppointmentService">;
@@ -747,8 +906,12 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
747
906
  type: z.ZodLiteral<"upsertPage">;
748
907
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>;
749
908
  input: z.ZodObject<{
909
+ identifier: z.ZodOptional<z.ZodString>;
750
910
  slug: z.ZodString;
751
911
  title: z.ZodString;
912
+ path: z.ZodOptional<z.ZodString>;
913
+ seoTitle: z.ZodOptional<z.ZodString>;
914
+ seoDescription: z.ZodOptional<z.ZodString>;
752
915
  status: z.ZodOptional<z.ZodEnum<{
753
916
  draft: "draft";
754
917
  published: "published";
@@ -768,33 +931,111 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
768
931
  children: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodUnknown>>>;
769
932
  }, z.core.$strict>>>;
770
933
  }, z.core.$strict>;
934
+ }, z.core.$strict>, z.ZodObject<{
935
+ type: z.ZodLiteral<"upsertPageBlock">;
936
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<BlockRef, string>>;
937
+ input: z.ZodObject<{
938
+ pageIdentifier: z.ZodString;
939
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
940
+ identifier: z.ZodOptional<z.ZodString>;
941
+ type: z.ZodString;
942
+ purpose: z.ZodOptional<z.ZodString>;
943
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
944
+ children: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodUnknown>>>;
945
+ }, z.core.$strict>;
946
+ }, z.core.$strict>, z.ZodObject<{
947
+ type: z.ZodLiteral<"deletePageBlock">;
948
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<CommandRef, string>>;
949
+ input: z.ZodObject<{
950
+ pageIdentifier: z.ZodString;
951
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
952
+ blockRef: z.ZodPipe<z.ZodString, z.ZodTransform<BlockRef, string>>;
953
+ identifier: z.ZodOptional<z.ZodString>;
954
+ }, z.core.$strict>;
955
+ }, z.core.$strict>, z.ZodObject<{
956
+ type: z.ZodLiteral<"reorderPageBlocks">;
957
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<BlocksRef, string>>;
958
+ input: z.ZodObject<{
959
+ pageIdentifier: z.ZodString;
960
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
961
+ blocks: z.ZodReadonly<z.ZodArray<z.ZodObject<{
962
+ blockRef: z.ZodPipe<z.ZodString, z.ZodTransform<BlockRef, string>>;
963
+ identifier: z.ZodOptional<z.ZodString>;
964
+ }, z.core.$strict>>>;
965
+ }, z.core.$strict>;
771
966
  }, z.core.$strict>, z.ZodObject<{
772
967
  type: z.ZodLiteral<"upsertNavigationMenu">;
773
968
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<NavigationRef, string>>;
774
969
  input: z.ZodObject<{
775
- location: z.ZodEnum<{
970
+ name: z.ZodOptional<z.ZodString>;
971
+ location: z.ZodOptional<z.ZodEnum<{
776
972
  header: "header";
777
973
  footer: "footer";
778
974
  main: "main";
779
- }>;
975
+ }>>;
780
976
  role: z.ZodOptional<z.ZodEnum<{
781
977
  footer: "footer";
782
978
  primary: "primary";
783
979
  }>>;
784
980
  items: z.ZodReadonly<z.ZodArray<z.ZodType<Readonly<{
785
981
  label: string;
982
+ isCta?: boolean;
786
983
  pageRef?: PageRef;
787
984
  contentEntryRef?: ContentEntryRef;
985
+ link?: NavigationLinkCommandInput;
788
986
  url?: string;
789
987
  children?: readonly NavigationItem[];
790
988
  }>, unknown, z.core.$ZodTypeInternals<Readonly<{
791
989
  label: string;
990
+ isCta?: boolean;
792
991
  pageRef?: PageRef;
793
992
  contentEntryRef?: ContentEntryRef;
993
+ link?: NavigationLinkCommandInput;
794
994
  url?: string;
795
995
  children?: readonly NavigationItem[];
796
996
  }>, unknown>>>>;
797
997
  }, z.core.$strict>;
998
+ }, z.core.$strict>, z.ZodObject<{
999
+ type: z.ZodLiteral<"upsertForm">;
1000
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<FormRef, string>>;
1001
+ input: z.ZodObject<{
1002
+ slug: z.ZodString;
1003
+ name: z.ZodString;
1004
+ schema: z.ZodObject<{
1005
+ version: z.ZodOptional<z.ZodString>;
1006
+ fields: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1007
+ id: z.ZodString;
1008
+ label: z.ZodString;
1009
+ type: z.ZodString;
1010
+ required: z.ZodOptional<z.ZodBoolean>;
1011
+ placeholder: z.ZodOptional<z.ZodString>;
1012
+ helpText: z.ZodOptional<z.ZodString>;
1013
+ layout: z.ZodOptional<z.ZodObject<{
1014
+ width: z.ZodOptional<z.ZodEnum<{
1015
+ full: "full";
1016
+ half: "half";
1017
+ }>>;
1018
+ }, z.core.$strict>>;
1019
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
1020
+ value: z.ZodString;
1021
+ label: z.ZodString;
1022
+ }, z.core.$strict>>>;
1023
+ multiple: z.ZodOptional<z.ZodBoolean>;
1024
+ minLength: z.ZodOptional<z.ZodNumber>;
1025
+ maxLength: z.ZodOptional<z.ZodNumber>;
1026
+ pattern: z.ZodOptional<z.ZodString>;
1027
+ min: z.ZodOptional<z.ZodNumber>;
1028
+ max: z.ZodOptional<z.ZodNumber>;
1029
+ }, z.core.$strict>>>;
1030
+ }, z.core.$strict>;
1031
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1032
+ }, z.core.$strict>;
1033
+ }, z.core.$strict>, z.ZodObject<{
1034
+ type: z.ZodLiteral<"upsertFooterContent">;
1035
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<FooterRef, string>>;
1036
+ input: z.ZodObject<{
1037
+ bottomText: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1038
+ }, z.core.$strict>;
798
1039
  }, z.core.$strict>, z.ZodObject<{
799
1040
  type: z.ZodLiteral<"upsertContentEntry">;
800
1041
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<ContentEntryRef, string>>;
@@ -810,9 +1051,23 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
810
1051
  }, z.core.$strict>, z.ZodObject<{
811
1052
  type: z.ZodLiteral<"publishPage">;
812
1053
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<CommandRef, string>>;
813
- input: z.ZodObject<{
1054
+ input: z.ZodUnion<readonly [z.ZodObject<{
1055
+ identifier: z.ZodString;
1056
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
1057
+ }, z.core.$strict>, z.ZodObject<{
814
1058
  pageRef: z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>;
815
- }, z.core.$strict>;
1059
+ identifier: z.ZodOptional<z.ZodString>;
1060
+ }, z.core.$strict>]>;
1061
+ }, z.core.$strict>, z.ZodObject<{
1062
+ type: z.ZodLiteral<"unpublishPage">;
1063
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<CommandRef, string>>;
1064
+ input: z.ZodUnion<readonly [z.ZodObject<{
1065
+ identifier: z.ZodString;
1066
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
1067
+ }, z.core.$strict>, z.ZodObject<{
1068
+ pageRef: z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>;
1069
+ identifier: z.ZodOptional<z.ZodString>;
1070
+ }, z.core.$strict>]>;
816
1071
  }, z.core.$strict>, z.ZodObject<{
817
1072
  type: z.ZodLiteral<"publishContentEntry">;
818
1073
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<CommandRef, string>>;
@@ -1213,6 +1468,25 @@ export declare const siteCommandSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
1213
1468
  eventRegistrationRef: z.ZodPipe<z.ZodString, z.ZodTransform<EventRegistrationRef, string>>;
1214
1469
  }, z.core.$strict>], "kind">;
1215
1470
  }, z.core.$strict>;
1471
+ }, z.core.$strict>, z.ZodObject<{
1472
+ type: z.ZodLiteral<"seedPortalOrder">;
1473
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<OrderRef, string>>;
1474
+ input: z.ZodObject<{
1475
+ customerRef: z.ZodPipe<z.ZodString, z.ZodTransform<BookingCustomerRef, string>>;
1476
+ subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
1477
+ kind: z.ZodLiteral<"event_registration">;
1478
+ eventRegistrationRef: z.ZodPipe<z.ZodString, z.ZodTransform<EventRegistrationRef, string>>;
1479
+ }, z.core.$strict>, z.ZodObject<{
1480
+ kind: z.ZodLiteral<"course_enrollment">;
1481
+ courseEnrollmentRef: z.ZodPipe<z.ZodString, z.ZodTransform<CourseEnrollmentRef, string>>;
1482
+ }, z.core.$strict>], "kind">;
1483
+ paymentMethod: z.ZodEnum<{
1484
+ free: "free";
1485
+ membership_access: "membership_access";
1486
+ }>;
1487
+ subtotalCents: z.ZodNumber;
1488
+ currency: z.ZodString;
1489
+ }, z.core.$strict>;
1216
1490
  }, z.core.$strict>, z.ZodObject<{
1217
1491
  type: z.ZodLiteral<"upsertAppointmentService">;
1218
1492
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<AppointmentServiceRef, string>>;
@@ -1370,8 +1644,12 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
1370
1644
  type: z.ZodLiteral<"upsertPage">;
1371
1645
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>;
1372
1646
  input: z.ZodObject<{
1647
+ identifier: z.ZodOptional<z.ZodString>;
1373
1648
  slug: z.ZodString;
1374
1649
  title: z.ZodString;
1650
+ path: z.ZodOptional<z.ZodString>;
1651
+ seoTitle: z.ZodOptional<z.ZodString>;
1652
+ seoDescription: z.ZodOptional<z.ZodString>;
1375
1653
  status: z.ZodOptional<z.ZodEnum<{
1376
1654
  draft: "draft";
1377
1655
  published: "published";
@@ -1391,33 +1669,111 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
1391
1669
  children: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodUnknown>>>;
1392
1670
  }, z.core.$strict>>>;
1393
1671
  }, z.core.$strict>;
1672
+ }, z.core.$strict>, z.ZodObject<{
1673
+ type: z.ZodLiteral<"upsertPageBlock">;
1674
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<BlockRef, string>>;
1675
+ input: z.ZodObject<{
1676
+ pageIdentifier: z.ZodString;
1677
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
1678
+ identifier: z.ZodOptional<z.ZodString>;
1679
+ type: z.ZodString;
1680
+ purpose: z.ZodOptional<z.ZodString>;
1681
+ props: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1682
+ children: z.ZodOptional<z.ZodReadonly<z.ZodArray<z.ZodUnknown>>>;
1683
+ }, z.core.$strict>;
1684
+ }, z.core.$strict>, z.ZodObject<{
1685
+ type: z.ZodLiteral<"deletePageBlock">;
1686
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<CommandRef, string>>;
1687
+ input: z.ZodObject<{
1688
+ pageIdentifier: z.ZodString;
1689
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
1690
+ blockRef: z.ZodPipe<z.ZodString, z.ZodTransform<BlockRef, string>>;
1691
+ identifier: z.ZodOptional<z.ZodString>;
1692
+ }, z.core.$strict>;
1693
+ }, z.core.$strict>, z.ZodObject<{
1694
+ type: z.ZodLiteral<"reorderPageBlocks">;
1695
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<BlocksRef, string>>;
1696
+ input: z.ZodObject<{
1697
+ pageIdentifier: z.ZodString;
1698
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
1699
+ blocks: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1700
+ blockRef: z.ZodPipe<z.ZodString, z.ZodTransform<BlockRef, string>>;
1701
+ identifier: z.ZodOptional<z.ZodString>;
1702
+ }, z.core.$strict>>>;
1703
+ }, z.core.$strict>;
1394
1704
  }, z.core.$strict>, z.ZodObject<{
1395
1705
  type: z.ZodLiteral<"upsertNavigationMenu">;
1396
1706
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<NavigationRef, string>>;
1397
1707
  input: z.ZodObject<{
1398
- location: z.ZodEnum<{
1708
+ name: z.ZodOptional<z.ZodString>;
1709
+ location: z.ZodOptional<z.ZodEnum<{
1399
1710
  header: "header";
1400
1711
  footer: "footer";
1401
1712
  main: "main";
1402
- }>;
1713
+ }>>;
1403
1714
  role: z.ZodOptional<z.ZodEnum<{
1404
1715
  footer: "footer";
1405
1716
  primary: "primary";
1406
1717
  }>>;
1407
1718
  items: z.ZodReadonly<z.ZodArray<z.ZodType<Readonly<{
1408
1719
  label: string;
1720
+ isCta?: boolean;
1409
1721
  pageRef?: PageRef;
1410
1722
  contentEntryRef?: ContentEntryRef;
1723
+ link?: NavigationLinkCommandInput;
1411
1724
  url?: string;
1412
1725
  children?: readonly NavigationItem[];
1413
1726
  }>, unknown, z.core.$ZodTypeInternals<Readonly<{
1414
1727
  label: string;
1728
+ isCta?: boolean;
1415
1729
  pageRef?: PageRef;
1416
1730
  contentEntryRef?: ContentEntryRef;
1731
+ link?: NavigationLinkCommandInput;
1417
1732
  url?: string;
1418
1733
  children?: readonly NavigationItem[];
1419
1734
  }>, unknown>>>>;
1420
1735
  }, z.core.$strict>;
1736
+ }, z.core.$strict>, z.ZodObject<{
1737
+ type: z.ZodLiteral<"upsertForm">;
1738
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<FormRef, string>>;
1739
+ input: z.ZodObject<{
1740
+ slug: z.ZodString;
1741
+ name: z.ZodString;
1742
+ schema: z.ZodObject<{
1743
+ version: z.ZodOptional<z.ZodString>;
1744
+ fields: z.ZodReadonly<z.ZodArray<z.ZodObject<{
1745
+ id: z.ZodString;
1746
+ label: z.ZodString;
1747
+ type: z.ZodString;
1748
+ required: z.ZodOptional<z.ZodBoolean>;
1749
+ placeholder: z.ZodOptional<z.ZodString>;
1750
+ helpText: z.ZodOptional<z.ZodString>;
1751
+ layout: z.ZodOptional<z.ZodObject<{
1752
+ width: z.ZodOptional<z.ZodEnum<{
1753
+ full: "full";
1754
+ half: "half";
1755
+ }>>;
1756
+ }, z.core.$strict>>;
1757
+ options: z.ZodOptional<z.ZodArray<z.ZodObject<{
1758
+ value: z.ZodString;
1759
+ label: z.ZodString;
1760
+ }, z.core.$strict>>>;
1761
+ multiple: z.ZodOptional<z.ZodBoolean>;
1762
+ minLength: z.ZodOptional<z.ZodNumber>;
1763
+ maxLength: z.ZodOptional<z.ZodNumber>;
1764
+ pattern: z.ZodOptional<z.ZodString>;
1765
+ min: z.ZodOptional<z.ZodNumber>;
1766
+ max: z.ZodOptional<z.ZodNumber>;
1767
+ }, z.core.$strict>>>;
1768
+ }, z.core.$strict>;
1769
+ settings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1770
+ }, z.core.$strict>;
1771
+ }, z.core.$strict>, z.ZodObject<{
1772
+ type: z.ZodLiteral<"upsertFooterContent">;
1773
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<FooterRef, string>>;
1774
+ input: z.ZodObject<{
1775
+ bottomText: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1776
+ }, z.core.$strict>;
1421
1777
  }, z.core.$strict>, z.ZodObject<{
1422
1778
  type: z.ZodLiteral<"upsertContentEntry">;
1423
1779
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<ContentEntryRef, string>>;
@@ -1433,9 +1789,23 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
1433
1789
  }, z.core.$strict>, z.ZodObject<{
1434
1790
  type: z.ZodLiteral<"publishPage">;
1435
1791
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<CommandRef, string>>;
1436
- input: z.ZodObject<{
1792
+ input: z.ZodUnion<readonly [z.ZodObject<{
1793
+ identifier: z.ZodString;
1794
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
1795
+ }, z.core.$strict>, z.ZodObject<{
1437
1796
  pageRef: z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>;
1438
- }, z.core.$strict>;
1797
+ identifier: z.ZodOptional<z.ZodString>;
1798
+ }, z.core.$strict>]>;
1799
+ }, z.core.$strict>, z.ZodObject<{
1800
+ type: z.ZodLiteral<"unpublishPage">;
1801
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<CommandRef, string>>;
1802
+ input: z.ZodUnion<readonly [z.ZodObject<{
1803
+ identifier: z.ZodString;
1804
+ pageRef: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>>;
1805
+ }, z.core.$strict>, z.ZodObject<{
1806
+ pageRef: z.ZodPipe<z.ZodString, z.ZodTransform<PageRef, string>>;
1807
+ identifier: z.ZodOptional<z.ZodString>;
1808
+ }, z.core.$strict>]>;
1439
1809
  }, z.core.$strict>, z.ZodObject<{
1440
1810
  type: z.ZodLiteral<"publishContentEntry">;
1441
1811
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<CommandRef, string>>;
@@ -1836,6 +2206,25 @@ export declare const siteCommandBatchSchema: z.ZodObject<{
1836
2206
  eventRegistrationRef: z.ZodPipe<z.ZodString, z.ZodTransform<EventRegistrationRef, string>>;
1837
2207
  }, z.core.$strict>], "kind">;
1838
2208
  }, z.core.$strict>;
2209
+ }, z.core.$strict>, z.ZodObject<{
2210
+ type: z.ZodLiteral<"seedPortalOrder">;
2211
+ ref: z.ZodPipe<z.ZodString, z.ZodTransform<OrderRef, string>>;
2212
+ input: z.ZodObject<{
2213
+ customerRef: z.ZodPipe<z.ZodString, z.ZodTransform<BookingCustomerRef, string>>;
2214
+ subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
2215
+ kind: z.ZodLiteral<"event_registration">;
2216
+ eventRegistrationRef: z.ZodPipe<z.ZodString, z.ZodTransform<EventRegistrationRef, string>>;
2217
+ }, z.core.$strict>, z.ZodObject<{
2218
+ kind: z.ZodLiteral<"course_enrollment">;
2219
+ courseEnrollmentRef: z.ZodPipe<z.ZodString, z.ZodTransform<CourseEnrollmentRef, string>>;
2220
+ }, z.core.$strict>], "kind">;
2221
+ paymentMethod: z.ZodEnum<{
2222
+ free: "free";
2223
+ membership_access: "membership_access";
2224
+ }>;
2225
+ subtotalCents: z.ZodNumber;
2226
+ currency: z.ZodString;
2227
+ }, z.core.$strict>;
1839
2228
  }, z.core.$strict>, z.ZodObject<{
1840
2229
  type: z.ZodLiteral<"upsertAppointmentService">;
1841
2230
  ref: z.ZodPipe<z.ZodString, z.ZodTransform<AppointmentServiceRef, string>>;
@@ -1939,6 +2328,14 @@ export type SiteCommandOf<TType extends SiteCommandType> = SiteCommand extends i
1939
2328
  type: TType;
1940
2329
  } ? TCommand : never : never;
1941
2330
  export type ContentEntryIdentifierCommand = SiteCommandOf<'upsertContentEntry' | 'publishContentEntry' | 'unpublishContentEntry' | 'deleteContentEntry'>;
2331
+ export type PageIdentifierCommand = SiteCommandOf<'upsertPage' | 'publishPage' | 'unpublishPage'>;
2332
+ export type PageBlockIdentifierCommand = SiteCommandOf<'upsertPageBlock' | 'deletePageBlock'>;
2333
+ export type PageBlockPageIdentifierCommand = SiteCommandOf<'upsertPageBlock' | 'deletePageBlock' | 'reorderPageBlocks'>;
1942
2334
  export declare function entryIdentifierForCommand(command: ContentEntryIdentifierCommand): string;
2335
+ export declare function pageIdentifierForCommand(command: PageIdentifierCommand): string;
2336
+ export declare function pagePathForCommand(command: SiteCommandOf<'upsertPage'>): string;
2337
+ export declare function pageIdentifierForBlockCommand(command: PageBlockPageIdentifierCommand): string;
2338
+ export declare function blockIdentifierForCommand(command: PageBlockIdentifierCommand): string;
2339
+ export declare function blockOrderIdentifiersForCommand(command: SiteCommandOf<'reorderPageBlocks'>): readonly string[];
1943
2340
  export declare const siteCommandTypes: readonly SiteCommandType[];
1944
2341
  export {};
@@ -2,13 +2,13 @@ import type { Brand } from '@riverbankcms/core';
2
2
  import type { SiteCommandCapabilityGapCode } from './capabilityGaps';
3
3
  import type { SiteCommandType } from './commands';
4
4
  import type { SiteCommandRef } from './refs';
5
- export declare const commandScopes: readonly ["site", "style", "media", "page", "block", "navigation", "content", "staff", "venue", "event", "ticket", "course", "pass", "membership", "customer", "customer_pass", "customer_membership", "appointment", "course_enrollment", "event_registration", "pass_redemption", "booking_settings", "appointment_service", "appointment_resource", "appointment_availability", "publish"];
5
+ export declare const commandScopes: readonly ["site", "style", "media", "page", "block", "navigation", "form", "footer", "content", "staff", "venue", "event", "ticket", "course", "pass", "membership", "customer", "customer_pass", "customer_membership", "appointment", "course_enrollment", "event_registration", "pass_redemption", "order", "booking_settings", "appointment_service", "appointment_resource", "appointment_availability", "publish"];
6
6
  export type CommandScope = (typeof commandScopes)[number];
7
7
  export declare const commandRisks: readonly ["low", "medium", "high", "restricted"];
8
8
  export type CommandRisk = (typeof commandRisks)[number];
9
- export declare const writeSemantics: readonly ["upsert", "append", "replace", "status_transition"];
9
+ export declare const writeSemantics: readonly ["upsert", "append", "replace", "delete", "order_transition", "status_transition"];
10
10
  export type WriteSemantics = (typeof writeSemantics)[number];
11
- export declare const lifecycleIntents: readonly ["mutation", "publish", "seed"];
11
+ export declare const lifecycleIntents: readonly ["mutation", "publish", "unpublish", "seed"];
12
12
  export type LifecycleIntent = (typeof lifecycleIntents)[number];
13
13
  export declare const idempotencyStrategies: readonly ["natural_key", "recipe_ref", "existing_id", "none"];
14
14
  export type IdempotencyStrategy = (typeof idempotencyStrategies)[number];
@@ -0,0 +1,41 @@
1
+ import type { SiteCommandBatch, SiteCommandType } from './commands';
2
+ import type { AllowedRuntime, CommandRisk, IntendedExposure, SiteCommandCapabilityGap, SiteCommandMetadata } from './domain';
3
+ import type { SiteCommandRef } from './refs';
4
+ export type SiteCommandExposureTarget = Readonly<{
5
+ type: SiteCommandType;
6
+ ref?: SiteCommandRef | string;
7
+ }>;
8
+ export type SiteCommandExposurePolicy = Readonly<{
9
+ exposure: IntendedExposure;
10
+ runtime: AllowedRuntime;
11
+ allowedRisks: readonly CommandRisk[];
12
+ capabilityGaps?: readonly SiteCommandCapabilityGap[];
13
+ }>;
14
+ export type SiteCommandExposureAllowed = Readonly<{
15
+ kind: 'allowed';
16
+ commandType: SiteCommandType;
17
+ commandRef: SiteCommandRef | string | null;
18
+ metadata: SiteCommandMetadata;
19
+ }>;
20
+ export type SiteCommandExposureRejection = Readonly<{
21
+ kind: 'rejected';
22
+ code: 'unsupported_command' | 'exposure_not_allowed' | 'runtime_not_allowed' | 'risk_not_allowed' | 'capability_gap';
23
+ commandType: SiteCommandType;
24
+ commandRef: SiteCommandRef | string | null;
25
+ message: string;
26
+ }>;
27
+ export type SiteCommandExposureDecision = SiteCommandExposureAllowed | SiteCommandExposureRejection;
28
+ export type SiteCommandBatchExposureAllowed = Readonly<{
29
+ kind: 'allowed';
30
+ commands: readonly SiteCommandExposureAllowed[];
31
+ }>;
32
+ export type SiteCommandBatchExposureRejection = Readonly<{
33
+ kind: 'rejected_batch';
34
+ code: 'empty_batch';
35
+ commandType: null;
36
+ commandRef: null;
37
+ message: string;
38
+ }>;
39
+ export type SiteCommandBatchExposureDecision = SiteCommandBatchExposureAllowed | SiteCommandExposureRejection | SiteCommandBatchExposureRejection;
40
+ export declare function evaluateSiteCommandExposure(command: SiteCommandExposureTarget, policy: SiteCommandExposurePolicy): SiteCommandExposureDecision;
41
+ export declare function evaluateSiteCommandBatchExposure(batch: SiteCommandBatch, policy: SiteCommandExposurePolicy): SiteCommandBatchExposureDecision;