@kyro-cms/core 0.8.0 → 0.9.1

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 (248) hide show
  1. package/README.md +57 -589
  2. package/dist/{WebhookService-118ZTFis.d.ts → WebhookService-CUTb9XOy.d.ts} +1 -1
  3. package/dist/{WebhookService-AefJfqX0.d.cts → WebhookService-Yg2UEOB4.d.cts} +1 -1
  4. package/dist/api-handler-graphql.cjs +44 -0
  5. package/dist/api-handler-graphql.cjs.map +1 -0
  6. package/dist/api-handler-graphql.d.cts +6 -0
  7. package/dist/api-handler-graphql.d.ts +6 -0
  8. package/dist/api-handler-graphql.js +41 -0
  9. package/dist/api-handler-graphql.js.map +1 -0
  10. package/dist/api-handler-trpc.cjs +38 -0
  11. package/dist/api-handler-trpc.cjs.map +1 -0
  12. package/dist/api-handler-trpc.d.cts +5 -0
  13. package/dist/api-handler-trpc.d.ts +5 -0
  14. package/dist/api-handler-trpc.js +36 -0
  15. package/dist/api-handler-trpc.js.map +1 -0
  16. package/dist/api-handler.cjs +31 -97
  17. package/dist/api-handler.cjs.map +1 -1
  18. package/dist/api-handler.d.cts +2 -1
  19. package/dist/api-handler.d.ts +2 -1
  20. package/dist/api-handler.js +19 -95
  21. package/dist/api-handler.js.map +1 -1
  22. package/dist/{tenant-B1YB0Jy8.d.ts → base-B71y_EAF.d.cts} +6 -12
  23. package/dist/{tenant-Cpeveji6.d.cts → base-DaqY2GhA.d.ts} +6 -12
  24. package/dist/bootstrap-5NLASFOG.cjs +32 -0
  25. package/dist/{bootstrap-AKAUP6F6.cjs.map → bootstrap-5NLASFOG.cjs.map} +1 -1
  26. package/dist/bootstrap-T5BK77LD.js +7 -0
  27. package/dist/{bootstrap-JCML6NFO.js.map → bootstrap-T5BK77LD.js.map} +1 -1
  28. package/dist/{chunk-35U3FROB.js → chunk-22M4O4ZJ.js} +607 -63
  29. package/dist/chunk-22M4O4ZJ.js.map +1 -0
  30. package/dist/chunk-2HZRBATX.cjs +253 -0
  31. package/dist/chunk-2HZRBATX.cjs.map +1 -0
  32. package/dist/{chunk-VJT6P4N6.cjs → chunk-3HR772HI.cjs} +199 -32
  33. package/dist/chunk-3HR772HI.cjs.map +1 -0
  34. package/dist/chunk-3KTWGODI.cjs +178 -0
  35. package/dist/chunk-3KTWGODI.cjs.map +1 -0
  36. package/dist/{chunk-QXIQWPAP.js → chunk-3UK5XBVJ.js} +4 -134
  37. package/dist/chunk-3UK5XBVJ.js.map +1 -0
  38. package/dist/{chunk-FXYP2HA6.js → chunk-4AO3A3JM.js} +48 -4
  39. package/dist/chunk-4AO3A3JM.js.map +1 -0
  40. package/dist/chunk-4M7X5HAB.cjs +173 -0
  41. package/dist/chunk-4M7X5HAB.cjs.map +1 -0
  42. package/dist/chunk-5EPFQUQD.js +3243 -0
  43. package/dist/chunk-5EPFQUQD.js.map +1 -0
  44. package/dist/{chunk-Y3N7UUDO.js → chunk-7OGPN7MP.js} +5 -2
  45. package/dist/chunk-7OGPN7MP.js.map +1 -0
  46. package/dist/{chunk-WOWUL7ZY.js → chunk-AL5KX63J.js} +4 -3
  47. package/dist/chunk-AL5KX63J.js.map +1 -0
  48. package/dist/{chunk-2OL4O2TH.cjs → chunk-C36TMDTY.cjs} +66 -61
  49. package/dist/chunk-C36TMDTY.cjs.map +1 -0
  50. package/dist/{chunk-ES5HNFFT.js → chunk-CF7OL6HR.js} +4 -2
  51. package/dist/chunk-CF7OL6HR.js.map +1 -0
  52. package/dist/chunk-CJONKRHJ.js +162 -0
  53. package/dist/chunk-CJONKRHJ.js.map +1 -0
  54. package/dist/{chunk-2KVHZE6O.cjs → chunk-COIASRDK.cjs} +202 -46
  55. package/dist/chunk-COIASRDK.cjs.map +1 -0
  56. package/dist/chunk-DEVFAKCQ.cjs +3291 -0
  57. package/dist/chunk-DEVFAKCQ.cjs.map +1 -0
  58. package/dist/{chunk-3ZFYL34R.js → chunk-DYTZ6FQ7.js} +12 -185
  59. package/dist/chunk-DYTZ6FQ7.js.map +1 -0
  60. package/dist/{chunk-QPPDLRNR.js → chunk-EJN2PAOE.js} +197 -41
  61. package/dist/chunk-EJN2PAOE.js.map +1 -0
  62. package/dist/chunk-FAXU7BMP.js +220 -0
  63. package/dist/chunk-FAXU7BMP.js.map +1 -0
  64. package/dist/{chunk-OHVB4AJ7.js → chunk-FOPGUM27.js} +22 -17
  65. package/dist/chunk-FOPGUM27.js.map +1 -0
  66. package/dist/chunk-GAOXD3XT.js +175 -0
  67. package/dist/chunk-GAOXD3XT.js.map +1 -0
  68. package/dist/{chunk-4DA7QPLA.cjs → chunk-GXFOGU7N.cjs} +5 -2
  69. package/dist/chunk-GXFOGU7N.cjs.map +1 -0
  70. package/dist/{chunk-I7HHI6QV.cjs → chunk-IDVRRRAK.cjs} +17 -9
  71. package/dist/chunk-IDVRRRAK.cjs.map +1 -0
  72. package/dist/{chunk-WQBRWOQT.cjs → chunk-JOPVMWTM.cjs} +3 -2
  73. package/dist/chunk-JOPVMWTM.cjs.map +1 -0
  74. package/dist/chunk-KC2GDBLS.cjs +84 -0
  75. package/dist/chunk-KC2GDBLS.cjs.map +1 -0
  76. package/dist/{chunk-K7JPTH3G.cjs → chunk-KNRSROWB.cjs} +132 -74
  77. package/dist/chunk-KNRSROWB.cjs.map +1 -0
  78. package/dist/{chunk-3AJE4SEG.js → chunk-KPA4AN4R.js} +125 -67
  79. package/dist/chunk-KPA4AN4R.js.map +1 -0
  80. package/dist/{chunk-QUW2RZTM.cjs → chunk-L46ROHUS.cjs} +51 -7
  81. package/dist/chunk-L46ROHUS.cjs.map +1 -0
  82. package/dist/chunk-L4EZKIEX.js +185 -0
  83. package/dist/chunk-L4EZKIEX.js.map +1 -0
  84. package/dist/{chunk-REK7AYOC.js → chunk-L5UKKZQN.js} +199 -32
  85. package/dist/chunk-L5UKKZQN.js.map +1 -0
  86. package/dist/chunk-NKPKR5BW.cjs +188 -0
  87. package/dist/chunk-NKPKR5BW.cjs.map +1 -0
  88. package/dist/{chunk-Y3QQN7PN.js → chunk-P2HKJ7P5.js} +13 -4
  89. package/dist/chunk-P2HKJ7P5.js.map +1 -0
  90. package/dist/{chunk-SA7NSSIQ.cjs → chunk-PI73NNOK.cjs} +13 -187
  91. package/dist/chunk-PI73NNOK.cjs.map +1 -0
  92. package/dist/{chunk-HXRD4B37.js → chunk-PU2Z5VWF.js} +1279 -556
  93. package/dist/chunk-PU2Z5VWF.js.map +1 -0
  94. package/dist/{chunk-H727JIG7.js → chunk-Q72BOAPK.js} +16 -8
  95. package/dist/chunk-Q72BOAPK.js.map +1 -0
  96. package/dist/{chunk-IBG6V56E.cjs → chunk-QFLB4EIJ.cjs} +2 -139
  97. package/dist/chunk-QFLB4EIJ.cjs.map +1 -0
  98. package/dist/{chunk-YVUJBEXE.cjs → chunk-RAMGUDJN.cjs} +16 -7
  99. package/dist/chunk-RAMGUDJN.cjs.map +1 -0
  100. package/dist/{chunk-LINKCEG4.cjs → chunk-ROJHKAQ4.cjs} +617 -73
  101. package/dist/chunk-ROJHKAQ4.cjs.map +1 -0
  102. package/dist/{chunk-5KVM3WEY.cjs → chunk-RSF3UU7H.cjs} +1330 -602
  103. package/dist/chunk-RSF3UU7H.cjs.map +1 -0
  104. package/dist/{chunk-V3LKPM3O.cjs → chunk-SHTTJMLT.cjs} +4 -2
  105. package/dist/chunk-SHTTJMLT.cjs.map +1 -0
  106. package/dist/chunk-SPBTLUN6.js +92 -0
  107. package/dist/chunk-SPBTLUN6.js.map +1 -0
  108. package/dist/{chunk-57P6MJKC.js → chunk-TXSZFA4G.js} +3 -3
  109. package/dist/chunk-TXSZFA4G.js.map +1 -0
  110. package/dist/chunk-UERVXYVK.cjs +99 -0
  111. package/dist/chunk-UERVXYVK.cjs.map +1 -0
  112. package/dist/{chunk-PDYFVNUX.cjs → chunk-V2TVSCV5.cjs} +16 -23
  113. package/dist/chunk-V2TVSCV5.cjs.map +1 -0
  114. package/dist/{chunk-DXHRBMGB.js → chunk-VO35MNPH.js} +12 -19
  115. package/dist/chunk-VO35MNPH.js.map +1 -0
  116. package/dist/{chunk-IA6AU5PI.cjs → chunk-WNCYAKF3.cjs} +3 -3
  117. package/dist/chunk-WNCYAKF3.cjs.map +1 -0
  118. package/dist/chunk-XEB7PH2E.js +81 -0
  119. package/dist/chunk-XEB7PH2E.js.map +1 -0
  120. package/dist/cli/index.cjs +5 -5
  121. package/dist/cli/index.cjs.map +1 -1
  122. package/dist/cli/index.js +5 -5
  123. package/dist/cli/index.js.map +1 -1
  124. package/dist/client.cjs +3 -3
  125. package/dist/client.d.cts +3 -3
  126. package/dist/client.d.ts +3 -3
  127. package/dist/client.js +1 -1
  128. package/dist/drizzle/index.cjs +14 -13
  129. package/dist/drizzle/index.d.cts +9 -7
  130. package/dist/drizzle/index.d.ts +9 -7
  131. package/dist/drizzle/index.js +5 -4
  132. package/dist/fields/index.cjs +21 -37
  133. package/dist/fields/index.d.cts +2 -22
  134. package/dist/fields/index.d.ts +2 -22
  135. package/dist/fields/index.js +1 -1
  136. package/dist/graphql/index.cjs +5 -4
  137. package/dist/graphql/index.d.cts +5 -3
  138. package/dist/graphql/index.d.ts +5 -3
  139. package/dist/graphql/index.js +3 -2
  140. package/dist/index-CJXPB_ot.d.ts +276 -0
  141. package/dist/index-CaTNnLGd.d.cts +276 -0
  142. package/dist/index.cjs +304 -162
  143. package/dist/index.cjs.map +1 -1
  144. package/dist/index.d.cts +129 -205
  145. package/dist/index.d.ts +129 -205
  146. package/dist/index.js +172 -33
  147. package/dist/index.js.map +1 -1
  148. package/dist/integration.cjs +2 -2
  149. package/dist/integration.js +1 -1
  150. package/dist/mongo-auth-adapter-ISOM7FSS.cjs +17 -0
  151. package/dist/{mongo-auth-adapter-NHHUJHVH.cjs.map → mongo-auth-adapter-ISOM7FSS.cjs.map} +1 -1
  152. package/dist/mongo-auth-adapter-MO6STCV3.js +4 -0
  153. package/dist/{mongo-auth-adapter-NJQUUCTP.js.map → mongo-auth-adapter-MO6STCV3.js.map} +1 -1
  154. package/dist/mongodb/index.cjs +8 -7
  155. package/dist/mongodb/index.d.cts +5 -7
  156. package/dist/mongodb/index.d.ts +5 -7
  157. package/dist/mongodb/index.js +4 -3
  158. package/dist/postgres-auth-adapter-DWDR7P5G.js +5 -0
  159. package/dist/{postgres-auth-adapter-3T2NKTSE.js.map → postgres-auth-adapter-DWDR7P5G.js.map} +1 -1
  160. package/dist/postgres-auth-adapter-WRWSJD4E.cjs +14 -0
  161. package/dist/{postgres-auth-adapter-7IEENCKQ.cjs.map → postgres-auth-adapter-WRWSJD4E.cjs.map} +1 -1
  162. package/dist/redis-adapter-HGTPWIGV.js +4 -0
  163. package/dist/{redis-adapter-VQXD7ESY.js.map → redis-adapter-HGTPWIGV.js.map} +1 -1
  164. package/dist/redis-adapter-KJ3YOOT6.cjs +13 -0
  165. package/dist/{redis-adapter-D2E2S3GB.cjs.map → redis-adapter-KJ3YOOT6.cjs.map} +1 -1
  166. package/dist/rest/index.cjs +15 -14
  167. package/dist/rest/index.d.cts +4 -4
  168. package/dist/rest/index.d.ts +4 -4
  169. package/dist/rest/index.js +13 -12
  170. package/dist/{schema-5PHL5IVB.js → schema-6I5OFR4Z.js} +3 -3
  171. package/dist/{schema-5PHL5IVB.js.map → schema-6I5OFR4Z.js.map} +1 -1
  172. package/dist/{schema-37SE2F4B.cjs → schema-TTFE4467.cjs} +14 -14
  173. package/dist/{schema-37SE2F4B.cjs.map → schema-TTFE4467.cjs.map} +1 -1
  174. package/dist/sqlite-adapter-6GEUSVXQ.js +4 -0
  175. package/dist/{sqlite-adapter-TR3U3W6Q.js.map → sqlite-adapter-6GEUSVXQ.js.map} +1 -1
  176. package/dist/sqlite-adapter-CSIZE5SX.cjs +13 -0
  177. package/dist/{sqlite-adapter-LVK5PS4T.cjs.map → sqlite-adapter-CSIZE5SX.cjs.map} +1 -1
  178. package/dist/templates/index.cjs +133 -31
  179. package/dist/templates/index.d.cts +52 -9
  180. package/dist/templates/index.d.ts +52 -9
  181. package/dist/templates/index.js +3 -1
  182. package/dist/trpc/index.cjs +13 -12
  183. package/dist/trpc/index.d.cts +55 -49
  184. package/dist/trpc/index.d.ts +55 -49
  185. package/dist/trpc/index.js +4 -3
  186. package/dist/{types-D6ZLRGbH.d.cts → types-CpjuXbe7.d.cts} +2 -0
  187. package/dist/{types-D6ZLRGbH.d.ts → types-CpjuXbe7.d.ts} +2 -0
  188. package/dist/{types-Bs1up4yP.d.ts → types-CyCQ6SAI.d.ts} +28 -2
  189. package/dist/{types-J3R9nVsZ.d.cts → types-DJxD9394.d.cts} +28 -2
  190. package/dist/{types-VtjUxIMp.d.cts → types-Z6FBiqa2.d.cts} +35 -14
  191. package/dist/{types-VtjUxIMp.d.ts → types-Z6FBiqa2.d.ts} +35 -14
  192. package/package.json +22 -4
  193. package/dist/bootstrap-AKAUP6F6.cjs +0 -32
  194. package/dist/bootstrap-JCML6NFO.js +0 -7
  195. package/dist/chunk-2KVHZE6O.cjs.map +0 -1
  196. package/dist/chunk-2OL4O2TH.cjs.map +0 -1
  197. package/dist/chunk-35U3FROB.js.map +0 -1
  198. package/dist/chunk-3AJE4SEG.js.map +0 -1
  199. package/dist/chunk-3J4MFTI3.js +0 -3872
  200. package/dist/chunk-3J4MFTI3.js.map +0 -1
  201. package/dist/chunk-3ZFYL34R.js.map +0 -1
  202. package/dist/chunk-4DA7QPLA.cjs.map +0 -1
  203. package/dist/chunk-57P6MJKC.js.map +0 -1
  204. package/dist/chunk-5KVM3WEY.cjs.map +0 -1
  205. package/dist/chunk-6IMPH6WV.cjs +0 -3897
  206. package/dist/chunk-6IMPH6WV.cjs.map +0 -1
  207. package/dist/chunk-ATBOUGQP.cjs +0 -513
  208. package/dist/chunk-ATBOUGQP.cjs.map +0 -1
  209. package/dist/chunk-DXHRBMGB.js.map +0 -1
  210. package/dist/chunk-ES5HNFFT.js.map +0 -1
  211. package/dist/chunk-FXYP2HA6.js.map +0 -1
  212. package/dist/chunk-H727JIG7.js.map +0 -1
  213. package/dist/chunk-HXRD4B37.js.map +0 -1
  214. package/dist/chunk-I7HHI6QV.cjs.map +0 -1
  215. package/dist/chunk-IA6AU5PI.cjs.map +0 -1
  216. package/dist/chunk-IBG6V56E.cjs.map +0 -1
  217. package/dist/chunk-K7JPTH3G.cjs.map +0 -1
  218. package/dist/chunk-LINKCEG4.cjs.map +0 -1
  219. package/dist/chunk-OHVB4AJ7.js.map +0 -1
  220. package/dist/chunk-PDYFVNUX.cjs.map +0 -1
  221. package/dist/chunk-Q23JB3KL.js +0 -488
  222. package/dist/chunk-Q23JB3KL.js.map +0 -1
  223. package/dist/chunk-QPPDLRNR.js.map +0 -1
  224. package/dist/chunk-QUW2RZTM.cjs.map +0 -1
  225. package/dist/chunk-QXIQWPAP.js.map +0 -1
  226. package/dist/chunk-R3XIBBAW.cjs +0 -34
  227. package/dist/chunk-R3XIBBAW.cjs.map +0 -1
  228. package/dist/chunk-REK7AYOC.js.map +0 -1
  229. package/dist/chunk-SA7NSSIQ.cjs.map +0 -1
  230. package/dist/chunk-SDMNUYVU.js +0 -30
  231. package/dist/chunk-SDMNUYVU.js.map +0 -1
  232. package/dist/chunk-V3LKPM3O.cjs.map +0 -1
  233. package/dist/chunk-VJT6P4N6.cjs.map +0 -1
  234. package/dist/chunk-WOWUL7ZY.js.map +0 -1
  235. package/dist/chunk-WQBRWOQT.cjs.map +0 -1
  236. package/dist/chunk-Y3N7UUDO.js.map +0 -1
  237. package/dist/chunk-Y3QQN7PN.js.map +0 -1
  238. package/dist/chunk-YVUJBEXE.cjs.map +0 -1
  239. package/dist/index-CLp-DRKA.d.ts +0 -64
  240. package/dist/index-DfO7G4kN.d.cts +0 -64
  241. package/dist/mongo-auth-adapter-NHHUJHVH.cjs +0 -17
  242. package/dist/mongo-auth-adapter-NJQUUCTP.js +0 -4
  243. package/dist/postgres-auth-adapter-3T2NKTSE.js +0 -5
  244. package/dist/postgres-auth-adapter-7IEENCKQ.cjs +0 -14
  245. package/dist/redis-adapter-D2E2S3GB.cjs +0 -13
  246. package/dist/redis-adapter-VQXD7ESY.js +0 -4
  247. package/dist/sqlite-adapter-LVK5PS4T.cjs +0 -13
  248. package/dist/sqlite-adapter-TR3U3W6Q.js +0 -4
package/dist/index.js CHANGED
@@ -1,33 +1,36 @@
1
- export { RedisAuthAdapter } from './chunk-ES5HNFFT.js';
2
- export { allSettingsGlobals, blogCollections, blogGlobals, coreSettingsGlobals, createTemplateConfig, ecommerceCollections, ecommerceGlobals, kitchenSinkCollections, mediaCollections, minimalCollections } from './chunk-3J4MFTI3.js';
3
- export { kyro } from './chunk-FXYP2HA6.js';
4
- export { ConfigValidationError, Kyro, LocalAdapter, Registry, collectionToCreateZod, collectionToUpdateZod, collectionToWhereZod, collectionToZod, createKyro, createLocalAdapter, createRegistry, fieldToZod, getRegistry, globalToZod, resetRegistry, validateCollection, validateConfig, validateFields, validateGlobal } from './chunk-35U3FROB.js';
5
- export { autoBootstrap, bootstrapAdmin, bootstrapWithRetry, getBootstrapFromEnv } from './chunk-Y3QQN7PN.js';
1
+ export { RedisAuthAdapter } from './chunk-CF7OL6HR.js';
2
+ export { allSettingsGlobals, blogCollections, blogGlobals, coreSettingsGlobals, createTemplateConfig, ecommerceCollections, ecommerceGlobals, kitchenSinkCollections, mediaCollections, minimalCollections, templateCollections } from './chunk-5EPFQUQD.js';
3
+ export { kyro } from './chunk-4AO3A3JM.js';
4
+ export { ConfigValidationError, Kyro, LocalAdapter, Registry, collectionToCreateZod, collectionToUpdateZod, collectionToWhereZod, collectionToZod, createKyro, createLocalAdapter, createRegistry, fieldToZod, getRegistry, globalToZod, resetRegistry, validateCollection, validateConfig, validateFields, validateGlobal } from './chunk-22M4O4ZJ.js';
5
+ export { autoBootstrap, bootstrapAdmin, bootstrapWithRetry, getBootstrapFromEnv } from './chunk-P2HKJ7P5.js';
6
+ import './chunk-GAOXD3XT.js';
6
7
  export { CSSGenerator, createAdminStyling, defaultDarkTheme, defaultFieldStyling, defaultLightTheme, ecommerce2026Theme, generateCSSVariables, generateTailwindConfig } from './chunk-2HFJUUFZ.js';
7
- export { ALL_FIELD_TYPES, COMPLEX_FIELD_TYPES, LAYOUT_FIELD_TYPES, PRIMITIVE_FIELD_TYPES, RELATIONAL_FIELD_TYPES, createColumnsNode, isArrayField, isBlocksField, isGroupField, isImageField, isLayoutField, isNumberField, isRelationshipField, isRichTextField, isSelectField, isTextField, isUploadField, normalizeRichTextDocument, normalizeRichTextValue, renderRichText, richTextStyles } from './chunk-Q23JB3KL.js';
8
- export { createContext, createCountProcedure, createCreateProcedure, createDeleteProcedure, createDynamicRouter, createFindByIDProcedure, createFindProcedure, createKyroServer, createUpdateProcedure } from './chunk-3AJE4SEG.js';
9
- import { init_secret, AuditLogger, InMemoryRateLimiter, InMemoryAuditLogger, AuthRoutes } from './chunk-HXRD4B37.js';
10
- export { AuditLogger, InMemoryAuditLogger, InMemoryRateLimiter, MediaService, createAuditContext, createHonoApp, createLocalStorage, createRESTAPI, getAppSecret, getEncryptionKey, getSessionConfig, loadSecrets, resolveProvider, setDbAdapter } from './chunk-HXRD4B37.js';
11
- import { EmailTransport, PasswordPolicy } from './chunk-57P6MJKC.js';
12
- export { ConfigService, EmailTransport, PasswordPolicy } from './chunk-57P6MJKC.js';
8
+ export { ALL_FIELD_TYPES, COMPLEX_FIELD_TYPES, LAYOUT_FIELD_TYPES, PRIMITIVE_FIELD_TYPES, RELATIONAL_FIELD_TYPES, isArrayField, isBlocksField, isGroupField, isImageField, isLayoutField, isNumberField, isRelationshipField, isRichTextField, isSelectField, isTextField, isUploadField, normalizeRichTextValue, renderRichText, richTextStyles } from './chunk-FAXU7BMP.js';
9
+ export { createContext, createCountProcedure, createCreateProcedure, createDeleteProcedure, createDynamicRouter, createFindByIDProcedure, createFindProcedure, createKyroServer, createUpdateProcedure } from './chunk-KPA4AN4R.js';
10
+ export { buildGraphQLSchema, createGraphQLSchema } from './chunk-L5UKKZQN.js';
11
+ import { init_secret, AuditLogger, InMemoryRateLimiter, InMemoryAuditLogger, AuthRoutes } from './chunk-PU2Z5VWF.js';
12
+ export { AuditLogger, InMemoryAuditLogger, InMemoryRateLimiter, MediaService, createAuditContext, createHonoApp, createLocalStorage, createRESTAPI, getAppSecret, getEncryptionKey, getSessionConfig, loadSecrets, resolveProvider, setDbAdapter } from './chunk-PU2Z5VWF.js';
13
+ import { EmailTransport, PasswordPolicy } from './chunk-TXSZFA4G.js';
14
+ export { ConfigService, EmailTransport, PasswordPolicy } from './chunk-TXSZFA4G.js';
13
15
  import './chunk-YT7HXXVN.js';
14
- import { SQLiteAuthAdapter } from './chunk-H727JIG7.js';
15
- export { SQLiteAuthAdapter } from './chunk-H727JIG7.js';
16
+ import './chunk-XEB7PH2E.js';
17
+ import { SQLiteAuthAdapter } from './chunk-Q72BOAPK.js';
18
+ export { SQLiteAuthAdapter } from './chunk-Q72BOAPK.js';
16
19
  import './chunk-P2YW545G.js';
17
- export { ALL_WEBHOOK_EVENTS, WEBHOOK_COLLECTION, WEBHOOK_DELIVERY_COLLECTION, WEBHOOK_EVENTS, WebhookService, buildDeliveryRecord, createTestPayload, createWebhookService, deliverWebhook, deliverWithRetry, generateWebhookSecret, signPayload } from './chunk-QXIQWPAP.js';
18
- export { buildGraphQLSchema, createGraphQLSchema } from './chunk-REK7AYOC.js';
19
- export { evaluateAccess, getWhereClause, mergeWhereClauses } from './chunk-SDMNUYVU.js';
20
+ export { ALL_WEBHOOK_EVENTS, WEBHOOK_COLLECTION, WEBHOOK_DELIVERY_COLLECTION, WEBHOOK_EVENTS, WebhookService, buildDeliveryRecord, createTestPayload, createWebhookService, deliverWebhook, deliverWithRetry, generateWebhookSecret, signPayload } from './chunk-3UK5XBVJ.js';
21
+ export { evaluateAccess, getWhereClause, mergeWhereClauses } from './chunk-CJONKRHJ.js';
20
22
  export { KyroPubSub, KyroWSServer, PubSub, createWSServer } from './chunk-3TPQ2BU6.js';
21
23
  import './chunk-QU2RFFH4.js';
22
- export { DrizzleAdapter, collectionToDrizzleSchema, createDatabase, createDrizzleAdapter, fieldToDrizzleType, runMigrations, seedDefaultRoles } from './chunk-QPPDLRNR.js';
23
- import { PostgresAuthAdapter } from './chunk-OHVB4AJ7.js';
24
- export { PostgresAuthAdapter } from './chunk-OHVB4AJ7.js';
25
- import './chunk-WOWUL7ZY.js';
24
+ export { DrizzleAdapter, collectionToDrizzleSchema, createDatabase, createDrizzleAdapter, fieldToDrizzleType, runMigrations, seedDefaultRoles } from './chunk-EJN2PAOE.js';
25
+ import { PostgresAuthAdapter } from './chunk-FOPGUM27.js';
26
+ export { PostgresAuthAdapter } from './chunk-FOPGUM27.js';
27
+ import './chunk-AL5KX63J.js';
26
28
  import './chunk-GTGRLD4Y.js';
27
- export { MongoDBAdapter, createMongoDBAdapter } from './chunk-DXHRBMGB.js';
28
- import { MongoDBAuthAdapter } from './chunk-Y3N7UUDO.js';
29
- export { MongoDBAuthAdapter } from './chunk-Y3N7UUDO.js';
30
- export { AbstractBaseAdapter } from './chunk-3ZFYL34R.js';
29
+ export { MongoDBAdapter, createMongoDBAdapter } from './chunk-VO35MNPH.js';
30
+ import { MongoDBAuthAdapter } from './chunk-7OGPN7MP.js';
31
+ export { MongoDBAuthAdapter } from './chunk-7OGPN7MP.js';
32
+ export { AbstractBaseAdapter } from './chunk-DYTZ6FQ7.js';
33
+ import './chunk-L4EZKIEX.js';
31
34
  import './chunk-Z6ZWNWWR.js';
32
35
  import crypto2, { randomBytes } from 'crypto';
33
36
  import { readFileSync } from 'fs';
@@ -1083,11 +1086,11 @@ async function createAuthAdapter(databaseType) {
1083
1086
  return new InMemoryAuthAdapter();
1084
1087
  }
1085
1088
  }
1086
- async function createAuthConfig(databaseType) {
1089
+ async function createAuthConfig(databaseType, db) {
1087
1090
  const distributed = getEnvBool("KYRO_DISTRIBUTED", false);
1088
1091
  let authAdapter;
1089
1092
  if (distributed) {
1090
- const { RedisAuthAdapter: RedisAuthAdapter2 } = await import('./redis-adapter-VQXD7ESY.js');
1093
+ const { RedisAuthAdapter: RedisAuthAdapter2 } = await import('./redis-adapter-HGTPWIGV.js');
1091
1094
  const redisUrl = getEnv("REDIS_URL", "redis://localhost:6379");
1092
1095
  const redisTls = getEnvBool("REDIS_TLS", false);
1093
1096
  const redisAdapter = new RedisAuthAdapter2({ url: redisUrl, tls: redisTls });
@@ -1100,7 +1103,7 @@ async function createAuthConfig(databaseType) {
1100
1103
  await authAdapter.connect();
1101
1104
  }
1102
1105
  }
1103
- const email = EmailTransport.fromEnv() || void 0;
1106
+ const email = db ? await EmailTransport.fromConfig(db).catch(() => null) || EmailTransport.fromEnv() || void 0 : EmailTransport.fromEnv() || void 0;
1104
1107
  const passwordPolicy = new PasswordPolicy({
1105
1108
  minLength: getEnvNum("PASSWORD_MIN_LENGTH", 12),
1106
1109
  requireUppercase: getEnvBool("PASSWORD_REQUIRE_UPPERCASE", true),
@@ -1575,14 +1578,19 @@ function defineConfig(config) {
1575
1578
  debug: config.debug
1576
1579
  };
1577
1580
  }
1581
+ var defineKyroConfig = defineConfig;
1578
1582
 
1579
1583
  // src/lib/seo.ts
1580
1584
  function generateSeoTags(options) {
1581
- const { siteSettings, title, description, image, url } = options;
1585
+ const { siteSettings, seoSettings, title, description, image, url } = options;
1582
1586
  if (!siteSettings) return "";
1583
1587
  const siteName = siteSettings.siteName || "";
1584
- const finalTitle = title ? `${title} | ${siteName}` : siteName;
1585
- const finalDesc = description || siteSettings.siteDescription || "";
1588
+ const rawTitle = title || seoSettings?.defaultTitle || siteName;
1589
+ const titleTemplate = seoSettings?.titleTemplate;
1590
+ const separator = seoSettings?.separator || " | ";
1591
+ const siteNameInTitle = seoSettings?.siteNameInTitle !== false;
1592
+ const finalTitle = titleTemplate ? titleTemplate.replace(/\{\{title\}\}/g, rawTitle).replace(/\{\{siteName\}\}/g, siteNameInTitle ? siteName : "").replace(/\{\{separator\}\}/g, separator).replace(/\s+/g, " ").trim() : rawTitle;
1593
+ const finalDesc = description || seoSettings?.defaultDescription || siteSettings.siteDescription || "";
1586
1594
  const finalImage = image || siteSettings.siteOgImage?.url || "";
1587
1595
  const finalUrl = url || siteSettings.siteUrl || "";
1588
1596
  let tags = `
@@ -1593,8 +1601,19 @@ function generateSeoTags(options) {
1593
1601
  tags += `
1594
1602
  <link rel="icon" type="${siteSettings.siteFavicon.mimeType || "image/x-icon"}" href="${siteSettings.siteFavicon.url}">`;
1595
1603
  }
1604
+ const robots = seoSettings?.meta?.robots;
1605
+ if (robots) {
1606
+ tags += `
1607
+ <meta name="robots" content="${robots}">`;
1608
+ }
1609
+ const canonical = seoSettings?.meta?.canonicalUrl || finalUrl;
1610
+ if (canonical) {
1611
+ tags += `
1612
+ <link rel="canonical" href="${canonical}">`;
1613
+ }
1614
+ const ogType = seoSettings?.meta?.ogType || "website";
1596
1615
  tags += `
1597
- <meta property="og:type" content="website">
1616
+ <meta property="og:type" content="${ogType}">
1598
1617
  <meta property="og:title" content="${finalTitle}">
1599
1618
  <meta property="og:description" content="${finalDesc}">
1600
1619
  <meta property="og:site_name" content="${siteName}">
@@ -1603,11 +1622,20 @@ function generateSeoTags(options) {
1603
1622
  <meta property="og:url" content="${finalUrl}">`;
1604
1623
  if (finalImage) tags += `
1605
1624
  <meta property="og:image" content="${finalImage}">`;
1625
+ if (seoSettings?.social?.fbAppId) {
1626
+ tags += `
1627
+ <meta property="fb:app_id" content="${seoSettings.social.fbAppId}">`;
1628
+ }
1629
+ const twitterCard = seoSettings?.social?.twitterCardType || "summary_large_image";
1606
1630
  tags += `
1607
- <meta name="twitter:card" content="summary_large_image">
1631
+ <meta name="twitter:card" content="${twitterCard}">
1608
1632
  <meta name="twitter:title" content="${finalTitle}">
1609
1633
  <meta name="twitter:description" content="${finalDesc}">
1610
1634
  `;
1635
+ if (seoSettings?.social?.twitterHandle) {
1636
+ tags += `
1637
+ <meta name="twitter:site" content="${seoSettings.social.twitterHandle}">`;
1638
+ }
1611
1639
  if (finalImage) tags += `
1612
1640
  <meta name="twitter:image" content="${finalImage}">`;
1613
1641
  if (siteSettings.enableI18n && siteSettings.i18n?.language) {
@@ -1654,6 +1682,117 @@ function generateAnalyticsTags(siteSettings) {
1654
1682
  }
1655
1683
  return scripts;
1656
1684
  }
1685
+
1686
+ // src/lib/social.ts
1687
+ var PLATFORM_META = {
1688
+ facebook: { label: "Facebook" },
1689
+ twitter: { label: "Twitter / X" },
1690
+ instagram: { label: "Instagram" },
1691
+ linkedin: { label: "LinkedIn" },
1692
+ youtube: { label: "YouTube" },
1693
+ tiktok: { label: "TikTok" },
1694
+ pinterest: { label: "Pinterest" },
1695
+ discord: { label: "Discord" },
1696
+ twitch: { label: "Twitch" },
1697
+ github: { label: "GitHub" },
1698
+ mastodon: { label: "Mastodon" }
1699
+ };
1700
+ var ALL_PLATFORMS = [
1701
+ "facebook",
1702
+ "twitter",
1703
+ "instagram",
1704
+ "linkedin",
1705
+ "youtube",
1706
+ "tiktok",
1707
+ "pinterest",
1708
+ "discord",
1709
+ "twitch",
1710
+ "github",
1711
+ "mastodon"
1712
+ ];
1713
+ function getSocialLinksFromSettings(socialSettings) {
1714
+ if (!socialSettings) return [];
1715
+ const showAll = socialSettings.showAll === true;
1716
+ const links = [];
1717
+ for (const platform of ALL_PLATFORMS) {
1718
+ const url = socialSettings[platform];
1719
+ if (!url) continue;
1720
+ const isNiche = ["tiktok", "pinterest", "discord", "twitch", "github", "mastodon"].includes(platform);
1721
+ if (isNiche && !showAll) continue;
1722
+ const meta = PLATFORM_META[platform];
1723
+ links.push({
1724
+ platform,
1725
+ url,
1726
+ label: meta?.label || platform
1727
+ });
1728
+ }
1729
+ return links;
1730
+ }
1731
+ async function getSocialLinks(db, options) {
1732
+ try {
1733
+ const doc = await db.findOne({
1734
+ collection: "_globals_social-settings",
1735
+ where: {},
1736
+ draft: options?.draft ?? false
1737
+ });
1738
+ return getSocialLinksFromSettings(doc);
1739
+ } catch {
1740
+ return [];
1741
+ }
1742
+ }
1743
+
1744
+ // src/lib/store.ts
1745
+ function getStoreConfigFromSettings(settings) {
1746
+ if (!settings) return {};
1747
+ return {
1748
+ storeName: settings.storeName,
1749
+ storeEmail: settings.storeEmail,
1750
+ storePhone: settings.storePhone,
1751
+ address: settings.address,
1752
+ currency: settings.currency,
1753
+ tax: settings.tax,
1754
+ shipping: settings.shipping,
1755
+ orders: settings.orders
1756
+ };
1757
+ }
1758
+ async function getStoreConfig(db, options) {
1759
+ try {
1760
+ const doc = await db.findOne({
1761
+ collection: "_globals_store-settings",
1762
+ where: {},
1763
+ draft: options?.draft ?? false
1764
+ });
1765
+ return getStoreConfigFromSettings(doc);
1766
+ } catch {
1767
+ return {};
1768
+ }
1769
+ }
1770
+
1771
+ // src/lib/payment.ts
1772
+ function getPaymentConfigFromSettings(settings) {
1773
+ if (!settings) return {};
1774
+ return {
1775
+ testMode: settings.testMode,
1776
+ provider: settings.provider,
1777
+ stripe: settings.stripe,
1778
+ paypal: settings.paypal,
1779
+ square: settings.square,
1780
+ methods: settings.methods,
1781
+ bankTransfer: settings.bankTransfer
1782
+ };
1783
+ }
1784
+ async function getPaymentConfig(db, options) {
1785
+ try {
1786
+ const doc = await db.findOne({
1787
+ collection: "_globals_payment-settings",
1788
+ where: {},
1789
+ draft: options?.draft ?? false
1790
+ });
1791
+ return getPaymentConfigFromSettings(doc);
1792
+ } catch {
1793
+ return {};
1794
+ }
1795
+ }
1657
1796
  async function createBrowserStorage(options = {}) {
1658
1797
  const { namespace = "kyro", ttl } = options;
1659
1798
  const store = createStorage({
@@ -1801,6 +1940,6 @@ async function createAuthStorage(config) {
1801
1940
  // src/index.ts
1802
1941
  init_secret();
1803
1942
 
1804
- export { AccountLockout, AnalyticsPlugin, Auth, CommentsPlugin, InMemoryAccountLockout, InMemoryAuthAdapter, KyroPlugin, PluginManager, RateLimiter, ReviewsPlugin, SEOPLugin, VersionManager, WishlistPlugin, authConfig, createAuth, createAuthConfig, createAuthStorage, createStorage3 as createStorage, createVersionManager, defineConfig, generateAnalyticsTags, generateSeoTags, getDefaultDraftPublishConfig, isArchived, isDraft, isPublished, presetPlugins, runFieldHooks, runHooks };
1943
+ export { AccountLockout, AnalyticsPlugin, Auth, CommentsPlugin, InMemoryAccountLockout, InMemoryAuthAdapter, KyroPlugin, PluginManager, RateLimiter, ReviewsPlugin, SEOPLugin, VersionManager, WishlistPlugin, authConfig, createAuth, createAuthConfig, createAuthStorage, createStorage3 as createStorage, createVersionManager, defineConfig, defineKyroConfig, generateAnalyticsTags, generateSeoTags, getDefaultDraftPublishConfig, getPaymentConfig, getPaymentConfigFromSettings, getSocialLinks, getSocialLinksFromSettings, getStoreConfig, getStoreConfigFromSettings, isArchived, isDraft, isPublished, presetPlugins, runFieldHooks, runHooks };
1805
1944
  //# sourceMappingURL=index.js.map
1806
1945
  //# sourceMappingURL=index.js.map