@riverbankcms/sdk 0.7.0 → 0.7.3

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 (184) hide show
  1. package/README.md +229 -0
  2. package/dist/cli/index.js +42 -95
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/cli/init-docs/content/agents-section.md +50 -0
  5. package/dist/cli/init-docs/content/cli-reference.md +574 -0
  6. package/dist/cli/init-docs/content/content-management.md +384 -0
  7. package/dist/cli/init-docs/content/context-brand.md +125 -0
  8. package/dist/cli/init-docs/content/context-brief.md +77 -0
  9. package/dist/cli/init-docs/content/context-knowledge.md +111 -0
  10. package/dist/cli/init-docs/content/getting-started.md +130 -0
  11. package/dist/cli/init-docs/content/site-workflows-readme.md +96 -0
  12. package/dist/cli/init-docs/content/workflow-add-block.md +228 -0
  13. package/dist/cli/init-docs/content/workflow-create-page.md +193 -0
  14. package/dist/cli/init-docs/content/workflow-publish.md +280 -0
  15. package/dist/client/bookings.d.mts +2 -0
  16. package/dist/client/bookings.d.ts +2 -0
  17. package/dist/client/bookings.js +2956 -104
  18. package/dist/client/bookings.js.map +1 -1
  19. package/dist/client/bookings.mjs +2929 -70
  20. package/dist/client/bookings.mjs.map +1 -1
  21. package/dist/client/client.d.mts +2 -2
  22. package/dist/client/client.d.ts +2 -2
  23. package/dist/client/client.js +602 -68
  24. package/dist/client/client.js.map +1 -1
  25. package/dist/client/client.mjs +602 -68
  26. package/dist/client/client.mjs.map +1 -1
  27. package/dist/client/hooks.d.mts +2 -2
  28. package/dist/client/hooks.d.ts +2 -2
  29. package/dist/client/rendering/client.js +3070 -259
  30. package/dist/client/rendering/client.js.map +1 -1
  31. package/dist/client/rendering/client.mjs +3212 -395
  32. package/dist/client/rendering/client.mjs.map +1 -1
  33. package/dist/client/spam-protection.d.mts +55 -0
  34. package/dist/client/spam-protection.d.ts +55 -0
  35. package/dist/client/spam-protection.js +2915 -0
  36. package/dist/client/spam-protection.js.map +1 -0
  37. package/dist/client/spam-protection.mjs +2893 -0
  38. package/dist/client/spam-protection.mjs.map +1 -0
  39. package/dist/client/{usePage-BiOReg0_.d.ts → usePage-BYmJCCm1.d.ts} +132 -11
  40. package/dist/client/{usePage-BXjk8BhD.d.mts → usePage-DZtrWajy.d.mts} +132 -11
  41. package/dist/server/{Layout-wBtJLTVX.d.ts → Layout-Yluyb6sK.d.ts} +1 -1
  42. package/dist/server/{Layout-B7cvis7r.d.mts → Layout-qWLdVm5-.d.mts} +1 -1
  43. package/dist/server/chunk-2IZ6S225.js +122 -0
  44. package/dist/server/chunk-2IZ6S225.js.map +1 -0
  45. package/dist/server/chunk-4CV4JOE5.js +27 -0
  46. package/dist/server/chunk-4CV4JOE5.js.map +1 -0
  47. package/dist/server/chunk-5LRR64Y6.mjs +72 -0
  48. package/dist/server/chunk-5LRR64Y6.mjs.map +1 -0
  49. package/dist/server/chunk-NBTRDLCM.js +72 -0
  50. package/dist/server/chunk-NBTRDLCM.js.map +1 -0
  51. package/dist/server/chunk-NFEGQTCC.mjs +27 -0
  52. package/dist/server/{chunk-7FIJSGHU.mjs → chunk-NFQLH5IA.mjs} +856 -74
  53. package/dist/server/chunk-NFQLH5IA.mjs.map +1 -0
  54. package/dist/server/chunk-PPHZV6YD.mjs +122 -0
  55. package/dist/server/chunk-PPHZV6YD.mjs.map +1 -0
  56. package/dist/server/{chunk-P7UVAMK6.js → chunk-VLXTNB2C.js} +866 -84
  57. package/dist/server/chunk-VLXTNB2C.js.map +1 -0
  58. package/dist/server/{components-CMMwDXTW.d.mts → components-DNHfSCML.d.mts} +3 -3
  59. package/dist/server/{components-CICSJyp_.d.ts → components-Di5ME6He.d.ts} +3 -3
  60. package/dist/server/components.d.mts +5 -5
  61. package/dist/server/components.d.ts +5 -5
  62. package/dist/server/components.js +1 -1
  63. package/dist/server/components.mjs +1 -1
  64. package/dist/server/config-validation.js +1 -1
  65. package/dist/server/config-validation.mjs +1 -1
  66. package/dist/server/config.js +1 -1
  67. package/dist/server/config.mjs +1 -1
  68. package/dist/server/data.d.mts +2 -2
  69. package/dist/server/data.d.ts +2 -2
  70. package/dist/server/data.js +1 -1
  71. package/dist/server/data.mjs +1 -1
  72. package/dist/server/env.d.mts +109 -0
  73. package/dist/server/env.d.ts +109 -0
  74. package/dist/server/env.js +14 -0
  75. package/dist/server/env.js.map +1 -0
  76. package/dist/server/env.mjs +14 -0
  77. package/dist/server/{index-DI_qlYx3.d.mts → index--Oyunk_B.d.mts} +2 -2
  78. package/dist/server/{index-BTwWvSBu.d.ts → index-C9Ra8dza.d.ts} +2 -2
  79. package/dist/server/{index-Bucs6UqG.d.mts → index-Clm3skz_.d.mts} +1 -1
  80. package/dist/server/{index-Cp7tJuRt.d.ts → index-DLvNddi-.d.ts} +1 -1
  81. package/dist/server/index.d.mts +216 -5
  82. package/dist/server/index.d.ts +216 -5
  83. package/dist/server/index.js +301 -4
  84. package/dist/server/index.js.map +1 -1
  85. package/dist/server/index.mjs +301 -4
  86. package/dist/server/index.mjs.map +1 -1
  87. package/dist/server/{loadContent-DmgpFcFC.d.ts → loadContent-D7LQwI0o.d.ts} +3 -3
  88. package/dist/server/{loadContent-C-YYUKQa.d.mts → loadContent-DVfuBLiZ.d.mts} +3 -3
  89. package/dist/server/{loadPage-IDGVDFBB.js → loadPage-AXNAERDS.js} +2 -2
  90. package/dist/server/{loadPage-IDGVDFBB.js.map → loadPage-AXNAERDS.js.map} +1 -1
  91. package/dist/server/{loadPage-DP3nrHBi.d.ts → loadPage-BmYJCe_V.d.ts} +2 -2
  92. package/dist/server/{loadPage-B8mQUUSo.d.mts → loadPage-BucnLHmE.d.mts} +2 -2
  93. package/dist/server/{loadPage-DNQTTRHL.mjs → loadPage-XR7ORQ2E.mjs} +2 -2
  94. package/dist/server/loadPage-XR7ORQ2E.mjs.map +1 -0
  95. package/dist/server/metadata.d.mts +4 -4
  96. package/dist/server/metadata.d.ts +4 -4
  97. package/dist/server/metadata.js +1 -1
  98. package/dist/server/metadata.mjs +1 -1
  99. package/dist/server/navigation.d.mts +2 -2
  100. package/dist/server/navigation.d.ts +2 -2
  101. package/dist/server/navigation.js +1 -1
  102. package/dist/server/navigation.mjs +1 -1
  103. package/dist/server/next/revalidate.d.mts +66 -0
  104. package/dist/server/next/revalidate.d.ts +66 -0
  105. package/dist/server/next/revalidate.js +60 -0
  106. package/dist/server/next/revalidate.js.map +1 -0
  107. package/dist/server/next/revalidate.mjs +60 -0
  108. package/dist/server/next/revalidate.mjs.map +1 -0
  109. package/dist/server/next/tags.d.mts +81 -0
  110. package/dist/server/next/tags.d.ts +81 -0
  111. package/dist/server/next/tags.js +36 -0
  112. package/dist/server/next/tags.js.map +1 -0
  113. package/dist/server/next/tags.mjs +36 -0
  114. package/dist/server/next/tags.mjs.map +1 -0
  115. package/dist/server/next.d.mts +164 -6
  116. package/dist/server/next.d.ts +164 -6
  117. package/dist/server/next.js +79 -11
  118. package/dist/server/next.js.map +1 -1
  119. package/dist/server/next.mjs +76 -8
  120. package/dist/server/next.mjs.map +1 -1
  121. package/dist/server/rendering/server.d.mts +4 -4
  122. package/dist/server/rendering/server.d.ts +4 -4
  123. package/dist/server/rendering/server.js +1 -1
  124. package/dist/server/rendering/server.mjs +1 -1
  125. package/dist/server/rendering.d.mts +7 -7
  126. package/dist/server/rendering.d.ts +7 -7
  127. package/dist/server/rendering.js +3 -3
  128. package/dist/server/rendering.js.map +1 -1
  129. package/dist/server/rendering.mjs +4 -4
  130. package/dist/server/routing.d.mts +3 -3
  131. package/dist/server/routing.d.ts +3 -3
  132. package/dist/server/routing.js +2 -2
  133. package/dist/server/routing.mjs +2 -2
  134. package/dist/server/server.d.mts +5 -5
  135. package/dist/server/server.d.ts +5 -5
  136. package/dist/server/server.js +5 -5
  137. package/dist/server/server.js.map +1 -1
  138. package/dist/server/server.mjs +5 -5
  139. package/dist/server/theme-bridge.js +1 -1
  140. package/dist/server/theme-bridge.mjs +1 -1
  141. package/dist/server/theme.js +1 -1
  142. package/dist/server/theme.mjs +1 -1
  143. package/dist/server/{types-BvcJU7zk.d.ts → types-BRQyLrQU.d.ts} +132 -11
  144. package/dist/server/{types-Dsu9wsUh.d.mts → types-BSV6Vc-P.d.mts} +2 -2
  145. package/dist/server/{types-1cLz0vnq.d.mts → types-C-LShyIg.d.mts} +132 -11
  146. package/dist/server/{types-CVykEqXN.d.ts → types-Dt98DeYa.d.ts} +2 -2
  147. package/dist/server/webhooks.d.mts +81 -0
  148. package/dist/server/webhooks.d.ts +81 -0
  149. package/dist/server/webhooks.js +12 -0
  150. package/dist/server/webhooks.js.map +1 -0
  151. package/dist/server/webhooks.mjs +12 -0
  152. package/dist/server/webhooks.mjs.map +1 -0
  153. package/package.json +29 -3
  154. package/dist/client/resolver-BhueZVxZ.d.mts +0 -61
  155. package/dist/client/resolver-BhueZVxZ.d.ts +0 -61
  156. package/dist/client/usePage--fGlyrgj.d.mts +0 -6439
  157. package/dist/client/usePage-BBcFCxOU.d.ts +0 -6297
  158. package/dist/client/usePage-BC8Q2E3t.d.mts +0 -6431
  159. package/dist/client/usePage-BTPnCuWC.d.mts +0 -6511
  160. package/dist/client/usePage-BafOS9UT.d.mts +0 -6512
  161. package/dist/client/usePage-BcjWPXvh.d.mts +0 -6388
  162. package/dist/client/usePage-Bnx-kA6x.d.mts +0 -6670
  163. package/dist/client/usePage-BvKAa3Zw.d.mts +0 -366
  164. package/dist/client/usePage-BvKAa3Zw.d.ts +0 -366
  165. package/dist/client/usePage-BydHcMYB.d.mts +0 -6297
  166. package/dist/client/usePage-C3ZKNwY7.d.mts +0 -6393
  167. package/dist/client/usePage-CE7X5NcN.d.ts +0 -6439
  168. package/dist/client/usePage-CHEybPMD.d.ts +0 -6429
  169. package/dist/client/usePage-CrKw1H6Y.d.ts +0 -6338
  170. package/dist/client/usePage-CyYpOJud.d.ts +0 -6388
  171. package/dist/client/usePage-D4fxZbRR.d.mts +0 -6429
  172. package/dist/client/usePage-DMI8ImsU.d.mts +0 -6338
  173. package/dist/client/usePage-DoPI6b8V.d.ts +0 -6511
  174. package/dist/client/usePage-DpRNZUtP.d.ts +0 -6431
  175. package/dist/client/usePage-QNWArrVO.d.ts +0 -6670
  176. package/dist/client/usePage-fBgPB6Oq.d.ts +0 -6512
  177. package/dist/client/usePage-gpVaeWDy.d.ts +0 -6393
  178. package/dist/server/chunk-7FIJSGHU.mjs.map +0 -1
  179. package/dist/server/chunk-BJTO5JO5.mjs +0 -11
  180. package/dist/server/chunk-DGUM43GV.js +0 -11
  181. package/dist/server/chunk-DGUM43GV.js.map +0 -1
  182. package/dist/server/chunk-P7UVAMK6.js.map +0 -1
  183. /package/dist/server/{chunk-BJTO5JO5.mjs.map → chunk-NFEGQTCC.mjs.map} +0 -0
  184. /package/dist/server/{loadPage-DNQTTRHL.mjs.map → env.mjs.map} +0 -0
@@ -0,0 +1,280 @@
1
+ # Workflow: Publish Content
2
+
3
+ This workflow guides you through safely publishing content to make it live.
4
+
5
+ ## Understanding Draft vs Published
6
+
7
+ | Status | Behavior |
8
+ |--------|----------|
9
+ | **Draft** | Content is saved but not visible on the live site. Only visible in preview mode. |
10
+ | **Published** | Content is visible to all site visitors. |
11
+
12
+ By default, new content is created as a draft.
13
+
14
+ ## Publishing Individual Items
15
+
16
+ ### Publish an Entry
17
+
18
+ ```bash
19
+ riverbankcms entry publish <content-type> <identifier>
20
+ ```
21
+
22
+ **Example:**
23
+
24
+ ```bash
25
+ riverbankcms entry publish blog-post my-first-post
26
+ ```
27
+
28
+ ### Publish a Page
29
+
30
+ ```bash
31
+ riverbankcms page publish <identifier>
32
+ ```
33
+
34
+ **Example:**
35
+
36
+ ```bash
37
+ riverbankcms page publish about
38
+ ```
39
+
40
+ ## Checking Publication Status
41
+
42
+ ### Check Entry Status
43
+
44
+ ```bash
45
+ riverbankcms entry get <content-type> <identifier>
46
+ ```
47
+
48
+ Look for:
49
+ - `status: "published"` or `status: "draft"`
50
+ - `hasUnpublishedChanges: true/false`
51
+
52
+ ### Check Page Status
53
+
54
+ ```bash
55
+ riverbankcms page get <identifier>
56
+ ```
57
+
58
+ ### List All with Status (JSON)
59
+
60
+ ```bash
61
+ # List entries with status
62
+ riverbankcms entry list blog-post --json
63
+
64
+ # Filter to see status fields (requires jq)
65
+ riverbankcms entry list blog-post --json | jq '.items[] | {identifier, status, hasUnpublishedChanges}'
66
+
67
+ # List pages with status
68
+ riverbankcms page list --json
69
+ ```
70
+
71
+ ## Bulk Publishing via Push
72
+
73
+ When using `riverbankcms push`, the target status is controlled by your config.
74
+
75
+ ### Configure Auto-Publishing
76
+
77
+ In `riverbank.config.ts`:
78
+
79
+ ```typescript
80
+ export default defineConfig({
81
+ siteId: '...',
82
+ sync: {
83
+ // Automatically publish pushed content
84
+ contentTarget: 'publish',
85
+
86
+ // Or keep as draft (default)
87
+ contentTarget: 'draft',
88
+ },
89
+ });
90
+ ```
91
+
92
+ ### Push and Publish
93
+
94
+ ```bash
95
+ # With contentTarget: 'publish', this publishes all pushed content
96
+ riverbankcms push
97
+ ```
98
+
99
+ ### Push as Draft Then Publish Selectively
100
+
101
+ ```bash
102
+ # Push as drafts (default behavior)
103
+ riverbankcms push
104
+
105
+ # Then publish specific items
106
+ riverbankcms entry publish blog-post featured-post
107
+ riverbankcms page publish landing-page
108
+ ```
109
+
110
+ ## Unpublishing Content
111
+
112
+ ### Unpublish an Entry
113
+
114
+ ```bash
115
+ riverbankcms entry unpublish <content-type> <identifier>
116
+ ```
117
+
118
+ **Example:**
119
+
120
+ ```bash
121
+ riverbankcms entry unpublish blog-post old-post
122
+ ```
123
+
124
+ ### Unpublish a Page
125
+
126
+ ```bash
127
+ riverbankcms page unpublish <identifier>
128
+ ```
129
+
130
+ **Example:**
131
+
132
+ ```bash
133
+ riverbankcms page unpublish outdated-landing
134
+ ```
135
+
136
+ Unpublishing reverts content to draft status. The content is preserved but no longer visible on the live site.
137
+
138
+ ## Safe Publishing Workflow
139
+
140
+ Follow these steps to safely publish content:
141
+
142
+ ### 1. Pull Latest Content
143
+
144
+ Ensure you're working with the current state:
145
+
146
+ ```bash
147
+ riverbankcms pull
148
+ ```
149
+
150
+ ### 2. Make and Verify Changes
151
+
152
+ ```bash
153
+ # Make changes via CLI or edit local files
154
+ riverbankcms entry upsert blog-post my-post --data '...'
155
+
156
+ # Or edit content/entries/blog-post.json
157
+ ```
158
+
159
+ ### 3. Preview Changes
160
+
161
+ ```bash
162
+ # Preview what would be pushed
163
+ riverbankcms push --dry-run
164
+
165
+ # Preview specific blocks visually
166
+ riverbankcms preview block.hero --data '...' --open
167
+ ```
168
+
169
+ ### 4. Push Changes (as Draft)
170
+
171
+ ```bash
172
+ riverbankcms push
173
+ ```
174
+
175
+ ### 5. Verify in CMS Dashboard
176
+
177
+ - Log into the dashboard
178
+ - Review the content in preview mode
179
+ - Check formatting, images, links
180
+
181
+ ### 6. Publish
182
+
183
+ ```bash
184
+ riverbankcms entry publish blog-post my-post
185
+ # or
186
+ riverbankcms page publish my-page
187
+ ```
188
+
189
+ ### 7. Verify Live
190
+
191
+ - Check the live site
192
+ - Confirm content appears correctly
193
+ - Test any links or interactive elements
194
+
195
+ ## Handling Unpublished Changes
196
+
197
+ When you edit published content, it stays published but gains pending changes.
198
+
199
+ ### Check for Pending Changes
200
+
201
+ ```bash
202
+ riverbankcms entry get blog-post my-post --json | grep hasUnpublishedChanges
203
+ ```
204
+
205
+ - `hasUnpublishedChanges: true` - There are edits not yet live
206
+ - `hasUnpublishedChanges: false` - Live version is current
207
+
208
+ ### Apply Pending Changes
209
+
210
+ Re-publish to make pending changes live:
211
+
212
+ ```bash
213
+ riverbankcms entry publish blog-post my-post
214
+ ```
215
+
216
+ ### Discard Pending Changes
217
+
218
+ To revert to the published version, you would need to:
219
+
220
+ 1. Pull the published content: `riverbankcms pull`
221
+ 2. The local files will have the current (modified) state
222
+ 3. Manually revert in the dashboard or re-push the original content
223
+
224
+ ## Publishing to Production
225
+
226
+ For production environments, use the `--remote` flag:
227
+
228
+ ```bash
229
+ # Pull from production
230
+ riverbankcms pull --remote
231
+
232
+ # Preview production push
233
+ riverbankcms push --remote --dry-run
234
+
235
+ # Push to production (requires --yes for safety)
236
+ riverbankcms push --remote --yes
237
+
238
+ # Publish specific content on production
239
+ riverbankcms entry publish blog-post my-post --remote
240
+ riverbankcms page publish landing --remote
241
+ ```
242
+
243
+ **Safety notes:**
244
+ - `--remote` targets production environment
245
+ - Push to remote requires `--yes` flag to prevent accidents
246
+ - Always preview with `--dry-run` first
247
+
248
+ ## Publishing Checklist
249
+
250
+ Before publishing content, verify:
251
+
252
+ - [ ] Content is accurate and complete
253
+ - [ ] Images load correctly
254
+ - [ ] Links work (internal and external)
255
+ - [ ] SEO metadata is set (title, description)
256
+ - [ ] Mobile layout looks good (if applicable)
257
+ - [ ] No placeholder or test content remains
258
+ - [ ] Spell check / grammar check completed
259
+
260
+ ## Troubleshooting
261
+
262
+ ### Content not appearing on live site
263
+
264
+ 1. Check if published: `riverbankcms entry get <type> <id>`
265
+ 2. Look for `status: "published"`
266
+ 3. If draft, publish it: `riverbankcms entry publish <type> <id>`
267
+ 4. Check for caching - may need to wait or clear cache
268
+
269
+ ### Published but showing old content
270
+
271
+ 1. Check for pending changes: `hasUnpublishedChanges: true`
272
+ 2. Re-publish to apply changes: `riverbankcms entry publish <type> <id>`
273
+ 3. Clear any CDN or browser cache
274
+
275
+ ### Can't publish - validation error
276
+
277
+ 1. Check required fields are filled
278
+ 2. Review the error message for specifics
279
+ 3. Get full entry data: `riverbankcms entry get <type> <id> --json`
280
+ 4. Fix missing/invalid fields and retry
@@ -23,6 +23,8 @@ type BookingFormProps = {
23
23
  className?: string;
24
24
  form?: FormConfig | null;
25
25
  services?: Service$2[];
26
+ /** Server-passed spam protection flag. Falls back to NEXT_PUBLIC_SPAM_PROTECTION_ENABLED. */
27
+ spamProtectionEnabled?: boolean;
26
28
  };
27
29
  /**
28
30
  * BookingFormClient Component
@@ -23,6 +23,8 @@ type BookingFormProps = {
23
23
  className?: string;
24
24
  form?: FormConfig | null;
25
25
  services?: Service$2[];
26
+ /** Server-passed spam protection flag. Falls back to NEXT_PUBLIC_SPAM_PROTECTION_ENABLED. */
27
+ spamProtectionEnabled?: boolean;
26
28
  };
27
29
  /**
28
30
  * BookingFormClient Component