@aphexcms/cms-core 0.2.3 → 1.0.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 (616) hide show
  1. package/dist/api/api-keys.d.ts +37 -0
  2. package/dist/api/api-keys.d.ts.map +1 -0
  3. package/dist/api/api-keys.js +20 -0
  4. package/dist/api/assets.d.ts +27 -0
  5. package/dist/api/assets.d.ts.map +1 -1
  6. package/dist/api/assets.js +22 -1
  7. package/dist/api/index.d.ts +8 -0
  8. package/dist/api/index.d.ts.map +1 -1
  9. package/dist/api/index.js +4 -0
  10. package/dist/api/instance.d.ts +17 -0
  11. package/dist/api/instance.d.ts.map +1 -0
  12. package/dist/api/instance.js +21 -0
  13. package/dist/api/invitations.d.ts +37 -0
  14. package/dist/api/invitations.d.ts.map +1 -0
  15. package/dist/api/invitations.js +27 -0
  16. package/dist/api/organizations.d.ts +7 -0
  17. package/dist/api/organizations.d.ts.map +1 -1
  18. package/dist/api/organizations.js +7 -0
  19. package/dist/api/types.d.ts +1 -1
  20. package/dist/api/types.d.ts.map +1 -1
  21. package/dist/api/user.d.ts +23 -0
  22. package/dist/api/user.d.ts.map +1 -0
  23. package/dist/api/user.js +20 -0
  24. package/dist/auth/auth-errors.d.ts +1 -1
  25. package/dist/auth/auth-errors.d.ts.map +1 -1
  26. package/dist/auth/auth-hooks.d.ts.map +1 -1
  27. package/dist/auth/auth-hooks.js +39 -23
  28. package/dist/auth/provider.d.ts +2 -2
  29. package/dist/auth/provider.d.ts.map +1 -1
  30. package/dist/cli/generate-types.d.ts +14 -0
  31. package/dist/cli/generate-types.d.ts.map +1 -0
  32. package/dist/cli/generate-types.js +15 -7
  33. package/dist/cli/generate-types.js.map +1 -0
  34. package/dist/cli/index.d.ts +7 -0
  35. package/dist/cli/index.d.ts.map +1 -0
  36. package/dist/cli/index.js +1 -0
  37. package/dist/cli/index.js.map +1 -0
  38. package/dist/client/index.d.ts +1 -0
  39. package/dist/client/index.d.ts.map +1 -1
  40. package/dist/client/index.js +2 -0
  41. package/dist/components/AdminApp.svelte +160 -63
  42. package/dist/components/AdminApp.svelte.d.ts +1 -1
  43. package/dist/components/AdminApp.svelte.d.ts.map +1 -1
  44. package/dist/components/admin/AdminLayout.svelte.d.ts +3 -3
  45. package/dist/components/admin/AssetBrowserModal.svelte +66 -0
  46. package/dist/components/admin/AssetBrowserModal.svelte.d.ts +15 -0
  47. package/dist/components/admin/AssetBrowserModal.svelte.d.ts.map +1 -0
  48. package/dist/components/admin/DocumentEditor.svelte +137 -69
  49. package/dist/components/admin/DocumentEditor.svelte.d.ts +1 -1
  50. package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -1
  51. package/dist/components/admin/DocumentsSkeleton.svelte +40 -0
  52. package/dist/components/admin/DocumentsSkeleton.svelte.d.ts +7 -0
  53. package/dist/components/admin/DocumentsSkeleton.svelte.d.ts.map +1 -0
  54. package/dist/components/admin/MediaBrowser.svelte +1398 -0
  55. package/dist/components/admin/MediaBrowser.svelte.d.ts +23 -0
  56. package/dist/components/admin/MediaBrowser.svelte.d.ts.map +1 -0
  57. package/dist/components/admin/ObjectModal.svelte +3 -4
  58. package/dist/components/admin/ObjectModal.svelte.d.ts +1 -1
  59. package/dist/components/admin/ObjectModal.svelte.d.ts.map +1 -1
  60. package/dist/components/admin/SchemaField.svelte +109 -81
  61. package/dist/components/admin/SchemaField.svelte.d.ts +1 -1
  62. package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -1
  63. package/dist/components/admin/fields/ArrayField.svelte +611 -277
  64. package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -1
  65. package/dist/components/admin/fields/DateField.svelte +3 -2
  66. package/dist/components/admin/fields/DateField.svelte.d.ts.map +1 -1
  67. package/dist/components/admin/fields/DateTimeField.svelte +3 -2
  68. package/dist/components/admin/fields/DateTimeField.svelte.d.ts.map +1 -1
  69. package/dist/components/admin/fields/ImageField.svelte +217 -120
  70. package/dist/components/admin/fields/ImageField.svelte.d.ts +1 -0
  71. package/dist/components/admin/fields/ImageField.svelte.d.ts.map +1 -1
  72. package/dist/components/admin/fields/ReferenceField.svelte +11 -6
  73. package/dist/components/admin/fields/ReferenceField.svelte.d.ts.map +1 -1
  74. package/dist/components/admin/fields/StringField.svelte +2 -1
  75. package/dist/components/admin/fields/StringField.svelte.d.ts.map +1 -1
  76. package/dist/components/index.d.ts +2 -0
  77. package/dist/components/index.d.ts.map +1 -1
  78. package/dist/components/index.js +2 -0
  79. package/dist/components/layout/OrganizationSwitcher.svelte +109 -45
  80. package/dist/components/layout/OrganizationSwitcher.svelte.d.ts.map +1 -1
  81. package/dist/components/layout/Sidebar.svelte +36 -14
  82. package/dist/components/layout/Sidebar.svelte.d.ts +2 -1
  83. package/dist/components/layout/Sidebar.svelte.d.ts.map +1 -1
  84. package/dist/components/layout/sidebar/AppSidebar.svelte +1 -1
  85. package/dist/components/layout/sidebar/NavMain.svelte +1 -1
  86. package/dist/components/layout/sidebar/NavMain.svelte.d.ts +1 -1
  87. package/dist/components/layout/sidebar/NavMain.svelte.d.ts.map +1 -1
  88. package/dist/components/layout/sidebar/NavSecondary.svelte +3 -3
  89. package/dist/components/layout/sidebar/NavUser.svelte +22 -10
  90. package/dist/components/layout/sidebar/NavUser.svelte.d.ts +2 -2
  91. package/dist/components/layout/sidebar/NavUser.svelte.d.ts.map +1 -1
  92. package/dist/db/interfaces/document.d.ts +20 -0
  93. package/dist/db/interfaces/document.d.ts.map +1 -1
  94. package/dist/db/interfaces/index.d.ts +3 -1
  95. package/dist/db/interfaces/index.d.ts.map +1 -1
  96. package/dist/db/interfaces/instance.d.ts +7 -0
  97. package/dist/db/interfaces/instance.d.ts.map +1 -0
  98. package/dist/db/interfaces/instance.js +1 -0
  99. package/dist/db/interfaces/organization.d.ts +1 -0
  100. package/dist/db/interfaces/organization.d.ts.map +1 -1
  101. package/dist/engine.d.ts.map +1 -1
  102. package/dist/engine.js +4 -3
  103. package/dist/field-validation/date-utils.d.ts.map +1 -1
  104. package/dist/field-validation/date-utils.js +12 -11
  105. package/dist/field-validation/rule.d.ts.map +1 -1
  106. package/dist/field-validation/rule.js +11 -10
  107. package/dist/field-validation/utils.d.ts.map +1 -1
  108. package/dist/field-validation/utils.js +16 -15
  109. package/dist/graphql/index.d.ts +23 -0
  110. package/dist/graphql/index.d.ts.map +1 -0
  111. package/dist/graphql/index.js +85 -0
  112. package/dist/graphql/resolvers.d.ts +4 -0
  113. package/dist/graphql/resolvers.d.ts.map +1 -0
  114. package/dist/graphql/resolvers.js +542 -0
  115. package/dist/graphql/schema.d.ts +3 -0
  116. package/dist/graphql/schema.d.ts.map +1 -0
  117. package/dist/graphql/schema.js +356 -0
  118. package/dist/hooks.d.ts +2 -0
  119. package/dist/hooks.d.ts.map +1 -1
  120. package/dist/hooks.js +62 -9
  121. package/dist/lib/api/api-keys.d.ts +37 -0
  122. package/dist/lib/api/api-keys.d.ts.map +1 -0
  123. package/dist/lib/api/api-keys.js +21 -0
  124. package/dist/lib/api/api-keys.js.map +1 -0
  125. package/dist/lib/api/assets.d.ts +75 -0
  126. package/dist/lib/api/assets.d.ts.map +1 -0
  127. package/dist/lib/api/assets.js +74 -0
  128. package/dist/lib/api/assets.js.map +1 -0
  129. package/dist/lib/api/client.d.ts +37 -0
  130. package/dist/lib/api/client.d.ts.map +1 -0
  131. package/dist/lib/api/client.js +132 -0
  132. package/dist/lib/api/client.js.map +1 -0
  133. package/dist/lib/api/documents.d.ts +57 -0
  134. package/dist/lib/api/documents.d.ts.map +1 -0
  135. package/dist/lib/api/documents.js +86 -0
  136. package/dist/lib/api/documents.js.map +1 -0
  137. package/dist/lib/api/index.d.ts +15 -0
  138. package/dist/lib/api/index.d.ts.map +1 -0
  139. package/dist/lib/api/index.js +10 -0
  140. package/dist/lib/api/index.js.map +1 -0
  141. package/dist/lib/api/instance.d.ts +17 -0
  142. package/dist/lib/api/instance.d.ts.map +1 -0
  143. package/dist/lib/api/instance.js +22 -0
  144. package/dist/lib/api/instance.js.map +1 -0
  145. package/dist/lib/api/invitations.d.ts +37 -0
  146. package/dist/lib/api/invitations.d.ts.map +1 -0
  147. package/dist/lib/api/invitations.js +28 -0
  148. package/dist/lib/api/invitations.js.map +1 -0
  149. package/dist/lib/api/organizations.d.ts +108 -0
  150. package/dist/lib/api/organizations.d.ts.map +1 -0
  151. package/dist/lib/api/organizations.js +100 -0
  152. package/dist/lib/api/organizations.js.map +1 -0
  153. package/dist/lib/api/types.d.ts +47 -0
  154. package/dist/lib/api/types.d.ts.map +1 -0
  155. package/dist/lib/api/types.js +2 -0
  156. package/dist/lib/api/types.js.map +1 -0
  157. package/dist/lib/api/user.d.ts +23 -0
  158. package/dist/lib/api/user.d.ts.map +1 -0
  159. package/dist/lib/api/user.js +21 -0
  160. package/dist/lib/api/user.js.map +1 -0
  161. package/dist/lib/auth/auth-errors.d.ts +7 -0
  162. package/dist/lib/auth/auth-errors.d.ts.map +1 -0
  163. package/dist/lib/auth/auth-errors.js +14 -0
  164. package/dist/lib/auth/auth-errors.js.map +1 -0
  165. package/dist/lib/auth/auth-hooks.d.ts +6 -0
  166. package/dist/lib/auth/auth-hooks.d.ts.map +1 -0
  167. package/dist/lib/auth/auth-hooks.js +139 -0
  168. package/dist/lib/auth/auth-hooks.js.map +1 -0
  169. package/dist/lib/auth/provider.d.ts +17 -0
  170. package/dist/lib/auth/provider.d.ts.map +1 -0
  171. package/dist/lib/auth/provider.js +1 -0
  172. package/dist/lib/auth/provider.js.map +1 -0
  173. package/dist/lib/client/index.d.ts +24 -0
  174. package/dist/lib/client/index.d.ts.map +1 -0
  175. package/dist/lib/client/index.js +33 -0
  176. package/dist/lib/client/index.js.map +1 -0
  177. package/dist/lib/components/fields/index.d.ts +9 -0
  178. package/dist/lib/components/fields/index.d.ts.map +1 -0
  179. package/dist/lib/components/fields/index.js +10 -0
  180. package/dist/lib/components/fields/index.js.map +1 -0
  181. package/dist/lib/components/index.d.ts +8 -0
  182. package/dist/lib/components/index.d.ts.map +1 -0
  183. package/dist/lib/components/index.js +14 -0
  184. package/dist/lib/components/index.js.map +1 -0
  185. package/dist/lib/config.d.ts +3 -0
  186. package/dist/lib/config.d.ts.map +1 -0
  187. package/dist/lib/config.js +16 -0
  188. package/dist/lib/config.js.map +1 -0
  189. package/dist/lib/db/adapters/index.d.ts +1 -0
  190. package/dist/lib/db/adapters/index.d.ts.map +1 -0
  191. package/dist/lib/db/adapters/index.js +5 -0
  192. package/dist/lib/db/adapters/index.js.map +1 -0
  193. package/dist/lib/db/index.d.ts +2 -0
  194. package/dist/lib/db/index.d.ts.map +1 -0
  195. package/dist/lib/db/index.js +1 -0
  196. package/dist/lib/db/index.js.map +1 -0
  197. package/dist/lib/db/interfaces/asset.d.ts +73 -0
  198. package/dist/lib/db/interfaces/asset.d.ts.map +1 -0
  199. package/dist/lib/db/interfaces/asset.js +1 -0
  200. package/dist/lib/db/interfaces/asset.js.map +1 -0
  201. package/dist/lib/db/interfaces/document.d.ts +79 -0
  202. package/dist/lib/db/interfaces/document.d.ts.map +1 -0
  203. package/dist/lib/db/interfaces/document.js +1 -0
  204. package/dist/lib/db/interfaces/document.js.map +1 -0
  205. package/dist/lib/db/interfaces/index.d.ts +76 -0
  206. package/dist/lib/db/interfaces/index.d.ts.map +1 -0
  207. package/dist/lib/db/interfaces/index.js +1 -0
  208. package/dist/lib/db/interfaces/index.js.map +1 -0
  209. package/dist/lib/db/interfaces/instance.d.ts +7 -0
  210. package/dist/lib/db/interfaces/instance.d.ts.map +1 -0
  211. package/dist/lib/db/interfaces/instance.js +2 -0
  212. package/dist/lib/db/interfaces/instance.js.map +1 -0
  213. package/dist/lib/db/interfaces/organization.d.ts +28 -0
  214. package/dist/lib/db/interfaces/organization.d.ts.map +1 -0
  215. package/dist/lib/db/interfaces/organization.js +1 -0
  216. package/dist/lib/db/interfaces/organization.js.map +1 -0
  217. package/dist/lib/db/interfaces/schema.d.ts +21 -0
  218. package/dist/lib/db/interfaces/schema.d.ts.map +1 -0
  219. package/dist/lib/db/interfaces/schema.js +1 -0
  220. package/dist/lib/db/interfaces/schema.js.map +1 -0
  221. package/dist/lib/db/interfaces/user.d.ts +17 -0
  222. package/dist/lib/db/interfaces/user.d.ts.map +1 -0
  223. package/dist/lib/db/interfaces/user.js +1 -0
  224. package/dist/lib/db/interfaces/user.js.map +1 -0
  225. package/dist/lib/db/utils/reference-resolver.d.ts +18 -0
  226. package/dist/lib/db/utils/reference-resolver.d.ts.map +1 -0
  227. package/dist/lib/db/utils/reference-resolver.js +81 -0
  228. package/dist/lib/db/utils/reference-resolver.js.map +1 -0
  229. package/dist/lib/define.d.ts +3 -0
  230. package/dist/lib/define.d.ts.map +1 -0
  231. package/dist/lib/define.js +5 -0
  232. package/dist/lib/define.js.map +1 -0
  233. package/dist/lib/email/index.d.ts +2 -0
  234. package/dist/lib/email/index.d.ts.map +1 -0
  235. package/dist/lib/email/index.js +1 -0
  236. package/dist/lib/email/index.js.map +1 -0
  237. package/dist/lib/email/interfaces/email.d.ts +42 -0
  238. package/dist/lib/email/interfaces/email.d.ts.map +1 -0
  239. package/dist/lib/email/interfaces/email.js +1 -0
  240. package/dist/lib/email/interfaces/email.js.map +1 -0
  241. package/dist/lib/engine.d.ts +26 -0
  242. package/dist/lib/engine.d.ts.map +1 -0
  243. package/dist/lib/engine.js +71 -0
  244. package/dist/lib/engine.js.map +1 -0
  245. package/dist/lib/field-validation/date-utils.d.ts +30 -0
  246. package/dist/lib/field-validation/date-utils.d.ts.map +1 -0
  247. package/dist/lib/field-validation/date-utils.js +13 -11
  248. package/dist/lib/field-validation/date-utils.js.map +1 -0
  249. package/dist/lib/field-validation/rule.d.ts +55 -0
  250. package/dist/lib/field-validation/rule.d.ts.map +1 -0
  251. package/dist/lib/field-validation/rule.js +12 -10
  252. package/dist/lib/field-validation/rule.js.map +1 -0
  253. package/dist/lib/field-validation/utils.d.ts +43 -0
  254. package/dist/lib/field-validation/utils.d.ts.map +1 -0
  255. package/dist/lib/field-validation/utils.js +17 -15
  256. package/dist/lib/field-validation/utils.js.map +1 -0
  257. package/dist/lib/graphql/index.d.ts +23 -0
  258. package/dist/lib/graphql/index.d.ts.map +1 -0
  259. package/dist/lib/graphql/index.js +86 -0
  260. package/dist/lib/graphql/index.js.map +1 -0
  261. package/dist/lib/graphql/resolvers.d.ts +4 -0
  262. package/dist/lib/graphql/resolvers.d.ts.map +1 -0
  263. package/dist/lib/graphql/resolvers.js +543 -0
  264. package/dist/lib/graphql/resolvers.js.map +1 -0
  265. package/dist/lib/graphql/schema.d.ts +3 -0
  266. package/dist/lib/graphql/schema.d.ts.map +1 -0
  267. package/dist/lib/graphql/schema.js +357 -0
  268. package/dist/lib/graphql/schema.js.map +1 -0
  269. package/dist/lib/hooks.d.ts +27 -0
  270. package/dist/lib/hooks.d.ts.map +1 -0
  271. package/dist/lib/hooks.js +235 -0
  272. package/dist/lib/hooks.js.map +1 -0
  273. package/dist/lib/index.d.ts +2 -0
  274. package/dist/lib/index.d.ts.map +1 -0
  275. package/dist/lib/index.js +5 -0
  276. package/dist/lib/index.js.map +1 -0
  277. package/dist/lib/is-mobile.svelte.d.ts +5 -0
  278. package/dist/lib/is-mobile.svelte.d.ts.map +1 -0
  279. package/dist/lib/is-mobile.svelte.js +8 -0
  280. package/dist/lib/is-mobile.svelte.js.map +1 -0
  281. package/dist/lib/local-api/auth-helpers.d.ts +65 -0
  282. package/dist/lib/local-api/auth-helpers.d.ts.map +1 -0
  283. package/dist/lib/local-api/auth-helpers.js +103 -0
  284. package/dist/lib/local-api/auth-helpers.js.map +1 -0
  285. package/dist/lib/local-api/collection-api.d.ts +150 -0
  286. package/dist/lib/local-api/collection-api.d.ts.map +1 -0
  287. package/dist/lib/local-api/collection-api.js +311 -0
  288. package/dist/lib/local-api/collection-api.js.map +1 -0
  289. package/dist/lib/local-api/index.d.ts +108 -0
  290. package/dist/lib/local-api/index.d.ts.map +1 -0
  291. package/dist/lib/local-api/index.js +158 -0
  292. package/dist/lib/local-api/index.js.map +1 -0
  293. package/dist/lib/local-api/permissions.d.ts +45 -0
  294. package/dist/lib/local-api/permissions.d.ts.map +1 -0
  295. package/dist/lib/local-api/permissions.js +117 -0
  296. package/dist/lib/local-api/permissions.js.map +1 -0
  297. package/dist/lib/local-api/types.d.ts +65 -0
  298. package/dist/lib/local-api/types.d.ts.map +1 -0
  299. package/dist/lib/local-api/types.js +5 -0
  300. package/dist/lib/local-api/types.js.map +1 -0
  301. package/dist/lib/routes/assets-bulk.d.ts +3 -0
  302. package/dist/lib/routes/assets-bulk.d.ts.map +1 -0
  303. package/dist/lib/routes/assets-bulk.js +49 -0
  304. package/dist/lib/routes/assets-bulk.js.map +1 -0
  305. package/dist/lib/routes/assets-by-id.d.ts +5 -0
  306. package/dist/lib/routes/assets-by-id.d.ts.map +1 -0
  307. package/dist/lib/routes/assets-by-id.js +106 -0
  308. package/dist/lib/routes/assets-by-id.js.map +1 -0
  309. package/dist/lib/routes/assets-cdn.d.ts +3 -0
  310. package/dist/lib/routes/assets-cdn.d.ts.map +1 -0
  311. package/dist/lib/routes/assets-cdn.js +125 -0
  312. package/dist/lib/routes/assets-cdn.js.map +1 -0
  313. package/dist/lib/routes/assets-references-counts.d.ts +7 -0
  314. package/dist/lib/routes/assets-references-counts.d.ts.map +1 -0
  315. package/dist/lib/routes/assets-references-counts.js +32 -0
  316. package/dist/lib/routes/assets-references-counts.js.map +1 -0
  317. package/dist/lib/routes/assets-references.d.ts +7 -0
  318. package/dist/lib/routes/assets-references.d.ts.map +1 -0
  319. package/dist/lib/routes/assets-references.js +35 -0
  320. package/dist/lib/routes/assets-references.js.map +1 -0
  321. package/dist/lib/routes/assets.d.ts +4 -0
  322. package/dist/lib/routes/assets.d.ts.map +1 -0
  323. package/dist/lib/routes/assets.js +121 -0
  324. package/dist/lib/routes/assets.js.map +1 -0
  325. package/dist/lib/routes/documents-by-id.d.ts +5 -0
  326. package/dist/lib/routes/documents-by-id.d.ts.map +1 -0
  327. package/dist/lib/routes/documents-by-id.js +176 -0
  328. package/dist/lib/routes/documents-by-id.js.map +1 -0
  329. package/dist/lib/routes/documents-publish.d.ts +4 -0
  330. package/dist/lib/routes/documents-publish.d.ts.map +1 -0
  331. package/dist/lib/routes/documents-publish.js +138 -0
  332. package/dist/lib/routes/documents-publish.js.map +1 -0
  333. package/dist/lib/routes/documents-query.d.ts +26 -0
  334. package/dist/lib/routes/documents-query.d.ts.map +1 -0
  335. package/dist/lib/routes/documents-query.js +101 -0
  336. package/dist/lib/routes/documents-query.js.map +1 -0
  337. package/dist/lib/routes/documents.d.ts +4 -0
  338. package/dist/lib/routes/documents.d.ts.map +1 -0
  339. package/dist/lib/routes/documents.js +154 -0
  340. package/dist/lib/routes/documents.js.map +1 -0
  341. package/dist/lib/routes/index.d.ts +9 -0
  342. package/dist/lib/routes/index.d.ts.map +1 -0
  343. package/dist/lib/routes/index.js +15 -0
  344. package/dist/lib/routes/index.js.map +1 -0
  345. package/dist/lib/routes/organizations-by-id.d.ts +5 -0
  346. package/dist/lib/routes/organizations-by-id.d.ts.map +1 -0
  347. package/dist/lib/routes/organizations-by-id.js +189 -0
  348. package/dist/lib/routes/organizations-by-id.js.map +1 -0
  349. package/dist/lib/routes/organizations-invitations.d.ts +4 -0
  350. package/dist/lib/routes/organizations-invitations.d.ts.map +1 -0
  351. package/dist/lib/routes/organizations-invitations.js +127 -0
  352. package/dist/lib/routes/organizations-invitations.js.map +1 -0
  353. package/dist/lib/routes/organizations-members.d.ts +5 -0
  354. package/dist/lib/routes/organizations-members.d.ts.map +1 -0
  355. package/dist/lib/routes/organizations-members.js +208 -0
  356. package/dist/lib/routes/organizations-members.js.map +1 -0
  357. package/dist/lib/routes/organizations-switch.d.ts +3 -0
  358. package/dist/lib/routes/organizations-switch.d.ts.map +1 -0
  359. package/dist/lib/routes/organizations-switch.js +55 -0
  360. package/dist/lib/routes/organizations-switch.js.map +1 -0
  361. package/dist/lib/routes/organizations.d.ts +4 -0
  362. package/dist/lib/routes/organizations.d.ts.map +1 -0
  363. package/dist/lib/routes/organizations.js +111 -0
  364. package/dist/lib/routes/organizations.js.map +1 -0
  365. package/dist/lib/routes/schemas-by-type.d.ts +3 -0
  366. package/dist/lib/routes/schemas-by-type.d.ts.map +1 -0
  367. package/dist/lib/routes/schemas-by-type.js +27 -0
  368. package/dist/lib/routes/schemas-by-type.js.map +1 -0
  369. package/dist/lib/routes/schemas.d.ts +3 -0
  370. package/dist/lib/routes/schemas.d.ts.map +1 -0
  371. package/dist/lib/routes/schemas.js +12 -0
  372. package/dist/lib/routes/schemas.js.map +1 -0
  373. package/dist/lib/routes/user-preferences.d.ts +4 -0
  374. package/dist/lib/routes/user-preferences.d.ts.map +1 -0
  375. package/dist/lib/routes/user-preferences.js +79 -0
  376. package/dist/lib/routes/user-preferences.js.map +1 -0
  377. package/dist/lib/routes-exports.d.ts +17 -0
  378. package/dist/lib/routes-exports.d.ts.map +1 -0
  379. package/dist/lib/routes-exports.js +23 -0
  380. package/dist/lib/routes-exports.js.map +1 -0
  381. package/dist/lib/schema/index.d.ts +6 -0
  382. package/dist/lib/schema/index.d.ts.map +1 -0
  383. package/dist/lib/schema/index.js +12 -0
  384. package/dist/lib/schema/index.js.map +1 -0
  385. package/dist/lib/schema-context.svelte.d.ts +10 -0
  386. package/dist/lib/schema-context.svelte.d.ts.map +1 -0
  387. package/dist/lib/schema-context.svelte.js +19 -0
  388. package/dist/lib/schema-context.svelte.js.map +1 -0
  389. package/dist/lib/schema-utils/cleanup.d.ts +21 -0
  390. package/dist/lib/schema-utils/cleanup.d.ts.map +1 -0
  391. package/dist/lib/schema-utils/cleanup.js +81 -0
  392. package/dist/lib/schema-utils/cleanup.js.map +1 -0
  393. package/dist/lib/schema-utils/index.d.ts +4 -0
  394. package/dist/lib/schema-utils/index.d.ts.map +1 -0
  395. package/dist/lib/schema-utils/index.js +5 -0
  396. package/dist/lib/schema-utils/index.js.map +1 -0
  397. package/dist/lib/schema-utils/utils.d.ts +34 -0
  398. package/dist/lib/schema-utils/utils.d.ts.map +1 -0
  399. package/dist/lib/schema-utils/utils.js +59 -0
  400. package/dist/lib/schema-utils/utils.js.map +1 -0
  401. package/dist/lib/schema-utils/validator.d.ts +10 -0
  402. package/dist/lib/schema-utils/validator.d.ts.map +1 -0
  403. package/dist/lib/schema-utils/validator.js +167 -0
  404. package/dist/lib/schema-utils/validator.js.map +1 -0
  405. package/dist/lib/server/index.d.ts +19 -0
  406. package/dist/lib/server/index.d.ts.map +1 -0
  407. package/dist/lib/server/index.js +35 -0
  408. package/dist/lib/server/index.js.map +1 -0
  409. package/dist/lib/services/asset-service.d.ts +86 -0
  410. package/dist/lib/services/asset-service.d.ts.map +1 -0
  411. package/dist/lib/services/asset-service.js +189 -0
  412. package/dist/lib/services/asset-service.js.map +1 -0
  413. package/dist/lib/services/index.d.ts +3 -0
  414. package/dist/lib/services/index.d.ts.map +1 -0
  415. package/dist/lib/services/index.js +5 -0
  416. package/dist/lib/services/index.js.map +1 -0
  417. package/dist/lib/storage/adapters/index.d.ts +2 -0
  418. package/dist/lib/storage/adapters/index.d.ts.map +1 -0
  419. package/dist/lib/storage/adapters/index.js +3 -0
  420. package/dist/lib/storage/adapters/index.js.map +1 -0
  421. package/dist/lib/storage/adapters/local-storage-adapter.d.ts +54 -0
  422. package/dist/lib/storage/adapters/local-storage-adapter.d.ts.map +1 -0
  423. package/dist/lib/storage/adapters/local-storage-adapter.js +189 -0
  424. package/dist/lib/storage/adapters/local-storage-adapter.js.map +1 -0
  425. package/dist/lib/storage/index.d.ts +3 -0
  426. package/dist/lib/storage/index.d.ts.map +1 -0
  427. package/dist/lib/storage/index.js +7 -0
  428. package/dist/lib/storage/index.js.map +1 -0
  429. package/dist/lib/storage/interfaces/index.d.ts +2 -0
  430. package/dist/lib/storage/interfaces/index.d.ts.map +1 -0
  431. package/dist/lib/storage/interfaces/index.js +1 -0
  432. package/dist/lib/storage/interfaces/index.js.map +1 -0
  433. package/dist/lib/storage/interfaces/storage.d.ts +91 -0
  434. package/dist/lib/storage/interfaces/storage.d.ts.map +1 -0
  435. package/dist/lib/storage/interfaces/storage.js +1 -0
  436. package/dist/lib/storage/interfaces/storage.js.map +1 -0
  437. package/dist/lib/storage/providers/storage.d.ts +43 -0
  438. package/dist/lib/storage/providers/storage.d.ts.map +1 -0
  439. package/dist/lib/storage/providers/storage.js +65 -0
  440. package/dist/lib/storage/providers/storage.js.map +1 -0
  441. package/dist/lib/types/asset.d.ts +73 -0
  442. package/dist/lib/types/asset.d.ts.map +1 -0
  443. package/dist/lib/types/asset.js +1 -0
  444. package/dist/lib/types/asset.js.map +1 -0
  445. package/dist/lib/types/auth.d.ts +62 -0
  446. package/dist/lib/types/auth.d.ts.map +1 -0
  447. package/dist/lib/types/auth.js +7 -5
  448. package/dist/lib/types/auth.js.map +1 -0
  449. package/dist/lib/types/config.d.ts +77 -0
  450. package/dist/lib/types/config.d.ts.map +1 -0
  451. package/dist/lib/types/config.js +1 -0
  452. package/dist/lib/types/config.js.map +1 -0
  453. package/dist/lib/types/document.d.ts +35 -0
  454. package/dist/lib/types/document.d.ts.map +1 -0
  455. package/dist/lib/types/document.js +1 -0
  456. package/dist/lib/types/document.js.map +1 -0
  457. package/dist/lib/types/filters.d.ts +186 -0
  458. package/dist/lib/types/filters.d.ts.map +1 -0
  459. package/dist/lib/types/filters.js +1 -0
  460. package/dist/lib/types/filters.js.map +1 -0
  461. package/dist/lib/types/index.d.ts +11 -0
  462. package/dist/lib/types/index.d.ts.map +1 -0
  463. package/dist/lib/types/index.js +2 -0
  464. package/dist/lib/types/index.js.map +1 -0
  465. package/dist/lib/types/instance.d.ts +5 -0
  466. package/dist/lib/types/instance.d.ts.map +1 -0
  467. package/dist/lib/types/instance.js +3 -0
  468. package/dist/lib/types/instance.js.map +1 -0
  469. package/dist/lib/types/organization.d.ts +108 -0
  470. package/dist/lib/types/organization.d.ts.map +1 -0
  471. package/dist/lib/types/organization.js +1 -0
  472. package/dist/lib/types/organization.js.map +1 -0
  473. package/dist/lib/types/schemas.d.ts +179 -0
  474. package/dist/lib/types/schemas.d.ts.map +1 -0
  475. package/dist/lib/types/schemas.js +1 -0
  476. package/dist/lib/types/schemas.js.map +1 -0
  477. package/dist/lib/types/sidebar.d.ts +34 -0
  478. package/dist/lib/types/sidebar.d.ts.map +1 -0
  479. package/dist/lib/types/sidebar.js +1 -0
  480. package/dist/lib/types/sidebar.js.map +1 -0
  481. package/dist/lib/types/user.d.ts +14 -0
  482. package/dist/lib/types/user.d.ts.map +1 -0
  483. package/dist/lib/types/user.js +1 -0
  484. package/dist/lib/types/user.js.map +1 -0
  485. package/dist/lib/utils/asset-actions.d.ts +9 -0
  486. package/dist/lib/utils/asset-actions.d.ts.map +1 -0
  487. package/dist/lib/utils/asset-actions.js +28 -0
  488. package/dist/lib/utils/asset-actions.js.map +1 -0
  489. package/dist/lib/utils/content-hash.d.ts +22 -0
  490. package/dist/lib/utils/content-hash.d.ts.map +1 -0
  491. package/dist/lib/utils/content-hash.js +68 -0
  492. package/dist/lib/utils/content-hash.js.map +1 -0
  493. package/dist/lib/utils/default-orderings.d.ts +10 -0
  494. package/dist/lib/utils/default-orderings.d.ts.map +1 -0
  495. package/dist/lib/utils/default-orderings.js +64 -0
  496. package/dist/lib/utils/default-orderings.js.map +1 -0
  497. package/dist/lib/utils/element-events.d.ts +15 -0
  498. package/dist/lib/utils/element-events.d.ts.map +1 -0
  499. package/dist/lib/utils/element-events.js +17 -0
  500. package/dist/lib/utils/element-events.js.map +1 -0
  501. package/dist/lib/utils/field-defaults.d.ts +8 -0
  502. package/dist/lib/utils/field-defaults.d.ts.map +1 -0
  503. package/dist/lib/utils/field-defaults.js +21 -0
  504. package/dist/lib/utils/field-defaults.js.map +1 -0
  505. package/dist/lib/utils/image-url.d.ts +88 -0
  506. package/dist/lib/utils/image-url.d.ts.map +1 -0
  507. package/dist/lib/utils/image-url.js +167 -0
  508. package/dist/lib/utils/image-url.js.map +1 -0
  509. package/dist/lib/utils/index.d.ts +8 -0
  510. package/dist/lib/utils/index.d.ts.map +1 -0
  511. package/dist/lib/utils/index.js +13 -0
  512. package/dist/lib/utils/index.js.map +1 -0
  513. package/dist/lib/utils/initial-value-helpers.d.ts +50 -0
  514. package/dist/lib/utils/initial-value-helpers.d.ts.map +1 -0
  515. package/dist/lib/utils/initial-value-helpers.js +71 -0
  516. package/dist/lib/utils/initial-value-helpers.js.map +1 -0
  517. package/dist/lib/utils/logger.d.ts +9 -0
  518. package/dist/lib/utils/logger.d.ts.map +1 -0
  519. package/dist/lib/utils/logger.js +30 -0
  520. package/dist/lib/utils/logger.js.map +1 -0
  521. package/dist/lib/utils/slug.d.ts +13 -0
  522. package/dist/lib/utils/slug.d.ts.map +1 -0
  523. package/dist/lib/utils/slug.js +31 -0
  524. package/dist/lib/utils/slug.js.map +1 -0
  525. package/dist/lib/utils.d.ts +13 -0
  526. package/dist/lib/utils.d.ts.map +1 -0
  527. package/dist/lib/utils.js +6 -0
  528. package/dist/lib/utils.js.map +1 -0
  529. package/dist/local-api/index.d.ts.map +1 -1
  530. package/dist/local-api/permissions.d.ts.map +1 -1
  531. package/dist/local-api/permissions.js +3 -4
  532. package/dist/routes/assets-bulk.d.ts +3 -0
  533. package/dist/routes/assets-bulk.d.ts.map +1 -0
  534. package/dist/routes/assets-bulk.js +48 -0
  535. package/dist/routes/assets-by-id.d.ts.map +1 -1
  536. package/dist/routes/assets-by-id.js +22 -55
  537. package/dist/routes/assets-cdn.d.ts.map +1 -1
  538. package/dist/routes/assets-cdn.js +12 -50
  539. package/dist/routes/assets-references-counts.d.ts +7 -0
  540. package/dist/routes/assets-references-counts.d.ts.map +1 -0
  541. package/dist/routes/assets-references-counts.js +31 -0
  542. package/dist/routes/assets-references.d.ts +7 -0
  543. package/dist/routes/assets-references.d.ts.map +1 -0
  544. package/dist/routes/assets-references.js +34 -0
  545. package/dist/routes/assets.d.ts.map +1 -1
  546. package/dist/routes/assets.js +27 -6
  547. package/dist/routes/documents-by-id.d.ts.map +1 -1
  548. package/dist/routes/documents-by-id.js +4 -3
  549. package/dist/routes/documents-publish.d.ts.map +1 -1
  550. package/dist/routes/documents-publish.js +3 -2
  551. package/dist/routes/documents-query.d.ts.map +1 -1
  552. package/dist/routes/documents-query.js +2 -1
  553. package/dist/routes/documents.d.ts.map +1 -1
  554. package/dist/routes/documents.js +3 -2
  555. package/dist/routes/organizations-by-id.d.ts.map +1 -1
  556. package/dist/routes/organizations-by-id.js +4 -3
  557. package/dist/routes/organizations-invitations.d.ts.map +1 -1
  558. package/dist/routes/organizations-invitations.js +5 -4
  559. package/dist/routes/organizations-members.d.ts.map +1 -1
  560. package/dist/routes/organizations-members.js +7 -6
  561. package/dist/routes/organizations-switch.d.ts.map +1 -1
  562. package/dist/routes/organizations-switch.js +2 -1
  563. package/dist/routes/organizations.d.ts.map +1 -1
  564. package/dist/routes/organizations.js +3 -2
  565. package/dist/routes/schemas-by-type.d.ts.map +1 -1
  566. package/dist/routes/schemas-by-type.js +3 -2
  567. package/dist/routes/user-preferences.d.ts.map +1 -1
  568. package/dist/routes/user-preferences.js +3 -2
  569. package/dist/routes-exports.d.ts +3 -0
  570. package/dist/routes-exports.d.ts.map +1 -1
  571. package/dist/routes-exports.js +3 -0
  572. package/dist/schema/index.d.ts +6 -0
  573. package/dist/schema/index.d.ts.map +1 -0
  574. package/dist/schema/index.js +11 -0
  575. package/dist/schema-utils/validator.d.ts.map +1 -1
  576. package/dist/schema-utils/validator.js +4 -3
  577. package/dist/server/index.d.ts +2 -0
  578. package/dist/server/index.d.ts.map +1 -1
  579. package/dist/server/index.js +4 -0
  580. package/dist/services/asset-service.d.ts.map +1 -1
  581. package/dist/services/asset-service.js +8 -7
  582. package/dist/storage/adapters/local-storage-adapter.d.ts.map +1 -1
  583. package/dist/storage/adapters/local-storage-adapter.js +5 -4
  584. package/dist/types/auth.d.ts +13 -1
  585. package/dist/types/auth.d.ts.map +1 -1
  586. package/dist/types/auth.js +6 -5
  587. package/dist/types/config.d.ts +14 -1
  588. package/dist/types/config.d.ts.map +1 -1
  589. package/dist/types/document.d.ts +1 -1
  590. package/dist/types/document.d.ts.map +1 -1
  591. package/dist/types/index.d.ts +1 -0
  592. package/dist/types/index.d.ts.map +1 -1
  593. package/dist/types/index.js +1 -0
  594. package/dist/types/instance.d.ts +5 -0
  595. package/dist/types/instance.d.ts.map +1 -0
  596. package/dist/types/instance.js +2 -0
  597. package/dist/types/schemas.d.ts +1 -1
  598. package/dist/types/schemas.d.ts.map +1 -1
  599. package/dist/types/sidebar.d.ts +1 -0
  600. package/dist/types/sidebar.d.ts.map +1 -1
  601. package/dist/utils/asset-actions.d.ts +9 -0
  602. package/dist/utils/asset-actions.d.ts.map +1 -0
  603. package/dist/utils/asset-actions.js +27 -0
  604. package/dist/utils/element-events.d.ts +15 -0
  605. package/dist/utils/element-events.d.ts.map +1 -0
  606. package/dist/utils/element-events.js +16 -0
  607. package/dist/utils/image-url.d.ts.map +1 -1
  608. package/dist/utils/image-url.js +10 -9
  609. package/dist/utils/index.d.ts +1 -0
  610. package/dist/utils/index.d.ts.map +1 -1
  611. package/dist/utils/index.js +2 -0
  612. package/dist/utils/logger.d.ts +9 -0
  613. package/dist/utils/logger.d.ts.map +1 -0
  614. package/dist/utils/logger.js +29 -0
  615. package/package.json +132 -103
  616. package/LICENSE +0 -21
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Recursively resolves reference fields in a document
3
+ * @param document - The document to resolve references for
4
+ * @param adapter - Document adapter for fetching referenced documents
5
+ * @param organizationId - Organization ID for filtering referenced documents
6
+ * @param options - Resolution options (depth, tracking)
7
+ * @returns Document with resolved references
8
+ */
9
+ export async function resolveReferences(document, adapter, organizationId, options) {
10
+ const { depth, currentDepth = 0, visited = new Set() } = options;
11
+ // Base case: no more depth to resolve or already visited (circular reference)
12
+ if (currentDepth >= depth || visited.has(document.id)) {
13
+ return document;
14
+ }
15
+ // Mark as visited
16
+ visited.add(document.id);
17
+ // Clone the document to avoid mutations
18
+ const resolvedDocument = { ...document };
19
+ // Resolve references in draftData
20
+ if (document.draftData) {
21
+ resolvedDocument.draftData = await resolveDataReferences(document.draftData, adapter, organizationId, {
22
+ depth,
23
+ currentDepth: currentDepth + 1,
24
+ visited
25
+ });
26
+ }
27
+ // Resolve references in publishedData
28
+ if (document.publishedData) {
29
+ resolvedDocument.publishedData = await resolveDataReferences(document.publishedData, adapter, organizationId, {
30
+ depth,
31
+ currentDepth: currentDepth + 1,
32
+ visited
33
+ });
34
+ }
35
+ return resolvedDocument;
36
+ }
37
+ /**
38
+ * Resolves references within document data (recursive)
39
+ */
40
+ async function resolveDataReferences(data, adapter, organizationId, options) {
41
+ if (!data || typeof data !== 'object') {
42
+ return data;
43
+ }
44
+ // Handle arrays
45
+ if (Array.isArray(data)) {
46
+ return Promise.all(data.map((item) => resolveDataReferences(item, adapter, organizationId, options)));
47
+ }
48
+ // Clone object
49
+ const resolved = {};
50
+ for (const [key, value] of Object.entries(data)) {
51
+ // Check if this looks like a reference field (string ID)
52
+ if (typeof value === 'string' && key !== '_type' && key !== '_key') {
53
+ // Try to fetch the referenced document
54
+ try {
55
+ const referencedDoc = await adapter.findByDocIdAdvanced(organizationId, value);
56
+ if (referencedDoc) {
57
+ // Recursively resolve nested references
58
+ resolved[key] = await resolveReferences(referencedDoc, adapter, organizationId, options);
59
+ }
60
+ else {
61
+ // Reference not found, keep the ID
62
+ resolved[key] = value;
63
+ }
64
+ }
65
+ catch (error) {
66
+ // On error, keep the original value
67
+ resolved[key] = value;
68
+ }
69
+ }
70
+ else if (value && typeof value === 'object') {
71
+ // Recursively resolve nested objects/arrays
72
+ resolved[key] = await resolveDataReferences(value, adapter, organizationId, options);
73
+ }
74
+ else {
75
+ // Primitive value, keep as is
76
+ resolved[key] = value;
77
+ }
78
+ }
79
+ return resolved;
80
+ }
81
+ //# sourceMappingURL=reference-resolver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-resolver.js","sourceRoot":"","sources":["../../../../src/lib/db/utils/reference-resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CMSConfig } from './types/index.js';
2
+ export declare function defineCMSConfig(config: CMSConfig): CMSConfig;
3
+ //# sourceMappingURL=define.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/lib/define.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG/C,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAE5D"}
@@ -0,0 +1,5 @@
1
+ // CMS config helper
2
+ export function defineCMSConfig(config) {
3
+ return config;
4
+ }
5
+ //# sourceMappingURL=define.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/lib/define.ts"],"names":[],"mappings":"AAGA,oBAAoB;AACpB,MAAM,UAAU,eAAe,CAAC,MAAiB;IAChD,OAAO,MAAM,CAAC;AACf,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './interfaces/email.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/email/index.ts"],"names":[],"mappings":"AAIA,cAAc,oBAAoB,CAAC"}
@@ -2,3 +2,4 @@
2
2
  // Ports and adapters for email sending operations
3
3
  // Interfaces
4
4
  export * from './interfaces/email.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/email/index.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,kDAAkD;AAElD,aAAa;AACb,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,42 @@
1
+ export interface EmailAddress {
2
+ email: string;
3
+ name?: string;
4
+ }
5
+ export interface SendEmailOptions {
6
+ from: string;
7
+ to: string | string[];
8
+ subject: string;
9
+ html?: string;
10
+ text?: string;
11
+ cc?: string | string[];
12
+ bcc?: string | string[];
13
+ replyTo?: string;
14
+ tags?: Array<{
15
+ name: string;
16
+ value: string;
17
+ }>;
18
+ attachments?: Array<{
19
+ filename: string;
20
+ content: Buffer | string;
21
+ }>;
22
+ }
23
+ export interface SendEmailResult {
24
+ id: string;
25
+ error?: string;
26
+ }
27
+ export interface EmailAdapter {
28
+ readonly name: string;
29
+ send(options: SendEmailOptions): Promise<SendEmailResult>;
30
+ sendBatch?(emails: SendEmailOptions[]): Promise<SendEmailResult[]>;
31
+ }
32
+ export interface EmailProvider {
33
+ name: string;
34
+ createAdapter(config: EmailConfig): EmailAdapter;
35
+ }
36
+ export interface EmailConfig {
37
+ apiKey?: string;
38
+ options?: {
39
+ [key: string]: any;
40
+ };
41
+ }
42
+ //# sourceMappingURL=email.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.d.ts","sourceRoot":"","sources":["../../../../src/lib/email/interfaces/email.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,KAAK,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;KACzB,CAAC,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE1D,SAAS,CAAC,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CACnE;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAAC;CACjD;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QACT,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACnB,CAAC;CACF"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../../../src/lib/email/interfaces/email.ts"],"names":[],"mappings":""}
@@ -0,0 +1,26 @@
1
+ import type { CMSConfig } from './types/config.js';
2
+ import type { SchemaType } from './types/schemas.js';
3
+ import type { DatabaseAdapter } from './db/interfaces/index.js';
4
+ export declare class CMSEngine {
5
+ private db;
6
+ config: CMSConfig;
7
+ constructor(config: CMSConfig, dbAdapter: DatabaseAdapter);
8
+ updateConfig(newConfig: CMSConfig): void;
9
+ initialize(): Promise<void>;
10
+ getSchemaType(name: string): Promise<SchemaType | null>;
11
+ listSchemas(): Promise<SchemaType[]>;
12
+ getSchemaTypeByName(name: string): SchemaType | null;
13
+ listDocumentTypes(): Promise<Array<{
14
+ name: string;
15
+ title: string;
16
+ description?: string;
17
+ }>>;
18
+ listObjectTypes(): Promise<Array<{
19
+ name: string;
20
+ title: string;
21
+ description?: string;
22
+ }>>;
23
+ }
24
+ export declare function createCMS(config: CMSConfig, dbAdapter: DatabaseAdapter): CMSEngine;
25
+ export declare function getCMS(): CMSEngine;
26
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/lib/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,qBAAa,SAAS;IACrB,OAAO,CAAC,EAAE,CAAkB;IACrB,MAAM,EAAE,SAAS,CAAC;gBAEb,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe;IAMzD,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAUlC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B3B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIvD,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAI1C,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAI9C,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAI1F,eAAe,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAG9F;AAKD,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,GAAG,SAAS,CAKlF;AAED,wBAAgB,MAAM,IAAI,SAAS,CAKlC"}
@@ -0,0 +1,71 @@
1
+ import { validateSchemaReferences } from './schema-utils/validator.js';
2
+ import { cmsLogger } from './utils/logger.js';
3
+ export class CMSEngine {
4
+ db;
5
+ config;
6
+ constructor(config, dbAdapter) {
7
+ this.config = config;
8
+ this.db = dbAdapter;
9
+ }
10
+ // Update config dynamically (for schema hot-reloading)
11
+ updateConfig(newConfig) {
12
+ this.config = newConfig;
13
+ cmsLogger.info('[CMS]', 'Config updated:', {
14
+ schemaTypes: newConfig.schemaTypes.length,
15
+ documents: newConfig.schemaTypes.filter((t) => t.type === 'document').length,
16
+ objects: newConfig.schemaTypes.filter((t) => t.type === 'object').length
17
+ });
18
+ }
19
+ // Initialize CMS - register schema types in database
20
+ async initialize() {
21
+ cmsLogger.info('[CMS]', 'Initializing...');
22
+ // Validate schemas before syncing to database
23
+ validateSchemaReferences(this.config.schemaTypes);
24
+ // Get existing schemas from database
25
+ const existingSchemas = await this.db.listSchemas();
26
+ const existingNames = new Set(existingSchemas.map((s) => s.name));
27
+ const currentNames = new Set(this.config.schemaTypes.map((s) => s.name));
28
+ // Delete schemas that are no longer in config
29
+ for (const existingName of existingNames) {
30
+ if (!currentNames.has(existingName)) {
31
+ await this.db.deleteSchemaType(existingName);
32
+ }
33
+ }
34
+ // Register all schema types (updates if exists, creates if new)
35
+ for (const schemaType of this.config.schemaTypes) {
36
+ await this.db.registerSchemaType(schemaType);
37
+ }
38
+ cmsLogger.info('[CMS]', 'Initialized successfully');
39
+ }
40
+ // Schema Type utility methods
41
+ async getSchemaType(name) {
42
+ return this.db.getSchemaType(name);
43
+ }
44
+ async listSchemas() {
45
+ return this.db.listSchemas();
46
+ }
47
+ getSchemaTypeByName(name) {
48
+ return this.config.schemaTypes.find((s) => s.name === name) || null;
49
+ }
50
+ async listDocumentTypes() {
51
+ return this.db.listDocumentTypes();
52
+ }
53
+ async listObjectTypes() {
54
+ return this.db.listObjectTypes();
55
+ }
56
+ }
57
+ // Global CMS instance
58
+ let cmsInstance = null;
59
+ export function createCMS(config, dbAdapter) {
60
+ if (!cmsInstance) {
61
+ cmsInstance = new CMSEngine(config, dbAdapter);
62
+ }
63
+ return cmsInstance;
64
+ }
65
+ export function getCMS() {
66
+ if (!cmsInstance) {
67
+ throw new Error('CMS not initialized. Call createCMS() first.');
68
+ }
69
+ return cmsInstance;
70
+ }
71
+ //# sourceMappingURL=engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/lib/engine.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,OAAO,SAAS;IACb,EAAE,CAAkB;IACrB,MAAM,CAAY;IAEzB,YAAY,MAAiB,EAAE,SAA0B;QACxD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;IACrB,CAAC;IAED,uDAAuD;IACvD,YAAY,CAAC,SAAoB;QAChC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,EAAE;YAC1C,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM;YACzC,SAAS,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,MAAM;YAC5E,OAAO,EAAE,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,MAAM;SACxE,CAAC,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,KAAK,CAAC,UAAU;QACf,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAE3C,8CAA8C;QAC9C,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAElD,qCAAqC;QACrC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACpD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAEzE,8CAA8C;QAC9C,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YAC1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC;QAED,gEAAgE;QAChE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAC9C,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;IACrD,CAAC;IAED,8BAA8B;IAC9B,KAAK,CAAC,aAAa,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9B,CAAC;IAED,mBAAmB,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,iBAAiB;QACtB,OAAO,IAAI,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,eAAe;QACpB,OAAO,IAAI,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC;IAClC,CAAC;CACD;AAED,sBAAsB;AACtB,IAAI,WAAW,GAAqB,IAAI,CAAC;AAEzC,MAAM,UAAU,SAAS,CAAC,MAAiB,EAAE,SAA0B;IACtE,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,WAAW,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,MAAM;IACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { SchemaType } from '../types/index.js';
2
+ /**
3
+ * Convert a date value to user format for validation
4
+ * Handles both ISO format and user format inputs
5
+ */
6
+ export declare function convertDateToUserFormat(value: string, userFormat: string): string;
7
+ /**
8
+ * Convert a date value to ISO format for storage
9
+ * Returns ISO if already valid, or original value if invalid
10
+ */
11
+ export declare function convertDateToISO(value: string, userFormat: string): string;
12
+ /**
13
+ * Convert a datetime value to user format for validation
14
+ * Handles both ISO datetime and user format inputs
15
+ */
16
+ export declare function convertDateTimeToUserFormat(value: string, dateFormat: string, timeFormat?: string): string;
17
+ /**
18
+ * Convert a datetime value to ISO UTC format for storage
19
+ * Returns ISO UTC if already valid, or original value if invalid
20
+ */
21
+ export declare function convertDateTimeToISO(value: string, dateFormat: string, timeFormat?: string): string;
22
+ /**
23
+ * Normalize date fields in data object
24
+ * Converts dates to ISO for storage and creates a parallel object with user-formatted dates for validation
25
+ */
26
+ export declare function normalizeDateFields(data: Record<string, any>, schema: SchemaType): {
27
+ normalizedData: Record<string, any>;
28
+ dataForValidation: Record<string, any>;
29
+ };
30
+ //# sourceMappingURL=date-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-utils.d.ts","sourceRoot":"","sources":["../../../src/lib/field-validation/date-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA4B,MAAM,gBAAgB,CAAC;AAS3E;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiBjF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAiB1E;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAC1C,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAgB,GAC1B,MAAM,CAmBR;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,MAAgB,GAC1B,MAAM,CA6BR;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAClC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,MAAM,EAAE,UAAU,GAChB;IACF,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC,CA8DA"}
@@ -1,6 +1,7 @@
1
1
  import dayjs from 'dayjs';
2
2
  import customParseFormat from 'dayjs/plugin/customParseFormat.js';
3
3
  import utc from 'dayjs/plugin/utc.js';
4
+ import { cmsLogger } from '../utils/logger.js';
4
5
  dayjs.extend(customParseFormat);
5
6
  dayjs.extend(utc);
6
7
  /**
@@ -70,13 +71,13 @@ export function convertDateTimeToUserFormat(value, dateFormat, timeFormat = 'HH:
70
71
  */
71
72
  export function convertDateTimeToISO(value, dateFormat, timeFormat = 'HH:mm') {
72
73
  const userFormat = `${dateFormat} ${timeFormat}`;
73
- console.log('[convertDateTimeToISO]', { value, userFormat });
74
+ cmsLogger.debug('[convertDateTimeToISO]', { value, userFormat });
74
75
  // Try parsing as user format first (for API consumers)
75
76
  // Use strict mode to reject invalid dates like Feb 31st
76
77
  const parsedUser = dayjs(value, userFormat, true);
77
78
  if (parsedUser.isValid()) {
78
79
  const result = parsedUser.utc().format('YYYY-MM-DDTHH:mm:ss[Z]');
79
- console.log('[convertDateTimeToISO] User format parse successful, converting to UTC:', result);
80
+ cmsLogger.debug('[convertDateTimeToISO] User format parse successful, converting to UTC:', result);
80
81
  return result;
81
82
  }
82
83
  // Try parsing as ISO datetime (for DateTimeField component)
@@ -84,11 +85,11 @@ export function convertDateTimeToISO(value, dateFormat, timeFormat = 'HH:mm') {
84
85
  const parsedISO = dayjs(value, 'YYYY-MM-DDTHH:mm:ss[Z]', true);
85
86
  if (parsedISO.isValid()) {
86
87
  const result = parsedISO.utc().format('YYYY-MM-DDTHH:mm:ss[Z]');
87
- console.log('[convertDateTimeToISO] ISO parse successful:', result);
88
+ cmsLogger.debug('[convertDateTimeToISO] ISO parse successful:', result);
88
89
  return result;
89
90
  }
90
91
  // Invalid datetime - return as-is
91
- console.log('[convertDateTimeToISO] Invalid - returning as-is');
92
+ cmsLogger.debug('[convertDateTimeToISO] Invalid - returning as-is');
92
93
  return value;
93
94
  }
94
95
  /**
@@ -98,21 +99,21 @@ export function convertDateTimeToISO(value, dateFormat, timeFormat = 'HH:mm') {
98
99
  export function normalizeDateFields(data, schema) {
99
100
  const normalizedData = { ...data };
100
101
  const dataForValidation = { ...data };
101
- console.log('[normalizeDateFields] Starting normalization...');
102
- console.log('[normalizeDateFields] Input data:', data);
102
+ cmsLogger.debug('[normalizeDateFields] Starting normalization...');
103
+ cmsLogger.debug('[normalizeDateFields] Input data:', data);
103
104
  for (const field of schema.fields) {
104
105
  if (field.type === 'date' && normalizedData[field.name]) {
105
106
  const dateField = field;
106
107
  const userFormat = dateField.options?.dateFormat || 'YYYY-MM-DD';
107
108
  const dateValue = normalizedData[field.name];
108
- console.log(`[normalizeDateFields] Processing DATE field "${field.name}"`, {
109
+ cmsLogger.debug(`[normalizeDateFields] Processing DATE field "${field.name}"`, {
109
110
  originalValue: dateValue,
110
111
  userFormat
111
112
  });
112
113
  if (typeof dateValue === 'string') {
113
114
  normalizedData[field.name] = convertDateToISO(dateValue, userFormat);
114
115
  dataForValidation[field.name] = convertDateToUserFormat(dateValue, userFormat);
115
- console.log(`[normalizeDateFields] Converted DATE field "${field.name}"`, {
116
+ cmsLogger.debug(`[normalizeDateFields] Converted DATE field "${field.name}"`, {
116
117
  normalizedValue: normalizedData[field.name],
117
118
  validationValue: dataForValidation[field.name]
118
119
  });
@@ -123,7 +124,7 @@ export function normalizeDateFields(data, schema) {
123
124
  const dateFormat = dateTimeField.options?.dateFormat || 'YYYY-MM-DD';
124
125
  const timeFormat = dateTimeField.options?.timeFormat || 'HH:mm';
125
126
  const dateTimeValue = normalizedData[field.name];
126
- console.log(`[normalizeDateFields] Processing DATETIME field "${field.name}"`, {
127
+ cmsLogger.debug(`[normalizeDateFields] Processing DATETIME field "${field.name}"`, {
127
128
  originalValue: dateTimeValue,
128
129
  dateFormat,
129
130
  timeFormat,
@@ -132,16 +133,17 @@ export function normalizeDateFields(data, schema) {
132
133
  if (typeof dateTimeValue === 'string') {
133
134
  normalizedData[field.name] = convertDateTimeToISO(dateTimeValue, dateFormat, timeFormat);
134
135
  dataForValidation[field.name] = convertDateTimeToUserFormat(dateTimeValue, dateFormat, timeFormat);
135
- console.log(`[normalizeDateFields] Converted DATETIME field "${field.name}"`, {
136
+ cmsLogger.debug(`[normalizeDateFields] Converted DATETIME field "${field.name}"`, {
136
137
  normalizedValue: normalizedData[field.name],
137
138
  validationValue: dataForValidation[field.name]
138
139
  });
139
140
  }
140
141
  }
141
142
  }
142
- console.log('[normalizeDateFields] Final result:', {
143
+ cmsLogger.debug('[normalizeDateFields] Final result:', {
143
144
  normalizedData,
144
145
  dataForValidation
145
146
  });
146
147
  return { normalizedData, dataForValidation };
147
148
  }
149
+ //# sourceMappingURL=date-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-utils.js","sourceRoot":"","sources":["../../../src/lib/field-validation/date-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ export interface ValidationMarker {
2
+ level: 'error' | 'warning' | 'info';
3
+ message: string;
4
+ path?: string[];
5
+ }
6
+ export interface ValidationContext {
7
+ document?: any;
8
+ parent?: any;
9
+ path?: string[];
10
+ }
11
+ export interface CustomValidator<T = unknown> {
12
+ (value: T, context: ValidationContext): ValidationMarker[] | string | boolean | Promise<ValidationMarker[] | string | boolean>;
13
+ }
14
+ export interface FieldReference {
15
+ __fieldReference: true;
16
+ path: string | string[];
17
+ }
18
+ export declare class Rule {
19
+ private _required;
20
+ private _rules;
21
+ private _level;
22
+ private _message?;
23
+ static FIELD_REF: symbol;
24
+ static valueOfField(path: string | string[]): FieldReference;
25
+ valueOfField(path: string | string[]): FieldReference;
26
+ required(): Rule;
27
+ optional(): Rule;
28
+ min(len: number | string | FieldReference): Rule;
29
+ max(len: number | string | FieldReference): Rule;
30
+ length(len: number | FieldReference): Rule;
31
+ unique(): Rule;
32
+ email(): Rule;
33
+ uri(options?: {
34
+ scheme?: RegExp[];
35
+ allowRelative?: boolean;
36
+ }): Rule;
37
+ regex(pattern: RegExp, name?: string): Rule;
38
+ positive(): Rule;
39
+ negative(): Rule;
40
+ integer(): Rule;
41
+ greaterThan(num: number | FieldReference): Rule;
42
+ lessThan(num: number | FieldReference): Rule;
43
+ date(format?: string): Rule;
44
+ datetime(dateFormat?: string, timeFormat?: string): Rule;
45
+ custom<T = unknown>(fn: CustomValidator<T>): Rule;
46
+ error(message?: string): Rule;
47
+ warning(message?: string): Rule;
48
+ info(message?: string): Rule;
49
+ clone(): Rule;
50
+ validate(value: unknown, context?: ValidationContext): Promise<ValidationMarker[]>;
51
+ private validateRule;
52
+ isRequired(): boolean;
53
+ private normalizeForComparison;
54
+ }
55
+ //# sourceMappingURL=rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../src/lib/field-validation/rule.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAEjC,QAAQ,CAAC,EAAE,GAAG,CAAC;IAEf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC3C,CACC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,iBAAiB,GACxB,gBAAgB,EAAE,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CAC1F;AAED,MAAM,WAAW,cAAc;IAC9B,gBAAgB,EAAE,IAAI,CAAC;IACvB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CACxB;AAED,qBAAa,IAAI;IAChB,OAAO,CAAC,SAAS,CAAkB;IAEnC,OAAO,CAAC,MAAM,CAAmE;IACjF,OAAO,CAAC,MAAM,CAAyC;IACvD,OAAO,CAAC,QAAQ,CAAC,CAAS;IAE1B,MAAM,CAAC,SAAS,SAA4B;IAE5C,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,cAAc;IAO5D,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,cAAc;IAIrD,QAAQ,IAAI,IAAI;IAMhB,QAAQ,IAAI,IAAI;IAMhB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,IAAI;IAMhD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,IAAI;IAMhD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAM1C,MAAM,IAAI,IAAI;IAMd,KAAK,IAAI,IAAI;IAMb,GAAG,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAMnE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAM3C,QAAQ,IAAI,IAAI;IAMhB,QAAQ,IAAI,IAAI;IAMhB,OAAO,IAAI,IAAI;IAMf,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAM/C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAM5C,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAM3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAOxD,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI;IAMjD,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAO7B,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAO/B,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAO5B,KAAK,IAAI,IAAI;IASP,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAwC9E,YAAY;IAgO1B,UAAU,IAAI,OAAO;IAKrB,OAAO,CAAC,sBAAsB;CAkB9B"}
@@ -1,6 +1,7 @@
1
1
  // Sanity-style validation Rule implementation
2
2
  import dayjs from 'dayjs';
3
3
  import customParseFormat from 'dayjs/plugin/customParseFormat.js';
4
+ import { cmsLogger } from '../utils/logger.js';
4
5
  // Enable strict parsing
5
6
  dayjs.extend(customParseFormat);
6
7
  export class Rule {
@@ -297,52 +298,52 @@ export class Rule {
297
298
  case 'date': {
298
299
  if (typeof value === 'string') {
299
300
  const format = rule.constraint || 'YYYY-MM-DD';
300
- console.log('[Rule.validate] DATE validation', { value, format });
301
+ cmsLogger.debug('[Rule.validate] DATE validation', { value, format });
301
302
  // Parse with strict mode
302
303
  const parsed = dayjs(value, format, true);
303
- console.log('[Rule.validate] DATE parsed', {
304
+ cmsLogger.debug('[Rule.validate] DATE parsed', {
304
305
  isValid: parsed.isValid(),
305
306
  parsed: parsed.format()
306
307
  });
307
308
  if (!parsed.isValid()) {
308
- console.log('[Rule.validate] DATE validation FAILED - invalid format');
309
+ cmsLogger.debug('[Rule.validate] DATE validation FAILED - invalid format');
309
310
  return `Invalid date format. Expected: ${format}`;
310
311
  }
311
312
  // Verify the parsed date matches the input (catches invalid dates like 2025-02-31)
312
313
  if (parsed.format(format) !== value) {
313
- console.log('[Rule.validate] DATE validation FAILED - format mismatch', {
314
+ cmsLogger.debug('[Rule.validate] DATE validation FAILED - format mismatch', {
314
315
  expected: value,
315
316
  got: parsed.format(format)
316
317
  });
317
318
  return `Invalid date. Expected format: ${format}`;
318
319
  }
319
- console.log('[Rule.validate] DATE validation PASSED');
320
+ cmsLogger.debug('[Rule.validate] DATE validation PASSED');
320
321
  }
321
322
  break;
322
323
  }
323
324
  case 'datetime': {
324
325
  if (typeof value === 'string') {
325
326
  const format = rule.constraint || 'YYYY-MM-DD HH:mm';
326
- console.log('[Rule.validate] DATETIME validation', { value, format });
327
+ cmsLogger.debug('[Rule.validate] DATETIME validation', { value, format });
327
328
  // Parse with strict mode
328
329
  const parsed = dayjs(value, format, true);
329
- console.log('[Rule.validate] DATETIME parsed', {
330
+ cmsLogger.debug('[Rule.validate] DATETIME parsed', {
330
331
  isValid: parsed.isValid(),
331
332
  parsed: parsed.format()
332
333
  });
333
334
  if (!parsed.isValid()) {
334
- console.log('[Rule.validate] DATETIME validation FAILED - invalid format');
335
+ cmsLogger.debug('[Rule.validate] DATETIME validation FAILED - invalid format');
335
336
  return `Invalid datetime format. Expected: ${format}`;
336
337
  }
337
338
  // Verify the parsed datetime matches the input (catches invalid dates like 2025-02-31 23:59)
338
339
  if (parsed.format(format) !== value) {
339
- console.log('[Rule.validate] DATETIME validation FAILED - format mismatch', {
340
+ cmsLogger.debug('[Rule.validate] DATETIME validation FAILED - format mismatch', {
340
341
  expected: value,
341
342
  got: parsed.format(format)
342
343
  });
343
344
  return `Invalid datetime. Expected format: ${format}`;
344
345
  }
345
- console.log('[Rule.validate] DATETIME validation PASSED');
346
+ cmsLogger.debug('[Rule.validate] DATETIME validation PASSED');
346
347
  }
347
348
  break;
348
349
  }
@@ -385,3 +386,4 @@ export class Rule {
385
386
  return value;
386
387
  }
387
388
  }
389
+ //# sourceMappingURL=rule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../../src/lib/field-validation/rule.ts"],"names":[],"mappings":"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"}