@sonicjs-cms/core 2.19.0 → 3.0.0-beta.10

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 (230) hide show
  1. package/README.md +52 -52
  2. package/dist/admin-documents-form.template-DDSH6ROU.js +6 -0
  3. package/dist/{admin-layout-catalyst.template-UMTIN66R.js.map → admin-documents-form.template-DDSH6ROU.js.map} +1 -1
  4. package/dist/admin-documents-form.template-LSZKGA5J.cjs +19 -0
  5. package/dist/{admin-layout-catalyst.template-HFD37TY5.cjs.map → admin-documents-form.template-LSZKGA5J.cjs.map} +1 -1
  6. package/dist/{filter-bar.template-DlVYMk-T.d.cts → admin-layout-catalyst.template-DrwDUfsE.d.cts} +25 -1
  7. package/dist/{filter-bar.template-DlVYMk-T.d.ts → admin-layout-catalyst.template-DrwDUfsE.d.ts} +25 -1
  8. package/dist/admin-layout-catalyst.template-KDHKVLXR.cjs +21 -0
  9. package/dist/admin-layout-catalyst.template-KDHKVLXR.cjs.map +1 -0
  10. package/dist/admin-layout-catalyst.template-YQ4EMF2J.js +7 -0
  11. package/dist/admin-layout-catalyst.template-YQ4EMF2J.js.map +1 -0
  12. package/dist/app-Bo0X1OWX.d.ts +1268 -0
  13. package/dist/app-Do66yCcV.d.cts +1268 -0
  14. package/dist/cache-DDARE4QE.js +4 -0
  15. package/dist/cache-DDARE4QE.js.map +1 -0
  16. package/dist/cache-LVYS4BPL.cjs +33 -0
  17. package/dist/cache-LVYS4BPL.cjs.map +1 -0
  18. package/dist/chunk-2CB4KY7I.cjs +771 -0
  19. package/dist/chunk-2CB4KY7I.cjs.map +1 -0
  20. package/dist/{chunk-ABB34XUS.cjs → chunk-3KYKEXV7.cjs} +667 -19
  21. package/dist/chunk-3KYKEXV7.cjs.map +1 -0
  22. package/dist/chunk-4BTBSXMR.cjs +912 -0
  23. package/dist/chunk-4BTBSXMR.cjs.map +1 -0
  24. package/dist/{chunk-55RDMDOP.js → chunk-5V62WT6M.js} +181 -57
  25. package/dist/chunk-5V62WT6M.js.map +1 -0
  26. package/dist/{chunk-OCL3HMEG.js → chunk-6OC6MF3C.js} +7004 -9807
  27. package/dist/chunk-6OC6MF3C.js.map +1 -0
  28. package/dist/chunk-AI663NBO.js +821 -0
  29. package/dist/chunk-AI663NBO.js.map +1 -0
  30. package/dist/chunk-ALDRXTUO.js +273 -0
  31. package/dist/chunk-ALDRXTUO.js.map +1 -0
  32. package/dist/{chunk-TFNTM3OA.js → chunk-ATUPB6MN.js} +645 -15
  33. package/dist/chunk-ATUPB6MN.js.map +1 -0
  34. package/dist/chunk-BLMTL57B.js +767 -0
  35. package/dist/chunk-BLMTL57B.js.map +1 -0
  36. package/dist/{chunk-4ZSNJDLS.cjs → chunk-CRGUD4KC.cjs} +9 -9
  37. package/dist/chunk-CRGUD4KC.cjs.map +1 -0
  38. package/dist/chunk-F67UK75A.cjs +158 -0
  39. package/dist/chunk-F67UK75A.cjs.map +1 -0
  40. package/dist/chunk-GCDZZNIN.js +192 -0
  41. package/dist/chunk-GCDZZNIN.js.map +1 -0
  42. package/dist/chunk-HIKBY7MS.cjs +70 -0
  43. package/dist/chunk-HIKBY7MS.cjs.map +1 -0
  44. package/dist/{chunk-4NPCDK6B.js → chunk-IDCZBF35.js} +557 -90
  45. package/dist/chunk-IDCZBF35.js.map +1 -0
  46. package/dist/chunk-IESEVHXL.js +66 -0
  47. package/dist/chunk-IESEVHXL.js.map +1 -0
  48. package/dist/chunk-IGADDMXH.js +387 -0
  49. package/dist/chunk-IGADDMXH.js.map +1 -0
  50. package/dist/chunk-IHTXB7AT.cjs +276 -0
  51. package/dist/chunk-IHTXB7AT.cjs.map +1 -0
  52. package/dist/chunk-IVPRUGTY.js +242 -0
  53. package/dist/chunk-IVPRUGTY.js.map +1 -0
  54. package/dist/{chunk-JZVHLLSI.cjs → chunk-IXUHXTHW.cjs} +2 -151
  55. package/dist/chunk-IXUHXTHW.cjs.map +1 -0
  56. package/dist/chunk-J6JTWD2A.cjs +100 -0
  57. package/dist/chunk-J6JTWD2A.cjs.map +1 -0
  58. package/dist/chunk-JEQ7FLOD.cjs +199 -0
  59. package/dist/chunk-JEQ7FLOD.cjs.map +1 -0
  60. package/dist/{chunk-ON5ZMSU4.js → chunk-JQISFW6U.js} +3 -3
  61. package/dist/chunk-JQISFW6U.js.map +1 -0
  62. package/dist/chunk-K25XHMM3.js +566 -0
  63. package/dist/chunk-K25XHMM3.js.map +1 -0
  64. package/dist/{chunk-UYJ6TJHX.cjs → chunk-K623Q6WD.cjs} +181 -56
  65. package/dist/chunk-K623Q6WD.cjs.map +1 -0
  66. package/dist/{chunk-7A4CB7T3.cjs → chunk-MUNO67TT.cjs} +561 -91
  67. package/dist/chunk-MUNO67TT.cjs.map +1 -0
  68. package/dist/chunk-N32OWET6.cjs +327 -0
  69. package/dist/chunk-N32OWET6.cjs.map +1 -0
  70. package/dist/chunk-NUKJ54GA.cjs +245 -0
  71. package/dist/chunk-NUKJ54GA.cjs.map +1 -0
  72. package/dist/{chunk-XWIA3HVX.js → chunk-OBA2RYZN.js} +6 -1249
  73. package/dist/chunk-OBA2RYZN.js.map +1 -0
  74. package/dist/chunk-PMGOBS6X.cjs +408 -0
  75. package/dist/chunk-PMGOBS6X.cjs.map +1 -0
  76. package/dist/{chunk-OHYBNCVL.cjs → chunk-PXNTCCPE.cjs} +10 -1256
  77. package/dist/chunk-PXNTCCPE.cjs.map +1 -0
  78. package/dist/chunk-PYVFXCSD.js +1828 -0
  79. package/dist/chunk-PYVFXCSD.js.map +1 -0
  80. package/dist/{chunk-BU7SFHGP.js → chunk-QZGABF2M.js} +3 -149
  81. package/dist/chunk-QZGABF2M.js.map +1 -0
  82. package/dist/{chunk-E4YFJBM2.cjs → chunk-R4ILO3W6.cjs} +876 -829
  83. package/dist/chunk-R4ILO3W6.cjs.map +1 -0
  84. package/dist/chunk-RMRJGMDE.js +323 -0
  85. package/dist/chunk-RMRJGMDE.js.map +1 -0
  86. package/dist/chunk-RNZFGN4R.js +88 -0
  87. package/dist/chunk-RNZFGN4R.js.map +1 -0
  88. package/dist/chunk-RQ6N3FTV.js +900 -0
  89. package/dist/chunk-RQ6N3FTV.js.map +1 -0
  90. package/dist/{chunk-R4FOLLFB.cjs → chunk-TO6EY4P7.cjs} +8730 -11520
  91. package/dist/chunk-TO6EY4P7.cjs.map +1 -0
  92. package/dist/chunk-V464XBYS.js +154 -0
  93. package/dist/chunk-V464XBYS.js.map +1 -0
  94. package/dist/chunk-YA3TJ65D.cjs +575 -0
  95. package/dist/chunk-YA3TJ65D.cjs.map +1 -0
  96. package/dist/chunk-YP7GW2G5.cjs +866 -0
  97. package/dist/chunk-YP7GW2G5.cjs.map +1 -0
  98. package/dist/{collection-config-B4PG-AaF.d.cts → collection-config-JgHOpFCG.d.cts} +30 -2
  99. package/dist/{collection-config-B4PG-AaF.d.ts → collection-config-JgHOpFCG.d.ts} +30 -2
  100. package/dist/config-HFXANXCC.js +6 -0
  101. package/dist/config-HFXANXCC.js.map +1 -0
  102. package/dist/config-ON6FNMYX.cjs +19 -0
  103. package/dist/config-ON6FNMYX.cjs.map +1 -0
  104. package/dist/define-plugin-BzNHc1ZI.d.ts +1321 -0
  105. package/dist/define-plugin-IWDKYaVm.d.cts +1321 -0
  106. package/dist/document-projection-TDWRJX3Z.cjs +13 -0
  107. package/dist/document-projection-TDWRJX3Z.cjs.map +1 -0
  108. package/dist/document-projection-YYMC6I4U.js +4 -0
  109. package/dist/document-projection-YYMC6I4U.js.map +1 -0
  110. package/dist/index.cjs +13736 -4326
  111. package/dist/index.cjs.map +1 -1
  112. package/dist/index.d.cts +331 -493
  113. package/dist/index.d.ts +331 -493
  114. package/dist/index.js +13455 -4067
  115. package/dist/index.js.map +1 -1
  116. package/dist/middleware.cjs +38 -32
  117. package/dist/middleware.d.cts +50 -7
  118. package/dist/middleware.d.ts +50 -7
  119. package/dist/middleware.js +9 -3
  120. package/dist/migrations-2XHQEGOQ.cjs +13 -0
  121. package/dist/{migrations-566IIPS2.cjs.map → migrations-2XHQEGOQ.cjs.map} +1 -1
  122. package/dist/migrations-PE3CDVSM.js +4 -0
  123. package/dist/{migrations-H5IXZNCO.js.map → migrations-PE3CDVSM.js.map} +1 -1
  124. package/dist/{plugin-bootstrap-DfVerYV4.d.cts → plugin-bootstrap-B8ThJU21.d.cts} +4315 -1661
  125. package/dist/{plugin-bootstrap-P_ciLp_C.d.ts → plugin-bootstrap-qu8hJgUt.d.ts} +4315 -1661
  126. package/dist/plugins.cjs +171 -12
  127. package/dist/plugins.d.cts +36 -2
  128. package/dist/plugins.d.ts +36 -2
  129. package/dist/plugins.js +5 -2
  130. package/dist/rbac-O73MFKDA.js +5 -0
  131. package/dist/rbac-O73MFKDA.js.map +1 -0
  132. package/dist/rbac-VONLJJKB.cjs +14 -0
  133. package/dist/rbac-VONLJJKB.cjs.map +1 -0
  134. package/dist/routes.cjs +42 -46
  135. package/dist/routes.d.cts +56 -146
  136. package/dist/routes.d.ts +56 -146
  137. package/dist/routes.js +18 -10
  138. package/dist/services.cjs +43 -76
  139. package/dist/services.d.cts +93 -55
  140. package/dist/services.d.ts +93 -55
  141. package/dist/services.js +6 -3
  142. package/dist/{telemetry-B9vIV4wh.d.cts → telemetry-Cku1ax74.d.cts} +1 -1
  143. package/dist/{telemetry-B9vIV4wh.d.ts → telemetry-Cku1ax74.d.ts} +1 -1
  144. package/dist/templates.cjs +17 -29
  145. package/dist/templates.d.cts +2 -89
  146. package/dist/templates.d.ts +2 -89
  147. package/dist/templates.js +3 -3
  148. package/dist/types-Dea1eNxU.d.cts +286 -0
  149. package/dist/types-Dea1eNxU.d.ts +286 -0
  150. package/dist/types.d.cts +2 -2
  151. package/dist/types.d.ts +2 -2
  152. package/dist/utils.cjs +21 -20
  153. package/dist/utils.d.cts +2 -2
  154. package/dist/utils.d.ts +2 -2
  155. package/dist/utils.js +3 -2
  156. package/migrations/0001_core.sql +184 -0
  157. package/migrations/0002_documents.sql +163 -0
  158. package/package.json +12 -7
  159. package/dist/admin-layout-catalyst.template-HFD37TY5.cjs +0 -17
  160. package/dist/admin-layout-catalyst.template-UMTIN66R.js +0 -7
  161. package/dist/app-C9esKLmh.d.cts +0 -112
  162. package/dist/app-C9esKLmh.d.ts +0 -112
  163. package/dist/chunk-4NPCDK6B.js.map +0 -1
  164. package/dist/chunk-4ZSNJDLS.cjs.map +0 -1
  165. package/dist/chunk-55RDMDOP.js.map +0 -1
  166. package/dist/chunk-635JAMSE.cjs +0 -653
  167. package/dist/chunk-635JAMSE.cjs.map +0 -1
  168. package/dist/chunk-7A4CB7T3.cjs.map +0 -1
  169. package/dist/chunk-ABB34XUS.cjs.map +0 -1
  170. package/dist/chunk-BU7SFHGP.js.map +0 -1
  171. package/dist/chunk-E4YFJBM2.cjs.map +0 -1
  172. package/dist/chunk-EXNEW5US.js +0 -648
  173. package/dist/chunk-EXNEW5US.js.map +0 -1
  174. package/dist/chunk-JZV22DEV.js +0 -1783
  175. package/dist/chunk-JZV22DEV.js.map +0 -1
  176. package/dist/chunk-JZVHLLSI.cjs.map +0 -1
  177. package/dist/chunk-OCL3HMEG.js.map +0 -1
  178. package/dist/chunk-OHYBNCVL.cjs.map +0 -1
  179. package/dist/chunk-ON5ZMSU4.js.map +0 -1
  180. package/dist/chunk-QFWHAFEO.js +0 -1843
  181. package/dist/chunk-QFWHAFEO.js.map +0 -1
  182. package/dist/chunk-R4FOLLFB.cjs.map +0 -1
  183. package/dist/chunk-RLMUFFUD.cjs +0 -2219
  184. package/dist/chunk-RLMUFFUD.cjs.map +0 -1
  185. package/dist/chunk-TFNTM3OA.js.map +0 -1
  186. package/dist/chunk-UYJ6TJHX.cjs.map +0 -1
  187. package/dist/chunk-WAEQXGCX.cjs +0 -1898
  188. package/dist/chunk-WAEQXGCX.cjs.map +0 -1
  189. package/dist/chunk-XWIA3HVX.js.map +0 -1
  190. package/dist/chunk-ZYAYUIZE.js +0 -2217
  191. package/dist/chunk-ZYAYUIZE.js.map +0 -1
  192. package/dist/migrations-566IIPS2.cjs +0 -13
  193. package/dist/migrations-H5IXZNCO.js +0 -4
  194. package/dist/plugin-manager-BoM3Q7o7.d.cts +0 -328
  195. package/dist/plugin-manager-Efx9RyDX.d.ts +0 -328
  196. package/migrations/001_initial_schema.sql +0 -170
  197. package/migrations/002_faq_plugin.sql +0 -86
  198. package/migrations/003_stage5_enhancements.sql +0 -121
  199. package/migrations/004_stage6_user_management.sql +0 -183
  200. package/migrations/005_stage7_workflow_automation.sql +0 -294
  201. package/migrations/006_plugin_system.sql +0 -155
  202. package/migrations/007_demo_login_plugin.sql +0 -23
  203. package/migrations/008_fix_slug_validation.sql +0 -22
  204. package/migrations/009_system_logging.sql +0 -57
  205. package/migrations/011_config_managed_collections.sql +0 -15
  206. package/migrations/012_testimonials_plugin.sql +0 -80
  207. package/migrations/013_code_examples_plugin.sql +0 -177
  208. package/migrations/014_fix_plugin_registry.sql +0 -88
  209. package/migrations/015_add_remaining_plugins.sql +0 -89
  210. package/migrations/016_remove_duplicate_cache_plugin.sql +0 -17
  211. package/migrations/017_auth_configurable_fields.sql +0 -49
  212. package/migrations/018_settings_table.sql +0 -23
  213. package/migrations/019_remove_blog_posts_collection.sql +0 -15
  214. package/migrations/020_add_email_plugin.sql +0 -22
  215. package/migrations/021_add_magic_link_auth_plugin.sql +0 -42
  216. package/migrations/022_add_tinymce_plugin.sql +0 -25
  217. package/migrations/023_add_easy_mdx_plugin.sql +0 -25
  218. package/migrations/024_add_quill_editor_plugin.sql +0 -25
  219. package/migrations/025_add_easymde_plugin.sql +0 -25
  220. package/migrations/026_add_otp_login.sql +0 -42
  221. package/migrations/027_fix_slug_field_type.sql +0 -18
  222. package/migrations/028_fix_slug_field_type_in_schemas.sql +0 -30
  223. package/migrations/029_add_forms_system.sql +0 -184
  224. package/migrations/030_add_turnstile_to_forms.sql +0 -14
  225. package/migrations/031_ai_search_plugin.sql +0 -45
  226. package/migrations/032_user_profiles.sql +0 -37
  227. package/migrations/033_form_content_integration.sql +0 -19
  228. package/migrations/034_security_audit_plugin.sql +0 -27
  229. package/migrations/035_user_profiles_data_column.sql +0 -16
  230. package/migrations/036_analytics_events.sql +0 -22
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var chunk4ZSNJDLS_cjs = require('./chunk-4ZSNJDLS.cjs');
4
- var chunkOHYBNCVL_cjs = require('./chunk-OHYBNCVL.cjs');
5
- var chunkUYJ6TJHX_cjs = require('./chunk-UYJ6TJHX.cjs');
3
+ var chunkCRGUD4KC_cjs = require('./chunk-CRGUD4KC.cjs');
4
+ var chunkPXNTCCPE_cjs = require('./chunk-PXNTCCPE.cjs');
5
+ var chunkK623Q6WD_cjs = require('./chunk-K623Q6WD.cjs');
6
6
  require('./chunk-MNWKYY5E.cjs');
7
7
  require('./chunk-IGJUBJBW.cjs');
8
8
 
@@ -10,71 +10,59 @@ require('./chunk-IGJUBJBW.cjs');
10
10
 
11
11
  Object.defineProperty(exports, "renderFilterBar", {
12
12
  enumerable: true,
13
- get: function () { return chunk4ZSNJDLS_cjs.renderFilterBar; }
13
+ get: function () { return chunkCRGUD4KC_cjs.renderFilterBar; }
14
14
  });
15
15
  Object.defineProperty(exports, "renderFormsDocsPage", {
16
16
  enumerable: true,
17
- get: function () { return chunk4ZSNJDLS_cjs.renderFormsDocsPage; }
17
+ get: function () { return chunkCRGUD4KC_cjs.renderFormsDocsPage; }
18
18
  });
19
19
  Object.defineProperty(exports, "renderFormsExamplesPage", {
20
20
  enumerable: true,
21
- get: function () { return chunk4ZSNJDLS_cjs.renderFormsExamplesPage; }
21
+ get: function () { return chunkCRGUD4KC_cjs.renderFormsExamplesPage; }
22
22
  });
23
23
  Object.defineProperty(exports, "getConfirmationDialogScript", {
24
24
  enumerable: true,
25
- get: function () { return chunkOHYBNCVL_cjs.getConfirmationDialogScript; }
25
+ get: function () { return chunkPXNTCCPE_cjs.getConfirmationDialogScript; }
26
26
  });
27
27
  Object.defineProperty(exports, "renderAdminLayout", {
28
28
  enumerable: true,
29
- get: function () { return chunkOHYBNCVL_cjs.renderAdminLayout; }
29
+ get: function () { return chunkPXNTCCPE_cjs.renderAdminLayout; }
30
30
  });
31
31
  Object.defineProperty(exports, "renderAlert", {
32
32
  enumerable: true,
33
- get: function () { return chunkOHYBNCVL_cjs.renderAlert; }
33
+ get: function () { return chunkPXNTCCPE_cjs.renderAlert; }
34
34
  });
35
35
  Object.defineProperty(exports, "renderCheckboxPage", {
36
36
  enumerable: true,
37
- get: function () { return chunkOHYBNCVL_cjs.renderCheckboxPage; }
38
- });
39
- Object.defineProperty(exports, "renderCodeExamplesList", {
40
- enumerable: true,
41
- get: function () { return chunkOHYBNCVL_cjs.renderCodeExamplesList; }
37
+ get: function () { return chunkPXNTCCPE_cjs.renderCheckboxPage; }
42
38
  });
43
39
  Object.defineProperty(exports, "renderConfirmationDialog", {
44
40
  enumerable: true,
45
- get: function () { return chunkOHYBNCVL_cjs.renderConfirmationDialog; }
46
- });
47
- Object.defineProperty(exports, "renderDesignPage", {
48
- enumerable: true,
49
- get: function () { return chunkOHYBNCVL_cjs.renderDesignPage; }
41
+ get: function () { return chunkPXNTCCPE_cjs.renderConfirmationDialog; }
50
42
  });
51
43
  Object.defineProperty(exports, "renderForm", {
52
44
  enumerable: true,
53
- get: function () { return chunkOHYBNCVL_cjs.renderForm; }
45
+ get: function () { return chunkPXNTCCPE_cjs.renderForm; }
54
46
  });
55
47
  Object.defineProperty(exports, "renderFormField", {
56
48
  enumerable: true,
57
- get: function () { return chunkOHYBNCVL_cjs.renderFormField; }
49
+ get: function () { return chunkPXNTCCPE_cjs.renderFormField; }
58
50
  });
59
51
  Object.defineProperty(exports, "renderPagination", {
60
52
  enumerable: true,
61
- get: function () { return chunkOHYBNCVL_cjs.renderPagination; }
53
+ get: function () { return chunkPXNTCCPE_cjs.renderPagination; }
62
54
  });
63
55
  Object.defineProperty(exports, "renderTable", {
64
56
  enumerable: true,
65
- get: function () { return chunkOHYBNCVL_cjs.renderTable; }
66
- });
67
- Object.defineProperty(exports, "renderTestimonialsList", {
68
- enumerable: true,
69
- get: function () { return chunkOHYBNCVL_cjs.renderTestimonialsList; }
57
+ get: function () { return chunkPXNTCCPE_cjs.renderTable; }
70
58
  });
71
59
  Object.defineProperty(exports, "renderAdminLayoutCatalyst", {
72
60
  enumerable: true,
73
- get: function () { return chunkUYJ6TJHX_cjs.renderAdminLayoutCatalyst; }
61
+ get: function () { return chunkK623Q6WD_cjs.renderAdminLayoutCatalyst; }
74
62
  });
75
63
  Object.defineProperty(exports, "renderLogo", {
76
64
  enumerable: true,
77
- get: function () { return chunkUYJ6TJHX_cjs.renderLogo; }
65
+ get: function () { return chunkK623Q6WD_cjs.renderLogo; }
78
66
  });
79
67
  //# sourceMappingURL=templates.cjs.map
80
68
  //# sourceMappingURL=templates.cjs.map
@@ -1,4 +1,4 @@
1
- export { A as AlertData, C as ConfirmationDialogOptions, F as Filter, a as FilterBarData, b as FilterOption, c as FormData, d as FormField, P as PaginationData, T as TableColumn, e as TableData, g as getConfirmationDialogScript, r as renderAlert, f as renderConfirmationDialog, h as renderFilterBar, i as renderForm, j as renderFormField, k as renderPagination, l as renderTable } from './filter-bar.template-DlVYMk-T.cjs';
1
+ export { A as AdminLayoutCatalystData, a as AlertData, C as ConfirmationDialogOptions, F as Filter, b as FilterBarData, c as FilterOption, d as FormData, e as FormField, P as PaginationData, T as TableColumn, f as TableData, g as getConfirmationDialogScript, r as renderAdminLayoutCatalyst, h as renderAlert, i as renderConfirmationDialog, j as renderFilterBar, k as renderForm, l as renderFormField, m as renderPagination, n as renderTable } from './admin-layout-catalyst.template-DrwDUfsE.cjs';
2
2
  import { HtmlEscapedString } from 'hono/utils/html';
3
3
 
4
4
  interface AdminLayoutData {
@@ -23,28 +23,6 @@ interface AdminLayoutData {
23
23
  }
24
24
  declare function renderAdminLayout(data: AdminLayoutData): string;
25
25
 
26
- interface AdminLayoutCatalystData {
27
- title: string;
28
- pageTitle?: string;
29
- currentPath?: string;
30
- version?: string;
31
- enableExperimentalFeatures?: boolean;
32
- user?: {
33
- name: string;
34
- email: string;
35
- role: string;
36
- };
37
- scripts?: string[];
38
- styles?: string[];
39
- content: string | HtmlEscapedString;
40
- dynamicMenuItems?: Array<{
41
- label: string;
42
- path: string;
43
- icon: string;
44
- }>;
45
- }
46
- declare function renderAdminLayoutCatalyst(data: AdminLayoutCatalystData): string;
47
-
48
26
  interface LogoData {
49
27
  size?: 'sm' | 'md' | 'lg' | 'xl';
50
28
  variant?: 'default' | 'white' | 'dark';
@@ -56,16 +34,6 @@ interface LogoData {
56
34
  }
57
35
  declare function renderLogo(data?: LogoData): string;
58
36
 
59
- interface DesignPageData {
60
- user?: {
61
- name: string;
62
- email: string;
63
- role: string;
64
- };
65
- version?: string;
66
- }
67
- declare function renderDesignPage(data: DesignPageData): string;
68
-
69
37
  interface CheckboxPageData {
70
38
  user?: {
71
39
  name: string;
@@ -75,61 +43,6 @@ interface CheckboxPageData {
75
43
  }
76
44
  declare function renderCheckboxPage(data: CheckboxPageData): string;
77
45
 
78
- interface Testimonial {
79
- id: number;
80
- author_name: string;
81
- author_title?: string;
82
- author_company?: string;
83
- testimonial_text: string;
84
- rating?: number;
85
- isPublished: boolean;
86
- sortOrder: number;
87
- created_at: number;
88
- updated_at: number;
89
- }
90
- interface TestimonialsListData {
91
- testimonials: Testimonial[];
92
- totalCount: number;
93
- currentPage: number;
94
- totalPages: number;
95
- user?: {
96
- name: string;
97
- email: string;
98
- role: string;
99
- };
100
- message?: string;
101
- messageType?: 'success' | 'error' | 'warning' | 'info';
102
- }
103
- declare function renderTestimonialsList(data: TestimonialsListData): string;
104
-
105
- interface CodeExample {
106
- id: number;
107
- title: string;
108
- description?: string;
109
- code: string;
110
- language: string;
111
- category?: string;
112
- tags?: string;
113
- isPublished: boolean;
114
- sortOrder: number;
115
- created_at: number;
116
- updated_at: number;
117
- }
118
- interface CodeExamplesListData {
119
- codeExamples: CodeExample[];
120
- totalCount: number;
121
- currentPage: number;
122
- totalPages: number;
123
- user?: {
124
- name: string;
125
- email: string;
126
- role: string;
127
- };
128
- message?: string;
129
- messageType?: 'success' | 'error' | 'warning' | 'info';
130
- }
131
- declare function renderCodeExamplesList(data: CodeExamplesListData): string;
132
-
133
46
  interface FormsDocsPageData {
134
47
  user?: {
135
48
  name: string;
@@ -150,4 +63,4 @@ interface FormsExamplesPageData {
150
63
  }
151
64
  declare function renderFormsExamplesPage(data: FormsExamplesPageData): string;
152
65
 
153
- export { type AdminLayoutCatalystData, type AdminLayoutData, type CheckboxPageData, type DesignPageData, type FormsDocsPageData, type FormsExamplesPageData, renderAdminLayout, renderAdminLayoutCatalyst, renderCheckboxPage, renderCodeExamplesList, renderDesignPage, renderFormsDocsPage, renderFormsExamplesPage, renderLogo, renderTestimonialsList };
66
+ export { type AdminLayoutData, type CheckboxPageData, type FormsDocsPageData, type FormsExamplesPageData, renderAdminLayout, renderCheckboxPage, renderFormsDocsPage, renderFormsExamplesPage, renderLogo };
@@ -1,4 +1,4 @@
1
- export { A as AlertData, C as ConfirmationDialogOptions, F as Filter, a as FilterBarData, b as FilterOption, c as FormData, d as FormField, P as PaginationData, T as TableColumn, e as TableData, g as getConfirmationDialogScript, r as renderAlert, f as renderConfirmationDialog, h as renderFilterBar, i as renderForm, j as renderFormField, k as renderPagination, l as renderTable } from './filter-bar.template-DlVYMk-T.js';
1
+ export { A as AdminLayoutCatalystData, a as AlertData, C as ConfirmationDialogOptions, F as Filter, b as FilterBarData, c as FilterOption, d as FormData, e as FormField, P as PaginationData, T as TableColumn, f as TableData, g as getConfirmationDialogScript, r as renderAdminLayoutCatalyst, h as renderAlert, i as renderConfirmationDialog, j as renderFilterBar, k as renderForm, l as renderFormField, m as renderPagination, n as renderTable } from './admin-layout-catalyst.template-DrwDUfsE.js';
2
2
  import { HtmlEscapedString } from 'hono/utils/html';
3
3
 
4
4
  interface AdminLayoutData {
@@ -23,28 +23,6 @@ interface AdminLayoutData {
23
23
  }
24
24
  declare function renderAdminLayout(data: AdminLayoutData): string;
25
25
 
26
- interface AdminLayoutCatalystData {
27
- title: string;
28
- pageTitle?: string;
29
- currentPath?: string;
30
- version?: string;
31
- enableExperimentalFeatures?: boolean;
32
- user?: {
33
- name: string;
34
- email: string;
35
- role: string;
36
- };
37
- scripts?: string[];
38
- styles?: string[];
39
- content: string | HtmlEscapedString;
40
- dynamicMenuItems?: Array<{
41
- label: string;
42
- path: string;
43
- icon: string;
44
- }>;
45
- }
46
- declare function renderAdminLayoutCatalyst(data: AdminLayoutCatalystData): string;
47
-
48
26
  interface LogoData {
49
27
  size?: 'sm' | 'md' | 'lg' | 'xl';
50
28
  variant?: 'default' | 'white' | 'dark';
@@ -56,16 +34,6 @@ interface LogoData {
56
34
  }
57
35
  declare function renderLogo(data?: LogoData): string;
58
36
 
59
- interface DesignPageData {
60
- user?: {
61
- name: string;
62
- email: string;
63
- role: string;
64
- };
65
- version?: string;
66
- }
67
- declare function renderDesignPage(data: DesignPageData): string;
68
-
69
37
  interface CheckboxPageData {
70
38
  user?: {
71
39
  name: string;
@@ -75,61 +43,6 @@ interface CheckboxPageData {
75
43
  }
76
44
  declare function renderCheckboxPage(data: CheckboxPageData): string;
77
45
 
78
- interface Testimonial {
79
- id: number;
80
- author_name: string;
81
- author_title?: string;
82
- author_company?: string;
83
- testimonial_text: string;
84
- rating?: number;
85
- isPublished: boolean;
86
- sortOrder: number;
87
- created_at: number;
88
- updated_at: number;
89
- }
90
- interface TestimonialsListData {
91
- testimonials: Testimonial[];
92
- totalCount: number;
93
- currentPage: number;
94
- totalPages: number;
95
- user?: {
96
- name: string;
97
- email: string;
98
- role: string;
99
- };
100
- message?: string;
101
- messageType?: 'success' | 'error' | 'warning' | 'info';
102
- }
103
- declare function renderTestimonialsList(data: TestimonialsListData): string;
104
-
105
- interface CodeExample {
106
- id: number;
107
- title: string;
108
- description?: string;
109
- code: string;
110
- language: string;
111
- category?: string;
112
- tags?: string;
113
- isPublished: boolean;
114
- sortOrder: number;
115
- created_at: number;
116
- updated_at: number;
117
- }
118
- interface CodeExamplesListData {
119
- codeExamples: CodeExample[];
120
- totalCount: number;
121
- currentPage: number;
122
- totalPages: number;
123
- user?: {
124
- name: string;
125
- email: string;
126
- role: string;
127
- };
128
- message?: string;
129
- messageType?: 'success' | 'error' | 'warning' | 'info';
130
- }
131
- declare function renderCodeExamplesList(data: CodeExamplesListData): string;
132
-
133
46
  interface FormsDocsPageData {
134
47
  user?: {
135
48
  name: string;
@@ -150,4 +63,4 @@ interface FormsExamplesPageData {
150
63
  }
151
64
  declare function renderFormsExamplesPage(data: FormsExamplesPageData): string;
152
65
 
153
- export { type AdminLayoutCatalystData, type AdminLayoutData, type CheckboxPageData, type DesignPageData, type FormsDocsPageData, type FormsExamplesPageData, renderAdminLayout, renderAdminLayoutCatalyst, renderCheckboxPage, renderCodeExamplesList, renderDesignPage, renderFormsDocsPage, renderFormsExamplesPage, renderLogo, renderTestimonialsList };
66
+ export { type AdminLayoutData, type CheckboxPageData, type FormsDocsPageData, type FormsExamplesPageData, renderAdminLayout, renderCheckboxPage, renderFormsDocsPage, renderFormsExamplesPage, renderLogo };
package/dist/templates.js CHANGED
@@ -1,6 +1,6 @@
1
- export { renderFilterBar, renderFormsDocsPage, renderFormsExamplesPage } from './chunk-ON5ZMSU4.js';
2
- export { getConfirmationDialogScript, renderAdminLayout, renderAlert, renderCheckboxPage, renderCodeExamplesList, renderConfirmationDialog, renderDesignPage, renderForm, renderFormField, renderPagination, renderTable, renderTestimonialsList } from './chunk-XWIA3HVX.js';
3
- export { renderAdminLayoutCatalyst, renderLogo } from './chunk-55RDMDOP.js';
1
+ export { renderFilterBar, renderFormsDocsPage, renderFormsExamplesPage } from './chunk-JQISFW6U.js';
2
+ export { getConfirmationDialogScript, renderAdminLayout, renderAlert, renderCheckboxPage, renderConfirmationDialog, renderForm, renderFormField, renderPagination, renderTable } from './chunk-OBA2RYZN.js';
3
+ export { renderAdminLayoutCatalyst, renderLogo } from './chunk-5V62WT6M.js';
4
4
  import './chunk-TQABQWOP.js';
5
5
  import './chunk-V4OQ3NZ2.js';
6
6
  //# sourceMappingURL=templates.js.map
@@ -0,0 +1,286 @@
1
+ /**
2
+ * Typed hook event catalog
3
+ *
4
+ * The single source of truth for which lifecycle events a plugin may subscribe
5
+ * to, and the payload shape each one carries. Subscribing through the typed
6
+ * facade (`createTypedHooks`) gives a plugin the narrowed payload type with no
7
+ * casting — TypeScript rejects a wrong field name at the `.on()` call site.
8
+ *
9
+ * Scope note: this catalog lists the events that are (or are being) dispatched
10
+ * in production. The legacy string-keyed `HOOKS` map in `../types` declared many
11
+ * more events than were ever fired; reconciling that list down to what actually
12
+ * dispatches is tracked in the plugin-overhaul plan. Add an event here only when
13
+ * a real dispatch site exists (or is landing in the same change).
14
+ */
15
+ /**
16
+ * The acting user on a hook event. ONE canonical shape across every event —
17
+ * always `id` (never `userId`), so a plugin reading `payload.user.id` works on
18
+ * content events and auth events alike.
19
+ */
20
+ interface HookActor {
21
+ id: string;
22
+ email: string;
23
+ role?: string;
24
+ }
25
+ /** Common shape for content lifecycle events. */
26
+ interface ContentEventPayload {
27
+ /** Collection / content-type slug the event is about. */
28
+ collection: string;
29
+ /** Content row id, when known (absent for pre-create events). */
30
+ id?: string;
31
+ /** The content data being read/written. Mutable by `before` handlers in the chain. */
32
+ data: Record<string, unknown>;
33
+ /** The acting user, when the event originates from an authenticated request. */
34
+ user?: HookActor;
35
+ }
36
+ /** Emitted after a user completes self-registration. */
37
+ interface AuthRegistrationCompletedPayload {
38
+ user: HookActor;
39
+ }
40
+ /** Emitted when a password reset is requested (carries the reset token internally). */
41
+ interface AuthPasswordResetRequestedPayload {
42
+ user: HookActor;
43
+ /** Single-use reset token. Never expose this in an API response. */
44
+ resetToken: string;
45
+ }
46
+ /** Emitted after a password reset is confirmed. */
47
+ interface AuthPasswordResetCompletedPayload {
48
+ user: HookActor;
49
+ }
50
+ /** Emitted after a magic-link sign-in link is successfully consumed. */
51
+ interface AuthMagicLinkConsumedPayload {
52
+ user: HookActor;
53
+ }
54
+ /** Emitted after an OTP code is successfully verified. */
55
+ interface AuthOtpVerifiedPayload {
56
+ user: HookActor;
57
+ }
58
+ /**
59
+ * The catalog: event name → payload type.
60
+ *
61
+ * Keep keys in sync with `HookEventName` (derived below) and with the dispatch
62
+ * sites. This is an interface (not a const) so it participates in type-level
63
+ * lookups and can be augmented via declaration merging if a downstream package
64
+ * needs to extend it.
65
+ */
66
+ interface HookEventPayloads {
67
+ 'content:read': ContentEventPayload;
68
+ 'content:before:create': ContentEventPayload;
69
+ 'content:before:update': ContentEventPayload;
70
+ 'content:before:delete': ContentEventPayload;
71
+ 'content:after:create': ContentEventPayload;
72
+ 'content:after:update': ContentEventPayload;
73
+ 'content:after:delete': ContentEventPayload;
74
+ 'content:after:publish': ContentEventPayload;
75
+ 'auth:registration:completed': AuthRegistrationCompletedPayload;
76
+ 'auth:password-reset:requested': AuthPasswordResetRequestedPayload;
77
+ 'auth:password-reset:completed': AuthPasswordResetCompletedPayload;
78
+ 'auth:magic-link:consumed': AuthMagicLinkConsumedPayload;
79
+ 'auth:otp:verified': AuthOtpVerifiedPayload;
80
+ }
81
+ /** Union of all catalog event names. */
82
+ type HookEventName = keyof HookEventPayloads;
83
+ /** The payload type for a given event name. */
84
+ type HookPayload<E extends HookEventName> = HookEventPayloads[E];
85
+ /**
86
+ * Runtime list of catalog event names.
87
+ *
88
+ * Useful for validation (e.g. "is this a known event?") and for diagnostics.
89
+ * Kept as a typed tuple so it can't silently drift from the interface: any new
90
+ * key added to `HookEventPayloads` should be added here too, and the
91
+ * `satisfies` check below fails the build if the list references an unknown
92
+ * event.
93
+ */
94
+ declare const HOOK_EVENT_NAMES: readonly ["content:read", "content:before:create", "content:before:update", "content:before:delete", "content:after:create", "content:after:update", "content:after:delete", "content:after:publish", "auth:registration:completed", "auth:password-reset:requested", "auth:password-reset:completed", "auth:magic-link:consumed", "auth:otp:verified"];
95
+ /** True if `name` is a canonical catalog event. */
96
+ declare function isKnownHookEvent(name: string): name is HookEventName;
97
+ /** Deprecated event names mapped to their canonical payload type. */
98
+ interface LegacyHookEventPayloads {
99
+ 'content:create': ContentEventPayload;
100
+ 'content:update': ContentEventPayload;
101
+ 'content:delete': ContentEventPayload;
102
+ 'content:publish': ContentEventPayload;
103
+ /** No after-only successor; folded into update. */
104
+ 'content:save': ContentEventPayload;
105
+ }
106
+ /** Map each deprecated name to the canonical name it resolves to. */
107
+ declare const LEGACY_EVENT_ALIASES: {
108
+ readonly 'content:create': "content:after:create";
109
+ readonly 'content:update': "content:after:update";
110
+ readonly 'content:delete': "content:after:delete";
111
+ readonly 'content:publish': "content:after:publish";
112
+ readonly 'content:save': "content:after:update";
113
+ };
114
+ /** A deprecated event name accepted (with a warning) at subscribe time. */
115
+ type LegacyHookEventName = keyof LegacyHookEventPayloads;
116
+ /** True if `name` is a deprecated alias. */
117
+ declare function isLegacyHookEvent(name: string): name is LegacyHookEventName;
118
+ /**
119
+ * Resolve a subscribe-time event name to its canonical form: returns the name
120
+ * itself if canonical, the aliased canonical name if deprecated, or `undefined`
121
+ * if unknown.
122
+ */
123
+ declare function resolveHookEventName(name: string): HookEventName | undefined;
124
+
125
+ /**
126
+ * Typed hook facade
127
+ *
128
+ * Wraps the (string-keyed, untyped) hook system in a catalog-aware API:
129
+ *
130
+ * const hooks = createTypedHooks(hookSystem)
131
+ * hooks.on('auth:registration:completed', (payload) => {
132
+ * payload.user.email // ✓ narrowed — no cast
133
+ * payload.user.nope // ✗ type error
134
+ * })
135
+ * await hooks.dispatch('auth:registration:completed', { user: {...} })
136
+ *
137
+ * The facade is intentionally structural about the underlying hook system (see
138
+ * `HookSystemLike`) so both `HookSystemImpl` and `ScopedHookSystem` — and the
139
+ * `src`/`dist` duplicate type identities — all satisfy it without casts.
140
+ */
141
+
142
+ /** A name accepted at subscribe time: a canonical event or a deprecated alias. */
143
+ type SubscribableEvent = HookEventName | LegacyHookEventName;
144
+ /** The payload type for a subscribable name — canonical payload, even for aliases. */
145
+ type PayloadForEvent<E extends SubscribableEvent> = E extends HookEventName ? HookPayload<E> : E extends LegacyHookEventName ? LegacyHookEventPayloads[E] : never;
146
+ /**
147
+ * Minimal structural contract the typed facade needs from a hook system.
148
+ * Satisfied by `HookSystemImpl` and `ScopedHookSystem`.
149
+ */
150
+ interface HookSystemLike {
151
+ register(hookName: string, handler: (data: any, context: any) => any, priority?: number): void;
152
+ execute(hookName: string, data: any, context?: any): Promise<any>;
153
+ unregister?(hookName: string, handler: (data: any, context: any) => any): void;
154
+ }
155
+ /** Context passed to a typed hook handler (kept loose; mirrors the legacy HookContext). */
156
+ interface TypedHookContext {
157
+ /** Plugin that registered the hook, if known. */
158
+ plugin?: string;
159
+ /** Cancel the remaining hook chain. */
160
+ cancel?: () => void;
161
+ [key: string]: unknown;
162
+ }
163
+ /**
164
+ * A typed hook handler. May mutate and return the payload (threaded to the next
165
+ * handler), or return nothing (the current payload is preserved).
166
+ */
167
+ type TypedHookHandler<E extends HookEventName> = (payload: HookPayload<E>, context: TypedHookContext) => HookPayload<E> | void | Promise<HookPayload<E> | void>;
168
+ interface TypedHooks {
169
+ /**
170
+ * Subscribe to a catalog event. Accepts canonical names and (for one release)
171
+ * deprecated aliases — an alias resolves to its canonical name and emits a
172
+ * one-time deprecation warning. Lower priority runs earlier (default 10).
173
+ */
174
+ on<E extends SubscribableEvent>(event: E, handler: (payload: PayloadForEvent<E>, context: TypedHookContext) => PayloadForEvent<E> | void | Promise<PayloadForEvent<E> | void>, priority?: number): void;
175
+ /**
176
+ * Dispatch a catalog event through the handler chain. Canonical names only —
177
+ * the host owns dispatch sites. Returns the (possibly mutated) payload.
178
+ */
179
+ dispatch<E extends HookEventName>(event: E, payload: HookPayload<E>, context?: TypedHookContext): Promise<HookPayload<E>>;
180
+ }
181
+ /**
182
+ * Build a typed facade over a hook system.
183
+ *
184
+ * `on()` resolves deprecated aliases to canonical names (warning once), then
185
+ * registers under the canonical name so a legacy subscriber fires when the host
186
+ * dispatches the canonical event. Returning `void` from a handler preserves the
187
+ * current payload in the chain (the underlying `execute()` threads whatever each
188
+ * handler returns, so we coalesce `undefined` back to the incoming data).
189
+ */
190
+ declare function createTypedHooks(hookSystem: HookSystemLike): TypedHooks;
191
+
192
+ /**
193
+ * Provider-agnostic email types
194
+ *
195
+ * The whole point of this layer: a SonicJS app sends mail through one
196
+ * `EmailService` chokepoint, and the *transport* is a swappable `EmailProvider`.
197
+ * Built-ins ship for Resend and SendGrid, but a developer can drop in any
198
+ * implementation of `EmailProvider` (Postmark, SES, an internal relay, a mock in
199
+ * tests) without touching call sites. Every send is recorded in `email_log`.
200
+ */
201
+ /** A message as authored by a caller. `from` is optional (the service fills a default). */
202
+ interface EmailMessage {
203
+ to: string | string[];
204
+ subject: string;
205
+ html?: string;
206
+ text?: string;
207
+ /** Overrides the service's default from-address. */
208
+ from?: string;
209
+ replyTo?: string;
210
+ cc?: string | string[];
211
+ bcc?: string | string[];
212
+ /** Extra transport headers. */
213
+ headers?: Record<string, string>;
214
+ /**
215
+ * Logical flow this send belongs to (e.g. `'password-reset'`, `'otp'`,
216
+ * `'magic-link'`, `'welcome'`, `'test'`). Recorded in `email_log.flow` for
217
+ * observability; does not affect delivery.
218
+ */
219
+ flow?: string;
220
+ /** Free-form metadata recorded (as JSON) in `email_log.metadata`. */
221
+ metadata?: Record<string, unknown>;
222
+ }
223
+ /** A message after the service has resolved defaults — what a provider receives. */
224
+ interface NormalizedEmailMessage extends Omit<EmailMessage, 'to' | 'cc' | 'bcc'> {
225
+ to: string[];
226
+ from: string;
227
+ cc?: string[];
228
+ bcc?: string[];
229
+ }
230
+ /** Outcome of a single send attempt. */
231
+ interface SendResult {
232
+ ok: boolean;
233
+ /** Provider that handled (or attempted) the send. */
234
+ provider: string;
235
+ /** Provider-side message id, when the transport returns one. */
236
+ providerId?: string;
237
+ /** Error message when `ok` is false. */
238
+ error?: string;
239
+ /** id of the `email_log` row written for this attempt, when logging is enabled. */
240
+ logId?: string;
241
+ }
242
+ /**
243
+ * A swappable email transport.
244
+ *
245
+ * Implement this to support any provider. `isConfigured()` lets the service (and
246
+ * `resolveEmailProvider`) decide whether a provider is usable before attempting a
247
+ * send — e.g. a Resend provider with no API key reports `false`.
248
+ */
249
+ /**
250
+ * An email_log entry as seen by the reconciliation method.
251
+ * Derived from the documents row data JSON for type_id='email_log'.
252
+ * `id` is the document root_id used to identify the row.
253
+ */
254
+ interface EmailLogRow {
255
+ id: string;
256
+ provider_id?: string | null;
257
+ provider: string;
258
+ status: 'sent' | 'failed' | string;
259
+ delivery_state?: string | null;
260
+ }
261
+ interface EmailProvider {
262
+ /** Stable identifier recorded in `email_log.provider` (e.g. `'resend'`). */
263
+ readonly name: string;
264
+ /** True if the provider has everything it needs to send (credentials, etc.). */
265
+ isConfigured(): boolean;
266
+ /** Attempt delivery. Must not throw for ordinary failures — return `ok: false`. */
267
+ send(message: NormalizedEmailMessage): Promise<SendResult>;
268
+ /**
269
+ * Optional: reconcile delivery state for a batch of recently-sent messages.
270
+ *
271
+ * Called by the core `email-reconciliation` cron. Providers that expose a
272
+ * delivery/event API (e.g. Cloudflare Email with delivery webhooks) implement
273
+ * this to backfill `delivery_state`. Providers without delivery status APIs
274
+ * (e.g. Resend, SendGrid at the current integration level) leave this undefined
275
+ * — those rows stay with `delivery_state = null`.
276
+ *
277
+ * Returning an array of `{ id, delivery_state }` updates the matching rows in
278
+ * `email_log`. Errors do not propagate (cron is fire-and-log).
279
+ */
280
+ reconcile?(rows: EmailLogRow[]): Promise<Array<{
281
+ id: string;
282
+ delivery_state: string;
283
+ }>>;
284
+ }
285
+
286
+ export { type AuthMagicLinkConsumedPayload as A, type ContentEventPayload as C, type EmailProvider as E, HOOK_EVENT_NAMES as H, LEGACY_EVENT_ALIASES as L, type NormalizedEmailMessage as N, type PayloadForEvent as P, type SubscribableEvent as S, type TypedHookContext as T, type AuthOtpVerifiedPayload as a, type AuthPasswordResetCompletedPayload as b, type AuthPasswordResetRequestedPayload as c, type AuthRegistrationCompletedPayload as d, type HookActor as e, type HookEventName as f, type HookEventPayloads as g, type HookPayload as h, type HookSystemLike as i, type LegacyHookEventName as j, type LegacyHookEventPayloads as k, type TypedHookHandler as l, type TypedHooks as m, createTypedHooks as n, isKnownHookEvent as o, isLegacyHookEvent as p, type SendResult as q, resolveHookEventName as r, type EmailLogRow as s, type EmailMessage as t };