dineway 0.2.46 → 0.2.48

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 (247) hide show
  1. package/dist/api/route-utils.d.mts +5 -5
  2. package/dist/api/route-utils.mjs +12 -12
  3. package/dist/api/schemas/index.d.mts +1 -1
  4. package/dist/api/schemas/index.mjs +4 -4
  5. package/dist/{api-BSmjb74C.mjs → api-p58_ypd8.mjs} +9 -9
  6. package/dist/{apply-Caad3Uh7.mjs → apply-BlVVbjbz.mjs} +15 -15
  7. package/dist/astro/index.d.mts +4 -4
  8. package/dist/astro/index.mjs +5 -5
  9. package/dist/astro/middleware/auth.d.mts +4 -4
  10. package/dist/astro/middleware/auth.mjs +2 -2
  11. package/dist/astro/middleware/redirect.mjs +4 -4
  12. package/dist/astro/middleware/setup.mjs +1 -1
  13. package/dist/astro/middleware.mjs +63 -63
  14. package/dist/astro/routes/api/admin/allowed-domains/_domain_.mjs +4 -4
  15. package/dist/astro/routes/api/admin/allowed-domains/index.mjs +4 -4
  16. package/dist/astro/routes/api/admin/briefing.mjs +20 -20
  17. package/dist/astro/routes/api/admin/byline-fields/_slug_.mjs +4 -4
  18. package/dist/astro/routes/api/admin/byline-fields/index.mjs +4 -4
  19. package/dist/astro/routes/api/admin/byline-fields/reorder.mjs +4 -4
  20. package/dist/astro/routes/api/admin/bylines/_id_/index.mjs +12 -12
  21. package/dist/astro/routes/api/admin/bylines/_id_/translations.mjs +12 -12
  22. package/dist/astro/routes/api/admin/bylines/index.mjs +12 -12
  23. package/dist/astro/routes/api/admin/comments/_id_/status.mjs +10 -10
  24. package/dist/astro/routes/api/admin/comments/_id_.mjs +5 -5
  25. package/dist/astro/routes/api/admin/comments/bulk.mjs +9 -9
  26. package/dist/astro/routes/api/admin/comments/counts.mjs +5 -5
  27. package/dist/astro/routes/api/admin/comments/index.mjs +9 -9
  28. package/dist/astro/routes/api/admin/context/_id_/history.mjs +25 -25
  29. package/dist/astro/routes/api/admin/context/_id_/index.mjs +25 -25
  30. package/dist/astro/routes/api/admin/context/_id_/review.mjs +28 -28
  31. package/dist/astro/routes/api/admin/context/_id_/supersede.mjs +28 -28
  32. package/dist/astro/routes/api/admin/context/diff.mjs +28 -28
  33. package/dist/astro/routes/api/admin/context/index.mjs +28 -28
  34. package/dist/astro/routes/api/admin/context/stale.mjs +28 -28
  35. package/dist/astro/routes/api/admin/hitl-requests/_id_/index.mjs +26 -26
  36. package/dist/astro/routes/api/admin/hitl-requests/_id_/resolve.mjs +29 -29
  37. package/dist/astro/routes/api/admin/hitl-requests/index.mjs +29 -29
  38. package/dist/astro/routes/api/admin/hooks/exclusive/_hookName_.mjs +25 -25
  39. package/dist/astro/routes/api/admin/plugins/_id_/disable.mjs +43 -43
  40. package/dist/astro/routes/api/admin/plugins/_id_/enable.mjs +43 -43
  41. package/dist/astro/routes/api/admin/plugins/_id_/index.mjs +39 -39
  42. package/dist/astro/routes/api/admin/plugins/_id_/uninstall.mjs +43 -43
  43. package/dist/astro/routes/api/admin/plugins/_id_/update.mjs +43 -43
  44. package/dist/astro/routes/api/admin/plugins/index.mjs +39 -39
  45. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/index.mjs +39 -39
  46. package/dist/astro/routes/api/admin/plugins/marketplace/_id_/install.mjs +43 -43
  47. package/dist/astro/routes/api/admin/plugins/marketplace/index.mjs +39 -39
  48. package/dist/astro/routes/api/admin/plugins/updates.mjs +39 -39
  49. package/dist/astro/routes/api/admin/review-requests/_id_/image.mjs +16 -16
  50. package/dist/astro/routes/api/admin/review-requests/_id_/index.mjs +22 -22
  51. package/dist/astro/routes/api/admin/review-requests/_id_/resolve.mjs +32 -32
  52. package/dist/astro/routes/api/admin/review-requests/index.mjs +30 -30
  53. package/dist/astro/routes/api/admin/themes/marketplace/_id_/index.mjs +39 -39
  54. package/dist/astro/routes/api/admin/themes/marketplace/index.mjs +39 -39
  55. package/dist/astro/routes/api/admin/users/_id_/index.mjs +4 -4
  56. package/dist/astro/routes/api/admin/users/index.mjs +4 -4
  57. package/dist/astro/routes/api/auth/invite/complete.mjs +6 -6
  58. package/dist/astro/routes/api/auth/invite/index.mjs +4 -4
  59. package/dist/astro/routes/api/auth/invite/register-options.mjs +5 -5
  60. package/dist/astro/routes/api/auth/magic-link/send.mjs +4 -4
  61. package/dist/astro/routes/api/auth/me.mjs +4 -4
  62. package/dist/astro/routes/api/auth/mode.mjs +1 -1
  63. package/dist/astro/routes/api/auth/passkey/_id_.mjs +4 -4
  64. package/dist/astro/routes/api/auth/passkey/options.mjs +5 -5
  65. package/dist/astro/routes/api/auth/passkey/register/options.mjs +5 -5
  66. package/dist/astro/routes/api/auth/passkey/register/verify.mjs +6 -6
  67. package/dist/astro/routes/api/auth/passkey/verify.mjs +6 -6
  68. package/dist/astro/routes/api/auth/signup/complete.mjs +6 -6
  69. package/dist/astro/routes/api/auth/signup/request.mjs +4 -4
  70. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.d.mts +4 -4
  71. package/dist/astro/routes/api/comments/_collection_/_contentId_/index.mjs +10 -10
  72. package/dist/astro/routes/api/comments/_collection_/_contentId_/reactions.mjs +9 -9
  73. package/dist/astro/routes/api/content/_collection_/_id_/preview-url.mjs +10 -10
  74. package/dist/astro/routes/api/content/_collection_/_id_/publish.mjs +19 -19
  75. package/dist/astro/routes/api/content/_collection_/_id_/release-readiness.mjs +4 -4
  76. package/dist/astro/routes/api/content/_collection_/_id_/schedule.mjs +19 -19
  77. package/dist/astro/routes/api/content/_collection_/_id_/terms/_taxonomy_.mjs +15 -15
  78. package/dist/astro/routes/api/content/_collection_/_id_.mjs +8 -8
  79. package/dist/astro/routes/api/content/_collection_/index.mjs +8 -8
  80. package/dist/astro/routes/api/content/_collection_/trash.mjs +4 -4
  81. package/dist/astro/routes/api/dashboard.mjs +9 -9
  82. package/dist/astro/routes/api/health.mjs +1 -1
  83. package/dist/astro/routes/api/import/probe.mjs +13 -13
  84. package/dist/astro/routes/api/import/wordpress/analyze.mjs +5 -5
  85. package/dist/astro/routes/api/import/wordpress/execute.d.mts +4 -4
  86. package/dist/astro/routes/api/import/wordpress/execute.mjs +28 -28
  87. package/dist/astro/routes/api/import/wordpress/media.d.mts +4 -4
  88. package/dist/astro/routes/api/import/wordpress/media.mjs +4 -4
  89. package/dist/astro/routes/api/import/wordpress/prepare.mjs +29 -29
  90. package/dist/astro/routes/api/import/wordpress/rewrite-urls.d.mts +4 -4
  91. package/dist/astro/routes/api/import/wordpress/rewrite-urls.mjs +29 -29
  92. package/dist/astro/routes/api/import/wordpress-plugin/analyze.mjs +15 -15
  93. package/dist/astro/routes/api/import/wordpress-plugin/execute.d.mts +4 -4
  94. package/dist/astro/routes/api/import/wordpress-plugin/execute.mjs +32 -32
  95. package/dist/astro/routes/api/manifest.mjs +2 -2
  96. package/dist/astro/routes/api/mcp.mjs +64 -64
  97. package/dist/astro/routes/api/media/_id_/confirm.mjs +4 -4
  98. package/dist/astro/routes/api/media/_id_.mjs +4 -4
  99. package/dist/astro/routes/api/media/upload-url.mjs +4 -4
  100. package/dist/astro/routes/api/media.mjs +4 -4
  101. package/dist/astro/routes/api/menus/_name_/items/_id_.mjs +29 -29
  102. package/dist/astro/routes/api/menus/_name_/items.mjs +29 -29
  103. package/dist/astro/routes/api/menus/_name_/reorder.mjs +29 -29
  104. package/dist/astro/routes/api/menus/_name_/translations.mjs +29 -29
  105. package/dist/astro/routes/api/menus/_name_.mjs +29 -29
  106. package/dist/astro/routes/api/menus/index.mjs +29 -29
  107. package/dist/astro/routes/api/openapi.json.mjs +4 -4
  108. package/dist/astro/routes/api/redirects/404s/index.mjs +4 -4
  109. package/dist/astro/routes/api/redirects/404s/summary.mjs +4 -4
  110. package/dist/astro/routes/api/redirects/_id_.mjs +28 -28
  111. package/dist/astro/routes/api/redirects/index.mjs +28 -28
  112. package/dist/astro/routes/api/schema/collections/_slug_/fields/_fieldSlug_.mjs +39 -39
  113. package/dist/astro/routes/api/schema/collections/_slug_/fields/index.mjs +39 -39
  114. package/dist/astro/routes/api/schema/collections/_slug_/fields/reorder.mjs +39 -39
  115. package/dist/astro/routes/api/schema/collections/_slug_/index.mjs +39 -39
  116. package/dist/astro/routes/api/schema/collections/index.mjs +39 -39
  117. package/dist/astro/routes/api/schema/index.mjs +5 -5
  118. package/dist/astro/routes/api/schema/orphans/_slug_.mjs +39 -39
  119. package/dist/astro/routes/api/schema/orphans/index.mjs +39 -39
  120. package/dist/astro/routes/api/search/enable.mjs +9 -9
  121. package/dist/astro/routes/api/search/index.mjs +9 -9
  122. package/dist/astro/routes/api/search/rebuild.mjs +9 -9
  123. package/dist/astro/routes/api/search/stats.mjs +5 -5
  124. package/dist/astro/routes/api/search/suggest.mjs +9 -9
  125. package/dist/astro/routes/api/sections/_slug_.mjs +29 -29
  126. package/dist/astro/routes/api/sections/index.mjs +29 -29
  127. package/dist/astro/routes/api/settings/reviews.mjs +1 -1
  128. package/dist/astro/routes/api/settings.mjs +29 -29
  129. package/dist/astro/routes/api/setup/admin-verify.mjs +7 -7
  130. package/dist/astro/routes/api/setup/admin.mjs +5 -5
  131. package/dist/astro/routes/api/setup/dev-bypass.mjs +19 -19
  132. package/dist/astro/routes/api/setup/index.mjs +23 -23
  133. package/dist/astro/routes/api/setup/status.mjs +1 -1
  134. package/dist/astro/routes/api/snapshot.mjs +1 -1
  135. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_/translations.mjs +31 -31
  136. package/dist/astro/routes/api/taxonomies/_name_/terms/_slug_.mjs +31 -31
  137. package/dist/astro/routes/api/taxonomies/_name_/terms/index.mjs +31 -31
  138. package/dist/astro/routes/api/taxonomies/index.mjs +31 -31
  139. package/dist/astro/routes/api/typegen.mjs +2 -2
  140. package/dist/astro/routes/api/well-known/auth.mjs +2 -2
  141. package/dist/astro/routes/api/widget-areas/_name_/reorder.mjs +28 -28
  142. package/dist/astro/routes/api/widget-areas/_name_/widgets/_id_.mjs +29 -29
  143. package/dist/astro/routes/api/widget-areas/_name_/widgets.mjs +29 -29
  144. package/dist/astro/routes/api/widget-areas/_name_.mjs +26 -26
  145. package/dist/astro/routes/api/widget-areas/index.mjs +29 -29
  146. package/dist/astro/routes/robots.txt.mjs +6 -6
  147. package/dist/astro/routes/sitemap-_collection_.xml.mjs +10 -10
  148. package/dist/astro/routes/sitemap.xml.mjs +10 -10
  149. package/dist/astro/session-driver.mjs +4 -4
  150. package/dist/astro/types.d.mts +4 -4
  151. package/dist/{briefing-CbsLoDJS.mjs → briefing-BAtarnPm.mjs} +1 -1
  152. package/dist/{briefing-yQgD73g4.mjs → briefing-DoFv4isE.mjs} +5 -5
  153. package/dist/{byline-BS25s1R-.mjs → byline-CYc3Hn1i.mjs} +5 -5
  154. package/dist/{byline-fields-D6EXp7_j.d.mts → byline-fields-B117F62r.d.mts} +23 -23
  155. package/dist/{byline-fields-Bnw5NflJ.mjs → byline-fields-BHVmleIi.mjs} +1 -1
  156. package/dist/{bylines-CLBeFLdo.mjs → bylines-DGdYDqGq.mjs} +1 -1
  157. package/dist/{bylines-ZRvo3-j0.mjs → bylines-DrSccNgg.mjs} +3 -3
  158. package/dist/cli/index.mjs +47 -33
  159. package/dist/cli/plugin-kit.d.mts +4 -4
  160. package/dist/client/index.d.mts +4 -4
  161. package/dist/{comment-BTt78k0n.mjs → comment-BnrzhX9M.mjs} +1 -1
  162. package/dist/{comments-Do2zF3as.mjs → comments-B4Tym6oF.mjs} +1 -1
  163. package/dist/{config---A7Bg68.mjs → config-BhQacL9l.mjs} +2 -1
  164. package/dist/{content-BZBomTNV.mjs → content-CIWw08LO.mjs} +5 -5
  165. package/dist/{content-C8i4DyTt.mjs → content-CghEEm3k.mjs} +1 -1
  166. package/dist/{content-refresh-DbGFLB3p.mjs → content-refresh-lqCnhHGP.mjs} +2 -2
  167. package/dist/content-storage/index.d.mts +25 -4
  168. package/dist/content-storage/index.mjs +16 -16
  169. package/dist/content-storage/store.d.mts +3 -3
  170. package/dist/content-storage/store.mjs +3 -3
  171. package/dist/{content-write-Bt_eiX9o.mjs → content-write-BjTJiZhK.mjs} +74 -18
  172. package/dist/{context-RtLnM2-Z.mjs → context-PK-5ygok.mjs} +4 -4
  173. package/dist/{context-VxiTIEQa.mjs → context-caX3OQVz.mjs} +2 -2
  174. package/dist/{dashboard-C_x53TcC.mjs → dashboard-DBHqEUXC.mjs} +1 -1
  175. package/dist/database/d1/index.d.mts +4 -4
  176. package/dist/database/d1/index.mjs +2 -2
  177. package/dist/{discovery-DNwLsQqJ.mjs → discovery-DLzhlF9z.mjs} +1 -1
  178. package/dist/{evidence-D3Tqm_ik.mjs → evidence-CG6khLd9.mjs} +2 -2
  179. package/dist/{hitl-requests-ysSO7eqS.mjs → hitl-requests-SRfiaD3V.mjs} +1 -1
  180. package/dist/{hitl-route-helpers-BLJYI67Y.mjs → hitl-route-helpers-B0h7RXw1.mjs} +1 -1
  181. package/dist/{import-BkBVo6UM.mjs → import-DpVbSU4T.mjs} +3 -3
  182. package/dist/index.d.mts +4 -4
  183. package/dist/index.mjs +51 -51
  184. package/dist/{jsonld-BObNyc22.d.mts → jsonld-DaZdgstn.d.mts} +1 -1
  185. package/dist/{loader--zFg6meV.mjs → loader-CrVkVaD6.mjs} +7 -2
  186. package/dist/{mcp-reviewed-executor-CiuVfiL_.mjs → mcp-reviewed-executor-C93EXLSQ.mjs} +2 -2
  187. package/dist/media/local-runtime.d.mts +4 -4
  188. package/dist/{menus-Dq323Wka.mjs → menus-DRpTzW6g.mjs} +3 -3
  189. package/dist/{menus-BoNLPIAK.mjs → menus-X0eJuILT.mjs} +1 -1
  190. package/dist/{object-cache-Ue6kAfzf.mjs → object-cache-DRx6IjWR.mjs} +1 -1
  191. package/dist/{owned-metadata-bXhDX1WW.mjs → owned-metadata-DFODPEuj.mjs} +1 -1
  192. package/dist/page/index.d.mts +5 -5
  193. package/dist/plugin-utils.d.mts +4 -4
  194. package/dist/plugins/adapt-sandbox-entry.d.mts +4 -4
  195. package/dist/{plugins-C10hTI65.mjs → plugins-D4TRcqTV.mjs} +2 -2
  196. package/dist/{public-url-JnHtmWfz.d.mts → public-url-b6l0vmiE.d.mts} +1 -1
  197. package/dist/{publication-authorization-DBNXaGgH.mjs → publication-authorization-C2X-Qj7L.mjs} +4 -4
  198. package/dist/{query-5edkcMYz.mjs → query-BTXfe7AE.mjs} +3 -3
  199. package/dist/{query-CNXVFYWz.mjs → query-BfIz2W0n.mjs} +10 -10
  200. package/dist/{redirects-BwnvcNyN.mjs → redirects-DAKRmX6R.mjs} +1 -1
  201. package/dist/{registry-DEKqjKIM.mjs → registry-CdeSHG0k.mjs} +1 -1
  202. package/dist/{release-CIYyinzY.mjs → release-Bk-UaI2C.mjs} +1 -1
  203. package/dist/request-context.d.mts +1 -11
  204. package/dist/{migration-BhVzGnj0.mjs → retention-gks1TiDo.mjs} +100 -10
  205. package/dist/{review-requests-B7UdAl1r.mjs → review-requests-05w-uj_e.mjs} +1 -1
  206. package/dist/{revision-BtgwJxxa.mjs → revision-DX_AHhhE.mjs} +2 -2
  207. package/dist/{revisions-CQZI886L.mjs → revisions-DG2-WBDb.mjs} +2 -2
  208. package/dist/{runtime-ecsN2xL9.d.mts → runtime-BEiDcRPk.d.mts} +1 -1
  209. package/dist/{runtime-BLoyGKUx.mjs → runtime-CeGWfwh3.mjs} +76 -59
  210. package/dist/runtime.d.mts +4 -4
  211. package/dist/runtime.mjs +4 -4
  212. package/dist/{schema-DIXUswIX.mjs → schema-fU3y2MMH.mjs} +1 -1
  213. package/dist/{search-TXLzVROW.mjs → search-kRXT1_11.mjs} +1 -1
  214. package/dist/{sections-zaZhTZqa.mjs → sections-DzoY2Hvx.mjs} +1 -1
  215. package/dist/seed/index.mjs +19 -19
  216. package/dist/seo/index.mjs +6 -6
  217. package/dist/{seo-BQ7R2a1z.mjs → seo-DYjDvLHM.mjs} +5 -5
  218. package/dist/{seo-DdczIQvk.mjs → seo-DuHOFc2a.mjs} +1 -1
  219. package/dist/{service-CUlcOLZj.mjs → service-DlJ5BeF2.mjs} +2 -2
  220. package/dist/{settings-CoCGUtE6.mjs → settings-BU33hxhH.mjs} +1 -1
  221. package/dist/{settings-Bc2eQPR6.mjs → settings-opr6BnNM.mjs} +2 -2
  222. package/dist/{site-context-DkxgOnQl.mjs → site-context-94-KanDT.mjs} +6 -6
  223. package/dist/{submission-BNP2Sc3O.mjs → submission-_6ZXKy3N.mjs} +5 -5
  224. package/dist/{taxonomies-CVe1PGaO.mjs → taxonomies--FALWfoI.mjs} +3 -3
  225. package/dist/{taxonomies-zgZ2HG_z.mjs → taxonomies-DgiHNOZJ.mjs} +2 -2
  226. package/dist/{taxonomy-CcyZD5jQ.mjs → taxonomy-CKv3RKf1.mjs} +9 -8
  227. package/dist/{terms-EskuqbKE.mjs → terms-D4OJs0Zh.mjs} +3 -0
  228. package/dist/{types-CeFGasN8.d.mts → types-BafdCfKt.d.mts} +1 -0
  229. package/dist/{types-jtUocGnQ.d.mts → types-CTbitmIM.d.mts} +6 -4
  230. package/dist/ui/server-runtime.d.mts +6 -6
  231. package/dist/ui/server-runtime.mjs +14 -14
  232. package/dist/version-Bkbf_9nG.mjs +6 -0
  233. package/dist/{version-store-B6i81L9W.d.mts → version-store-BLGuq3wB.d.mts} +2 -37
  234. package/dist/{version-store-DyYULGd3.mjs → version-store-xhBmPoC-.mjs} +3 -11
  235. package/dist/{widgets-CJBk8bm7.mjs → widgets-hPqK6Aut.mjs} +1 -1
  236. package/dist/{worker-D82vT5OV.mjs → worker-CMiDP358.mjs} +4 -4
  237. package/dist/{write-intent-CjTERf3N.mjs → write-intent-ChTUctBF.mjs} +5 -5
  238. package/package.json +3 -3
  239. package/dist/version-BJwTlK4L.mjs +0 -6
  240. /package/dist/{allowed-origins-SQbPK6WG.mjs → allowed-origins-CQyKpMbJ.mjs} +0 -0
  241. /package/dist/{challenge-store-7IZ_NqWg.mjs → challenge-store-BImHCJvl.mjs} +0 -0
  242. /package/dist/{mode-C3RI5Z5t.mjs → mode-BoM5FjH7.mjs} +0 -0
  243. /package/dist/{policy-DbceGc4P.mjs → policy-BL8yj6uD.mjs} +0 -0
  244. /package/dist/{session-user-D36BRaZY.mjs → session-user-j7I8GMvK.mjs} +0 -0
  245. /package/dist/{setup-complete-eTV6C0-E.mjs → setup-complete-Cn-Ho9RX.mjs} +0 -0
  246. /package/dist/{state-CKkqoA6i.mjs → state-LzJZ7qpq.mjs} +0 -0
  247. /package/dist/{workers-build-4926MPc0.mjs → workers-build-Bd4w1aw9.mjs} +0 -0
@@ -4,7 +4,7 @@ import { z } from "zod";
4
4
  /** Valid role level values */
5
5
  declare const VALID_ROLE_LEVELS: Set<number>;
6
6
  /** Role level — coerces string/number to valid RoleLevel (10|20|30|40|50) */
7
- declare const roleLevel: z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>;
7
+ declare const roleLevel: z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>;
8
8
  /** Pagination query params — cursor-based */
9
9
  declare const cursorPaginationQuery: z.ZodObject<{
10
10
  cursor: z.ZodOptional<z.ZodString>;
@@ -811,8 +811,8 @@ declare const createCollectionBody: z.ZodObject<{
811
811
  icon: z.ZodOptional<z.ZodString>;
812
812
  supports: z.ZodOptional<z.ZodArray<z.ZodEnum<{
813
813
  search: "search";
814
- revisions: "revisions";
815
814
  drafts: "drafts";
815
+ revisions: "revisions";
816
816
  preview: "preview";
817
817
  scheduling: "scheduling";
818
818
  }>>>;
@@ -832,8 +832,8 @@ declare const updateCollectionBody: z.ZodObject<{
832
832
  icon: z.ZodOptional<z.ZodString>;
833
833
  supports: z.ZodOptional<z.ZodArray<z.ZodEnum<{
834
834
  search: "search";
835
- revisions: "revisions";
836
835
  drafts: "drafts";
836
+ revisions: "revisions";
837
837
  preview: "preview";
838
838
  scheduling: "scheduling";
839
839
  }>>>;
@@ -860,17 +860,17 @@ declare const createFieldBody: z.ZodObject<{
860
860
  string: "string";
861
861
  number: "number";
862
862
  boolean: "boolean";
863
- file: "file";
864
863
  json: "json";
865
864
  url: "url";
865
+ file: "file";
866
866
  slug: "slug";
867
867
  text: "text";
868
868
  integer: "integer";
869
869
  datetime: "datetime";
870
- image: "image";
871
870
  select: "select";
872
871
  multiSelect: "multiSelect";
873
872
  portableText: "portableText";
873
+ image: "image";
874
874
  reference: "reference";
875
875
  repeater: "repeater";
876
876
  }>;
@@ -895,8 +895,8 @@ declare const createFieldBody: z.ZodObject<{
895
895
  text: "text";
896
896
  integer: "integer";
897
897
  datetime: "datetime";
898
- image: "image";
899
898
  select: "select";
899
+ image: "image";
900
900
  }>;
901
901
  label: z.ZodString;
902
902
  required: z.ZodOptional<z.ZodBoolean>;
@@ -918,17 +918,17 @@ declare const updateFieldBody: z.ZodObject<{
918
918
  string: "string";
919
919
  number: "number";
920
920
  boolean: "boolean";
921
- file: "file";
922
921
  json: "json";
923
922
  url: "url";
923
+ file: "file";
924
924
  slug: "slug";
925
925
  text: "text";
926
926
  integer: "integer";
927
927
  datetime: "datetime";
928
- image: "image";
929
928
  select: "select";
930
929
  multiSelect: "multiSelect";
931
930
  portableText: "portableText";
931
+ image: "image";
932
932
  reference: "reference";
933
933
  repeater: "repeater";
934
934
  }>>;
@@ -953,8 +953,8 @@ declare const updateFieldBody: z.ZodObject<{
953
953
  text: "text";
954
954
  integer: "integer";
955
955
  datetime: "datetime";
956
- image: "image";
957
956
  select: "select";
957
+ image: "image";
958
958
  }>;
959
959
  label: z.ZodString;
960
960
  required: z.ZodOptional<z.ZodBoolean>;
@@ -1012,17 +1012,17 @@ declare const fieldSchema: z.ZodObject<{
1012
1012
  string: "string";
1013
1013
  number: "number";
1014
1014
  boolean: "boolean";
1015
- file: "file";
1016
1015
  json: "json";
1017
1016
  url: "url";
1017
+ file: "file";
1018
1018
  slug: "slug";
1019
1019
  text: "text";
1020
1020
  integer: "integer";
1021
1021
  datetime: "datetime";
1022
- image: "image";
1023
1022
  select: "select";
1024
1023
  multiSelect: "multiSelect";
1025
1024
  portableText: "portableText";
1025
+ image: "image";
1026
1026
  reference: "reference";
1027
1027
  repeater: "repeater";
1028
1028
  }>;
@@ -1087,17 +1087,17 @@ declare const collectionWithFieldsResponseSchema: z.ZodObject<{
1087
1087
  string: "string";
1088
1088
  number: "number";
1089
1089
  boolean: "boolean";
1090
- file: "file";
1091
1090
  json: "json";
1092
1091
  url: "url";
1092
+ file: "file";
1093
1093
  slug: "slug";
1094
1094
  text: "text";
1095
1095
  integer: "integer";
1096
1096
  datetime: "datetime";
1097
- image: "image";
1098
1097
  select: "select";
1099
1098
  multiSelect: "multiSelect";
1100
1099
  portableText: "portableText";
1100
+ image: "image";
1101
1101
  reference: "reference";
1102
1102
  repeater: "repeater";
1103
1103
  }>;
@@ -1146,17 +1146,17 @@ declare const fieldResponseSchema: z.ZodObject<{
1146
1146
  string: "string";
1147
1147
  number: "number";
1148
1148
  boolean: "boolean";
1149
- file: "file";
1150
1149
  json: "json";
1151
1150
  url: "url";
1151
+ file: "file";
1152
1152
  slug: "slug";
1153
1153
  text: "text";
1154
1154
  integer: "integer";
1155
1155
  datetime: "datetime";
1156
- image: "image";
1157
1156
  select: "select";
1158
1157
  multiSelect: "multiSelect";
1159
1158
  portableText: "portableText";
1159
+ image: "image";
1160
1160
  reference: "reference";
1161
1161
  repeater: "repeater";
1162
1162
  }>;
@@ -1183,17 +1183,17 @@ declare const fieldListResponseSchema: z.ZodObject<{
1183
1183
  string: "string";
1184
1184
  number: "number";
1185
1185
  boolean: "boolean";
1186
- file: "file";
1187
1186
  json: "json";
1188
1187
  url: "url";
1188
+ file: "file";
1189
1189
  slug: "slug";
1190
1190
  text: "text";
1191
1191
  integer: "integer";
1192
1192
  datetime: "datetime";
1193
- image: "image";
1194
1193
  select: "select";
1195
1194
  multiSelect: "multiSelect";
1196
1195
  portableText: "portableText";
1196
+ image: "image";
1197
1197
  reference: "reference";
1198
1198
  repeater: "repeater";
1199
1199
  }>;
@@ -1549,7 +1549,7 @@ declare const signupCompleteBody: z.ZodObject<{
1549
1549
  }, z.core.$strip>;
1550
1550
  declare const inviteCreateBody: z.ZodObject<{
1551
1551
  email: z.ZodString;
1552
- role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>>;
1552
+ role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>>;
1553
1553
  }, z.core.$strip>;
1554
1554
  declare const inviteCompleteBody: z.ZodObject<{
1555
1555
  token: z.ZodString;
@@ -1641,9 +1641,9 @@ declare const authMeActionBody: z.ZodObject<{
1641
1641
  * from `referenceCollection` + `referenceId` (a translation_group id).
1642
1642
  */
1643
1643
  declare const menuItemTypeEnum: z.ZodEnum<{
1644
- custom: "custom";
1645
1644
  collection: "collection";
1646
1645
  taxonomy: "taxonomy";
1646
+ custom: "custom";
1647
1647
  page: "page";
1648
1648
  post: "post";
1649
1649
  }>;
@@ -1658,9 +1658,9 @@ declare const updateMenuBody: z.ZodObject<{
1658
1658
  }, z.core.$strict>;
1659
1659
  declare const createMenuItemBody: z.ZodObject<{
1660
1660
  type: z.ZodEnum<{
1661
- custom: "custom";
1662
1661
  collection: "collection";
1663
1662
  taxonomy: "taxonomy";
1663
+ custom: "custom";
1664
1664
  page: "page";
1665
1665
  post: "post";
1666
1666
  }>;
@@ -2101,15 +2101,15 @@ declare const usersListQuery: z.ZodObject<{
2101
2101
  declare const userUpdateBody: z.ZodObject<{
2102
2102
  name: z.ZodOptional<z.ZodString>;
2103
2103
  email: z.ZodOptional<z.ZodString>;
2104
- role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>>;
2104
+ role: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>>;
2105
2105
  }, z.core.$strip>;
2106
2106
  declare const allowedDomainCreateBody: z.ZodObject<{
2107
2107
  domain: z.ZodString;
2108
- defaultRole: z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>;
2108
+ defaultRole: z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>;
2109
2109
  }, z.core.$strip>;
2110
2110
  declare const allowedDomainUpdateBody: z.ZodObject<{
2111
2111
  enabled: z.ZodOptional<z.ZodBoolean>;
2112
- defaultRole: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<50 | 10 | 20 | 30 | 40, unknown, z.core.$ZodTypeInternals<50 | 10 | 20 | 30 | 40, unknown>>>;
2112
+ defaultRole: z.ZodOptional<z.ZodCoercedNumber<unknown> & z.ZodType<10 | 20 | 30 | 40 | 50, unknown, z.core.$ZodTypeInternals<10 | 20 | 30 | 40 | 50, unknown>>>;
2113
2113
  }, z.core.$strip>;
2114
2114
  declare const userSchema: z.ZodObject<{
2115
2115
  id: z.ZodString;
@@ -1,6 +1,6 @@
1
1
  import { i as RESERVED_BYLINE_FIELD_SLUGS } from "./types-BgUxCuwu.mjs";
2
2
  import { n as isSiteContextType, t as SITE_CONTEXT_TYPES } from "./context-types-B9ShQ_6c.mjs";
3
- import { L as httpUrl, V as roleLevel } from "./content-C8i4DyTt.mjs";
3
+ import { L as httpUrl, V as roleLevel } from "./content-CghEEm3k.mjs";
4
4
  import { z } from "zod";
5
5
 
6
6
  //#region src/api/schemas/context.ts
@@ -1,7 +1,7 @@
1
1
  import { c as __exportAll } from "./runner-CuG8o1uW.mjs";
2
2
  import { n as getI18nConfig } from "./config-XW5tMrH8.mjs";
3
3
  import { t as DinewayValidationError } from "./types-BI3ULB3A.mjs";
4
- import { t as BylineRepository } from "./byline-BS25s1R-.mjs";
4
+ import { t as BylineRepository } from "./byline-CYc3Hn1i.mjs";
5
5
 
6
6
  //#region src/api/handlers/bylines.ts
7
7
  var bylines_exports = /* @__PURE__ */ __exportAll({
@@ -1,7 +1,7 @@
1
1
  import { c as __exportAll } from "./runner-CuG8o1uW.mjs";
2
2
  import { t as validateIdentifier } from "./validate-Co3j6T_K.mjs";
3
- import { o as isMissingTableError, r as getDb } from "./loader--zFg6meV.mjs";
4
- import { t as BylineRepository } from "./byline-BS25s1R-.mjs";
3
+ import { o as isMissingTableError, r as getDb } from "./loader-CrVkVaD6.mjs";
4
+ import { t as BylineRepository } from "./byline-CYc3Hn1i.mjs";
5
5
  import { n as resolveLocaleChain } from "./resolve-BdDNBmaU.mjs";
6
6
  import { sql } from "kysely";
7
7
 
@@ -184,7 +184,7 @@ async function getBylinesForEntries(collection, entries) {
184
184
  */
185
185
  async function getEntriesByByline(collection, byline, options = {}) {
186
186
  validateIdentifier(collection, "collection");
187
- const { getDinewayCollection } = await import("./query-CNXVFYWz.mjs").then((n) => n.o);
187
+ const { getDinewayCollection } = await import("./query-BfIz2W0n.mjs").then((n) => n.o);
188
188
  const { entries } = await getDinewayCollection(collection, {
189
189
  where: { byline },
190
190
  ...options.locale !== void 0 ? { locale: options.locale } : {},
@@ -6,58 +6,58 @@ import { AtomicWriteConflict, atomicBatch, rowUnchanged } from "../database/batc
6
6
  import { t as validateIdentifier } from "../validate-Co3j6T_K.mjs";
7
7
  import { l as listTablesLike } from "../dialect-helpers-C6xtO-Ui.mjs";
8
8
  import { n as getI18nConfig, r as isI18nEnabled } from "../config-XW5tMrH8.mjs";
9
- import { a as validateContentStorage, n as contentDigest, r as contentStorageConfigSchema, t as canonicalContentJson } from "../config---A7Bg68.mjs";
10
- import { _ as freezeContentPartition, c as installContentStorageConfig, h as cancelContentMigration, m as beginContentMigration, o as registerContentStorage, r as getContentStorage, t as assertContentStorageConfiguration } from "../runtime-BLoyGKUx.mjs";
11
- import "../revisions-CQZI886L.mjs";
9
+ import { a as validateContentStorage, n as contentDigest, r as contentStorageConfigSchema, t as canonicalContentJson } from "../config-BhQacL9l.mjs";
10
+ import { d as cancelContentMigration, i as getContentStorage, l as installContentStorageConfig, n as assertContentStorageConfiguration, p as freezeContentPartition, s as registerContentStorage, u as beginContentMigration } from "../runtime-CeGWfwh3.mjs";
11
+ import "../revisions-DG2-WBDb.mjs";
12
12
  import "../runtime-env-DpYGy4pT.mjs";
13
13
  import { i as encodeBase64url } from "../base64-qvSs0Gxy.mjs";
14
14
  import "../types-BI3ULB3A.mjs";
15
- import { o as isMissingTableError } from "../loader--zFg6meV.mjs";
15
+ import { o as isMissingTableError } from "../loader-CrVkVaD6.mjs";
16
16
  import "../actor-D0AW80ld.mjs";
17
17
  import "../atomic-authority-Bf5QZboB.mjs";
18
- import { t as ContentRepository } from "../content-BZBomTNV.mjs";
18
+ import { t as ContentRepository } from "../content-CIWw08LO.mjs";
19
19
  import "../request-cache-CizvDoxV.mjs";
20
20
  import "../byline-registry-Caj0_gbU.mjs";
21
21
  import "../field-defs-cache-dn5Tw79A.mjs";
22
- import "../object-cache-Ue6kAfzf.mjs";
23
- import { t as BylineRepository } from "../byline-BS25s1R-.mjs";
24
- import "../owned-metadata-bXhDX1WW.mjs";
22
+ import "../object-cache-DRx6IjWR.mjs";
23
+ import { t as BylineRepository } from "../byline-CYc3Hn1i.mjs";
24
+ import "../owned-metadata-DFODPEuj.mjs";
25
25
  import { n as slugify } from "../slugify-DvoaEPtL.mjs";
26
- import "../revision-BtgwJxxa.mjs";
26
+ import "../revision-DX_AHhhE.mjs";
27
27
  import { t as MediaRepository } from "../media-BjH5OD-A.mjs";
28
28
  import "../user-Bl2_8rhJ.mjs";
29
- import "../terms-EskuqbKE.mjs";
30
- import { t as TaxonomyRepository } from "../taxonomy-CcyZD5jQ.mjs";
29
+ import "../terms-D4OJs0Zh.mjs";
30
+ import { t as TaxonomyRepository } from "../taxonomy-CKv3RKf1.mjs";
31
31
  import { t as OptionsRepository } from "../options-yFkLUuTw.mjs";
32
32
  import "../redirect-CJ-FAbNK.mjs";
33
- import "../content-write-Bt_eiX9o.mjs";
34
- import { n as assertContentVersionStore, r as contentStoreCollectionFromFields, s as installContentVersionStore, t as ContentVersionStore } from "../version-store-DyYULGd3.mjs";
35
- import "../write-intent-CjTERf3N.mjs";
36
- import "../seo-BQ7R2a1z.mjs";
33
+ import "../content-write-BjTJiZhK.mjs";
34
+ import { n as assertContentVersionStore, o as installContentVersionStore, r as contentStoreCollectionFromFields, t as ContentVersionStore } from "../version-store-xhBmPoC-.mjs";
35
+ import "../write-intent-ChTUctBF.mjs";
36
+ import "../seo-DYjDvLHM.mjs";
37
37
  import { n as DinewayToolsService, r as integrationResponse, t as DinewayToolsError } from "../service-DL1j3E4P.mjs";
38
38
  import { i as parseEncryptionKeys, n as fingerprintKey, r as generateEncryptionKey, t as DinewaySecretsError } from "../secrets-D52WNV_c.mjs";
39
- import "../content-refresh-DbGFLB3p.mjs";
39
+ import "../content-refresh-lqCnhHGP.mjs";
40
40
  import { n as resolveAndValidateExternalUrl, t as SsrfError } from "../ssrf-C7tTSD1r.mjs";
41
41
  import "../fts-manager-BHwhq1lC.mjs";
42
42
  import "../public-discovery-CGRirTJH.mjs";
43
- import { n as SchemaRegistry } from "../registry-DEKqjKIM.mjs";
44
- import "../settings-Bc2eQPR6.mjs";
45
- import { n as VERSION } from "../version-BJwTlK4L.mjs";
43
+ import { n as SchemaRegistry } from "../registry-CdeSHG0k.mjs";
44
+ import "../settings-opr6BnNM.mjs";
45
+ import { n as VERSION } from "../version-Bkbf_9nG.mjs";
46
46
  import { t as IntegrationCredentialStore } from "../store-rYMso0t7.mjs";
47
47
  import { a as reconcileManifestAccess, i as pluginManifestSchema } from "../manifest-schema-B_rWNZn5.mjs";
48
- import "../content-C8i4DyTt.mjs";
48
+ import "../content-CghEEm3k.mjs";
49
49
  import "../migrations-DTCIQJ2_.mjs";
50
50
  import { t as validateSeed } from "../validate-WOW5vZz_.mjs";
51
- import { t as applySeed } from "../apply-Caad3Uh7.mjs";
52
- import { n as validateWorkersBindings, t as WORKERS_BUILD_METADATA } from "../workers-build-4926MPc0.mjs";
53
- import { n as d1ReleaseRevision } from "../state-CKkqoA6i.mjs";
51
+ import { t as applySeed } from "../apply-BlVVbjbz.mjs";
52
+ import { n as validateWorkersBindings, t as WORKERS_BUILD_METADATA } from "../workers-build-Bd4w1aw9.mjs";
53
+ import { n as d1ReleaseRevision } from "../state-LzJZ7qpq.mjs";
54
54
  import { a as createForgewayAccountClient, c as normalizeForgewayApiUrl, d as refreshForgewayAccountCredentials, f as removeStoredForgewayAccount, g as writeForgewayCredentials, h as readForgewayCredentials, i as completeForgewayAccountLogin, l as normalizeForgewayEmail, m as listForgewayCredentials, n as DEFAULT_FORGEWAY_API_BASE_URL, o as getForgewayDinewayAccount, p as sendForgewayAccountLoginLink, r as InvalidForgewayAccountCredentialsError, s as normalizeDinewayWebUrl, t as DEFAULT_DINEWAY_WEB_URL, u as readStoredForgewayAccount } from "../forgeway-account-CVSG1imu.mjs";
55
55
  import { n as output, t as configureOutputMode } from "../output-TGkiEMQF.mjs";
56
56
  import { createHeaderAwareFetch, isRedirectResponse, resolveCustomHeaders } from "../client/external-auth-headers.mjs";
57
57
  import { t as convertDataForRead } from "../portable-text-CJ9v0T_j.mjs";
58
58
  import { _ as saveMarketplaceCredential, a as ensureProjectGitignoreDinewayLocalState, c as resolveDinewayBaseUrl, d as getCredentials, f as getMarketplaceCredential, g as saveCredentials, h as resolveCredentialKey, i as DEFAULT_DINEWAY_URL, l as resolveDinewayToken, m as removeMarketplaceCredential, n as connectionArgs, o as ensureProjectGitignoreEntry, p as removeCredentials, r as createClientFromArgs, s as readProjectEnv, u as upsertProjectEnv } from "../client-factory-8GnB8iz5.mjs";
59
- import { t as migrateD1Release } from "../release-CIYyinzY.mjs";
60
- import { a as verifyContentMigration, i as stageContentMigrationEntry, l as contentMigrationSnapshotSchema, n as completeContentMigration, o as verifyContentMigrationPage, r as rollbackContentMigration, s as bootstrapContentDirectoryPage, t as activateContentMigrationEntry, u as migrateContentStorageConfig } from "../migration-BhVzGnj0.mjs";
59
+ import { t as migrateD1Release } from "../release-Bk-UaI2C.mjs";
60
+ import { a as stageContentMigrationEntry, c as bootstrapContentDirectoryPage, d as migrateContentStorageConfig, f as stageContentStorageBindings, i as rollbackContentMigration, n as activateContentMigrationEntry, o as verifyContentMigration, r as completeContentMigration, s as verifyContentMigrationPage, t as inventoryContentVersions, u as contentMigrationSnapshotSchema } from "../retention-gks1TiDo.mjs";
61
61
  import { LocalStorage } from "../storage/local.mjs";
62
62
  import { r as fileExists$11, t as bundleCommand } from "../bundle-CnJWXvur.mjs";
63
63
  import { createRequire } from "node:module";
@@ -1103,15 +1103,11 @@ async function readContentStorageProject(options) {
1103
1103
  database: select(main.config, mainBinding)
1104
1104
  }];
1105
1105
  for (const [store, descriptor] of Object.entries(config.stores)) {
1106
- const target = z.object({
1107
- config: z.string().min(1),
1108
- binding: z.string().min(1)
1109
- }).parse(descriptor.config.database);
1110
- const worker = await loadProjectWrangler(cwd, target.config, options.environment);
1106
+ const { binding } = z.object({ binding: z.string().min(1) }).parse(descriptor.config);
1111
1107
  targets.push({
1112
1108
  store,
1113
1109
  binding: `CONTENT_STORE_${targets.length}`,
1114
- database: select(worker.config, target.binding)
1110
+ database: select(main.config, binding)
1115
1111
  });
1116
1112
  }
1117
1113
  if (new Set(targets.map((target) => target.database.database_id)).size !== targets.length) throw new Error("Content stores must select distinct physical D1 databases.");
@@ -1197,9 +1193,11 @@ async function openContentStorageProject(options) {
1197
1193
  //#endregion
1198
1194
  //#region src/cli/commands/content-storage.ts
1199
1195
  const actions = [
1196
+ "version-inventory",
1200
1197
  "install",
1201
1198
  "schema",
1202
1199
  "config",
1200
+ "stage-bindings",
1203
1201
  "inventory",
1204
1202
  "bootstrap",
1205
1203
  "begin",
@@ -1245,9 +1243,18 @@ async function runContentStorageCommand(options) {
1245
1243
  source: "primary"
1246
1244
  };
1247
1245
  }
1248
- if (options.action === "config") {
1246
+ if (options.action === "config" || options.action === "stage-bindings") {
1249
1247
  if (!options.previousConfig) throw new Error("Provide --previous-config with the exact previously installed contentStorage JSON.");
1250
- await migrateContentStorageConfig(primary, contentStorageConfigSchema.parse(JSON.parse(await readFile(resolve(project.cwd, options.previousConfig), "utf8"))), config);
1248
+ const previous = contentStorageConfigSchema.parse(JSON.parse(await readFile(resolve(project.cwd, options.previousConfig), "utf8")));
1249
+ for (const [name, store] of Object.entries(config.stores)) await assertContentVersionStore(databases[name], store.identity);
1250
+ if (options.action === "stage-bindings") {
1251
+ await stageContentStorageBindings(primary, previous, config);
1252
+ return {
1253
+ staged: config.version,
1254
+ sourceStoresPreserved: true
1255
+ };
1256
+ }
1257
+ await migrateContentStorageConfig(primary, previous, config);
1251
1258
  return {
1252
1259
  installed: config.version,
1253
1260
  sourceStoresPreserved: true
@@ -1255,6 +1262,11 @@ async function runContentStorageCommand(options) {
1255
1262
  }
1256
1263
  await assertContentStorageConfiguration(primary, config);
1257
1264
  for (const [store, definition] of Object.entries(config.stores)) await assertContentVersionStore(databases[store], definition.identity);
1265
+ if (options.action === "version-inventory") {
1266
+ const { store, collection } = options;
1267
+ if (!store || !Object.hasOwn(config.stores, store) || !collection || !Object.hasOwn(config.rules, collection)) throw new Error("Select a configured --store and --collection.");
1268
+ return inventoryContentVersions(primary, databases[store], store, collection, Number(options.after ?? 0), options.limit);
1269
+ }
1258
1270
  if (options.action === "inventory") {
1259
1271
  const partitions = (await sql`SELECT p.*,COUNT(l.entry_id) AS entries FROM _dineway_content_partitions p LEFT JOIN _dineway_content_locations l ON l.collection=p.collection AND l.partition=p.partition GROUP BY p.collection,p.partition ORDER BY p.collection,p.partition`.execute(primary)).rows;
1260
1272
  const unindexed = [];
@@ -1361,6 +1373,7 @@ const contentStorageCommand = defineCommand({
1361
1373
  env: { type: "string" },
1362
1374
  collection: { type: "string" },
1363
1375
  partition: { type: "string" },
1376
+ store: { type: "string" },
1364
1377
  migration: { type: "string" },
1365
1378
  archive: { type: "string" },
1366
1379
  "previous-config": { type: "string" },
@@ -1383,6 +1396,7 @@ const contentStorageCommand = defineCommand({
1383
1396
  environment: args.env,
1384
1397
  collection: args.collection,
1385
1398
  partition: args.partition,
1399
+ store: args.store,
1386
1400
  migration: args.migration,
1387
1401
  archive: args.archive,
1388
1402
  previousConfig: args["previous-config"],
@@ -1,16 +1,16 @@
1
- import "../types-jtUocGnQ.mjs";
1
+ import "../types-CTbitmIM.mjs";
2
2
  import "../types-CG9uGPBL.mjs";
3
3
  import "../runner-DlkOiguI.mjs";
4
4
  import "../index-_fCUsJx9.mjs";
5
- import "../types-CeFGasN8.mjs";
5
+ import "../types-BafdCfKt.mjs";
6
6
  import "../types-DLwh1QkC.mjs";
7
7
  import "../adapters-cL325h6c.mjs";
8
- import "../runtime-ecsN2xL9.mjs";
8
+ import "../runtime-BEiDcRPk.mjs";
9
9
  import "../hook-events-lN-kz-4_.mjs";
10
10
  import "../scheduled-publish-7kZkKw7t.mjs";
11
11
  import "../public-url-CvNSyMJJ.mjs";
12
12
  import "../validate-CleBZbkv.mjs";
13
- import "../byline-fields-D6EXp7_j.mjs";
13
+ import "../byline-fields-B117F62r.mjs";
14
14
  import "../types-BuplUVZ4.mjs";
15
15
  import { DinewayClient, PluginRequestOptions } from "../client/index.mjs";
16
16
  import { SubCommandsDef } from "citty";
@@ -1,16 +1,16 @@
1
- import { Ms as ReviewRequestStatus, Wt as PublicationPolicyOverride, Yt as PublicationReadinessResult, Zt as PublicationReceipt, js as ReviewRequest } from "../types-jtUocGnQ.mjs";
1
+ import { Ms as ReviewRequestStatus, Wt as PublicationPolicyOverride, Yt as PublicationReadinessResult, Zt as PublicationReceipt, js as ReviewRequest } from "../types-CTbitmIM.mjs";
2
2
  import "../types-CG9uGPBL.mjs";
3
3
  import "../runner-DlkOiguI.mjs";
4
4
  import "../index-_fCUsJx9.mjs";
5
- import "../types-CeFGasN8.mjs";
5
+ import "../types-BafdCfKt.mjs";
6
6
  import "../types-DLwh1QkC.mjs";
7
7
  import "../adapters-cL325h6c.mjs";
8
- import "../runtime-ecsN2xL9.mjs";
8
+ import "../runtime-BEiDcRPk.mjs";
9
9
  import "../hook-events-lN-kz-4_.mjs";
10
10
  import "../scheduled-publish-7kZkKw7t.mjs";
11
11
  import "../public-url-CvNSyMJJ.mjs";
12
12
  import "../validate-CleBZbkv.mjs";
13
- import "../byline-fields-D6EXp7_j.mjs";
13
+ import "../byline-fields-B117F62r.mjs";
14
14
  import "../types-BuplUVZ4.mjs";
15
15
  import { a as tokenInterceptor, i as devBypassInterceptor, n as createTransport, r as csrfInterceptor, t as Interceptor } from "../transport-Cm1beMRX.mjs";
16
16
  import { n as markdownToPortableText, r as portableTextToMarkdown, t as PortableTextBlock } from "../portable-text-BZYFFIgm.mjs";
@@ -1,5 +1,5 @@
1
1
  import { i as encodeCursor, r as decodeCursor } from "./types-BI3ULB3A.mjs";
2
- import { s as invalidateCommentObjectCache } from "./object-cache-Ue6kAfzf.mjs";
2
+ import { s as invalidateCommentObjectCache } from "./object-cache-DRx6IjWR.mjs";
3
3
  import { sql } from "kysely";
4
4
  import { ulid } from "ulidx";
5
5
 
@@ -1,4 +1,4 @@
1
- import { t as CommentRepository } from "./comment-BTt78k0n.mjs";
1
+ import { t as CommentRepository } from "./comment-BnrzhX9M.mjs";
2
2
 
3
3
  //#region src/api/handlers/comments.ts
4
4
  async function handleCommentList(db, collection, contentId, options = {}) {
@@ -35,6 +35,7 @@ const contentStorageConfigSchema = z.object({
35
35
  taxonomies: z.array(z.string()).optional(),
36
36
  references: z.record(z.string(), z.object({
37
37
  collection: z.string(),
38
+ fields: z.array(z.string()).max(98).optional(),
38
39
  taxonomies: z.array(z.string()).optional()
39
40
  }).strict()).optional()
40
41
  }).strict()]),
@@ -89,7 +90,7 @@ function validateContentStorage(config) {
89
90
  if (!rule.partitionBy.entrypoint) invalid(`Content type ${collection} requires a partition resolver entrypoint.`);
90
91
  const names = [...rule.partitionBy.taxonomies ?? []];
91
92
  for (const [field, reference] of Object.entries(rule.partitionBy.references ?? {})) {
92
- if (!COLLECTION.test(field) || UNSAFE_KEYS.has(field) || !COLLECTION.test(reference.collection) || UNSAFE_KEYS.has(reference.collection)) invalid(`Invalid partition reference for ${collection}.`);
93
+ if (!COLLECTION.test(field) || UNSAFE_KEYS.has(field) || reference.fields?.some((key) => !COLLECTION.test(key) || UNSAFE_KEYS.has(key)) || !COLLECTION.test(reference.collection) || UNSAFE_KEYS.has(reference.collection)) invalid(`Invalid partition reference for ${collection}.`);
93
94
  names.push(...reference.taxonomies ?? []);
94
95
  }
95
96
  if (names.length > 16 || Object.keys(rule.partitionBy.references ?? {}).length > 8 || names.some((name) => !COLLECTION.test(name) || UNSAFE_KEYS.has(name))) invalid(`Invalid or excessive partition dependencies for ${collection}.`);
@@ -2,14 +2,14 @@ import { c as __exportAll } from "./runner-CuG8o1uW.mjs";
2
2
  import { AtomicWriteConflict, atomicBatch, isD1Database, rowUnchanged } from "./database/batch.mjs";
3
3
  import { t as validateIdentifier } from "./validate-Co3j6T_K.mjs";
4
4
  import { o as isPostgres } from "./dialect-helpers-C6xtO-Ui.mjs";
5
- import { n as contentDigest, o as ContentStorageError, t as canonicalContentJson } from "./config---A7Bg68.mjs";
6
- import { a as hydrateContentRows, g as contentPartitionWritable, r as getContentStorage } from "./runtime-BLoyGKUx.mjs";
5
+ import { n as contentDigest, o as ContentStorageError, t as canonicalContentJson } from "./config-BhQacL9l.mjs";
6
+ import { f as contentPartitionWritable, i as getContentStorage, o as hydrateContentRows } from "./runtime-CeGWfwh3.mjs";
7
7
  import { i as encodeCursor, n as ScheduledNotDueError, r as decodeCursor, t as DinewayValidationError } from "./types-BI3ULB3A.mjs";
8
8
  import { t as contentWriteChecks } from "./atomic-authority-Bf5QZboB.mjs";
9
- import { o as invalidateCollectionCache } from "./object-cache-Ue6kAfzf.mjs";
10
- import { i as storedContentSeo, r as snapshotOwnedContentMetadata, t as contentEventBylines } from "./owned-metadata-bXhDX1WW.mjs";
9
+ import { o as invalidateCollectionCache } from "./object-cache-DRx6IjWR.mjs";
10
+ import { i as storedContentSeo, r as snapshotOwnedContentMetadata, t as contentEventBylines } from "./owned-metadata-DFODPEuj.mjs";
11
11
  import { n as slugify } from "./slugify-DvoaEPtL.mjs";
12
- import { t as RevisionRepository } from "./revision-BtgwJxxa.mjs";
12
+ import { t as RevisionRepository } from "./revision-DX_AHhhE.mjs";
13
13
  import { sql } from "kysely";
14
14
  import { ulid } from "ulidx";
15
15
  import { z } from "zod";
@@ -1,4 +1,4 @@
1
- import { t as contentTermChangesSchema } from "./terms-EskuqbKE.mjs";
1
+ import { t as contentTermChangesSchema } from "./terms-D4OJs0Zh.mjs";
2
2
  import { z } from "zod";
3
3
 
4
4
  //#region src/api/schemas/common.ts
@@ -1,8 +1,8 @@
1
1
  import { AtomicWriteConflict, atomicBatch } from "./database/batch.mjs";
2
2
  import { t as validateIdentifier } from "./validate-Co3j6T_K.mjs";
3
3
  import { r as isI18nEnabled } from "./config-XW5tMrH8.mjs";
4
- import { a as hydrateContentRows } from "./runtime-BLoyGKUx.mjs";
5
- import { t as readRevisionData } from "./revisions-CQZI886L.mjs";
4
+ import { o as hydrateContentRows } from "./runtime-CeGWfwh3.mjs";
5
+ import { t as readRevisionData } from "./revisions-DG2-WBDb.mjs";
6
6
  import { i as encodeCursor, r as decodeCursor } from "./types-BI3ULB3A.mjs";
7
7
  import { n as chunks, t as SQL_BATCH_SIZE } from "./chunks-Bb56aCtB.mjs";
8
8
  import { n as normalizeMime } from "./mime-FkfazULS.mjs";
@@ -1,9 +1,9 @@
1
1
  import { n as Database } from "../types-CG9uGPBL.mjs";
2
2
  import "../database/batch.mjs";
3
- import { a as ContentStorageActivation, c as ContentStorageError, d as ContentStore, f as ContentStoreDescriptor, i as ContentPartitionRule, l as ContentStorageReplay, n as ContentPartitionContext, o as ContentStorageCommand, p as PreparedContentVersion, r as ContentPartitionResolver, s as ContentStorageConfig, t as ContentLocation, u as ContentStorageValue } from "../types-CeFGasN8.mjs";
4
- import { a as registerContentStorage, i as hydrateContentRows, n as assertContentStorageConfiguration, o as ContentStorageCoordinator, r as getContentStorage, s as installContentStorageConfig, t as ContentStorageRuntime } from "../runtime-ecsN2xL9.mjs";
3
+ import { a as ContentStorageActivation, c as ContentStorageError, d as ContentStore, f as ContentStoreDescriptor, i as ContentPartitionRule, l as ContentStorageReplay, n as ContentPartitionContext, o as ContentStorageCommand, p as PreparedContentVersion, r as ContentPartitionResolver, s as ContentStorageConfig, t as ContentLocation, u as ContentStorageValue } from "../types-BafdCfKt.mjs";
4
+ import { a as registerContentStorage, i as hydrateContentRows, n as assertContentStorageConfiguration, o as ContentStorageCoordinator, r as getContentStorage, s as installContentStorageConfig, t as ContentStorageRuntime } from "../runtime-BEiDcRPk.mjs";
5
5
  import "../hook-events-lN-kz-4_.mjs";
6
- import { a as contentStoreCollectionSchema, c as installContentVersionStore, d as resolveContentPartition, f as validateContentStorage, i as contentStoreCollectionFromFields, l as canonicalContentJson, n as ContentVersionStore, o as contentStoreRequestSchema, r as assertContentVersionStore, s as contentVersionSchema, t as ContentStoreCollection, u as contentDigest } from "../version-store-B6i81L9W.mjs";
6
+ import { a as contentStoreCollectionSchema, c as canonicalContentJson, d as validateContentStorage, i as contentStoreCollectionFromFields, l as contentDigest, n as ContentVersionStore, o as contentVersionSchema, r as assertContentVersionStore, s as installContentVersionStore, t as ContentStoreCollection, u as resolveContentPartition } from "../version-store-BLGuq3wB.mjs";
7
7
  import * as kysely from "kysely";
8
8
  import { Kysely } from "kysely";
9
9
  import { z } from "zod";
@@ -22,6 +22,8 @@ declare function readRevisionDataBatch<DB>(db: Kysely<DB>, rows: readonly {
22
22
  }[], fields?: readonly string[]): Promise<Record<string, unknown>[]>;
23
23
  //#endregion
24
24
  //#region src/content-storage/config-migration.d.ts
25
+ /** Explicitly stage compatible bindings or a resolver input projection with the same routing contract. */
26
+ declare function stageContentStorageBindings<DB>(db: Kysely<DB>, previous: ContentStorageConfig, next: ContentStorageConfig): Promise<void>;
25
27
  /** Explicit deployment step. Mapping changes retain the source until its data migration completes. */
26
28
  declare function migrateContentStorageConfig<DB>(db: Kysely<DB>, previous: ContentStorageConfig, next: ContentStorageConfig): Promise<void>;
27
29
  //#endregion
@@ -198,4 +200,23 @@ declare function completeContentMigration(db: Kysely<Database>, migration: Conte
198
200
  /** Restore the archived source only before writes have reopened. Never deletes either copy. */
199
201
  declare function rollbackContentMigration(db: Kysely<Database>, migration: ContentMigrationIdentity, archive: ContentMigrationArchive): Promise<void>;
200
202
  //#endregion
201
- export { type ContentLocation, type ContentMigrationArchive, type ContentMigrationIdentity, type ContentMigrationSnapshot, type ContentPartitionContext, type ContentPartitionResolver, type ContentPartitionRoute, type ContentPartitionRule, type ContentStorageActivation, type ContentStorageCommand, type ContentStorageConfig, ContentStorageCoordinator, ContentStorageError, ContentStorageReplay, type ContentStorageRuntime, type ContentStorageValue, type ContentStore, type ContentStoreCollection, type ContentStoreDescriptor, ContentVersionStore, type PreparedContentVersion, activateContentMigrationEntry, assertContentStorageConfiguration, assertContentVersionStore, beginContentMigration, bootstrapContentDirectoryPage, cancelContentMigration, canonicalContentJson, captureContentMigrationSnapshot, completeContentMigration, contentDigest, contentMigrationSnapshotSchema, contentStoreCollectionFromFields, contentStoreCollectionSchema, contentStoreRequestSchema, contentVersionSchema, freezeContentPartition, getContentStorage, hydrateContentRows, installContentStorageConfig, installContentVersionStore, migrateContentStorageConfig, readContentPartitionRoute, readRevisionData, readRevisionDataBatch, registerContentStorage, resolveContentPartition, rollbackContentMigration, stageContentMigrationEntry, validateContentStorage, verifyContentMigration, verifyContentMigrationPage };
203
+ //#region src/content-storage/retention.d.ts
204
+ interface PhysicalVersion {
205
+ cursor: number;
206
+ entry_id: string;
207
+ version: string;
208
+ partition: string;
209
+ created_at: string;
210
+ payload_bytes: number;
211
+ }
212
+ /** Read-only inventory. A page is an observation, never a deletion authorization. */
213
+ declare function inventoryContentVersions(primary: Kysely<Database>, physical: Kysely<Database>, store: string, collection: string, after?: number, limit?: number, now?: Date): Promise<{
214
+ store: string;
215
+ collection: string;
216
+ versions: (PhysicalVersion & {
217
+ disposition: "referenced" | "retained" | "review";
218
+ })[];
219
+ nextCursor: number | null;
220
+ }>;
221
+ //#endregion
222
+ export { type ContentLocation, type ContentMigrationArchive, type ContentMigrationIdentity, type ContentMigrationSnapshot, type ContentPartitionContext, type ContentPartitionResolver, type ContentPartitionRoute, type ContentPartitionRule, type ContentStorageActivation, type ContentStorageCommand, type ContentStorageConfig, ContentStorageCoordinator, ContentStorageError, ContentStorageReplay, type ContentStorageRuntime, type ContentStorageValue, type ContentStore, type ContentStoreCollection, type ContentStoreDescriptor, ContentVersionStore, type PreparedContentVersion, activateContentMigrationEntry, assertContentStorageConfiguration, assertContentVersionStore, beginContentMigration, bootstrapContentDirectoryPage, cancelContentMigration, canonicalContentJson, captureContentMigrationSnapshot, completeContentMigration, contentDigest, contentMigrationSnapshotSchema, contentStoreCollectionFromFields, contentStoreCollectionSchema, contentVersionSchema, freezeContentPartition, getContentStorage, hydrateContentRows, installContentStorageConfig, installContentVersionStore, inventoryContentVersions, migrateContentStorageConfig, readContentPartitionRoute, readRevisionData, readRevisionDataBatch, registerContentStorage, resolveContentPartition, rollbackContentMigration, stageContentMigrationEntry, stageContentStorageBindings, validateContentStorage, verifyContentMigration, verifyContentMigrationPage };