@caretcms/core 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (223) hide show
  1. package/README.md +116 -11
  2. package/dist/index.d.ts +15 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +78 -5
  5. package/dist/index.js.map +1 -1
  6. package/dist/loader.d.ts.map +1 -1
  7. package/dist/loader.js +8 -0
  8. package/dist/loader.js.map +1 -1
  9. package/dist/markdown/paragraphs.d.ts +14 -0
  10. package/dist/markdown/paragraphs.d.ts.map +1 -0
  11. package/dist/markdown/paragraphs.js +61 -0
  12. package/dist/markdown/paragraphs.js.map +1 -0
  13. package/dist/markdown/remark.d.ts.map +1 -1
  14. package/dist/markdown/remark.js +1 -0
  15. package/dist/markdown/remark.js.map +1 -1
  16. package/dist/markdown/satteri.d.ts.map +1 -1
  17. package/dist/markdown/satteri.js +3 -1
  18. package/dist/markdown/satteri.js.map +1 -1
  19. package/dist/markdown/stamp.d.ts +0 -9
  20. package/dist/markdown/stamp.d.ts.map +1 -1
  21. package/dist/markdown/stamp.js +6 -0
  22. package/dist/markdown/stamp.js.map +1 -1
  23. package/dist/providers/deployment/github.d.ts +27 -0
  24. package/dist/providers/deployment/github.d.ts.map +1 -0
  25. package/dist/providers/deployment/github.js +180 -0
  26. package/dist/providers/deployment/github.js.map +1 -0
  27. package/dist/providers/deployment/simulated.d.ts +10 -0
  28. package/dist/providers/deployment/simulated.d.ts.map +1 -0
  29. package/dist/providers/deployment/simulated.js +29 -0
  30. package/dist/providers/deployment/simulated.js.map +1 -0
  31. package/dist/runtime/authorization.d.ts +11 -0
  32. package/dist/runtime/authorization.d.ts.map +1 -0
  33. package/dist/runtime/authorization.js +29 -0
  34. package/dist/runtime/authorization.js.map +1 -0
  35. package/dist/runtime/collection-policy.d.ts +11 -0
  36. package/dist/runtime/collection-policy.d.ts.map +1 -0
  37. package/dist/runtime/collection-policy.js +44 -0
  38. package/dist/runtime/collection-policy.js.map +1 -0
  39. package/dist/runtime/content-errors.d.ts +9 -0
  40. package/dist/runtime/content-errors.d.ts.map +1 -0
  41. package/dist/runtime/content-errors.js +17 -0
  42. package/dist/runtime/content-errors.js.map +1 -0
  43. package/dist/runtime/content.d.ts.map +1 -1
  44. package/dist/runtime/content.js +13 -4
  45. package/dist/runtime/content.js.map +1 -1
  46. package/dist/runtime/deployment-status.d.ts +14 -0
  47. package/dist/runtime/deployment-status.d.ts.map +1 -0
  48. package/dist/runtime/deployment-status.js +57 -0
  49. package/dist/runtime/deployment-status.js.map +1 -0
  50. package/dist/runtime/draft-state.d.ts +16 -0
  51. package/dist/runtime/draft-state.d.ts.map +1 -0
  52. package/dist/runtime/draft-state.js +29 -0
  53. package/dist/runtime/draft-state.js.map +1 -0
  54. package/dist/runtime/i18n.d.ts +13 -2
  55. package/dist/runtime/i18n.d.ts.map +1 -1
  56. package/dist/runtime/i18n.js +26 -4
  57. package/dist/runtime/i18n.js.map +1 -1
  58. package/dist/runtime/index.d.ts +1 -0
  59. package/dist/runtime/index.d.ts.map +1 -1
  60. package/dist/runtime/index.js +1 -0
  61. package/dist/runtime/index.js.map +1 -1
  62. package/dist/runtime/middleware.d.ts.map +1 -1
  63. package/dist/runtime/middleware.js +21 -2
  64. package/dist/runtime/middleware.js.map +1 -1
  65. package/dist/runtime/mutations/contracts.d.ts +9 -0
  66. package/dist/runtime/mutations/contracts.d.ts.map +1 -1
  67. package/dist/runtime/mutations/contracts.js +45 -4
  68. package/dist/runtime/mutations/contracts.js.map +1 -1
  69. package/dist/runtime/mutations/engine.d.ts +2 -0
  70. package/dist/runtime/mutations/engine.d.ts.map +1 -1
  71. package/dist/runtime/mutations/engine.js +115 -63
  72. package/dist/runtime/mutations/engine.js.map +1 -1
  73. package/dist/runtime/providers.d.ts +3 -1
  74. package/dist/runtime/providers.d.ts.map +1 -1
  75. package/dist/runtime/providers.js +12 -1
  76. package/dist/runtime/providers.js.map +1 -1
  77. package/dist/runtime/publish-recovery.d.ts +32 -0
  78. package/dist/runtime/publish-recovery.d.ts.map +1 -0
  79. package/dist/runtime/publish-recovery.js +98 -0
  80. package/dist/runtime/publish-recovery.js.map +1 -0
  81. package/dist/runtime/publish.d.ts +10 -4
  82. package/dist/runtime/publish.d.ts.map +1 -1
  83. package/dist/runtime/publish.js +104 -67
  84. package/dist/runtime/publish.js.map +1 -1
  85. package/dist/runtime/rebuild-webhook.d.ts +4 -0
  86. package/dist/runtime/rebuild-webhook.d.ts.map +1 -1
  87. package/dist/runtime/rebuild-webhook.js +12 -2
  88. package/dist/runtime/rebuild-webhook.js.map +1 -1
  89. package/dist/runtime/request-context.d.ts +3 -1
  90. package/dist/runtime/request-context.d.ts.map +1 -1
  91. package/dist/runtime/request-context.js.map +1 -1
  92. package/dist/runtime/rewrite.d.ts.map +1 -1
  93. package/dist/runtime/rewrite.js +28 -2
  94. package/dist/runtime/rewrite.js.map +1 -1
  95. package/dist/runtime/rich-allowlist.js +1 -1
  96. package/dist/runtime/rich-allowlist.js.map +1 -1
  97. package/dist/runtime/routes/admin-entry.d.ts.map +1 -1
  98. package/dist/runtime/routes/admin-entry.js +24 -12
  99. package/dist/runtime/routes/admin-entry.js.map +1 -1
  100. package/dist/runtime/routes/auth-session.d.ts.map +1 -1
  101. package/dist/runtime/routes/auth-session.js +6 -0
  102. package/dist/runtime/routes/auth-session.js.map +1 -1
  103. package/dist/runtime/routes/collection-list.d.ts.map +1 -1
  104. package/dist/runtime/routes/collection-list.js +164 -40
  105. package/dist/runtime/routes/collection-list.js.map +1 -1
  106. package/dist/runtime/routes/deployment.d.ts +5 -0
  107. package/dist/runtime/routes/deployment.d.ts.map +1 -0
  108. package/dist/runtime/routes/deployment.js +38 -0
  109. package/dist/runtime/routes/deployment.js.map +1 -0
  110. package/dist/runtime/routes/draft.d.ts.map +1 -1
  111. package/dist/runtime/routes/draft.js +10 -3
  112. package/dist/runtime/routes/draft.js.map +1 -1
  113. package/dist/runtime/routes/entries.d.ts.map +1 -1
  114. package/dist/runtime/routes/entries.js +74 -39
  115. package/dist/runtime/routes/entries.js.map +1 -1
  116. package/dist/runtime/routes/history.d.ts.map +1 -1
  117. package/dist/runtime/routes/history.js +37 -21
  118. package/dist/runtime/routes/history.js.map +1 -1
  119. package/dist/runtime/routes/mutate.d.ts.map +1 -1
  120. package/dist/runtime/routes/mutate.js +4 -1
  121. package/dist/runtime/routes/mutate.js.map +1 -1
  122. package/dist/runtime/routes/publish.d.ts.map +1 -1
  123. package/dist/runtime/routes/publish.js +127 -33
  124. package/dist/runtime/routes/publish.js.map +1 -1
  125. package/dist/runtime/routes/schema.d.ts.map +1 -1
  126. package/dist/runtime/routes/schema.js +4 -0
  127. package/dist/runtime/routes/schema.js.map +1 -1
  128. package/dist/runtime/routes/studio-home.d.ts.map +1 -1
  129. package/dist/runtime/routes/studio-home.js +3 -1
  130. package/dist/runtime/routes/studio-home.js.map +1 -1
  131. package/dist/runtime/routes/upload.d.ts.map +1 -1
  132. package/dist/runtime/routes/upload.js +3 -0
  133. package/dist/runtime/routes/upload.js.map +1 -1
  134. package/dist/runtime/schema-registry.d.ts.map +1 -1
  135. package/dist/runtime/schema-registry.js +2 -0
  136. package/dist/runtime/schema-registry.js.map +1 -1
  137. package/dist/runtime/storage/entry-commit.d.ts +8 -0
  138. package/dist/runtime/storage/entry-commit.d.ts.map +1 -0
  139. package/dist/runtime/storage/entry-commit.js +45 -0
  140. package/dist/runtime/storage/entry-commit.js.map +1 -0
  141. package/dist/runtime/storage/filesystem-adapter.d.ts +5 -0
  142. package/dist/runtime/storage/filesystem-adapter.d.ts.map +1 -1
  143. package/dist/runtime/storage/filesystem-adapter.js +12 -3
  144. package/dist/runtime/storage/filesystem-adapter.js.map +1 -1
  145. package/dist/runtime/storage/frontmatter-codec.d.ts +5 -23
  146. package/dist/runtime/storage/frontmatter-codec.d.ts.map +1 -1
  147. package/dist/runtime/storage/frontmatter-codec.js +156 -13
  148. package/dist/runtime/storage/frontmatter-codec.js.map +1 -1
  149. package/dist/runtime/storage/in-memory-adapter.d.ts +7 -0
  150. package/dist/runtime/storage/in-memory-adapter.d.ts.map +1 -1
  151. package/dist/runtime/storage/in-memory-adapter.js +6 -0
  152. package/dist/runtime/storage/in-memory-adapter.js.map +1 -1
  153. package/dist/runtime/storage/markdown-adapter.d.ts.map +1 -1
  154. package/dist/runtime/storage/markdown-adapter.js +18 -20
  155. package/dist/runtime/storage/markdown-adapter.js.map +1 -1
  156. package/dist/runtime/storage/session-overlay-adapter.d.ts +12 -4
  157. package/dist/runtime/storage/session-overlay-adapter.d.ts.map +1 -1
  158. package/dist/runtime/storage/session-overlay-adapter.js +100 -13
  159. package/dist/runtime/storage/session-overlay-adapter.js.map +1 -1
  160. package/dist/runtime/storage/sidecar-meta-store.d.ts +5 -0
  161. package/dist/runtime/storage/sidecar-meta-store.d.ts.map +1 -1
  162. package/dist/runtime/storage/sidecar-meta-store.js +48 -5
  163. package/dist/runtime/storage/sidecar-meta-store.js.map +1 -1
  164. package/dist/runtime/utils.d.ts.map +1 -1
  165. package/dist/runtime/utils.js +3 -4
  166. package/dist/runtime/utils.js.map +1 -1
  167. package/dist/types.d.ts +123 -1
  168. package/dist/types.d.ts.map +1 -1
  169. package/package.json +12 -3
  170. package/static/cms/admin-entry.css +9 -0
  171. package/static/cms/admin-entry.js +251 -687
  172. package/static/cms/dev-toolbar/app.js +78 -19
  173. package/static/cms/editor/config.js +35 -15
  174. package/static/cms/editor/content-map.css +8 -1
  175. package/static/cms/editor/content-map.js +62 -23
  176. package/static/cms/editor/deployment-status.js +66 -0
  177. package/static/cms/editor/draft-client.js +87 -0
  178. package/static/cms/editor/guards.js +20 -0
  179. package/static/cms/editor/helpers.js +30 -1
  180. package/static/cms/editor/highlight.js +1 -0
  181. package/static/cms/editor/image-edit.js +43 -1
  182. package/static/cms/editor/image-utils.js +23 -7
  183. package/static/cms/editor/link-follow.js +122 -41
  184. package/static/cms/editor/link-ui.css +10 -1
  185. package/static/cms/editor/linkify.js +2 -0
  186. package/static/cms/editor/md-block-edit.js +140 -37
  187. package/static/cms/editor/md-paragraphs.js +98 -0
  188. package/static/cms/editor/md-serialize.js +1 -1
  189. package/static/cms/editor/panel.js +43 -15
  190. package/static/cms/editor/preview-mode.js +44 -0
  191. package/static/cms/editor/publish-result.js +100 -0
  192. package/static/cms/editor/rich-toolbar.js +58 -15
  193. package/static/cms/editor/sanitize.js +6 -2
  194. package/static/cms/editor/save-queue.js +75 -17
  195. package/static/cms/editor/section-controls/activation.js +3 -0
  196. package/static/cms/editor/section-controls/api.js +25 -7
  197. package/static/cms/editor/section-controls/index.js +60 -8
  198. package/static/cms/editor/section-controls/model.js +39 -4
  199. package/static/cms/editor/section-controls/mutations.js +15 -0
  200. package/static/cms/editor/section-controls/page-context.js +9 -0
  201. package/static/cms/editor/section-controls/pickers.js +53 -2
  202. package/static/cms/editor/section-controls/reorder.js +23 -0
  203. package/static/cms/editor/section-controls/selection.js +6 -0
  204. package/static/cms/editor/section-controls/spacing-drag.js +16 -0
  205. package/static/cms/editor/section-controls/ui-elements.js +7 -0
  206. package/static/cms/editor/section-controls/utils.js +7 -0
  207. package/static/cms/editor/section-controls.css +18 -3
  208. package/static/cms/editor/security.js +13 -2
  209. package/static/cms/editor/stega-hydrate.js +17 -4
  210. package/static/cms/editor/sync.js +208 -10
  211. package/static/cms/editor/text-edit.js +37 -3
  212. package/static/cms/editor/text-link-interactions.js +59 -17
  213. package/static/cms/editor/toast.js +23 -9
  214. package/static/cms/editor/toolbar.css +5 -0
  215. package/static/cms/editor/toolbar.js +91 -101
  216. package/static/cms/editor.js +2 -1
  217. package/static/cms/studio/entry-loader.js +102 -0
  218. package/static/cms/studio/field-model.js +110 -0
  219. package/static/cms/studio/fields.js +319 -0
  220. package/static/cms/studio/history-client.js +74 -0
  221. package/static/cms/studio/mutation-client.js +74 -0
  222. package/static/cms/studio/sync-client.js +107 -0
  223. package/static/cms/studio/upload-client.js +109 -0
@@ -0,0 +1,44 @@
1
+ const FIELD_SEGMENT_RE = /^[A-Za-z_][A-Za-z0-9_-]*$/;
2
+ export function publicationField(config) {
3
+ if (!config?.publication)
4
+ return null;
5
+ const field = config.publication.field?.trim() || "published";
6
+ return FIELD_SEGMENT_RE.test(field) ? field : null;
7
+ }
8
+ export function isPublicEntry(data, config) {
9
+ const field = publicationField(config);
10
+ return field === null || isPublishedEntry(data, field);
11
+ }
12
+ /**
13
+ * Test the explicit boolean publication state used by a managed collection.
14
+ * This is useful with Astro's native build-time collection APIs, which do not
15
+ * pass through Caret's request-aware loaders.
16
+ */
17
+ export function isPublishedEntry(data, field = "published") {
18
+ return data[field] === true;
19
+ }
20
+ function safeSameOriginPath(value) {
21
+ const path = value.trim();
22
+ if (!path.startsWith("/")
23
+ || path.startsWith("//")
24
+ || path.includes("\\")
25
+ || /[{}]/.test(path))
26
+ return null;
27
+ try {
28
+ const url = new URL(path, "https://caretcms.invalid");
29
+ if (url.origin !== "https://caretcms.invalid")
30
+ return null;
31
+ return `${url.pathname}${url.search}${url.hash}`;
32
+ }
33
+ catch {
34
+ return null;
35
+ }
36
+ }
37
+ export function resolvePreviewPath(config, id) {
38
+ const configured = config?.previewPath;
39
+ const template = typeof configured === "string" ? configured : configured?.[id];
40
+ if (typeof template !== "string")
41
+ return null;
42
+ return safeSameOriginPath(template.replaceAll("{id}", encodeURIComponent(id)));
43
+ }
44
+ //# sourceMappingURL=collection-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collection-policy.js","sourceRoot":"","sources":["../../src/runtime/collection-policy.ts"],"names":[],"mappings":"AAEA,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AAErD,MAAM,UAAU,gBAAgB,CAC9B,MAAiD;IAEjD,IAAI,CAAC,MAAM,EAAE,WAAW;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC;IAC9D,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,IAA6B,EAC7B,MAAiD;IAEjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACvC,OAAO,KAAK,KAAK,IAAI,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACzD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAA6B,EAC7B,KAAK,GAAG,WAAW;IAEnB,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAC9B,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1B,IACE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;WAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;WACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;WACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;QACtD,IAAI,GAAG,CAAC,MAAM,KAAK,0BAA0B;YAAE,OAAO,IAAI,CAAC;QAC3D,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,MAAiD,EACjD,EAAU;IAEV,MAAM,UAAU,GAAG,MAAM,EAAE,WAAW,CAAC;IACvC,MAAM,QAAQ,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAChF,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC9C,OAAO,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare class ContentReadError extends Error {
2
+ readonly code: "unsupported_content" | "invalid_content" | "storage_error";
3
+ constructor(code: "unsupported_content" | "invalid_content" | "storage_error");
4
+ }
5
+ export declare function contentReadFailure(error: unknown): {
6
+ code: string;
7
+ error: string;
8
+ };
9
+ //# sourceMappingURL=content-errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-errors.d.ts","sourceRoot":"","sources":["../../src/runtime/content-errors.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAiB,SAAQ,KAAK;aACb,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,GAAG,eAAe;gBAAjE,IAAI,EAAE,qBAAqB,GAAG,iBAAiB,GAAG,eAAe;CAG9F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAQlF"}
@@ -0,0 +1,17 @@
1
+ export class ContentReadError extends Error {
2
+ code;
3
+ constructor(code) {
4
+ super(code);
5
+ this.code = code;
6
+ }
7
+ }
8
+ export function contentReadFailure(error) {
9
+ if (error instanceof ContentReadError && error.code === "unsupported_content") {
10
+ return { code: error.code, error: "This entry uses unsupported frontmatter syntax. Update its source format and retry; the file has not been changed." };
11
+ }
12
+ if (error instanceof ContentReadError && error.code === "invalid_content") {
13
+ return { code: error.code, error: "This entry contains invalid content. Correct its source file and retry." };
14
+ }
15
+ return { code: "storage_error", error: "Could not read this entry from storage. Check storage access and retry." };
16
+ }
17
+ //# sourceMappingURL=content-errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-errors.js","sourceRoot":"","sources":["../../src/runtime/content-errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACb;IAA5B,YAA4B,IAAiE;QAC3F,KAAK,CAAC,IAAI,CAAC,CAAC;QADc,SAAI,GAAJ,IAAI,CAA6D;IAE7F,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,IAAI,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;QAC9E,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,oHAAoH,EAAE,CAAC;IAC3J,CAAC;IACD,IAAI,KAAK,YAAY,gBAAgB,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC1E,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,yEAAyE,EAAE,CAAC;IAChH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,yEAAyE,EAAE,CAAC;AACrH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/runtime/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAIzC;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAI7E;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGzD"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../src/runtime/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,YAAY,EAAE,SAAS,EAAE,CAAC;AAE1B;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAOzC;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAO7E;AAED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAGzD"}
@@ -10,23 +10,32 @@
10
10
  */
11
11
  import { requireRequestContext } from "./request-context.js";
12
12
  import { stripBodyOverlay } from "./utils.js";
13
+ import { resolveCollectionStudioConfig } from "./schema-registry.js";
14
+ import { isPublicEntry } from "./collection-policy.js";
13
15
  /**
14
16
  * Load a single entry by collection and id.
15
17
  * Returns the entry data, or null if not found.
16
18
  */
17
19
  export async function loadEntry(collection, id) {
18
- const { adapter } = requireRequestContext();
20
+ const { adapter, editor } = requireRequestContext();
19
21
  const entry = await adapter.getEntry(collection, id);
20
- return entry ? stripBodyOverlay(entry.data) : null;
22
+ if (!entry)
23
+ return null;
24
+ const data = stripBodyOverlay(entry.data);
25
+ const config = await resolveCollectionStudioConfig(adapter, collection);
26
+ return editor || isPublicEntry(data, config) ? data : null;
21
27
  }
22
28
  /**
23
29
  * Load all entries in a collection.
24
30
  * Returns an array of { id, data } objects.
25
31
  */
26
32
  export async function loadCollection(collection) {
27
- const { adapter } = requireRequestContext();
33
+ const { adapter, editor } = requireRequestContext();
28
34
  const entries = await adapter.listEntries(collection);
29
- return entries.map((entry) => ({ ...entry, data: stripBodyOverlay(entry.data) }));
35
+ const config = await resolveCollectionStudioConfig(adapter, collection);
36
+ return entries
37
+ .map((entry) => ({ ...entry, data: stripBodyOverlay(entry.data) }))
38
+ .filter((entry) => editor || isPublicEntry(entry.data, config));
30
39
  }
31
40
  /**
32
41
  * Discover all collection names.
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/runtime/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAI9C;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAkB,EAClB,EAAU;IAEV,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrD,OAAO,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB;IACrD,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACpF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC5C,OAAO,OAAO,CAAC,mBAAmB,EAAE,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/runtime/content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAIvD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAkB,EAClB,EAAU;IAEV,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxE,OAAO,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB;IACrD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACxE,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAClE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC5C,OAAO,OAAO,CAAC,mBAAmB,EAAE,CAAC;AACvC,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { DeploymentStatusEvidence, DeploymentTarget, RebuildReceipt } from "../types.js";
2
+ /** True when provider evidence proves the target revision was in the build. */
3
+ export declare function deploymentCoversTarget(target: DeploymentTarget, deployed: RebuildReceipt | undefined): boolean;
4
+ export type PublicDeploymentStatus = {
5
+ configured: true;
6
+ state: "deploying" | "live" | "failed" | "unknown";
7
+ buildId: string | null;
8
+ buildUrl?: string;
9
+ message?: string;
10
+ target: DeploymentTarget;
11
+ checkedAt: number;
12
+ };
13
+ export declare function normalizeDeploymentEvidence(target: DeploymentTarget, evidence: DeploymentStatusEvidence, checkedAt?: number): PublicDeploymentStatus;
14
+ //# sourceMappingURL=deployment-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-status.d.ts","sourceRoot":"","sources":["../../src/runtime/deployment-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACf,MAAM,aAAa,CAAC;AAqBrB,+EAA+E;AAC/E,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,cAAc,GAAG,SAAS,GACnC,OAAO,CAYT;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,UAAU,EAAE,IAAI,CAAC;IACjB,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IACnD,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,wBAAwB,EAClC,SAAS,SAAa,GACrB,sBAAsB,CAuBxB"}
@@ -0,0 +1,57 @@
1
+ const MAX_TEXT = 512;
2
+ function cleanText(value) {
3
+ return typeof value === "string" && value.trim()
4
+ ? value.trim().slice(0, MAX_TEXT)
5
+ : undefined;
6
+ }
7
+ function validBuildUrl(value) {
8
+ const text = cleanText(value);
9
+ if (!text)
10
+ return undefined;
11
+ try {
12
+ const url = new URL(text);
13
+ return url.protocol === "https:" || url.protocol === "http:" ? url.href : undefined;
14
+ }
15
+ catch {
16
+ return undefined;
17
+ }
18
+ }
19
+ /** True when provider evidence proves the target revision was in the build. */
20
+ export function deploymentCoversTarget(target, deployed) {
21
+ if (!deployed)
22
+ return false;
23
+ if (target.commit && deployed.commit === target.commit)
24
+ return true;
25
+ if (target.published.length === 0)
26
+ return false;
27
+ const revisions = new Map(deployed.published.map(entry => [`${entry.collection}::${entry.id}`, entry]));
28
+ return target.published.every(targetEntry => {
29
+ const evidence = revisions.get(`${targetEntry.collection}::${targetEntry.id}`);
30
+ return Boolean(evidence && evidence.revision >= targetEntry.revision);
31
+ });
32
+ }
33
+ export function normalizeDeploymentEvidence(target, evidence, checkedAt = Date.now()) {
34
+ const buildId = cleanText(evidence.buildId) ?? null;
35
+ const buildUrl = validBuildUrl(evidence.buildUrl);
36
+ const message = cleanText(evidence.message);
37
+ if (!["deploying", "live", "failed"].includes(evidence.state)) {
38
+ return { configured: true, state: "unknown", buildId, target, checkedAt,
39
+ message: "Deployment provider returned an invalid state" };
40
+ }
41
+ if (evidence.state === "live" && (!buildId || !deploymentCoversTarget(target, evidence.deployed))) {
42
+ return { configured: true, state: "unknown", buildId, target, checkedAt,
43
+ message: buildId
44
+ ? "The live build did not prove it contains this published revision"
45
+ : "The live deployment did not include a build identity" };
46
+ }
47
+ return {
48
+ configured: true,
49
+ state: evidence.state,
50
+ buildId,
51
+ ...(buildUrl ? { buildUrl } : {}),
52
+ ...(message ? { message } : {}),
53
+ target,
54
+ checkedAt,
55
+ };
56
+ }
57
+ //# sourceMappingURL=deployment-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deployment-status.js","sourceRoot":"","sources":["../../src/runtime/deployment-status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /** Private overlay state. Never accepted from mutation payloads or exposed as content. */
2
+ export declare const DRAFT_STATE_KEY = "__caret_draft__";
3
+ export declare const PUBLISH_RECOVERY_KEY = "__caret_publish__";
4
+ export declare const PRIVATE_ENTRY_KEYS: readonly ["__body", "__caret_tombstone__", "__caret_draft__", "__caret_publish__"];
5
+ export interface DraftState {
6
+ version: 1;
7
+ baseRevision: number;
8
+ baseData: Record<string, unknown> | null;
9
+ /** Structured saves replace the entry; body-only saves leave frontmatter alone. */
10
+ structured: boolean;
11
+ }
12
+ export declare function contentWithoutState(data: Record<string, unknown>): Record<string, unknown>;
13
+ export declare function readDraftState(data: Record<string, unknown>): DraftState | null;
14
+ /** Object key ordering is not a content change. Arrays retain their order. */
15
+ export declare function sameContent(a: unknown, b: unknown): boolean;
16
+ //# sourceMappingURL=draft-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-state.d.ts","sourceRoot":"","sources":["../../src/runtime/draft-state.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,eAAO,MAAM,eAAe,oBAAoB,CAAC;AACjD,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,kBAAkB,oFAAoF,CAAC;AAEpH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CAAC,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,mFAAmF;IACnF,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAG1F;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,GAAG,IAAI,CAM/E;AAED,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAO3D"}
@@ -0,0 +1,29 @@
1
+ /** Private overlay state. Never accepted from mutation payloads or exposed as content. */
2
+ export const DRAFT_STATE_KEY = "__caret_draft__";
3
+ export const PUBLISH_RECOVERY_KEY = "__caret_publish__";
4
+ export const PRIVATE_ENTRY_KEYS = ["__body", "__caret_tombstone__", DRAFT_STATE_KEY, PUBLISH_RECOVERY_KEY];
5
+ export function contentWithoutState(data) {
6
+ const { [DRAFT_STATE_KEY]: _draft, [PUBLISH_RECOVERY_KEY]: _publish, ...content } = data;
7
+ return content;
8
+ }
9
+ export function readDraftState(data) {
10
+ const state = data[DRAFT_STATE_KEY];
11
+ if (!state || state.version !== 1 || !Number.isSafeInteger(state.baseRevision) || state.baseRevision < 0 ||
12
+ typeof state.structured !== "boolean" ||
13
+ (state.baseData !== null && (typeof state.baseData !== "object" || Array.isArray(state.baseData))))
14
+ return null;
15
+ return state;
16
+ }
17
+ /** Object key ordering is not a content change. Arrays retain their order. */
18
+ export function sameContent(a, b) {
19
+ if (a === b)
20
+ return true;
21
+ if (a === null || b === null || typeof a !== "object" || typeof b !== "object")
22
+ return false;
23
+ if (Array.isArray(a) !== Array.isArray(b))
24
+ return false;
25
+ const left = Object.keys(a), right = Object.keys(b);
26
+ return left.length === right.length && left.every(key => Object.hasOwn(b, key) &&
27
+ sameContent(a[key], b[key]));
28
+ }
29
+ //# sourceMappingURL=draft-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"draft-state.js","sourceRoot":"","sources":["../../src/runtime/draft-state.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAC;AACjD,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACxD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,qBAAqB,EAAE,eAAe,EAAE,oBAAoB,CAAU,CAAC;AAUpH,MAAM,UAAU,mBAAmB,CAAC,IAA6B;IAC/D,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC;IACzF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAA6B;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAA2B,CAAC;IAC9D,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC;QACpG,OAAO,KAAK,CAAC,UAAU,KAAK,SAAS;QACrC,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpH,OAAO,KAAK,CAAC;AACf,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,WAAW,CAAC,CAAU,EAAE,CAAU;IAChD,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC7F,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC;QAC5E,WAAW,CAAE,CAA6B,CAAC,GAAG,CAAC,EAAG,CAA6B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC"}
@@ -34,6 +34,17 @@ export declare const EN_STUDIO_MESSAGES: {
34
34
  readonly "collection.invalidId": "Use lowercase letters, numbers, and hyphens only.";
35
35
  readonly "collection.duplicateId": "An entry with this ID already exists.";
36
36
  readonly "collection.createFailed": "Failed to create entry. Try again.";
37
+ readonly "entry.loadFailed": "Could not load this entry. Check its source or storage and retry.";
38
+ readonly "entry.unsupported_content": "This entry uses unsupported frontmatter syntax. Update its source format and retry; the file has not been changed.";
39
+ readonly "entry.invalid_content": "This entry contains invalid content. Correct its source file and retry.";
40
+ readonly "entry.storage_error": "Could not read this entry from storage. Check storage access and retry.";
41
+ readonly "collection.previous": "Previous";
42
+ readonly "collection.next": "Next";
43
+ readonly "collection.pagination": "Collection pages";
44
+ readonly "collection.noResults": "No matching entries.";
45
+ readonly "collection.unreadable": "Cannot read entry — open for details";
46
+ readonly "collection.range": "{start}–{end} of {total}";
47
+ readonly "collection.reorderScope": "Reorder is available when all entries are shown on one page without a search filter.";
37
48
  readonly "entry.notFound": "Entry not found.";
38
49
  readonly "entry.goBack": "Go back";
39
50
  readonly "entry.savingLive": "Saving live";
@@ -44,7 +55,7 @@ export declare const EN_STUDIO_MESSAGES: {
44
55
  readonly "entry.saveLive": "Save live";
45
56
  readonly "entry.saveDraft": "Save draft";
46
57
  readonly "entry.guideTitle": "How editing works";
47
- readonly "entry.guideCopy": "Edit any field, add or remove repeatable rows, then choose Save. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. Click an image preview to replace it, or paste an image URL. The Published switch controls whether signed-out visitors can see an entry.";
58
+ readonly "entry.guideCopy": "Edit any field, add or remove repeatable rows, then choose Save. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. Click an image preview to replace it, or paste an image URL. When publication is enabled, the Published switch can show or hide the entry without deleting it.";
48
59
  readonly "entry.versionHistory": "Version History";
49
60
  readonly "entry.deleteTitle": "Delete Entry";
50
61
  readonly "entry.deleteCopy": "Permanently delete this entry? A snapshot will be saved to history for recovery.";
@@ -58,7 +69,7 @@ export declare const EN_STUDIO_MESSAGES: {
58
69
  readonly "entry.deleteFailed": "Delete failed";
59
70
  readonly "entry.deleting": "Deleting…";
60
71
  readonly "entry.newGuideTitle": "Entry created with safe defaults";
61
- readonly "entry.newGuideCopy": "Fill in the fields below. Save becomes available after your first change. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. The Published switch controls whether signed-out visitors can see this entry.";
72
+ readonly "entry.newGuideCopy": "Fill in the fields below. Save becomes available after your first change. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. When publication is enabled, new entries stay private until Published is turned on.";
62
73
  readonly "field.add": "Add";
63
74
  readonly "field.remove": "Remove";
64
75
  readonly "field.moveUp": "Move up";
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/runtime/i18n.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ErB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;AACvC,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AAmFxE,wBAAgB,uBAAuB,CACrC,MAAM,GAAE,YAAmB,EAC3B,SAAS,GAAE,gBAAqB,GAC/B,wBAAwB,CAM1B"}
1
+ {"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/runtime/i18n.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FrB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;AACvC,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;AACzE,MAAM,MAAM,wBAAwB,GAAG,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;AA8FxE,wBAAgB,uBAAuB,CACrC,MAAM,GAAE,YAAmB,EAC3B,SAAS,GAAE,gBAAqB,GAC/B,wBAAwB,CAM1B"}
@@ -34,6 +34,17 @@ export const EN_STUDIO_MESSAGES = {
34
34
  "collection.invalidId": "Use lowercase letters, numbers, and hyphens only.",
35
35
  "collection.duplicateId": "An entry with this ID already exists.",
36
36
  "collection.createFailed": "Failed to create entry. Try again.",
37
+ "entry.loadFailed": "Could not load this entry. Check its source or storage and retry.",
38
+ "entry.unsupported_content": "This entry uses unsupported frontmatter syntax. Update its source format and retry; the file has not been changed.",
39
+ "entry.invalid_content": "This entry contains invalid content. Correct its source file and retry.",
40
+ "entry.storage_error": "Could not read this entry from storage. Check storage access and retry.",
41
+ "collection.previous": "Previous",
42
+ "collection.next": "Next",
43
+ "collection.pagination": "Collection pages",
44
+ "collection.noResults": "No matching entries.",
45
+ "collection.unreadable": "Cannot read entry — open for details",
46
+ "collection.range": "{start}–{end} of {total}",
47
+ "collection.reorderScope": "Reorder is available when all entries are shown on one page without a search filter.",
37
48
  "entry.notFound": "Entry not found.",
38
49
  "entry.goBack": "Go back",
39
50
  "entry.savingLive": "Saving live",
@@ -44,7 +55,7 @@ export const EN_STUDIO_MESSAGES = {
44
55
  "entry.saveLive": "Save live",
45
56
  "entry.saveDraft": "Save draft",
46
57
  "entry.guideTitle": "How editing works",
47
- "entry.guideCopy": "Edit any field, add or remove repeatable rows, then choose Save. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. Click an image preview to replace it, or paste an image URL. The Published switch controls whether signed-out visitors can see an entry.",
58
+ "entry.guideCopy": "Edit any field, add or remove repeatable rows, then choose Save. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. Click an image preview to replace it, or paste an image URL. When publication is enabled, the Published switch can show or hide the entry without deleting it.",
48
59
  "entry.versionHistory": "Version History",
49
60
  "entry.deleteTitle": "Delete Entry",
50
61
  "entry.deleteCopy": "Permanently delete this entry? A snapshot will be saved to history for recovery.",
@@ -58,7 +69,7 @@ export const EN_STUDIO_MESSAGES = {
58
69
  "entry.deleteFailed": "Delete failed",
59
70
  "entry.deleting": "Deleting…",
60
71
  "entry.newGuideTitle": "Entry created with safe defaults",
61
- "entry.newGuideCopy": "Fill in the fields below. Save becomes available after your first change. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. The Published switch controls whether signed-out visitors can see this entry.",
72
+ "entry.newGuideCopy": "Fill in the fields below. Save becomes available after your first change. In the sidebar Studio, text and image edits preview on the page as you work; Save confirms them and refreshes the visual preview for structural changes. When publication is enabled, new entries stay private until Published is turned on.",
62
73
  "field.add": "Add",
63
74
  "field.remove": "Remove",
64
75
  "field.moveUp": "Move up",
@@ -114,6 +125,17 @@ const ES_STUDIO_MESSAGES = {
114
125
  "collection.invalidId": "Usa solo letras minúsculas, números y guiones.",
115
126
  "collection.duplicateId": "Ya existe una entrada con este ID.",
116
127
  "collection.createFailed": "No se pudo crear la entrada. Inténtalo de nuevo.",
128
+ "entry.loadFailed": "No se pudo cargar la entrada. Revisa el archivo o el almacenamiento y reintenta.",
129
+ "entry.unsupported_content": "El formato de metadatos de esta entrada no es compatible. Corrige el archivo y reintenta; no se ha modificado.",
130
+ "entry.invalid_content": "Esta entrada contiene datos no válidos. Corrige el archivo y reintenta.",
131
+ "entry.storage_error": "No se pudo leer esta entrada. Revisa el acceso al almacenamiento y reintenta.",
132
+ "collection.previous": "Anterior",
133
+ "collection.next": "Siguiente",
134
+ "collection.pagination": "Páginas de la colección",
135
+ "collection.noResults": "No hay entradas que coincidan.",
136
+ "collection.unreadable": "No se puede leer — abre para ver detalles",
137
+ "collection.range": "{start}–{end} de {total}",
138
+ "collection.reorderScope": "Solo se puede reordenar cuando todas las entradas aparecen en una página sin filtros.",
117
139
  "entry.notFound": "No se encontró la entrada.",
118
140
  "entry.goBack": "Volver",
119
141
  "entry.savingLive": "Guardado directo en el sitio",
@@ -124,7 +146,7 @@ const ES_STUDIO_MESSAGES = {
124
146
  "entry.saveLive": "Guardar en vivo",
125
147
  "entry.saveDraft": "Guardar borrador",
126
148
  "entry.guideTitle": "Cómo funciona la edición",
127
- "entry.guideCopy": "Edita cualquier campo, agrega o elimina filas repetibles y luego guarda. En el Estudio lateral, los cambios de texto e imagen aparecen mientras trabajas; Guardar los confirma y actualiza la vista para los cambios estructurales. Haz clic en una imagen para reemplazarla o pega una URL. El interruptor Publicado controla si los visitantes pueden ver la entrada.",
149
+ "entry.guideCopy": "Edita cualquier campo, agrega o elimina filas repetibles y luego guarda. En el Estudio lateral, los cambios de texto e imagen aparecen mientras trabajas; Guardar los confirma y actualiza la vista para los cambios estructurales. Haz clic en una imagen para reemplazarla o pega una URL. Cuando la publicación está habilitada, el interruptor Publicado muestra u oculta la entrada sin eliminarla.",
128
150
  "entry.versionHistory": "Historial de versiones",
129
151
  "entry.deleteTitle": "Eliminar entrada",
130
152
  "entry.deleteCopy": "¿Eliminar esta entrada permanentemente? Se guardará una copia en el historial para poder recuperarla.",
@@ -138,7 +160,7 @@ const ES_STUDIO_MESSAGES = {
138
160
  "entry.deleteFailed": "No se pudo eliminar",
139
161
  "entry.deleting": "Eliminando…",
140
162
  "entry.newGuideTitle": "Entrada creada con valores seguros",
141
- "entry.newGuideCopy": "Completa los campos. Guardar estará disponible después del primer cambio. En el Estudio lateral, los cambios de texto e imagen aparecen mientras trabajas; Guardar los confirma y actualiza la vista para los cambios estructurales. El interruptor Publicado controla si los visitantes pueden ver esta entrada.",
163
+ "entry.newGuideCopy": "Completa los campos. Guardar estará disponible después del primer cambio. En el Estudio lateral, los cambios de texto e imagen aparecen mientras trabajas; Guardar los confirma y actualiza la vista para los cambios estructurales. Cuando la publicación está habilitada, las entradas nuevas permanecen privadas hasta activar Publicado.",
142
164
  "field.add": "Agregar",
143
165
  "field.remove": "Eliminar",
144
166
  "field.moveUp": "Mover arriba",
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/runtime/i18n.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/runtime/i18n.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  export { bindEntry } from "./bind.js";
7
7
  export { loadEntry, loadCollection, listCollections } from "./content.js";
8
8
  export type { EntryData } from "./content.js";
9
+ export { isPublicEntry, isPublishedEntry } from "./collection-policy.js";
9
10
  export { SessionOverlayAdapter } from "./storage/session-overlay-adapter.js";
10
11
  export { QuotaUploadHandler } from "./storage/quota-upload-handler.js";
11
12
  export type { QuotaCounter, QuotaUploadHandlerOptions, } from "./storage/quota-upload-handler.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,YAAY,EACV,YAAY,EACZ,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAI3C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1E,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,YAAY,EACV,YAAY,EACZ,yBAAyB,GAC1B,MAAM,mCAAmC,CAAC;AAI3C,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -7,6 +7,7 @@
7
7
  export { bindEntry } from "./bind.js";
8
8
  // Content loading — read stored data in .astro frontmatter (power-user API)
9
9
  export { loadEntry, loadCollection, listCollections } from "./content.js";
10
+ export { isPublicEntry, isPublishedEntry } from "./collection-policy.js";
10
11
  // Sandbox / multi-tenant primitives — used by Cloudflare adapter for demo mode
11
12
  export { SessionOverlayAdapter } from "./storage/session-overlay-adapter.js";
12
13
  export { QuotaUploadHandler } from "./storage/quota-upload-handler.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6DAA6D;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,4EAA4E;AAC5E,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG1E,+EAA+E;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAMvE,+DAA+D;AAC/D,wEAAwE;AACxE,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6DAA6D;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,4EAA4E;AAC5E,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAEzE,+EAA+E;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAMvE,+DAA+D;AAC/D,wEAAwE;AACxE,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/runtime/middleware.ts"],"names":[],"mappings":"AAWA,OAAO,0BAA0B,CAAC;AAElC,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE;QACR,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;KACtD,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAqFF,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;AA4B9C,wBAAsB,SAAS,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,QAAQ,CAAC,CA+JnB"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/runtime/middleware.ts"],"names":[],"mappings":"AAWA,OAAO,0BAA0B,CAAC;AAElC,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE;QACR,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC;KACtD,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAqFF,KAAK,cAAc,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;AA4B9C,wBAAsB,SAAS,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,QAAQ,CAAC,CAiLnB"}
@@ -122,13 +122,14 @@ export async function onRequest(context, next) {
122
122
  else if (!demoMode && !services.identityAdapter) {
123
123
  editorId = getEditorId(context);
124
124
  }
125
+ const policyActive = !demoMode && services.identityAdapter?.authorize !== undefined;
125
126
  if (demoMode) {
126
127
  const resolution = resolveDemoSession(context, request);
127
128
  sessionId = resolution.sessionId;
128
129
  setCookieHeader = resolution.setCookieHeader;
129
130
  if (services.adapter.makeSessionOverlay) {
130
131
  const overlay = await services.adapter.makeSessionOverlay(sessionId);
131
- adapter = new SessionOverlayAdapter(services.adapter, overlay);
132
+ adapter = new SessionOverlayAdapter(services.adapter, overlay, false);
132
133
  overlayActive = true;
133
134
  }
134
135
  else {
@@ -138,7 +139,7 @@ export async function onRequest(context, next) {
138
139
  uploadHandler = await services.uploadHandler.makeSessionWrapper(sessionId);
139
140
  }
140
141
  }
141
- else if (isPreviewRequest(context) && services.adapter.makeEditorOverlay) {
142
+ else if ((isPreviewRequest(context) || policyActive) && services.adapter.makeEditorOverlay) {
142
143
  // Draft/preview mode: an authenticated editor opting into preview reads and
143
144
  // writes through their per-editor overlay (the public site keeps seeing the
144
145
  // base). Keyed by the editor id from the session cookie; absent that (an
@@ -153,6 +154,23 @@ export async function onRequest(context, next) {
153
154
  editorId = id;
154
155
  }
155
156
  }
157
+ const decisions = new Map();
158
+ const authorize = async (action, collection, id) => {
159
+ const key = JSON.stringify([action, collection, id]);
160
+ if (!decisions.has(key))
161
+ decisions.set(key, (async () => {
162
+ if (!identity || typeof services.identityAdapter?.authorize !== "function")
163
+ return false;
164
+ try {
165
+ return (await services.identityAdapter.authorize({ identity: structuredClone(identity), request, action, collection, id })) === true;
166
+ }
167
+ catch {
168
+ console.error("[caretcms] Authorization policy failed; access denied.");
169
+ return false;
170
+ }
171
+ })());
172
+ return decisions.get(key);
173
+ };
156
174
  const requestContext = {
157
175
  adapter,
158
176
  uploadHandler,
@@ -160,6 +178,7 @@ export async function onRequest(context, next) {
160
178
  editorId,
161
179
  identity,
162
180
  identityAuthoritative: services.identityAdapter !== null,
181
+ ...(policyActive ? { authorize } : {}),
163
182
  demoMode,
164
183
  overlayActive,
165
184
  runtimeEnv,
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/runtime/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/runtime/middleware.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,8 @@ export type PutEntryCommand = {
26
26
  id: string;
27
27
  data: Record<string, unknown>;
28
28
  expectedRevision?: number;
29
+ /** Reject an existing ID under the mutation lock, including revision-zero seeds. */
30
+ createOnly?: boolean;
29
31
  };
30
32
  export type DeleteEntryCommand = {
31
33
  type: "delete_entry";
@@ -91,6 +93,13 @@ export type MdBlockCommand = {
91
93
  * (client markdown would be spliced into source files verbatim on publish).
92
94
  */
93
95
  html: string;
96
+ /** Consecutive top-level source paragraphs, edited as one atomic group. */
97
+ sources?: Array<{
98
+ blockPath: string;
99
+ src: MdSrc;
100
+ html: string;
101
+ }>;
102
+ paragraphs?: string[];
94
103
  expectedRevision?: number;
95
104
  };
96
105
  export type CmsMutationCommand = SaveFieldCommand | PutEntryCommand | DeleteEntryCommand | ReorderEntriesCommand | UpdatePageLayoutCommand | CreateCollectionCommand | DeleteCollectionCommand | MdBlockCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/runtime/mutations/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/runtime/mutations/contracts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAIL,KAAK,KAAK,EACX,MAAM,6BAA6B,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAY,CAAC;AAElD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,cAAc,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,iBAAiB,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,KAAK,CAAC;QACd,EAAE,EAAE,MAAM,CAAC;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE;QACN,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,gFAAgF;IAChF,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,GAAG,EAAE,KAAK,CAAC;IACX;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,eAAe,GACf,kBAAkB,GAClB,qBAAqB,GACrB,uBAAuB,GACvB,uBAAuB,GACvB,uBAAuB,GACvB,cAAc,CAAC;AAEnB,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAcD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIjE;AAMD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI1D;AAqTD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,OAAO,GACb,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,aAAa,EAAE,CAAA;CAAE,CAAC,CAuC7F"}