@aphexcms/cms-core 9.8.1 → 9.10.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 (259) hide show
  1. package/dist/api/organizations.d.ts +2 -1
  2. package/dist/api/organizations.d.ts.map +1 -1
  3. package/dist/api/organizations.js +2 -1
  4. package/dist/api/schemas/documents.d.ts +1 -0
  5. package/dist/api/schemas/documents.d.ts.map +1 -1
  6. package/dist/api/schemas/documents.js +1 -0
  7. package/dist/api/schemas/jobs.d.ts +15 -0
  8. package/dist/api/schemas/jobs.d.ts.map +1 -0
  9. package/dist/api/schemas/jobs.js +17 -0
  10. package/dist/api/schemas/user.d.ts.map +1 -1
  11. package/dist/api/schemas/user.js +6 -2
  12. package/dist/auth/account-deletion.d.ts +35 -0
  13. package/dist/auth/account-deletion.d.ts.map +1 -0
  14. package/dist/auth/account-deletion.js +65 -0
  15. package/dist/auth/bootstrap.d.ts +104 -0
  16. package/dist/auth/bootstrap.d.ts.map +1 -0
  17. package/dist/auth/bootstrap.js +164 -0
  18. package/dist/auth/instance-state.d.ts +13 -0
  19. package/dist/auth/instance-state.d.ts.map +1 -0
  20. package/dist/auth/instance-state.js +30 -0
  21. package/dist/auth/invitation-status.d.ts +25 -0
  22. package/dist/auth/invitation-status.d.ts.map +1 -0
  23. package/dist/auth/invitation-status.js +41 -0
  24. package/dist/auth/sign-up-policy.d.ts +62 -0
  25. package/dist/auth/sign-up-policy.d.ts.map +1 -0
  26. package/dist/auth/sign-up-policy.js +120 -0
  27. package/dist/components/AdminApp.svelte +83 -6
  28. package/dist/components/AdminApp.svelte.d.ts.map +1 -1
  29. package/dist/components/admin/ActivityView.svelte +263 -13
  30. package/dist/components/admin/ActivityView.svelte.d.ts +10 -1
  31. package/dist/components/admin/ActivityView.svelte.d.ts.map +1 -1
  32. package/dist/db/interfaces/document.d.ts +9 -0
  33. package/dist/db/interfaces/document.d.ts.map +1 -1
  34. package/dist/db/interfaces/events.d.ts +29 -2
  35. package/dist/db/interfaces/events.d.ts.map +1 -1
  36. package/dist/db/interfaces/index.d.ts +1 -0
  37. package/dist/db/interfaces/index.d.ts.map +1 -1
  38. package/dist/db/interfaces/index.js +1 -0
  39. package/dist/db/interfaces/instance.d.ts +29 -0
  40. package/dist/db/interfaces/instance.d.ts.map +1 -1
  41. package/dist/db/interfaces/instance.js +8 -1
  42. package/dist/events/built-in-consumers.d.ts +20 -0
  43. package/dist/events/built-in-consumers.d.ts.map +1 -0
  44. package/dist/events/built-in-consumers.js +49 -0
  45. package/dist/events/catalog.d.ts +16 -0
  46. package/dist/events/catalog.d.ts.map +1 -1
  47. package/dist/events/catalog.js +17 -0
  48. package/dist/events/consumer.d.ts +14 -0
  49. package/dist/events/consumer.d.ts.map +1 -1
  50. package/dist/events/consumer.js +1 -0
  51. package/dist/events/emit.d.ts +23 -0
  52. package/dist/events/emit.d.ts.map +1 -1
  53. package/dist/events/emit.js +32 -1
  54. package/dist/events/index.d.ts +2 -0
  55. package/dist/events/index.d.ts.map +1 -1
  56. package/dist/events/index.js +2 -0
  57. package/dist/field-validation/utils.d.ts +27 -4
  58. package/dist/field-validation/utils.d.ts.map +1 -1
  59. package/dist/field-validation/utils.js +78 -10
  60. package/dist/index.d.ts +1 -0
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +3 -0
  63. package/dist/jobs/run-batch.d.ts +7 -1
  64. package/dist/jobs/run-batch.d.ts.map +1 -1
  65. package/dist/jobs/run-batch.js +3 -1
  66. package/dist/lib/api/organizations.d.ts +2 -1
  67. package/dist/lib/api/organizations.d.ts.map +1 -1
  68. package/dist/lib/api/organizations.js +2 -1
  69. package/dist/lib/api/organizations.js.map +1 -1
  70. package/dist/lib/api/schemas/api-keys.d.ts +4 -4
  71. package/dist/lib/api/schemas/documents.d.ts +1 -0
  72. package/dist/lib/api/schemas/documents.d.ts.map +1 -1
  73. package/dist/lib/api/schemas/documents.js +1 -0
  74. package/dist/lib/api/schemas/documents.js.map +1 -1
  75. package/dist/lib/api/schemas/jobs.d.ts +15 -0
  76. package/dist/lib/api/schemas/jobs.d.ts.map +1 -0
  77. package/dist/lib/api/schemas/jobs.js +18 -0
  78. package/dist/lib/api/schemas/jobs.js.map +1 -0
  79. package/dist/lib/api/schemas/user.d.ts.map +1 -1
  80. package/dist/lib/api/schemas/user.js +6 -2
  81. package/dist/lib/api/schemas/user.js.map +1 -1
  82. package/dist/lib/auth/account-deletion.d.ts +35 -0
  83. package/dist/lib/auth/account-deletion.d.ts.map +1 -0
  84. package/dist/lib/auth/account-deletion.js +66 -0
  85. package/dist/lib/auth/account-deletion.js.map +1 -0
  86. package/dist/lib/auth/bootstrap.d.ts +104 -0
  87. package/dist/lib/auth/bootstrap.d.ts.map +1 -0
  88. package/dist/lib/auth/bootstrap.js +165 -0
  89. package/dist/lib/auth/bootstrap.js.map +1 -0
  90. package/dist/lib/auth/instance-state.d.ts +13 -0
  91. package/dist/lib/auth/instance-state.d.ts.map +1 -0
  92. package/dist/lib/auth/instance-state.js +31 -0
  93. package/dist/lib/auth/instance-state.js.map +1 -0
  94. package/dist/lib/auth/invitation-status.d.ts +25 -0
  95. package/dist/lib/auth/invitation-status.d.ts.map +1 -0
  96. package/dist/lib/auth/invitation-status.js +42 -0
  97. package/dist/lib/auth/invitation-status.js.map +1 -0
  98. package/dist/lib/auth/sign-up-policy.d.ts +62 -0
  99. package/dist/lib/auth/sign-up-policy.d.ts.map +1 -0
  100. package/dist/lib/auth/sign-up-policy.js +121 -0
  101. package/dist/lib/auth/sign-up-policy.js.map +1 -0
  102. package/dist/lib/db/interfaces/document.d.ts +9 -0
  103. package/dist/lib/db/interfaces/document.d.ts.map +1 -1
  104. package/dist/lib/db/interfaces/events.d.ts +29 -2
  105. package/dist/lib/db/interfaces/events.d.ts.map +1 -1
  106. package/dist/lib/db/interfaces/index.d.ts +1 -0
  107. package/dist/lib/db/interfaces/index.d.ts.map +1 -1
  108. package/dist/lib/db/interfaces/index.js +1 -0
  109. package/dist/lib/db/interfaces/index.js.map +1 -1
  110. package/dist/lib/db/interfaces/instance.d.ts +29 -0
  111. package/dist/lib/db/interfaces/instance.d.ts.map +1 -1
  112. package/dist/lib/db/interfaces/instance.js +8 -1
  113. package/dist/lib/db/interfaces/instance.js.map +1 -1
  114. package/dist/lib/events/built-in-consumers.d.ts +20 -0
  115. package/dist/lib/events/built-in-consumers.d.ts.map +1 -0
  116. package/dist/lib/events/built-in-consumers.js +50 -0
  117. package/dist/lib/events/built-in-consumers.js.map +1 -0
  118. package/dist/lib/events/catalog.d.ts +16 -0
  119. package/dist/lib/events/catalog.d.ts.map +1 -1
  120. package/dist/lib/events/catalog.js +17 -0
  121. package/dist/lib/events/catalog.js.map +1 -1
  122. package/dist/lib/events/consumer.d.ts +14 -0
  123. package/dist/lib/events/consumer.d.ts.map +1 -1
  124. package/dist/lib/events/consumer.js +1 -0
  125. package/dist/lib/events/consumer.js.map +1 -1
  126. package/dist/lib/events/emit.d.ts +23 -0
  127. package/dist/lib/events/emit.d.ts.map +1 -1
  128. package/dist/lib/events/emit.js +32 -1
  129. package/dist/lib/events/emit.js.map +1 -1
  130. package/dist/lib/events/index.d.ts +2 -0
  131. package/dist/lib/events/index.d.ts.map +1 -1
  132. package/dist/lib/events/index.js +2 -0
  133. package/dist/lib/events/index.js.map +1 -1
  134. package/dist/lib/field-validation/utils.d.ts +27 -4
  135. package/dist/lib/field-validation/utils.d.ts.map +1 -1
  136. package/dist/lib/field-validation/utils.js +78 -10
  137. package/dist/lib/field-validation/utils.js.map +1 -1
  138. package/dist/lib/index.d.ts +1 -0
  139. package/dist/lib/index.d.ts.map +1 -1
  140. package/dist/lib/index.js +3 -0
  141. package/dist/lib/index.js.map +1 -1
  142. package/dist/lib/jobs/run-batch.d.ts +7 -1
  143. package/dist/lib/jobs/run-batch.d.ts.map +1 -1
  144. package/dist/lib/jobs/run-batch.js +3 -1
  145. package/dist/lib/jobs/run-batch.js.map +1 -1
  146. package/dist/lib/local-api/collection-api.d.ts +48 -1
  147. package/dist/lib/local-api/collection-api.d.ts.map +1 -1
  148. package/dist/lib/local-api/collection-api.js +110 -11
  149. package/dist/lib/local-api/collection-api.js.map +1 -1
  150. package/dist/lib/local-api/index.d.ts +1 -1
  151. package/dist/lib/local-api/index.d.ts.map +1 -1
  152. package/dist/lib/local-api/index.js +1 -1
  153. package/dist/lib/local-api/index.js.map +1 -1
  154. package/dist/lib/plugins/resolver.d.ts.map +1 -1
  155. package/dist/lib/plugins/resolver.js +7 -1
  156. package/dist/lib/plugins/resolver.js.map +1 -1
  157. package/dist/lib/schema-utils/utils.d.ts +31 -1
  158. package/dist/lib/schema-utils/utils.d.ts.map +1 -1
  159. package/dist/lib/schema-utils/utils.js +68 -0
  160. package/dist/lib/schema-utils/utils.js.map +1 -1
  161. package/dist/lib/server/api/rate-limit.d.ts +38 -0
  162. package/dist/lib/server/api/rate-limit.d.ts.map +1 -0
  163. package/dist/lib/server/api/rate-limit.js +71 -0
  164. package/dist/lib/server/api/rate-limit.js.map +1 -0
  165. package/dist/lib/server/api/routes/documents-by-id.d.ts.map +1 -1
  166. package/dist/lib/server/api/routes/documents-by-id.js +10 -1
  167. package/dist/lib/server/api/routes/documents-by-id.js.map +1 -1
  168. package/dist/lib/server/api/routes/documents-publish.d.ts.map +1 -1
  169. package/dist/lib/server/api/routes/documents-publish.js +10 -0
  170. package/dist/lib/server/api/routes/documents-publish.js.map +1 -1
  171. package/dist/lib/server/api/routes/documents.d.ts.map +1 -1
  172. package/dist/lib/server/api/routes/documents.js +11 -0
  173. package/dist/lib/server/api/routes/documents.js.map +1 -1
  174. package/dist/lib/server/api/routes/jobs.d.ts.map +1 -1
  175. package/dist/lib/server/api/routes/jobs.js +174 -20
  176. package/dist/lib/server/api/routes/jobs.js.map +1 -1
  177. package/dist/lib/server/api/routes/organizations-by-id.d.ts.map +1 -1
  178. package/dist/lib/server/api/routes/organizations-by-id.js +61 -3
  179. package/dist/lib/server/api/routes/organizations-by-id.js.map +1 -1
  180. package/dist/lib/server/api/routes/organizations-invitations.d.ts.map +1 -1
  181. package/dist/lib/server/api/routes/organizations-invitations.js +31 -2
  182. package/dist/lib/server/api/routes/organizations-invitations.js.map +1 -1
  183. package/dist/lib/server/api/routes/resolve-organization-names.d.ts +17 -0
  184. package/dist/lib/server/api/routes/resolve-organization-names.d.ts.map +1 -0
  185. package/dist/lib/server/api/routes/resolve-organization-names.js +26 -0
  186. package/dist/lib/server/api/routes/resolve-organization-names.js.map +1 -0
  187. package/dist/lib/server/api/routes/user.d.ts +0 -8
  188. package/dist/lib/server/api/routes/user.d.ts.map +1 -1
  189. package/dist/lib/server/api/routes/user.js +144 -0
  190. package/dist/lib/server/api/routes/user.js.map +1 -1
  191. package/dist/lib/server/index.d.ts +6 -1
  192. package/dist/lib/server/index.d.ts.map +1 -1
  193. package/dist/lib/server/index.js +9 -1
  194. package/dist/lib/server/index.js.map +1 -1
  195. package/dist/lib/type-gen.d.ts.map +1 -1
  196. package/dist/lib/type-gen.js +11 -5
  197. package/dist/lib/type-gen.js.map +1 -1
  198. package/dist/lib/types/capabilities.d.ts +14 -0
  199. package/dist/lib/types/capabilities.d.ts.map +1 -1
  200. package/dist/lib/types/capabilities.js +37 -18
  201. package/dist/lib/types/capabilities.js.map +1 -1
  202. package/dist/lib/types/events.d.ts +27 -4
  203. package/dist/lib/types/events.d.ts.map +1 -1
  204. package/dist/lib/types/filters.d.ts +31 -0
  205. package/dist/lib/types/filters.d.ts.map +1 -1
  206. package/dist/lib/types/schemas.d.ts +14 -0
  207. package/dist/lib/types/schemas.d.ts.map +1 -1
  208. package/dist/lib/utils/fetch-remote-file.d.ts.map +1 -1
  209. package/dist/lib/utils/fetch-remote-file.js +32 -3
  210. package/dist/lib/utils/fetch-remote-file.js.map +1 -1
  211. package/dist/local-api/collection-api.d.ts +48 -1
  212. package/dist/local-api/collection-api.d.ts.map +1 -1
  213. package/dist/local-api/collection-api.js +110 -11
  214. package/dist/local-api/index.d.ts +1 -1
  215. package/dist/local-api/index.d.ts.map +1 -1
  216. package/dist/local-api/index.js +1 -1
  217. package/dist/plugins/resolver.d.ts.map +1 -1
  218. package/dist/plugins/resolver.js +7 -1
  219. package/dist/schema-utils/utils.d.ts +31 -1
  220. package/dist/schema-utils/utils.d.ts.map +1 -1
  221. package/dist/schema-utils/utils.js +68 -0
  222. package/dist/server/api/rate-limit.d.ts +38 -0
  223. package/dist/server/api/rate-limit.d.ts.map +1 -0
  224. package/dist/server/api/rate-limit.js +70 -0
  225. package/dist/server/api/routes/documents-by-id.d.ts.map +1 -1
  226. package/dist/server/api/routes/documents-by-id.js +10 -1
  227. package/dist/server/api/routes/documents-publish.d.ts.map +1 -1
  228. package/dist/server/api/routes/documents-publish.js +10 -0
  229. package/dist/server/api/routes/documents.d.ts.map +1 -1
  230. package/dist/server/api/routes/documents.js +11 -0
  231. package/dist/server/api/routes/jobs.d.ts.map +1 -1
  232. package/dist/server/api/routes/jobs.js +174 -20
  233. package/dist/server/api/routes/organizations-by-id.d.ts.map +1 -1
  234. package/dist/server/api/routes/organizations-by-id.js +61 -3
  235. package/dist/server/api/routes/organizations-invitations.d.ts.map +1 -1
  236. package/dist/server/api/routes/organizations-invitations.js +31 -2
  237. package/dist/server/api/routes/resolve-organization-names.d.ts +17 -0
  238. package/dist/server/api/routes/resolve-organization-names.d.ts.map +1 -0
  239. package/dist/server/api/routes/resolve-organization-names.js +25 -0
  240. package/dist/server/api/routes/user.d.ts +0 -8
  241. package/dist/server/api/routes/user.d.ts.map +1 -1
  242. package/dist/server/api/routes/user.js +144 -0
  243. package/dist/server/index.d.ts +6 -1
  244. package/dist/server/index.d.ts.map +1 -1
  245. package/dist/server/index.js +9 -1
  246. package/dist/type-gen.d.ts.map +1 -1
  247. package/dist/type-gen.js +11 -5
  248. package/dist/types/capabilities.d.ts +14 -0
  249. package/dist/types/capabilities.d.ts.map +1 -1
  250. package/dist/types/capabilities.js +37 -18
  251. package/dist/types/events.d.ts +27 -4
  252. package/dist/types/events.d.ts.map +1 -1
  253. package/dist/types/filters.d.ts +31 -0
  254. package/dist/types/filters.d.ts.map +1 -1
  255. package/dist/types/schemas.d.ts +14 -0
  256. package/dist/types/schemas.d.ts.map +1 -1
  257. package/dist/utils/fetch-remote-file.d.ts.map +1 -1
  258. package/dist/utils/fetch-remote-file.js +32 -3
  259. package/package.json +6 -6
@@ -70,6 +70,7 @@ export function toConsumerJobHandler(handler, deps) {
70
70
  databaseAdapter,
71
71
  logger,
72
72
  settings,
73
+ assetService: deps.assetService ?? null,
73
74
  emailAdapter: deps.emailAdapter ?? null
74
75
  });
75
76
  };
@@ -1 +1 @@
1
- {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../../../src/lib/events/consumer.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,wFAAwF;AACxF,0FAA0F;AAC1F,qFAAqF;AACrF,2FAA2F;AAC3F,aAAa;AACb,EAAE;AACF,4FAA4F;AAC5F,4FAA4F;AAC5F,qFAAqF;AACrF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAErD,+CAA+C;AAC/C,MAAM,UAAU,eAAe,CAAC,UAAkB;IACjD,OAAO,GAAG,mBAAmB,GAAG,UAAU,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;KAC1B,CAAC;CACF,CAAC,CAAC;AAEH,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,KAAoB;IACrD,OAAO;QACN,KAAK,EAAE;YACN,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE;SACxC;KACD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CACnC,OAA6B,EAC7B,IAAyB;IAEzB,OAAO,KAAK,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE;QACjD,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,QAAQ,GAA2B;YACxC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC;SACjF,CAAC;QACF,MAAM,OAAO,CAAC;YACb,KAAK;YACL,eAAe;YACf,MAAM;YACN,QAAQ;YACR,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;SACvC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"consumer.js","sourceRoot":"","sources":["../../../src/lib/events/consumer.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,wFAAwF;AACxF,0FAA0F;AAC1F,qFAAqF;AACrF,2FAA2F;AAC3F,aAAa;AACb,EAAE;AACF,4FAA4F;AAC5F,4FAA4F;AAC5F,qFAAqF;AACrF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAmFxB;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAErD,+CAA+C;AAC/C,MAAM,UAAU,eAAe,CAAC,UAAkB;IACjD,OAAO,GAAG,mBAAmB,GAAG,UAAU,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;QACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAClD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;KAC1B,CAAC;CACF,CAAC,CAAC;AAEH,sFAAsF;AACtF,MAAM,UAAU,iBAAiB,CAAC,KAAoB;IACrD,OAAO;QACN,KAAK,EAAE;YACN,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE;SACxC;KACD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CACnC,OAA6B,EAC7B,IAAyB;IAEzB,OAAO,KAAK,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE;QACjD,MAAM,EAAE,KAAK,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACtD,MAAM,QAAQ,GAA2B;YACxC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC;SACjF,CAAC;QACF,MAAM,OAAO,CAAC;YACb,KAAK;YACL,eAAe;YACf,MAAM;YACN,QAAQ;YACR,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;YACvC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI;SACvC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC"}
@@ -8,4 +8,27 @@ import type { Document } from '../types/document.js';
8
8
  * whether a version snapshot was taken.
9
9
  */
10
10
  export declare function emitDocumentPublished(tx: DatabaseAdapter, organizationId: string, doc: Document): Promise<void>;
11
+ /** A user account at the moment it is deleted — the last chance to read these fields. */
12
+ export interface DeletedUser {
13
+ id: string;
14
+ email?: string | null;
15
+ image?: string | null;
16
+ }
17
+ /**
18
+ * Emit `user.deleted` once per organization the user belonged to.
19
+ *
20
+ * Fans out per-org because the event log is org-scoped and erasure is an org-level
21
+ * concern: each organization holds its own residue of a user (their avatar, and in time
22
+ * whatever else), and each consumer runs against the org it was delivered for. One event
23
+ * naming a single "home" org would leave the others untouched.
24
+ *
25
+ * MUST be called on a TRANSACTION handle, in the same transaction as the deletion itself
26
+ * — the transactional-outbox guarantee. An account erased without its events emitted is
27
+ * personal data stranded with nothing left to point at it, which is the exact failure this
28
+ * exists to prevent.
29
+ *
30
+ * `organizationIds` are the caller's — read them *before* the deletion removes the
31
+ * membership rows, or this fans out to nothing.
32
+ */
33
+ export declare function emitUserDeleted(tx: DatabaseAdapter, organizationIds: readonly string[], user: DeletedUser): Promise<void>;
11
34
  //# sourceMappingURL=emit.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../src/lib/events/emit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAC1C,EAAE,EAAE,eAAe,EACnB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,QAAQ,GACX,OAAO,CAAC,IAAI,CAAC,CAWf"}
1
+ {"version":3,"file":"emit.d.ts","sourceRoot":"","sources":["../../../src/lib/events/emit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGlD;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAC1C,EAAE,EAAE,eAAe,EACnB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,QAAQ,GACX,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,yFAAyF;AACzF,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,eAAe,CACpC,EAAE,EAAE,eAAe,EACnB,eAAe,EAAE,SAAS,MAAM,EAAE,EAClC,IAAI,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAef"}
@@ -1,4 +1,4 @@
1
- import { documentPublished } from './catalog.js';
1
+ import { documentPublished, userDeleted } from './catalog.js';
2
2
  /**
3
3
  * Emit `document.published` (and its outbox row) for a freshly published document. MUST be
4
4
  * called on a TRANSACTION handle (from `withTransaction`) so the event commits atomically with
@@ -18,4 +18,35 @@ export async function emitDocumentPublished(tx, organizationId, doc) {
18
18
  createdBy: doc.updatedBy
19
19
  });
20
20
  }
21
+ /**
22
+ * Emit `user.deleted` once per organization the user belonged to.
23
+ *
24
+ * Fans out per-org because the event log is org-scoped and erasure is an org-level
25
+ * concern: each organization holds its own residue of a user (their avatar, and in time
26
+ * whatever else), and each consumer runs against the org it was delivered for. One event
27
+ * naming a single "home" org would leave the others untouched.
28
+ *
29
+ * MUST be called on a TRANSACTION handle, in the same transaction as the deletion itself
30
+ * — the transactional-outbox guarantee. An account erased without its events emitted is
31
+ * personal data stranded with nothing left to point at it, which is the exact failure this
32
+ * exists to prevent.
33
+ *
34
+ * `organizationIds` are the caller's — read them *before* the deletion removes the
35
+ * membership rows, or this fans out to nothing.
36
+ */
37
+ export async function emitUserDeleted(tx, organizationIds, user) {
38
+ const payload = userDeleted.parse({
39
+ userId: user.id,
40
+ email: user.email ?? null,
41
+ image: user.image ?? null
42
+ });
43
+ for (const organizationId of organizationIds) {
44
+ await tx.appendEvent({
45
+ organizationId,
46
+ type: userDeleted.type,
47
+ payload,
48
+ createdBy: user.id
49
+ });
50
+ }
51
+ }
21
52
  //# sourceMappingURL=emit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../../src/lib/events/emit.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,EAAmB,EACnB,cAAsB,EACtB,GAAa;IAEb,MAAM,EAAE,CAAC,WAAW,CAAC;QACpB,cAAc;QACd,IAAI,EAAE,iBAAiB,CAAC,IAAI;QAC5B,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;YAChC,UAAU,EAAE,GAAG,CAAC,EAAE;YAClB,YAAY,EAAE,GAAG,CAAC,IAAI;YACtB,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI;SACxC,CAAC;QACF,SAAS,EAAE,GAAG,CAAC,SAAS;KACxB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"emit.js","sourceRoot":"","sources":["../../../src/lib/events/emit.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,EAAmB,EACnB,cAAsB,EACtB,GAAa;IAEb,MAAM,EAAE,CAAC,WAAW,CAAC;QACpB,cAAc;QACd,IAAI,EAAE,iBAAiB,CAAC,IAAI;QAC5B,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC;YAChC,UAAU,EAAE,GAAG,CAAC,EAAE;YAClB,YAAY,EAAE,GAAG,CAAC,IAAI;YACtB,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI;SACxC,CAAC;QACF,SAAS,EAAE,GAAG,CAAC,SAAS;KACxB,CAAC,CAAC;AACJ,CAAC;AASD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,EAAmB,EACnB,eAAkC,EAClC,IAAiB;IAEjB,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC;QACjC,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;QACzB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;KACzB,CAAC,CAAC;IAEH,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,EAAE,CAAC,WAAW,CAAC;YACpB,cAAc;YACd,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,OAAO;YACP,SAAS,EAAE,IAAI,CAAC,EAAE;SAClB,CAAC,CAAC;IACJ,CAAC;AACF,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export * from './define-event.js';
2
2
  export * from './catalog.js';
3
3
  export * from './consumer.js';
4
+ export * from './emit.js';
5
+ export * from './built-in-consumers.js';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export * from './define-event.js';
2
2
  export * from './catalog.js';
3
3
  export * from './consumer.js';
4
+ export * from './emit.js';
5
+ export * from './built-in-consumers.js';
4
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/events/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,sBAAsB,CAAC"}
@@ -2,13 +2,36 @@ import type { Field, SchemaType } from '../types/index.js';
2
2
  export interface ValidationError {
3
3
  level: 'error' | 'warning' | 'info';
4
4
  message: string;
5
+ /**
6
+ * Which of the two questions this error answers.
7
+ *
8
+ * `structural` — the data cannot be interpreted as the schema at all: wrong
9
+ * JSON shape for the field type, or a key the schema never declared. Never a
10
+ * legitimate work-in-progress state, so it's rejected on **every** write,
11
+ * drafts included. This is the class an agent or a bad client produces.
12
+ *
13
+ * `content` — the data is the right shape but isn't finished: required fields
14
+ * missing, ranges exceeded, cross-field invariants unmet. Perfectly legitimate
15
+ * mid-edit, so it's only enforced at publish.
16
+ *
17
+ * Defaults to `content` when unset — the conservative direction, since
18
+ * mislabelling a rule error as structural would block saving a draft.
19
+ */
20
+ kind?: 'structural' | 'content';
21
+ }
22
+ export interface FieldErrors {
23
+ field: string;
24
+ errors: string[];
25
+ kind: 'structural' | 'content';
5
26
  }
6
27
  export interface DocumentValidationResult {
7
28
  isValid: boolean;
8
- errors: Array<{
9
- field: string;
10
- errors: string[];
11
- }>;
29
+ errors: FieldErrors[];
30
+ /**
31
+ * The subset of `errors` that no draft may carry. Empty on a merely
32
+ * incomplete document; non-empty means the payload is malformed.
33
+ */
34
+ structuralErrors: FieldErrors[];
12
35
  normalizedData: Record<string, any>;
13
36
  }
14
37
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/field-validation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,KAAK,EAAE,UAAU,EAAiB,MAAM,gBAAgB,CAAC;AAKnF,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IACnD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAUrD;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAmC9E;AAwMD;;GAEG;AACH,wBAAsB,aAAa,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,GAAE,GAAQ,GACf,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC,CAsJD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAO/D;AAwCD;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,OAAO,GAAE,GAAQ,GACf,OAAO,CAAC,wBAAwB,CAAC,CA0BnC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/field-validation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,KAAK,EAAE,UAAU,EAAiB,MAAM,gBAAgB,CAAC;AAKnF,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;OAcG;IACH,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,YAAY,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB;;;OAGG;IACH,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAUrD;AAYD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CA6C9E;AAiOD;;GAEG;AACH,wBAAsB,aAAa,CAClC,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,GAAG,EACV,OAAO,GAAE,GAAQ,GACf,OAAO,CAAC;IACV,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC1B,CAAC,CA0KD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAO/D;AAiED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CACzC,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,OAAO,GAAE,GAAQ,GACf,OAAO,CAAC,wBAAwB,CAAC,CA2BnC"}
@@ -76,8 +76,20 @@ export function validateValueShape(field, value) {
76
76
  return Array.isArray(value) ? null : `expected an array, got ${describeValue(value)}`;
77
77
  case 'object':
78
78
  return isPlainObject(value) ? null : `expected an object, got ${describeValue(value)}`;
79
+ case 'number':
80
+ // `''` is the empty state of a cleared number input, not a value.
81
+ if (value === '')
82
+ return null;
83
+ return typeof value === 'number' && Number.isFinite(value)
84
+ ? null
85
+ : `expected a number, got ${describeValue(value)}`;
86
+ case 'boolean':
87
+ if (value === '')
88
+ return null;
89
+ return typeof value === 'boolean' ? null : `expected a boolean, got ${describeValue(value)}`;
79
90
  default:
80
- // number/boolean/date/datetime — left to existing auto-rules / user rules.
91
+ // date/datetime — shape is inseparable from format here, so the
92
+ // existing auto-rules own them.
81
93
  return null;
82
94
  }
83
95
  }
@@ -212,7 +224,8 @@ async function validateArrayItems(field, items, context) {
212
224
  field: itemPath,
213
225
  errors: [
214
226
  `has type "${gotType}", which is not one of the declared array item types: ${declared}`
215
- ]
227
+ ],
228
+ kind: 'structural'
216
229
  });
217
230
  continue;
218
231
  }
@@ -222,7 +235,10 @@ async function validateArrayItems(field, items, context) {
222
235
  // branch below and get full field validation already; this is the one shape the rest of
223
236
  // this function never checked.
224
237
  if (typeRef.type === 'block') {
225
- results.push(...validatePortableTextBlock(item, itemPath));
238
+ // Every block check is a shape check.
239
+ for (const err of validatePortableTextBlock(item, itemPath)) {
240
+ results.push({ ...err, kind: 'structural' });
241
+ }
226
242
  continue;
227
243
  }
228
244
  if (typeRef.type === 'reference') {
@@ -231,7 +247,8 @@ async function validateArrayItems(field, items, context) {
231
247
  field: itemPath,
232
248
  errors: [
233
249
  `expected a reference object { _type: 'reference', _ref: '<documentId>' }, got ${describeValue(item)}`
234
- ]
250
+ ],
251
+ kind: 'structural'
235
252
  });
236
253
  }
237
254
  continue;
@@ -240,7 +257,8 @@ async function validateArrayItems(field, items, context) {
240
257
  if (!isPlainObject(item)) {
241
258
  results.push({
242
259
  field: itemPath,
243
- errors: [`expected an object, got ${describeValue(item)}`]
260
+ errors: [`expected an object, got ${describeValue(item)}`],
261
+ kind: 'structural'
244
262
  });
245
263
  continue;
246
264
  }
@@ -248,7 +266,11 @@ async function validateArrayItems(field, items, context) {
248
266
  for (const err of nested) {
249
267
  for (const rawMessage of err.errors) {
250
268
  const { path, reason } = splitFieldMessage(rawMessage);
251
- results.push({ field: `${itemPath}.${path ?? err.field}`, errors: [reason] });
269
+ results.push({
270
+ field: `${itemPath}.${path ?? err.field}`,
271
+ errors: [reason],
272
+ kind: err.kind
273
+ });
252
274
  }
253
275
  }
254
276
  }
@@ -273,15 +295,34 @@ export async function validateField(field, value, context = {}) {
273
295
  if (shapeError) {
274
296
  return {
275
297
  isValid: false,
276
- errors: [{ level: 'error', message: `Field "${field.name}" ${shapeError}` }]
298
+ errors: [
299
+ { level: 'error', message: `Field "${field.name}" ${shapeError}`, kind: 'structural' }
300
+ ]
277
301
  };
278
302
  }
303
+ // Object fields were previously never recursed into: the shape check above only
304
+ // confirms the value IS an object, so a required field nested inside one was
305
+ // silently unenforced and an undeclared key inside one was never seen.
306
+ if (field.type === 'object' && isPlainObject(value) && Array.isArray(field.fields)) {
307
+ const nested = await validateFieldSet(field.fields, value, context);
308
+ for (const err of nested) {
309
+ allErrors.push({
310
+ level: 'error',
311
+ message: `Field "${field.name}.${err.field}" ${err.errors.join('; ')}`,
312
+ kind: err.kind
313
+ });
314
+ }
315
+ }
279
316
  // Array items are never validated by the shape check above (it only confirms
280
317
  // the value IS an array) — recurse into each item against `field.of` here.
281
318
  if (field.type === 'array' && Array.isArray(value)) {
282
319
  const itemErrors = await validateArrayItems(field, value, context);
283
320
  for (const err of itemErrors) {
284
- allErrors.push({ level: 'error', message: `Field "${err.field}" ${err.errors.join('; ')}` });
321
+ allErrors.push({
322
+ level: 'error',
323
+ message: `Field "${err.field}" ${err.errors.join('; ')}`,
324
+ kind: err.kind
325
+ });
285
326
  }
286
327
  }
287
328
  // Add automatic validation for date/datetime/url fields based on type
@@ -399,6 +440,27 @@ export function getValidationClasses(hasErrors) {
399
440
  */
400
441
  async function validateFieldSet(fields, data, context) {
401
442
  const validationErrors = [];
443
+ // Keys present in the data but absent from the schema.
444
+ //
445
+ // Everything below walks the *schema's* fields and reads `data[field.name]`,
446
+ // so without this pass an undeclared key is never looked at — it validates
447
+ // clean and is persisted verbatim. That's how an agent writing invented field
448
+ // names silently corrupts a document.
449
+ //
450
+ // Underscore-prefixed keys are structural metadata (`_type`, `_key`, `_ref`),
451
+ // not content, so they're never "unknown".
452
+ const declared = new Set(fields.map((field) => field.name));
453
+ for (const key of Object.keys(data ?? {})) {
454
+ if (key.startsWith('_'))
455
+ continue;
456
+ if (declared.has(key))
457
+ continue;
458
+ validationErrors.push({
459
+ field: key,
460
+ errors: [`Unknown field "${key}" — not declared in the schema`],
461
+ kind: 'structural'
462
+ });
463
+ }
402
464
  for (const field of fields) {
403
465
  const value = data[field.name];
404
466
  const result = await validateField(field, value, {
@@ -406,11 +468,16 @@ async function validateFieldSet(fields, data, context) {
406
468
  document: context.document !== undefined ? context.document : data
407
469
  });
408
470
  if (!result.isValid) {
409
- const errorMessages = result.errors.filter((e) => e.level === 'error').map((e) => e.message);
471
+ const errorEntries = result.errors.filter((e) => e.level === 'error');
472
+ const errorMessages = errorEntries.map((e) => e.message);
410
473
  if (errorMessages.length > 0) {
411
474
  validationErrors.push({
412
475
  field: field.name,
413
- errors: errorMessages
476
+ errors: errorMessages,
477
+ // One structural error makes the whole field structural: the value
478
+ // can't be interpreted, so any content rules reported alongside it
479
+ // are noise anyway.
480
+ kind: errorEntries.some((e) => e.kind === 'structural') ? 'structural' : 'content'
414
481
  });
415
482
  }
416
483
  }
@@ -449,6 +516,7 @@ export async function validateDocumentData(schema, data, context = {}) {
449
516
  return {
450
517
  isValid: validationErrors.length === 0,
451
518
  errors: validationErrors,
519
+ structuralErrors: validationErrors.filter((e) => e.kind === 'structural'),
452
520
  normalizedData
453
521
  };
454
522
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/field-validation/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/field-validation/utils.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export * from './forms/index.js';
9
9
  export * from './theme/index.js';
10
10
  export * from './plugins/index.js';
11
11
  export * from './utils/index.js';
12
+ export * from './auth/invitation-status.js';
12
13
  export * from './api/index.js';
13
14
  export type { ApiResponse } from './api/index.js';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAkBA,cAAc,eAAe,CAAC;AAC9B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGjG,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,cAAc,sBAAsB,CAAC;AAIrC,cAAc,gBAAgB,CAAC;AAI/B,cAAc,eAAe,CAAC;AAG9B,cAAc,eAAe,CAAC;AAI9B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,eAAe,CAAC;AAG9B,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAkBA,cAAc,eAAe,CAAC;AAC9B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGjG,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,cAAc,sBAAsB,CAAC;AAIrC,cAAc,gBAAgB,CAAC;AAI/B,cAAc,eAAe,CAAC;AAG9B,cAAc,eAAe,CAAC;AAI9B,cAAc,iBAAiB,CAAC;AAGhC,cAAc,eAAe,CAAC;AAI9B,cAAc,0BAA0B,CAAC;AAGzC,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
package/dist/lib/index.js CHANGED
@@ -36,6 +36,9 @@ export * from './theme/index.js';
36
36
  export * from './plugins/index.js';
37
37
  // General utility functions (logger, image URL builder, etc)
38
38
  export * from './utils/index.js';
39
+ // Invitation state predicates. Plain functions over a plain type — the one
40
+ // definition of "pending"/"expired" shared by cms-core, @aphexcms/auth and apps.
41
+ export * from './auth/invitation-status.js';
39
42
  // Unified API client
40
43
  export * from './api/index.js';
41
44
  // NOTE: The following are intentionally NOT re-exported from this root
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,EAAE;AACF,2EAA2E;AAC3E,sEAAsE;AACtE,2EAA2E;AAC3E,2EAA2E;AAC3E,0EAA0E;AAC1E,qEAAqE;AACrE,6BAA6B;AAC7B,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,wDAAwD;AACxD,EAAE;AACF,0EAA0E;AAC1E,oCAAoC;AAEpC,gDAAgD;AAChD,cAAc,eAAe,CAAC;AAG9B,mBAAmB;AACnB,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AAEzC,4BAA4B;AAC5B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,mBAAmB;AACnB,cAAc,sBAAsB,CAAC;AAErC,sFAAsF;AACtF,sDAAsD;AACtD,cAAc,gBAAgB,CAAC;AAE/B,2FAA2F;AAC3F,4DAA4D;AAC5D,cAAc,eAAe,CAAC;AAE9B,sFAAsF;AACtF,cAAc,eAAe,CAAC;AAE9B,8EAA8E;AAC9E,+EAA+E;AAC/E,cAAc,iBAAiB,CAAC;AAEhC,6DAA6D;AAC7D,cAAc,eAAe,CAAC;AAE9B,qBAAqB;AACrB,cAAc,aAAa,CAAC;AAG5B,uEAAuE;AACvE,wEAAwE;AACxE,2EAA2E;AAC3E,6DAA6D;AAC7D,yEAAyE;AACzE,oEAAoE;AACpE,EAAE;AACF,oFAAoF;AACpF,uFAAuF;AACvF,+DAA+D;AAC/D,2CAA2C;AAC3C,EAAE;AACF,6EAA6E;AAC7E,8BAA8B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,EAAE;AACF,2EAA2E;AAC3E,sEAAsE;AACtE,2EAA2E;AAC3E,2EAA2E;AAC3E,0EAA0E;AAC1E,qEAAqE;AACrE,6BAA6B;AAC7B,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,wDAAwD;AACxD,EAAE;AACF,0EAA0E;AAC1E,oCAAoC;AAEpC,gDAAgD;AAChD,cAAc,eAAe,CAAC;AAG9B,mBAAmB;AACnB,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AAEzC,4BAA4B;AAC5B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,mBAAmB;AACnB,cAAc,sBAAsB,CAAC;AAErC,sFAAsF;AACtF,sDAAsD;AACtD,cAAc,gBAAgB,CAAC;AAE/B,2FAA2F;AAC3F,4DAA4D;AAC5D,cAAc,eAAe,CAAC;AAE9B,sFAAsF;AACtF,cAAc,eAAe,CAAC;AAE9B,8EAA8E;AAC9E,+EAA+E;AAC/E,cAAc,iBAAiB,CAAC;AAEhC,6DAA6D;AAC7D,cAAc,eAAe,CAAC;AAE9B,2EAA2E;AAC3E,iFAAiF;AACjF,cAAc,0BAA0B,CAAC;AAEzC,qBAAqB;AACrB,cAAc,aAAa,CAAC;AAG5B,uEAAuE;AACvE,wEAAwE;AACxE,2EAA2E;AAC3E,6DAA6D;AAC7D,yEAAyE;AACzE,oEAAoE;AACpE,EAAE;AACF,oFAAoF;AACpF,uFAAuF;AACvF,+DAA+D;AAC/D,2CAA2C;AAC3C,EAAE;AACF,6EAA6E;AAC7E,8BAA8B"}
@@ -6,7 +6,7 @@ import type { LocalAPI } from '../local-api/index.js';
6
6
  import type { PartResolver } from '../plugins/resolver.js';
7
7
  import { type RunDueJobsResult } from './run-due-jobs.js';
8
8
  import { type RelayOutboxResult } from './relay.js';
9
- import { type PluginSettingsReader } from '../events/consumer.js';
9
+ import { type ConsumerAssetService, type PluginSettingsReader } from '../events/consumer.js';
10
10
  /**
11
11
  * The slice of the CMS service container the runner needs. Structurally a subset
12
12
  * of `CMSInstances`, so callers can pass `event.locals.aphexCMS` (or `c.var.aphexCMS`)
@@ -22,6 +22,12 @@ export interface JobRunnerServices {
22
22
  pluginSettingsService: PluginSettingsReader;
23
23
  /** Handed to event consumers that send notifications; `null`/absent when email isn't configured. */
24
24
  emailAdapter?: EmailAdapter | null;
25
+ /**
26
+ * Handed to event consumers that erase or rewrite media — notably the built-in
27
+ * `user.deleted` avatar erasure, which needs the file gone from object storage and not
28
+ * merely the row gone from the table.
29
+ */
30
+ assetService?: ConsumerAssetService | null;
25
31
  }
26
32
  export interface RunJobsBatchOptions {
27
33
  /** Lease-owner label written to `cms_jobs.lease_owner` (crash-recovery visibility). */
@@ -1 +1 @@
1
- {"version":3,"file":"run-batch.d.ts","sourceRoot":"","sources":["../../../src/lib/jobs/run-batch.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE9D,OAAO,EAGN,KAAK,oBAAoB,EACzB,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,iGAAiG;IACjG,qBAAqB,EAAE,oBAAoB,CAAC;IAC5C,oGAAoG;IACpG,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,mBAAmB;IACnC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,2FAA2F;AAC3F,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC3D,4EAA4E;IAC5E,KAAK,EAAE,iBAAiB,CAAC;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CACjC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,mBAAwB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAqC7B"}
1
+ {"version":3,"file":"run-batch.d.ts","sourceRoot":"","sources":["../../../src/lib/jobs/run-batch.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE9D,OAAO,EAGN,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,iGAAiG;IACjG,qBAAqB,EAAE,oBAAoB,CAAC;IAC5C,oGAAoG;IACpG,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC;;;;OAIG;IACH,YAAY,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,mBAAmB;IACnC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4FAA4F;IAC5F,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,2FAA2F;AAC3F,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC3D,4EAA4E;IAC5E,KAAK,EAAE,iBAAiB,CAAC;CACzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CACjC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,GAAE,mBAAwB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAuC7B"}
@@ -29,6 +29,7 @@ import { consumerJobType, toConsumerJobHandler } from '../events/consumer.js';
29
29
  export async function runJobsBatch(services, options = {}) {
30
30
  const { config, databaseAdapter, logger, localAPI, partResolver, pluginSettingsService } = services;
31
31
  const emailAdapter = services.emailAdapter ?? null;
32
+ const assetService = services.assetService ?? null;
32
33
  const relay = await relayOutbox(services, {
33
34
  organizationId: options.organizationId,
34
35
  batchSize: config.jobs?.relayBatchSize
@@ -40,7 +41,8 @@ export async function runJobsBatch(services, options = {}) {
40
41
  for (const consumer of partResolver.eventConsumers()) {
41
42
  consumerHandlers[consumerJobType(consumer.id)] = toConsumerJobHandler(consumer.handler, {
42
43
  pluginSettingsService,
43
- emailAdapter
44
+ emailAdapter,
45
+ assetService
44
46
  });
45
47
  }
46
48
  const jobs = await runDueJobs({
@@ -1 +1 @@
1
- {"version":3,"file":"run-batch.js","sourceRoot":"","sources":["../../../src/lib/jobs/run-batch.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,gDAAgD;AAChD,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,wBAAwB;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,OAAO,EAAE,UAAU,EAAyB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,WAAW,EAA0B,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACN,eAAe,EACf,oBAAoB,EAEpB,MAAM,oBAAoB,CAAC;AAgC5B;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,QAA2B,EAC3B,UAA+B,EAAE;IAEjC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,qBAAqB,EAAE,GACvF,QAAQ,CAAC;IACV,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC;IAEnD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE;QACzC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc;KACtC,CAAC,CAAC;IAEH,6FAA6F;IAC7F,4FAA4F;IAC5F,6DAA6D;IAC7D,MAAM,gBAAgB,GAAkB,EAAE,CAAC;IAC3C,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC;QACtD,gBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,oBAAoB,CAAC,QAAQ,CAAC,OAAO,EAAE;YACvF,qBAAqB;YACrB,YAAY;SACZ,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC7B,eAAe;QACf,QAAQ,EAAE;YACT,GAAG,yBAAyB,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC1C,GAAG,gBAAgB;YACnB,GAAG,YAAY,CAAC,WAAW,EAAE;YAC7B,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;SAChC;QACD,MAAM;QACN,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,UAAU,UAAU,EAAE,EAAE;QACtD,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;QACjC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO;KAC7B,CAAC,CAAC;IAEH,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"run-batch.js","sourceRoot":"","sources":["../../../src/lib/jobs/run-batch.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,gFAAgF;AAChF,gFAAgF;AAChF,8EAA8E;AAC9E,gDAAgD;AAChD,EAAE;AACF,kFAAkF;AAClF,kFAAkF;AAClF,wBAAwB;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQzC,OAAO,EAAE,UAAU,EAAyB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAE,WAAW,EAA0B,MAAM,SAAS,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EACN,eAAe,EACf,oBAAoB,EAGpB,MAAM,oBAAoB,CAAC;AAsC5B;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,QAA2B,EAC3B,UAA+B,EAAE;IAEjC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,qBAAqB,EAAE,GACvF,QAAQ,CAAC;IACV,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC;IACnD,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC;IAEnD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,EAAE;QACzC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,cAAc;KACtC,CAAC,CAAC;IAEH,6FAA6F;IAC7F,4FAA4F;IAC5F,6DAA6D;IAC7D,MAAM,gBAAgB,GAAkB,EAAE,CAAC;IAC3C,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC;QACtD,gBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,oBAAoB,CAAC,QAAQ,CAAC,OAAO,EAAE;YACvF,qBAAqB;YACrB,YAAY;YACZ,YAAY;SACZ,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC;QAC7B,eAAe;QACf,QAAQ,EAAE;YACT,GAAG,yBAAyB,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC1C,GAAG,gBAAgB;YACnB,GAAG,YAAY,CAAC,WAAW,EAAE;YAC7B,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;SAChC;QACD,MAAM;QACN,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,UAAU,UAAU,EAAE,EAAE;QACtD,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS;QACjC,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO;KAC7B,CAAC,CAAC;IAEH,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC;AAC3B,CAAC"}
@@ -8,7 +8,7 @@ import type { Document } from '../types/document.js';
8
8
  import type { LocalAPIContext } from './types.js';
9
9
  import type { SchemaType } from '../types/schemas.js';
10
10
  import { PermissionChecker } from './permissions.js';
11
- import { type DocumentValidationResult } from '../field-validation/utils.js';
11
+ import { type DocumentValidationResult, type FieldErrors } from '../field-validation/utils.js';
12
12
  import type { Job } from '../types/events.js';
13
13
  /**
14
14
  * Result from create/update operations that includes validation
@@ -25,6 +25,22 @@ export interface DocumentResult<T> {
25
25
  export declare class SingletonOperationError extends Error {
26
26
  constructor(message: string);
27
27
  }
28
+ /**
29
+ * Thrown when a write is rejected as *malformed* — a field the schema never
30
+ * declared, or a value of the wrong shape. The caller sent bad data, so this is
31
+ * a 400, not a 500.
32
+ *
33
+ * It exists as a type because the alternative was route handlers sniffing
34
+ * `error.message.includes('validation errors')`, which the structural message
35
+ * ("Invalid document data - …") doesn't match — so every rejected payload was
36
+ * reported to HTTP and MCP clients as a server error. Carries the structured
37
+ * `errors` so a handler (or an agent) can name the offending fields without
38
+ * parsing prose.
39
+ */
40
+ export declare class DocumentValidationError extends Error {
41
+ readonly errors: FieldErrors[];
42
+ constructor(message: string, errors: FieldErrors[]);
43
+ }
28
44
  /**
29
45
  * Subset of CollectionAPI methods that are valid on a singleton schema.
30
46
  * Codegen emits this type for singleton entries in the Collections interface
@@ -54,6 +70,12 @@ export declare class CollectionAPI<T = Document> {
54
70
  * never thrown — a stale ref index doesn't block the user's save.
55
71
  */
56
72
  private syncReferences;
73
+ /**
74
+ * Recompute the document's full-text search index from freshly-saved
75
+ * draftData. Best-effort, same shape as {@link syncReferences}: not part
76
+ * of the write transaction, self-healing on the next edit if missed.
77
+ */
78
+ private syncSearchText;
57
79
  /**
58
80
  * Get the schema for this collection
59
81
  */
@@ -92,6 +114,31 @@ export declare class CollectionAPI<T = Document> {
92
114
  find(context: LocalAPIContext, options?: FindOptions<T>): Promise<FindResult<T>>;
93
115
  private resolveHiddenReadFields;
94
116
  private resolveHiddenWriteFields;
117
+ /**
118
+ * Fetch a document by ID, scoped to this collection.
119
+ *
120
+ * Every permission check here is evaluated against `this.collectionName`, but
121
+ * document IDs are globally unique — so a lookup that matched on ID alone let a
122
+ * caller authorised for one collection read or mutate a known ID belonging to a
123
+ * restricted one, through the Local API, GraphQL, or MCP alike.
124
+ *
125
+ * A type mismatch is reported as "not found" rather than "forbidden" on purpose:
126
+ * the caller has no permission to learn that the ID exists elsewhere.
127
+ *
128
+ * Deliberately *not* used for reference lookups in `publish`, which resolve
129
+ * documents of arbitrary types by design.
130
+ */
131
+ /**
132
+ * Reject a write whose payload is malformed, draft or not.
133
+ *
134
+ * Drafts skip *content* validation on purpose — you must be able to save
135
+ * half-finished work. But "incomplete" and "malformed" are different
136
+ * questions: a missing title is a draft, a string where an array belongs (or a
137
+ * field the schema never declared) is corruption, and letting it through means
138
+ * it's already in storage by the time anyone validates at publish.
139
+ */
140
+ private assertStructurallyValid;
141
+ private findOwnDocById;
95
142
  /**
96
143
  * Find a single document by ID
97
144
  *
@@ -1 +1 @@
1
- {"version":3,"file":"collection-api.d.ts","sourceRoot":"","sources":["../../../src/lib/local-api/collection-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collection-api.d.ts","sourceRoot":"","sources":["../../../src/lib/local-api/collection-api.ts"],"names":[],"mappings":"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"}