@aphexcms/cms-core 8.1.0 → 9.1.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 (290) hide show
  1. package/dist/api/api-keys.d.ts +8 -3
  2. package/dist/api/api-keys.d.ts.map +1 -1
  3. package/dist/api/schemas/assets.js +1 -1
  4. package/dist/api/schemas/documents.d.ts +0 -2
  5. package/dist/api/schemas/documents.d.ts.map +1 -1
  6. package/dist/api/schemas/documents.js +2 -8
  7. package/dist/api/schemas/instance.d.ts +6 -0
  8. package/dist/api/schemas/instance.d.ts.map +1 -0
  9. package/dist/api/schemas/instance.js +7 -0
  10. package/dist/api/schemas/user.js +1 -1
  11. package/dist/auth/auth-hooks.d.ts.map +1 -1
  12. package/dist/auth/auth-hooks.js +9 -3
  13. package/dist/cli/generate-types.d.ts.map +1 -1
  14. package/dist/cli/generate-types.js +198 -11
  15. package/dist/cli/generate-types.js.map +1 -1
  16. package/dist/components/AdminApp.svelte +55 -149
  17. package/dist/components/AdminApp.svelte.d.ts.map +1 -1
  18. package/dist/components/admin/DocumentEditor.svelte +282 -253
  19. package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -1
  20. package/dist/components/admin/DocumentVersionPanel.svelte +3 -2
  21. package/dist/components/admin/DocumentVersionPanel.svelte.d.ts.map +1 -1
  22. package/dist/components/admin/MediaBrowser.svelte +29 -11
  23. package/dist/components/admin/MediaBrowser.svelte.d.ts.map +1 -1
  24. package/dist/components/admin/ObjectModal.svelte +62 -75
  25. package/dist/components/admin/ObjectModal.svelte.d.ts.map +1 -1
  26. package/dist/components/admin/SchemaField.svelte +2 -2
  27. package/dist/components/admin/fields/ArrayField.svelte +13 -3
  28. package/dist/components/admin/fields/ArrayField.svelte.d.ts.map +1 -1
  29. package/dist/components/admin/fields/FileField.svelte +1 -1
  30. package/dist/components/admin/fields/ImageField.svelte +1 -1
  31. package/dist/components/admin/fields/ReferenceField.svelte +42 -11
  32. package/dist/components/admin/fields/ReferenceField.svelte.d.ts.map +1 -1
  33. package/dist/components/admin/fields/richtext/PortableTextImageView.svelte +116 -0
  34. package/dist/components/admin/fields/richtext/PortableTextImageView.svelte.d.ts +12 -0
  35. package/dist/components/admin/fields/richtext/PortableTextImageView.svelte.d.ts.map +1 -0
  36. package/dist/components/admin/fields/richtext/PortableTextInlineView.svelte +111 -0
  37. package/dist/components/admin/fields/richtext/PortableTextInlineView.svelte.d.ts +12 -0
  38. package/dist/components/admin/fields/richtext/PortableTextInlineView.svelte.d.ts.map +1 -0
  39. package/dist/components/admin/fields/richtext/PortableTextObjectView.svelte +67 -0
  40. package/dist/components/admin/fields/richtext/PortableTextObjectView.svelte.d.ts +12 -0
  41. package/dist/components/admin/fields/richtext/PortableTextObjectView.svelte.d.ts.map +1 -0
  42. package/dist/components/admin/fields/richtext/RichtextField.svelte +1296 -0
  43. package/dist/components/admin/fields/richtext/RichtextField.svelte.d.ts +15 -0
  44. package/dist/components/admin/fields/richtext/RichtextField.svelte.d.ts.map +1 -0
  45. package/dist/components/admin/fields/richtext/custom-annotation-mark.d.ts +7 -0
  46. package/dist/components/admin/fields/richtext/custom-annotation-mark.d.ts.map +1 -0
  47. package/dist/components/admin/fields/richtext/custom-annotation-mark.js +33 -0
  48. package/dist/components/admin/fields/richtext/portable-text-inline-object.d.ts +11 -0
  49. package/dist/components/admin/fields/richtext/portable-text-inline-object.d.ts.map +1 -0
  50. package/dist/components/admin/fields/richtext/portable-text-inline-object.js +31 -0
  51. package/dist/components/admin/fields/richtext/portable-text-object-node.d.ts +11 -0
  52. package/dist/components/admin/fields/richtext/portable-text-object-node.d.ts.map +1 -0
  53. package/dist/components/admin/fields/richtext/portable-text-object-node.js +31 -0
  54. package/dist/components/admin/fields/richtext/portable-text-serializer.d.ts +38 -0
  55. package/dist/components/admin/fields/richtext/portable-text-serializer.d.ts.map +1 -0
  56. package/dist/components/admin/fields/richtext/portable-text-serializer.js +297 -0
  57. package/dist/components/admin/fields/richtext/svelte-inline-node-view.d.ts +8 -0
  58. package/dist/components/admin/fields/richtext/svelte-inline-node-view.d.ts.map +1 -0
  59. package/dist/components/admin/fields/richtext/svelte-inline-node-view.js +67 -0
  60. package/dist/components/admin/fields/richtext/svelte-node-view.d.ts +8 -0
  61. package/dist/components/admin/fields/richtext/svelte-node-view.d.ts.map +1 -0
  62. package/dist/components/admin/fields/richtext/svelte-node-view.js +63 -0
  63. package/dist/components/layout/OrganizationSwitcher.svelte +1 -1
  64. package/dist/components/layout/sidebar/NavMain.svelte +9 -1
  65. package/dist/components/layout/sidebar/NavMain.svelte.d.ts.map +1 -1
  66. package/dist/db/interfaces/asset.d.ts +2 -4
  67. package/dist/db/interfaces/asset.d.ts.map +1 -1
  68. package/dist/db/interfaces/document.d.ts +8 -2
  69. package/dist/db/interfaces/document.d.ts.map +1 -1
  70. package/dist/db/interfaces/organization.d.ts +1 -1
  71. package/dist/db/interfaces/organization.d.ts.map +1 -1
  72. package/dist/field-access.d.ts.map +1 -1
  73. package/dist/field-access.js +5 -1
  74. package/dist/graphql/depth-limit.d.ts +8 -0
  75. package/dist/graphql/depth-limit.d.ts.map +1 -0
  76. package/dist/graphql/depth-limit.js +79 -0
  77. package/dist/graphql/index.d.ts.map +1 -1
  78. package/dist/graphql/index.js +12 -1
  79. package/dist/graphql/resolvers.d.ts.map +1 -1
  80. package/dist/graphql/resolvers.js +22 -22
  81. package/dist/graphql/schema.d.ts.map +1 -1
  82. package/dist/graphql/schema.js +7 -3
  83. package/dist/hooks.d.ts +2 -0
  84. package/dist/hooks.d.ts.map +1 -1
  85. package/dist/hooks.js +5 -2
  86. package/dist/lib/api/api-keys.d.ts +8 -3
  87. package/dist/lib/api/api-keys.d.ts.map +1 -1
  88. package/dist/lib/api/api-keys.js.map +1 -1
  89. package/dist/lib/api/schemas/assets.js +1 -1
  90. package/dist/lib/api/schemas/assets.js.map +1 -1
  91. package/dist/lib/api/schemas/documents.d.ts +0 -2
  92. package/dist/lib/api/schemas/documents.d.ts.map +1 -1
  93. package/dist/lib/api/schemas/documents.js +2 -8
  94. package/dist/lib/api/schemas/documents.js.map +1 -1
  95. package/dist/lib/api/schemas/instance.d.ts +6 -0
  96. package/dist/lib/api/schemas/instance.d.ts.map +1 -0
  97. package/dist/lib/api/schemas/instance.js +8 -0
  98. package/dist/lib/api/schemas/instance.js.map +1 -0
  99. package/dist/lib/api/schemas/user.js +1 -1
  100. package/dist/lib/auth/auth-hooks.d.ts.map +1 -1
  101. package/dist/lib/auth/auth-hooks.js +9 -3
  102. package/dist/lib/auth/auth-hooks.js.map +1 -1
  103. package/dist/lib/components/admin/fields/richtext/custom-annotation-mark.d.ts +7 -0
  104. package/dist/lib/components/admin/fields/richtext/custom-annotation-mark.d.ts.map +1 -0
  105. package/dist/lib/components/admin/fields/richtext/custom-annotation-mark.js +34 -0
  106. package/dist/lib/components/admin/fields/richtext/custom-annotation-mark.js.map +1 -0
  107. package/dist/lib/components/admin/fields/richtext/portable-text-inline-object.d.ts +11 -0
  108. package/dist/lib/components/admin/fields/richtext/portable-text-inline-object.d.ts.map +1 -0
  109. package/dist/lib/components/admin/fields/richtext/portable-text-inline-object.js +32 -0
  110. package/dist/lib/components/admin/fields/richtext/portable-text-inline-object.js.map +1 -0
  111. package/dist/lib/components/admin/fields/richtext/portable-text-object-node.d.ts +11 -0
  112. package/dist/lib/components/admin/fields/richtext/portable-text-object-node.d.ts.map +1 -0
  113. package/dist/lib/components/admin/fields/richtext/portable-text-object-node.js +32 -0
  114. package/dist/lib/components/admin/fields/richtext/portable-text-object-node.js.map +1 -0
  115. package/dist/lib/components/admin/fields/richtext/portable-text-serializer.d.ts +38 -0
  116. package/dist/lib/components/admin/fields/richtext/portable-text-serializer.d.ts.map +1 -0
  117. package/dist/lib/components/admin/fields/richtext/portable-text-serializer.js +298 -0
  118. package/dist/lib/components/admin/fields/richtext/portable-text-serializer.js.map +1 -0
  119. package/dist/lib/components/admin/fields/richtext/svelte-inline-node-view.d.ts +8 -0
  120. package/dist/lib/components/admin/fields/richtext/svelte-inline-node-view.d.ts.map +1 -0
  121. package/dist/lib/components/admin/fields/richtext/svelte-inline-node-view.js +68 -0
  122. package/dist/lib/components/admin/fields/richtext/svelte-inline-node-view.js.map +1 -0
  123. package/dist/lib/components/admin/fields/richtext/svelte-node-view.d.ts +8 -0
  124. package/dist/lib/components/admin/fields/richtext/svelte-node-view.d.ts.map +1 -0
  125. package/dist/lib/components/admin/fields/richtext/svelte-node-view.js +64 -0
  126. package/dist/lib/components/admin/fields/richtext/svelte-node-view.js.map +1 -0
  127. package/dist/lib/db/interfaces/asset.d.ts +2 -4
  128. package/dist/lib/db/interfaces/asset.d.ts.map +1 -1
  129. package/dist/lib/db/interfaces/document.d.ts +8 -2
  130. package/dist/lib/db/interfaces/document.d.ts.map +1 -1
  131. package/dist/lib/db/interfaces/organization.d.ts +1 -1
  132. package/dist/lib/db/interfaces/organization.d.ts.map +1 -1
  133. package/dist/lib/field-access.d.ts.map +1 -1
  134. package/dist/lib/field-access.js +5 -1
  135. package/dist/lib/field-access.js.map +1 -1
  136. package/dist/lib/graphql/depth-limit.d.ts +8 -0
  137. package/dist/lib/graphql/depth-limit.d.ts.map +1 -0
  138. package/dist/lib/graphql/depth-limit.js +80 -0
  139. package/dist/lib/graphql/depth-limit.js.map +1 -0
  140. package/dist/lib/graphql/index.d.ts.map +1 -1
  141. package/dist/lib/graphql/index.js +12 -1
  142. package/dist/lib/graphql/index.js.map +1 -1
  143. package/dist/lib/graphql/resolvers.d.ts.map +1 -1
  144. package/dist/lib/graphql/resolvers.js +22 -22
  145. package/dist/lib/graphql/resolvers.js.map +1 -1
  146. package/dist/lib/graphql/schema.d.ts.map +1 -1
  147. package/dist/lib/graphql/schema.js +7 -3
  148. package/dist/lib/graphql/schema.js.map +1 -1
  149. package/dist/lib/hooks.d.ts +2 -0
  150. package/dist/lib/hooks.d.ts.map +1 -1
  151. package/dist/lib/hooks.js +5 -2
  152. package/dist/lib/hooks.js.map +1 -1
  153. package/dist/lib/local-api/collection-api.d.ts.map +1 -1
  154. package/dist/lib/local-api/collection-api.js +14 -9
  155. package/dist/lib/local-api/collection-api.js.map +1 -1
  156. package/dist/lib/local-api/index.d.ts +5 -1
  157. package/dist/lib/local-api/index.d.ts.map +1 -1
  158. package/dist/lib/local-api/index.js +12 -4
  159. package/dist/lib/local-api/index.js.map +1 -1
  160. package/dist/lib/routes/assets-cdn.d.ts.map +1 -1
  161. package/dist/lib/routes/assets-cdn.js +8 -3
  162. package/dist/lib/routes/assets-cdn.js.map +1 -1
  163. package/dist/lib/schema-utils/validator.d.ts.map +1 -1
  164. package/dist/lib/schema-utils/validator.js +5 -1
  165. package/dist/lib/schema-utils/validator.js.map +1 -1
  166. package/dist/lib/server/api/index.d.ts.map +1 -1
  167. package/dist/lib/server/api/index.js +18 -0
  168. package/dist/lib/server/api/index.js.map +1 -1
  169. package/dist/lib/server/api/routes/assets-bulk.d.ts.map +1 -1
  170. package/dist/lib/server/api/routes/assets-bulk.js +4 -0
  171. package/dist/lib/server/api/routes/assets-bulk.js.map +1 -1
  172. package/dist/lib/server/api/routes/assets-by-id.d.ts.map +1 -1
  173. package/dist/lib/server/api/routes/assets-by-id.js +17 -2
  174. package/dist/lib/server/api/routes/assets-by-id.js.map +1 -1
  175. package/dist/lib/server/api/routes/assets-references.d.ts.map +1 -1
  176. package/dist/lib/server/api/routes/assets-references.js +6 -4
  177. package/dist/lib/server/api/routes/assets-references.js.map +1 -1
  178. package/dist/lib/server/api/routes/assets.d.ts.map +1 -1
  179. package/dist/lib/server/api/routes/assets.js +18 -9
  180. package/dist/lib/server/api/routes/assets.js.map +1 -1
  181. package/dist/lib/server/api/routes/document-versions.d.ts.map +1 -1
  182. package/dist/lib/server/api/routes/document-versions.js +8 -0
  183. package/dist/lib/server/api/routes/document-versions.js.map +1 -1
  184. package/dist/lib/server/api/routes/documents-by-id.d.ts.map +1 -1
  185. package/dist/lib/server/api/routes/documents-by-id.js +3 -3
  186. package/dist/lib/server/api/routes/documents-by-id.js.map +1 -1
  187. package/dist/lib/server/api/routes/documents-publish.d.ts.map +1 -1
  188. package/dist/lib/server/api/routes/documents-publish.js +2 -2
  189. package/dist/lib/server/api/routes/documents-publish.js.map +1 -1
  190. package/dist/lib/server/api/routes/documents-query.d.ts.map +1 -1
  191. package/dist/lib/server/api/routes/documents-query.js +2 -3
  192. package/dist/lib/server/api/routes/documents-query.js.map +1 -1
  193. package/dist/lib/server/api/routes/documents.d.ts.map +1 -1
  194. package/dist/lib/server/api/routes/documents.js +3 -5
  195. package/dist/lib/server/api/routes/documents.js.map +1 -1
  196. package/dist/lib/server/api/routes/organizations-invitations.d.ts.map +1 -1
  197. package/dist/lib/server/api/routes/organizations-invitations.js +1 -1
  198. package/dist/lib/server/api/routes/organizations-invitations.js.map +1 -1
  199. package/dist/lib/server/api/routes/organizations-members.d.ts.map +1 -1
  200. package/dist/lib/server/api/routes/organizations-members.js.map +1 -1
  201. package/dist/lib/server/index.d.ts +1 -0
  202. package/dist/lib/server/index.d.ts.map +1 -1
  203. package/dist/lib/server/index.js +2 -0
  204. package/dist/lib/server/index.js.map +1 -1
  205. package/dist/lib/services/asset-service.d.ts.map +1 -1
  206. package/dist/lib/services/asset-service.js +4 -2
  207. package/dist/lib/services/asset-service.js.map +1 -1
  208. package/dist/lib/services/references-service.d.ts.map +1 -1
  209. package/dist/lib/services/references-service.js.map +1 -1
  210. package/dist/lib/storage/adapters/local-storage-adapter.d.ts +4 -0
  211. package/dist/lib/storage/adapters/local-storage-adapter.d.ts.map +1 -1
  212. package/dist/lib/storage/adapters/local-storage-adapter.js +28 -6
  213. package/dist/lib/storage/adapters/local-storage-adapter.js.map +1 -1
  214. package/dist/lib/types/capabilities.d.ts +1 -0
  215. package/dist/lib/types/capabilities.d.ts.map +1 -1
  216. package/dist/lib/types/capabilities.js +3 -0
  217. package/dist/lib/types/capabilities.js.map +1 -1
  218. package/dist/lib/types/config.d.ts +16 -1
  219. package/dist/lib/types/config.d.ts.map +1 -1
  220. package/dist/lib/types/schemas.d.ts +27 -0
  221. package/dist/lib/types/schemas.d.ts.map +1 -1
  222. package/dist/lib/types/schemas.js +3 -1
  223. package/dist/lib/types/schemas.js.map +1 -1
  224. package/dist/lib/utils/logger.d.ts +8 -6
  225. package/dist/lib/utils/logger.d.ts.map +1 -1
  226. package/dist/lib/utils/logger.js +11 -2
  227. package/dist/lib/utils/logger.js.map +1 -1
  228. package/dist/lib/utils/mime-detect.d.ts.map +1 -1
  229. package/dist/lib/utils/mime-detect.js +21 -6
  230. package/dist/lib/utils/mime-detect.js.map +1 -1
  231. package/dist/lib/vite/index.d.ts.map +1 -1
  232. package/dist/lib/vite/index.js +4 -5
  233. package/dist/lib/vite/index.js.map +1 -1
  234. package/dist/local-api/collection-api.d.ts.map +1 -1
  235. package/dist/local-api/collection-api.js +14 -9
  236. package/dist/local-api/index.d.ts +5 -1
  237. package/dist/local-api/index.d.ts.map +1 -1
  238. package/dist/local-api/index.js +12 -4
  239. package/dist/routes/assets-cdn.d.ts.map +1 -1
  240. package/dist/routes/assets-cdn.js +8 -3
  241. package/dist/schema-utils/validator.d.ts.map +1 -1
  242. package/dist/schema-utils/validator.js +5 -1
  243. package/dist/server/api/index.d.ts.map +1 -1
  244. package/dist/server/api/index.js +18 -0
  245. package/dist/server/api/routes/assets-bulk.d.ts.map +1 -1
  246. package/dist/server/api/routes/assets-bulk.js +4 -0
  247. package/dist/server/api/routes/assets-by-id.d.ts.map +1 -1
  248. package/dist/server/api/routes/assets-by-id.js +17 -2
  249. package/dist/server/api/routes/assets-references.d.ts.map +1 -1
  250. package/dist/server/api/routes/assets-references.js +6 -4
  251. package/dist/server/api/routes/assets.d.ts.map +1 -1
  252. package/dist/server/api/routes/assets.js +18 -9
  253. package/dist/server/api/routes/document-versions.d.ts.map +1 -1
  254. package/dist/server/api/routes/document-versions.js +8 -0
  255. package/dist/server/api/routes/documents-by-id.d.ts.map +1 -1
  256. package/dist/server/api/routes/documents-by-id.js +3 -3
  257. package/dist/server/api/routes/documents-publish.d.ts.map +1 -1
  258. package/dist/server/api/routes/documents-publish.js +2 -2
  259. package/dist/server/api/routes/documents-query.d.ts.map +1 -1
  260. package/dist/server/api/routes/documents-query.js +2 -3
  261. package/dist/server/api/routes/documents.d.ts.map +1 -1
  262. package/dist/server/api/routes/documents.js +3 -5
  263. package/dist/server/api/routes/organizations-invitations.d.ts.map +1 -1
  264. package/dist/server/api/routes/organizations-invitations.js +1 -1
  265. package/dist/server/api/routes/organizations-members.d.ts.map +1 -1
  266. package/dist/server/index.d.ts +1 -0
  267. package/dist/server/index.d.ts.map +1 -1
  268. package/dist/server/index.js +2 -0
  269. package/dist/services/asset-service.d.ts.map +1 -1
  270. package/dist/services/asset-service.js +4 -2
  271. package/dist/services/references-service.d.ts.map +1 -1
  272. package/dist/storage/adapters/local-storage-adapter.d.ts +4 -0
  273. package/dist/storage/adapters/local-storage-adapter.d.ts.map +1 -1
  274. package/dist/storage/adapters/local-storage-adapter.js +28 -6
  275. package/dist/types/capabilities.d.ts +1 -0
  276. package/dist/types/capabilities.d.ts.map +1 -1
  277. package/dist/types/capabilities.js +3 -0
  278. package/dist/types/config.d.ts +16 -1
  279. package/dist/types/config.d.ts.map +1 -1
  280. package/dist/types/schemas.d.ts +27 -0
  281. package/dist/types/schemas.d.ts.map +1 -1
  282. package/dist/types/schemas.js +3 -1
  283. package/dist/utils/logger.d.ts +8 -6
  284. package/dist/utils/logger.d.ts.map +1 -1
  285. package/dist/utils/logger.js +11 -2
  286. package/dist/utils/mime-detect.d.ts.map +1 -1
  287. package/dist/utils/mime-detect.js +21 -6
  288. package/dist/vite/index.d.ts.map +1 -1
  289. package/dist/vite/index.js +4 -5
  290. package/package.json +9 -5
@@ -127,7 +127,7 @@ export const organizationsInvitationsRouter = new Hono()
127
127
  }, 403);
128
128
  }
129
129
  const body = c.req.valid('json');
130
- const deleted = await databaseAdapter.deleteInvitation(body.invitationId);
130
+ const deleted = await databaseAdapter.deleteInvitation(body.invitationId, auth.organizationId);
131
131
  if (!deleted) {
132
132
  return c.json({ success: false, error: 'Invitation not found' }, 404);
133
133
  }
@@ -1 +1 @@
1
- {"version":3,"file":"organizations-members.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/api/routes/organizations-members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAQ5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,0BAA0B,EAAE,IAAI,CAAC,QAAQ,CA+RpD,CAAC"}
1
+ {"version":3,"file":"organizations-members.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/api/routes/organizations-members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAK5B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,0BAA0B,EAAE,IAAI,CAAC,QAAQ,CA4RpD,CAAC"}
@@ -4,6 +4,7 @@ export * from '../cache/index.js';
4
4
  export * from '../email/index.js';
5
5
  export { AuthError, type AuthErrorCode } from '../auth/auth-errors.js';
6
6
  export { createCMSConfig } from '../config.js';
7
+ export { cmsLogger, setLogger, type Logger } from '../utils/logger.js';
7
8
  export { CMSEngine } from '../engine.js';
8
9
  export { createCMSHook, __notifyAphexConfigChanged, type CMSInstances } from '../hooks.js';
9
10
  export * from '../db/interfaces/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/server/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxF,cAAc,wBAAwB,CAAC;AAGvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKzD,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI5D,OAAO,EACN,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,KAAK,QAAQ,EACb,MAAM,aAAa,CAAC;AAGrB,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,EACN,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/server/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAE/B,cAAc,kBAAkB,CAAC;AAEjC,cAAc,gBAAgB,CAAC;AAE/B,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,0BAA0B,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAGxF,cAAc,wBAAwB,CAAC;AAGvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAG7C,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAKzD,OAAO,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAI5D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG/F,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGhE,OAAO,EACN,oBAAoB,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACN,QAAQ,EACR,cAAc,EACd,WAAW,EACX,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,MAAM,oBAAoB,CAAC"}
@@ -9,6 +9,8 @@ export * from '../email/index.js';
9
9
  export { AuthError } from '../auth/auth-errors.js';
10
10
  // Configuration system
11
11
  export { createCMSConfig } from '../config.js';
12
+ // Logger
13
+ export { cmsLogger, setLogger } from '../utils/logger.js';
12
14
  // CMS Engine
13
15
  export { CMSEngine } from '../engine.js';
14
16
  // Hooks integration (SvelteKit server hooks)
@@ -1 +1 @@
1
- {"version":3,"file":"asset-service.d.ts","sourceRoot":"","sources":["../../src/lib/services/asset-service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACnB,CAAC;CACF;AAED,MAAM,WAAW,YAAY;IAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,YAAY;IAEvB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;gBADR,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,eAAe;IAGlC;;OAEG;IACG,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAoFhF;;OAEG;IACG,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAI9E;;;OAGG;IACG,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAmB5D;;OAEG;IACG,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAItF;;;;;OAKG;IACG,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BvE;;OAEG;IACG,mBAAmB,CACxB,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,GACC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAIxB;;OAEG;IACG,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;QACpD,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;IAeF;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC;KAClB,CAAC;CAWF"}
1
+ {"version":3,"file":"asset-service.d.ts","sourceRoot":"","sources":["../../src/lib/services/asset-service.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAG5C,MAAM,WAAW,eAAe;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACnB,CAAC;CACF;AAED,MAAM,WAAW,YAAY;IAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,qBAAa,YAAY;IAEvB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;gBADR,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE,eAAe;IAGlC;;OAEG;IACG,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC;IAsFhF;;OAEG;IACG,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAI9E;;;OAGG;IACG,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAmB5D;;OAEG;IACG,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAItF;;;;;OAKG;IACG,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2BvE;;OAEG;IACG,mBAAmB,CACxB,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,GACC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAIxB;;OAEG;IACG,aAAa,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC;QACpD,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;IAeF;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC;QACjB,QAAQ,EAAE,OAAO,CAAC;KAClB,CAAC;CAWF"}
@@ -27,7 +27,9 @@ export class AssetService {
27
27
  };
28
28
  if (assetType === 'image') {
29
29
  try {
30
- const imageMetadata = await sharp(data.buffer).metadata();
30
+ const imageMetadata = await sharp(data.buffer, {
31
+ limitInputPixels: 100_000_000
32
+ }).metadata();
31
33
  width = imageMetadata.width;
32
34
  height = imageMetadata.height;
33
35
  // Merge image metadata with field metadata
@@ -41,7 +43,7 @@ export class AssetService {
41
43
  hasAlpha: imageMetadata.hasAlpha
42
44
  };
43
45
  // Add dominant color
44
- const stats = await sharp(data.buffer).stats();
46
+ const stats = await sharp(data.buffer, { limitInputPixels: 100_000_000 }).stats();
45
47
  metadata.dominantColor = stats.dominant;
46
48
  }
47
49
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"references-service.d.ts","sourceRoot":"","sources":["../../src/lib/services/references-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IACjB,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAEpD;;;OAGG;IACG,iBAAiB,CACtB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,QAAQ,EAAE,UAAU,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;;OAOG;IACG,eAAe,CACpB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,UAAU,EAAE,EACrB,gBAAgB,EAAE,MAAM,OAAO,CAC9B,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAClD,GACC,OAAO,CAAC,IAAI,CAAC;CAwBhB"}
1
+ {"version":3,"file":"references-service.d.ts","sourceRoot":"","sources":["../../src/lib/services/references-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAInD;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IACjB,OAAO,CAAC,eAAe;gBAAf,eAAe,EAAE,eAAe;IAEpD;;;OAGG;IACG,iBAAiB,CACtB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,UAAU,GAAG,IAAI,EACzB,QAAQ,EAAE,UAAU,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;;OAOG;IACG,eAAe,CACpB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,UAAU,EAAE,EACrB,gBAAgB,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC,GACjF,OAAO,CAAC,IAAI,CAAC;CAwBhB"}
@@ -6,6 +6,10 @@ export declare class LocalStorageAdapter implements StorageAdapter {
6
6
  readonly name = "local";
7
7
  private config;
8
8
  constructor(config: StorageConfig);
9
+ /**
10
+ * Strip path traversal sequences, keeping only the base filename.
11
+ */
12
+ private sanitizeFilename;
9
13
  /**
10
14
  * Generate unique filename preserving original name
11
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"local-storage-adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/storage/adapters/local-storage-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,MAAM,uBAAuB,CAAC;AAK/B;;GAEG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IACzD,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,MAAM,CAA0B;gBAE5B,MAAM,EAAE,aAAa;IASjC;;OAEG;YACW,sBAAsB;IAcpC;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;YACW,gBAAgB;IAU9B;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAoCvD;;;OAGG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK9C;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU5C;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5C;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAM5B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAyB/E;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAYnC"}
1
+ {"version":3,"file":"local-storage-adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/storage/adapters/local-storage-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,cAAc,EACd,aAAa,EACb,cAAc,EACd,WAAW,EACX,MAAM,uBAAuB,CAAC;AAK/B;;GAEG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IACzD,QAAQ,CAAC,IAAI,WAAW;IACxB,OAAO,CAAC,MAAM,CAA0B;gBAE5B,MAAM,EAAE,aAAa;IASjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;YACW,sBAAsB;IAepC;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;YACW,gBAAgB;IAU9B;;OAEG;IACG,KAAK,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IAoCvD;;;OAGG;IACG,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU9C;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAe5C;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc5C;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAM5B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAyB/E;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAYnC"}
@@ -1,6 +1,6 @@
1
1
  // Pure local file system storage adapter - no database operations
2
2
  import { writeFile, mkdir, unlink, stat, readdir } from 'fs/promises';
3
- import { join, dirname } from 'path';
3
+ import { join, dirname, resolve, basename } from 'path';
4
4
  import { cmsLogger } from '../../utils/logger.js';
5
5
  const DEFAULT_MAX_FILE_SIZE = 10 * 1024 * 1024; // 10MB
6
6
  /**
@@ -17,12 +17,19 @@ export class LocalStorageAdapter {
17
17
  options: config.options || {}
18
18
  };
19
19
  }
20
+ /**
21
+ * Strip path traversal sequences, keeping only the base filename.
22
+ */
23
+ sanitizeFilename(filename) {
24
+ return basename(filename).replace(/^\.+/, '_');
25
+ }
20
26
  /**
21
27
  * Generate unique filename preserving original name
22
28
  */
23
29
  async generateUniqueFilename(originalFilename) {
24
- const { name, ext } = this.parseFilename(originalFilename);
25
- let filename = originalFilename;
30
+ const safe = this.sanitizeFilename(originalFilename);
31
+ const { name, ext } = this.parseFilename(safe);
32
+ let filename = safe;
26
33
  let counter = 1;
27
34
  // Check if file exists on disk
28
35
  while (await this.fileExistsOnDisk(filename)) {
@@ -92,15 +99,25 @@ export class LocalStorageAdapter {
92
99
  * Used by API endpoint to serve files
93
100
  */
94
101
  async getObject(path) {
102
+ const resolved = resolve(path);
103
+ const base = resolve(this.config.basePath);
104
+ if (!resolved.startsWith(base + '/') && resolved !== base) {
105
+ throw new Error('Access denied: path outside storage directory');
106
+ }
95
107
  const { readFile } = await import('fs/promises');
96
- return await readFile(path);
108
+ return await readFile(resolved);
97
109
  }
98
110
  /**
99
111
  * Delete a file from storage
100
112
  */
101
113
  async delete(path) {
102
114
  try {
103
- await unlink(path);
115
+ const resolved = resolve(path);
116
+ const base = resolve(this.config.basePath);
117
+ if (!resolved.startsWith(base + '/') && resolved !== base) {
118
+ throw new Error('Access denied: path outside storage directory');
119
+ }
120
+ await unlink(resolved);
104
121
  return true;
105
122
  }
106
123
  catch (error) {
@@ -113,7 +130,12 @@ export class LocalStorageAdapter {
113
130
  */
114
131
  async exists(path) {
115
132
  try {
116
- await stat(path);
133
+ const resolved = resolve(path);
134
+ const base = resolve(this.config.basePath);
135
+ if (!resolved.startsWith(base + '/') && resolved !== base) {
136
+ return false;
137
+ }
138
+ await stat(resolved);
117
139
  return true;
118
140
  }
119
141
  catch {
@@ -61,6 +61,7 @@ export interface NewRole {
61
61
  * Used by migration, org-creation, and the runtime seeder.
62
62
  */
63
63
  export declare function buildBuiltinRoleRows(organizationId: string): NewRole[];
64
+ export declare function isInstanceRole(auth: Auth): boolean;
64
65
  /**
65
66
  * Check whether an Auth already has a capability.
66
67
  *
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/lib/types/capabilities.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAEnB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GAEpB,YAAY,GACZ,cAAc,GACd,cAAc,GAEd,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,eAAe,GACf,aAAa,GACb,cAAc,CAAC;AAMlB;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,UAAU,EAgBxC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EAKzD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACrC,gBAAgB,EAChB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CA4C5D,CAAC;AAeF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,CAK/E;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,CAQtE;AAWD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAEzE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,CAoCvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAInE;AAID;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B,4EAA4E;IAC5E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,0EAA0E;IAC1E,YAAY,EAAE,UAAU,EAAE,CAAC;CAC3B"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/lib/types/capabilities.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAEnB,eAAe,GACf,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GAEpB,YAAY,GACZ,cAAc,GACd,cAAc,GAEd,eAAe,GACf,eAAe,GACf,mBAAmB,GACnB,eAAe,GACf,aAAa,GACb,cAAc,CAAC;AAMlB;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,UAAU,EAgBxC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EAKzD,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACrC,gBAAgB,EAChB;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CA4C5D,CAAC;AAeF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,CAK/E;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,EAAE,CAQtE;AAWD,wBAAgB,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAElD;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAEzE;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,CAoCvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAInE;AAID;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B,4EAA4E;IAC5E,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,0EAA0E;IAC1E,YAAY,EAAE,UAAU,EAAE,CAAC;CAC3B"}
@@ -143,6 +143,9 @@ export function buildBuiltinRoleRows(organizationId) {
143
143
  * even if an admin accidentally locks their own role down.
144
144
  */
145
145
  const INSTANCE_ROLE_OVERRIDES = new Set(['super_admin', 'admin']);
146
+ export function isInstanceRole(auth) {
147
+ return auth.type === 'session' && INSTANCE_ROLE_OVERRIDES.has(auth.user.role);
148
+ }
146
149
  /**
147
150
  * Check whether an Auth already has a capability.
148
151
  *
@@ -7,6 +7,7 @@ import type { EmailAdapter } from '../email/index.js';
7
7
  import type { GraphQLConfig } from '../graphql/index.js';
8
8
  import type { AphexEnv } from '../server/api/index.js';
9
9
  import type { SchemaType } from './schemas.js';
10
+ import type { Logger } from '../utils/logger.js';
10
11
  export type { GraphQLConfig };
11
12
  export interface CMSConfig {
12
13
  schemaTypes: SchemaType[];
@@ -32,9 +33,23 @@ export interface CMSConfig {
32
33
  */
33
34
  graphql?: boolean | GraphQLConfig;
34
35
  /**
35
- * Log level for CMS output. Defaults to 'debug' in dev, 'warn' in production.
36
+ * Log level for the built-in console logger. Defaults to 'debug' in dev, 'warn' in production.
37
+ * Ignored when a custom `logger` is provided.
36
38
  */
37
39
  logLevel?: 'debug' | 'info' | 'warn' | 'error' | 'none';
40
+ /**
41
+ * Custom logger instance (e.g. pino). Must implement debug/info/warn/error.
42
+ * When provided, replaces the built-in console logger entirely.
43
+ *
44
+ * @example
45
+ * ```ts
46
+ * import pino from 'pino';
47
+ * export default createCMSConfig({
48
+ * logger: pino({ level: 'info' }),
49
+ * });
50
+ * ```
51
+ */
52
+ logger?: Logger;
38
53
  auth?: {
39
54
  provider: AuthProvider;
40
55
  loginUrl?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/types/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,MAAM,WAAW,SAAS;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE;YACV,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,OAAO,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,KAAK,CAAC,EAAE;YACP,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC/B,CAAC;KACF,CAAC;IACF;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IAClC;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxD,IAAI,CAAC,EAAE;QACN,QAAQ,EAAE,YAAY,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,EAAE;QACV;;;;WAIG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;CACpC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/types/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAE9C,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,MAAM,WAAW,SAAS;IACzB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE;YACV,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,OAAO,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,KAAK,CAAC,EAAE;YACP,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;SAC/B,CAAC;KACF,CAAC;IACF;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxD;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACN,QAAQ,EAAE,YAAY,CAAC;QACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF;;;;OAIG;IACH,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE;QACZ,WAAW,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,CAAC,EAAE;QACV;;;;WAIG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC;CACpC"}
@@ -146,7 +146,28 @@ export interface TypeReference {
146
146
  to?: Array<{
147
147
  type: string;
148
148
  }>;
149
+ styles?: Array<{
150
+ title: string;
151
+ value: string;
152
+ }>;
153
+ lists?: Array<{
154
+ title: string;
155
+ value: string;
156
+ }>;
157
+ marks?: {
158
+ decorators?: Array<{
159
+ title: string;
160
+ value: string;
161
+ }>;
162
+ annotations?: AnnotationDefinition[];
163
+ };
164
+ of?: Array<{
165
+ type: string;
166
+ title?: string;
167
+ fields?: Field[];
168
+ }>;
149
169
  }
170
+ export declare function isBlockArray(field: ArrayField): boolean;
150
171
  export interface ArrayField extends BaseField {
151
172
  type: 'array';
152
173
  of: TypeReference[];
@@ -186,6 +207,12 @@ export interface ReferenceField extends BaseField {
186
207
  }>;
187
208
  initialValue?: any | (() => any | Promise<any>);
188
209
  }
210
+ export interface AnnotationDefinition {
211
+ name: string;
212
+ title?: string;
213
+ icon?: any;
214
+ fields: Field[];
215
+ }
189
216
  export type Field = StringField | TextField | NumberField | BooleanField | SlugField | URLField | ImageField | FileField | ArrayField | ObjectField | DateField | DateTimeField | ReferenceField;
190
217
  export interface PreviewConfig {
191
218
  select?: {
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/types/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/lib/types/schemas.ts"],"names":[],"mappings":"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"}
@@ -1 +1,3 @@
1
- export {};
1
+ export function isBlockArray(field) {
2
+ return field.of.some((ref) => ref.type === 'block');
3
+ }
@@ -1,9 +1,11 @@
1
1
  export type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'none';
2
+ export interface Logger {
3
+ debug(...args: any[]): void;
4
+ info(...args: any[]): void;
5
+ warn(...args: any[]): void;
6
+ error(...args: any[]): void;
7
+ }
2
8
  export declare function setLogLevel(level: LogLevel): void;
3
- export declare const cmsLogger: {
4
- debug: (...args: any[]) => void;
5
- info: (...args: any[]) => void;
6
- warn: (...args: any[]) => void;
7
- error: (...args: any[]) => void;
8
- };
9
+ export declare function setLogger(logger: Logger): void;
10
+ export declare const cmsLogger: Logger;
9
11
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/utils/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAQpE,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,QAE1C;AAoBD,eAAO,MAAM,SAAS;qBAjBJ,GAAG,EAAE;oBAAL,GAAG,EAAE;oBAAL,GAAG,EAAE;qBAAL,GAAG,EAAE;CAsBtB,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/lib/utils/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAEpE,MAAM,WAAW,MAAM;IACtB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;CAC5B;AAOD,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,QAE1C;AA6BD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,QAEvC;AAED,eAAO,MAAM,SAAS,EAAE,MAKvB,CAAC"}
@@ -1,5 +1,4 @@
1
1
  const LEVELS = { debug: 0, info: 1, warn: 2, error: 3, none: 4 };
2
- // Default based on environment; overridden by CMSConfig.logLevel via setLogLevel()
3
2
  let currentLevel = typeof process !== 'undefined' && process.env?.NODE_ENV === 'production' ? 'warn' : 'debug';
4
3
  export function setLogLevel(level) {
5
4
  currentLevel = level;
@@ -21,9 +20,19 @@ function createMethod(level, consoleFn) {
21
20
  }
22
21
  };
23
22
  }
24
- export const cmsLogger = {
23
+ const defaultLogger = {
25
24
  debug: createMethod('debug', console.log),
26
25
  info: createMethod('info', console.log),
27
26
  warn: createMethod('warn', console.warn),
28
27
  error: createMethod('error', console.error)
29
28
  };
29
+ let activeLogger = defaultLogger;
30
+ export function setLogger(logger) {
31
+ activeLogger = logger;
32
+ }
33
+ export const cmsLogger = {
34
+ debug: (...args) => activeLogger.debug(...args),
35
+ info: (...args) => activeLogger.info(...args),
36
+ warn: (...args) => activeLogger.warn(...args),
37
+ error: (...args) => activeLogger.error(...args)
38
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"mime-detect.d.ts","sourceRoot":"","sources":["../../src/lib/utils/mime-detect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuG5D;AAgED,MAAM,WAAW,qBAAqB;IACrC,oHAAoH;IACpH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,qBAA0B,GACjC,oBAAoB,CA8EtB"}
1
+ {"version":3,"file":"mime-detect.d.ts","sourceRoot":"","sources":["../../src/lib/utils/mime-detect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuG5D;AA2ED,MAAM,WAAW,qBAAqB;IACrC,oHAAoH;IACpH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,qBAA0B,GACjC,oBAAoB,CAkFtB"}
@@ -110,7 +110,11 @@ const BLOCKED_MIME_TYPES = new Set([
110
110
  'application/x-shellscript',
111
111
  'application/wasm',
112
112
  'application/x-msdos-program',
113
- 'application/x-msdownload'
113
+ 'application/x-msdownload',
114
+ 'text/html',
115
+ 'application/xhtml+xml',
116
+ 'text/xml',
117
+ 'application/xml'
114
118
  ]);
115
119
  /**
116
120
  * Blocked file extensions (regardless of MIME type).
@@ -144,18 +148,29 @@ const BLOCKED_EXTENSIONS = new Set([
144
148
  '.reg',
145
149
  '.inf',
146
150
  '.hta',
147
- '.wasm'
151
+ '.wasm',
152
+ '.html',
153
+ '.htm',
154
+ '.xhtml',
155
+ '.shtml',
156
+ '.xml',
157
+ '.xsl',
158
+ '.mhtml'
148
159
  ]);
149
160
  /**
150
161
  * Validate an uploaded file's actual content against allowed types.
151
162
  * Checks magic bytes, not just the client-provided MIME type.
152
163
  */
153
164
  export function validateFile(buffer, filename, clientMimeType, options = {}) {
154
- const ext = filename.toLowerCase().substring(filename.lastIndexOf('.'));
165
+ const lowerName = filename.toLowerCase();
166
+ const ext = lowerName.substring(lowerName.lastIndexOf('.'));
155
167
  const detectedMimeType = detectMimeType(buffer);
156
- // 1. Block dangerous extensions
157
- if (BLOCKED_EXTENSIONS.has(ext)) {
158
- return { valid: false, error: `File type "${ext}" is not allowed`, detectedMimeType };
168
+ // 1. Block dangerous extensions (check all extensions to prevent double-extension bypass)
169
+ const allExts = lowerName.match(/\.[^.]+/g) || [];
170
+ for (const e of allExts) {
171
+ if (BLOCKED_EXTENSIONS.has(e)) {
172
+ return { valid: false, error: `File type "${e}" is not allowed`, detectedMimeType };
173
+ }
159
174
  }
160
175
  // 2. Block dangerous MIME types (detected from actual content)
161
176
  if (detectedMimeType && BLOCKED_MIME_TYPES.has(detectedMimeType)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/vite/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAElD,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC5B,8DAA8D;IAC9D,GAAG,CAAC,EAAE,eAAe,GAAG,KAAK,CAAC;IAC9B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,MAAM,CAiF9D;AAiJD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,MAAM,EAAE,CAoB1D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/vite/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAElD,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC5B,8DAA8D;IAC9D,GAAG,CAAC,EAAE,eAAe,GAAG,KAAK,CAAC;IAC9B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6EAA6E;IAC7E,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,yDAAyD;IACzD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,MAAM,CAiF9D;AAgJD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,KAAK,CAAC,OAAO,GAAE,YAAiB,GAAG,MAAM,EAAE,CAoB1D"}
@@ -105,7 +105,9 @@ function aphexDayjsAlias() {
105
105
  name: 'aphex:dayjs-alias',
106
106
  config() {
107
107
  const dayjsEsm = require.resolve('dayjs/esm/index.js');
108
- const dayjsEsmPluginDir = dayjsEsm.replace(/\/index\.js$/, '/plugin');
108
+ const dayjsEsmPluginDir = dayjsEsm
109
+ .replace(/\\index\.js$/, '\\plugin')
110
+ .replace(/\/index\.js$/, '/plugin');
109
111
  return {
110
112
  resolve: {
111
113
  alias: [
@@ -219,10 +221,7 @@ function aphexWatchUnfilter() {
219
221
  return {
220
222
  server: {
221
223
  watch: {
222
- ignored: [
223
- '!**/node_modules/@aphexcms/cms-core/**',
224
- '!**/node_modules/@aphexcms/ui/**'
225
- ]
224
+ ignored: ['!**/node_modules/@aphexcms/cms-core/**', '!**/node_modules/@aphexcms/ui/**']
226
225
  }
227
226
  }
228
227
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aphexcms/cms-core",
3
- "version": "8.1.0",
3
+ "version": "9.1.0",
4
4
  "description": "Aphex CMS Core - A Sanity-style CMS with ports and adapters architecture",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -81,7 +81,7 @@
81
81
  "svelte": "^5.44.0",
82
82
  "tailwind-merge": "^3.4.0",
83
83
  "tailwind-variants": "^3.2.2",
84
- "@aphexcms/ui": "0.7.0"
84
+ "@aphexcms/ui": "^0.8.0"
85
85
  },
86
86
  "peerDependenciesMeta": {
87
87
  "graphql": {
@@ -102,12 +102,16 @@
102
102
  "@dnd-kit/helpers": "^0.3.0",
103
103
  "@dnd-kit/svelte": "^0.3.0",
104
104
  "@hono/zod-validator": "^0.7.6",
105
+ "@tiptap/core": "^3.23.4",
106
+ "@tiptap/extension-link": "^3.23.4",
107
+ "@tiptap/extension-underline": "^3.23.4",
108
+ "@tiptap/pm": "^3.23.4",
109
+ "@tiptap/starter-kit": "^3.23.4",
105
110
  "cac": "^6.7.14",
106
111
  "dayjs": "^1.11.19",
107
112
  "esbuild": "^0.27.0",
108
113
  "hono": "^4.12.15",
109
114
  "picocolors": "^1.1.1",
110
- "s3mini": "^0.7.0",
111
115
  "sharp": "^0.34.5",
112
116
  "svelte-sonner": "^1.0.7",
113
117
  "tsx": "^4.20.6",
@@ -118,7 +122,7 @@
118
122
  "@eslint/js": "^9.39.1",
119
123
  "@internationalized/date": "^3.10.0",
120
124
  "@sveltejs/adapter-auto": "^7.0.0",
121
- "@sveltejs/kit": "^2.49.0",
125
+ "@sveltejs/kit": "^2.59.1",
122
126
  "@sveltejs/package": "^2.5.6",
123
127
  "@sveltejs/vite-plugin-svelte": "^6.2.1",
124
128
  "@tailwindcss/vite": "^4.1.17",
@@ -135,7 +139,7 @@
135
139
  "tailwindcss": "^4.1.17",
136
140
  "typescript": "^5.9.3",
137
141
  "typescript-eslint": "^8.48.0",
138
- "vite": "^7.2.4"
142
+ "vite": "^7.3.3"
139
143
  },
140
144
  "scripts": {
141
145
  "build": "svelte-package && tsc && node ../../scripts/fix-imports.js ./dist",