@aphexcms/cms-core 9.6.0 → 9.7.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/documents.d.ts +28 -0
  2. package/dist/api/documents.d.ts.map +1 -1
  3. package/dist/api/documents.js +18 -0
  4. package/dist/api/schemas/documents.d.ts +19 -0
  5. package/dist/api/schemas/documents.d.ts.map +1 -1
  6. package/dist/api/schemas/documents.js +18 -0
  7. package/dist/client/ui.d.ts +1 -0
  8. package/dist/client/ui.d.ts.map +1 -1
  9. package/dist/client/ui.js +2 -0
  10. package/dist/components/admin/ActivityView.svelte +227 -0
  11. package/dist/components/admin/ActivityView.svelte.d.ts +4 -0
  12. package/dist/components/admin/ActivityView.svelte.d.ts.map +1 -0
  13. package/dist/components/admin/DocumentEditor.svelte +196 -10
  14. package/dist/components/admin/DocumentEditor.svelte.d.ts.map +1 -1
  15. package/dist/components/admin/ScheduleDialog.svelte +174 -0
  16. package/dist/components/admin/ScheduleDialog.svelte.d.ts +20 -0
  17. package/dist/components/admin/ScheduleDialog.svelte.d.ts.map +1 -0
  18. package/dist/components/layout/OrganizationSwitcher.svelte +3 -3
  19. package/dist/components/layout/sidebar/NavUser.svelte +5 -5
  20. package/dist/db/interfaces/events.d.ts +55 -0
  21. package/dist/db/interfaces/events.d.ts.map +1 -0
  22. package/dist/db/interfaces/events.js +1 -0
  23. package/dist/db/interfaces/index.d.ts +10 -2
  24. package/dist/db/interfaces/index.d.ts.map +1 -1
  25. package/dist/db/interfaces/plugin-storage.d.ts +39 -0
  26. package/dist/db/interfaces/plugin-storage.d.ts.map +1 -0
  27. package/dist/db/interfaces/plugin-storage.js +1 -0
  28. package/dist/events/catalog.d.ts +8 -0
  29. package/dist/events/catalog.d.ts.map +1 -0
  30. package/dist/events/catalog.js +11 -0
  31. package/dist/events/consumer.d.ts +79 -0
  32. package/dist/events/consumer.d.ts.map +1 -0
  33. package/dist/events/consumer.js +76 -0
  34. package/dist/events/define-event.d.ts +17 -0
  35. package/dist/events/define-event.d.ts.map +1 -0
  36. package/dist/events/define-event.js +7 -0
  37. package/dist/events/emit.d.ts +11 -0
  38. package/dist/events/emit.d.ts.map +1 -0
  39. package/dist/events/emit.js +20 -0
  40. package/dist/events/index.d.ts +4 -0
  41. package/dist/events/index.d.ts.map +1 -0
  42. package/dist/events/index.js +3 -0
  43. package/dist/field-validation/rule.d.ts.map +1 -1
  44. package/dist/field-validation/rule.js +15 -0
  45. package/dist/forms/define-form.d.ts +25 -0
  46. package/dist/forms/define-form.d.ts.map +1 -0
  47. package/dist/forms/define-form.js +22 -0
  48. package/dist/forms/index.d.ts +4 -0
  49. package/dist/forms/index.d.ts.map +1 -0
  50. package/dist/forms/index.js +5 -0
  51. package/dist/forms/types.d.ts +49 -0
  52. package/dist/forms/types.d.ts.map +1 -0
  53. package/dist/forms/types.js +1 -0
  54. package/dist/forms/validate.d.ts +9 -0
  55. package/dist/forms/validate.d.ts.map +1 -0
  56. package/dist/forms/validate.js +18 -0
  57. package/dist/hooks.d.ts.map +1 -1
  58. package/dist/hooks.js +15 -0
  59. package/dist/index.d.ts +2 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +6 -0
  62. package/dist/jobs/document-jobs.d.ts +27 -0
  63. package/dist/jobs/document-jobs.d.ts.map +1 -0
  64. package/dist/jobs/document-jobs.js +42 -0
  65. package/dist/jobs/embedded-runner.d.ts +25 -0
  66. package/dist/jobs/embedded-runner.d.ts.map +1 -0
  67. package/dist/jobs/embedded-runner.js +46 -0
  68. package/dist/jobs/index.d.ts +7 -0
  69. package/dist/jobs/index.d.ts.map +1 -0
  70. package/dist/jobs/index.js +8 -0
  71. package/dist/jobs/relay.d.ts +27 -0
  72. package/dist/jobs/relay.d.ts.map +1 -0
  73. package/dist/jobs/relay.js +60 -0
  74. package/dist/jobs/run-batch.d.ts +52 -0
  75. package/dist/jobs/run-batch.d.ts.map +1 -0
  76. package/dist/jobs/run-batch.js +61 -0
  77. package/dist/jobs/run-due-jobs.d.ts +30 -0
  78. package/dist/jobs/run-due-jobs.d.ts.map +1 -0
  79. package/dist/jobs/run-due-jobs.js +69 -0
  80. package/dist/jobs/types.d.ts +18 -0
  81. package/dist/jobs/types.d.ts.map +1 -0
  82. package/dist/jobs/types.js +1 -0
  83. package/dist/lib/api/documents.d.ts +28 -0
  84. package/dist/lib/api/documents.d.ts.map +1 -1
  85. package/dist/lib/api/documents.js +18 -0
  86. package/dist/lib/api/documents.js.map +1 -1
  87. package/dist/lib/api/schemas/documents.d.ts +19 -0
  88. package/dist/lib/api/schemas/documents.d.ts.map +1 -1
  89. package/dist/lib/api/schemas/documents.js +18 -0
  90. package/dist/lib/api/schemas/documents.js.map +1 -1
  91. package/dist/lib/client/ui.d.ts +1 -0
  92. package/dist/lib/client/ui.d.ts.map +1 -1
  93. package/dist/lib/client/ui.js +2 -0
  94. package/dist/lib/client/ui.js.map +1 -1
  95. package/dist/lib/db/interfaces/events.d.ts +55 -0
  96. package/dist/lib/db/interfaces/events.d.ts.map +1 -0
  97. package/dist/lib/db/interfaces/events.js +2 -0
  98. package/dist/lib/db/interfaces/events.js.map +1 -0
  99. package/dist/lib/db/interfaces/index.d.ts +10 -2
  100. package/dist/lib/db/interfaces/index.d.ts.map +1 -1
  101. package/dist/lib/db/interfaces/plugin-storage.d.ts +39 -0
  102. package/dist/lib/db/interfaces/plugin-storage.d.ts.map +1 -0
  103. package/dist/lib/db/interfaces/plugin-storage.js +2 -0
  104. package/dist/lib/db/interfaces/plugin-storage.js.map +1 -0
  105. package/dist/lib/events/catalog.d.ts +8 -0
  106. package/dist/lib/events/catalog.d.ts.map +1 -0
  107. package/dist/lib/events/catalog.js +12 -0
  108. package/dist/lib/events/catalog.js.map +1 -0
  109. package/dist/lib/events/consumer.d.ts +79 -0
  110. package/dist/lib/events/consumer.d.ts.map +1 -0
  111. package/dist/lib/events/consumer.js +77 -0
  112. package/dist/lib/events/consumer.js.map +1 -0
  113. package/dist/lib/events/define-event.d.ts +17 -0
  114. package/dist/lib/events/define-event.d.ts.map +1 -0
  115. package/dist/lib/events/define-event.js +8 -0
  116. package/dist/lib/events/define-event.js.map +1 -0
  117. package/dist/lib/events/emit.d.ts +11 -0
  118. package/dist/lib/events/emit.d.ts.map +1 -0
  119. package/dist/lib/events/emit.js +21 -0
  120. package/dist/lib/events/emit.js.map +1 -0
  121. package/dist/lib/events/index.d.ts +4 -0
  122. package/dist/lib/events/index.d.ts.map +1 -0
  123. package/dist/lib/events/index.js +4 -0
  124. package/dist/lib/events/index.js.map +1 -0
  125. package/dist/lib/field-validation/rule.d.ts.map +1 -1
  126. package/dist/lib/field-validation/rule.js +15 -0
  127. package/dist/lib/field-validation/rule.js.map +1 -1
  128. package/dist/lib/forms/define-form.d.ts +25 -0
  129. package/dist/lib/forms/define-form.d.ts.map +1 -0
  130. package/dist/lib/forms/define-form.js +23 -0
  131. package/dist/lib/forms/define-form.js.map +1 -0
  132. package/dist/lib/forms/index.d.ts +4 -0
  133. package/dist/lib/forms/index.d.ts.map +1 -0
  134. package/dist/lib/forms/index.js +6 -0
  135. package/dist/lib/forms/index.js.map +1 -0
  136. package/dist/lib/forms/types.d.ts +49 -0
  137. package/dist/lib/forms/types.d.ts.map +1 -0
  138. package/dist/lib/forms/types.js +2 -0
  139. package/dist/lib/forms/types.js.map +1 -0
  140. package/dist/lib/forms/validate.d.ts +9 -0
  141. package/dist/lib/forms/validate.d.ts.map +1 -0
  142. package/dist/lib/forms/validate.js +19 -0
  143. package/dist/lib/forms/validate.js.map +1 -0
  144. package/dist/lib/hooks.d.ts.map +1 -1
  145. package/dist/lib/hooks.js +15 -0
  146. package/dist/lib/hooks.js.map +1 -1
  147. package/dist/lib/index.d.ts +2 -0
  148. package/dist/lib/index.d.ts.map +1 -1
  149. package/dist/lib/index.js +6 -0
  150. package/dist/lib/index.js.map +1 -1
  151. package/dist/lib/jobs/document-jobs.d.ts +27 -0
  152. package/dist/lib/jobs/document-jobs.d.ts.map +1 -0
  153. package/dist/lib/jobs/document-jobs.js +43 -0
  154. package/dist/lib/jobs/document-jobs.js.map +1 -0
  155. package/dist/lib/jobs/embedded-runner.d.ts +25 -0
  156. package/dist/lib/jobs/embedded-runner.d.ts.map +1 -0
  157. package/dist/lib/jobs/embedded-runner.js +47 -0
  158. package/dist/lib/jobs/embedded-runner.js.map +1 -0
  159. package/dist/lib/jobs/index.d.ts +7 -0
  160. package/dist/lib/jobs/index.d.ts.map +1 -0
  161. package/dist/lib/jobs/index.js +9 -0
  162. package/dist/lib/jobs/index.js.map +1 -0
  163. package/dist/lib/jobs/relay.d.ts +27 -0
  164. package/dist/lib/jobs/relay.d.ts.map +1 -0
  165. package/dist/lib/jobs/relay.js +61 -0
  166. package/dist/lib/jobs/relay.js.map +1 -0
  167. package/dist/lib/jobs/run-batch.d.ts +52 -0
  168. package/dist/lib/jobs/run-batch.d.ts.map +1 -0
  169. package/dist/lib/jobs/run-batch.js +62 -0
  170. package/dist/lib/jobs/run-batch.js.map +1 -0
  171. package/dist/lib/jobs/run-due-jobs.d.ts +30 -0
  172. package/dist/lib/jobs/run-due-jobs.d.ts.map +1 -0
  173. package/dist/lib/jobs/run-due-jobs.js +70 -0
  174. package/dist/lib/jobs/run-due-jobs.js.map +1 -0
  175. package/dist/lib/jobs/types.d.ts +18 -0
  176. package/dist/lib/jobs/types.d.ts.map +1 -0
  177. package/dist/lib/jobs/types.js +2 -0
  178. package/dist/lib/jobs/types.js.map +1 -0
  179. package/dist/lib/local-api/collection-api.d.ts +42 -0
  180. package/dist/lib/local-api/collection-api.d.ts.map +1 -1
  181. package/dist/lib/local-api/collection-api.js +179 -20
  182. package/dist/lib/local-api/collection-api.js.map +1 -1
  183. package/dist/lib/plugins/resolver.d.ts +12 -1
  184. package/dist/lib/plugins/resolver.d.ts.map +1 -1
  185. package/dist/lib/plugins/resolver.js +4 -1
  186. package/dist/lib/plugins/resolver.js.map +1 -1
  187. package/dist/lib/plugins/types.d.ts +47 -2
  188. package/dist/lib/plugins/types.d.ts.map +1 -1
  189. package/dist/lib/plugins/types.js.map +1 -1
  190. package/dist/lib/server/api/index.d.ts.map +1 -1
  191. package/dist/lib/server/api/index.js +8 -0
  192. package/dist/lib/server/api/index.js.map +1 -1
  193. package/dist/lib/server/api/routes/documents-publish.d.ts.map +1 -1
  194. package/dist/lib/server/api/routes/documents-publish.js +110 -0
  195. package/dist/lib/server/api/routes/documents-publish.js.map +1 -1
  196. package/dist/lib/server/api/routes/jobs.d.ts +4 -0
  197. package/dist/lib/server/api/routes/jobs.d.ts.map +1 -0
  198. package/dist/lib/server/api/routes/jobs.js +93 -0
  199. package/dist/lib/server/api/routes/jobs.js.map +1 -0
  200. package/dist/lib/server/api/routes/workers-run.d.ts +4 -0
  201. package/dist/lib/server/api/routes/workers-run.d.ts.map +1 -0
  202. package/dist/lib/server/api/routes/workers-run.js +41 -0
  203. package/dist/lib/server/api/routes/workers-run.js.map +1 -0
  204. package/dist/lib/server/index.d.ts +1 -0
  205. package/dist/lib/server/index.d.ts.map +1 -1
  206. package/dist/lib/server/index.js +2 -0
  207. package/dist/lib/server/index.js.map +1 -1
  208. package/dist/lib/services/version-service.d.ts +16 -0
  209. package/dist/lib/services/version-service.d.ts.map +1 -1
  210. package/dist/lib/services/version-service.js +68 -66
  211. package/dist/lib/services/version-service.js.map +1 -1
  212. package/dist/lib/types/config.d.ts +43 -0
  213. package/dist/lib/types/config.d.ts.map +1 -1
  214. package/dist/lib/types/events.d.ts +134 -0
  215. package/dist/lib/types/events.d.ts.map +1 -0
  216. package/dist/lib/types/events.js +4 -0
  217. package/dist/lib/types/events.js.map +1 -0
  218. package/dist/lib/types/index.d.ts +1 -0
  219. package/dist/lib/types/index.d.ts.map +1 -1
  220. package/dist/lib/types/index.js +1 -0
  221. package/dist/lib/types/index.js.map +1 -1
  222. package/dist/lib/utils/index.d.ts +1 -1
  223. package/dist/lib/utils/index.d.ts.map +1 -1
  224. package/dist/lib/utils/index.js.map +1 -1
  225. package/dist/local-api/collection-api.d.ts +42 -0
  226. package/dist/local-api/collection-api.d.ts.map +1 -1
  227. package/dist/local-api/collection-api.js +179 -20
  228. package/dist/plugins/resolver.d.ts +12 -1
  229. package/dist/plugins/resolver.d.ts.map +1 -1
  230. package/dist/plugins/resolver.js +4 -1
  231. package/dist/plugins/types.d.ts +47 -2
  232. package/dist/plugins/types.d.ts.map +1 -1
  233. package/dist/server/api/index.d.ts.map +1 -1
  234. package/dist/server/api/index.js +8 -0
  235. package/dist/server/api/routes/documents-publish.d.ts.map +1 -1
  236. package/dist/server/api/routes/documents-publish.js +110 -0
  237. package/dist/server/api/routes/jobs.d.ts +4 -0
  238. package/dist/server/api/routes/jobs.d.ts.map +1 -0
  239. package/dist/server/api/routes/jobs.js +92 -0
  240. package/dist/server/api/routes/workers-run.d.ts +4 -0
  241. package/dist/server/api/routes/workers-run.d.ts.map +1 -0
  242. package/dist/server/api/routes/workers-run.js +40 -0
  243. package/dist/server/index.d.ts +1 -0
  244. package/dist/server/index.d.ts.map +1 -1
  245. package/dist/server/index.js +2 -0
  246. package/dist/services/version-service.d.ts +16 -0
  247. package/dist/services/version-service.d.ts.map +1 -1
  248. package/dist/services/version-service.js +68 -66
  249. package/dist/types/config.d.ts +43 -0
  250. package/dist/types/config.d.ts.map +1 -1
  251. package/dist/types/events.d.ts +134 -0
  252. package/dist/types/events.d.ts.map +1 -0
  253. package/dist/types/events.js +3 -0
  254. package/dist/types/index.d.ts +1 -0
  255. package/dist/types/index.d.ts.map +1 -1
  256. package/dist/types/index.js +1 -0
  257. package/dist/utils/index.d.ts +1 -1
  258. package/dist/utils/index.d.ts.map +1 -1
  259. package/package.json +2 -1
@@ -306,6 +306,23 @@ export declare const restoreVersionResponse: z.ZodObject<{
306
306
  }, z.core.$loose>;
307
307
  message: z.ZodOptional<z.ZodString>;
308
308
  }, z.core.$strip>;
309
+ export declare const scheduleDocumentRequest: z.ZodObject<{
310
+ action: z.ZodEnum<{
311
+ publish: "publish";
312
+ unpublish: "unpublish";
313
+ }>;
314
+ runAt: z.ZodString;
315
+ }, z.core.$strip>;
316
+ export declare const scheduleDocumentResponse: z.ZodObject<{
317
+ success: z.ZodLiteral<true>;
318
+ data: z.ZodObject<{
319
+ jobId: z.ZodString;
320
+ type: z.ZodString;
321
+ runAt: z.ZodString;
322
+ status: z.ZodString;
323
+ }, z.core.$strip>;
324
+ message: z.ZodOptional<z.ZodString>;
325
+ }, z.core.$strip>;
309
326
  export type DocumentDTO = z.infer<typeof documentSchema>;
310
327
  export type PaginationMeta = z.infer<typeof paginationMetaSchema>;
311
328
  export type ListDocumentsQuery = z.input<typeof listDocumentsQuery>;
@@ -318,6 +335,8 @@ export type UpdateDocumentResponse = z.infer<typeof updateDocumentResponse>;
318
335
  export type DeleteDocumentResponse = z.infer<typeof deleteDocumentResponse>;
319
336
  export type PublishDocumentResponse = z.infer<typeof publishDocumentResponse>;
320
337
  export type UnpublishDocumentResponse = z.infer<typeof unpublishDocumentResponse>;
338
+ export type ScheduleDocumentRequest = z.infer<typeof scheduleDocumentRequest>;
339
+ export type ScheduleDocumentResponse = z.infer<typeof scheduleDocumentResponse>;
321
340
  export type DocumentVersion = z.infer<typeof documentVersionSchema>;
322
341
  export type ListVersionsQuery = z.input<typeof listVersionsQuery>;
323
342
  export type ListVersionsResponse = z.infer<typeof listVersionsResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/schemas/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBAShB,CAAC;AAEhB,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;iBAQZ,CAAC;AAEhB,eAAO,MAAM,oBAAoB;;;;;;;iBAO/B,CAAC;AAIH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;iBAc7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIhC,CAAC;AAOH,eAAO,MAAM,sBAAsB;;iBAOjC,CAAC;AAIH,eAAO,MAAM,qBAAqB;;;;;iBAS/B,CAAC;AAEJ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;iBAIjC,CAAC;AAIH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;iBAG9B,CAAC;AAIH,eAAO,MAAM,qBAAqB;;;;iBAQ/B,CAAC;AAEJ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;iBAIjC,CAAC;AAIH,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAIH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;iBAIlC,CAAC;AAIH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;iBAIpC,CAAC;AAOH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;iBAYhC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAI1E,eAAO,MAAM,iBAAiB;;;iBAG5B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;iBAYnB,CAAC;AAEhB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;iBAI/B,CAAC;AAIH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;iBAG7B,CAAC;AAIH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;iBAIjC,CAAC;AAIH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACzD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE5E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC5E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC9E,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAElF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAClE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACxE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/schemas/documents.ts"],"names":[],"mappings":"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"}
@@ -165,4 +165,22 @@ export const restoreVersionResponse = z.object({
165
165
  data: documentSchema,
166
166
  message: z.string().optional()
167
167
  });
168
+ // ---------- POST /documents/:id/schedule ----------
169
+ export const scheduleDocumentRequest = z.object({
170
+ /** Which action to run at `runAt`. */
171
+ action: z.enum(['publish', 'unpublish']),
172
+ /** ISO-8601 timestamp for when the action should run. */
173
+ runAt: z.string().datetime()
174
+ });
175
+ export const scheduleDocumentResponse = z.object({
176
+ success: z.literal(true),
177
+ // The scheduled job's identity + when it will run (job payload is identifiers only).
178
+ data: z.object({
179
+ jobId: z.string(),
180
+ type: z.string(),
181
+ runAt: z.string(),
182
+ status: z.string()
183
+ }),
184
+ message: z.string().optional()
185
+ });
168
186
  //# sourceMappingURL=documents.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../../src/lib/api/schemas/documents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAErD,sCAAsC;AAEtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KACjC,MAAM,CAAC;IACP,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IACrD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC;KACD,WAAW,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC7B,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC3C,aAAa,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACpC,CAAC;KACD,WAAW,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IACxB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;CACxB,CAAC,CAAC;AAEH,8CAA8C;AAE9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,eAAe;IAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,4BAA4B;IACvF,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvD,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3D,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtD,yBAAyB,EAAE,CAAC;SAC1B,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;SAC/C,QAAQ,EAAE;SACV,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,MAAM,CAAC;CAC9C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IAC7B,UAAU,EAAE,oBAAoB;CAChC,CAAC,CAAC;AAEH,6DAA6D;AAC7D,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAE3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,GAAG,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SAC9C,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE;QACrD,OAAO,EAAE,4CAA4C;KACrD,CAAC;CACH,CAAC,CAAC;AAEH,iDAAiD;AAEjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACpC,MAAM,CAAC;IACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC;KACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;IACjE,OAAO,EAAE,sCAAsC;CAC/C,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,cAAc;IACpB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,4CAA4C;AAE5C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,cAAc;CACpB,CAAC,CAAC;AAEH,qDAAqD;AAErD,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACpC,MAAM,CAAC;IACP,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC;KACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE;IACjE,OAAO,EAAE,sCAAsC;CAC/C,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,cAAc;IACpB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAEH,+CAA+C;AAE/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,qDAAqD;AAErD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,mEAAmE;AAEnE,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC;AAEH,8CAA8C;AAE9C,2EAA2E;AAC3E,6EAA6E;AAC7E,oEAAoE;AACpE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC3D,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACzD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACjD,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvD,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IACtD,yBAAyB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAIH,4DAA4D;AAE5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACzD,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACpC,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;IAC1B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAClD,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC;KACD,WAAW,EAAE,CAAC;AAEhB,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAEH,+DAA+D;AAE/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,qBAAqB;CAC3B,CAAC,CAAC;AAEH,wEAAwE;AAExE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"documents.js","sourceRoot":"","sources":["../../../../src/lib/api/schemas/documents.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export { setBlockPreviews, useBlockPreviews, type BlockPreviewProps, type BlockP
14
14
  export { default as Sidebar } from '../components/layout/Sidebar.svelte';
15
15
  export { default as PermissionsDebug } from '../components/admin/PermissionsDebug.svelte';
16
16
  export { default as PluginSettingsPanel } from '../components/admin/PluginSettingsPanel.svelte';
17
+ export { default as ActivityView } from '../components/admin/ActivityView.svelte';
17
18
  export * from '../utils/index.js';
18
19
  export * from '../api/index.js';
19
20
  export type { ApiResponse } from '../api/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/lib/client/ui.ts"],"names":[],"mappings":"AAgBA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGlG,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,UAAU,EACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACN,qBAAqB,EACrB,cAAc,EACd,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAGvC,cAAc,uBAAuB,CAAC;AAItC,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAGhG,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAG3G,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../../src/lib/client/ui.ts"],"names":[],"mappings":"AAgBA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGlG,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EACb,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,KAAK,oBAAoB,EACzB,MAAM,kCAAkC,CAAC;AAG1C,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,UAAU,EACf,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACN,qBAAqB,EACrB,cAAc,EACd,KAAK,kBAAkB,EACvB,MAAM,+BAA+B,CAAC;AAGvC,cAAc,uBAAuB,CAAC;AAItC,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE1F,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAEhG,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAGlF,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EACN,aAAa,EACb,KAAK,oBAAoB,EACzB,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAG3G,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -39,6 +39,8 @@ export { default as Sidebar } from '../components/layout/Sidebar.svelte';
39
39
  export { default as PermissionsDebug } from '../components/admin/PermissionsDebug.svelte';
40
40
  // Plugin settings panel — renders its own inputs, does not pull the field registry.
41
41
  export { default as PluginSettingsPanel } from '../components/admin/PluginSettingsPanel.svelte';
42
+ // Job/event history (read-only observability). Light — plain fetch + tables, no field editor.
43
+ export { default as ActivityView } from '../components/admin/ActivityView.svelte';
42
44
  // Browser-safe utilities + API client
43
45
  export * from '../utils/index.js';
44
46
  export * from '../api/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/lib/client/ui.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qCAAqC;AACrC,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAE1E,uBAAuB;AACvB,cAAc,gBAAgB,CAAC;AAG/B,2DAA2D;AAC3D,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,qCAAqC;AACrC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,sCAAsC;AACtC,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EAGb,MAAM,uBAAuB,CAAC;AAG/B,kFAAkF;AAClF,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAElB,MAAM,kCAAkC,CAAC;AAE1C,uBAAuB;AACvB,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EAIX,MAAM,qBAAqB,CAAC;AAE7B,mDAAmD;AACnD,OAAO,EACN,qBAAqB,EACrB,cAAc,EAEd,MAAM,+BAA+B,CAAC;AAEvC,mBAAmB;AACnB,cAAc,uBAAuB,CAAC;AAEtC,+EAA+E;AAC/E,mDAAmD;AACnD,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAGhB,MAAM,gCAAgC,CAAC;AAExC,eAAe;AACf,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,oFAAoF;AACpF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAEhG,sCAAsC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAG7B,sBAAsB;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,yCAAyC;AACzC,OAAO,EACN,aAAa,EAEb,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAE3G,oCAAoC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../src/lib/client/ui.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,qCAAqC;AACrC,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,0EAA0E;AAE1E,uBAAuB;AACvB,cAAc,gBAAgB,CAAC;AAG/B,2DAA2D;AAC3D,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAE1C,qCAAqC;AACrC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,iBAAiB;AACjB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAE9E,sCAAsC;AACtC,OAAO,EACN,UAAU,EACV,aAAa,EACb,aAAa,EAGb,MAAM,uBAAuB,CAAC;AAG/B,kFAAkF;AAClF,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAElB,MAAM,kCAAkC,CAAC;AAE1C,uBAAuB;AACvB,OAAO,EACN,cAAc,EACd,WAAW,EACX,WAAW,EAIX,MAAM,qBAAqB,CAAC;AAE7B,mDAAmD;AACnD,OAAO,EACN,qBAAqB,EACrB,cAAc,EAEd,MAAM,+BAA+B,CAAC;AAEvC,mBAAmB;AACnB,cAAc,uBAAuB,CAAC;AAEtC,+EAA+E;AAC/E,mDAAmD;AACnD,OAAO,EACN,gBAAgB,EAChB,gBAAgB,EAGhB,MAAM,gCAAgC,CAAC;AAExC,eAAe;AACf,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC1F,oFAAoF;AACpF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,gDAAgD,CAAC;AAChG,8FAA8F;AAC9F,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAElF,sCAAsC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAG7B,sBAAsB;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,yCAAyC;AACzC,OAAO,EACN,aAAa,EAEb,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,6DAA6D,CAAC;AAE3G,oCAAoC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,55 @@
1
+ import type { DomainEvent, AppendEventInput, Job, ScheduleJobInput, ClaimJobsOptions, ListEventsOptions, ListJobsOptions, OutboxRow, ListUnprocessedOutboxOptions, Page } from '../../types/events.js';
2
+ /**
3
+ * The durable spine: an append-only domain-event log plus a DB-backed job queue.
4
+ * All rows are organization-scoped. (The event-log read API — `listEvents` — lands
5
+ * with the admin history view in a later slice; there's no reader for it yet.)
6
+ */
7
+ export interface EventJobAdapter {
8
+ /**
9
+ * Append an immutable domain event AND its outbox worklist row, in one insert path.
10
+ * Call on the tx handle (inside `withTransaction`) so both commit atomically with the
11
+ * state change that caused them — the transactional-outbox guarantee. The outbox row is
12
+ * always written (even with no subscribers today): the relay decides fan-out at run time,
13
+ * so emission can't know whether anyone is listening.
14
+ */
15
+ appendEvent(input: AppendEventInput): Promise<DomainEvent>;
16
+ /** Read a single event by id (org-scoped). */
17
+ getEvent(organizationId: string, id: string): Promise<DomainEvent | null>;
18
+ /** List domain events for the org, newest first (read-only history / observability). */
19
+ listEvents(options: ListEventsOptions): Promise<Page<DomainEvent>>;
20
+ /**
21
+ * Read pending outbox rows (`processedAt IS NULL`), oldest first — the relay's input.
22
+ * No claim/lease: fan-out is idempotent (per event×consumer job key), so concurrent
23
+ * relays are safe. Omit `organizationId` to read across all orgs (worker context).
24
+ */
25
+ listUnprocessedOutbox(options: ListUnprocessedOutboxOptions): Promise<OutboxRow[]>;
26
+ /** Stamp `processedAt` once an outbox row has been fanned out to every subscriber. */
27
+ markOutboxProcessed(organizationId: string, id: string): Promise<void>;
28
+ /** Schedule a job. Idempotent when `idempotencyKey` is set: a duplicate key returns the existing job. */
29
+ scheduleJob(input: ScheduleJobInput): Promise<Job>;
30
+ /**
31
+ * Atomically claim up to `limit` due jobs with a lease, incrementing `attempts`.
32
+ * Claims jobs that are `pending` and due, or `leased` with an expired lease (crash recovery).
33
+ */
34
+ claimDueJobs(options: ClaimJobsOptions): Promise<Job[]>;
35
+ /** Mark a claimed job completed. */
36
+ completeJob(organizationId: string, id: string): Promise<void>;
37
+ /**
38
+ * Reschedule a claimed job for a later retry (backoff). Status → `pending`, `runAt`
39
+ * moves forward, the error is recorded, the lease is cleared. The backoff/max-attempts
40
+ * *policy* lives in the core runner; this is just the state transition.
41
+ */
42
+ retryJob(organizationId: string, id: string, options: {
43
+ runAt: Date;
44
+ error: string;
45
+ }): Promise<void>;
46
+ /** Dead-letter a claimed job: status → `failed`, record the error, clear the lease. */
47
+ failJob(organizationId: string, id: string, options: {
48
+ error: string;
49
+ }): Promise<void>;
50
+ /** Cancel a job (e.g. a scheduled publish the user called off): status → `cancelled`, clear the lease. */
51
+ cancelJob(organizationId: string, id: string): Promise<void>;
52
+ /** List jobs for the org, newest first (read-only history / observability). */
53
+ listJobs(options: ListJobsOptions): Promise<Page<Job>>;
54
+ }
55
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/events.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACX,WAAW,EACX,gBAAgB,EAChB,GAAG,EACH,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,4BAA4B,EAC5B,IAAI,EACJ,MAAM,oBAAoB,CAAC;AAE5B;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAE/B;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC3D,8CAA8C;IAC9C,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAC1E,wFAAwF;IACxF,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAGnE;;;;OAIG;IACH,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACnF,sFAAsF;IACtF,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAGvE,yGAAyG;IACzG,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACnD;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,oCAAoC;IACpC,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D;;;;OAIG;IACH,QAAQ,CACP,cAAc,EAAE,MAAM,EACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACrC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,uFAAuF;IACvF,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,0GAA0G;IAC1G,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;CACvD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/events.ts"],"names":[],"mappings":""}
@@ -7,6 +7,8 @@ import type { InstanceAdapter } from './instance.js';
7
7
  import type { RolesAdapter } from './role.js';
8
8
  import type { ReferenceAdapter } from './reference.js';
9
9
  import type { PluginSettingsAdapter } from './plugin-settings.js';
10
+ import type { EventJobAdapter } from './events.js';
11
+ import type { PluginStorageAdapter } from './plugin-storage.js';
10
12
  export type { DocumentAdapter, DocumentFilters, CreateDocumentData, UpdateDocumentData } from './document.js';
11
13
  export type { AssetAdapter, CreateAssetData, UpdateAssetData } from './asset.js';
12
14
  export type { UserProfileAdapter, NewUserProfileData } from './user.js';
@@ -16,11 +18,13 @@ export type { InstanceAdapter, InstanceSettings } from './instance.js';
16
18
  export type { RolesAdapter } from './role.js';
17
19
  export type { ReferenceAdapter, BackReferenceRow, BackReferenceLookup } from './reference.js';
18
20
  export type { PluginSettingsAdapter, PluginSettingsRow } from './plugin-settings.js';
21
+ export type { EventJobAdapter } from './events.js';
22
+ export type { PluginStorageAdapter, PluginStorageRecord, CreatePluginRecordInput, ListPluginRecordsOptions } from './plugin-storage.js';
19
23
  /**
20
24
  * Combined database adapter interface
21
25
  * Extends all entity-specific adapters for full database functionality
22
26
  */
23
- export interface DatabaseAdapter extends DocumentAdapter, AssetAdapter, UserProfileAdapter, SchemaAdapter, OrganizationAdapter, InstanceAdapter, RolesAdapter, ReferenceAdapter, PluginSettingsAdapter {
27
+ export interface DatabaseAdapter extends DocumentAdapter, AssetAdapter, UserProfileAdapter, SchemaAdapter, OrganizationAdapter, InstanceAdapter, RolesAdapter, ReferenceAdapter, PluginSettingsAdapter, EventJobAdapter, PluginStorageAdapter {
24
28
  connect?(): Promise<void>;
25
29
  disconnect?(): Promise<void>;
26
30
  isHealthy(): Promise<boolean>;
@@ -46,8 +50,12 @@ export interface DatabaseAdapter extends DocumentAdapter, AssetAdapter, UserProf
46
50
  * Execute multiple adapter operations in a single atomic transaction.
47
51
  * The callback receives a transactional version of the adapter — all operations
48
52
  * within it share the same DB transaction and commit/rollback together.
53
+ *
54
+ * Required: every first-party adapter implements this. It is the outbox seam —
55
+ * emitting a domain event (`appendEvent`) alongside a state change in one callback
56
+ * is what makes event emission atomic with the write that caused it.
49
57
  */
50
- withTransaction?<T>(fn: (adapter: DatabaseAdapter) => Promise<T>): Promise<T>;
58
+ withTransaction<T>(fn: (adapter: DatabaseAdapter) => Promise<T>): Promise<T>;
51
59
  }
52
60
  /**
53
61
  * Database provider factory interface
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { Page } from '../../types/events.js';
2
+ /** A stored plugin record — arbitrary JSON data under a `(plugin, collection)` namespace. */
3
+ export interface PluginStorageRecord {
4
+ id: string;
5
+ organizationId: string;
6
+ /** Owning plugin namespace, e.g. `'forms'`. Package-namespace it to avoid collisions. */
7
+ plugin: string;
8
+ /** Sub-namespace within the plugin, e.g. a form's id `'contact'`. */
9
+ collection: string;
10
+ /** Arbitrary JSON payload the plugin defines. */
11
+ data: Record<string, unknown>;
12
+ createdAt: Date;
13
+ }
14
+ /** Input to persist a record. `id` may be supplied so it can match a related event's id. */
15
+ export interface CreatePluginRecordInput {
16
+ id?: string;
17
+ organizationId: string;
18
+ plugin: string;
19
+ collection: string;
20
+ data: Record<string, unknown>;
21
+ }
22
+ /** Query for a plugin's records (newest first). */
23
+ export interface ListPluginRecordsOptions {
24
+ organizationId: string;
25
+ plugin: string;
26
+ /** Filter to one collection within the plugin. */
27
+ collection?: string;
28
+ limit?: number;
29
+ offset?: number;
30
+ }
31
+ export interface PluginStorageAdapter {
32
+ /** Persist a record. Call on the tx handle to commit it atomically with `appendEvent`. */
33
+ createPluginRecord(input: CreatePluginRecordInput): Promise<PluginStorageRecord>;
34
+ /** Read one record by id (org-scoped) — e.g. a consumer resolving an event's record id. */
35
+ getPluginRecord(organizationId: string, id: string): Promise<PluginStorageRecord | null>;
36
+ /** List a plugin's records (optionally one collection), newest first. */
37
+ listPluginRecords(options: ListPluginRecordsOptions): Promise<Page<PluginStorageRecord>>;
38
+ }
39
+ //# sourceMappingURL=plugin-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-storage.d.ts","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/plugin-storage.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,6FAA6F;AAC7F,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,IAAI,CAAC;CAChB;AAED,4FAA4F;AAC5F,MAAM,WAAW,uBAAuB;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAED,mDAAmD;AACnD,MAAM,WAAW,wBAAwB;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACpC,0FAA0F;IAC1F,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjF,2FAA2F;IAC3F,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACzF,yEAAyE;IACzE,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;CACzF"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=plugin-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-storage.js","sourceRoot":"","sources":["../../../../src/lib/db/interfaces/plugin-storage.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ import { z } from 'zod';
2
+ /** Emitted after a document's draft is copied to published, inside the publish transaction. */
3
+ export declare const documentPublished: import("./define-event.js").EventDefinition<"document.published", z.ZodObject<{
4
+ documentId: z.ZodString;
5
+ documentType: z.ZodString;
6
+ publishedHash: z.ZodNullable<z.ZodString>;
7
+ }, z.core.$strip>>;
8
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/lib/events/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,+FAA+F;AAC/F,eAAO,MAAM,iBAAiB;;;;kBAO7B,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod';
2
+ import { defineEvent } from './define-event.js';
3
+ // Built-in event catalog. The payload carries identifiers + intentional metadata only —
4
+ // never secrets or full document copies (the log is not a content mirror). `organizationId`
5
+ // and `createdBy` are columns on the row, so they're not repeated in the payload.
6
+ /** Emitted after a document's draft is copied to published, inside the publish transaction. */
7
+ export const documentPublished = defineEvent('document.published', z.object({
8
+ documentId: z.string(),
9
+ documentType: z.string(),
10
+ publishedHash: z.string().nullable()
11
+ }));
12
+ //# sourceMappingURL=catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/lib/events/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,wFAAwF;AACxF,4FAA4F;AAC5F,kFAAkF;AAElF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAC3C,oBAAoB,EACpB,CAAC,CAAC,MAAM,CAAC;IACR,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;IACtB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CACF,CAAC"}
@@ -0,0 +1,79 @@
1
+ import type { DatabaseAdapter } from '../db/interfaces/index.js';
2
+ import type { EmailAdapter } from '../email/interfaces/email.js';
3
+ import type { Logger } from '../utils/logger.js';
4
+ import type { JobHandler } from '../jobs/types.js';
5
+ /**
6
+ * The event as a consumer sees it — the immutable fields of the `cms_domain_events` row that
7
+ * triggered this delivery. `id` is the event's id (stable across retries of the same
8
+ * delivery), so a consumer can dedupe on it if its side effect isn't naturally idempotent.
9
+ */
10
+ export interface ConsumedEvent {
11
+ id: string;
12
+ type: string;
13
+ organizationId: string;
14
+ payload: Record<string, unknown>;
15
+ correlationId: string | null;
16
+ causationId: string | null;
17
+ createdBy: string | null;
18
+ createdAt: Date;
19
+ }
20
+ /**
21
+ * Reads a plugin's resolved, **decrypted** per-org settings — bound to the triggering event's
22
+ * organization, so a consumer can pull its own config (connection details, `secret` fields like
23
+ * API keys) without threading org ids around. `pluginId` is the settings declaration's id (the
24
+ * plugin's package name); an author reading their own plugin's settings passes their own id.
25
+ * The `.get(orgId, pluginId)` on the host's PluginSettingsService satisfies this structurally.
26
+ */
27
+ export interface PluginSettingsReader {
28
+ get(organizationId: string, pluginId: string): Promise<Record<string, unknown>>;
29
+ }
30
+ /** The consumer-facing settings accessor — already scoped to the event's org. */
31
+ export interface ConsumerSettingsReader {
32
+ /** Decrypted settings for `pluginId` in the event's organization ({} if never configured). */
33
+ get(pluginId: string): Promise<Record<string, unknown>>;
34
+ }
35
+ /** What an event-consumer handler receives. `databaseAdapter` is the live adapter (org-scoped calls take an org id). */
36
+ export interface EventConsumerContext {
37
+ event: ConsumedEvent;
38
+ databaseAdapter: DatabaseAdapter;
39
+ logger: Logger;
40
+ /** Read this plugin's own decrypted settings for the event's org (e.g. a webhook URL secret). */
41
+ settings: ConsumerSettingsReader;
42
+ /**
43
+ * The configured email adapter, or `null` when the app has no email configured. A consumer that
44
+ * sends notifications (e.g. a form's "new submission" email) must handle `null` — treat it as
45
+ * "email disabled" and skip, never throw, so a missing key doesn't dead-letter the delivery.
46
+ */
47
+ emailAdapter: EmailAdapter | null;
48
+ }
49
+ /** Runtime services the consumer wrapper injects into each delivery's context. */
50
+ export interface ConsumerHandlerDeps {
51
+ pluginSettingsService: PluginSettingsReader;
52
+ /** The app's email adapter (or `null` if email isn't configured). Passed straight to the consumer. */
53
+ emailAdapter?: EmailAdapter | null;
54
+ }
55
+ /**
56
+ * Runs when a subscribed event fires. Resolve to ack the delivery; throw to retry it (with
57
+ * backoff, until the delivery job's attempts are exhausted, then dead-letter). MUST be
58
+ * idempotent: at-least-once delivery means it can run more than once for the same event.
59
+ */
60
+ export type EventConsumerHandler = (ctx: EventConsumerContext) => Promise<void>;
61
+ /**
62
+ * Reserved job-type prefix for consumer deliveries. Namespaced so a delivery job can never
63
+ * collide with a document job or a plugin's own `aphex/job/handler` type. The relay enqueues
64
+ * `consumerJobType(id)`; the resolver registers the matching handler under the same key.
65
+ */
66
+ export declare const CONSUMER_JOB_PREFIX = "aphex/consumer:";
67
+ /** The delivery job type for a consumer id. */
68
+ export declare function consumerJobType(consumerId: string): string;
69
+ /** Build the delivery job payload for an event (the relay's side of the envelope). */
70
+ export declare function toDeliveryPayload(event: ConsumedEvent): Record<string, unknown>;
71
+ /**
72
+ * Adapt an `EventConsumerHandler` into a `JobHandler`. The runner calls the returned function
73
+ * with a claimed delivery job; it reconstructs the `ConsumedEvent` from the job payload, binds
74
+ * a settings reader to the event's org, and invokes the consumer. Throwing propagates to the
75
+ * runner as a retryable failure. `deps` is injected by the runner (`runJobsBatch`), which is
76
+ * where the live services live — the resolver only knows which consumers exist, not how to run them.
77
+ */
78
+ export declare function toConsumerJobHandler(handler: EventConsumerHandler, deps: ConsumerHandlerDeps): JobHandler;
79
+ //# sourceMappingURL=consumer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../../../src/lib/events/consumer.ts"],"names":[],"mappings":"AAWA,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,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,IAAI,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACpC,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAChF;AAED,iFAAiF;AACjF,MAAM,WAAW,sBAAsB;IACtC,8FAA8F;IAC9F,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACxD;AAED,wHAAwH;AACxH,MAAM,WAAW,oBAAoB;IACpC,KAAK,EAAE,aAAa,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,QAAQ,EAAE,sBAAsB,CAAC;IACjC;;;;OAIG;IACH,YAAY,EAAE,YAAY,GAAG,IAAI,CAAC;CAClC;AAED,kFAAkF;AAClF,MAAM,WAAW,mBAAmB;IACnC,qBAAqB,EAAE,oBAAoB,CAAC;IAC5C,sGAAsG;IACtG,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAErD,+CAA+C;AAC/C,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE1D;AAqBD,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAa/E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CACnC,OAAO,EAAE,oBAAoB,EAC7B,IAAI,EAAE,mBAAmB,GACvB,UAAU,CAcZ"}
@@ -0,0 +1,77 @@
1
+ // Event consumers — the "react to a fact" surface. A consumer subscribes to one or more
2
+ // domain-event types and runs when they fire. It is NOT called inline at emit time: the
3
+ // relay turns each event into a durable delivery *job* (one per subscribed consumer), and
4
+ // the ordinary job runner executes it — so a consumer inherits retries, backoff, and
5
+ // dead-lettering for free, and a slow/failing consumer never blocks the write that emitted
6
+ // the event.
7
+ //
8
+ // This module is the bridge between the two halves: `EventConsumerHandler` is what a plugin
9
+ // author writes; `toConsumerJobHandler` adapts it to a `JobHandler` the runner understands,
10
+ // and `consumerJobType` is the reserved job-type namespace the relay enqueues under.
11
+ import { z } from 'zod';
12
+ /**
13
+ * Reserved job-type prefix for consumer deliveries. Namespaced so a delivery job can never
14
+ * collide with a document job or a plugin's own `aphex/job/handler` type. The relay enqueues
15
+ * `consumerJobType(id)`; the resolver registers the matching handler under the same key.
16
+ */
17
+ export const CONSUMER_JOB_PREFIX = 'aphex/consumer:';
18
+ /** The delivery job type for a consumer id. */
19
+ export function consumerJobType(consumerId) {
20
+ return `${CONSUMER_JOB_PREFIX}${consumerId}`;
21
+ }
22
+ /**
23
+ * The delivery job's payload envelope. The relay serializes the triggering event into this
24
+ * shape; `toConsumerJobHandler` parses it back out — parsing (not casting) so a malformed
25
+ * payload fails loudly at the handler boundary rather than reaching consumer code as `any`.
26
+ * `createdAt` crosses the DB as a JSON string and is coerced back to a `Date`.
27
+ */
28
+ const deliveryEnvelope = z.object({
29
+ event: z.object({
30
+ id: z.string(),
31
+ type: z.string(),
32
+ organizationId: z.string(),
33
+ payload: z.record(z.string(), z.unknown()).default({}),
34
+ correlationId: z.string().nullable().default(null),
35
+ causationId: z.string().nullable().default(null),
36
+ createdBy: z.string().nullable().default(null),
37
+ createdAt: z.coerce.date()
38
+ })
39
+ });
40
+ /** Build the delivery job payload for an event (the relay's side of the envelope). */
41
+ export function toDeliveryPayload(event) {
42
+ return {
43
+ event: {
44
+ id: event.id,
45
+ type: event.type,
46
+ organizationId: event.organizationId,
47
+ payload: event.payload,
48
+ correlationId: event.correlationId,
49
+ causationId: event.causationId,
50
+ createdBy: event.createdBy,
51
+ createdAt: event.createdAt.toISOString()
52
+ }
53
+ };
54
+ }
55
+ /**
56
+ * Adapt an `EventConsumerHandler` into a `JobHandler`. The runner calls the returned function
57
+ * with a claimed delivery job; it reconstructs the `ConsumedEvent` from the job payload, binds
58
+ * a settings reader to the event's org, and invokes the consumer. Throwing propagates to the
59
+ * runner as a retryable failure. `deps` is injected by the runner (`runJobsBatch`), which is
60
+ * where the live services live — the resolver only knows which consumers exist, not how to run them.
61
+ */
62
+ export function toConsumerJobHandler(handler, deps) {
63
+ return async ({ job, databaseAdapter, logger }) => {
64
+ const { event } = deliveryEnvelope.parse(job.payload);
65
+ const settings = {
66
+ get: (pluginId) => deps.pluginSettingsService.get(event.organizationId, pluginId)
67
+ };
68
+ await handler({
69
+ event,
70
+ databaseAdapter,
71
+ logger,
72
+ settings,
73
+ emailAdapter: deps.emailAdapter ?? null
74
+ });
75
+ };
76
+ }
77
+ //# sourceMappingURL=consumer.js.map
@@ -0,0 +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"}
@@ -0,0 +1,17 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * A typed domain-event definition: a stable `type` name paired with a zod schema for
4
+ * its payload. Mirrors the API-contract pattern (`api/schemas/*`) — one source of truth
5
+ * for the payload shape, with an inferred TS type. Emitters call `parse` so a malformed
6
+ * payload fails loudly at the write site rather than rotting in the log.
7
+ */
8
+ export interface EventDefinition<TName extends string, TSchema extends z.ZodTypeAny> {
9
+ type: TName;
10
+ schema: TSchema;
11
+ /** Validate + narrow an unknown payload to the event's payload type. Throws on mismatch. */
12
+ parse(payload: unknown): z.infer<TSchema>;
13
+ }
14
+ /** The payload type of an event definition. */
15
+ export type EventPayload<D> = D extends EventDefinition<string, infer S> ? z.infer<S> : never;
16
+ export declare function defineEvent<TName extends string, TSchema extends z.ZodTypeAny>(type: TName, schema: TSchema): EventDefinition<TName, TSchema>;
17
+ //# sourceMappingURL=define-event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-event.d.ts","sourceRoot":"","sources":["../../../src/lib/events/define-event.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AACH,MAAM,WAAW,eAAe,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,CAAC,CAAC,UAAU;IAClF,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;IAChB,4FAA4F;IAC5F,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;CAC1C;AAED,+CAA+C;AAC/C,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAE9F,wBAAgB,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,CAAC,CAAC,UAAU,EAC7E,IAAI,EAAE,KAAK,EACX,MAAM,EAAE,OAAO,GACb,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAMjC"}
@@ -0,0 +1,8 @@
1
+ export function defineEvent(type, schema) {
2
+ return {
3
+ type,
4
+ schema,
5
+ parse: (payload) => schema.parse(payload)
6
+ };
7
+ }
8
+ //# sourceMappingURL=define-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define-event.js","sourceRoot":"","sources":["../../../src/lib/events/define-event.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,WAAW,CAC1B,IAAW,EACX,MAAe;IAEf,OAAO;QACN,IAAI;QACJ,MAAM;QACN,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;KACzC,CAAC;AACH,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { DatabaseAdapter } from '../db/interfaces/index.js';
2
+ import type { Document } from '../types/document.js';
3
+ /**
4
+ * Emit `document.published` (and its outbox row) for a freshly published document. MUST be
5
+ * called on a TRANSACTION handle (from `withTransaction`) so the event commits atomically with
6
+ * the publish it describes — the transactional-outbox guarantee. Shared by every publish path,
7
+ * versioned and non-versioned alike, so the fact fires whenever a publish happens regardless of
8
+ * whether a version snapshot was taken.
9
+ */
10
+ export declare function emitDocumentPublished(tx: DatabaseAdapter, organizationId: string, doc: Document): Promise<void>;
11
+ //# sourceMappingURL=emit.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,21 @@
1
+ import { documentPublished } from './catalog.js';
2
+ /**
3
+ * Emit `document.published` (and its outbox row) for a freshly published document. MUST be
4
+ * called on a TRANSACTION handle (from `withTransaction`) so the event commits atomically with
5
+ * the publish it describes — the transactional-outbox guarantee. Shared by every publish path,
6
+ * versioned and non-versioned alike, so the fact fires whenever a publish happens regardless of
7
+ * whether a version snapshot was taken.
8
+ */
9
+ export async function emitDocumentPublished(tx, organizationId, doc) {
10
+ await tx.appendEvent({
11
+ organizationId,
12
+ type: documentPublished.type,
13
+ payload: documentPublished.parse({
14
+ documentId: doc.id,
15
+ documentType: doc.type,
16
+ publishedHash: doc.publishedHash ?? null
17
+ }),
18
+ createdBy: doc.updatedBy
19
+ });
20
+ }
21
+ //# sourceMappingURL=emit.js.map
@@ -0,0 +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"}
@@ -0,0 +1,4 @@
1
+ export * from './define-event.js';
2
+ export * from './catalog.js';
3
+ export * from './consumer.js';
4
+ //# sourceMappingURL=index.d.ts.map