@kyro-cms/core 0.13.3 → 0.13.5

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 (266) hide show
  1. package/dist/{WebhookService-BOJMgjBm.d.cts → WebhookService-BJTCP3cU.d.cts} +1 -1
  2. package/dist/{WebhookService-BLi5Rz2m.d.ts → WebhookService-Bqr_66lK.d.ts} +1 -1
  3. package/dist/api-handler-graphql.cjs +1 -1
  4. package/dist/api-handler-graphql.js +1 -1
  5. package/dist/api-handler-trpc.cjs +1 -1
  6. package/dist/api-handler-trpc.js +1 -1
  7. package/dist/api-handler.cjs +1 -1
  8. package/dist/api-handler.js +1 -1
  9. package/dist/{base-BCgFt3Yx.d.ts → base-C2DOe8wD.d.ts} +3 -2
  10. package/dist/{base-B-i-tjm1.d.ts → base-DIpT2Vuz.d.cts} +3 -2
  11. package/dist/chunk-2TYITUOC.js +122 -0
  12. package/dist/{chunk-K73HOMQY.cjs → chunk-3CIMGC2F.cjs} +3 -3
  13. package/dist/{chunk-DSHKQL3R.cjs → chunk-6YS6XLOD.cjs} +13 -13
  14. package/dist/{chunk-ELFQKQLL.js → chunk-ALTU3FDG.js} +1 -1
  15. package/dist/{chunk-O7CBGP4N.cjs → chunk-LKRI5X2V.cjs} +1 -1
  16. package/dist/{chunk-22RXJ442.js → chunk-YIFKTA5N.js} +1 -1
  17. package/dist/cli/index.cjs +86 -86
  18. package/dist/cli/index.js +87 -87
  19. package/dist/client.d.cts +25 -0
  20. package/dist/client.d.ts +25 -0
  21. package/dist/drizzle/index.d.cts +3 -3
  22. package/dist/drizzle/index.d.ts +3 -3
  23. package/dist/fields/index.d.cts +2 -2
  24. package/dist/fields/index.d.ts +2 -2
  25. package/dist/graphql/index.d.cts +3 -3
  26. package/dist/graphql/index.d.ts +3 -3
  27. package/dist/{index-BttsFZDa.d.ts → index-C9uBoJtm.d.ts} +2 -2
  28. package/dist/{index-8Ino7vKq.d.ts → index-Ci7aUrmN.d.cts} +2 -2
  29. package/dist/index.cjs +4 -4
  30. package/dist/index.d.cts +10 -10
  31. package/dist/index.d.ts +10 -10
  32. package/dist/index.js +3 -3
  33. package/dist/mongodb/index.d.cts +3 -3
  34. package/dist/mongodb/index.d.ts +3 -3
  35. package/dist/rest/index.cjs +1 -1
  36. package/dist/rest/index.d.cts +4 -4
  37. package/dist/rest/index.d.ts +4 -4
  38. package/dist/rest/index.js +1 -1
  39. package/dist/templates/index.d.cts +2 -2
  40. package/dist/templates/index.d.ts +2 -2
  41. package/dist/trpc/index.d.cts +3 -3
  42. package/dist/trpc/index.d.ts +3 -3
  43. package/dist/{types-Bii0bhUV.d.ts → types-C3QFX0l6.d.cts} +5 -0
  44. package/dist/{types-B9oXBEKI.d.cts → types-C3QFX0l6.d.ts} +5 -1
  45. package/dist/{types-Cdssrcbz.d.cts → types-CKWnrUAh.d.ts} +23 -2
  46. package/dist/{types-BRDBNacn.d.ts → types-CdwfDpyW.d.cts} +23 -2
  47. package/package.json +2 -2
  48. package/dist/WebhookService-BcuD8tnn.d.cts +0 -143
  49. package/dist/WebhookService-CFe6Zd0_.d.cts +0 -143
  50. package/dist/WebhookService-CVXmjbtQ.d.cts +0 -143
  51. package/dist/WebhookService-D5PSI5t6.d.cts +0 -143
  52. package/dist/WebhookService-DPCCn_12.d.ts +0 -143
  53. package/dist/WebhookService-Dk1lzSrG.d.cts +0 -143
  54. package/dist/WebhookService-Dncnbgm9.d.cts +0 -143
  55. package/dist/WebhookService-I6hdue2Y.d.ts +0 -143
  56. package/dist/WebhookService-KnQ2UDlW.d.ts +0 -143
  57. package/dist/WebhookService-UY5p89Bj.d.ts +0 -143
  58. package/dist/WebhookService-YZXBCRXA.d.ts +0 -143
  59. package/dist/WebhookService-fk0FGRlk.d.ts +0 -143
  60. package/dist/WebhookService-vsFnWrOh.d.ts +0 -143
  61. package/dist/WebhookService-zrDmAx7L.d.cts +0 -143
  62. package/dist/base-B--L0lCn.d.cts +0 -218
  63. package/dist/base-B-siit_y.d.cts +0 -218
  64. package/dist/base-B8SyZI4D.d.ts +0 -218
  65. package/dist/base-BHRGJ40F.d.cts +0 -218
  66. package/dist/base-BVoDPNjJ.d.cts +0 -218
  67. package/dist/base-BaOJ5uWd.d.cts +0 -218
  68. package/dist/base-BfPaVEAE.d.cts +0 -218
  69. package/dist/base-BxrX5EPU.d.cts +0 -218
  70. package/dist/base-CAb9EYQs.d.ts +0 -218
  71. package/dist/base-CcZIEll-.d.ts +0 -218
  72. package/dist/base-CyG7aF1e.d.cts +0 -218
  73. package/dist/base-DOImeJ-F.d.ts +0 -218
  74. package/dist/base-DbnwE42-.d.cts +0 -218
  75. package/dist/base-NyiSsD-n.d.ts +0 -218
  76. package/dist/base-OYfoYPYP.d.ts +0 -218
  77. package/dist/base-xflndGDO.d.ts +0 -218
  78. package/dist/bootstrap-E24SGUJP.cjs +0 -1
  79. package/dist/bootstrap-QQ6D3OYG.js +0 -1
  80. package/dist/bootstrap-QVKSKXJF.cjs +0 -1
  81. package/dist/bootstrap-RILR44UM.cjs +0 -1
  82. package/dist/bootstrap-YFVE7MRG.js +0 -1
  83. package/dist/bootstrap-ZRRUPRUR.js +0 -1
  84. package/dist/chunk-2FSOHXOU.cjs +0 -56
  85. package/dist/chunk-2OS5Y4LE.cjs +0 -1
  86. package/dist/chunk-2PXXQKN3.cjs +0 -3
  87. package/dist/chunk-32QY56XF.js +0 -122
  88. package/dist/chunk-355R4LS5.cjs +0 -56
  89. package/dist/chunk-35IVNLMA.js +0 -122
  90. package/dist/chunk-3GXLOYM3.js +0 -2
  91. package/dist/chunk-3LAWUINR.cjs +0 -1
  92. package/dist/chunk-3O3AVMWM.cjs +0 -1
  93. package/dist/chunk-3U6MKWET.cjs +0 -120
  94. package/dist/chunk-4YCI3HBD.js +0 -3
  95. package/dist/chunk-4ZWLNGLS.js +0 -2
  96. package/dist/chunk-5A7E7N4B.cjs +0 -431
  97. package/dist/chunk-5ZEYOFAK.js +0 -2
  98. package/dist/chunk-6DD4J7LI.js +0 -2
  99. package/dist/chunk-6GGPY7U2.js +0 -4
  100. package/dist/chunk-6MNLRAKM.cjs +0 -121
  101. package/dist/chunk-73Y63IPP.js +0 -57
  102. package/dist/chunk-7DUKWHRN.cjs +0 -1
  103. package/dist/chunk-7K6ZUNJM.js +0 -4
  104. package/dist/chunk-7LLCXY5O.cjs +0 -19
  105. package/dist/chunk-A35ZP72D.cjs +0 -132
  106. package/dist/chunk-A3IOQOV6.js +0 -2
  107. package/dist/chunk-A3XVL6ED.cjs +0 -3
  108. package/dist/chunk-A7LZ6T42.cjs +0 -1
  109. package/dist/chunk-APDQ6ZTG.cjs +0 -120
  110. package/dist/chunk-ATI2UZ7U.js +0 -2
  111. package/dist/chunk-AWQGDMOE.js +0 -3
  112. package/dist/chunk-B3BSVEFC.cjs +0 -3
  113. package/dist/chunk-B4AC23SG.js +0 -122
  114. package/dist/chunk-BD6XHMMM.cjs +0 -2
  115. package/dist/chunk-CHYVUWZ3.js +0 -2
  116. package/dist/chunk-CIVA6SKW.js +0 -2
  117. package/dist/chunk-CNHUCCQJ.js +0 -121
  118. package/dist/chunk-CRP6PSCE.js +0 -2
  119. package/dist/chunk-DI6TCZSE.js +0 -122
  120. package/dist/chunk-DORUYZQV.cjs +0 -1
  121. package/dist/chunk-E4H3ZZ7U.js +0 -4
  122. package/dist/chunk-EFKEVWAD.js +0 -4
  123. package/dist/chunk-EI7FRSNY.js +0 -57
  124. package/dist/chunk-EON4XLKQ.cjs +0 -1
  125. package/dist/chunk-EUQAOYEO.cjs +0 -121
  126. package/dist/chunk-EVAUBT7H.js +0 -57
  127. package/dist/chunk-EYHD7HZE.cjs +0 -1
  128. package/dist/chunk-EYYIPA5N.js +0 -432
  129. package/dist/chunk-FBWLSWZ4.js +0 -122
  130. package/dist/chunk-FDKU7HJX.js +0 -2
  131. package/dist/chunk-FG3IFGJP.cjs +0 -1
  132. package/dist/chunk-FGN6IMPY.cjs +0 -3
  133. package/dist/chunk-FLS2FJM6.cjs +0 -431
  134. package/dist/chunk-FP5UK272.cjs +0 -1
  135. package/dist/chunk-FSL3NLRT.cjs +0 -2
  136. package/dist/chunk-FUFS65Q5.js +0 -133
  137. package/dist/chunk-GV2IB4WQ.cjs +0 -56
  138. package/dist/chunk-GWIZT2P5.js +0 -57
  139. package/dist/chunk-H3FJ54KB.cjs +0 -121
  140. package/dist/chunk-HY3EAWB2.js +0 -4
  141. package/dist/chunk-I6UJVO2P.js +0 -57
  142. package/dist/chunk-IQSF6XRV.js +0 -57
  143. package/dist/chunk-IXGDTAES.js +0 -4
  144. package/dist/chunk-JB4WG2YJ.cjs +0 -121
  145. package/dist/chunk-JCEJ4VTN.js +0 -20
  146. package/dist/chunk-JZ7Z6WC2.cjs +0 -3
  147. package/dist/chunk-K5XGP57D.cjs +0 -19
  148. package/dist/chunk-LBLFU6KI.js +0 -57
  149. package/dist/chunk-LP3HRZGK.js +0 -57
  150. package/dist/chunk-LPFRMQFQ.js +0 -121
  151. package/dist/chunk-LYU44UNN.cjs +0 -56
  152. package/dist/chunk-M75VGFCI.js +0 -3
  153. package/dist/chunk-MFNN5DYG.cjs +0 -1
  154. package/dist/chunk-MJAODEFC.cjs +0 -121
  155. package/dist/chunk-MLCBSEBU.js +0 -2
  156. package/dist/chunk-MSC4G2HF.cjs +0 -2
  157. package/dist/chunk-MYHNTJLR.cjs +0 -56
  158. package/dist/chunk-N2YHO2WI.cjs +0 -3
  159. package/dist/chunk-N6MNQIQU.js +0 -123
  160. package/dist/chunk-NPBXLPOP.js +0 -3
  161. package/dist/chunk-OJ3H4AQ2.cjs +0 -56
  162. package/dist/chunk-ON5XJEPO.cjs +0 -3
  163. package/dist/chunk-OPTVCCQQ.cjs +0 -122
  164. package/dist/chunk-OT2Z4XBD.cjs +0 -1
  165. package/dist/chunk-PFKVHUOT.js +0 -432
  166. package/dist/chunk-PFTBTWSC.cjs +0 -1
  167. package/dist/chunk-PTPVFLET.js +0 -20
  168. package/dist/chunk-PZDLPRJF.js +0 -4
  169. package/dist/chunk-QC4YXUBT.cjs +0 -383
  170. package/dist/chunk-QUTYCUST.js +0 -4
  171. package/dist/chunk-REKKBAQX.cjs +0 -56
  172. package/dist/chunk-RTNQP6BV.js +0 -2
  173. package/dist/chunk-RUJW47ZJ.js +0 -2
  174. package/dist/chunk-RXYCFZJC.cjs +0 -121
  175. package/dist/chunk-S2MZNEBQ.cjs +0 -1
  176. package/dist/chunk-S5HTTLN7.cjs +0 -2
  177. package/dist/chunk-S73YERS2.js +0 -57
  178. package/dist/chunk-SMQ6736Y.js +0 -57
  179. package/dist/chunk-T3DJ3UTP.cjs +0 -121
  180. package/dist/chunk-TEY5LZ26.cjs +0 -56
  181. package/dist/chunk-TJZO7ZSX.cjs +0 -3
  182. package/dist/chunk-TKUNRCRH.js +0 -4
  183. package/dist/chunk-TQLCOMKC.js +0 -4
  184. package/dist/chunk-TRXYDWGE.cjs +0 -1
  185. package/dist/chunk-TS55CUNJ.js +0 -57
  186. package/dist/chunk-UFBJ3WOZ.js +0 -2
  187. package/dist/chunk-UQRVQUVR.js +0 -2
  188. package/dist/chunk-UW5W35NP.js +0 -122
  189. package/dist/chunk-UWVBFRCW.js +0 -2
  190. package/dist/chunk-UZWYFEUN.js +0 -122
  191. package/dist/chunk-VI7WCO2J.cjs +0 -3
  192. package/dist/chunk-VOYPKTID.cjs +0 -1
  193. package/dist/chunk-VTOL3URF.js +0 -4
  194. package/dist/chunk-VVVCCB6R.js +0 -2
  195. package/dist/chunk-W2GPP6RB.js +0 -122
  196. package/dist/chunk-WHOA7YJU.cjs +0 -1
  197. package/dist/chunk-WNRUPL26.js +0 -2
  198. package/dist/chunk-XBQ6HV3T.cjs +0 -114
  199. package/dist/chunk-XIAJQLGS.js +0 -2
  200. package/dist/chunk-XK6UB77Q.js +0 -4
  201. package/dist/chunk-XP7BXFXT.cjs +0 -121
  202. package/dist/chunk-Y2VHO66Q.cjs +0 -3
  203. package/dist/chunk-Y5O2OD7J.cjs +0 -3
  204. package/dist/chunk-YARB43JG.cjs +0 -56
  205. package/dist/chunk-YLCEMVYY.cjs +0 -56
  206. package/dist/chunk-YSOM57GK.cjs +0 -3
  207. package/dist/chunk-Z2SN2MYP.js +0 -122
  208. package/dist/chunk-Z3UVDGYS.cjs +0 -56
  209. package/dist/chunk-ZO3YB5DK.cjs +0 -1
  210. package/dist/chunk-ZOVH6QT5.cjs +0 -1
  211. package/dist/chunk-ZRIBWDYJ.js +0 -384
  212. package/dist/chunk-ZWDBPEXL.js +0 -115
  213. package/dist/index-B9BFNOHd.d.cts +0 -105
  214. package/dist/index-BMcYFpTv.d.cts +0 -105
  215. package/dist/index-ByOM1Y5x.d.ts +0 -105
  216. package/dist/index-C6xmtRio.d.cts +0 -105
  217. package/dist/index-CTI3K_uq.d.cts +0 -105
  218. package/dist/index-CTL4zv_u.d.ts +0 -105
  219. package/dist/index-CaDbioSg.d.ts +0 -105
  220. package/dist/index-CxA9uOv0.d.ts +0 -105
  221. package/dist/index-D6AXbuPI.d.ts +0 -105
  222. package/dist/index-DF0KDBaM.d.cts +0 -105
  223. package/dist/index-DG4Xu7gA.d.cts +0 -105
  224. package/dist/index-DS3DpJli.d.cts +0 -105
  225. package/dist/index-eHex8Iwj.d.ts +0 -105
  226. package/dist/index-rm7uyOK1.d.cts +0 -105
  227. package/dist/lib-5QYYN6ML.cjs +0 -12
  228. package/dist/lib-XXYYUPMW.js +0 -13
  229. package/dist/local-DPLKZQA3.js +0 -1
  230. package/dist/local-KR3AIGVA.cjs +0 -1
  231. package/dist/local-S5VA7IXE.cjs +0 -1
  232. package/dist/local-T7GISZBL.js +0 -1
  233. package/dist/mongo-auth-adapter-EUHAYWJ6.cjs +0 -1
  234. package/dist/mongo-auth-adapter-FW7ATYQ6.js +0 -1
  235. package/dist/mongo-auth-adapter-GR2CFFEA.js +0 -1
  236. package/dist/mongo-auth-adapter-UOO2LZUJ.cjs +0 -1
  237. package/dist/nodemailer-transport-CHO2WKIY.js +0 -1
  238. package/dist/nodemailer-transport-ED2IXNGW.cjs +0 -1
  239. package/dist/postgres-auth-adapter-SK3N3OSS.js +0 -1
  240. package/dist/postgres-auth-adapter-ZO6HK5AK.cjs +0 -1
  241. package/dist/redis-adapter-EGMUN65D.cjs +0 -1
  242. package/dist/redis-adapter-QPCTMF55.js +0 -1
  243. package/dist/sqlite-adapter-52PL52VU.js +0 -1
  244. package/dist/sqlite-adapter-MNNZZXGX.cjs +0 -1
  245. package/dist/types-6ShQp2EM.d.cts +0 -839
  246. package/dist/types-B5Qz1svz.d.cts +0 -822
  247. package/dist/types-B9oXBEKI.d.ts +0 -330
  248. package/dist/types-Bii0bhUV.d.cts +0 -329
  249. package/dist/types-Bt2_ycUO.d.ts +0 -811
  250. package/dist/types-C4wXHImf.d.ts +0 -822
  251. package/dist/types-C8yIAV6K.d.cts +0 -839
  252. package/dist/types-CORUQhY-.d.ts +0 -839
  253. package/dist/types-CjGqxBd3.d.cts +0 -330
  254. package/dist/types-CjGqxBd3.d.ts +0 -330
  255. package/dist/types-DBGR-eQl.d.cts +0 -839
  256. package/dist/types-DCWgPFmi.d.cts +0 -822
  257. package/dist/types-DROqAsr0.d.cts +0 -330
  258. package/dist/types-DROqAsr0.d.ts +0 -330
  259. package/dist/types-DlGSbh7I.d.cts +0 -297
  260. package/dist/types-DlGSbh7I.d.ts +0 -297
  261. package/dist/types-DsF64Wrc.d.cts +0 -811
  262. package/dist/types-IeKFn7Ky.d.ts +0 -839
  263. package/dist/types-ZrjEVWfi.d.ts +0 -811
  264. package/dist/types-dEy5JxvN.d.ts +0 -822
  265. package/dist/types-tVJc9YbX.d.cts +0 -811
  266. package/dist/types-zt5qIvje.d.ts +0 -839
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export{a as LocalAdapter,b as createLocalAdapter}from'./chunk-6LWF5MPL.js';export{a as RedisAuthAdapter}from'./chunk-HPIJI7TM.js';import {a as a$6}from'./chunk-RPRGGGIW.js';export{k as allGlobalSettings,q as blogCollections,l as coreGlobalSettings,V as createTemplateConfig,r as ecommerceCollections,s as ecommerceGlobals,t as kitchenSinkCollections,v as mediaCollections,a as minimalCollections,U as templateCollections}from'./chunk-SRIXRJHL.js';export{r as ALL_FIELD_TYPES,o as COMPLEX_FIELD_TYPES,q as LAYOUT_FIELD_TYPES,n as PRIMITIVE_FIELD_TYPES,p as RELATIONAL_FIELD_TYPES,d as isArrayField,f as isBlocksField,e as isGroupField,h as isImageField,k as isLayoutField,b as isNumberField,c as isRelationshipField,i as isRichTextField,j as isSelectField,a as isTextField,g as isUploadField,u as normalizeRichTextValue,v as renderRichText,t as richTextStyles}from'./chunk-4BMWWGJN.js';export{a as kyro}from'./chunk-XDPLVJRO.js';import {f}from'./chunk-PYUWSKKP.js';export{t as AnalyticsPlugin,u as CommentsPlugin,a as ConfigValidationError,y as FIELD_DEFINITION_KEYS,G as Kyro,q as KyroPlugin,J as Logger,r as PluginManager,m as Registry,v as ReviewsPlugin,s as SEOPlugin,w as WishlistPlugin,C as applyBlocksOverrides,E as applyCollectionOverrides,F as applyGlobalOverrides,D as applyTabsOverrides,i as collectionToCreateZod,j as collectionToUpdateZod,k as collectionToWhereZod,h as collectionToZod,H as createKyro,I as createKyroHandler,p as createRegistry,g as fieldToZod,A as flattenFieldOverrides,n as getRegistry,l as globalToZod,z as isFieldOverrideDefinition,K as logger,x as presetPlugins,o as resetRegistry,B as updateFieldByPath,b as validateCollection,e as validateConfig,d as validateFields,c as validateGlobal,f as z}from'./chunk-PYUWSKKP.js';export{e as autoBootstrap,a as bootstrapAdmin,f as bootstrapWithRetry,d as getBootstrapFromEnv}from'./chunk-RYXLEFS5.js';import'./chunk-LWM4WABU.js';import'./chunk-D6SDGHY6.js';export{a as createContext,g as createCountProcedure,d as createCreateProcedure,f as createDeleteProcedure,h as createDynamicRouter,c as createFindByIDProcedure,b as createFindProcedure,i as createKyroServer,e as createUpdateProcedure}from'./chunk-RYHOWZLK.js';export{J as buildGraphQLSchema,K as createGraphQLSchema}from'./chunk-X473JI7Z.js';import {bb,ab,db,eb}from'./chunk-2SPWRQ5O.js';export{bb as AuditLogger,db as InMemoryAuditLogger,ab as InMemoryRateLimiter,gb as MediaService,cb as createAuditContext,ib as createKyroApp,_a as createLocalStorage,jb as createRESTAPI,fb as isEdgeRuntime,Za as resolveProvider}from'./chunk-2SPWRQ5O.js';import {a}from'./chunk-3KZXF4US.js';export{a as PasswordPolicy}from'./chunk-3KZXF4US.js';import {q}from'./chunk-CH4TZZI5.js';export{p as ConfigService,q as EmailTransport,o as getEmailTemplates,n as renderAbandonedCart,g as renderAccountLocked,a as renderBaseLayout,f as renderMagicLink,i as renderNewLogin,j as renderOrderConfirmation,l as renderOrderDelivered,m as renderOrderRefunded,k as renderOrderShipped,e as renderPasswordChanged,c as renderResetPassword,h as renderUserInvite,b as renderVerifyEmail,d as renderWelcome}from'./chunk-CH4TZZI5.js';import'./chunk-OLRCZ6E3.js';import {a as a$3}from'./chunk-WNU76M2C.js';export{a as SQLiteAuthAdapter}from'./chunk-WNU76M2C.js';import {f as f$1}from'./chunk-6TPICJ2L.js';export{c as getAppSecret,d as getEncryptionKey,e as getSessionConfig,b as loadSecrets,a as setDbAdapter}from'./chunk-6TPICJ2L.js';import'./chunk-YENNL5HG.js';import'./chunk-W45TLOOT.js';import'./chunk-IKGVPXMK.js';import'./chunk-YUUXFD73.js';import'./chunk-LVBHOZZF.js';import'./chunk-OBYAIJVU.js';import'./chunk-JRUQ5ABB.js';import'./chunk-V4FAL7AG.js';import'./chunk-WPM6LFCY.js';import'./chunk-U6KFONKM.js';import'./chunk-TYQYKKWJ.js';export{d as ALL_WEBHOOK_EVENTS,e as WEBHOOK_COLLECTION,f as WEBHOOK_DELIVERY_COLLECTION,c as WEBHOOK_EVENTS,m as WebhookService,k as buildDeliveryRecord,l as createTestPayload,n as createWebhookService,i as deliverWebhook,j as deliverWithRetry,h as generateWebhookSecret,g as signPayload}from'./chunk-REQ622YC.js';export{h as evaluateAccess,j as getWhereClause,i as mergeWhereClauses}from'./chunk-GQGFNTDZ.js';export{b as KyroPubSub,d as KyroWSServer,a as PubSub,e as createWSServer}from'./chunk-KEITOXIP.js';import'./chunk-7MNDQU6K.js';export{c as DrizzleAdapter,b as collectionToDrizzleSchema,d as createDrizzleAdapter,a as fieldToDrizzleType}from'./chunk-6NBZDW53.js';import'./chunk-JV4HJBXW.js';export{b as createDatabase,c as runMigrations,d as seedDefaultRoles}from'./chunk-ZAKYTBEN.js';import {a as a$4}from'./chunk-6E44MQQ5.js';export{a as PostgresAuthAdapter}from'./chunk-6E44MQQ5.js';import'./chunk-47CXBWMA.js';import'./chunk-3TAUNYEM.js';import'./chunk-N5POANYV.js';import'./chunk-2HA6EKXX.js';import'./chunk-FLMUMPDE.js';import'./chunk-EML5FDUU.js';import'./chunk-HRAY65XH.js';import'./chunk-3NSZZCOJ.js';export{a as MongoDBAdapter,b as createMongoDBAdapter}from'./chunk-FK2BG4HU.js';import'./chunk-WXT2XW7T.js';import {a as a$2}from'./chunk-YGI5W4RS.js';export{a as MongoDBAuthAdapter}from'./chunk-YGI5W4RS.js';import {a as a$5}from'./chunk-SLMIYECU.js';export{a as AbstractBaseAdapter}from'./chunk-SLMIYECU.js';import {a as a$1}from'./chunk-P6JITOFF.js';import'./chunk-7NH7H3WA.js';import'./chunk-JA44K75G.js';import'./chunk-TBHNE4VV.js';import {g}from'./chunk-Y2YAKDEQ.js';import oe,{randomBytes}from'crypto';import {readFileSync}from'fs';import tt,{join,resolve}from'path';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
1
+ export{a as LocalAdapter,b as createLocalAdapter}from'./chunk-6LWF5MPL.js';export{a as RedisAuthAdapter}from'./chunk-HPIJI7TM.js';import {a as a$6}from'./chunk-RPRGGGIW.js';export{k as allGlobalSettings,q as blogCollections,l as coreGlobalSettings,V as createTemplateConfig,r as ecommerceCollections,s as ecommerceGlobals,t as kitchenSinkCollections,v as mediaCollections,a as minimalCollections,U as templateCollections}from'./chunk-SRIXRJHL.js';export{r as ALL_FIELD_TYPES,o as COMPLEX_FIELD_TYPES,q as LAYOUT_FIELD_TYPES,n as PRIMITIVE_FIELD_TYPES,p as RELATIONAL_FIELD_TYPES,d as isArrayField,f as isBlocksField,e as isGroupField,h as isImageField,k as isLayoutField,b as isNumberField,c as isRelationshipField,i as isRichTextField,j as isSelectField,a as isTextField,g as isUploadField,u as normalizeRichTextValue,v as renderRichText,t as richTextStyles}from'./chunk-4BMWWGJN.js';export{a as kyro}from'./chunk-XDPLVJRO.js';import {f}from'./chunk-YIFKTA5N.js';export{t as AnalyticsPlugin,u as CommentsPlugin,a as ConfigValidationError,y as FIELD_DEFINITION_KEYS,G as Kyro,q as KyroPlugin,J as Logger,r as PluginManager,m as Registry,v as ReviewsPlugin,s as SEOPlugin,w as WishlistPlugin,C as applyBlocksOverrides,E as applyCollectionOverrides,F as applyGlobalOverrides,D as applyTabsOverrides,i as collectionToCreateZod,j as collectionToUpdateZod,k as collectionToWhereZod,h as collectionToZod,H as createKyro,I as createKyroHandler,p as createRegistry,g as fieldToZod,A as flattenFieldOverrides,n as getRegistry,l as globalToZod,z as isFieldOverrideDefinition,K as logger,x as presetPlugins,o as resetRegistry,B as updateFieldByPath,b as validateCollection,e as validateConfig,d as validateFields,c as validateGlobal,f as z}from'./chunk-YIFKTA5N.js';export{e as autoBootstrap,a as bootstrapAdmin,f as bootstrapWithRetry,d as getBootstrapFromEnv}from'./chunk-RYXLEFS5.js';import'./chunk-LWM4WABU.js';import'./chunk-D6SDGHY6.js';export{a as createContext,g as createCountProcedure,d as createCreateProcedure,f as createDeleteProcedure,h as createDynamicRouter,c as createFindByIDProcedure,b as createFindProcedure,i as createKyroServer,e as createUpdateProcedure}from'./chunk-RYHOWZLK.js';export{J as buildGraphQLSchema,K as createGraphQLSchema}from'./chunk-X473JI7Z.js';import {bb,ab,db,eb}from'./chunk-2TYITUOC.js';export{bb as AuditLogger,db as InMemoryAuditLogger,ab as InMemoryRateLimiter,gb as MediaService,cb as createAuditContext,ib as createKyroApp,_a as createLocalStorage,jb as createRESTAPI,fb as isEdgeRuntime,Za as resolveProvider}from'./chunk-2TYITUOC.js';import {a}from'./chunk-3KZXF4US.js';export{a as PasswordPolicy}from'./chunk-3KZXF4US.js';import {q}from'./chunk-CH4TZZI5.js';export{p as ConfigService,q as EmailTransport,o as getEmailTemplates,n as renderAbandonedCart,g as renderAccountLocked,a as renderBaseLayout,f as renderMagicLink,i as renderNewLogin,j as renderOrderConfirmation,l as renderOrderDelivered,m as renderOrderRefunded,k as renderOrderShipped,e as renderPasswordChanged,c as renderResetPassword,h as renderUserInvite,b as renderVerifyEmail,d as renderWelcome}from'./chunk-CH4TZZI5.js';import'./chunk-OLRCZ6E3.js';import {a as a$3}from'./chunk-WNU76M2C.js';export{a as SQLiteAuthAdapter}from'./chunk-WNU76M2C.js';import {f as f$1}from'./chunk-6TPICJ2L.js';export{c as getAppSecret,d as getEncryptionKey,e as getSessionConfig,b as loadSecrets,a as setDbAdapter}from'./chunk-6TPICJ2L.js';import'./chunk-YENNL5HG.js';import'./chunk-W45TLOOT.js';import'./chunk-IKGVPXMK.js';import'./chunk-YUUXFD73.js';import'./chunk-LVBHOZZF.js';import'./chunk-OBYAIJVU.js';import'./chunk-JRUQ5ABB.js';import'./chunk-V4FAL7AG.js';import'./chunk-WPM6LFCY.js';import'./chunk-U6KFONKM.js';import'./chunk-TYQYKKWJ.js';export{d as ALL_WEBHOOK_EVENTS,e as WEBHOOK_COLLECTION,f as WEBHOOK_DELIVERY_COLLECTION,c as WEBHOOK_EVENTS,m as WebhookService,k as buildDeliveryRecord,l as createTestPayload,n as createWebhookService,i as deliverWebhook,j as deliverWithRetry,h as generateWebhookSecret,g as signPayload}from'./chunk-REQ622YC.js';export{h as evaluateAccess,j as getWhereClause,i as mergeWhereClauses}from'./chunk-GQGFNTDZ.js';export{b as KyroPubSub,d as KyroWSServer,a as PubSub,e as createWSServer}from'./chunk-KEITOXIP.js';import'./chunk-7MNDQU6K.js';export{c as DrizzleAdapter,b as collectionToDrizzleSchema,d as createDrizzleAdapter,a as fieldToDrizzleType}from'./chunk-6NBZDW53.js';import'./chunk-JV4HJBXW.js';export{b as createDatabase,c as runMigrations,d as seedDefaultRoles}from'./chunk-ZAKYTBEN.js';import {a as a$4}from'./chunk-6E44MQQ5.js';export{a as PostgresAuthAdapter}from'./chunk-6E44MQQ5.js';import'./chunk-47CXBWMA.js';import'./chunk-3TAUNYEM.js';import'./chunk-N5POANYV.js';import'./chunk-2HA6EKXX.js';import'./chunk-FLMUMPDE.js';import'./chunk-EML5FDUU.js';import'./chunk-HRAY65XH.js';import'./chunk-3NSZZCOJ.js';export{a as MongoDBAdapter,b as createMongoDBAdapter}from'./chunk-FK2BG4HU.js';import'./chunk-WXT2XW7T.js';import {a as a$2}from'./chunk-YGI5W4RS.js';export{a as MongoDBAuthAdapter}from'./chunk-YGI5W4RS.js';import {a as a$5}from'./chunk-SLMIYECU.js';export{a as AbstractBaseAdapter}from'./chunk-SLMIYECU.js';import {a as a$1}from'./chunk-P6JITOFF.js';import'./chunk-7NH7H3WA.js';import'./chunk-JA44K75G.js';import'./chunk-TBHNE4VV.js';import {g}from'./chunk-Y2YAKDEQ.js';import oe,{randomBytes}from'crypto';import {readFileSync}from'fs';import tt,{join,resolve}from'path';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
2
2
  g();g();g();g();async function Be(n,e){let t=e.data;for(let r of n){let o=await r({...e,data:t});o!==void 0&&(t=o);}return t}async function Wr(n,e){return Be(n,e)}g();g();var U=class extends a$5{connectionString;constructor(e){super(),this.connectionString=e.connectionString;}async connect(){this.connected=true;}async disconnect(){this.connected=false;}async query(e,t=[]){if(!this.connectionString)throw new Error("NeonAdapter: Connection string is required.");try{let r=await fetch(`${this.connectionString}/sql`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e,params:t})});return r.ok?(await r.json()).rows||[]:[]}catch{return []}}async find(e){return {docs:[],totalDocs:0,limit:e.limit||10,totalPages:1,page:e.page||1,hasNextPage:false,hasPrevPage:false}}async findByID(e){return null}async create(e){return e.data}async update(e){return e.data}async delete(e){return {success:true,id:e.id}}async count(e){return 0}async findOne(e){return null}async findVersions(e){return {docs:[],totalDocs:0,limit:10,totalPages:1,page:1,hasNextPage:false,hasPrevPage:false}}async findVersionByID(e){return null}async createVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async updateLatestVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async deleteVersions(e){}};function Ne(n){return new U(n)}g();var V=class extends a$5{url;authToken;constructor(e){super(),this.url=e.url.replace(/^libsql:\/\//,"https://"),this.authToken=e.authToken;}async connect(){this.connected=true;}async disconnect(){this.connected=false;}async query(e,t=[]){if(!this.url)throw new Error("TursoAdapter: Database URL is required.");try{let r={"Content-Type":"application/json"};this.authToken&&(r.Authorization=`Bearer ${this.authToken}`);let o=await fetch(`${this.url}/v2/pipeline`,{method:"POST",headers:r,body:JSON.stringify({requests:[{type:"execute",stmt:{sql:e,args:t.map(l=>({type:"text",value:String(l)}))}},{type:"close"}]})});if(!o.ok)return [];let i=(await o.json())?.results?.[0]?.response?.result;if(!i||!i.rows)return [];let c=i.cols.map(l=>l.name);return i.rows.map(l=>{let f={};return c.forEach((h,u)=>{f[h]=l[u]?.value??null;}),f})}catch{return []}}async find(e){return {docs:[],totalDocs:0,limit:e.limit||10,totalPages:1,page:e.page||1,hasNextPage:false,hasPrevPage:false}}async findByID(e){return null}async create(e){return e.data}async update(e){return e.data}async delete(e){return {success:true,id:e.id}}async count(e){return 0}async findOne(e){return null}async findVersions(e){return {docs:[],totalDocs:0,limit:10,totalPages:1,page:1,hasNextPage:false,hasPrevPage:false}}async findVersionByID(e){return null}async createVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async updateLatestVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async deleteVersions(e){}};function $e(n){return new V(n)}g();g();g();var Y=class{constructor(e){this.config=e;}config;css=[];addRule(e,t){let r=Object.entries(t).map(([o,s])=>` ${o}: ${s};`).join(`
3
3
  `);return this.css.push(`${e} {
4
4
  ${r}
@@ -60,11 +60,11 @@ ${s}
60
60
  `),r&&(o+=`
61
61
  <!-- Plausible Analytics -->
62
62
  <script defer data-domain="${r}" src="https://plausible.io/js/script.js"></script>
63
- `),o}g();var yo={facebook:{label:"Facebook"},twitter:{label:"Twitter / X"},instagram:{label:"Instagram"},linkedin:{label:"LinkedIn"},youtube:{label:"YouTube"},tiktok:{label:"TikTok"},pinterest:{label:"Pinterest"},discord:{label:"Discord"},twitch:{label:"Twitch"},github:{label:"GitHub"},mastodon:{label:"Mastodon"}},bo=["facebook","twitter","instagram","linkedin","youtube","tiktok","pinterest","discord","twitch","github","mastodon"];function Ge(n){if(!n)return [];let e=n.showAll===true,t=[];for(let r of bo){let o=n[r];if(!o||["tiktok","pinterest","discord","twitch","github","mastodon"].includes(r)&&!e)continue;let i=yo[r];t.push({platform:r,url:o,label:i?.label||r});}return t}async function Ao(n,e){try{let t=await n.findOne({collection:"_globals_social-settings",where:{},draft:e?.draft??!1});return Ge(t)}catch{return []}}g();function Qe(n){return n?{storeName:n.storeName,storeEmail:n.storeEmail,storePhone:n.storePhone,address:n.address,currency:n.currency,tax:n.tax,shipping:n.shipping,orders:n.orders}:{}}async function wo(n,e){try{let t=await n.findOne({collection:"_globals_store-settings",where:{},draft:e?.draft??!1});return Qe(t)}catch{return {}}}g();function Ye(n){return n?{testMode:n.testMode,provider:n.provider,stripe:n.stripe,paypal:n.paypal,square:n.square,methods:n.methods,bankTransfer:n.bankTransfer}:{}}async function xo(n,e){try{let t=await n.findOne({collection:"_globals_payment-settings",where:{},draft:e?.draft??!1});return Ye(t)}catch{return {}}}g();g();g();g();g();function v(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error);})}function Z(n,e){let t,r=()=>{if(t)return t;let o=indexedDB.open(n);return o.onupgradeneeded=()=>o.result.createObjectStore(e),t=v(o),t.then(s=>{s.onclose=()=>t=void 0;},()=>{t=void 0;}),t};return (o,s)=>r().then(i=>s(i.transaction(e,o).objectStore(e)))}var X;function M(){return X||(X=Z("keyval-store","keyval")),X}function W(n,e=M()){return e("readonly",t=>v(t.get(n)))}function ee(n,e,t=M()){return t("readwrite",r=>(r.put(e,n),v(r.transaction)))}function Je(n,e=M()){return e("readwrite",t=>(t.delete(n),v(t.transaction)))}function Xe(n=M()){return n("readwrite",e=>(e.clear(),v(e.transaction)))}function So(n,e){return n.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue());},v(n.transaction)}function Ze(n=M()){return n("readonly",e=>{if(e.getAllKeys)return v(e.getAllKeys());let t=[];return So(e,r=>t.push(r.key)).then(()=>t)})}var To="idb-keyval",et=(n={})=>{let e=n.base&&n.base.length>0?`${n.base}:`:"",t=o=>e+o,r;return n.dbName&&n.storeName&&(r=Z(n.dbName,n.storeName)),{name:To,options:n,async hasItem(o){return await W(t(o),r)!==void 0},async getItem(o){return await W(t(o),r)??null},async getItemRaw(o){return await W(t(o),r)??null},setItem(o,s){return ee(t(o),s,r)},setItemRaw(o,s){return ee(t(o),s,r)},removeItem(o){return Je(t(o),r)},getKeys(){return Ze(r)},clear(){return Xe(r)}}};async function te(n={}){let{namespace:e="kyro",ttl:t}=n,r=f$1({driver:et({dbName:"kyro-cms",storeName:e})}),o=e?`${e}:`:"";return {storage:{getItem:async i=>{let c=`${o}${i}`,l=await r.getItem(c);if(l==null)return null;try{let f=JSON.parse(l);return f.expiry&&Date.now()>f.expiry?(await r.removeItem(c),null):f.value}catch{return l}},setItem:async(i,c)=>{let l=`${o}${i}`,f=JSON.stringify(t?{value:c,expiry:Date.now()+t}:{value:c});await r.setItem(l,f);},removeItem:async i=>{await r.removeItem(`${o}${i}`);}},cleanup:async()=>{await r.dispose?.();}}}g();g();function re(n){let e=n||process.env.APP_SECRET||process.env.AUTH_SECRET||"development-secret-key";return oe.createHash("sha256").update(e).digest("hex")}function ko(n,e){let t=oe.randomBytes(16),r=oe.createCipheriv("aes-256-gcm",Buffer.from(e,"hex").subarray(0,32),t),o=r.update(n,"utf8","hex");o+=r.final("hex");let s=r.getAuthTag().toString("hex");return `${t.toString("hex")}:${s}:${o}`}function vo(n,e){let[t,r,o]=n.split(":"),s=Buffer.from(t,"hex"),i=Buffer.from(r,"hex"),c=oe.createDecipheriv("aes-256-gcm",Buffer.from(e,"hex").subarray(0,32),s);c.setAuthTag(i);let l=c.update(o,"hex","utf8");return l+=c.final("utf8"),l}async function ne(n={}){let{namespace:e="kyro",ttl:t,encryption:r=true,secret:o,basePath:s}=n,i=s?tt.join(s,".astro","kyro.json"):tt.join(process.cwd(),".astro","kyro.json"),c=f$1({driver:a$6({base:i})}),l=r?re(o):null,f=e?`${e}:`:"";return {storage:{getItem:async h=>{let u=`${f}${h}`,d=await c.getItem(u);if(d==null)return null;try{let A=l?vo(d,l):d,p=JSON.parse(A);return p.expiry&&Date.now()>p.expiry?(await c.removeItem(u),null):p.value}catch{return d}},setItem:async(h,u)=>{let d=`${f}${h}`,A=JSON.stringify(t?{value:u,expiry:Date.now()+t}:{value:u});await c.setItem(d,l?ko(A,l):A);},removeItem:async h=>{await c.removeItem(`${f}${h}`);}},cleanup:async()=>{await c.dispose?.();}}}async function se(n){let{environment:e,adapter:t,connectionString:r,encryption:o}=n,s=process.env.APP_SECRET||process.env.AUTH_SECRET,i={enabled:o?.enabled??true,algorithm:o?.algorithm};return e==="browser"?te({namespace:"kyro"}):ne({namespace:"kyro",encryption:i.enabled,secret:s})}async function rt(n){let e={...n,encryption:{enabled:true,algorithm:n.encryption?.algorithm}};return se(e)}g();function Ro(n){return {name:"kyro-loader",load:async e=>{let{store:t,logger:r,parseData:o}=e;r.info(`Loading Kyro CMS collection: "${n.collection}"`);try{let s=[];t.clear();for(let i of s){let c=String(i.id||i._id),l=await o({id:c,data:i});t.set({id:c,data:l,digest:JSON.stringify(l)});}r.info(`Successfully synced ${s.length} entries for "${n.collection}" into Astro store.`);}catch(s){r.error(`Failed to load Kyro collection "${n.collection}": ${s.message}`);}},schema:f.object({id:f.string(),createdAt:f.string().optional(),updatedAt:f.string().optional()}).passthrough()}}g();function Co(n){return {input:n.schema||f.object({}).passthrough(),handler:async(t,r)=>{try{return {success:!0,collection:n.collection,action:n.action,data:t,timestamp:new Date().toISOString()}}catch(o){return {success:false,error:o.message||"CMS Action Execution Failed"}}}}}g();function Do(n={}){let e=n.protectedRoutes||[],t=n.loginPath||"/admin/login",r=n.cookieName||"kyro_session";return async(o,s)=>{let{request:i,cookies:c,redirect:l,locals:f}=o,h=new URL(i.url),u=c?.get?.(r)?.value||i.headers.get("authorization")?.replace("Bearer ",""),d=null;return u&&(d={id:"user_1",email:"admin@kyro-cms.com",role:"admin"}),f.kyroUser=d,e.some(p=>new RegExp("^"+p.replace(/\*/g,".*")+"$").test(h.pathname))&&!d?l(`${t}?redirect=${encodeURIComponent(h.pathname)}`):s()}}g();function Io(n){let e=n?.collections||[],t=`// Auto-generated by Kyro CMS
63
+ `),o}g();var yo={facebook:{label:"Facebook"},twitter:{label:"Twitter / X"},instagram:{label:"Instagram"},linkedin:{label:"LinkedIn"},youtube:{label:"YouTube"},tiktok:{label:"TikTok"},pinterest:{label:"Pinterest"},discord:{label:"Discord"},twitch:{label:"Twitch"},github:{label:"GitHub"},mastodon:{label:"Mastodon"}},bo=["facebook","twitter","instagram","linkedin","youtube","tiktok","pinterest","discord","twitch","github","mastodon"];function Ge(n){if(!n)return [];let e=n.showAll===true,t=[];for(let r of bo){let o=n[r];if(!o||["tiktok","pinterest","discord","twitch","github","mastodon"].includes(r)&&!e)continue;let i=yo[r];t.push({platform:r,url:o,label:i?.label||r});}return t}async function Ao(n,e){try{let t=await n.findOne({collection:"_globals_social-settings",where:{},draft:e?.draft??!1});return Ge(t)}catch{return []}}g();function Qe(n){return n?{storeName:n.storeName,storeEmail:n.storeEmail,storePhone:n.storePhone,address:n.address,currency:n.currency,tax:n.tax,shipping:n.shipping,orders:n.orders}:{}}async function wo(n,e){try{let t=await n.findOne({collection:"_globals_store-settings",where:{},draft:e?.draft??!1});return Qe(t)}catch{return {}}}g();function Ye(n){return n?{testMode:n.testMode,provider:n.provider,stripe:n.stripe,paypal:n.paypal,square:n.square,methods:n.methods,bankTransfer:n.bankTransfer}:{}}async function xo(n,e){try{let t=await n.findOne({collection:"_globals_payment-settings",where:{},draft:e?.draft??!1});return Ye(t)}catch{return {}}}g();g();g();g();g();function v(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error);})}function Z(n,e){let t,r=()=>{if(t)return t;let o=indexedDB.open(n);return o.onupgradeneeded=()=>o.result.createObjectStore(e),t=v(o),t.then(s=>{s.onclose=()=>t=void 0;},()=>{t=void 0;}),t};return (o,s)=>r().then(i=>s(i.transaction(e,o).objectStore(e)))}var X;function M(){return X||(X=Z("keyval-store","keyval")),X}function W(n,e=M()){return e("readonly",t=>v(t.get(n)))}function ee(n,e,t=M()){return t("readwrite",r=>(r.put(e,n),v(r.transaction)))}function Je(n,e=M()){return e("readwrite",t=>(t.delete(n),v(t.transaction)))}function Xe(n=M()){return n("readwrite",e=>(e.clear(),v(e.transaction)))}function So(n,e){return n.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue());},v(n.transaction)}function Ze(n=M()){return n("readonly",e=>{if(e.getAllKeys)return v(e.getAllKeys());let t=[];return So(e,r=>t.push(r.key)).then(()=>t)})}var To="idb-keyval",et=(n={})=>{let e=n.base&&n.base.length>0?`${n.base}:`:"",t=o=>e+o,r;return n.dbName&&n.storeName&&(r=Z(n.dbName,n.storeName)),{name:To,options:n,async hasItem(o){return await W(t(o),r)!==void 0},async getItem(o){return await W(t(o),r)??null},async getItemRaw(o){return await W(t(o),r)??null},setItem(o,s){return ee(t(o),s,r)},setItemRaw(o,s){return ee(t(o),s,r)},removeItem(o){return Je(t(o),r)},getKeys(){return Ze(r)},clear(){return Xe(r)}}};async function te(n={}){let{namespace:e="kyro",ttl:t}=n,r=f$1({driver:et({dbName:"kyro-cms",storeName:e})}),o=e?`${e}:`:"";return {storage:{getItem:async i=>{let c=`${o}${i}`,l=await r.getItem(c);if(l==null)return null;try{let f=JSON.parse(l);return f.expiry&&Date.now()>f.expiry?(await r.removeItem(c),null):f.value}catch{return l}},setItem:async(i,c)=>{let l=`${o}${i}`,f=JSON.stringify(t?{value:c,expiry:Date.now()+t}:{value:c});await r.setItem(l,f);},removeItem:async i=>{await r.removeItem(`${o}${i}`);}},cleanup:async()=>{await r.dispose?.();}}}g();g();function re(n){let e=n||process.env.APP_SECRET||process.env.AUTH_SECRET||"development-secret-key";return oe.createHash("sha256").update(e).digest("hex")}function ko(n,e){let t=oe.randomBytes(16),r=oe.createCipheriv("aes-256-gcm",Buffer.from(e,"hex").subarray(0,32),t),o=r.update(n,"utf8","hex");o+=r.final("hex");let s=r.getAuthTag().toString("hex");return `${t.toString("hex")}:${s}:${o}`}function vo(n,e){let[t,r,o]=n.split(":"),s=Buffer.from(t,"hex"),i=Buffer.from(r,"hex"),c=oe.createDecipheriv("aes-256-gcm",Buffer.from(e,"hex").subarray(0,32),s);c.setAuthTag(i);let l=c.update(o,"hex","utf8");return l+=c.final("utf8"),l}async function ne(n={}){let{namespace:e="kyro",ttl:t,encryption:r=true,secret:o,basePath:s}=n,i=s?tt.join(s,".astro","kyro.json"):tt.join(process.cwd(),".astro","kyro.json"),c=f$1({driver:a$6({base:i})}),l=r?re(o):null,f=e?`${e}:`:"";return {storage:{getItem:async h=>{let u=`${f}${h}`,d=await c.getItem(u);if(d==null)return null;try{let A=l?vo(d,l):d,p=JSON.parse(A);return p.expiry&&Date.now()>p.expiry?(await c.removeItem(u),null):p.value}catch{return d}},setItem:async(h,u)=>{let d=`${f}${h}`,A=JSON.stringify(t?{value:u,expiry:Date.now()+t}:{value:u});await c.setItem(d,l?ko(A,l):A);},removeItem:async h=>{await c.removeItem(`${f}${h}`);}},cleanup:async()=>{await c.dispose?.();}}}async function se(n){let{environment:e,adapter:t,connectionString:r,encryption:o}=n,s=process.env.APP_SECRET||process.env.AUTH_SECRET,i={enabled:o?.enabled??true,algorithm:o?.algorithm};return e==="browser"?te({namespace:"kyro"}):ne({namespace:"kyro",encryption:i.enabled,secret:s})}async function rt(n){let e={...n,encryption:{enabled:true,algorithm:n.encryption?.algorithm}};return se(e)}g();function Co(n){return {name:"kyro-loader",load:async e=>{let{store:t,logger:r,parseData:o}=e;r.info(`Loading Kyro CMS collection: "${n.collection}"`);try{let s=[];t.clear();for(let i of s){let c=String(i.id||i._id),l=await o({id:c,data:i});t.set({id:c,data:l,digest:JSON.stringify(l)});}r.info(`Successfully synced ${s.length} entries for "${n.collection}" into Astro store.`);}catch(s){r.error(`Failed to load Kyro collection "${n.collection}": ${s.message}`);}},schema:f.object({id:f.string(),createdAt:f.string().optional(),updatedAt:f.string().optional()}).passthrough()}}g();function Ro(n){return {input:n.schema||f.object({}).passthrough(),handler:async(t,r)=>{try{return {success:!0,collection:n.collection,action:n.action,data:t,timestamp:new Date().toISOString()}}catch(o){return {success:false,error:o.message||"CMS Action Execution Failed"}}}}}g();function Do(n={}){let e=n.protectedRoutes||[],t=n.loginPath||"/admin/login",r=n.cookieName||"kyro_session";return async(o,s)=>{let{request:i,cookies:c,redirect:l,locals:f}=o,h=new URL(i.url),u=c?.get?.(r)?.value||i.headers.get("authorization")?.replace("Bearer ",""),d=null;return u&&(d={id:"user_1",email:"admin@kyro-cms.com",role:"admin"}),f.kyroUser=d,e.some(p=>new RegExp("^"+p.replace(/\*/g,".*")+"$").test(h.pathname))&&!d?l(`${t}?redirect=${encodeURIComponent(h.pathname)}`):s()}}g();function Io(n){let e=n?.collections||[],t=`// Auto-generated by Kyro CMS
64
64
  declare module 'kyro:collections' {
65
65
  export interface KyroCollections {
66
66
  `;for(let r of e){let o=r.name||r.slug;t+=` '${o}': Record<string, any>;
67
67
  `;}return t+=` }
68
68
  }
69
69
  `,t}g();function Lo(n={}){return {APP_SECRET:{context:"server",access:"secret",type:"string",optional:false},DATABASE_URL:{context:"server",access:"secret",type:"string",optional:!n.requireDatabase},PUBLIC_KYRO_URL:{context:"client",access:"public",type:"string",optional:true,default:"http://localhost:4321"}}}g();function Eo(n,e={}){let{idField:t="id",parentField:r="parent",slugField:o="slug",slugPrefix:s=true,basePath:i="",maxDepth:c=10}=e,l=new Map,f=[];for(let u of n){let d=u[t];d!=null&&l.set(d,{doc:u,id:d,slug:u[o],depth:0,path:"",fullPath:"",children:[]});}for(let u of n){let d=u[t],A=l.get(d);if(!A)continue;let p=u[r];p&&typeof p=="object"&&(p=p[t]||p.id||p._id),p&&l.has(p)?l.get(p).children.push(A):f.push(A);}function h(u,d,A){if(!(d>c))for(let p of u){p.depth=d;let y=p.slug||String(p.id),b="";s?b=A?`${A}/${y}`:i?`${i.replace(/\/$/,"")}/${y}`:`/${y}`:b=i?`${i.replace(/\/$/,"")}/${y}`:`/${y}`,p.path=b,p.fullPath=b,p.children.length>0&&h(p.children,d+1,p.path);}}return h(f,0,""),f}function ot(n,e,t={}){let r,o;Array.isArray(n)?(r=n,o=e):(o=n,r=e);let{idField:s="id",parentField:i="parent",labelField:c="title",slugField:l="slug",basePath:f=""}=t,h=new Map;for(let y of r){let b=y[s];b!=null&&h.set(b,y);}let u=[],d=o,A=new Set;for(;d!==void 0&&h.has(d)&&!A.has(d);){A.add(d);let y=h.get(d),b=y[c]||y.name||y.label||y[l]||String(d);u.unshift({id:d,label:b,slug:y[l]});let S=y[i];S&&typeof S=="object"&&(S=S[s]||S.id||S._id),d=S;}let p=f?f.replace(/\/$/,""):"";return u.map(y=>{let b=y.slug||String(y.id);return p=`${p}/${b}`,{...y,path:p}})}function Oo(n,e,t={}){let r=ot(n,e,t);return r[r.length-1]?.path||(t.basePath?t.basePath:"/")}function Uo(n){let e=[];function t(r){for(let o of r)e.push({doc:o.doc,id:o.id,depth:o.depth,path:o.path,fullPath:o.fullPath,hasChildren:o.children.length>0}),o.children.length>0&&t(o.children);}return t(n),e}
70
- export{D as AccountLockout,K as Auth,Y as CSSGenerator,E as InMemoryAccountLockout,L as InMemoryAuthAdapter,U as NeonAdapter,I as RateLimiter,V as TursoAdapter,z as VersionManager,We as authConfig,Eo as buildDocumentTree,Yr as createAdminStyling,io as createAuth,J as createAuthConfig,rt as createAuthStorage,Ne as createNeonAdapter,se as createStorage,$e as createTursoAdapter,ao as createVersionManager,Gr as defaultDarkTheme,Jr as defaultFieldStyling,F as defaultLightTheme,qe as defineConfig,mo as defineKyroConfig,Qr as ecommerce2026Theme,Uo as flattenDocumentTree,ho as generateAnalyticsTags,Ke as generateCSSVariables,Io as generateKyroAstroTypes,fo as generateSeoTags,qr as generateTailwindConfig,ot as getBreadcrumbs,j as getDefaultDraftPublishConfig,Oo as getNestedPath,xo as getPaymentConfig,Ye as getPaymentConfigFromSettings,Ao as getSocialLinks,Ge as getSocialLinksFromSettings,wo as getStoreConfig,Qe as getStoreConfigFromSettings,uo as isArchived,lo as isDraft,co as isPublished,Co as kyroAction,Do as kyroAuthMiddleware,Lo as kyroEnvSchema,Ro as kyroLoader,Wr as runFieldHooks,Be as runHooks};
70
+ export{D as AccountLockout,K as Auth,Y as CSSGenerator,E as InMemoryAccountLockout,L as InMemoryAuthAdapter,U as NeonAdapter,I as RateLimiter,V as TursoAdapter,z as VersionManager,We as authConfig,Eo as buildDocumentTree,Yr as createAdminStyling,io as createAuth,J as createAuthConfig,rt as createAuthStorage,Ne as createNeonAdapter,se as createStorage,$e as createTursoAdapter,ao as createVersionManager,Gr as defaultDarkTheme,Jr as defaultFieldStyling,F as defaultLightTheme,qe as defineConfig,mo as defineKyroConfig,Qr as ecommerce2026Theme,Uo as flattenDocumentTree,ho as generateAnalyticsTags,Ke as generateCSSVariables,Io as generateKyroAstroTypes,fo as generateSeoTags,qr as generateTailwindConfig,ot as getBreadcrumbs,j as getDefaultDraftPublishConfig,Oo as getNestedPath,xo as getPaymentConfig,Ye as getPaymentConfigFromSettings,Ao as getSocialLinks,Ge as getSocialLinksFromSettings,wo as getStoreConfig,Qe as getStoreConfigFromSettings,uo as isArchived,lo as isDraft,co as isPublished,Ro as kyroAction,Do as kyroAuthMiddleware,Lo as kyroEnvSchema,Co as kyroLoader,Wr as runFieldHooks,Be as runHooks};
@@ -1,6 +1,6 @@
1
- import { b as AbstractBaseAdapter, c as AuthAdapter, U as UserRole, d as AuthUser, S as Session, a as AuditLogFilter, A as AuditLog } from '../base-C6wyX2nC.cjs';
2
- import { F as FindArgs, b as FindResult, c as FindByIDArgs, d as CreateArgs, U as UpdateArgs, D as DeleteArgs, e as FindOneArgs, f as FindVersionsArgs, V as VersionRecord, g as CreateVersionArgs } from '../types-QglJ7PwT.cjs';
3
- import '../types-DxaK39ix.cjs';
1
+ import { b as AbstractBaseAdapter, c as AuthAdapter, U as UserRole, d as AuthUser, S as Session, a as AuditLogFilter, A as AuditLog } from '../base-DIpT2Vuz.cjs';
2
+ import { F as FindArgs, b as FindResult, c as FindByIDArgs, d as CreateArgs, U as UpdateArgs, D as DeleteArgs, e as FindOneArgs, f as FindVersionsArgs, V as VersionRecord, g as CreateVersionArgs } from '../types-CdwfDpyW.cjs';
3
+ import '../types-C3QFX0l6.cjs';
4
4
 
5
5
  declare class MongoDBAdapter extends AbstractBaseAdapter {
6
6
  dialect: "mongodb";
@@ -1,6 +1,6 @@
1
- import { b as AbstractBaseAdapter, c as AuthAdapter, U as UserRole, d as AuthUser, S as Session, a as AuditLogFilter, A as AuditLog } from '../base-A9AJPCG5.js';
2
- import { F as FindArgs, b as FindResult, c as FindByIDArgs, d as CreateArgs, U as UpdateArgs, D as DeleteArgs, e as FindOneArgs, f as FindVersionsArgs, V as VersionRecord, g as CreateVersionArgs } from '../types-BCOhfwHC.js';
3
- import '../types-DxaK39ix.js';
1
+ import { b as AbstractBaseAdapter, c as AuthAdapter, U as UserRole, d as AuthUser, S as Session, a as AuditLogFilter, A as AuditLog } from '../base-C2DOe8wD.js';
2
+ import { F as FindArgs, b as FindResult, c as FindByIDArgs, d as CreateArgs, U as UpdateArgs, D as DeleteArgs, e as FindOneArgs, f as FindVersionsArgs, V as VersionRecord, g as CreateVersionArgs } from '../types-CKWnrUAh.js';
3
+ import '../types-C3QFX0l6.js';
4
4
 
5
5
  declare class MongoDBAdapter extends AbstractBaseAdapter {
6
6
  dialect: "mongodb";
@@ -1 +1 @@
1
- 'use strict';var chunkNRE6VKL6_cjs=require('../chunk-NRE6VKL6.cjs');require('../chunk-Q5TFO66G.cjs'),require('../chunk-7NKNSRCB.cjs'),require('../chunk-HPYH7GTS.cjs'),require('../chunk-EQN3HDES.cjs'),require('../chunk-O4YE57OS.cjs'),require('../chunk-MCIZG4A3.cjs'),require('../chunk-35PGCW3S.cjs'),require('../chunk-UNYXWPLZ.cjs'),require('../chunk-PITMDQYN.cjs'),require('../chunk-GIS6X43A.cjs'),require('../chunk-LEBM6ZSZ.cjs'),require('../chunk-GNEVCEJU.cjs'),require('../chunk-XDQVYCIR.cjs'),require('../chunk-3VXEK5ZW.cjs'),require('../chunk-EZIDQBXI.cjs'),require('../chunk-LQ3YZTPU.cjs'),require('../chunk-SBNMXQNO.cjs'),require('../chunk-ZHA446FA.cjs'),require('../chunk-TCFL3UWT.cjs'),require('../chunk-QYN6C3FZ.cjs'),require('../chunk-7JWQ2PZP.cjs'),require('../chunk-RVBSJ4UQ.cjs'),require('../chunk-GNOSG3PK.cjs'),require('../chunk-LY7N3UHH.cjs'),require('../chunk-BAVN7VDR.cjs'),require('../chunk-NGNJSUGL.cjs'),require('../chunk-BCEE4NBZ.cjs'),require('../chunk-VRZC4TTF.cjs'),require('../chunk-J6V573PE.cjs'),require('../chunk-HTYVI2HK.cjs'),require('../chunk-ZUBJ6RLQ.cjs'),require('../chunk-7WMMKGEO.cjs'),require('../chunk-BUNLC3II.cjs');Object.defineProperty(exports,"createKyroApp",{enumerable:true,get:function(){return chunkNRE6VKL6_cjs.ib}});Object.defineProperty(exports,"createRESTAPI",{enumerable:true,get:function(){return chunkNRE6VKL6_cjs.jb}});
1
+ 'use strict';var chunk6YS6XLOD_cjs=require('../chunk-6YS6XLOD.cjs');require('../chunk-Q5TFO66G.cjs'),require('../chunk-7NKNSRCB.cjs'),require('../chunk-HPYH7GTS.cjs'),require('../chunk-EQN3HDES.cjs'),require('../chunk-O4YE57OS.cjs'),require('../chunk-MCIZG4A3.cjs'),require('../chunk-35PGCW3S.cjs'),require('../chunk-UNYXWPLZ.cjs'),require('../chunk-PITMDQYN.cjs'),require('../chunk-GIS6X43A.cjs'),require('../chunk-LEBM6ZSZ.cjs'),require('../chunk-GNEVCEJU.cjs'),require('../chunk-XDQVYCIR.cjs'),require('../chunk-3VXEK5ZW.cjs'),require('../chunk-EZIDQBXI.cjs'),require('../chunk-LQ3YZTPU.cjs'),require('../chunk-SBNMXQNO.cjs'),require('../chunk-ZHA446FA.cjs'),require('../chunk-TCFL3UWT.cjs'),require('../chunk-QYN6C3FZ.cjs'),require('../chunk-7JWQ2PZP.cjs'),require('../chunk-RVBSJ4UQ.cjs'),require('../chunk-GNOSG3PK.cjs'),require('../chunk-LY7N3UHH.cjs'),require('../chunk-BAVN7VDR.cjs'),require('../chunk-NGNJSUGL.cjs'),require('../chunk-BCEE4NBZ.cjs'),require('../chunk-VRZC4TTF.cjs'),require('../chunk-J6V573PE.cjs'),require('../chunk-HTYVI2HK.cjs'),require('../chunk-ZUBJ6RLQ.cjs'),require('../chunk-7WMMKGEO.cjs'),require('../chunk-BUNLC3II.cjs');Object.defineProperty(exports,"createKyroApp",{enumerable:true,get:function(){return chunk6YS6XLOD_cjs.ib}});Object.defineProperty(exports,"createRESTAPI",{enumerable:true,get:function(){return chunk6YS6XLOD_cjs.jb}});
@@ -1,8 +1,8 @@
1
1
  import { Hono } from 'hono';
2
- import { B as BaseAdapter, i as User } from '../types-QglJ7PwT.cjs';
3
- import { R as Registry } from '../index-Zrg3sZ6R.cjs';
4
- import { j as createWebhookService } from '../WebhookService-CGxHtw7E.cjs';
5
- import '../types-DxaK39ix.cjs';
2
+ import { B as BaseAdapter, i as User } from '../types-CdwfDpyW.cjs';
3
+ import { R as Registry } from '../index-Ci7aUrmN.cjs';
4
+ import { j as createWebhookService } from '../WebhookService-BJTCP3cU.cjs';
5
+ import '../types-C3QFX0l6.cjs';
6
6
  import 'zod';
7
7
 
8
8
  interface KyroAppOptions {
@@ -1,8 +1,8 @@
1
1
  import { Hono } from 'hono';
2
- import { B as BaseAdapter, i as User } from '../types-BCOhfwHC.js';
3
- import { R as Registry } from '../index-NGnJpSgf.js';
4
- import { j as createWebhookService } from '../WebhookService-CNC1lYz7.js';
5
- import '../types-DxaK39ix.js';
2
+ import { B as BaseAdapter, i as User } from '../types-CKWnrUAh.js';
3
+ import { R as Registry } from '../index-C9uBoJtm.js';
4
+ import { j as createWebhookService } from '../WebhookService-Bqr_66lK.js';
5
+ import '../types-C3QFX0l6.js';
6
6
  import 'zod';
7
7
 
8
8
  interface KyroAppOptions {
@@ -1 +1 @@
1
- export{ib as createKyroApp,jb as createRESTAPI}from'../chunk-2SPWRQ5O.js';import'../chunk-3KZXF4US.js';import'../chunk-CH4TZZI5.js';import'../chunk-OLRCZ6E3.js';import'../chunk-WNU76M2C.js';import'../chunk-6TPICJ2L.js';import'../chunk-YENNL5HG.js';import'../chunk-W45TLOOT.js';import'../chunk-IKGVPXMK.js';import'../chunk-YUUXFD73.js';import'../chunk-LVBHOZZF.js';import'../chunk-OBYAIJVU.js';import'../chunk-JRUQ5ABB.js';import'../chunk-V4FAL7AG.js';import'../chunk-WPM6LFCY.js';import'../chunk-U6KFONKM.js';import'../chunk-TYQYKKWJ.js';import'../chunk-REQ622YC.js';import'../chunk-GQGFNTDZ.js';import'../chunk-ZAKYTBEN.js';import'../chunk-6E44MQQ5.js';import'../chunk-47CXBWMA.js';import'../chunk-3TAUNYEM.js';import'../chunk-N5POANYV.js';import'../chunk-2HA6EKXX.js';import'../chunk-FLMUMPDE.js';import'../chunk-EML5FDUU.js';import'../chunk-HRAY65XH.js';import'../chunk-3NSZZCOJ.js';import'../chunk-YGI5W4RS.js';import'../chunk-7NH7H3WA.js';import'../chunk-JA44K75G.js';import'../chunk-TBHNE4VV.js';import'../chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
1
+ export{ib as createKyroApp,jb as createRESTAPI}from'../chunk-2TYITUOC.js';import'../chunk-3KZXF4US.js';import'../chunk-CH4TZZI5.js';import'../chunk-OLRCZ6E3.js';import'../chunk-WNU76M2C.js';import'../chunk-6TPICJ2L.js';import'../chunk-YENNL5HG.js';import'../chunk-W45TLOOT.js';import'../chunk-IKGVPXMK.js';import'../chunk-YUUXFD73.js';import'../chunk-LVBHOZZF.js';import'../chunk-OBYAIJVU.js';import'../chunk-JRUQ5ABB.js';import'../chunk-V4FAL7AG.js';import'../chunk-WPM6LFCY.js';import'../chunk-U6KFONKM.js';import'../chunk-TYQYKKWJ.js';import'../chunk-REQ622YC.js';import'../chunk-GQGFNTDZ.js';import'../chunk-ZAKYTBEN.js';import'../chunk-6E44MQQ5.js';import'../chunk-47CXBWMA.js';import'../chunk-3TAUNYEM.js';import'../chunk-N5POANYV.js';import'../chunk-2HA6EKXX.js';import'../chunk-FLMUMPDE.js';import'../chunk-EML5FDUU.js';import'../chunk-HRAY65XH.js';import'../chunk-3NSZZCOJ.js';import'../chunk-YGI5W4RS.js';import'../chunk-7NH7H3WA.js';import'../chunk-JA44K75G.js';import'../chunk-TBHNE4VV.js';import'../chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
@@ -1,5 +1,5 @@
1
- import { G as GlobalConfig, C as CollectionConfig } from '../types-QglJ7PwT.cjs';
2
- import '../types-DxaK39ix.cjs';
1
+ import { G as GlobalConfig, C as CollectionConfig } from '../types-CdwfDpyW.cjs';
2
+ import '../types-C3QFX0l6.cjs';
3
3
 
4
4
  declare const minimalCollections: Record<string, any>;
5
5
 
@@ -1,5 +1,5 @@
1
- import { G as GlobalConfig, C as CollectionConfig } from '../types-BCOhfwHC.js';
2
- import '../types-DxaK39ix.js';
1
+ import { G as GlobalConfig, C as CollectionConfig } from '../types-CKWnrUAh.js';
2
+ import '../types-C3QFX0l6.js';
3
3
 
4
4
  declare const minimalCollections: Record<string, any>;
5
5
 
@@ -1,6 +1,6 @@
1
- import { B as BaseAdapter, i as User, R as Request, b as FindResult } from '../types-QglJ7PwT.cjs';
2
- import { j as createWebhookService } from '../WebhookService-CGxHtw7E.cjs';
3
- import '../types-DxaK39ix.cjs';
1
+ import { B as BaseAdapter, i as User, R as Request, b as FindResult } from '../types-CdwfDpyW.cjs';
2
+ import { j as createWebhookService } from '../WebhookService-BJTCP3cU.cjs';
3
+ import '../types-C3QFX0l6.cjs';
4
4
 
5
5
  interface ApiKeyContext {
6
6
  userId: string;
@@ -1,6 +1,6 @@
1
- import { B as BaseAdapter, i as User, R as Request, b as FindResult } from '../types-BCOhfwHC.js';
2
- import { j as createWebhookService } from '../WebhookService-CNC1lYz7.js';
3
- import '../types-DxaK39ix.js';
1
+ import { B as BaseAdapter, i as User, R as Request, b as FindResult } from '../types-CKWnrUAh.js';
2
+ import { j as createWebhookService } from '../WebhookService-Bqr_66lK.js';
3
+ import '../types-C3QFX0l6.js';
4
4
 
5
5
  interface ApiKeyContext {
6
6
  userId: string;
@@ -31,6 +31,7 @@ interface FieldAdmin {
31
31
  method?: string;
32
32
  inline?: boolean;
33
33
  compact?: boolean;
34
+ display?: "pills" | "default";
34
35
  collapsible?: boolean;
35
36
  initCollapsed?: boolean;
36
37
  pickerMode?: "drawer" | "dropdown";
@@ -297,6 +298,10 @@ interface SecretField extends BaseField {
297
298
  interface IconField extends BaseField {
298
299
  type: "icon";
299
300
  }
301
+ /**
302
+ * @experimental
303
+ * Native embedding field for AI semantic search and RAG workflows.
304
+ */
300
305
  interface EmbeddingField extends BaseField {
301
306
  type: "embedding";
302
307
  sourceField: string;
@@ -31,7 +31,7 @@ interface FieldAdmin {
31
31
  method?: string;
32
32
  inline?: boolean;
33
33
  compact?: boolean;
34
- display?: "pills" | "badges" | "chips" | "receipt" | "default";
34
+ display?: "pills" | "default";
35
35
  collapsible?: boolean;
36
36
  initCollapsed?: boolean;
37
37
  pickerMode?: "drawer" | "dropdown";
@@ -298,6 +298,10 @@ interface SecretField extends BaseField {
298
298
  interface IconField extends BaseField {
299
299
  type: "icon";
300
300
  }
301
+ /**
302
+ * @experimental
303
+ * Native embedding field for AI semantic search and RAG workflows.
304
+ */
301
305
  interface EmbeddingField extends BaseField {
302
306
  type: "embedding";
303
307
  sourceField: string;
@@ -1,4 +1,4 @@
1
- import { F as Field } from './types-B9oXBEKI.cjs';
1
+ import { F as Field } from './types-C3QFX0l6.js';
2
2
 
3
3
  interface Request {
4
4
  body?: any;
@@ -834,6 +834,27 @@ interface KyroConfig {
834
834
  max?: number;
835
835
  };
836
836
  debug?: boolean;
837
+ /**
838
+ * Experimental features configuration.
839
+ * Opt-in to features undergoing active development.
840
+ */
841
+ experimental?: ExperimentalConfig;
842
+ }
843
+ /**
844
+ * Experimental features configuration.
845
+ * Features toggled here are active work-in-progress and subject to change across minor releases.
846
+ */
847
+ interface ExperimentalConfig {
848
+ /** Enable WebSocket real-time engine and multiplayer presence synchronization */
849
+ websockets?: boolean;
850
+ /** Enable AI Assistant and LLM copilot integrations */
851
+ aiAssistant?: boolean;
852
+ /** Enable vector embeddings and semantic search endpoints */
853
+ vectorSearch?: boolean;
854
+ /** Enable dynamic design token compilation (/api/tokens.css) */
855
+ designTokens?: boolean;
856
+ /** Enable live visual preview / island canvas */
857
+ visualCanvas?: boolean;
837
858
  }
838
859
 
839
- export { getWhereClause as $, type AccessArgs as A, type BaseAdapter as B, type CollectionConfig as C, type DeleteArgs as D, type EmailConfig as E, type FindArgs as F, type GlobalConfig as G, type HierarchyConfig as H, type ImageSize as I, type PluginHooks as J, KyroPlugin as K, type ProjectConfig as L, ReviewsPlugin as M, SEOPlugin as N, type OrganizationConfig as O, PluginManager as P, type SmartViewConfig as Q, type Request as R, type StorageConfig as S, type TenantContext as T, type UpdateArgs as U, type VersionRecord as V, type UploadConfig as W, type VersionConfig as X, type WhereClause as Y, WishlistPlugin as Z, evaluateAccess as _, type StorageProvider as a, mergeWhereClauses as a0, presetPlugins as a1, resolveProvider as a2, runFieldHooks as a3, runHooks as a4, type FindResult as b, type FindByIDArgs as c, type CreateArgs as d, type FindOneArgs as e, type FindVersionsArgs as f, type CreateVersionArgs as g, type KyroConfig as h, type User as i, type AccessControl as j, type AdapterConfig as k, type AdminConfig as l, AnalyticsPlugin as m, type AuthConfig as n, type CollectionAccess as o, type CollectionHooks as p, CommentsPlugin as q, ConfigService as r, type CreateResult as s, type FieldAccess as t, type FieldHooks as u, type GlobalAccess as v, type GlobalHooks as w, type Hook as x, type HookArgs as y, type PluginAPI as z };
860
+ export { evaluateAccess as $, type AccessArgs as A, type BaseAdapter as B, type CollectionConfig as C, type DeleteArgs as D, type EmailConfig as E, type FindArgs as F, type GlobalConfig as G, type HierarchyConfig as H, type ImageSize as I, type PluginAPI as J, KyroPlugin as K, type PluginHooks as L, type ProjectConfig as M, ReviewsPlugin as N, type OrganizationConfig as O, PluginManager as P, SEOPlugin as Q, type Request as R, type StorageConfig as S, type TenantContext as T, type UpdateArgs as U, type VersionRecord as V, type SmartViewConfig as W, type UploadConfig as X, type VersionConfig as Y, type WhereClause as Z, WishlistPlugin as _, type StorageProvider as a, getWhereClause as a0, mergeWhereClauses as a1, presetPlugins as a2, resolveProvider as a3, runFieldHooks as a4, runHooks as a5, type FindResult as b, type FindByIDArgs as c, type CreateArgs as d, type FindOneArgs as e, type FindVersionsArgs as f, type CreateVersionArgs as g, type KyroConfig as h, type User as i, type AccessControl as j, type AdapterConfig as k, type AdminConfig as l, AnalyticsPlugin as m, type AuthConfig as n, type CollectionAccess as o, type CollectionHooks as p, CommentsPlugin as q, ConfigService as r, type CreateResult as s, type ExperimentalConfig as t, type FieldAccess as u, type FieldHooks as v, type GlobalAccess as w, type GlobalHooks as x, type Hook as y, type HookArgs as z };
@@ -1,4 +1,4 @@
1
- import { F as Field } from './types-CjGqxBd3.js';
1
+ import { F as Field } from './types-C3QFX0l6.cjs';
2
2
 
3
3
  interface Request {
4
4
  body?: any;
@@ -834,6 +834,27 @@ interface KyroConfig {
834
834
  max?: number;
835
835
  };
836
836
  debug?: boolean;
837
+ /**
838
+ * Experimental features configuration.
839
+ * Opt-in to features undergoing active development.
840
+ */
841
+ experimental?: ExperimentalConfig;
842
+ }
843
+ /**
844
+ * Experimental features configuration.
845
+ * Features toggled here are active work-in-progress and subject to change across minor releases.
846
+ */
847
+ interface ExperimentalConfig {
848
+ /** Enable WebSocket real-time engine and multiplayer presence synchronization */
849
+ websockets?: boolean;
850
+ /** Enable AI Assistant and LLM copilot integrations */
851
+ aiAssistant?: boolean;
852
+ /** Enable vector embeddings and semantic search endpoints */
853
+ vectorSearch?: boolean;
854
+ /** Enable dynamic design token compilation (/api/tokens.css) */
855
+ designTokens?: boolean;
856
+ /** Enable live visual preview / island canvas */
857
+ visualCanvas?: boolean;
837
858
  }
838
859
 
839
- export { getWhereClause as $, type AccessArgs as A, type BaseAdapter as B, type CollectionConfig as C, type DeleteArgs as D, type EmailConfig as E, type FindArgs as F, type GlobalConfig as G, type HierarchyConfig as H, type ImageSize as I, type PluginHooks as J, KyroPlugin as K, type ProjectConfig as L, ReviewsPlugin as M, SEOPlugin as N, type OrganizationConfig as O, PluginManager as P, type SmartViewConfig as Q, type Request as R, type StorageConfig as S, type TenantContext as T, type UpdateArgs as U, type VersionRecord as V, type UploadConfig as W, type VersionConfig as X, type WhereClause as Y, WishlistPlugin as Z, evaluateAccess as _, type StorageProvider as a, mergeWhereClauses as a0, presetPlugins as a1, resolveProvider as a2, runFieldHooks as a3, runHooks as a4, type FindResult as b, type FindByIDArgs as c, type CreateArgs as d, type FindOneArgs as e, type FindVersionsArgs as f, type CreateVersionArgs as g, type KyroConfig as h, type User as i, type AccessControl as j, type AdapterConfig as k, type AdminConfig as l, AnalyticsPlugin as m, type AuthConfig as n, type CollectionAccess as o, type CollectionHooks as p, CommentsPlugin as q, ConfigService as r, type CreateResult as s, type FieldAccess as t, type FieldHooks as u, type GlobalAccess as v, type GlobalHooks as w, type Hook as x, type HookArgs as y, type PluginAPI as z };
860
+ export { evaluateAccess as $, type AccessArgs as A, type BaseAdapter as B, type CollectionConfig as C, type DeleteArgs as D, type EmailConfig as E, type FindArgs as F, type GlobalConfig as G, type HierarchyConfig as H, type ImageSize as I, type PluginAPI as J, KyroPlugin as K, type PluginHooks as L, type ProjectConfig as M, ReviewsPlugin as N, type OrganizationConfig as O, PluginManager as P, SEOPlugin as Q, type Request as R, type StorageConfig as S, type TenantContext as T, type UpdateArgs as U, type VersionRecord as V, type SmartViewConfig as W, type UploadConfig as X, type VersionConfig as Y, type WhereClause as Z, WishlistPlugin as _, type StorageProvider as a, getWhereClause as a0, mergeWhereClauses as a1, presetPlugins as a2, resolveProvider as a3, runFieldHooks as a4, runHooks as a5, type FindResult as b, type FindByIDArgs as c, type CreateArgs as d, type FindOneArgs as e, type FindVersionsArgs as f, type CreateVersionArgs as g, type KyroConfig as h, type User as i, type AccessControl as j, type AdapterConfig as k, type AdminConfig as l, AnalyticsPlugin as m, type AuthConfig as n, type CollectionAccess as o, type CollectionHooks as p, CommentsPlugin as q, ConfigService as r, type CreateResult as s, type ExperimentalConfig as t, type FieldAccess as u, type FieldHooks as v, type GlobalAccess as w, type GlobalHooks as x, type Hook as y, type HookArgs as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kyro-cms/core",
3
- "version": "0.13.3",
3
+ "version": "0.13.5",
4
4
  "description": "Astro-native headless CMS with multi-database adapters, multi-protocol APIs, and multi-vendor support",
5
5
  "engines": {
6
6
  "node": ">=22"
@@ -191,7 +191,7 @@
191
191
  "ws": "^8.18.0",
192
192
  "zod": "^3.24.0",
193
193
  "zod-to-json-schema": "^3.25.2",
194
- "@kyro-cms/ai": "0.13.0"
194
+ "@kyro-cms/ai": "0.13.1"
195
195
  },
196
196
  "devDependencies": {
197
197
  "@tailwindcss/vite": "^4.0.0",
@@ -1,143 +0,0 @@
1
- import { B as BaseAdapter } from './types-DCWgPFmi.cjs';
2
-
3
- declare const WEBHOOK_EVENTS: {
4
- readonly COLLECTION_CREATE: "collection.create";
5
- readonly COLLECTION_UPDATE: "collection.update";
6
- readonly COLLECTION_DELETE: "collection.delete";
7
- readonly MEDIA_UPLOAD: "media.upload";
8
- readonly MEDIA_DELETE: "media.delete";
9
- readonly AUTH_LOGIN: "auth.login";
10
- readonly AUTH_REGISTER: "auth.register";
11
- readonly AUTH_LOGOUT: "auth.logout";
12
- readonly ORDER_CREATED: "order.created";
13
- readonly ORDER_PAID: "order.paid";
14
- readonly ORDER_SHIPPED: "order.shipped";
15
- readonly ORDER_DELIVERED: "order.delivered";
16
- };
17
- type WebhookEvent = (typeof WEBHOOK_EVENTS)[keyof typeof WEBHOOK_EVENTS];
18
- declare const ALL_WEBHOOK_EVENTS: WebhookEvent[];
19
- type WebhookActionType = "generic" | "github-push";
20
- interface WebhookActionConfig {
21
- githubOwner?: string;
22
- githubRepo?: string;
23
- githubBranch?: string;
24
- }
25
- interface WebhookConfig {
26
- id: string;
27
- name: string;
28
- url: string;
29
- events: WebhookEvent[];
30
- collections?: string[];
31
- status: "active" | "inactive" | "error";
32
- secret?: string;
33
- headers?: Record<string, string>;
34
- action?: WebhookActionType;
35
- config?: WebhookActionConfig;
36
- lastTriggered?: string;
37
- lastError?: string;
38
- createdAt: string;
39
- updatedAt: string;
40
- }
41
- interface CreateWebhookData {
42
- name: string;
43
- url: string;
44
- events: (WebhookEvent | "create" | "update" | "delete")[];
45
- collections?: string[];
46
- status?: "active" | "inactive";
47
- secret?: string;
48
- headers?: Record<string, string>;
49
- action?: WebhookActionType;
50
- config?: WebhookActionConfig;
51
- }
52
- interface UpdateWebhookData {
53
- name?: string;
54
- url?: string;
55
- events?: (WebhookEvent | "create" | "update" | "delete")[];
56
- collections?: string[];
57
- status?: "active" | "inactive" | "error";
58
- secret?: string;
59
- headers?: Record<string, string>;
60
- action?: WebhookActionType;
61
- config?: WebhookActionConfig;
62
- lastTriggered?: string | null;
63
- lastError?: string | null;
64
- }
65
- interface WebhookPayload {
66
- id: string;
67
- event: WebhookEvent;
68
- timestamp: string;
69
- collection?: string;
70
- operation?: "create" | "update" | "delete";
71
- data?: unknown;
72
- previousData?: unknown;
73
- user?: {
74
- id: string;
75
- email?: string;
76
- role?: string;
77
- };
78
- tenantId?: string;
79
- metadata?: Record<string, unknown>;
80
- }
81
- interface WebhookDelivery {
82
- id: string;
83
- webhookId: string;
84
- event: WebhookEvent;
85
- payload: WebhookPayload;
86
- attempt: number;
87
- status: "pending" | "success" | "failed" | "retrying";
88
- responseStatus?: number;
89
- responseBody?: string;
90
- error?: string;
91
- duration?: number;
92
- createdAt: string;
93
- deliveredAt?: string;
94
- nextRetryAt?: string;
95
- }
96
- interface WebhookTriggerResult {
97
- deliveryId: string;
98
- webhookId: string;
99
- event: WebhookEvent;
100
- status: "queued" | "success" | "failed";
101
- responseStatus?: number;
102
- duration?: number;
103
- error?: string;
104
- }
105
- declare const WEBHOOK_COLLECTION = "_webhooks";
106
- declare const WEBHOOK_DELIVERY_COLLECTION = "_webhook_deliveries";
107
- interface DeliveryResult {
108
- success: boolean;
109
- status: number;
110
- statusText?: string;
111
- body?: string;
112
- duration: number;
113
- error?: string;
114
- }
115
- interface DeliveryOptions {
116
- timeout?: number;
117
- maxRetries?: number;
118
- retryDelay?: number;
119
- onRetry?: (attempt: number, error: string) => void;
120
- onSuccess?: (result: DeliveryResult) => void;
121
- onFailure?: (error: string) => void;
122
- }
123
-
124
- declare class WebhookService {
125
- private db;
126
- constructor(db: BaseAdapter);
127
- getWebhooks(filters?: {
128
- status?: string;
129
- event?: WebhookEvent;
130
- }): Promise<WebhookConfig[]>;
131
- getWebhookById(id: string): Promise<WebhookConfig | null>;
132
- createWebhook(data: CreateWebhookData): Promise<WebhookConfig>;
133
- updateWebhook(id: string, data: UpdateWebhookData): Promise<WebhookConfig | null>;
134
- deleteWebhook(id: string): Promise<void>;
135
- trigger(event: WebhookEvent, payloadData: Omit<WebhookPayload, "id" | "event" | "timestamp">): Promise<WebhookTriggerResult[]>;
136
- triggerWebhook(webhook: WebhookConfig, payload: WebhookPayload): Promise<WebhookTriggerResult>;
137
- testWebhook(webhookId: string): Promise<WebhookTriggerResult | null>;
138
- getDeliveryHistory(webhookId: string, limit?: number): Promise<WebhookDelivery[]>;
139
- retryDelivery(deliveryId: string): Promise<WebhookTriggerResult | null>;
140
- }
141
- declare function createWebhookService(db: BaseAdapter): WebhookService;
142
-
143
- export { ALL_WEBHOOK_EVENTS as A, type CreateWebhookData as C, type DeliveryResult as D, type UpdateWebhookData as U, type WebhookPayload as W, type WebhookDelivery as a, type WebhookConfig as b, type DeliveryOptions as c, WebhookService as d, WEBHOOK_COLLECTION as e, WEBHOOK_DELIVERY_COLLECTION as f, WEBHOOK_EVENTS as g, type WebhookEvent as h, type WebhookTriggerResult as i, createWebhookService as j };
@@ -1,143 +0,0 @@
1
- import { B as BaseAdapter } from './types-6ShQp2EM.cjs';
2
-
3
- declare const WEBHOOK_EVENTS: {
4
- readonly COLLECTION_CREATE: "collection.create";
5
- readonly COLLECTION_UPDATE: "collection.update";
6
- readonly COLLECTION_DELETE: "collection.delete";
7
- readonly MEDIA_UPLOAD: "media.upload";
8
- readonly MEDIA_DELETE: "media.delete";
9
- readonly AUTH_LOGIN: "auth.login";
10
- readonly AUTH_REGISTER: "auth.register";
11
- readonly AUTH_LOGOUT: "auth.logout";
12
- readonly ORDER_CREATED: "order.created";
13
- readonly ORDER_PAID: "order.paid";
14
- readonly ORDER_SHIPPED: "order.shipped";
15
- readonly ORDER_DELIVERED: "order.delivered";
16
- };
17
- type WebhookEvent = (typeof WEBHOOK_EVENTS)[keyof typeof WEBHOOK_EVENTS];
18
- declare const ALL_WEBHOOK_EVENTS: WebhookEvent[];
19
- type WebhookActionType = "generic" | "github-push";
20
- interface WebhookActionConfig {
21
- githubOwner?: string;
22
- githubRepo?: string;
23
- githubBranch?: string;
24
- }
25
- interface WebhookConfig {
26
- id: string;
27
- name: string;
28
- url: string;
29
- events: WebhookEvent[];
30
- collections?: string[];
31
- status: "active" | "inactive" | "error";
32
- secret?: string;
33
- headers?: Record<string, string>;
34
- action?: WebhookActionType;
35
- config?: WebhookActionConfig;
36
- lastTriggered?: string;
37
- lastError?: string;
38
- createdAt: string;
39
- updatedAt: string;
40
- }
41
- interface CreateWebhookData {
42
- name: string;
43
- url: string;
44
- events: (WebhookEvent | "create" | "update" | "delete")[];
45
- collections?: string[];
46
- status?: "active" | "inactive";
47
- secret?: string;
48
- headers?: Record<string, string>;
49
- action?: WebhookActionType;
50
- config?: WebhookActionConfig;
51
- }
52
- interface UpdateWebhookData {
53
- name?: string;
54
- url?: string;
55
- events?: (WebhookEvent | "create" | "update" | "delete")[];
56
- collections?: string[];
57
- status?: "active" | "inactive" | "error";
58
- secret?: string;
59
- headers?: Record<string, string>;
60
- action?: WebhookActionType;
61
- config?: WebhookActionConfig;
62
- lastTriggered?: string | null;
63
- lastError?: string | null;
64
- }
65
- interface WebhookPayload {
66
- id: string;
67
- event: WebhookEvent;
68
- timestamp: string;
69
- collection?: string;
70
- operation?: "create" | "update" | "delete";
71
- data?: unknown;
72
- previousData?: unknown;
73
- user?: {
74
- id: string;
75
- email?: string;
76
- role?: string;
77
- };
78
- tenantId?: string;
79
- metadata?: Record<string, unknown>;
80
- }
81
- interface WebhookDelivery {
82
- id: string;
83
- webhookId: string;
84
- event: WebhookEvent;
85
- payload: WebhookPayload;
86
- attempt: number;
87
- status: "pending" | "success" | "failed" | "retrying";
88
- responseStatus?: number;
89
- responseBody?: string;
90
- error?: string;
91
- duration?: number;
92
- createdAt: string;
93
- deliveredAt?: string;
94
- nextRetryAt?: string;
95
- }
96
- interface WebhookTriggerResult {
97
- deliveryId: string;
98
- webhookId: string;
99
- event: WebhookEvent;
100
- status: "queued" | "success" | "failed";
101
- responseStatus?: number;
102
- duration?: number;
103
- error?: string;
104
- }
105
- declare const WEBHOOK_COLLECTION = "_webhooks";
106
- declare const WEBHOOK_DELIVERY_COLLECTION = "_webhook_deliveries";
107
- interface DeliveryResult {
108
- success: boolean;
109
- status: number;
110
- statusText?: string;
111
- body?: string;
112
- duration: number;
113
- error?: string;
114
- }
115
- interface DeliveryOptions {
116
- timeout?: number;
117
- maxRetries?: number;
118
- retryDelay?: number;
119
- onRetry?: (attempt: number, error: string) => void;
120
- onSuccess?: (result: DeliveryResult) => void;
121
- onFailure?: (error: string) => void;
122
- }
123
-
124
- declare class WebhookService {
125
- private db;
126
- constructor(db: BaseAdapter);
127
- getWebhooks(filters?: {
128
- status?: string;
129
- event?: WebhookEvent;
130
- }): Promise<WebhookConfig[]>;
131
- getWebhookById(id: string): Promise<WebhookConfig | null>;
132
- createWebhook(data: CreateWebhookData): Promise<WebhookConfig>;
133
- updateWebhook(id: string, data: UpdateWebhookData): Promise<WebhookConfig | null>;
134
- deleteWebhook(id: string): Promise<void>;
135
- trigger(event: WebhookEvent, payloadData: Omit<WebhookPayload, "id" | "event" | "timestamp">): Promise<WebhookTriggerResult[]>;
136
- triggerWebhook(webhook: WebhookConfig, payload: WebhookPayload): Promise<WebhookTriggerResult>;
137
- testWebhook(webhookId: string): Promise<WebhookTriggerResult | null>;
138
- getDeliveryHistory(webhookId: string, limit?: number): Promise<WebhookDelivery[]>;
139
- retryDelivery(deliveryId: string): Promise<WebhookTriggerResult | null>;
140
- }
141
- declare function createWebhookService(db: BaseAdapter): WebhookService;
142
-
143
- export { ALL_WEBHOOK_EVENTS as A, type CreateWebhookData as C, type DeliveryResult as D, type UpdateWebhookData as U, type WebhookPayload as W, type WebhookDelivery as a, type WebhookConfig as b, type DeliveryOptions as c, WebhookService as d, WEBHOOK_COLLECTION as e, WEBHOOK_DELIVERY_COLLECTION as f, WEBHOOK_EVENTS as g, type WebhookEvent as h, type WebhookTriggerResult as i, createWebhookService as j };