@riverbankcms/sdk 0.129.0 → 0.129.1

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 (260) hide show
  1. package/README.md +19 -256
  2. package/dist/{PreviewEditorSidebar-B43CJ0g_.mjs → PreviewEditorSidebar-DceRseRV.mjs} +3 -3
  3. package/dist/{PreviewEditorUI-DHirVkeM.mjs → PreviewEditorUI-BNunq3kk.mjs} +2 -2
  4. package/dist/{SdkPreviewModeRuntime-BJumZy1B.mjs → SdkPreviewModeRuntime-Bt87-62u.mjs} +3 -3
  5. package/dist/{SiteChromeCustomizeContext-D9SlpwEj.mjs → SiteChromeCustomizeContext-BLl-OlL4.mjs} +460 -393
  6. package/dist/_dts/ai/src/contracts/commandExposure.d.ts +1 -1
  7. package/dist/_dts/ai/src/contracts/proposals.d.ts +4897 -4897
  8. package/dist/_dts/api/src/index.d.ts +2 -1
  9. package/dist/_dts/api/src/sdk-event-management.d.ts +53 -0
  10. package/dist/_dts/api/src/sdk-event-schedule.d.ts +3 -6
  11. package/dist/_dts/api/src/sdkContracts.d.ts +37 -50
  12. package/dist/_dts/api/src/sdkThemeWire.d.ts +2595 -0
  13. package/dist/_dts/api/src/sitePlatformEndpoints.d.ts +13 -29
  14. package/dist/_dts/media-core/src/index.d.ts +1 -0
  15. package/dist/_dts/sdk/src/config/types.d.ts +4 -4
  16. package/dist/_dts/sdk/src/version.d.ts +1 -1
  17. package/dist/_dts/theme-core/src/buttons/index.d.ts +1 -0
  18. package/dist/_dts/theme-core/src/palette/index.d.ts +1 -0
  19. package/dist/_dts/theme-core/src/site-styles/headerLayoutStyleCatalog.d.ts +254 -0
  20. package/dist/_dts/theme-core/src/site-styles/headerLegacyLooks.d.ts +372 -0
  21. package/dist/_dts/theme-core/src/site-styles/headerLookBranding.d.ts +106 -0
  22. package/dist/_dts/theme-core/src/site-styles/headerLookSelection.d.ts +2 -0
  23. package/dist/_dts/theme-core/src/site-styles/headerLookTypes.d.ts +212 -0
  24. package/dist/_dts/theme-core/src/site-styles/headerLooks.d.ts +7 -841
  25. package/dist/_dts/theme-core/src/site-styles/headerStyleCompiler.d.ts +3 -0
  26. package/dist/_dts/theme-core/src/site-styles/headerStyleCompilerPrimitives.d.ts +23 -0
  27. package/dist/client/client.mjs +492 -426
  28. package/dist/client/hooks.mjs +59 -36
  29. package/dist/client/rendering/client.mjs +593 -547
  30. package/dist/client/rendering.mjs +491 -425
  31. package/dist/preview-next/client/runtime.mjs +3 -3
  32. package/dist/{sdk-runtime-CfZd5pAm.mjs → sdk-runtime-C20CVWbb.mjs} +1 -1
  33. package/dist/{separator-DkTe68HE.mjs → separator-BE3NCquy.mjs} +1 -1
  34. package/dist/server/components.mjs +72 -49
  35. package/dist/server/config-validation.mjs +59 -36
  36. package/dist/server/config.mjs +59 -36
  37. package/dist/server/data.mjs +59 -36
  38. package/dist/server/index.mjs +1 -1
  39. package/dist/server/manifest.mjs +4966 -0
  40. package/dist/server/next.mjs +73 -50
  41. package/dist/server/page-converter.mjs +40 -36
  42. package/dist/server/prebuild.mjs +1 -1
  43. package/dist/server/rendering/server.mjs +72 -49
  44. package/dist/server/rendering.mjs +72 -49
  45. package/dist/server/routing.mjs +472 -402
  46. package/dist/server/server.mjs +60 -37
  47. package/dist/server/theme-bridge.mjs +70 -66
  48. package/package.json +9 -12
  49. package/dist/_dts/api/src/event-presentation.d.ts +0 -14
  50. package/dist/_dts/blocks/src/definitions.d.ts +0 -14
  51. package/dist/_dts/sdk/src/cli/canonical-entry-policy.d.ts +0 -53
  52. package/dist/_dts/sdk/src/cli/commands/audit.d.ts +0 -101
  53. package/dist/_dts/sdk/src/cli/commands/block.d.ts +0 -24
  54. package/dist/_dts/sdk/src/cli/commands/compare.d.ts +0 -62
  55. package/dist/_dts/sdk/src/cli/commands/content-type.d.ts +0 -10
  56. package/dist/_dts/sdk/src/cli/commands/content.d.ts +0 -56
  57. package/dist/_dts/sdk/src/cli/commands/delete.d.ts +0 -14
  58. package/dist/_dts/sdk/src/cli/commands/deploy.d.ts +0 -43
  59. package/dist/_dts/sdk/src/cli/commands/drafts.d.ts +0 -18
  60. package/dist/_dts/sdk/src/cli/commands/entry.d.ts +0 -55
  61. package/dist/_dts/sdk/src/cli/commands/env.d.ts +0 -31
  62. package/dist/_dts/sdk/src/cli/commands/event.d.ts +0 -23
  63. package/dist/_dts/sdk/src/cli/commands/eventOccurrenceSchedule.d.ts +0 -12
  64. package/dist/_dts/sdk/src/cli/commands/identifiers.d.ts +0 -10
  65. package/dist/_dts/sdk/src/cli/commands/init-docs.d.ts +0 -13
  66. package/dist/_dts/sdk/src/cli/commands/manifest.d.ts +0 -10
  67. package/dist/_dts/sdk/src/cli/commands/media-validation.d.ts +0 -3
  68. package/dist/_dts/sdk/src/cli/commands/migrate.d.ts +0 -11
  69. package/dist/_dts/sdk/src/cli/commands/navigation.d.ts +0 -12
  70. package/dist/_dts/sdk/src/cli/commands/page.d.ts +0 -14
  71. package/dist/_dts/sdk/src/cli/commands/publish-all.d.ts +0 -50
  72. package/dist/_dts/sdk/src/cli/commands/pull-dated-offering-scope.d.ts +0 -10
  73. package/dist/_dts/sdk/src/cli/commands/pull-dry-run.d.ts +0 -70
  74. package/dist/_dts/sdk/src/cli/commands/pull-scope-diff.d.ts +0 -8
  75. package/dist/_dts/sdk/src/cli/commands/pull.d.ts +0 -43
  76. package/dist/_dts/sdk/src/cli/commands/push/consts.d.ts +0 -3
  77. package/dist/_dts/sdk/src/cli/commands/push/execute/diff.d.ts +0 -19
  78. package/dist/_dts/sdk/src/cli/commands/push/execute/footer.d.ts +0 -42
  79. package/dist/_dts/sdk/src/cli/commands/push/execute/localMediaReporting.d.ts +0 -23
  80. package/dist/_dts/sdk/src/cli/commands/push/execute/media.d.ts +0 -22
  81. package/dist/_dts/sdk/src/cli/commands/push/execute/metadata.d.ts +0 -1
  82. package/dist/_dts/sdk/src/cli/commands/push/execute/reporting.d.ts +0 -7
  83. package/dist/_dts/sdk/src/cli/commands/push/execute/theme.d.ts +0 -63
  84. package/dist/_dts/sdk/src/cli/commands/push/filter.d.ts +0 -15
  85. package/dist/_dts/sdk/src/cli/commands/push/metadata.d.ts +0 -29
  86. package/dist/_dts/sdk/src/cli/commands/push/normalizeLocalContent.d.ts +0 -2
  87. package/dist/_dts/sdk/src/cli/commands/push/options.d.ts +0 -32
  88. package/dist/_dts/sdk/src/cli/commands/push/publishGuidance.d.ts +0 -15
  89. package/dist/_dts/sdk/src/cli/commands/push/pushAllExtras.d.ts +0 -25
  90. package/dist/_dts/sdk/src/cli/commands/push/scopes/commandBackedDatedOfferingScope.d.ts +0 -83
  91. package/dist/_dts/sdk/src/cli/commands/push/scopes/eventCategories.d.ts +0 -4
  92. package/dist/_dts/sdk/src/cli/commands/push/scopes/events.d.ts +0 -4
  93. package/dist/_dts/sdk/src/cli/commands/push/scopes/mediaPrep.d.ts +0 -14
  94. package/dist/_dts/sdk/src/cli/commands/push/scopes/pushScopeGeneric.d.ts +0 -6
  95. package/dist/_dts/sdk/src/cli/commands/push/scopes/types.d.ts +0 -87
  96. package/dist/_dts/sdk/src/cli/commands/push/scopes/venues.d.ts +0 -4
  97. package/dist/_dts/sdk/src/cli/commands/push/stale-resolution.d.ts +0 -48
  98. package/dist/_dts/sdk/src/cli/commands/push/stale.d.ts +0 -17
  99. package/dist/_dts/sdk/src/cli/commands/push/verification.d.ts +0 -56
  100. package/dist/_dts/sdk/src/cli/commands/push/workflowPlan.d.ts +0 -34
  101. package/dist/_dts/sdk/src/cli/commands/push-execute.d.ts +0 -54
  102. package/dist/_dts/sdk/src/cli/commands/push.d.ts +0 -40
  103. package/dist/_dts/sdk/src/cli/commands/setup.d.ts +0 -3
  104. package/dist/_dts/sdk/src/cli/commands/style.d.ts +0 -60
  105. package/dist/_dts/sdk/src/cli/commands/verify.d.ts +0 -11
  106. package/dist/_dts/sdk/src/cli/commands/webhooks.d.ts +0 -44
  107. package/dist/_dts/sdk/src/cli/config-loader.d.ts +0 -47
  108. package/dist/_dts/sdk/src/cli/content/collectionWriters.d.ts +0 -23
  109. package/dist/_dts/sdk/src/cli/content/edit/format.d.ts +0 -2
  110. package/dist/_dts/sdk/src/cli/content/edit/path.d.ts +0 -14
  111. package/dist/_dts/sdk/src/cli/content/edit/planner.d.ts +0 -46
  112. package/dist/_dts/sdk/src/cli/content/entryPaths.d.ts +0 -6
  113. package/dist/_dts/sdk/src/cli/content/footerFile.d.ts +0 -10
  114. package/dist/_dts/sdk/src/cli/content/fs-utils.d.ts +0 -39
  115. package/dist/_dts/sdk/src/cli/content/legacyEventScheduleShapeError.d.ts +0 -5
  116. package/dist/_dts/sdk/src/cli/content/localEventSchedule.d.ts +0 -17
  117. package/dist/_dts/sdk/src/cli/content/media-manifest.d.ts +0 -13
  118. package/dist/_dts/sdk/src/cli/content/metadataAfterPush.d.ts +0 -25
  119. package/dist/_dts/sdk/src/cli/content/metadataStore.d.ts +0 -29
  120. package/dist/_dts/sdk/src/cli/content/reader.d.ts +0 -488
  121. package/dist/_dts/sdk/src/cli/content/writer.d.ts +0 -142
  122. package/dist/_dts/sdk/src/cli/env-scope.d.ts +0 -2
  123. package/dist/_dts/sdk/src/cli/env.d.ts +0 -71
  124. package/dist/_dts/sdk/src/cli/errors.d.ts +0 -62
  125. package/dist/_dts/sdk/src/cli/helpers/ai-runtime.d.ts +0 -2
  126. package/dist/_dts/sdk/src/cli/helpers.d.ts +0 -399
  127. package/dist/_dts/sdk/src/cli/index.d.ts +0 -11
  128. package/dist/_dts/sdk/src/cli/init-docs/constants.d.ts +0 -16
  129. package/dist/_dts/sdk/src/cli/init-docs/index.d.ts +0 -12
  130. package/dist/_dts/sdk/src/cli/init-docs/templates.d.ts +0 -18
  131. package/dist/_dts/sdk/src/cli/init-docs/zod-to-markdown.d.ts +0 -28
  132. package/dist/_dts/sdk/src/cli/load-config.d.ts +0 -14
  133. package/dist/_dts/sdk/src/cli/media/identifiers.d.ts +0 -18
  134. package/dist/_dts/sdk/src/cli/media/local-media.d.ts +0 -14
  135. package/dist/_dts/sdk/src/cli/media/local-sync.d.ts +0 -91
  136. package/dist/_dts/sdk/src/cli/media/portable.d.ts +0 -11
  137. package/dist/_dts/sdk/src/cli/media/rich-text.d.ts +0 -12
  138. package/dist/_dts/sdk/src/cli/media/value-utils.d.ts +0 -15
  139. package/dist/_dts/sdk/src/cli/media/write-guard.d.ts +0 -52
  140. package/dist/_dts/sdk/src/cli/merge-remote/entryLocal.d.ts +0 -3
  141. package/dist/_dts/sdk/src/cli/merge-remote/entryMerge.d.ts +0 -78
  142. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePlan.d.ts +0 -45
  143. package/dist/_dts/sdk/src/cli/merge-remote/entryMergePush.d.ts +0 -24
  144. package/dist/_dts/sdk/src/cli/merge-remote/entryMergeReport.d.ts +0 -18
  145. package/dist/_dts/sdk/src/cli/merge-remote/entryRemote.d.ts +0 -9
  146. package/dist/_dts/sdk/src/cli/merge-remote/entrySnapshots.d.ts +0 -48
  147. package/dist/_dts/sdk/src/cli/merge-remote/mergeFieldChanges.d.ts +0 -22
  148. package/dist/_dts/sdk/src/cli/merge-remote/pageLocal.d.ts +0 -3
  149. package/dist/_dts/sdk/src/cli/merge-remote/pageMerge.d.ts +0 -78
  150. package/dist/_dts/sdk/src/cli/merge-remote/pageMergePlan.d.ts +0 -36
  151. package/dist/_dts/sdk/src/cli/merge-remote/pageMergePush.d.ts +0 -23
  152. package/dist/_dts/sdk/src/cli/merge-remote/pageMergeReport.d.ts +0 -17
  153. package/dist/_dts/sdk/src/cli/merge-remote/pageSnapshots.d.ts +0 -46
  154. package/dist/_dts/sdk/src/cli/merge-remote/sharedBaseSnapshots.d.ts +0 -32
  155. package/dist/_dts/sdk/src/cli/merge-remote/sharedMergePlan.d.ts +0 -27
  156. package/dist/_dts/sdk/src/cli/merge-remote/sharedMergeReport.d.ts +0 -63
  157. package/dist/_dts/sdk/src/cli/migrations/entries.d.ts +0 -28
  158. package/dist/_dts/sdk/src/cli/migrations/events.d.ts +0 -73
  159. package/dist/_dts/sdk/src/cli/navigationIdentity.d.ts +0 -11
  160. package/dist/_dts/sdk/src/cli/output.d.ts +0 -133
  161. package/dist/_dts/sdk/src/cli/program.d.ts +0 -29
  162. package/dist/_dts/sdk/src/cli/push-config.d.ts +0 -49
  163. package/dist/_dts/sdk/src/cli/setup/setupPlan.d.ts +0 -51
  164. package/dist/_dts/sdk/src/cli/site-commands/commandKeys.d.ts +0 -13
  165. package/dist/_dts/sdk/src/cli/site-commands/commandRuntime.d.ts +0 -170
  166. package/dist/_dts/sdk/src/cli/site-commands/commandRuntimeCompat.d.ts +0 -21
  167. package/dist/_dts/sdk/src/cli/site-commands/commandSurfaceDispatch.d.ts +0 -32
  168. package/dist/_dts/sdk/src/cli/site-commands/datedOfferingCommands.d.ts +0 -53
  169. package/dist/_dts/sdk/src/cli/site-commands/entryCommands.d.ts +0 -65
  170. package/dist/_dts/sdk/src/cli/site-commands/eventScheduleCompiler.d.ts +0 -24
  171. package/dist/_dts/sdk/src/cli/site-commands/footerCommands.d.ts +0 -68
  172. package/dist/_dts/sdk/src/cli/site-commands/formCommands.d.ts +0 -53
  173. package/dist/_dts/sdk/src/cli/site-commands/index.d.ts +0 -8
  174. package/dist/_dts/sdk/src/cli/site-commands/localBlockManifestResolver.d.ts +0 -31
  175. package/dist/_dts/sdk/src/cli/site-commands/navigationCommands.d.ts +0 -57
  176. package/dist/_dts/sdk/src/cli/site-commands/oneOffCommands.d.ts +0 -82
  177. package/dist/_dts/sdk/src/cli/site-commands/pageCommands.d.ts +0 -84
  178. package/dist/_dts/sdk/src/cli/site-commands/pushExecution.d.ts +0 -39
  179. package/dist/_dts/sdk/src/cli/site-commands/pushExecutionPlan.d.ts +0 -8
  180. package/dist/_dts/sdk/src/cli/site-commands/pushExecutionTypes.d.ts +0 -97
  181. package/dist/_dts/sdk/src/cli/site-commands/residualSettingsTrimming.d.ts +0 -15
  182. package/dist/_dts/sdk/src/cli/sync/diff.d.ts +0 -222
  183. package/dist/_dts/sdk/src/cli/sync/executor.d.ts +0 -84
  184. package/dist/_dts/sdk/src/cli/sync/field-diff.d.ts +0 -39
  185. package/dist/_dts/sdk/src/cli/sync/index.d.ts +0 -10
  186. package/dist/_dts/sdk/src/cli/sync/mapper.d.ts +0 -41
  187. package/dist/_dts/sdk/src/cli/sync/media-sync.d.ts +0 -15
  188. package/dist/_dts/sdk/src/cli/sync/media.d.ts +0 -158
  189. package/dist/_dts/sdk/src/cli/sync/syncResultAggregation.d.ts +0 -4
  190. package/dist/_dts/sdk/src/cli/sync/validation.d.ts +0 -68
  191. package/dist/_dts/sdk/src/cli/utils/checksum.d.ts +0 -1
  192. package/dist/_dts/sdk/src/client/management/blocks.d.ts +0 -19
  193. package/dist/_dts/sdk/src/client/management/catalog.d.ts +0 -10
  194. package/dist/_dts/sdk/src/client/management/entries.d.ts +0 -6
  195. package/dist/_dts/sdk/src/client/management/eventCategories.d.ts +0 -6
  196. package/dist/_dts/sdk/src/client/management/events.d.ts +0 -7
  197. package/dist/_dts/sdk/src/client/management/footer.d.ts +0 -9
  198. package/dist/_dts/sdk/src/client/management/forms.d.ts +0 -6
  199. package/dist/_dts/sdk/src/client/management/http.d.ts +0 -79
  200. package/dist/_dts/sdk/src/client/management/identifiers.d.ts +0 -11
  201. package/dist/_dts/sdk/src/client/management/index.d.ts +0 -41
  202. package/dist/_dts/sdk/src/client/management/media.d.ts +0 -72
  203. package/dist/_dts/sdk/src/client/management/navigation.d.ts +0 -6
  204. package/dist/_dts/sdk/src/client/management/pages.d.ts +0 -6
  205. package/dist/_dts/sdk/src/client/management/pull.d.ts +0 -6
  206. package/dist/_dts/sdk/src/client/management/settings-branding.d.ts +0 -32
  207. package/dist/_dts/sdk/src/client/management/settings.d.ts +0 -6
  208. package/dist/_dts/sdk/src/client/management/theme.d.ts +0 -8
  209. package/dist/_dts/sdk/src/client/management/types.d.ts +0 -1069
  210. package/dist/_dts/sdk/src/client/management/venues.d.ts +0 -6
  211. package/dist/_dts/sdk/src/client/management/webhooks.d.ts +0 -3
  212. package/dist/_dts/sdk/src/test/env.d.ts +0 -4
  213. package/dist/_dts/site-commands/src/adapter.d.ts +0 -23
  214. package/dist/_dts/site-commands/src/appointmentCommandSchemas.d.ts +0 -100
  215. package/dist/_dts/site-commands/src/capabilityGaps.d.ts +0 -8
  216. package/dist/_dts/site-commands/src/commandContract.d.ts +0 -1277
  217. package/dist/_dts/site-commands/src/commandDomain.d.ts +0 -20
  218. package/dist/_dts/site-commands/src/commandIdentifiers.d.ts +0 -7
  219. package/dist/_dts/site-commands/src/commandValidation.d.ts +0 -10
  220. package/dist/_dts/site-commands/src/commands.d.ts +0 -1983
  221. package/dist/_dts/site-commands/src/domain.d.ts +0 -104
  222. package/dist/_dts/site-commands/src/eventCommandContent.d.ts +0 -11
  223. package/dist/_dts/site-commands/src/exposure.d.ts +0 -41
  224. package/dist/_dts/site-commands/src/guards.d.ts +0 -1
  225. package/dist/_dts/site-commands/src/index.d.ts +0 -18
  226. package/dist/_dts/site-commands/src/metadata.d.ts +0 -555
  227. package/dist/_dts/site-commands/src/pagePaths.d.ts +0 -6
  228. package/dist/_dts/site-commands/src/planner.d.ts +0 -58
  229. package/dist/_dts/site-commands/src/refContributions.d.ts +0 -11
  230. package/dist/_dts/site-commands/src/refs.d.ts +0 -90
  231. package/dist/_dts/site-commands/src/siteStyleCommandSchema.d.ts +0 -405
  232. package/dist/_dts/site-commands/src/siteStyleSelectionSchemaBuilder.d.ts +0 -46
  233. package/dist/_dts/site-commands/src/stableJson.d.ts +0 -5
  234. package/dist/_dts/site-commands/src/staticExecutionGaps.d.ts +0 -10
  235. package/dist/_dts/site-commands/src/venueCommandMapping.d.ts +0 -21
  236. package/dist/_dts/theme-core/src/data.d.ts +0 -12
  237. package/dist/_dts/theme-core/src/site-styles/headerStyleParts.d.ts +0 -4
  238. package/dist/cli/index.mjs +0 -162988
  239. package/dist/cli/init-docs/content/agents-section.md +0 -67
  240. package/dist/cli/init-docs/content/cli-reference.md +0 -1238
  241. package/dist/cli/init-docs/content/content-management.md +0 -792
  242. package/dist/cli/init-docs/content/context-brand.md +0 -125
  243. package/dist/cli/init-docs/content/context-brief.md +0 -77
  244. package/dist/cli/init-docs/content/context-knowledge.md +0 -111
  245. package/dist/cli/init-docs/content/getting-started.md +0 -171
  246. package/dist/cli/init-docs/content/site-workflows-readme.md +0 -96
  247. package/dist/cli/init-docs/content/workflow-add-block.md +0 -299
  248. package/dist/cli/init-docs/content/workflow-agent-safe-sync.md +0 -83
  249. package/dist/cli/init-docs/content/workflow-block-extensions.md +0 -370
  250. package/dist/cli/init-docs/content/workflow-cmsify-page.md +0 -357
  251. package/dist/cli/init-docs/content/workflow-content-types.md +0 -330
  252. package/dist/cli/init-docs/content/workflow-create-page.md +0 -212
  253. package/dist/cli/init-docs/content/workflow-custom-block.md +0 -470
  254. package/dist/cli/init-docs/content/workflow-editor-workflows.md +0 -130
  255. package/dist/cli/init-docs/content/workflow-isr-revalidation.md +0 -158
  256. package/dist/cli/init-docs/content/workflow-preview-mode.md +0 -252
  257. package/dist/cli/init-docs/content/workflow-publish.md +0 -285
  258. package/dist/cli/init-docs/content/workflow-remote-setup.md +0 -51
  259. package/dist/cli/init-docs/content/workflow-templates.md +0 -381
  260. /package/dist/_dts/{sdk/src/cli/utils/mime.d.ts → media-core/src/mimeType.d.ts} +0 -0
@@ -7942,7 +7942,7 @@ var SimpleCache = class {
7942
7942
  * 1. This constant
7943
7943
  * 2. The "version" field in package.json
7944
7944
  */
7945
- const SDK_VERSION = "0.129.0";
7945
+ const SDK_VERSION = "0.129.1";
7946
7946
  //#endregion
7947
7947
  //#region src/client/error.ts
7948
7948
  let _Symbol$for;
@@ -18596,28 +18596,7 @@ function uniqueStrings(values) {
18596
18596
  return Array.from(new Set(values));
18597
18597
  }
18598
18598
  //#endregion
18599
- //#region ../theme-core/src/site-styles/headerInteractionPalette.ts
18600
- const clearSplitInteractionPalette = defineLookOptionGroup({
18601
- id: "interaction-palette",
18602
- label: "Hover colour",
18603
- defaultOptionId: "accent",
18604
- options: [
18605
- {
18606
- id: "accent",
18607
- label: "Accent"
18608
- },
18609
- {
18610
- id: "primary",
18611
- label: "Primary"
18612
- },
18613
- {
18614
- id: "secondary",
18615
- label: "Secondary"
18616
- }
18617
- ]
18618
- });
18619
- //#endregion
18620
- //#region ../theme-core/src/site-styles/headerLooks.ts
18599
+ //#region ../theme-core/src/site-styles/headerLookTypes.ts
18621
18600
  function asHeaderLookId(value) {
18622
18601
  return value;
18623
18602
  }
@@ -18627,6 +18606,8 @@ function asHeaderLayoutId(value) {
18627
18606
  function asHeaderStyleId(value) {
18628
18607
  return value;
18629
18608
  }
18609
+ //#endregion
18610
+ //#region ../theme-core/src/site-styles/headerLookBranding.ts
18630
18611
  const titleOnlyLogoAccommodation = {
18631
18612
  pattern: "title-only",
18632
18613
  supportedShapes: [
@@ -18745,21 +18726,29 @@ const overlayLogoAccommodations = [
18745
18726
  inlineMarkWithTitleLogoAccommodation,
18746
18727
  unbackedOverlayLogoAccommodation
18747
18728
  ];
18748
- /**
18749
- * Starts every Look from the generated theme's header branch, then clears
18750
- * optional nested styling fields that would otherwise leak from another Look.
18751
- */
18752
- function baseHeader(theme) {
18753
- const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, interactionPalette: _interactionPalette, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
18754
- return {
18755
- ...header,
18756
- navContainer: {
18757
- type: "none",
18758
- tint: null,
18759
- opacity: .15
18729
+ //#endregion
18730
+ //#region ../theme-core/src/site-styles/headerInteractionPalette.ts
18731
+ const clearSplitInteractionPalette = defineLookOptionGroup({
18732
+ id: "interaction-palette",
18733
+ label: "Hover colour",
18734
+ defaultOptionId: "accent",
18735
+ options: [
18736
+ {
18737
+ id: "accent",
18738
+ label: "Accent"
18739
+ },
18740
+ {
18741
+ id: "primary",
18742
+ label: "Primary"
18743
+ },
18744
+ {
18745
+ id: "secondary",
18746
+ label: "Secondary"
18760
18747
  }
18761
- };
18762
- }
18748
+ ]
18749
+ });
18750
+ //#endregion
18751
+ //#region ../theme-core/src/site-styles/headerLayoutStyleCatalog.ts
18763
18752
  const headerLayoutCatalog = defineExactCatalog()([
18764
18753
  {
18765
18754
  id: asHeaderLayoutId("classic"),
@@ -19164,6 +19153,19 @@ function getCompatibleHeaderStyleIds(layoutId) {
19164
19153
  return isHeaderStyleCompatibleWithLayout(getHeaderStyleOrThrow(styleId), layoutId);
19165
19154
  });
19166
19155
  }
19156
+ //#endregion
19157
+ //#region ../theme-core/src/site-styles/headerStyleCompilerPrimitives.ts
19158
+ function baseHeader(theme) {
19159
+ const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, interactionPalette: _interactionPalette, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
19160
+ return {
19161
+ ...header,
19162
+ navContainer: {
19163
+ type: "none",
19164
+ tint: null,
19165
+ opacity: .15
19166
+ }
19167
+ };
19168
+ }
19167
19169
  function applyNavTypography(style, typography) {
19168
19170
  switch (typography) {
19169
19171
  case "plain": return style;
@@ -19217,6 +19219,8 @@ function themedHeaderShadow(theme) {
19217
19219
  default: return assertNever$2(theme.shadow.elevation, "Unhandled theme shadow elevation");
19218
19220
  }
19219
19221
  }
19222
+ //#endregion
19223
+ //#region ../theme-core/src/site-styles/headerLegacyLooks.ts
19220
19224
  function solidBrandHeader(theme) {
19221
19225
  const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
19222
19226
  return {
@@ -45856,6 +45860,25 @@ z$1.object({
45856
45860
  mode: z$1.enum(["apply", "preview"]).optional()
45857
45861
  }).strict();
45858
45862
  //#endregion
45863
+ //#region ../api/src/sdkThemeWire.ts
45864
+ /**
45865
+ * Validate a wire value without replacing it with the schema's parsed output.
45866
+ * The returned type is deliberately the schema input, not its canonical output.
45867
+ */
45868
+ function losslessValidatedSchema(schema) {
45869
+ return z$1.unknown().superRefine((value, ctx) => {
45870
+ const parsed = schema.safeParse(value);
45871
+ if (parsed.success) return;
45872
+ for (const issue of parsed.error.issues) ctx.addIssue({
45873
+ code: "custom",
45874
+ path: issue.path,
45875
+ message: issue.message,
45876
+ params: { validationCode: issue.code }
45877
+ });
45878
+ }).transform((value) => value);
45879
+ }
45880
+ losslessValidatedSchema(themeSchema);
45881
+ //#endregion
45859
45882
  //#region ../api/src/siteOnboarding.ts
45860
45883
  const LAUNCH_REQUIREMENT_OVERRIDE_DEFINITIONS = { configure_appointments: {
45861
45884
  requirementId: "configure_appointments",
@@ -7199,58 +7199,7 @@ function parseGradientPresetId(value) {
7199
7199
  return normalized;
7200
7200
  }
7201
7201
  //#endregion
7202
- //#region ../theme-core/src/site-styles/headerCtaVariants.ts
7203
- function hasButtonVariant(theme, variantId) {
7204
- return theme.buttons?.variants.some((variant) => variant.enabled && variant.id === variantId) ?? false;
7205
- }
7206
- function resolveHeaderCtaVariant(theme, treatment) {
7207
- switch (treatment) {
7208
- case "default": return;
7209
- case "primary": return "primary";
7210
- case "secondary": return hasButtonVariant(theme, "secondary") ? "secondary" : "primary";
7211
- case "inverted":
7212
- if (hasButtonVariant(theme, "header")) return "header";
7213
- if (hasButtonVariant(theme, "secondary")) return "secondary";
7214
- if (hasButtonVariant(theme, "outline")) return "outline";
7215
- return "primary";
7216
- case "outline": return hasButtonVariant(theme, "outline") ? "outline" : "secondary";
7217
- case "ghost": return hasButtonVariant(theme, "ghost") ? "ghost" : "secondary";
7218
- }
7219
- }
7220
- //#endregion
7221
- //#region ../theme-core/src/site-styles/lookOptionGroups.ts
7222
- function defineLookOptionGroup(group) {
7223
- defaultOption(group);
7224
- return group;
7225
- }
7226
- function defaultOption(group) {
7227
- const option = group.options.find((candidate) => candidate.id === group.defaultOptionId);
7228
- if (option) return option;
7229
- throw new Error(`Look option group "${group.id}" defaults to missing option "${group.defaultOptionId}".`);
7230
- }
7231
- //#endregion
7232
- //#region ../theme-core/src/site-styles/headerInteractionPalette.ts
7233
- const clearSplitInteractionPalette = defineLookOptionGroup({
7234
- id: "interaction-palette",
7235
- label: "Hover colour",
7236
- defaultOptionId: "accent",
7237
- options: [
7238
- {
7239
- id: "accent",
7240
- label: "Accent"
7241
- },
7242
- {
7243
- id: "primary",
7244
- label: "Primary"
7245
- },
7246
- {
7247
- id: "secondary",
7248
- label: "Secondary"
7249
- }
7250
- ]
7251
- });
7252
- //#endregion
7253
- //#region ../theme-core/src/site-styles/headerLooks.ts
7202
+ //#region ../theme-core/src/site-styles/headerLookTypes.ts
7254
7203
  function asHeaderLookId(value) {
7255
7204
  return value;
7256
7205
  }
@@ -7260,6 +7209,8 @@ function asHeaderLayoutId(value) {
7260
7209
  function asHeaderStyleId(value) {
7261
7210
  return value;
7262
7211
  }
7212
+ //#endregion
7213
+ //#region ../theme-core/src/site-styles/headerLookBranding.ts
7263
7214
  const titleOnlyLogoAccommodation = {
7264
7215
  pattern: "title-only",
7265
7216
  supportedShapes: [
@@ -7378,21 +7329,40 @@ const overlayLogoAccommodations = [
7378
7329
  inlineMarkWithTitleLogoAccommodation,
7379
7330
  unbackedOverlayLogoAccommodation
7380
7331
  ];
7381
- /**
7382
- * Starts every Look from the generated theme's header branch, then clears
7383
- * optional nested styling fields that would otherwise leak from another Look.
7384
- */
7385
- function baseHeader(theme) {
7386
- const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, interactionPalette: _interactionPalette, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
7387
- return {
7388
- ...header,
7389
- navContainer: {
7390
- type: "none",
7391
- tint: null,
7392
- opacity: .15
7393
- }
7394
- };
7332
+ //#endregion
7333
+ //#region ../theme-core/src/site-styles/lookOptionGroups.ts
7334
+ function defineLookOptionGroup(group) {
7335
+ defaultOption(group);
7336
+ return group;
7337
+ }
7338
+ function defaultOption(group) {
7339
+ const option = group.options.find((candidate) => candidate.id === group.defaultOptionId);
7340
+ if (option) return option;
7341
+ throw new Error(`Look option group "${group.id}" defaults to missing option "${group.defaultOptionId}".`);
7395
7342
  }
7343
+ //#endregion
7344
+ //#region ../theme-core/src/site-styles/headerInteractionPalette.ts
7345
+ const clearSplitInteractionPalette = defineLookOptionGroup({
7346
+ id: "interaction-palette",
7347
+ label: "Hover colour",
7348
+ defaultOptionId: "accent",
7349
+ options: [
7350
+ {
7351
+ id: "accent",
7352
+ label: "Accent"
7353
+ },
7354
+ {
7355
+ id: "primary",
7356
+ label: "Primary"
7357
+ },
7358
+ {
7359
+ id: "secondary",
7360
+ label: "Secondary"
7361
+ }
7362
+ ]
7363
+ });
7364
+ //#endregion
7365
+ //#region ../theme-core/src/site-styles/headerLayoutStyleCatalog.ts
7396
7366
  const headerLayoutCatalog = defineExactCatalog()([
7397
7367
  {
7398
7368
  id: asHeaderLayoutId("classic"),
@@ -7797,6 +7767,38 @@ function getCompatibleHeaderStyleIds(layoutId) {
7797
7767
  return isHeaderStyleCompatibleWithLayout(getHeaderStyleOrThrow(styleId), layoutId);
7798
7768
  });
7799
7769
  }
7770
+ //#endregion
7771
+ //#region ../theme-core/src/site-styles/headerCtaVariants.ts
7772
+ function hasButtonVariant(theme, variantId) {
7773
+ return theme.buttons?.variants.some((variant) => variant.enabled && variant.id === variantId) ?? false;
7774
+ }
7775
+ function resolveHeaderCtaVariant(theme, treatment) {
7776
+ switch (treatment) {
7777
+ case "default": return;
7778
+ case "primary": return "primary";
7779
+ case "secondary": return hasButtonVariant(theme, "secondary") ? "secondary" : "primary";
7780
+ case "inverted":
7781
+ if (hasButtonVariant(theme, "header")) return "header";
7782
+ if (hasButtonVariant(theme, "secondary")) return "secondary";
7783
+ if (hasButtonVariant(theme, "outline")) return "outline";
7784
+ return "primary";
7785
+ case "outline": return hasButtonVariant(theme, "outline") ? "outline" : "secondary";
7786
+ case "ghost": return hasButtonVariant(theme, "ghost") ? "ghost" : "secondary";
7787
+ }
7788
+ }
7789
+ //#endregion
7790
+ //#region ../theme-core/src/site-styles/headerStyleCompilerPrimitives.ts
7791
+ function baseHeader(theme) {
7792
+ const { navLinkStyle: _navLinkStyle, navFontRole: _navFontRole, navTypography: _navTypography, navTextSize: _navTextSize, interactionPalette: _interactionPalette, dropdownStyle: _dropdownStyle, ctaVariant: _ctaVariant, navContainer: _navContainer, container: _container, shadow: _shadow, logo: _logo, logoText: _logoText, border: _border, ...header } = theme.header;
7793
+ return {
7794
+ ...header,
7795
+ navContainer: {
7796
+ type: "none",
7797
+ tint: null,
7798
+ opacity: .15
7799
+ }
7800
+ };
7801
+ }
7800
7802
  function applyNavTypography(style, typography) {
7801
7803
  switch (typography) {
7802
7804
  case "plain": return style;
@@ -7850,6 +7852,8 @@ function themedHeaderShadow(theme) {
7850
7852
  default: return assertNever(theme.shadow.elevation, "Unhandled theme shadow elevation");
7851
7853
  }
7852
7854
  }
7855
+ //#endregion
7856
+ //#region ../theme-core/src/site-styles/headerLegacyLooks.ts
7853
7857
  function solidBrandHeader(theme) {
7854
7858
  const ctaVariant = resolveHeaderCtaVariant(theme, "inverted");
7855
7859
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riverbankcms/sdk",
3
- "version": "0.129.0",
3
+ "version": "0.129.1",
4
4
  "description": "Riverbank CMS SDK for headless content consumption",
5
5
  "main": "./dist/server/index.mjs",
6
6
  "module": "./dist/server/index.mjs",
@@ -11,9 +11,6 @@
11
11
  "import": "./dist/client/rendering/islands.mjs"
12
12
  }
13
13
  },
14
- "bin": {
15
- "riverbankcms": "dist/cli/index.mjs"
16
- },
17
14
  "exports": {
18
15
  ".": {
19
16
  "types": "./dist/_dts/sdk/src/index.d.ts",
@@ -222,7 +219,11 @@
222
219
  },
223
220
  "./preview-next/chrome.css": "./dist/preview-next/chrome.css",
224
221
  "./preview-next/tailwind-sources.css": "./dist/preview-next/tailwind-sources.css",
225
- "./preview-next/styles.css": "./dist/preview-next/styles.css"
222
+ "./preview-next/styles.css": "./dist/preview-next/styles.css",
223
+ "./manifest": {
224
+ "types": "./dist/_dts/sdk/src/manifest/index.d.ts",
225
+ "import": "./dist/server/manifest.mjs"
226
+ }
226
227
  },
227
228
  "files": [
228
229
  "dist",
@@ -235,6 +236,7 @@
235
236
  "typecheck": "tsgo --noEmit",
236
237
  "check:declaration-hygiene": "node scripts/check-declaration-hygiene.mjs",
237
238
  "check:packed-exports": "node scripts/check-packed-exports.mjs",
239
+ "check:authority": "node scripts/check-no-cli-authority.mjs",
238
240
  "check:consumer-contract": "node scripts/check-packed-consumer-contract.mjs",
239
241
  "probe:tsdown-candidate": "node scripts/tsdown-candidate-parity.mjs",
240
242
  "measure:public-bundles": "node scripts/measure-public-bundles.mjs --pretty",
@@ -252,17 +254,11 @@
252
254
  "test:packed-next-consumer-build-smoke": "node scripts/packed-next-consumer-build-smoke.mjs",
253
255
  "test:content-load-failure-status-smoke": "node scripts/content-load-failure-status-smoke.mjs",
254
256
  "test:isr-catch-all-revalidate-smoke": "node scripts/isr-catch-all-revalidate-smoke.mjs",
255
- "verify": "./verify.sh",
256
- "cli": "tsx src/cli/index.ts"
257
+ "verify": "./verify.sh"
257
258
  },
258
259
  "dependencies": {
259
260
  "@tanstack/react-query": "^5.101.0",
260
- "commander": "^12.1.0",
261
- "dotenv": "^16.4.5",
262
261
  "fast-deep-equal": "^3.1.3",
263
- "jiti": "^2.7.0",
264
- "prompts": "^2.4.2",
265
- "simple-git": "^3.36.0",
266
262
  "zod": "^4.3.6"
267
263
  },
268
264
  "peerDependencies": {
@@ -288,6 +284,7 @@
288
284
  "@riverbankcms/path-utils": "workspace:*",
289
285
  "@riverbankcms/preview-next": "workspace:*",
290
286
  "@riverbankcms/surfaces": "workspace:*",
287
+ "@riverbankcms/test-support": "workspace:*",
291
288
  "@riverbankcms/theme-core": "workspace:*",
292
289
  "@testing-library/react": "^16.3.2",
293
290
  "@types/node": "^22.18.5",
@@ -1,14 +0,0 @@
1
- export type EventPresentationRecord = Record<string, unknown>;
2
- export type DeriveEventPresentationInput = Readonly<{
3
- storedPresentation?: unknown;
4
- allowLegacyTitleInput?: boolean;
5
- }>;
6
- export declare class InvalidEventPresentationImageError extends Error {
7
- readonly name = "InvalidEventPresentationImageError";
8
- constructor();
9
- }
10
- /**
11
- * Normalizes event card/list presentation without deriving it from page
12
- * content. Native page surfaces and presentation are separate authorities.
13
- */
14
- export declare function deriveEventPresentation(input: DeriveEventPresentationInput): EventPresentationRecord | null;
@@ -1,14 +0,0 @@
1
- /**
2
- * Pure server-safe definitions for Builder blocks.
3
- * This entry point MUST NOT import any React components or client-side code.
4
- * It is safe to use in Server Components and data fetching utilities.
5
- */
6
- export { getBlockDefinition, getBlockRenderKind, listBlockDefinitions, hasBlockDefinition, registerBlockDefinition, type SystemBlockDefinition, type BlockDataLoader, type BlockDescriptor, } from './system/registry';
7
- export { blockDesignCapabilityMapFromDefinitions, blockDesignMetadataMapFromDefinitions, declareBlockDesignCapability, declareNoBlockDesignCapability, resolveDeclaredBlockDesignCapability, } from './system/designCapabilities';
8
- export type { BlockDesignCapabilityDeclaration, NoBlockDesignCapabilityReason, } from './system/designCapabilities';
9
- export type { AnyBlockRuntimeDefinition, BlockRenderKind, BlockRuntimeDefinition, RuntimeContractsFor, RuntimeDisplay, RuntimeHydration, RuntimeKind, RuntimeRender, RuntimeSource, } from './contracts';
10
- export { ensureSystemBlockDefinitionsRegistered, systemBlockDefinitions, } from './system/blocks';
11
- export { resolveVariantKey as resolveBlockVariantKey } from './system/manifest/variantKey';
12
- export type { SystemBlockKind, } from './system/blocks';
13
- export * from './system/data';
14
- export type { PageOutline, Block } from './structure/schema';
@@ -1,53 +0,0 @@
1
- import type { PulledContent } from '../client/management';
2
- import type { LocalContent } from './content/reader';
3
- export declare const CANONICAL_EVENT_ENTRY_TYPE = "event";
4
- export declare const EVENT_MIGRATION_COMMAND = "riverbankcms migrate events";
5
- export declare const EVENT_PUSH_COMMAND = "riverbankcms push events";
6
- export declare const EVENT_PULL_COMMAND = "riverbankcms pull events";
7
- export type CanonicalEntrySurface = typeof CANONICAL_EVENT_ENTRY_TYPE;
8
- export type CanonicalEntryOperation = 'push' | 'pull';
9
- export type CanonicalEntryPolicy = Readonly<{
10
- contentType: CanonicalEntrySurface;
11
- migrationCommand: string;
12
- commands: Readonly<Record<CanonicalEntryOperation, string>>;
13
- }>;
14
- export type CanonicalEntryScopeViolation = Readonly<{
15
- contentType: CanonicalEntrySurface;
16
- message: string;
17
- suggestion: string;
18
- }>;
19
- export type CanonicalEntrySyncDecision = Readonly<{
20
- tag: 'allow';
21
- }> | Readonly<{
22
- tag: 'reject';
23
- violation: CanonicalEntryScopeViolation;
24
- }> | Readonly<{
25
- tag: 'allow-with-canonical-exclusions';
26
- policies: readonly CanonicalEntryPolicy[];
27
- }>;
28
- export type CanonicalEntryFilterResult<TContent> = Readonly<{
29
- content: TContent;
30
- removedEntryCount: number;
31
- removedContentTypes: readonly CanonicalEntrySurface[];
32
- }>;
33
- export declare function isCanonicalEventEntryType(contentType: string | undefined): contentType is CanonicalEntrySurface;
34
- export declare function getCanonicalEntryPolicy(contentType: string | undefined): CanonicalEntryPolicy | null;
35
- export declare function getCanonicalEntrySyncDecision(input: {
36
- scope: string;
37
- contentType?: string;
38
- operation: CanonicalEntryOperation;
39
- }): CanonicalEntrySyncDecision;
40
- export declare function getCanonicalEntryScopeViolation(input: {
41
- scope: string;
42
- contentType?: string;
43
- operation: CanonicalEntryOperation;
44
- }): CanonicalEntryScopeViolation | null;
45
- export declare function shouldExcludeCanonicalEntries(decision: CanonicalEntrySyncDecision): boolean;
46
- export declare function filterGenericEntryContentTypes(contentTypes: readonly string[]): string[];
47
- export declare function stripCanonicalEventEntriesFromLocalContent(content: LocalContent): CanonicalEntryFilterResult<LocalContent>;
48
- export declare function stripCanonicalEventEntriesFromPulledContent(content: PulledContent): CanonicalEntryFilterResult<PulledContent>;
49
- export declare function findLegacyEventEntryFiles(contentDir: string): Promise<string[]>;
50
- export declare function formatLegacyEventEntryWarning(files: readonly string[]): Readonly<{
51
- files: readonly string[];
52
- suggestion: string;
53
- }>;
@@ -1,101 +0,0 @@
1
- /**
2
- * Audit Command
3
- *
4
- * Pre-push validation that checks content integrity by hitting the API.
5
- *
6
- * Checks performed:
7
- * 1. Embed blocks referencing missing entries
8
- * 2. Media references with unresolved/invalid identifiers
9
- * 3. Navigation internal URL paths pointing to non-existent pages
10
- * 4. Duplicate page paths
11
- * 5. Orphaned entries (entries in CMS not in local files) - warning only
12
- * 6. Invalid content type references
13
- *
14
- * Usage:
15
- * riverbankcms audit
16
- * riverbankcms audit --env=remote
17
- * riverbankcms audit --json
18
- */
19
- import { Command } from 'commander';
20
- import { type LocalEvent, type LocalNavigation } from '../content/reader';
21
- import { type MediaGuardDiagnostic } from '../media/write-guard';
22
- export interface AuditIssue {
23
- severity: 'error' | 'warning';
24
- type: string;
25
- message: string;
26
- details?: Record<string, unknown>;
27
- }
28
- export interface AuditResult {
29
- success: boolean;
30
- errors: AuditIssue[];
31
- warnings: AuditIssue[];
32
- }
33
- export declare function mapMediaGuardDiagnosticsToAuditIssues(diagnostics: MediaGuardDiagnostic[]): AuditIssue[];
34
- /**
35
- * Extract all embed block references from content data recursively.
36
- * Exported for testing.
37
- */
38
- export declare function extractEmbedReferences(data: unknown, path?: string[]): Array<{
39
- path: string;
40
- contentType: string;
41
- identifier: string;
42
- }>;
43
- /**
44
- * Extract all media asset references from content data recursively.
45
- * Exported for testing.
46
- */
47
- export declare function extractMediaReferences(data: unknown, path?: string[]): Array<{
48
- path: string;
49
- identifier?: string;
50
- storagePath?: string;
51
- }>;
52
- /**
53
- * Audit context with lookup data for validation.
54
- */
55
- export interface AuditContext {
56
- localEntryIds: Map<string, Set<string>>;
57
- remoteEntryIds: Map<string, Set<string>>;
58
- localPagePaths: Set<string>;
59
- remotePagePaths: Set<string>;
60
- localVenueRefs: Set<string>;
61
- remoteVenueRefs: Set<string>;
62
- localCategoryRefs: Set<string>;
63
- remoteCategoryRefs: Set<string>;
64
- localFormRefs: Set<string>;
65
- remoteFormRefs: Set<string>;
66
- }
67
- /**
68
- * Check embed blocks in entries and pages for missing references.
69
- * Exported for testing.
70
- */
71
- export declare function auditEmbedReferences(localEntries: Map<string, Array<{
72
- identifier: string;
73
- data: Record<string, unknown>;
74
- }>>, localPages: Array<{
75
- path: string;
76
- blocks?: unknown;
77
- }>, ctx: Pick<AuditContext, 'localEntryIds'>): AuditIssue[];
78
- /**
79
- * Check for duplicate page paths.
80
- * Exported for testing.
81
- */
82
- export declare function auditDuplicatePagePaths(pages: Array<{
83
- path: string;
84
- }>): AuditIssue[];
85
- /**
86
- * Check navigation links for broken internal paths.
87
- * Exported for testing.
88
- */
89
- export declare function auditNavigationLinks(navigation: LocalNavigation | null, ctx: Pick<AuditContext, 'localPagePaths' | 'remotePagePaths'>): AuditIssue[];
90
- /**
91
- * Check for orphaned entries (in remote but not in local).
92
- * Exported for testing.
93
- */
94
- export declare function auditOrphanedEntries(ctx: Pick<AuditContext, 'localEntryIds' | 'remoteEntryIds'>): AuditIssue[];
95
- /**
96
- * Check for invalid content type references.
97
- * Exported for testing.
98
- */
99
- export declare function auditContentTypes(localContentTypes: Set<string>, validContentTypes: Set<string>): AuditIssue[];
100
- export declare function auditEventReferences(events: LocalEvent[], ctx: Pick<AuditContext, 'localVenueRefs' | 'remoteVenueRefs' | 'localCategoryRefs' | 'remoteCategoryRefs' | 'localFormRefs' | 'remoteFormRefs'>): AuditIssue[];
101
- export declare const createAuditCommand: () => Command;
@@ -1,24 +0,0 @@
1
- /**
2
- * Block Command
3
- *
4
- * Manage page blocks via CLI.
5
- *
6
- * Usage:
7
- * riverbankcms block upsert <page-id> <block-id> --kind <kind> --data <json>
8
- * riverbankcms block reorder <page-id> <id1> <id2> ...
9
- * riverbankcms block list <page-id>
10
- * riverbankcms block get <page-id> <block-id>
11
- *
12
- * For deletion, use: riverbankcms delete block <page-id> <block-id>
13
- */
14
- import { Command } from 'commander';
15
- import type { ManagementClient } from '../../client/management/types';
16
- import { type MediaValidationResult } from '../media/write-guard';
17
- export declare function validateBlockUpsertMedia(options: {
18
- client: ManagementClient;
19
- pageIdentifier: string;
20
- blockIdentifier: string;
21
- blockKind: string;
22
- data: Record<string, unknown>;
23
- }): Promise<MediaValidationResult>;
24
- export declare const blockCommand: Command;
@@ -1,62 +0,0 @@
1
- /**
2
- * Compare Command
3
- *
4
- * Compare content between local files and CMS, or between environments.
5
- *
6
- * Comparison modes:
7
- * 1. Local vs CMS (default): Compare local JSON files against CMS content
8
- * 2. Local vs Remote: Compare local CMS against remote CMS (--local-vs-remote)
9
- *
10
- * Output modes:
11
- * 1. Summary (default): Table showing counts of differences
12
- * 2. Diff: Git-style diff showing actual content changes (--diff)
13
- *
14
- * Usage:
15
- * riverbankcms compare entries blog-post # Compare local files vs local CMS
16
- * riverbankcms compare entries blog-post --env=remote # Compare local files vs remote CMS
17
- * riverbankcms compare entries blog-post --diff # Show detailed diff
18
- * riverbankcms compare entries --local-vs-remote # Compare local CMS vs remote CMS
19
- */
20
- import { Command } from 'commander';
21
- import { type LocalEntry } from '../content/reader';
22
- interface ComparisonEntry {
23
- identifier: string;
24
- status: 'added' | 'removed' | 'modified' | 'unchanged';
25
- localData?: Record<string, unknown>;
26
- remoteData?: Record<string, unknown>;
27
- localStatus?: string;
28
- remoteStatus?: string;
29
- }
30
- export interface ComparisonResult {
31
- contentType: string;
32
- added: ComparisonEntry[];
33
- removed: ComparisonEntry[];
34
- modified: ComparisonEntry[];
35
- unchanged: number;
36
- }
37
- export declare function compareIdentifierCollections<TLocal extends {
38
- identifier: string;
39
- }, TRemote extends {
40
- identifier: string;
41
- }>(localItems: TLocal[], remoteItems: TRemote[], toLocalComparable: (item: TLocal) => Record<string, unknown>, toRemoteComparable: (item: TRemote) => Record<string, unknown>, contentType: string): ComparisonResult;
42
- /**
43
- * Deep comparison of two objects.
44
- * Exported for testing.
45
- */
46
- export declare function deepEqual(a: unknown, b: unknown): boolean;
47
- /**
48
- * Generate simple diff output for two objects.
49
- * Exported for testing.
50
- */
51
- export declare function generateDiff(identifier: string, local: unknown, remote: unknown): string[];
52
- /**
53
- * Compare local content against CMS content.
54
- * Exported for testing.
55
- */
56
- export declare function compareLocalVsCms(localEntries: LocalEntry[], remoteEntries: Array<{
57
- identifier: string;
58
- data: Record<string, unknown>;
59
- status: string;
60
- }>, contentType: string): ComparisonResult;
61
- export declare const createCompareCommand: () => Command;
62
- export {};
@@ -1,10 +0,0 @@
1
- /**
2
- * Content Type Command
3
- *
4
- * Inspect content types on target site via CLI.
5
- *
6
- * Usage:
7
- * riverbankcms content-type list [--env=remote]
8
- */
9
- import { Command } from 'commander';
10
- export declare const contentTypeCommand: Command;