nebula-cms 0.1.3 → 0.1.5

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 (381) hide show
  1. package/README.md +3 -1
  2. package/dist/astro/index.d.ts +43 -0
  3. package/dist/astro/index.d.ts.map +1 -0
  4. package/dist/astro/index.js +223 -0
  5. package/{src → dist}/client/Admin.svelte +20 -11
  6. package/dist/client/Admin.svelte.d.ts +11 -0
  7. package/dist/client/Admin.svelte.d.ts.map +1 -0
  8. package/dist/client/components/BackendPicker.svelte.d.ts +4 -0
  9. package/dist/client/components/BackendPicker.svelte.d.ts.map +1 -0
  10. package/dist/client/components/DraftChip.svelte.d.ts +10 -0
  11. package/dist/client/components/DraftChip.svelte.d.ts.map +1 -0
  12. package/dist/client/components/MetadataForm.svelte.d.ts +12 -0
  13. package/dist/client/components/MetadataForm.svelte.d.ts.map +1 -0
  14. package/dist/client/components/ThemeToggle.svelte.d.ts +19 -0
  15. package/dist/client/components/ThemeToggle.svelte.d.ts.map +1 -0
  16. package/dist/client/components/dialogs/DeleteDraftDialog.svelte.d.ts +11 -0
  17. package/dist/client/components/dialogs/DeleteDraftDialog.svelte.d.ts.map +1 -0
  18. package/{src → dist}/client/components/dialogs/FilenameDialog.svelte +1 -2
  19. package/dist/client/components/dialogs/FilenameDialog.svelte.d.ts +13 -0
  20. package/dist/client/components/dialogs/FilenameDialog.svelte.d.ts.map +1 -0
  21. package/dist/client/components/editor/EditorPane.svelte.d.ts +4 -0
  22. package/dist/client/components/editor/EditorPane.svelte.d.ts.map +1 -0
  23. package/dist/client/components/editor/EditorTabs.svelte.d.ts +8 -0
  24. package/dist/client/components/editor/EditorTabs.svelte.d.ts.map +1 -0
  25. package/dist/client/components/editor/EditorToolbar.svelte.d.ts +4 -0
  26. package/dist/client/components/editor/EditorToolbar.svelte.d.ts.map +1 -0
  27. package/dist/client/components/editor/FormatSelector.svelte.d.ts +4 -0
  28. package/dist/client/components/editor/FormatSelector.svelte.d.ts.map +1 -0
  29. package/dist/client/components/editor/Toolbar.svelte.d.ts +19 -0
  30. package/dist/client/components/editor/Toolbar.svelte.d.ts.map +1 -0
  31. package/dist/client/components/fields/ArrayField.svelte.d.ts +15 -0
  32. package/dist/client/components/fields/ArrayField.svelte.d.ts.map +1 -0
  33. package/dist/client/components/fields/ArrayItem.svelte.d.ts +28 -0
  34. package/dist/client/components/fields/ArrayItem.svelte.d.ts.map +1 -0
  35. package/dist/client/components/fields/BooleanField.svelte.d.ts +16 -0
  36. package/dist/client/components/fields/BooleanField.svelte.d.ts.map +1 -0
  37. package/dist/client/components/fields/DateField.svelte.d.ts +16 -0
  38. package/dist/client/components/fields/DateField.svelte.d.ts.map +1 -0
  39. package/dist/client/components/fields/EnumField.svelte.d.ts +17 -0
  40. package/dist/client/components/fields/EnumField.svelte.d.ts.map +1 -0
  41. package/dist/client/components/fields/FieldWrapper.svelte.d.ts +18 -0
  42. package/dist/client/components/fields/FieldWrapper.svelte.d.ts.map +1 -0
  43. package/dist/client/components/fields/NumberField.svelte.d.ts +16 -0
  44. package/dist/client/components/fields/NumberField.svelte.d.ts.map +1 -0
  45. package/dist/client/components/fields/ObjectField.svelte.d.ts +16 -0
  46. package/dist/client/components/fields/ObjectField.svelte.d.ts.map +1 -0
  47. package/dist/client/components/fields/SchemaField.svelte.d.ts +16 -0
  48. package/dist/client/components/fields/SchemaField.svelte.d.ts.map +1 -0
  49. package/dist/client/components/fields/StringField.svelte.d.ts +16 -0
  50. package/dist/client/components/fields/StringField.svelte.d.ts.map +1 -0
  51. package/{src → dist}/client/components/sidebar/AdminSidebar.svelte +2 -4
  52. package/dist/client/components/sidebar/AdminSidebar.svelte.d.ts +19 -0
  53. package/dist/client/components/sidebar/AdminSidebar.svelte.d.ts.map +1 -0
  54. package/dist/client/components/sidebar/AdminSidebarSort.svelte.d.ts +12 -0
  55. package/dist/client/components/sidebar/AdminSidebarSort.svelte.d.ts.map +1 -0
  56. package/dist/client/css/icons.css +29 -0
  57. package/dist/client/index.d.ts +2 -0
  58. package/dist/client/index.d.ts.map +1 -0
  59. package/dist/client/js/drafts/merge.svelte.d.ts +24 -0
  60. package/dist/client/js/drafts/merge.svelte.d.ts.map +1 -0
  61. package/dist/client/js/drafts/merge.svelte.js +106 -0
  62. package/dist/client/js/drafts/ops.svelte.d.ts +31 -0
  63. package/dist/client/js/drafts/ops.svelte.d.ts.map +1 -0
  64. package/dist/client/js/drafts/ops.svelte.js +182 -0
  65. package/dist/client/js/drafts/storage.d.ts +45 -0
  66. package/dist/client/js/drafts/storage.d.ts.map +1 -0
  67. package/dist/client/js/drafts/storage.js +76 -0
  68. package/dist/client/js/drafts/workers/diff.d.ts +2 -0
  69. package/dist/client/js/drafts/workers/diff.d.ts.map +1 -0
  70. package/dist/client/js/drafts/workers/diff.js +20 -0
  71. package/dist/client/js/editor/editor.svelte.d.ts +124 -0
  72. package/dist/client/js/editor/editor.svelte.d.ts.map +1 -0
  73. package/dist/client/js/editor/editor.svelte.js +294 -0
  74. package/dist/client/js/editor/languages.d.ts +11 -0
  75. package/dist/client/js/editor/languages.d.ts.map +1 -0
  76. package/dist/client/js/editor/languages.js +93 -0
  77. package/dist/client/js/editor/link-wrap.d.ts +6 -0
  78. package/dist/client/js/editor/link-wrap.d.ts.map +1 -0
  79. package/{src/client/js/editor/link-wrap.ts → dist/client/js/editor/link-wrap.js} +17 -24
  80. package/dist/client/js/editor/markdown-shortcuts.d.ts +4 -0
  81. package/dist/client/js/editor/markdown-shortcuts.d.ts.map +1 -0
  82. package/dist/client/js/editor/markdown-shortcuts.js +219 -0
  83. package/dist/client/js/handlers/admin.d.ts +64 -0
  84. package/dist/client/js/handlers/admin.d.ts.map +1 -0
  85. package/dist/client/js/handlers/admin.js +186 -0
  86. package/dist/client/js/state/dialogs.svelte.d.ts +16 -0
  87. package/dist/client/js/state/dialogs.svelte.d.ts.map +1 -0
  88. package/dist/client/js/state/dialogs.svelte.js +28 -0
  89. package/dist/client/js/state/router.svelte.d.ts +44 -0
  90. package/dist/client/js/state/router.svelte.d.ts.map +1 -0
  91. package/dist/client/js/state/router.svelte.js +141 -0
  92. package/dist/client/js/state/schema.svelte.d.ts +51 -0
  93. package/dist/client/js/state/schema.svelte.d.ts.map +1 -0
  94. package/{src/client/js/state/schema.svelte.ts → dist/client/js/state/schema.svelte.js} +55 -70
  95. package/dist/client/js/state/state.svelte.d.ts +68 -0
  96. package/dist/client/js/state/state.svelte.d.ts.map +1 -0
  97. package/dist/client/js/state/state.svelte.js +300 -0
  98. package/dist/client/js/state/theme.svelte.d.ts +24 -0
  99. package/dist/client/js/state/theme.svelte.d.ts.map +1 -0
  100. package/{src/client/js/state/theme.svelte.ts → dist/client/js/state/theme.svelte.js} +54 -91
  101. package/dist/client/js/storage/adapter.d.ts +130 -0
  102. package/dist/client/js/storage/adapter.d.ts.map +1 -0
  103. package/dist/client/js/storage/adapter.js +5 -0
  104. package/dist/client/js/storage/client.d.ts +72 -0
  105. package/dist/client/js/storage/client.d.ts.map +1 -0
  106. package/dist/client/js/storage/client.js +121 -0
  107. package/dist/client/js/storage/db.d.ts +8 -0
  108. package/dist/client/js/storage/db.d.ts.map +1 -0
  109. package/dist/client/js/storage/db.js +35 -0
  110. package/dist/client/js/storage/fsa.d.ts +51 -0
  111. package/dist/client/js/storage/fsa.d.ts.map +1 -0
  112. package/dist/client/js/storage/fsa.js +91 -0
  113. package/dist/client/js/storage/github.d.ts +62 -0
  114. package/dist/client/js/storage/github.d.ts.map +1 -0
  115. package/dist/client/js/storage/github.js +216 -0
  116. package/dist/client/js/storage/storage.d.ts +32 -0
  117. package/dist/client/js/storage/storage.d.ts.map +1 -0
  118. package/dist/client/js/storage/storage.js +68 -0
  119. package/dist/client/js/storage/workers/frontmatter.d.ts +2 -0
  120. package/dist/client/js/storage/workers/frontmatter.d.ts.map +1 -0
  121. package/dist/client/js/storage/workers/frontmatter.js +253 -0
  122. package/dist/client/js/storage/workers/storage.d.ts +2 -0
  123. package/dist/client/js/storage/workers/storage.d.ts.map +1 -0
  124. package/dist/client/js/storage/workers/storage.js +167 -0
  125. package/dist/client/js/storage/workers/toml-parser.d.ts +2 -0
  126. package/dist/client/js/storage/workers/toml-parser.d.ts.map +1 -0
  127. package/dist/client/js/storage/workers/toml-parser.js +75 -0
  128. package/dist/client/js/storage/workers/yaml-parser.d.ts +2 -0
  129. package/dist/client/js/storage/workers/yaml-parser.d.ts.map +1 -0
  130. package/dist/client/js/storage/workers/yaml-parser.js +100 -0
  131. package/dist/client/js/utils/file-types.d.ts +58 -0
  132. package/dist/client/js/utils/file-types.d.ts.map +1 -0
  133. package/{src/client/js/utils/file-types.ts → dist/client/js/utils/file-types.js} +75 -107
  134. package/dist/client/js/utils/format.d.ts +8 -0
  135. package/dist/client/js/utils/format.d.ts.map +1 -0
  136. package/{src/client/js/utils/format.ts → dist/client/js/utils/format.js} +5 -6
  137. package/dist/client/js/utils/frontmatter.d.ts +12 -0
  138. package/dist/client/js/utils/frontmatter.d.ts.map +1 -0
  139. package/dist/client/js/utils/frontmatter.js +29 -0
  140. package/dist/client/js/utils/schema-utils.d.ts +110 -0
  141. package/dist/client/js/utils/schema-utils.d.ts.map +1 -0
  142. package/dist/client/js/utils/schema-utils.js +242 -0
  143. package/dist/client/js/utils/slug.d.ts +8 -0
  144. package/dist/client/js/utils/slug.d.ts.map +1 -0
  145. package/{src/client/js/utils/slug.ts → dist/client/js/utils/slug.js} +6 -7
  146. package/dist/client/js/utils/sort.d.ts +41 -0
  147. package/dist/client/js/utils/sort.d.ts.map +1 -0
  148. package/dist/client/js/utils/sort.js +65 -0
  149. package/dist/client/js/utils/stable-stringify.d.ts +8 -0
  150. package/dist/client/js/utils/stable-stringify.d.ts.map +1 -0
  151. package/dist/client/js/utils/stable-stringify.js +23 -0
  152. package/dist/client/js/utils/url-utils.d.ts +11 -0
  153. package/dist/client/js/utils/url-utils.d.ts.map +1 -0
  154. package/{src/client/js/utils/url-utils.ts → dist/client/js/utils/url-utils.js} +22 -23
  155. package/dist/client/types/browser-apis.d.ts +39 -0
  156. package/dist/types.d.ts +22 -0
  157. package/dist/types.d.ts.map +1 -0
  158. package/dist/types.js +1 -0
  159. package/package.json +13 -3
  160. package/.github/workflows/ci.yml +0 -27
  161. package/.github/workflows/publish.yml +0 -34
  162. package/.mcp.json +0 -12
  163. package/.prettierignore +0 -5
  164. package/.prettierrc.cjs +0 -22
  165. package/AGENTS.md +0 -183
  166. package/playground/astro.config.mjs +0 -7
  167. package/playground/node_modules/.bin/astro +0 -21
  168. package/playground/node_modules/.vite/deps/@astrojs_svelte_client__js.js +0 -85
  169. package/playground/node_modules/.vite/deps/@astrojs_svelte_client__js.js.map +0 -7
  170. package/playground/node_modules/.vite/deps/_metadata.json +0 -184
  171. package/playground/node_modules/.vite/deps/astro___aria-query.js +0 -6776
  172. package/playground/node_modules/.vite/deps/astro___aria-query.js.map +0 -7
  173. package/playground/node_modules/.vite/deps/astro___axobject-query.js +0 -3754
  174. package/playground/node_modules/.vite/deps/astro___axobject-query.js.map +0 -7
  175. package/playground/node_modules/.vite/deps/astro___html-escaper.js +0 -34
  176. package/playground/node_modules/.vite/deps/astro___html-escaper.js.map +0 -7
  177. package/playground/node_modules/.vite/deps/chunk-AJXJMYAF.js +0 -0
  178. package/playground/node_modules/.vite/deps/chunk-AJXJMYAF.js.map +0 -7
  179. package/playground/node_modules/.vite/deps/chunk-BUSYA2B4.js +0 -8
  180. package/playground/node_modules/.vite/deps/chunk-BUSYA2B4.js.map +0 -7
  181. package/playground/node_modules/.vite/deps/chunk-CNYJBM5F.js +0 -21
  182. package/playground/node_modules/.vite/deps/chunk-CNYJBM5F.js.map +0 -7
  183. package/playground/node_modules/.vite/deps/chunk-DBPNBGEI.js +0 -223
  184. package/playground/node_modules/.vite/deps/chunk-DBPNBGEI.js.map +0 -7
  185. package/playground/node_modules/.vite/deps/chunk-FPEUJ7DG.js +0 -27
  186. package/playground/node_modules/.vite/deps/chunk-FPEUJ7DG.js.map +0 -7
  187. package/playground/node_modules/.vite/deps/chunk-MHDZ3SK7.js +0 -1005
  188. package/playground/node_modules/.vite/deps/chunk-MHDZ3SK7.js.map +0 -7
  189. package/playground/node_modules/.vite/deps/chunk-RBDTDTPY.js +0 -204
  190. package/playground/node_modules/.vite/deps/chunk-RBDTDTPY.js.map +0 -7
  191. package/playground/node_modules/.vite/deps/chunk-RJGEXL5C.js +0 -688
  192. package/playground/node_modules/.vite/deps/chunk-RJGEXL5C.js.map +0 -7
  193. package/playground/node_modules/.vite/deps/chunk-YL4MIWGJ.js +0 -5099
  194. package/playground/node_modules/.vite/deps/chunk-YL4MIWGJ.js.map +0 -7
  195. package/playground/node_modules/.vite/deps/chunk-ZOV3DWEJ.js +0 -4376
  196. package/playground/node_modules/.vite/deps/chunk-ZOV3DWEJ.js.map +0 -7
  197. package/playground/node_modules/.vite/deps/chunk-ZP4UNCSN.js +0 -23
  198. package/playground/node_modules/.vite/deps/chunk-ZP4UNCSN.js.map +0 -7
  199. package/playground/node_modules/.vite/deps/chunk-ZREFNRZZ.js +0 -148
  200. package/playground/node_modules/.vite/deps/chunk-ZREFNRZZ.js.map +0 -7
  201. package/playground/node_modules/.vite/deps/package.json +0 -3
  202. package/playground/node_modules/.vite/deps/smol-toml.js +0 -843
  203. package/playground/node_modules/.vite/deps/smol-toml.js.map +0 -7
  204. package/playground/node_modules/.vite/deps/svelte.js +0 -55
  205. package/playground/node_modules/.vite/deps/svelte.js.map +0 -7
  206. package/playground/node_modules/.vite/deps/svelte___clsx.js +0 -9
  207. package/playground/node_modules/.vite/deps/svelte___clsx.js.map +0 -7
  208. package/playground/node_modules/.vite/deps/svelte_animate.js +0 -57
  209. package/playground/node_modules/.vite/deps/svelte_animate.js.map +0 -7
  210. package/playground/node_modules/.vite/deps/svelte_attachments.js +0 -15
  211. package/playground/node_modules/.vite/deps/svelte_attachments.js.map +0 -7
  212. package/playground/node_modules/.vite/deps/svelte_easing.js +0 -67
  213. package/playground/node_modules/.vite/deps/svelte_easing.js.map +0 -7
  214. package/playground/node_modules/.vite/deps/svelte_events.js +0 -11
  215. package/playground/node_modules/.vite/deps/svelte_events.js.map +0 -7
  216. package/playground/node_modules/.vite/deps/svelte_internal.js +0 -5
  217. package/playground/node_modules/.vite/deps/svelte_internal.js.map +0 -7
  218. package/playground/node_modules/.vite/deps/svelte_internal_client.js +0 -402
  219. package/playground/node_modules/.vite/deps/svelte_internal_client.js.map +0 -7
  220. package/playground/node_modules/.vite/deps/svelte_internal_disclose-version.js +0 -10
  221. package/playground/node_modules/.vite/deps/svelte_internal_disclose-version.js.map +0 -7
  222. package/playground/node_modules/.vite/deps/svelte_internal_flags_async.js +0 -8
  223. package/playground/node_modules/.vite/deps/svelte_internal_flags_async.js.map +0 -7
  224. package/playground/node_modules/.vite/deps/svelte_internal_flags_legacy.js +0 -8
  225. package/playground/node_modules/.vite/deps/svelte_internal_flags_legacy.js.map +0 -7
  226. package/playground/node_modules/.vite/deps/svelte_internal_flags_tracing.js +0 -8
  227. package/playground/node_modules/.vite/deps/svelte_internal_flags_tracing.js.map +0 -7
  228. package/playground/node_modules/.vite/deps/svelte_legacy.js +0 -35
  229. package/playground/node_modules/.vite/deps/svelte_legacy.js.map +0 -7
  230. package/playground/node_modules/.vite/deps/svelte_motion.js +0 -545
  231. package/playground/node_modules/.vite/deps/svelte_motion.js.map +0 -7
  232. package/playground/node_modules/.vite/deps/svelte_reactivity.js +0 -29
  233. package/playground/node_modules/.vite/deps/svelte_reactivity.js.map +0 -7
  234. package/playground/node_modules/.vite/deps/svelte_reactivity_window.js +0 -127
  235. package/playground/node_modules/.vite/deps/svelte_reactivity_window.js.map +0 -7
  236. package/playground/node_modules/.vite/deps/svelte_store.js +0 -103
  237. package/playground/node_modules/.vite/deps/svelte_store.js.map +0 -7
  238. package/playground/node_modules/.vite/deps/svelte_transition.js +0 -208
  239. package/playground/node_modules/.vite/deps/svelte_transition.js.map +0 -7
  240. package/playground/package.json +0 -16
  241. package/playground/pnpm-lock.yaml +0 -3167
  242. package/playground/src/content/authors/jane-doe.json +0 -8
  243. package/playground/src/content/config/build.toml +0 -2
  244. package/playground/src/content/courses/web-fundamentals.json +0 -29
  245. package/playground/src/content/docs/advanced.mdx +0 -6
  246. package/playground/src/content/docs/intro.md +0 -6
  247. package/playground/src/content/guides/getting-started.mdx +0 -6
  248. package/playground/src/content/posts/hello-world.md +0 -7
  249. package/playground/src/content/products/t-shirt.json +0 -16
  250. package/playground/src/content/recipes/pancakes.mdoc +0 -8
  251. package/playground/src/content/settings/site.yml +0 -2
  252. package/playground/src/content.config.ts +0 -198
  253. package/playground/src/env.d.ts +0 -1
  254. package/playground/src/pages/index.astro +0 -11
  255. package/playground/src/pages/nebula.astro +0 -14
  256. package/pnpm-workspace.yaml +0 -2
  257. package/scripts/subset-icons.mjs +0 -178
  258. package/src/astro/index.ts +0 -295
  259. package/src/client/js/drafts/merge.svelte.ts +0 -121
  260. package/src/client/js/drafts/ops.svelte.ts +0 -227
  261. package/src/client/js/drafts/storage.ts +0 -108
  262. package/src/client/js/drafts/workers/diff.ts +0 -40
  263. package/src/client/js/editor/editor.svelte.ts +0 -343
  264. package/src/client/js/editor/languages.ts +0 -98
  265. package/src/client/js/editor/markdown-shortcuts.ts +0 -261
  266. package/src/client/js/handlers/admin.ts +0 -246
  267. package/src/client/js/state/dialogs.svelte.ts +0 -35
  268. package/src/client/js/state/router.svelte.ts +0 -156
  269. package/src/client/js/state/state.svelte.ts +0 -334
  270. package/src/client/js/storage/adapter.ts +0 -102
  271. package/src/client/js/storage/client.ts +0 -150
  272. package/src/client/js/storage/db.ts +0 -36
  273. package/src/client/js/storage/fsa.ts +0 -110
  274. package/src/client/js/storage/github.ts +0 -297
  275. package/src/client/js/storage/storage.ts +0 -83
  276. package/src/client/js/storage/workers/frontmatter.ts +0 -320
  277. package/src/client/js/storage/workers/storage.ts +0 -177
  278. package/src/client/js/storage/workers/toml-parser.ts +0 -106
  279. package/src/client/js/storage/workers/yaml-parser.ts +0 -132
  280. package/src/client/js/utils/frontmatter.ts +0 -38
  281. package/src/client/js/utils/schema-utils.ts +0 -295
  282. package/src/client/js/utils/sort.ts +0 -84
  283. package/src/client/js/utils/stable-stringify.ts +0 -27
  284. package/src/types.ts +0 -25
  285. package/svelte.config.js +0 -4
  286. package/tests/astro/build.test.ts +0 -63
  287. package/tests/astro/index.test.ts +0 -689
  288. package/tests/client/components/Admin.test.ts +0 -446
  289. package/tests/client/components/BackendPicker.test.ts +0 -239
  290. package/tests/client/components/DraftChip.test.ts +0 -53
  291. package/tests/client/components/MetadataForm.test.ts +0 -164
  292. package/tests/client/components/dialogs/DeleteDraftDialog.test.ts +0 -91
  293. package/tests/client/components/dialogs/FilenameDialog.test.ts +0 -209
  294. package/tests/client/components/dialogs/dialog-stubs.ts +0 -19
  295. package/tests/client/components/editor/EditorPane.test.ts +0 -100
  296. package/tests/client/components/editor/EditorTabs.test.ts +0 -253
  297. package/tests/client/components/editor/EditorToolbar.test.ts +0 -252
  298. package/tests/client/components/editor/fixtures.ts +0 -31
  299. package/tests/client/components/fields/ArrayField.test.ts +0 -197
  300. package/tests/client/components/fields/BooleanField.test.ts +0 -206
  301. package/tests/client/components/fields/DateField.test.ts +0 -210
  302. package/tests/client/components/fields/EnumField.test.ts +0 -246
  303. package/tests/client/components/fields/NumberField.test.ts +0 -240
  304. package/tests/client/components/fields/ObjectField.test.ts +0 -157
  305. package/tests/client/components/fields/SchemaField.test.ts +0 -190
  306. package/tests/client/components/fields/StringField.test.ts +0 -223
  307. package/tests/client/components/sidebar/AdminSidebar.test.ts +0 -285
  308. package/tests/client/components/sidebar/AdminSidebarSort.test.ts +0 -135
  309. package/tests/client/components/sidebar/sort-mock.ts +0 -23
  310. package/tests/client/js/drafts/fixtures.ts +0 -22
  311. package/tests/client/js/drafts/merge.test.ts +0 -282
  312. package/tests/client/js/drafts/ops.test.ts +0 -658
  313. package/tests/client/js/drafts/storage.test.ts +0 -200
  314. package/tests/client/js/drafts/workers/diff.test.ts +0 -165
  315. package/tests/client/js/editor/editor.test.ts +0 -616
  316. package/tests/client/js/editor/link-wrap.test.ts +0 -225
  317. package/tests/client/js/editor/markdown-shortcuts.test.ts +0 -370
  318. package/tests/client/js/handlers/admin.test.ts +0 -467
  319. package/tests/client/js/state/router.test.ts +0 -619
  320. package/tests/client/js/state/schema.test.ts +0 -266
  321. package/tests/client/js/state/state.test.ts +0 -328
  322. package/tests/client/js/storage/adapter.test.ts +0 -115
  323. package/tests/client/js/storage/client.test.ts +0 -250
  324. package/tests/client/js/storage/db.test.ts +0 -59
  325. package/tests/client/js/storage/fsa.test.ts +0 -284
  326. package/tests/client/js/storage/github.test.ts +0 -349
  327. package/tests/client/js/storage/mock-port.ts +0 -95
  328. package/tests/client/js/storage/storage.test.ts +0 -77
  329. package/tests/client/js/storage/workers/frontmatter.test.ts +0 -479
  330. package/tests/client/js/storage/workers/storage.test.ts +0 -299
  331. package/tests/client/js/storage/workers/toml-parser.test.ts +0 -169
  332. package/tests/client/js/storage/workers/yaml-parser.test.ts +0 -168
  333. package/tests/client/js/utils/file-types.test.ts +0 -268
  334. package/tests/client/js/utils/frontmatter.test.ts +0 -87
  335. package/tests/client/js/utils/schema-utils.test.ts +0 -318
  336. package/tests/client/js/utils/slug.test.ts +0 -58
  337. package/tests/client/js/utils/sort.test.ts +0 -276
  338. package/tests/client/js/utils/stable-stringify.test.ts +0 -68
  339. package/tests/client/js/utils/url-utils.test.ts +0 -70
  340. package/tests/e2e/backend-connection.test.ts +0 -301
  341. package/tests/e2e/draft-lifecycle.test.ts +0 -388
  342. package/tests/e2e/editing.test.ts +0 -355
  343. package/tests/e2e/github-adapter.test.ts +0 -330
  344. package/tests/e2e/helpers/mock-adapter.ts +0 -166
  345. package/tests/e2e/helpers/test-app.ts +0 -155
  346. package/tests/e2e/navigation.test.ts +0 -358
  347. package/tests/e2e/publishing.test.ts +0 -345
  348. package/tests/e2e/unsaved-changes.test.ts +0 -317
  349. package/tests/setup.ts +0 -2
  350. package/tests/stubs/codemirror.ts +0 -197
  351. package/tsconfig.json +0 -19
  352. package/vitest.config.ts +0 -178
  353. /package/{src → dist}/client/components/BackendPicker.svelte +0 -0
  354. /package/{src → dist}/client/components/DraftChip.svelte +0 -0
  355. /package/{src → dist}/client/components/MetadataForm.svelte +0 -0
  356. /package/{src → dist}/client/components/ThemeToggle.svelte +0 -0
  357. /package/{src → dist}/client/components/dialogs/DeleteDraftDialog.svelte +0 -0
  358. /package/{src → dist}/client/components/editor/EditorPane.svelte +0 -0
  359. /package/{src → dist}/client/components/editor/EditorTabs.svelte +0 -0
  360. /package/{src → dist}/client/components/editor/EditorToolbar.svelte +0 -0
  361. /package/{src → dist}/client/components/editor/FormatSelector.svelte +0 -0
  362. /package/{src → dist}/client/components/editor/Toolbar.svelte +0 -0
  363. /package/{src → dist}/client/components/fields/ArrayField.svelte +0 -0
  364. /package/{src → dist}/client/components/fields/ArrayItem.svelte +0 -0
  365. /package/{src → dist}/client/components/fields/BooleanField.svelte +0 -0
  366. /package/{src → dist}/client/components/fields/DateField.svelte +0 -0
  367. /package/{src → dist}/client/components/fields/EnumField.svelte +0 -0
  368. /package/{src → dist}/client/components/fields/FieldWrapper.svelte +0 -0
  369. /package/{src → dist}/client/components/fields/NumberField.svelte +0 -0
  370. /package/{src → dist}/client/components/fields/ObjectField.svelte +0 -0
  371. /package/{src → dist}/client/components/fields/SchemaField.svelte +0 -0
  372. /package/{src → dist}/client/components/fields/StringField.svelte +0 -0
  373. /package/{src → dist}/client/components/sidebar/AdminSidebarSort.svelte +0 -0
  374. /package/{src → dist}/client/css/a11y.css +0 -0
  375. /package/{src → dist}/client/css/btn.css +0 -0
  376. /package/{src → dist}/client/css/dialog.css +0 -0
  377. /package/{src → dist}/client/css/field-input.css +0 -0
  378. /package/{src → dist}/client/css/reset.css +0 -0
  379. /package/{src → dist}/client/css/theme.css +0 -0
  380. /package/{src/client/index.ts → dist/client/index.js} +0 -0
  381. /package/{src → dist}/virtual.d.ts +0 -0
@@ -4,158 +4,128 @@
4
4
  * (storage adapters, orchestrator worker, editor, publish handler) derive
5
5
  * extension lists, category, and serialization format from this registry.
6
6
  */
7
-
8
- // Configuration for a single supported file type.
9
- export type FileTypeConfig = {
10
- // All file extensions associated with this type, first entry is the default.
11
- extensions: string[];
12
- // Whether this type has a body editor (markdown/MDX/Markdoc).
13
- hasBody: boolean;
14
- // Whether the file holds frontmatter+body or pure data.
15
- category: 'frontmatter' | 'data';
16
- // For data files, which serialization format to use.
17
- dataFormat?: 'json' | 'yaml' | 'toml';
18
- };
19
-
20
7
  // Registry mapping type identifiers (as used in schema `files` arrays) to their config.
21
- export const FILE_TYPES: Record<string, FileTypeConfig> = {
22
- md: {
23
- extensions: ['.md', '.markdown'],
24
- hasBody: true,
25
- category: 'frontmatter',
26
- },
27
- mdx: {
28
- extensions: ['.mdx'],
29
- hasBody: true,
30
- category: 'frontmatter',
31
- },
32
- markdoc: {
33
- extensions: ['.mdoc', '.markdoc'],
34
- hasBody: true,
35
- category: 'frontmatter',
36
- },
37
- json: {
38
- extensions: ['.json'],
39
- hasBody: false,
40
- category: 'data',
41
- dataFormat: 'json',
42
- },
43
- yaml: {
44
- extensions: ['.yml', '.yaml'],
45
- hasBody: false,
46
- category: 'data',
47
- dataFormat: 'yaml',
48
- },
49
- toml: {
50
- extensions: ['.toml'],
51
- hasBody: false,
52
- category: 'data',
53
- dataFormat: 'toml',
54
- },
8
+ export const FILE_TYPES = {
9
+ md: {
10
+ extensions: ['.md', '.markdown'],
11
+ hasBody: true,
12
+ category: 'frontmatter',
13
+ },
14
+ mdx: {
15
+ extensions: ['.mdx'],
16
+ hasBody: true,
17
+ category: 'frontmatter',
18
+ },
19
+ markdoc: {
20
+ extensions: ['.mdoc', '.markdoc'],
21
+ hasBody: true,
22
+ category: 'frontmatter',
23
+ },
24
+ json: {
25
+ extensions: ['.json'],
26
+ hasBody: false,
27
+ category: 'data',
28
+ dataFormat: 'json',
29
+ },
30
+ yaml: {
31
+ extensions: ['.yml', '.yaml'],
32
+ hasBody: false,
33
+ category: 'data',
34
+ dataFormat: 'yaml',
35
+ },
36
+ toml: {
37
+ extensions: ['.toml'],
38
+ hasBody: false,
39
+ category: 'data',
40
+ dataFormat: 'toml',
41
+ },
55
42
  };
56
-
57
43
  /*
58
44
  //////////////////////////////
59
45
  // Extension reverse-lookup map
60
46
  // Built once at module load for O(1) extension-to-config lookups.
61
47
  //////////////////////////////
62
48
  */
63
-
64
49
  // Maps each known extension to its FileTypeConfig.
65
- const extensionMap = new Map<string, FileTypeConfig>();
66
-
50
+ const extensionMap = new Map();
67
51
  // Maps each known extension to its type identifier (e.g. '.md' -> 'md').
68
- const extensionToTypeID = new Map<string, string>();
69
-
52
+ const extensionToTypeID = new Map();
70
53
  for (const [typeId, config] of Object.entries(FILE_TYPES)) {
71
- for (const ext of config.extensions) {
72
- extensionMap.set(ext, config);
73
- extensionToTypeID.set(ext, typeId);
74
- }
54
+ for (const ext of config.extensions) {
55
+ extensionMap.set(ext, config);
56
+ extensionToTypeID.set(ext, typeId);
57
+ }
75
58
  }
76
-
77
59
  /*
78
60
  //////////////////////////////
79
61
  // Helper: extract extension
80
62
  //////////////////////////////
81
63
  */
82
-
83
64
  /**
84
65
  * Extracts the last dot-prefixed extension from a filename, or an empty string if none.
85
66
  * @param {string} filename - The filename to extract the extension from
86
67
  * @return {string} The extension including the leading dot (e.g. '.md'), or ''
87
68
  */
88
- function getExtension(filename: string): string {
89
- const idx = filename.lastIndexOf('.');
90
- if (idx === -1) return '';
91
- return filename.slice(idx);
69
+ function getExtension(filename) {
70
+ const idx = filename.lastIndexOf('.');
71
+ if (idx === -1)
72
+ return '';
73
+ return filename.slice(idx);
92
74
  }
93
-
94
75
  /*
95
76
  //////////////////////////////
96
77
  // Exported helpers
97
78
  //////////////////////////////
98
79
  */
99
-
100
80
  /**
101
81
  * Resolves a schema's `files` array of type identifiers to a flat list of file extensions.
102
82
  * Used by storage adapters for file discovery filtering.
103
83
  * @param {Record<string, unknown>} schema - A collection JSON Schema with an optional `files` array
104
84
  * @return {string[]} Ordered list of extensions (e.g. ['.md', '.markdown', '.json'])
105
85
  */
106
- export function getExtensionsForSchema(
107
- schema: Record<string, unknown>,
108
- ): string[] {
109
- const files = schema['files'];
110
- if (!Array.isArray(files)) return [];
111
-
112
- const extensions: string[] = [];
113
- for (const typeId of files as string[]) {
114
- const config = FILE_TYPES[typeId];
115
- if (config) {
116
- extensions.push(...config.extensions);
86
+ export function getExtensionsForSchema(schema) {
87
+ const files = schema['files'];
88
+ if (!Array.isArray(files))
89
+ return [];
90
+ const extensions = [];
91
+ for (const typeId of files) {
92
+ const config = FILE_TYPES[typeId];
93
+ if (config) {
94
+ extensions.push(...config.extensions);
95
+ }
117
96
  }
118
- }
119
- return extensions;
97
+ return extensions;
120
98
  }
121
-
122
99
  /**
123
100
  * Returns whether a file should show the body editor panel.
124
101
  * True for markdown, MDX, and Markdoc files; false for pure data files.
125
102
  * @param {string} filename - The filename to check
126
103
  * @return {boolean} True if the file type has a body editor
127
104
  */
128
- export function hasBodyEditor(filename: string): boolean {
129
- const config = extensionMap.get(getExtension(filename));
130
- return config?.hasBody ?? false;
105
+ export function hasBodyEditor(filename) {
106
+ const config = extensionMap.get(getExtension(filename));
107
+ return config?.hasBody ?? false;
131
108
  }
132
-
133
109
  /**
134
110
  * Returns the category of a file based on its extension.
135
111
  * Used to determine whether to render frontmatter fields or data-only fields.
136
112
  * @param {string} filename - The filename to categorise
137
113
  * @return {'frontmatter' | 'data' | null} The file category, or null for unrecognised extensions
138
114
  */
139
- export function getFileCategory(
140
- filename: string,
141
- ): 'frontmatter' | 'data' | null {
142
- const config = extensionMap.get(getExtension(filename));
143
- return config?.category ?? null;
115
+ export function getFileCategory(filename) {
116
+ const config = extensionMap.get(getExtension(filename));
117
+ return config?.category ?? null;
144
118
  }
145
-
146
119
  /**
147
120
  * Returns the serialization format for a data file.
148
121
  * Returns null for frontmatter files and unrecognised extensions.
149
122
  * @param {string} filename - The filename to inspect
150
123
  * @return {'json' | 'yaml' | 'toml' | null} The data format, or null if not a data file
151
124
  */
152
- export function getDataFormat(
153
- filename: string,
154
- ): 'json' | 'yaml' | 'toml' | null {
155
- const config = extensionMap.get(getExtension(filename));
156
- return config?.dataFormat ?? null;
125
+ export function getDataFormat(filename) {
126
+ const config = extensionMap.get(getExtension(filename));
127
+ return config?.dataFormat ?? null;
157
128
  }
158
-
159
129
  /**
160
130
  * Strips the file extension from a filename when the extension is a known type.
161
131
  * Returns the filename unchanged if the extension is not recognised.
@@ -163,30 +133,28 @@ export function getDataFormat(
163
133
  * @param {string} filename - The filename to strip the extension from
164
134
  * @return {string} The filename without its known extension, or the original filename
165
135
  */
166
- export function stripExtension(filename: string): string {
167
- const ext = getExtension(filename);
168
- if (ext && extensionMap.has(ext)) {
169
- return filename.slice(0, filename.length - ext.length);
170
- }
171
- return filename;
136
+ export function stripExtension(filename) {
137
+ const ext = getExtension(filename);
138
+ if (ext && extensionMap.has(ext)) {
139
+ return filename.slice(0, filename.length - ext.length);
140
+ }
141
+ return filename;
172
142
  }
173
-
174
143
  /**
175
144
  * Returns the default (first) file extension for a given type identifier.
176
145
  * Used when creating new files to pick the canonical extension for a format.
177
146
  * @param {string} type - A type identifier (e.g. 'md', 'yaml', 'toml')
178
147
  * @return {string | null} The default extension including the leading dot, or null for unknown types
179
148
  */
180
- export function getDefaultExtension(type: string): string | null {
181
- return FILE_TYPES[type]?.extensions[0] ?? null;
149
+ export function getDefaultExtension(type) {
150
+ return FILE_TYPES[type]?.extensions[0] ?? null;
182
151
  }
183
-
184
152
  /**
185
153
  * Returns the type identifier for a given filename by looking up its extension.
186
154
  * Used when the active file's type must be determined for the format selector.
187
155
  * @param {string} filename - The filename to look up
188
156
  * @return {string | null} The type identifier (e.g. 'md', 'yaml'), or null for unrecognised extensions
189
157
  */
190
- export function getTypeForFilename(filename: string): string | null {
191
- return extensionToTypeID.get(getExtension(filename)) ?? null;
158
+ export function getTypeForFilename(filename) {
159
+ return extensionToTypeID.get(getExtension(filename)) ?? null;
192
160
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Converts a property name string to Title Case for display in form labels.
3
+ * Splits on camelCase boundaries, hyphens, and underscores, then capitalizes each word.
4
+ * @param {string} str - The raw property name to convert (e.g., "firstName", "last-name", "zip_code")
5
+ * @return {string} The title-cased display string (e.g., "First Name", "Last Name", "Zip Code")
6
+ */
7
+ export declare function toTitleCase(str: string): string;
8
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../src/client/js/utils/format.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK/C"}
@@ -1,16 +1,15 @@
1
1
  /*
2
2
  * Display formatting utilities for property names and labels.
3
3
  */
4
-
5
4
  /**
6
5
  * Converts a property name string to Title Case for display in form labels.
7
6
  * Splits on camelCase boundaries, hyphens, and underscores, then capitalizes each word.
8
7
  * @param {string} str - The raw property name to convert (e.g., "firstName", "last-name", "zip_code")
9
8
  * @return {string} The title-cased display string (e.g., "First Name", "Last Name", "Zip Code")
10
9
  */
11
- export function toTitleCase(str: string): string {
12
- return str
13
- .replace(/([a-z])([A-Z])/g, '$1 $2')
14
- .replace(/[-_]/g, ' ')
15
- .replace(/\b\w/g, (c) => c.toUpperCase());
10
+ export function toTitleCase(str) {
11
+ return str
12
+ .replace(/([a-z])([A-Z])/g, '$1 $2')
13
+ .replace(/[-_]/g, ' ')
14
+ .replace(/\b\w/g, (c) => c.toUpperCase());
16
15
  }
@@ -0,0 +1,12 @@
1
+ export type SplitResult = {
2
+ rawFrontmatter: string;
3
+ body: string;
4
+ };
5
+ /**
6
+ * Splits a markdown/MDX file into raw YAML frontmatter and body content.
7
+ * Handles BOM stripping, CRLF normalization, and horizontal rule rejection.
8
+ * @param {string} content - Raw file content
9
+ * @return {SplitResult} The separated frontmatter and body strings
10
+ */
11
+ export declare function splitFrontmatter(content: string): SplitResult;
12
+ //# sourceMappingURL=frontmatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontmatter.d.ts","sourceRoot":"","sources":["../../../../src/client/js/utils/frontmatter.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,CAyB7D"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Splits a markdown/MDX file into raw YAML frontmatter and body content.
3
+ * Handles BOM stripping, CRLF normalization, and horizontal rule rejection.
4
+ * @param {string} content - Raw file content
5
+ * @return {SplitResult} The separated frontmatter and body strings
6
+ */
7
+ export function splitFrontmatter(content) {
8
+ let str = content.startsWith('\uFEFF') ? content.slice(1) : content;
9
+ str = str.replace(/\r\n/g, '\n');
10
+ // Reject horizontal rules (----) and content not starting with frontmatter delimiter
11
+ if (str.startsWith('----') || !str.startsWith('---\n')) {
12
+ return { rawFrontmatter: '', body: str };
13
+ }
14
+ const closeIndex = str.indexOf('\n---\n', 3);
15
+ if (closeIndex === -1) {
16
+ // Check for --- at end of file with no trailing newline
17
+ if (str.endsWith('\n---')) {
18
+ return {
19
+ rawFrontmatter: str.slice(4, str.length - 4),
20
+ body: '',
21
+ };
22
+ }
23
+ return { rawFrontmatter: '', body: str };
24
+ }
25
+ return {
26
+ rawFrontmatter: str.slice(4, closeIndex),
27
+ body: str.slice(closeIndex + 5),
28
+ };
29
+ }
@@ -0,0 +1,110 @@
1
+ export type SchemaNode = Record<string, unknown>;
2
+ /**
3
+ * Discriminated union describing the resolved type of a schema field. All variants carry an optional `nullable` flag set when the field was expressed as `anyOf: [<type>, { type: 'null' }]`.
4
+ */
5
+ export type FieldType = {
6
+ kind: 'string';
7
+ nullable?: boolean;
8
+ } | {
9
+ kind: 'number';
10
+ nullable?: boolean;
11
+ } | {
12
+ kind: 'boolean';
13
+ nullable?: boolean;
14
+ } | {
15
+ kind: 'date';
16
+ nullable?: boolean;
17
+ } | {
18
+ kind: 'enum';
19
+ options: string[];
20
+ nullable?: boolean;
21
+ } | {
22
+ kind: 'array';
23
+ nullable?: boolean;
24
+ } | {
25
+ kind: 'object';
26
+ nullable?: boolean;
27
+ } | {
28
+ kind: 'unknown';
29
+ nullable?: boolean;
30
+ };
31
+ /**
32
+ * A path segment used to address nested values. Strings address object keys; numbers address array indices.
33
+ */
34
+ export type PathSegment = string | number;
35
+ /**
36
+ * Resolves a JSON Schema node to a `FieldType` discriminated union.
37
+ * Handles anyOf nullable unwrapping, enum detection, and date-time format.
38
+ * @param {SchemaNode} schema - The JSON Schema node to resolve
39
+ * @return {FieldType} The resolved field type descriptor
40
+ */
41
+ export declare function resolveFieldType(schema: SchemaNode): FieldType;
42
+ /**
43
+ * Scans an object schema's properties for `tab` arrays and returns a sorted, deduplicated list of all tab names found.
44
+ * @param {SchemaNode} schema - A JSON Schema node with an optional `properties` map
45
+ * @return {string[]} Sorted, deduplicated list of tab names
46
+ */
47
+ export declare function extractTabs(schema: SchemaNode): string[];
48
+ /**
49
+ * Returns a type-appropriate default value for a given JSON Schema node.
50
+ * Honors `schema.default` when present, returns null for nullable types, and recurses into object properties.
51
+ * @param {SchemaNode} schema - The JSON Schema node to generate a default value for
52
+ * @return {unknown} A default value appropriate for the schema type
53
+ */
54
+ export declare function createDefaultValue(schema: SchemaNode): unknown;
55
+ /**
56
+ * Reads a deeply nested value from an object by following path segments.
57
+ * Returns `undefined` if any segment along the path is missing.
58
+ * @param {unknown} obj - The root object to traverse
59
+ * @param {PathSegment[]} path - Ordered path segments (string keys or numeric indices)
60
+ * @return {unknown} The value at the resolved path, or undefined if any segment is missing
61
+ */
62
+ export declare function getByPath(obj: unknown, path: PathSegment[]): unknown;
63
+ /**
64
+ * Sets a deeply nested value in an object by following path segments, creating intermediate objects as needed.
65
+ * @param {unknown} obj - The root object to mutate
66
+ * @param {PathSegment[]} path - Ordered path segments (string keys or numeric indices)
67
+ * @param {unknown} value - The value to assign at the resolved path
68
+ * @return {void}
69
+ */
70
+ export declare function setByPath(obj: unknown, path: PathSegment[], value: unknown): void;
71
+ /**
72
+ * Returns property names from a schema that belong to the given tab.
73
+ * When `tab` is `null`, all property names are returned (no filtering — every field appears in the catch-all Metadata view).
74
+ * @param {SchemaNode} schema - A JSON Schema node with an optional `properties` map
75
+ * @param {string | null} tab - Tab name to filter by, or `null` to return all fields
76
+ * @return {string[]} Array of property names belonging to the specified tab
77
+ */
78
+ export declare function getFieldsForTab(schema: SchemaNode, tab: string | null): string[];
79
+ /**
80
+ * Extracts the `properties` map from a schema node, with a safe cast.
81
+ * @param {SchemaNode} schema - A JSON Schema node
82
+ * @return {Record<string, SchemaNode> | undefined} The properties map, or undefined if absent
83
+ */
84
+ export declare function getProperties(schema: SchemaNode): Record<string, SchemaNode> | undefined;
85
+ /**
86
+ * Extracts the `required` array from a schema node, returning an empty array if absent.
87
+ * @param {SchemaNode} schema - A JSON Schema node
88
+ * @return {string[]} Array of required property names
89
+ */
90
+ export declare function getRequiredFields(schema: SchemaNode): string[];
91
+ /**
92
+ * Returns whether a schema node is marked as read-only.
93
+ * @param {SchemaNode} schema - A JSON Schema node
94
+ * @return {boolean} True if the schema has readOnly set to true
95
+ */
96
+ export declare function isReadOnly(schema: SchemaNode): boolean;
97
+ /**
98
+ * Returns whether a schema node was unwrapped from a nullable anyOf and flagged as nullable by SchemaField.
99
+ * @param {SchemaNode} schema - A JSON Schema node (possibly annotated with _nullable)
100
+ * @return {boolean} True if the schema has the _nullable annotation
101
+ */
102
+ export declare function isNullable(schema: SchemaNode): boolean;
103
+ /**
104
+ * Returns the display label for a schema field — the schema title if present, otherwise the property name converted to title case.
105
+ * @param {SchemaNode} schema - A JSON Schema node
106
+ * @param {string} name - The raw property name used as a fallback
107
+ * @return {string} The human-readable label
108
+ */
109
+ export declare function getLabel(schema: SchemaNode, name: string): string;
110
+ //# sourceMappingURL=schema-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-utils.d.ts","sourceRoot":"","sources":["../../../../src/client/js/utils/schema-utils.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAE5C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;AAQ1C;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,CAgC9D;AAQD;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,CAgBxD;AAQD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CA+B9D;AAQD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,OAAO,CAOpE;AAQD;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,WAAW,EAAE,EACnB,KAAK,EAAE,OAAO,GACb,IAAI,CAeN;AAQD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,MAAM,GAAG,IAAI,GACjB,MAAM,EAAE,CAiBV;AAQD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,UAAU,GACjB,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAAS,CAExC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,CAI9D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEtD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjE"}