@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
@@ -1,63 +0,0 @@
1
- import type { OutputContext } from '../../../output';
2
- import type { ValidatedThemeForPersistence } from '../../../../../../blocks/src/index';
3
- import type { ThemeUpsertUpdateInput } from '../../../../client/management/types';
4
- export type ThemePushClient = {
5
- theme: {
6
- upsert: (params: ThemeUpsertUpdateInput) => Promise<{
7
- themeId: string;
8
- selectionId: string;
9
- savedAt: string;
10
- }>;
11
- };
12
- pull: {
13
- theme: () => Promise<{
14
- meta: {
15
- updatedAt?: string | null;
16
- };
17
- }>;
18
- };
19
- };
20
- export type ThemeMetaEntry = {
21
- themeId: string;
22
- selectionId: string;
23
- updatedAt: string;
24
- };
25
- export type ThemesMetaFile = {
26
- pulledAt: string;
27
- themes: Record<string, ThemeMetaEntry>;
28
- };
29
- export declare function pushThemeAndUpdateMeta(params: {
30
- client: ThemePushClient;
31
- contentDir: string;
32
- themeName: string;
33
- theme: ThemeUpsertUpdateInput['theme'];
34
- existingMeta?: ThemeMetaEntry;
35
- readThemesMeta: (contentDir: string) => Promise<ThemesMetaFile | null>;
36
- writeThemesMeta: (contentDir: string, data: ThemesMetaFile) => Promise<void>;
37
- }): Promise<{
38
- themeId: string;
39
- selectionId: string;
40
- savedAt: string;
41
- }>;
42
- /**
43
- * Handle theme push with validation and output.
44
- * Used by both the early-return path (no content changes) and the main flow.
45
- */
46
- export declare function handleThemePushForAllScope(params: {
47
- client: ThemePushClient;
48
- contentDir: string;
49
- cliConfig: {
50
- activeTheme?: string;
51
- };
52
- output: OutputContext;
53
- options: {
54
- dryRun: boolean;
55
- afterContentPush?: boolean;
56
- };
57
- readTheme: (contentDir: string, themeName: string) => Promise<{
58
- name: string;
59
- theme: ValidatedThemeForPersistence;
60
- } | null>;
61
- readThemesMeta: (contentDir: string) => Promise<ThemesMetaFile | null>;
62
- writeThemesMeta: (contentDir: string, data: ThemesMetaFile) => Promise<void>;
63
- }): Promise<void>;
@@ -1,15 +0,0 @@
1
- import type { LocalContent } from '../../content/reader';
2
- /**
3
- * Result of filtering local content
4
- */
5
- export interface FilterResult {
6
- /** The filtered content (empty on error) */
7
- content: LocalContent;
8
- /** Error message if validation failed */
9
- error?: string;
10
- }
11
- /**
12
- * Filter local content based on push scope (entries, pages, navigation, forms, or all)
13
- * @internal Exported for testing
14
- */
15
- export declare function filterLocalContent(localContent: LocalContent, scope: string, contentType?: string, identifier?: string): FilterResult;
@@ -1,29 +0,0 @@
1
- import type { SyncResult } from '../../sync';
2
- /**
3
- * Flags indicating which content types should have their metadata updated
4
- * after a push operation.
5
- */
6
- export interface MetadataUpdateFlags {
7
- /** Whether entries metadata should be updated (zero failures + some synced) */
8
- willUpdateEntries: boolean;
9
- /** Whether pages metadata should be updated (zero failures + some synced) */
10
- willUpdatePages: boolean;
11
- /** Whether navigation metadata should be updated (zero failures + some synced) */
12
- willUpdateNavigation: boolean;
13
- /** Whether forms metadata should be updated (zero failures + some synced) */
14
- willUpdateForms: boolean;
15
- /** Whether settings metadata should be updated (zero failures + settings synced) */
16
- willUpdateSettings: boolean;
17
- /** Whether any metadata should be updated (at least one content type qualifies) */
18
- shouldUpdateMetadata: boolean;
19
- }
20
- /**
21
- * Calculate which content types should have their metadata updated after a push.
22
- * Metadata is only updated for content types that:
23
- * 1. Had zero failures (all items synced successfully)
24
- * 2. Had at least one item created or updated (something actually changed)
25
- *
26
- * This prevents false "stale content" warnings on subsequent pushes after
27
- * partial failures.
28
- */
29
- export declare function calculateMetadataUpdates(result: SyncResult): MetadataUpdateFlags;
@@ -1,2 +0,0 @@
1
- import type { LocalContent } from '../../content/reader';
2
- export declare function normalizeLocalContentShape(content: unknown): LocalContent;
@@ -1,32 +0,0 @@
1
- export interface PushOptions {
2
- contentDir?: string;
3
- dryRun?: boolean;
4
- yes?: boolean;
5
- force?: boolean;
6
- forceUpdateAsset?: boolean;
7
- allowTruncated?: boolean;
8
- /** @deprecated Use `--diff-detail` instead; folded into the `--json` envelope. */
9
- jsonDiff?: string;
10
- /** Diff verbosity carried in the `--json` envelope: 'summary' (default) or 'full'. */
11
- diffDetail?: string;
12
- withConfig?: boolean;
13
- withTheme?: boolean;
14
- syncMedia?: boolean;
15
- overwriteMedia?: boolean;
16
- /** @deprecated Use deleteOrphaned instead */
17
- deleteMissing?: boolean;
18
- /** Delete remote items not present in local files (entries, events, venues, event-categories) */
19
- deleteOrphaned?: boolean;
20
- /** Automatically pull stale content and retry push instead of aborting */
21
- autoPullStale?: boolean;
22
- /** Use three-way merge bases to preserve remote entry edits during entries pushes */
23
- mergeRemote?: boolean;
24
- /** Skip writing .meta/*.json and media/.manifest.json (Commander --no-meta sets this to false) */
25
- meta?: boolean;
26
- /** Show human-readable field-level diff (requires --dry-run) */
27
- diff?: boolean;
28
- /** Re-fetch after an applied push and fail if changes remain */
29
- verifyNoop?: boolean;
30
- /** Continue event scoped pushes when local media identifiers are missing */
31
- allowMissingMedia?: boolean;
32
- }
@@ -1,15 +0,0 @@
1
- import type { LocalContent } from '../../content/reader';
2
- import type { ContentDiff } from '../../sync';
3
- import type { EnvTarget } from '../../helpers';
4
- export type PublishGuidanceEntry = Readonly<{
5
- contentType: string;
6
- identifier: string;
7
- }>;
8
- export declare function collectUpdatedPublishedEntriesForGuidance(input: Readonly<{
9
- diff: Pick<ContentDiff, 'entries'>;
10
- local: Pick<LocalContent, 'entries'>;
11
- }>): readonly PublishGuidanceEntry[];
12
- export declare function buildPublishAllSuggestion(input: Readonly<{
13
- entries: readonly PublishGuidanceEntry[];
14
- target: EnvTarget;
15
- }>): string;
@@ -1,25 +0,0 @@
1
- import type { LocalContent } from '../../content/reader';
2
- import type { PulledContent } from '../../../client/management/types';
3
- import { InvalidLocalEventScheduleIdentityError } from '../../content/localEventSchedule';
4
- export declare class IncompatibleEventPullContractError extends Error {
5
- readonly identifier: string;
6
- readonly code = "incompatible_event_pull_contract";
7
- constructor(identifier: string, cause: InvalidLocalEventScheduleIdentityError);
8
- }
9
- export interface PushAllEntityChanges {
10
- toPush: Set<string>;
11
- toDelete?: Set<string>;
12
- create: number;
13
- update: number;
14
- delete: number;
15
- unchanged: number;
16
- }
17
- export interface PushAllExtraChanges {
18
- venues: PushAllEntityChanges;
19
- eventCategories: PushAllEntityChanges;
20
- events: PushAllEntityChanges;
21
- hasChanges: boolean;
22
- }
23
- export declare function calculatePushAllExtraChanges(local: LocalContent, remote: PulledContent, options?: {
24
- deleteOrphaned?: boolean;
25
- }): PushAllExtraChanges;
@@ -1,83 +0,0 @@
1
- import type { SiteId } from '../../../../../../core/src/index';
2
- import { type FieldChange, type JsonDiffMode } from '../../../sync';
3
- import { type CliDatedOfferingCommandBatchSource, type CliDatedOfferingCommandCompileInput, type DatedOfferingReportSubject, type DatedOfferingUpsertItem } from '../../../site-commands';
4
- import type { WriterOptions } from '../../../content/writer';
5
- import type { ContentMetadataTarget } from '../../../content/metadataStore';
6
- import type { PushScopeResult, ScopePushContext } from './types';
7
- import type { LocalMediaPushReport } from '../../../media/local-sync';
8
- type CommandBackedDatedOfferingScopeConfig<TLocal, TRemote> = Readonly<{
9
- source: CliDatedOfferingCommandBatchSource;
10
- scopeName: string;
11
- itemLabelSingular: string;
12
- scopeCommand: DatedOfferingReportSubject['scopeCommand'];
13
- getIdentifier: (item: TLocal) => string;
14
- getDisplayLabel: (item: TLocal) => string;
15
- shouldPushItem?: (item: TLocal) => boolean;
16
- readLocal: (contentDir: string) => Promise<TLocal[]>;
17
- readMeta: (contentDir: string, metadataTarget?: ContentMetadataTarget) => Promise<Record<string, {
18
- updatedAt?: string;
19
- }> | null>;
20
- fetchRemote: () => Promise<TRemote[]>;
21
- getRemoteUpdatedAt: (remote: TRemote) => string;
22
- findRemote: (remoteItems: readonly TRemote[], identifier: string) => TRemote | undefined;
23
- getRemoteIdentifier: (remote: TRemote) => string;
24
- updateLocalMeta: (contentDir: string, options?: WriterOptions) => Promise<void>;
25
- readOnlyStatusWarning?: (item: TLocal) => string | null;
26
- buildCompileInput: (input: Readonly<{
27
- source: CliDatedOfferingCommandBatchSource;
28
- siteId: SiteId;
29
- targetEnv: ScopePushContext['targetEnv'];
30
- upserts: readonly DatedOfferingUpsertItem<TLocal>[];
31
- deletes: readonly string[];
32
- }>) => CliDatedOfferingCommandCompileInput;
33
- dryRunReportExtras?: Readonly<{
34
- media?: LocalMediaPushReport;
35
- }>;
36
- }>;
37
- type DatedOfferingDryRunItemStatus = 'created' | 'updated' | 'unchanged' | 'deleted';
38
- export type DatedOfferingDryRunItem = Readonly<{
39
- identifier: string;
40
- label: string;
41
- status: DatedOfferingDryRunItemStatus;
42
- changes: readonly FieldChange[];
43
- }>;
44
- export type DatedOfferingDryRunSummary = Readonly<{
45
- created: number;
46
- updated: number;
47
- unchanged: number;
48
- deleted: number;
49
- }>;
50
- export type DatedOfferingDryRunPlan = Readonly<{
51
- summary: DatedOfferingDryRunSummary;
52
- items: readonly DatedOfferingDryRunItem[];
53
- }>;
54
- export type ScopedPushJsonDiffChange = Readonly<{
55
- type: string;
56
- identifier: string;
57
- operation: 'create' | 'update' | 'delete';
58
- changes?: DatedOfferingDryRunItem['changes'];
59
- }>;
60
- export interface ScopedPushJsonDiff {
61
- mode: JsonDiffMode;
62
- direction: 'push';
63
- scope: string;
64
- targetEnv: ScopePushContext['targetEnv'];
65
- dryRun: true;
66
- summary: Readonly<{
67
- creates: number;
68
- updates: number;
69
- deletes: number;
70
- unchanged: number;
71
- }>;
72
- changes: readonly ScopedPushJsonDiffChange[];
73
- media?: LocalMediaPushReport;
74
- }
75
- export declare function normalizeDatedOfferingForComparison(value: unknown): Record<string, unknown>;
76
- export declare function buildDatedOfferingDryRunPlan<TLocal, TRemote>(input: Readonly<{
77
- localItems: readonly TLocal[];
78
- remoteItems: readonly TRemote[];
79
- orphanIdentifiers: readonly string[];
80
- config: Pick<CommandBackedDatedOfferingScopeConfig<TLocal, TRemote>, 'getIdentifier' | 'getDisplayLabel' | 'findRemote'>;
81
- }>): DatedOfferingDryRunPlan;
82
- export declare function pushCommandBackedDatedOfferingScope<TLocal, TRemote>(ctx: ScopePushContext, config: CommandBackedDatedOfferingScopeConfig<TLocal, TRemote>): Promise<PushScopeResult>;
83
- export {};
@@ -1,4 +0,0 @@
1
- import type { PushScopeResult, ScopePushContext } from './types';
2
- export declare function pushEventCategoriesScope(ctx: ScopePushContext, options?: {
3
- only?: Set<string>;
4
- }): Promise<PushScopeResult>;
@@ -1,4 +0,0 @@
1
- import type { PushScopeResult, ScopePushContext } from './types';
2
- export declare function pushEventsScope(ctx: ScopePushContext, options?: {
3
- only?: Set<string>;
4
- }): Promise<PushScopeResult>;
@@ -1,14 +0,0 @@
1
- import type { LocalContent } from '../../../content/reader';
2
- import type { LocalMediaPushReport } from '../../../media/local-sync';
3
- import type { ScopePushContext } from './types';
4
- export declare function createEmptyLocalContent(): LocalContent;
5
- type ScopedLocalMediaSyncResult = Readonly<{
6
- ok: true;
7
- mediaReport: LocalMediaPushReport;
8
- }> | Readonly<{
9
- ok: false;
10
- errors: string[];
11
- mediaReport: LocalMediaPushReport;
12
- }>;
13
- export declare function syncLocalMediaForScopePush(ctx: ScopePushContext, content: LocalContent): Promise<ScopedLocalMediaSyncResult>;
14
- export {};
@@ -1,6 +0,0 @@
1
- import type { ScopePushContext, PushScopeConfig, PushScopeResult } from './types';
2
- /**
3
- * Generic push scope handler that reduces duplication across push operations.
4
- * Handles stale detection, dry-run output, push loop, orphan deletion, and metadata update.
5
- */
6
- export declare function pushScopeGeneric<TLocal, TRemote>(ctx: ScopePushContext, config: PushScopeConfig<TLocal, TRemote>): Promise<PushScopeResult>;
@@ -1,87 +0,0 @@
1
- import type { OutputContext } from '../../../output';
2
- import type { ManagementClient } from '../../../../client/management';
3
- import type { WriterOptions } from '../../../content/writer';
4
- import type { SiteId } from '../../../../../../core/src/index';
5
- import type { EnvTarget } from '../../../helpers';
6
- import type { JsonDiffMode } from '../../../sync';
7
- import type { LocalMediaPushReport } from '../../../media/local-sync';
8
- import type { ContentMetadataTarget } from '../../../content/metadataStore';
9
- export type PushMediaPolicy = 'require' | 'allow-missing';
10
- export interface ScopePushContext {
11
- output: OutputContext;
12
- contentDir: string;
13
- siteId: SiteId;
14
- targetEnv: EnvTarget;
15
- metadataTarget: ContentMetadataTarget;
16
- client: ManagementClient;
17
- dryRun: boolean;
18
- force: boolean;
19
- isJsonOutput: boolean;
20
- isStructuredOutput?: boolean;
21
- jsonDiffMode?: JsonDiffMode | null;
22
- forceUpdateAsset?: boolean;
23
- deleteOrphaned: boolean;
24
- autoPullStale: boolean;
25
- skipMeta: boolean;
26
- humanDiff: boolean;
27
- mediaPolicy: PushMediaPolicy;
28
- }
29
- export type PushScopeResultStatus = 'noop' | 'dry-run' | 'aborted' | 'failed' | 'pushed';
30
- export interface PushScopeItemError {
31
- identifier: string;
32
- error: string;
33
- }
34
- export interface PushScopeResult {
35
- status: PushScopeResultStatus;
36
- scopeCommand: string;
37
- scopeName: string;
38
- created: number;
39
- updated: number;
40
- unchanged?: number;
41
- deleted: number;
42
- failed: number;
43
- errors: PushScopeItemError[];
44
- media?: LocalMediaPushReport;
45
- }
46
- /**
47
- * Generic configuration for push scope operations
48
- */
49
- export interface PushScopeConfig<TLocal, TRemote> {
50
- /** Scope name for display (e.g., "venues", "event categories") */
51
- scopeName: string;
52
- /** Singular label for error output (e.g., "venue", "event category") */
53
- itemLabelSingular: string;
54
- /** Scope name for CLI commands (e.g., "venues", "event-categories") */
55
- scopeCommand: string;
56
- /** Get the identifier from a local item */
57
- getIdentifier: (item: TLocal) => string;
58
- /** Get the display label from a local item */
59
- getDisplayLabel: (item: TLocal) => string;
60
- /** Optional filter to push only some local items (e.g., only changed IDs on `push all`) */
61
- shouldPushItem?: (item: TLocal) => boolean;
62
- /** Read local items from content directory */
63
- readLocal: (contentDir: string) => Promise<TLocal[]>;
64
- /** Read local metadata for stale detection */
65
- readMeta: (contentDir: string, metadataTarget?: ContentMetadataTarget) => Promise<Record<string, {
66
- updatedAt?: string;
67
- }> | null>;
68
- /** Fetch remote items */
69
- fetchRemote: () => Promise<TRemote[]>;
70
- /** Get effective updatedAt from remote item for stale detection (may combine multiple timestamps) */
71
- getRemoteUpdatedAt: (remote: TRemote) => string;
72
- /** Find matching remote item by identifier */
73
- findRemote: (remotes: TRemote[], identifier: string) => TRemote | undefined;
74
- /** Check if item exists remotely */
75
- checkExists: (identifier: string) => Promise<boolean>;
76
- /** Push a single item */
77
- pushItem: (item: TLocal) => Promise<void>;
78
- /** Orphan deletion support — presence enables `--delete-orphaned` for this scope */
79
- orphanDeletion?: {
80
- /** Get the identifier from a remote item */
81
- getRemoteIdentifier: (remote: TRemote) => string;
82
- /** Delete a remote item by identifier */
83
- deleteItem: (identifier: string) => Promise<void>;
84
- };
85
- /** Update local metadata after push */
86
- updateLocalMeta: (contentDir: string, options?: WriterOptions) => Promise<void>;
87
- }
@@ -1,4 +0,0 @@
1
- import type { PushScopeResult, ScopePushContext } from './types';
2
- export declare function pushVenuesScope(ctx: ScopePushContext, options?: {
3
- only?: Set<string>;
4
- }): Promise<PushScopeResult>;
@@ -1,48 +0,0 @@
1
- import { type ContentMetadataTarget } from '../../content/metadataStore';
2
- import type { OutputContext } from '../../output';
3
- import type { PulledContent } from '../../../client/management/types';
4
- import type { StaleItem } from './stale';
5
- /**
6
- * Decide whether to resolve stale content inline or abort.
7
- *
8
- * Precedence (checked before calling this):
9
- * --force → skips stale check entirely (never reaches here)
10
- * --dry-run → continues past stale (never reaches here)
11
- *
12
- * Inside this function:
13
- * --auto-pull-stale → resolve
14
- * --yes / non-TTY → abort (can't prompt)
15
- * interactive → prompt user
16
- */
17
- export declare function resolveStaleOrAbort(opts: {
18
- autoPullStale: boolean;
19
- yes: boolean;
20
- }): Promise<'resolve' | 'abort'>;
21
- /**
22
- * Write only the stale entries/pages/navigation/forms/settings from the already-fetched
23
- * remoteContent to disk and update their metadata. Non-stale local content is
24
- * preserved — we only touch the specific items identified as stale.
25
- *
26
- * For entries and pages: overwrites the content files with remote data + updates metadata.
27
- * For navigation and forms: updates metadata timestamps only. These are single-file or
28
- * low-granularity scopes where the user's local edits ARE the content being pushed,
29
- * similar to theme/footer. Updating metadata clears the stale flag so the push proceeds.
30
- */
31
- export declare function writeStaleItems(contentDir: string, remoteContent: PulledContent, staleItems: StaleItem[], output: OutputContext, options?: {
32
- skipMeta?: boolean;
33
- metadataTarget?: ContentMetadataTarget;
34
- }): Promise<void>;
35
- /**
36
- * Update only the theme metadata timestamp without touching the theme content file.
37
- * Used when the local theme IS the content being pushed — we just need to acknowledge
38
- * the remote is newer so stale detection passes on the next push.
39
- */
40
- export declare function updateStaleThemeMeta(contentDir: string, themeName: string, remoteUpdatedAt: string, options?: {
41
- metadataTarget?: ContentMetadataTarget;
42
- }): Promise<void>;
43
- /**
44
- * Update only the footer metadata timestamp without touching the footer content file.
45
- */
46
- export declare function updateStaleFooterMeta(contentDir: string, remoteUpdatedAt: string, options?: {
47
- metadataTarget?: ContentMetadataTarget;
48
- }): Promise<void>;
@@ -1,17 +0,0 @@
1
- import type { EntryMetadata, PagesMetadata, NavigationMetadata, FormsMetadata, LocalContent, SettingsMetadata } from '../../content/reader';
2
- import type { PulledContent } from '../../../client/management/types';
3
- export type StaleScope = 'entries' | 'pages' | 'navigation' | 'settings' | 'forms';
4
- export interface StaleItem {
5
- scope: StaleScope;
6
- /** Only set for entries — the content type slug */
7
- contentType?: string;
8
- identifier: string;
9
- remoteUpdatedAt: string;
10
- /** Human-readable message (preserves existing output) */
11
- display: string;
12
- }
13
- /**
14
- * Check for stale content (remote is newer than local base)
15
- * @internal Exported for testing
16
- */
17
- export declare function checkForStaleContent(localContent: LocalContent, localMeta: Map<string, EntryMetadata>, pagesMeta: PagesMetadata | null, navigationMeta: NavigationMetadata | null, formsMeta: FormsMetadata | null, remoteContent: PulledContent, settingsMeta?: SettingsMetadata | null): StaleItem[];
@@ -1,56 +0,0 @@
1
- import type { EnvTarget } from '../../helpers';
2
- import type { OutputContext } from '../../output';
3
- import type { PushOptions } from './options';
4
- import { type PushScope } from './consts';
5
- export type PushVerificationStatus = 'clean' | 'dirty' | 'fetch_failed' | 'unsupported_scope';
6
- export type PushVerificationDirtyScope = Readonly<{
7
- scope: string;
8
- summary: Readonly<Record<string, number>>;
9
- }>;
10
- export type PushVerificationResult = Readonly<{
11
- status: 'clean';
12
- target: EnvTarget;
13
- }> | Readonly<{
14
- status: 'dirty';
15
- target: EnvTarget;
16
- dirtyScopes: readonly PushVerificationDirtyScope[];
17
- }> | Readonly<{
18
- status: 'fetch_failed';
19
- target: EnvTarget;
20
- error: string;
21
- }> | Readonly<{
22
- status: 'unsupported_scope';
23
- target: EnvTarget;
24
- scope: string;
25
- }>;
26
- export type PushVerificationInput = Readonly<{
27
- target: EnvTarget;
28
- scope: string | undefined;
29
- type: string | undefined;
30
- identifier: string | undefined;
31
- options: PushOptions;
32
- }>;
33
- export type PushVerificationDeps = Readonly<{
34
- verifyGeneric: (input: PushVerificationInput & {
35
- pushScope: PushScope;
36
- }) => Promise<readonly PushVerificationDirtyScope[]>;
37
- verifyDatedOffering: (input: PushVerificationInput & {
38
- pushScope: 'venues' | 'event-categories' | 'events';
39
- }) => Promise<readonly PushVerificationDirtyScope[]>;
40
- }>;
41
- export declare function collectDatedOfferingVerificationOrphans<TLocal, TRemote>(input: Readonly<{
42
- deleteOrphaned: boolean;
43
- hasScopedSelector: boolean;
44
- allLocalItems: readonly TLocal[];
45
- remoteItems: readonly TRemote[];
46
- getLocalIdentifier: (item: TLocal) => string;
47
- getRemoteIdentifier: (item: TRemote) => string;
48
- }>): readonly string[];
49
- export declare function verifyGenericPushNoop(input: PushVerificationInput & {
50
- pushScope: PushScope;
51
- }): Promise<readonly PushVerificationDirtyScope[]>;
52
- export declare function createProductionPushVerificationDeps(): PushVerificationDeps;
53
- export declare function verifyPushNoopForEnvWithDeps(deps: PushVerificationDeps, input: PushVerificationInput): Promise<PushVerificationResult>;
54
- export declare function verifyPushNoopForEnv(input: PushVerificationInput): Promise<PushVerificationResult>;
55
- export declare function isPushVerificationClean(result: PushVerificationResult): boolean;
56
- export declare function emitPushVerificationResult(output: OutputContext, result: PushVerificationResult, jsonOutput: boolean): void;
@@ -1,34 +0,0 @@
1
- import type { PushScope } from './consts';
2
- export type PushWorkflowStep = Readonly<{
3
- tag: 'config';
4
- mode: 'apply';
5
- }> | Readonly<{
6
- tag: 'content';
7
- }>;
8
- export type PushWorkflowPreContentStep = Extract<PushWorkflowStep, {
9
- tag: 'config';
10
- }>;
11
- export type PushWorkflowPlan = Readonly<{
12
- steps: readonly PushWorkflowStep[];
13
- warnings: readonly PushWorkflowWarning[];
14
- }>;
15
- export type PushWorkflowWarning = Readonly<{
16
- tag: 'with_config_ignored_for_scope';
17
- pushScope: PushScope;
18
- }>;
19
- export type PlanPushWorkflowInput = Readonly<{
20
- pushScope: PushScope;
21
- withConfig: boolean;
22
- dryRun: boolean;
23
- }>;
24
- export declare function planPushWorkflow(input: PlanPushWorkflowInput): PushWorkflowPlan;
25
- export declare function shouldApplyConfigBeforeContent(plan: PushWorkflowPlan): boolean;
26
- export declare function preContentWorkflowSteps(plan: PushWorkflowPlan): readonly PushWorkflowPreContentStep[];
27
- export type PushWorkflowPreContentHandlers = Readonly<{
28
- [TStep in PushWorkflowPreContentStep as TStep['tag']]: (step: TStep) => Promise<boolean>;
29
- }>;
30
- export declare function runPushWorkflowPreContentSteps(plan: PushWorkflowPlan, handlers: PushWorkflowPreContentHandlers): Promise<Readonly<{
31
- success: true;
32
- }> | Readonly<{
33
- success: false;
34
- }>>;
@@ -1,54 +0,0 @@
1
- import { type EnvTarget } from '../helpers';
2
- import type { OutputContext } from '../output';
3
- import type { ContentSummary } from '../content/reader';
4
- import { type JsonDiffMode } from '../sync';
5
- import type { PushOptions } from './push/options';
6
- import { type PushScope } from './push/consts';
7
- export interface PushExecutionResult {
8
- success: boolean;
9
- }
10
- /**
11
- * Single command-owned result for a push, assembled once at the end of the push
12
- * command (finding 4). `executePushForEnv` writes the diff into `detail` and the
13
- * sync outcome into `execution`; the command adds `verification` and emits the
14
- * whole object exactly once, so no stage's result clobbers another's.
15
- */
16
- export interface PushResultAccumulator {
17
- detail?: unknown;
18
- execution?: unknown;
19
- verification?: unknown;
20
- }
21
- export declare function noContentFoundWarningDetails(contentDir: string): Readonly<{
22
- contentDir: string;
23
- expectedFiles: readonly string[];
24
- suggestion: string;
25
- }>;
26
- export declare function contentSummaryHasPushableContent(summary: ContentSummary): boolean;
27
- type MergeRemoteValidationInput = Readonly<{
28
- target: EnvTarget;
29
- pushScope: PushScope;
30
- contentType?: string;
31
- identifier?: string;
32
- force: boolean;
33
- deleteOrphaned: boolean;
34
- autoPullStale: boolean;
35
- }>;
36
- type MergeRemoteValidationError = Readonly<{
37
- message: string;
38
- details: Readonly<{
39
- suggestion: string;
40
- }>;
41
- }>;
42
- export declare function validateMergeRemotePushOptions(input: MergeRemoteValidationInput): MergeRemoteValidationError | null;
43
- export declare const validateMergeRemoteEntryPushOptions: typeof validateMergeRemotePushOptions;
44
- /**
45
- * Execute push for a single environment.
46
- * Extracted to support --env=both multi-environment operations.
47
- */
48
- export declare function executePushForEnv(output: OutputContext, target: EnvTarget, scope: string | undefined, type: string | undefined, identifier: string | undefined, options: PushOptions & {
49
- dryRun: boolean;
50
- jsonDiffMode?: JsonDiffMode | null;
51
- }, globalOpts: {
52
- json?: boolean;
53
- }, resultSink?: PushResultAccumulator): Promise<PushExecutionResult>;
54
- export {};
@@ -1,40 +0,0 @@
1
- /**
2
- * Push Command
3
- *
4
- * Pushes local content to the CMS with diff-based sync.
5
- *
6
- * Usage:
7
- * riverbankcms push # Push all content
8
- * riverbankcms push entries # Push all entries
9
- * riverbankcms push entries blog-post # Push specific content type
10
- * riverbankcms push entries blog-post welcome # Push specific entry
11
- * riverbankcms push pages # Push pages with blocks
12
- * riverbankcms push pages home # Push specific page with blocks
13
- * riverbankcms push navigation # Push navigation menus
14
- * riverbankcms push settings # Push site settings
15
- * riverbankcms push footer # Push footer content
16
- * riverbankcms push theme # Push activeTheme from config (or 'current')
17
- * riverbankcms push theme modern # Push specific theme file
18
- * riverbankcms push --with-theme # Also push theme (when scope is 'all')
19
- * riverbankcms push --dry-run # Show what would be pushed
20
- */
21
- import { Command } from 'commander';
22
- import { allEnvSucceeded, getOutputContext, runForEnvironments } from '../helpers';
23
- import { executePushForEnv } from './push-execute';
24
- import { emitPushVerificationResult, isPushVerificationClean, verifyPushNoopForEnv } from './push/verification';
25
- export { contentSummaryHasPushableContent, noContentFoundWarningDetails } from './push-execute';
26
- export { VALID_PUSH_SCOPES, isValidPushScope, type PushScope } from './push/consts';
27
- export { calculateMetadataUpdates, type MetadataUpdateFlags } from './push/metadata';
28
- export { filterLocalContent, type FilterResult } from './push/filter';
29
- export { checkForStaleContent, type StaleItem } from './push/stale';
30
- export type PushCommandDeps = Readonly<{
31
- getOutputContext: typeof getOutputContext;
32
- runForEnvironments: typeof runForEnvironments;
33
- allEnvSucceeded: typeof allEnvSucceeded;
34
- executePushForEnv: typeof executePushForEnv;
35
- verifyPushNoopForEnv: typeof verifyPushNoopForEnv;
36
- emitPushVerificationResult: typeof emitPushVerificationResult;
37
- isPushVerificationClean: typeof isPushVerificationClean;
38
- }>;
39
- export declare function createPushCommand(deps?: PushCommandDeps): Command;
40
- export declare const pushCommand: Command;