@kyro-cms/core 0.12.67 → 0.12.68

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.
@@ -1 +1 @@
1
- 'use strict';var chunkGH4OVDIL_cjs=require('./chunk-GH4OVDIL.cjs');require('./chunk-CTIQQ3ZX.cjs'),require('./chunk-3XLXKGEU.cjs'),require('./chunk-7GGZA5YU.cjs'),require('./chunk-MYGHZQMO.cjs'),require('./chunk-KMFLHGD5.cjs'),require('./chunk-FP5UK272.cjs'),require('./chunk-QO5ZWQA3.cjs'),require('./chunk-ZED7JS6I.cjs'),require('./chunk-XTTGHN3D.cjs'),require('./chunk-HPYH7GTS.cjs'),require('./chunk-OPTVCCQQ.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-ZO3YB5DK.cjs'),require('./chunk-3VXEK5ZW.cjs'),require('./chunk-EZIDQBXI.cjs'),require('./chunk-LQ3YZTPU.cjs'),require('./chunk-MVX2PYJJ.cjs'),require('./chunk-FSL3NLRT.cjs'),require('./chunk-ZHA446FA.cjs'),require('./chunk-WCFHS7EZ.cjs'),require('./chunk-73D2PNHD.cjs'),require('./chunk-IL2TMAHB.cjs'),require('./chunk-7ACHOBWY.cjs'),require('./chunk-ZQETJ4T4.cjs'),require('./chunk-XBQ6HV3T.cjs'),require('./chunk-7JWQ2PZP.cjs'),require('./chunk-NGNJSUGL.cjs'),require('./chunk-SOCBJPYB.cjs'),require('./chunk-GNOSG3PK.cjs'),require('./chunk-BCEE4NBZ.cjs'),require('./chunk-LY7N3UHH.cjs'),require('./chunk-BAVN7VDR.cjs'),require('./chunk-VRZC4TTF.cjs'),require('./chunk-MSC4G2HF.cjs'),require('./chunk-7DUKWHRN.cjs'),require('./chunk-VQ53TFYA.cjs'),require('./chunk-F4ITQ6XQ.cjs'),require('./chunk-HTYVI2HK.cjs'),require('./chunk-ZOVH6QT5.cjs'),require('./chunk-7WMMKGEO.cjs');var chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs');chunkBUNLC3II_cjs.h();function n(e){return new Response(e.body,e)}var i={graphqlEnabled:false,trpcEnabled:false,wsEnabled:false,requireAuth:false};function o(){return new Response(JSON.stringify({error:"GraphQL is disabled"}),{status:503,headers:{"Content-Type":"application/json"}})}async function c(){try{return (await chunkGH4OVDIL_cjs.a.db.findOne({collection:"_globals_access-settings",where:{},draft:!0}))?.apiAccess?.graphqlEnabled??i.graphqlEnabled}catch{return true}}var d=async e=>{if(await chunkGH4OVDIL_cjs.b(e),!await c())return o();let s=await chunkGH4OVDIL_cjs.a.getGraphQL().fetch(e.request,e.locals);return n(s)},f=async e=>{if(await chunkGH4OVDIL_cjs.b(e),!await c())return o();let s=await chunkGH4OVDIL_cjs.a.getGraphQL().fetch(e.request,e.locals);return n(s)};exports.GET=f;exports.POST=d;
1
+ 'use strict';var chunkXIUW5U64_cjs=require('./chunk-XIUW5U64.cjs');require('./chunk-IPTUGJED.cjs'),require('./chunk-3XLXKGEU.cjs'),require('./chunk-7GGZA5YU.cjs'),require('./chunk-MYGHZQMO.cjs'),require('./chunk-KMFLHGD5.cjs'),require('./chunk-FP5UK272.cjs'),require('./chunk-QO5ZWQA3.cjs'),require('./chunk-OTSDT3NH.cjs'),require('./chunk-XTTGHN3D.cjs'),require('./chunk-HPYH7GTS.cjs'),require('./chunk-OPTVCCQQ.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-ZO3YB5DK.cjs'),require('./chunk-3VXEK5ZW.cjs'),require('./chunk-EZIDQBXI.cjs'),require('./chunk-LQ3YZTPU.cjs'),require('./chunk-MVX2PYJJ.cjs'),require('./chunk-FSL3NLRT.cjs'),require('./chunk-ZHA446FA.cjs'),require('./chunk-WCFHS7EZ.cjs'),require('./chunk-73D2PNHD.cjs'),require('./chunk-IL2TMAHB.cjs'),require('./chunk-7ACHOBWY.cjs'),require('./chunk-ZQETJ4T4.cjs'),require('./chunk-XBQ6HV3T.cjs'),require('./chunk-7JWQ2PZP.cjs'),require('./chunk-NGNJSUGL.cjs'),require('./chunk-SOCBJPYB.cjs'),require('./chunk-GNOSG3PK.cjs'),require('./chunk-BCEE4NBZ.cjs'),require('./chunk-LY7N3UHH.cjs'),require('./chunk-BAVN7VDR.cjs'),require('./chunk-VRZC4TTF.cjs'),require('./chunk-MSC4G2HF.cjs'),require('./chunk-7DUKWHRN.cjs'),require('./chunk-VQ53TFYA.cjs'),require('./chunk-F4ITQ6XQ.cjs'),require('./chunk-HTYVI2HK.cjs'),require('./chunk-ZOVH6QT5.cjs'),require('./chunk-7WMMKGEO.cjs');var chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs');chunkBUNLC3II_cjs.h();function n(e){return new Response(e.body,e)}var i={graphqlEnabled:false,trpcEnabled:false,wsEnabled:false,requireAuth:false};function o(){return new Response(JSON.stringify({error:"GraphQL is disabled"}),{status:503,headers:{"Content-Type":"application/json"}})}async function c(){try{return (await chunkXIUW5U64_cjs.a.db.findOne({collection:"_globals_access-settings",where:{},draft:!0}))?.apiAccess?.graphqlEnabled??i.graphqlEnabled}catch{return true}}var d=async e=>{if(await chunkXIUW5U64_cjs.b(e),!await c())return o();let s=await chunkXIUW5U64_cjs.a.getGraphQL().fetch(e.request,e.locals);return n(s)},f=async e=>{if(await chunkXIUW5U64_cjs.b(e),!await c())return o();let s=await chunkXIUW5U64_cjs.a.getGraphQL().fetch(e.request,e.locals);return n(s)};exports.GET=f;exports.POST=d;
@@ -1,2 +1,2 @@
1
- import {b,a}from'./chunk-EJN3FJWB.js';import'./chunk-HEGM2QMX.js';import'./chunk-TBTQXIHP.js';import'./chunk-LWM4WABU.js';import'./chunk-JSTDCK3Z.js';import'./chunk-D6SDGHY6.js';import'./chunk-4ZWLNGLS.js';import'./chunk-X473JI7Z.js';import'./chunk-2XUD2OPJ.js';import'./chunk-KWGB3YNI.js';import'./chunk-OLRCZ6E3.js';import'./chunk-N6MNQIQU.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-CIVA6SKW.js';import'./chunk-WPM6LFCY.js';import'./chunk-U6KFONKM.js';import'./chunk-TYQYKKWJ.js';import'./chunk-L2QXP26Q.js';import'./chunk-AWQGDMOE.js';import'./chunk-GQGFNTDZ.js';import'./chunk-5M3FKE2V.js';import'./chunk-7MNDQU6K.js';import'./chunk-MVZSSTCV.js';import'./chunk-JV4HJBXW.js';import'./chunk-4OMQURN7.js';import'./chunk-ZWDBPEXL.js';import'./chunk-47CXBWMA.js';import'./chunk-EML5FDUU.js';import'./chunk-637PTUHF.js';import'./chunk-N5POANYV.js';import'./chunk-HRAY65XH.js';import'./chunk-2HA6EKXX.js';import'./chunk-FLMUMPDE.js';import'./chunk-3NSZZCOJ.js';import'./chunk-4YCI3HBD.js';import'./chunk-5ZEYOFAK.js';import'./chunk-SLMIYECU.js';import'./chunk-P6JITOFF.js';import'./chunk-7NH7H3WA.js';import'./chunk-VVVCCB6R.js';import'./chunk-TBHNE4VV.js';import {g}from'./chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
1
+ import {b,a}from'./chunk-S5M2GT3D.js';import'./chunk-QVE74KG7.js';import'./chunk-TBTQXIHP.js';import'./chunk-LWM4WABU.js';import'./chunk-JSTDCK3Z.js';import'./chunk-D6SDGHY6.js';import'./chunk-4ZWLNGLS.js';import'./chunk-X473JI7Z.js';import'./chunk-2ZACCXDM.js';import'./chunk-KWGB3YNI.js';import'./chunk-OLRCZ6E3.js';import'./chunk-N6MNQIQU.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-CIVA6SKW.js';import'./chunk-WPM6LFCY.js';import'./chunk-U6KFONKM.js';import'./chunk-TYQYKKWJ.js';import'./chunk-L2QXP26Q.js';import'./chunk-AWQGDMOE.js';import'./chunk-GQGFNTDZ.js';import'./chunk-5M3FKE2V.js';import'./chunk-7MNDQU6K.js';import'./chunk-MVZSSTCV.js';import'./chunk-JV4HJBXW.js';import'./chunk-4OMQURN7.js';import'./chunk-ZWDBPEXL.js';import'./chunk-47CXBWMA.js';import'./chunk-EML5FDUU.js';import'./chunk-637PTUHF.js';import'./chunk-N5POANYV.js';import'./chunk-HRAY65XH.js';import'./chunk-2HA6EKXX.js';import'./chunk-FLMUMPDE.js';import'./chunk-3NSZZCOJ.js';import'./chunk-4YCI3HBD.js';import'./chunk-5ZEYOFAK.js';import'./chunk-SLMIYECU.js';import'./chunk-P6JITOFF.js';import'./chunk-7NH7H3WA.js';import'./chunk-VVVCCB6R.js';import'./chunk-TBHNE4VV.js';import {g}from'./chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
2
2
  g();function n(e){return new Response(e.body,e)}var i={graphqlEnabled:false,trpcEnabled:false,wsEnabled:false,requireAuth:false};function o(){return new Response(JSON.stringify({error:"GraphQL is disabled"}),{status:503,headers:{"Content-Type":"application/json"}})}async function c(){try{return (await a.db.findOne({collection:"_globals_access-settings",where:{},draft:!0}))?.apiAccess?.graphqlEnabled??i.graphqlEnabled}catch{return true}}var f=async e=>{if(await b(e),!await c())return o();let s=await a.getGraphQL().fetch(e.request,e.locals);return n(s)},h=async e=>{if(await b(e),!await c())return o();let s=await a.getGraphQL().fetch(e.request,e.locals);return n(s)};export{h as GET,f as POST};
@@ -1 +1 @@
1
- 'use strict';var chunkGH4OVDIL_cjs=require('./chunk-GH4OVDIL.cjs');require('./chunk-CTIQQ3ZX.cjs'),require('./chunk-3XLXKGEU.cjs'),require('./chunk-7GGZA5YU.cjs'),require('./chunk-MYGHZQMO.cjs'),require('./chunk-KMFLHGD5.cjs'),require('./chunk-FP5UK272.cjs'),require('./chunk-QO5ZWQA3.cjs'),require('./chunk-ZED7JS6I.cjs'),require('./chunk-XTTGHN3D.cjs'),require('./chunk-HPYH7GTS.cjs'),require('./chunk-OPTVCCQQ.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-ZO3YB5DK.cjs'),require('./chunk-3VXEK5ZW.cjs'),require('./chunk-EZIDQBXI.cjs'),require('./chunk-LQ3YZTPU.cjs'),require('./chunk-MVX2PYJJ.cjs'),require('./chunk-FSL3NLRT.cjs'),require('./chunk-ZHA446FA.cjs'),require('./chunk-WCFHS7EZ.cjs'),require('./chunk-73D2PNHD.cjs'),require('./chunk-IL2TMAHB.cjs'),require('./chunk-7ACHOBWY.cjs'),require('./chunk-ZQETJ4T4.cjs'),require('./chunk-XBQ6HV3T.cjs'),require('./chunk-7JWQ2PZP.cjs'),require('./chunk-NGNJSUGL.cjs'),require('./chunk-SOCBJPYB.cjs'),require('./chunk-GNOSG3PK.cjs'),require('./chunk-BCEE4NBZ.cjs'),require('./chunk-LY7N3UHH.cjs'),require('./chunk-BAVN7VDR.cjs'),require('./chunk-VRZC4TTF.cjs'),require('./chunk-MSC4G2HF.cjs'),require('./chunk-7DUKWHRN.cjs'),require('./chunk-VQ53TFYA.cjs'),require('./chunk-F4ITQ6XQ.cjs'),require('./chunk-HTYVI2HK.cjs'),require('./chunk-ZOVH6QT5.cjs'),require('./chunk-7WMMKGEO.cjs');var chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs');chunkBUNLC3II_cjs.h();function n(){return new Response(JSON.stringify({error:"tRPC is disabled"}),{status:503,headers:{"Content-Type":"application/json"}})}var s={graphqlEnabled:false,trpcEnabled:false,wsEnabled:false,requireAuth:false};async function o(){try{return (await chunkGH4OVDIL_cjs.a.db.findOne({collection:"_globals_access-settings",where:{},draft:!0}))?.apiAccess?.trpcEnabled??s.trpcEnabled}catch{return true}}var p=async e=>(await chunkGH4OVDIL_cjs.b(e),await o()?chunkGH4OVDIL_cjs.a.getTRPC().fetch(e.request,e.locals):n());exports.ALL=p;
1
+ 'use strict';var chunkXIUW5U64_cjs=require('./chunk-XIUW5U64.cjs');require('./chunk-IPTUGJED.cjs'),require('./chunk-3XLXKGEU.cjs'),require('./chunk-7GGZA5YU.cjs'),require('./chunk-MYGHZQMO.cjs'),require('./chunk-KMFLHGD5.cjs'),require('./chunk-FP5UK272.cjs'),require('./chunk-QO5ZWQA3.cjs'),require('./chunk-OTSDT3NH.cjs'),require('./chunk-XTTGHN3D.cjs'),require('./chunk-HPYH7GTS.cjs'),require('./chunk-OPTVCCQQ.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-ZO3YB5DK.cjs'),require('./chunk-3VXEK5ZW.cjs'),require('./chunk-EZIDQBXI.cjs'),require('./chunk-LQ3YZTPU.cjs'),require('./chunk-MVX2PYJJ.cjs'),require('./chunk-FSL3NLRT.cjs'),require('./chunk-ZHA446FA.cjs'),require('./chunk-WCFHS7EZ.cjs'),require('./chunk-73D2PNHD.cjs'),require('./chunk-IL2TMAHB.cjs'),require('./chunk-7ACHOBWY.cjs'),require('./chunk-ZQETJ4T4.cjs'),require('./chunk-XBQ6HV3T.cjs'),require('./chunk-7JWQ2PZP.cjs'),require('./chunk-NGNJSUGL.cjs'),require('./chunk-SOCBJPYB.cjs'),require('./chunk-GNOSG3PK.cjs'),require('./chunk-BCEE4NBZ.cjs'),require('./chunk-LY7N3UHH.cjs'),require('./chunk-BAVN7VDR.cjs'),require('./chunk-VRZC4TTF.cjs'),require('./chunk-MSC4G2HF.cjs'),require('./chunk-7DUKWHRN.cjs'),require('./chunk-VQ53TFYA.cjs'),require('./chunk-F4ITQ6XQ.cjs'),require('./chunk-HTYVI2HK.cjs'),require('./chunk-ZOVH6QT5.cjs'),require('./chunk-7WMMKGEO.cjs');var chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs');chunkBUNLC3II_cjs.h();function n(){return new Response(JSON.stringify({error:"tRPC is disabled"}),{status:503,headers:{"Content-Type":"application/json"}})}var s={graphqlEnabled:false,trpcEnabled:false,wsEnabled:false,requireAuth:false};async function o(){try{return (await chunkXIUW5U64_cjs.a.db.findOne({collection:"_globals_access-settings",where:{},draft:!0}))?.apiAccess?.trpcEnabled??s.trpcEnabled}catch{return true}}var p=async e=>(await chunkXIUW5U64_cjs.b(e),await o()?chunkXIUW5U64_cjs.a.getTRPC().fetch(e.request,e.locals):n());exports.ALL=p;
@@ -1,2 +1,2 @@
1
- import {b,a}from'./chunk-EJN3FJWB.js';import'./chunk-HEGM2QMX.js';import'./chunk-TBTQXIHP.js';import'./chunk-LWM4WABU.js';import'./chunk-JSTDCK3Z.js';import'./chunk-D6SDGHY6.js';import'./chunk-4ZWLNGLS.js';import'./chunk-X473JI7Z.js';import'./chunk-2XUD2OPJ.js';import'./chunk-KWGB3YNI.js';import'./chunk-OLRCZ6E3.js';import'./chunk-N6MNQIQU.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-CIVA6SKW.js';import'./chunk-WPM6LFCY.js';import'./chunk-U6KFONKM.js';import'./chunk-TYQYKKWJ.js';import'./chunk-L2QXP26Q.js';import'./chunk-AWQGDMOE.js';import'./chunk-GQGFNTDZ.js';import'./chunk-5M3FKE2V.js';import'./chunk-7MNDQU6K.js';import'./chunk-MVZSSTCV.js';import'./chunk-JV4HJBXW.js';import'./chunk-4OMQURN7.js';import'./chunk-ZWDBPEXL.js';import'./chunk-47CXBWMA.js';import'./chunk-EML5FDUU.js';import'./chunk-637PTUHF.js';import'./chunk-N5POANYV.js';import'./chunk-HRAY65XH.js';import'./chunk-2HA6EKXX.js';import'./chunk-FLMUMPDE.js';import'./chunk-3NSZZCOJ.js';import'./chunk-4YCI3HBD.js';import'./chunk-5ZEYOFAK.js';import'./chunk-SLMIYECU.js';import'./chunk-P6JITOFF.js';import'./chunk-7NH7H3WA.js';import'./chunk-VVVCCB6R.js';import'./chunk-TBHNE4VV.js';import {g}from'./chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
1
+ import {b,a}from'./chunk-S5M2GT3D.js';import'./chunk-QVE74KG7.js';import'./chunk-TBTQXIHP.js';import'./chunk-LWM4WABU.js';import'./chunk-JSTDCK3Z.js';import'./chunk-D6SDGHY6.js';import'./chunk-4ZWLNGLS.js';import'./chunk-X473JI7Z.js';import'./chunk-2ZACCXDM.js';import'./chunk-KWGB3YNI.js';import'./chunk-OLRCZ6E3.js';import'./chunk-N6MNQIQU.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-CIVA6SKW.js';import'./chunk-WPM6LFCY.js';import'./chunk-U6KFONKM.js';import'./chunk-TYQYKKWJ.js';import'./chunk-L2QXP26Q.js';import'./chunk-AWQGDMOE.js';import'./chunk-GQGFNTDZ.js';import'./chunk-5M3FKE2V.js';import'./chunk-7MNDQU6K.js';import'./chunk-MVZSSTCV.js';import'./chunk-JV4HJBXW.js';import'./chunk-4OMQURN7.js';import'./chunk-ZWDBPEXL.js';import'./chunk-47CXBWMA.js';import'./chunk-EML5FDUU.js';import'./chunk-637PTUHF.js';import'./chunk-N5POANYV.js';import'./chunk-HRAY65XH.js';import'./chunk-2HA6EKXX.js';import'./chunk-FLMUMPDE.js';import'./chunk-3NSZZCOJ.js';import'./chunk-4YCI3HBD.js';import'./chunk-5ZEYOFAK.js';import'./chunk-SLMIYECU.js';import'./chunk-P6JITOFF.js';import'./chunk-7NH7H3WA.js';import'./chunk-VVVCCB6R.js';import'./chunk-TBHNE4VV.js';import {g}from'./chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
2
2
  g();function n(){return new Response(JSON.stringify({error:"tRPC is disabled"}),{status:503,headers:{"Content-Type":"application/json"}})}var s={graphqlEnabled:false,trpcEnabled:false,wsEnabled:false,requireAuth:false};async function o(){try{return (await a.db.findOne({collection:"_globals_access-settings",where:{},draft:!0}))?.apiAccess?.trpcEnabled??s.trpcEnabled}catch{return true}}var d=async e=>(await b(e),await o()?a.getTRPC().fetch(e.request,e.locals):n());export{d as ALL};
@@ -1 +1 @@
1
- 'use strict';var chunkGH4OVDIL_cjs=require('./chunk-GH4OVDIL.cjs');require('./chunk-CTIQQ3ZX.cjs'),require('./chunk-3XLXKGEU.cjs'),require('./chunk-7GGZA5YU.cjs'),require('./chunk-MYGHZQMO.cjs'),require('./chunk-KMFLHGD5.cjs'),require('./chunk-FP5UK272.cjs'),require('./chunk-QO5ZWQA3.cjs'),require('./chunk-ZED7JS6I.cjs'),require('./chunk-XTTGHN3D.cjs'),require('./chunk-HPYH7GTS.cjs'),require('./chunk-OPTVCCQQ.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-ZO3YB5DK.cjs'),require('./chunk-3VXEK5ZW.cjs'),require('./chunk-EZIDQBXI.cjs'),require('./chunk-LQ3YZTPU.cjs'),require('./chunk-MVX2PYJJ.cjs'),require('./chunk-FSL3NLRT.cjs'),require('./chunk-ZHA446FA.cjs'),require('./chunk-WCFHS7EZ.cjs'),require('./chunk-73D2PNHD.cjs'),require('./chunk-IL2TMAHB.cjs'),require('./chunk-7ACHOBWY.cjs'),require('./chunk-ZQETJ4T4.cjs'),require('./chunk-XBQ6HV3T.cjs'),require('./chunk-7JWQ2PZP.cjs'),require('./chunk-NGNJSUGL.cjs'),require('./chunk-SOCBJPYB.cjs'),require('./chunk-GNOSG3PK.cjs'),require('./chunk-BCEE4NBZ.cjs'),require('./chunk-LY7N3UHH.cjs'),require('./chunk-BAVN7VDR.cjs'),require('./chunk-VRZC4TTF.cjs'),require('./chunk-MSC4G2HF.cjs'),require('./chunk-7DUKWHRN.cjs'),require('./chunk-VQ53TFYA.cjs'),require('./chunk-F4ITQ6XQ.cjs'),require('./chunk-HTYVI2HK.cjs'),require('./chunk-ZOVH6QT5.cjs'),require('./chunk-7WMMKGEO.cjs'),require('./chunk-BUNLC3II.cjs');Object.defineProperty(exports,"ALL",{enumerable:true,get:function(){return chunkGH4OVDIL_cjs.c}});Object.defineProperty(exports,"createKyroHandler",{enumerable:true,get:function(){return chunkGH4OVDIL_cjs.d}});Object.defineProperty(exports,"kyroInstance",{enumerable:true,get:function(){return chunkGH4OVDIL_cjs.a}});Object.defineProperty(exports,"warmKyroInstance",{enumerable:true,get:function(){return chunkGH4OVDIL_cjs.b}});
1
+ 'use strict';var chunkXIUW5U64_cjs=require('./chunk-XIUW5U64.cjs');require('./chunk-IPTUGJED.cjs'),require('./chunk-3XLXKGEU.cjs'),require('./chunk-7GGZA5YU.cjs'),require('./chunk-MYGHZQMO.cjs'),require('./chunk-KMFLHGD5.cjs'),require('./chunk-FP5UK272.cjs'),require('./chunk-QO5ZWQA3.cjs'),require('./chunk-OTSDT3NH.cjs'),require('./chunk-XTTGHN3D.cjs'),require('./chunk-HPYH7GTS.cjs'),require('./chunk-OPTVCCQQ.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-ZO3YB5DK.cjs'),require('./chunk-3VXEK5ZW.cjs'),require('./chunk-EZIDQBXI.cjs'),require('./chunk-LQ3YZTPU.cjs'),require('./chunk-MVX2PYJJ.cjs'),require('./chunk-FSL3NLRT.cjs'),require('./chunk-ZHA446FA.cjs'),require('./chunk-WCFHS7EZ.cjs'),require('./chunk-73D2PNHD.cjs'),require('./chunk-IL2TMAHB.cjs'),require('./chunk-7ACHOBWY.cjs'),require('./chunk-ZQETJ4T4.cjs'),require('./chunk-XBQ6HV3T.cjs'),require('./chunk-7JWQ2PZP.cjs'),require('./chunk-NGNJSUGL.cjs'),require('./chunk-SOCBJPYB.cjs'),require('./chunk-GNOSG3PK.cjs'),require('./chunk-BCEE4NBZ.cjs'),require('./chunk-LY7N3UHH.cjs'),require('./chunk-BAVN7VDR.cjs'),require('./chunk-VRZC4TTF.cjs'),require('./chunk-MSC4G2HF.cjs'),require('./chunk-7DUKWHRN.cjs'),require('./chunk-VQ53TFYA.cjs'),require('./chunk-F4ITQ6XQ.cjs'),require('./chunk-HTYVI2HK.cjs'),require('./chunk-ZOVH6QT5.cjs'),require('./chunk-7WMMKGEO.cjs'),require('./chunk-BUNLC3II.cjs');Object.defineProperty(exports,"ALL",{enumerable:true,get:function(){return chunkXIUW5U64_cjs.c}});Object.defineProperty(exports,"createKyroHandler",{enumerable:true,get:function(){return chunkXIUW5U64_cjs.d}});Object.defineProperty(exports,"kyroInstance",{enumerable:true,get:function(){return chunkXIUW5U64_cjs.a}});Object.defineProperty(exports,"warmKyroInstance",{enumerable:true,get:function(){return chunkXIUW5U64_cjs.b}});
@@ -1 +1 @@
1
- export{c as ALL,d as createKyroHandler,a as kyroInstance,b as warmKyroInstance}from'./chunk-EJN3FJWB.js';import'./chunk-HEGM2QMX.js';import'./chunk-TBTQXIHP.js';import'./chunk-LWM4WABU.js';import'./chunk-JSTDCK3Z.js';import'./chunk-D6SDGHY6.js';import'./chunk-4ZWLNGLS.js';import'./chunk-X473JI7Z.js';import'./chunk-2XUD2OPJ.js';import'./chunk-KWGB3YNI.js';import'./chunk-OLRCZ6E3.js';import'./chunk-N6MNQIQU.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-CIVA6SKW.js';import'./chunk-WPM6LFCY.js';import'./chunk-U6KFONKM.js';import'./chunk-TYQYKKWJ.js';import'./chunk-L2QXP26Q.js';import'./chunk-AWQGDMOE.js';import'./chunk-GQGFNTDZ.js';import'./chunk-5M3FKE2V.js';import'./chunk-7MNDQU6K.js';import'./chunk-MVZSSTCV.js';import'./chunk-JV4HJBXW.js';import'./chunk-4OMQURN7.js';import'./chunk-ZWDBPEXL.js';import'./chunk-47CXBWMA.js';import'./chunk-EML5FDUU.js';import'./chunk-637PTUHF.js';import'./chunk-N5POANYV.js';import'./chunk-HRAY65XH.js';import'./chunk-2HA6EKXX.js';import'./chunk-FLMUMPDE.js';import'./chunk-3NSZZCOJ.js';import'./chunk-4YCI3HBD.js';import'./chunk-5ZEYOFAK.js';import'./chunk-SLMIYECU.js';import'./chunk-P6JITOFF.js';import'./chunk-7NH7H3WA.js';import'./chunk-VVVCCB6R.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{c as ALL,d as createKyroHandler,a as kyroInstance,b as warmKyroInstance}from'./chunk-S5M2GT3D.js';import'./chunk-QVE74KG7.js';import'./chunk-TBTQXIHP.js';import'./chunk-LWM4WABU.js';import'./chunk-JSTDCK3Z.js';import'./chunk-D6SDGHY6.js';import'./chunk-4ZWLNGLS.js';import'./chunk-X473JI7Z.js';import'./chunk-2ZACCXDM.js';import'./chunk-KWGB3YNI.js';import'./chunk-OLRCZ6E3.js';import'./chunk-N6MNQIQU.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-CIVA6SKW.js';import'./chunk-WPM6LFCY.js';import'./chunk-U6KFONKM.js';import'./chunk-TYQYKKWJ.js';import'./chunk-L2QXP26Q.js';import'./chunk-AWQGDMOE.js';import'./chunk-GQGFNTDZ.js';import'./chunk-5M3FKE2V.js';import'./chunk-7MNDQU6K.js';import'./chunk-MVZSSTCV.js';import'./chunk-JV4HJBXW.js';import'./chunk-4OMQURN7.js';import'./chunk-ZWDBPEXL.js';import'./chunk-47CXBWMA.js';import'./chunk-EML5FDUU.js';import'./chunk-637PTUHF.js';import'./chunk-N5POANYV.js';import'./chunk-HRAY65XH.js';import'./chunk-2HA6EKXX.js';import'./chunk-FLMUMPDE.js';import'./chunk-3NSZZCOJ.js';import'./chunk-4YCI3HBD.js';import'./chunk-5ZEYOFAK.js';import'./chunk-SLMIYECU.js';import'./chunk-P6JITOFF.js';import'./chunk-7NH7H3WA.js';import'./chunk-VVVCCB6R.js';import'./chunk-TBHNE4VV.js';import'./chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
@@ -117,5 +117,5 @@ g();g();g();g();g();g();var ic=(t,e,r)=>(s,n)=>{let o=-1;return i(0);async funct
117
117
  timestamp TEXT DEFAULT CURRENT_TIMESTAMP
118
118
  );
119
119
  `);}async hashPassword(e){return ed.default.hashSync(e,10)}async verifyPassword(e,r){let s=await this.findUserByEmail(e);return !s||!s.passwordHash?null:ed.default.compareSync(r,s.passwordHash)?s:null}async findUserByEmail(e){let r=await this.getOne("SELECT * FROM users WHERE LOWER(email) = LOWER(?) LIMIT 1",[e]);return r?this.mapUser(r):null}async findUserById(e){let r=await this.getOne("SELECT * FROM users WHERE id = ? LIMIT 1",[e]);return r?this.mapUser(r):null}async createUser(e){let r=`user-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,s=await this.hashPassword(e.password),n=e.email.toLowerCase(),o=e.role||"customer",i=new Date().toISOString();await this.executeSql("INSERT INTO users (id, email, password_hash, name, role, avatar, tenant_id, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)",[r,n,s,e.name||null,o,e.avatar||null,e.tenantId||null,i,i]);let c=await this.findUserById(r);if(!c)throw new Error("Failed to create user in D1");return c}async updateUser(e,r){if(!await this.findUserById(e))return null;let n=["updated_at = ?"],o=[new Date().toISOString()];return r.email&&(n.push("email = ?"),o.push(r.email.toLowerCase())),r.name!==void 0&&(n.push("name = ?"),o.push(r.name)),r.password&&(n.push("password_hash = ?"),o.push(await this.hashPassword(r.password))),r.passwordHash&&(n.push("password_hash = ?"),o.push(r.passwordHash)),r.role&&(n.push("role = ?"),o.push(r.role)),r.avatar!==void 0&&(n.push("avatar = ?"),o.push(r.avatar)),r.tenantId!==void 0&&(n.push("tenant_id = ?"),o.push(r.tenantId)),o.push(e),await this.executeSql(`UPDATE users SET ${n.join(", ")} WHERE id = ?`,o),this.findUserById(e)}async deleteUser(e){return await this.executeSql("DELETE FROM users WHERE id = ?",[e]),true}async createSession(e,r){let s=`sess-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,n=`token-${Date.now()}-${Math.random().toString(36).substring(2,16)}`,o=new Date(Date.now()+this.sessionTTL*1e3).toISOString(),i=new Date().toISOString();return await this.executeSql("INSERT INTO sessions (id, user_id, token, expires_at, created_at, ip_address, user_agent) VALUES (?, ?, ?, ?, ?, ?, ?)",[s,e,n,o,i,r?.ipAddress||null,r?.userAgent||null]),{id:s,userId:e,token:n,expiresAt:o,createdAt:i,ipAddress:r?.ipAddress,userAgent:r?.userAgent}}async findSessionByToken(e){let r=await this.getOne("SELECT * FROM sessions WHERE token = ? LIMIT 1",[e]);return r?{id:r.id,userId:r.user_id||r.userId,token:r.token,expiresAt:r.expires_at||r.expiresAt,createdAt:r.created_at||r.createdAt,ipAddress:r.ip_address||r.ipAddress,userAgent:r.user_agent||r.userAgent}:null}async findSessionByRefreshToken(e){let r=await this.getOne("SELECT * FROM sessions WHERE refresh_token = ? LIMIT 1",[e]);return r?{id:r.id,userId:r.user_id||r.userId,token:r.token,refreshToken:r.refresh_token,expiresAt:r.expires_at||r.expiresAt,createdAt:r.created_at||r.createdAt}:null}async deleteSession(e){return await this.executeSql("DELETE FROM sessions WHERE id = ?",[e]),true}async deleteUserSessions(e){return await this.executeSql("DELETE FROM sessions WHERE user_id = ?",[e]),1}async hasAnyUsers(){return ((await this.getOne("SELECT COUNT(*) as count FROM users"))?.count||0)>0}async createEmailVerificationToken(e){return {token:`verify-${Date.now()}`,expiresAt:new Date(Date.now()+864e5)}}async verifyEmailToken(e){return {success:true}}async createPasswordResetToken(e){return {token:`reset-${Date.now()}`,expiresAt:new Date(Date.now()+36e5)}}async resetPasswordWithToken(e,r){return {success:true}}async findAuditLogs(e){let s=(await this.executeSql("SELECT * FROM audit_logs ORDER BY timestamp DESC LIMIT ?",[e.limit||50])).map(n=>({id:n.id,action:n.action,userId:n.user_id||n.userId,userEmail:n.user_email||n.userEmail,role:n.role,resource:n.resource,resourceId:n.resource_id||n.resourceId,ipAddress:n.ip_address||n.ipAddress,userAgent:n.user_agent||n.userAgent,success:!!(n.success??true),error:n.error||void 0,metadata:n.details?JSON.parse(n.details):void 0,timestamp:new Date(n.timestamp||Date.now())}));return {logs:s,total:s.length}}async createAuditLog(e){let r=`audit-${Date.now()}-${Math.random().toString(36).substring(2,9)}`,s=new Date;return await this.executeSql("INSERT INTO audit_logs (id, action, user_id, user_email, role, resource, details, ip_address, status, timestamp) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[r,e.action,e.userId||null,e.userEmail||null,e.role||null,e.resource,e.metadata?JSON.stringify(e.metadata):null,e.ipAddress||null,e.success?"success":"failed",s.toISOString()]),{id:r,timestamp:s,...e}}mapUser(e){return {id:e.id,email:e.email,name:e.name||void 0,passwordHash:e.password_hash||e.passwordHash||void 0,role:e.role,avatar:e.avatar||void 0,tenantId:e.tenant_id||e.tenantId||void 0,emailVerified:!!(e.email_verified||e.emailVerified),locked:!!e.locked,lastLogin:e.last_login||e.lastLogin||void 0,failedLoginAttempts:Number(e.failed_login_attempts||e.failedLoginAttempts||0),createdAt:e.created_at||e.createdAt||new Date().toISOString(),updatedAt:e.updated_at||e.updatedAt||new Date().toISOString()}}};async function CB(t,e){if("dialect"in t&&t.dialect==="postgres")return new a$9({db:t.client});if("dialect"in t&&t.dialect==="sqlite")return new tc({db:t.client});if("dialect"in t&&t.dialect==="mongodb"){let s=t;return new a$a({db:()=>s.db,adapter:s})}let r=resolve(e,"data","auth.db");return new a$b({path:process.env.KYRO_AUTH_DB_PATH||r})}async function Bw(t){let{registry:e,db:r,authSecret:s,authAdapter:n,checkSession:o,user:i,tenantId:c,cors:d,webhookService:u,settings:f}=t,h=new xc;function g(A){if(Array.isArray(A))return A.map(g);if(A!==null&&typeof A=="object"){let G={};for(let Z in A)Z!=="attrs"&&(G[Z]=g(A[Z]));return G}return A}h.use("*",async(A,G)=>{await G();let Z=A.req.header("referer")||"";if(!(A.req.header("x-kyro-admin")==="true"||Z.includes("/admin"))&&A.res.status<400){let J=A.res.headers.get("Content-Type");if(J&&J.includes("application/json"))try{let xe=await A.res.clone().json(),le=g(xe);A.res=A.json(le,A.res.status);}catch{}}}),h.onError((A,G)=>A instanceof P||A&&typeof A.statusCode=="number"?G.json({error:A.message,...A.metadata},A.statusCode||A.status||500):A.name==="ZodError"?G.json({error:`Validation failed: ${dm(A.errors)}`,details:A.errors},400):(console.error("[Kyro API Error]",A),G.json({error:A.message||"Internal Server Error"},500)));for(let A of e.getPlugins())typeof A.serverMiddleware=="function"&&A.serverMiddleware(h);let _=f?.access?.apiAccess,y=f?.access?.enablePublicAccess??false,v=f?.access?.defaultCollectionAccess??"none";_?.requireAuth;let E=process.cwd(),k=E.endsWith("admin")?resolve(E,".."):E,R=n||await CB(r,k),I=mm({db:r,userLookup:async A=>await R.findUserById(A)||null}),H=_?.cors?.allowedOrigins,V=d?.origins,j=Array.isArray(H)?H:typeof H=="string"&&H?H.split(`
120
- `).map(A=>A.trim()).filter(Boolean):[],q=j.length>0?j:V||[];(q.length>0||d)&&h.use("*",async(A,G)=>{let Z=A.req.header("Origin")||"*";if(q.length>0&&!q.includes(Z))throw new P(403,"Origin not allowed");let X=q.length>0?Z:"*";if(A.header("Access-Control-Allow-Origin",X),A.header("Access-Control-Allow-Methods","GET, POST, PATCH, DELETE, OPTIONS"),A.header("Access-Control-Allow-Headers","Content-Type, Authorization, X-API-Key"),d?.credentials&&A.header("Access-Control-Allow-Credentials","true"),A.req.method==="OPTIONS")return A.text("");await G();});let K=f?.access?.rateLimiting,ie;if(K?.enabled){let A=K.maxRequests||100,G=K.windowMs||6e4;ie=new ra({"api:general":{window:G,max:A}}),h.use("/api/*",async(Z,X)=>{if(!ie)return X();let J=Z.req.header("CF-Connecting-IP")||Z.req.header("X-Forwarded-For")?.split(",")[0]?.trim()||Z.req.header("X-Real-IP")||"unknown",$=await ie.check("api:general",J);if(Z.header("X-RateLimit-Limit",String(A)),Z.header("X-RateLimit-Remaining",String($.remaining)),Z.header("X-RateLimit-Reset",String($.resetAt)),!$.allowed)return Z.json({error:"Too many requests",retryAfter:$.retryAfter},429);await X();});}let ke=new sa({redis:R,jwtSecret:s||"change-me",baseUrl:process.env.KYRO_BASE_URL||"http://localhost:4321",rateLimiter:ie});q$1.fromConfig(r).then(A=>{A&&(ke.email=A);}).catch(A=>{console.error("[Email] Failed to initialize transport from config:",A);}),Yl(h,ke,r,e,I,i,c,y,v);let Ue=typeof e.hasCollection=="function"&&e.hasCollection("users")?e.getCollection("users"):(()=>{try{return e.getCollection("users")}catch{return a$6}})();return h.get("/api/users",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=await Le(Ue,"read",A.req.raw,G,Z,void 0,y,v);if(!X.allowed)throw new P(X.status||403,X.error||"Access denied");let J=parseInt(A.req.query("page")||"1"),$=Math.min(parseInt(A.req.query("limit")||"10"),100),xe=A.req.query("search")||void 0,le=[],de=0;if(typeof R.findUsers=="function"){let fe=await R.findUsers({page:J,limit:$,search:xe});le=fe.users||[],de=fe.total||0;}else {let fe=await r.find({collection:"users",page:J,limit:$,where:xe?{email:{contains:xe}}:{},tenantId:Z});le=fe.docs||[],de=fe.totalDocs||0;}return A.json({docs:le,totalDocs:de,limit:$,totalPages:Math.ceil(de/$)||1,page:J,pagingCounter:(J-1)*$+1,hasPrevPage:J>1,hasNextPage:J<Math.ceil(de/$),prevPage:J>1?J-1:null,nextPage:J<Math.ceil(de/$)?J+1:null})}),h.get("/api/users/:id",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=A.req.param("id"),J=await R.findUserById(X);if(!J)throw new P(404,"User not found");return A.json({data:J})}),h.post("/api/users",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=await Le(Ue,"create",A.req.raw,G,Z,void 0,y,v);if(!X.allowed)throw new P(X.status||403,X.error||"Access denied");let J=await A.req.json();if(!J.email||!J.password)throw new P(400,"Email and password are required");if(await R.findUserByEmail(J.email))throw new P(400,"Email already in use");let xe=J.role||"customer";if(xe!=="customer"&&G?.role!=="super_admin")throw new P(403,"Forbidden: Only super_admin can assign administrative roles");let le=await R.createUser({email:J.email,password:J.password,name:J.name,role:xe,avatar:J.avatar,tenantId:J.tenantId});return G&&R?.createAuditLog({action:"user_create",userId:G.id,resource:"users",resourceId:le.id,success:true}),A.json({data:le,message:"User created successfully"},201)}),h.patch("/api/users/:id",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=await Le(Ue,"update",A.req.raw,G,Z,void 0,y,v);if(!X.allowed)throw new P(X.status||403,X.error||"Access denied");let J=A.req.param("id"),$=await A.req.json(),xe=await R.findUserById(J);if(!xe)throw new P(404,"User not found");let le={};if($.name!==void 0&&(le.name=$.name),$.email!==void 0&&(le.email=$.email),$.role!==void 0&&$.role!==xe.role){if(G?.role!=="super_admin")throw new P(403,"Forbidden: Only super_admin can modify user roles");le.role=$.role;}$.avatar!==void 0&&(le.avatar=typeof $.avatar=="object"&&$.avatar!==null?$.avatar.id||String($.avatar):$.avatar),$.tenantId!==void 0&&(le.tenantId=$.tenantId),$.emailVerified!==void 0&&(le.emailVerified=$.emailVerified),$.locked!==void 0&&(le.locked=$.locked),$.failedLoginAttempts!==void 0&&(le.failedLoginAttempts=$.failedLoginAttempts),$.lastLogin!==void 0&&(le.lastLogin=$.lastLogin);let de=await R.updateUser(J,le);if(!de)throw new P(500,"User update failed");return G&&(R?.createAuditLog({action:"user_update",userId:G.id,resource:"users",resourceId:J,success:true}),$.role&&xe.role!==$.role&&R?.createAuditLog({action:"role_change",userId:G.id,resource:"users",resourceId:J,success:true,metadata:{oldRole:xe.role,newRole:$.role}})),A.json({data:de,message:"User updated successfully"})}),h.delete("/api/users/:id",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=await Le(Ue,"delete",A.req.raw,G,Z,void 0,y,v);if(!X.allowed)throw new P(X.status||403,X.error||"Access denied");let J=A.req.param("id");if(G&&G.id===J)throw new P(403,"You cannot delete your own account");let $=await R.findUserById(J);if(!$)throw new P(404,"User not found");if(!await R.deleteUser(J))throw new P(500,"User deletion failed");return G&&R?.createAuditLog({action:"user_delete",userId:G.id,resource:"users",resourceId:J,success:true}),A.json({data:$,message:"User deleted successfully"})}),h.get("/api/auth/audit-logs",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=e.getCollection("audit_logs");if(X){let Ct=await Le(X,"read",A.req.raw,G,Z,void 0,y,v);if(!Ct.allowed)throw new P(Ct.status||403,Ct.error||"Access denied")}else if(!G)throw new P(401,"Authentication required");let J=parseInt(A.req.query("page")||"1"),$=Math.min(parseInt(A.req.query("limit")||"50"),100),xe=A.req.query("action")||void 0,le=A.req.query("userId")||void 0,de=A.req.query("resource")||void 0,fe=await R.findAuditLogs({action:xe,userId:le,resource:de,limit:$,offset:(J-1)*$});return A.json({docs:fe.logs,totalDocs:fe.total,limit:$,totalPages:Math.ceil(fe.total/$),page:J,pagingCounter:(J-1)*$+1,hasPrevPage:J>1,hasNextPage:J<Math.ceil(fe.total/$),prevPage:J>1?J-1:null,nextPage:J<Math.ceil(fe.total/$)?J+1:null})}),Ul(h,t,I),h.get("/api/storage-status",async A=>{let{user:G}=await Q(A.req.raw,I,i,c);if(!G)throw new P(401,"Authentication required");let Z=typeof globalThis.STORAGE_BUCKET<"u"||typeof A.env?.STORAGE_BUCKET<"u",X=Z,J=Z?"cloudflare_r2":"local";if(r)try{let $=r.prepare('SELECT provider FROM "_globals_storage-settings" LIMIT 1').get();$&&$.provider&&(X=!0,J=$.provider==="aws"?"s3":$.provider);}catch{try{let $=await r.findOne({collection:"_globals_storage-settings",where:{},draft:!0});$&&$.provider&&(X=!0,J=$.provider==="aws"?"s3":$.provider);}catch{}}return A.json({provider:J,configured:X,usage:0,limit:"unlimited"})}),h.get("/api/plugins",async A=>{let{user:G}=await Q(A.req.raw,I,i,c);if(!G)throw new P(401,"Authentication required");let Z=e.getPlugins(),X=e.storageProviders,J=await Promise.all(Z.map(async $=>{let xe=true,le=$.name,de={};try{let kt=await r.findOne({collection:"_globals_plugin-settings",where:{},draft:!0});kt&&kt.states&&(de=kt.states);}catch{}de[le]!==void 0&&(xe=de[le]),X.setPluginEnabled(le,xe);let fe=le.replace(/^@[^/]+\//,"");fe=fe.replace(/^(plugin|kyro)-/,"");let Ct={ai:"AI",seo:"SEO",s3:"S3",aws:"AWS",api:"API",ui:"UI",ftp:"FTP"};if(fe=fe.split("-").map(kt=>{let No=kt.toLowerCase();return Ct[No]?Ct[No]:kt.charAt(0).toUpperCase()+kt.slice(1)}).join(" "),fe.toLowerCase().startsWith("storage ")){let kt=fe.split(" ");kt.length===2&&(fe=`${kt[1]} Storage`);}return {id:le,name:$.displayName||fe,version:$.version||"1.0.0",description:$.description||"",enabled:xe,status:xe?"active":"disabled"}}));return A.json(J)}),h.put("/api/plugins/:name/toggle",async A=>{let{user:G}=await Q(A.req.raw,I,i,c);if(!G)throw new P(401,"Authentication required");let Z=A.req.param("name"),X=e.storageProviders,$=!X.isPluginEnabled(Z),xe=[];if(!$)for(let de of X.getAll())de.pluginName===Z&&xe.push(de.type);if(!(A.req.query("force")==="1")&&!$&&xe.length>0){let de="local";try{let fe=r?.prepare?.('SELECT provider FROM "_globals_storage-settings" LIMIT 1')?.get();fe?.provider&&(de=fe.provider);}catch{try{let fe=await r?.findOne?.({collection:"_globals_storage-settings",where:{},draft:!0});fe?.provider&&(de=fe.provider);}catch{}}if(xe.includes(de))return A.json({error:`Cannot disable "${Z}" \u2014 storage provider "${de}" is currently active. Switch to Local storage first.`,requiresAction:true,activeProvider:de},409)}try{let de={},fe="global",Ct=await r.findOne({collection:"_globals_plugin-settings",where:{},draft:!0});Ct&&(de=Ct.states||{},fe=Ct.id),de[Z]=$,Ct?await r.update({collection:"_globals_plugin-settings",id:fe,data:{states:de}}):await r.create({collection:"_globals_plugin-settings",data:{states:de,id:"global"}});}catch(de){console.warn(`[Plugins] Could not persist state for "${Z}":`,de);}return X.setPluginEnabled(Z,$),A.json({name:Z,enabled:$})}),h.get("/api/health",A=>A.json({status:"ok",version:"0.12.67",collections:e.getCollectionSlugs(),timestamp:new Date().toISOString()})),h.get("/api/metrics",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c);if(!G)throw new P(401,"Authentication required");let X=G.role==="admin"||G.role==="super_admin",$=e.getCollectionSlugs().filter(Tt=>!["users","audit_logs","media","_globals_access-settings","_globals_brand-settings"].includes(Tt)&&!Tt.startsWith("_globals_")).filter(Tt=>X||a$7(G,`${Tt}:read`)),xe=0,le={};await Promise.all($.map(async Tt=>{try{let td=(await r.find({collection:Tt,where:{},limit:1,page:1,tenantId:Z})).totalDocs??0;xe+=td,le[Tt]=td;}catch{}}));let de=0;try{de=(await r.find({collection:"media",where:{},limit:1,page:1,tenantId:Z})).totalDocs??0;}catch{}let fe=0;try{fe=(await r.find({collection:"users",where:{},limit:1,page:1,tenantId:Z})).totalDocs??0;}catch{}let Ct=0;try{if(u){let Tt=await u.getWebhooks();Ct=Array.isArray(Tt)?Tt.length:0;}}catch{}let kt=0;try{kt=(await r.find({collection:a$8,where:{},limit:1,page:1,tenantId:Z})).totalDocs??0;}catch{}let No=xe+de+fe;return A.json({totalDocuments:xe,totalMedia:X||a$7(G,"media:read")?de:void 0,totalUsers:X||a$7(G,"users:read")?fe:void 0,totalWebhooks:X?Ct:void 0,totalApiKeys:X?kt:void 0,totalStoredRecords:No,collectionCounts:le,collections:$.length,timestamp:new Date().toISOString()})}),jl(h,t,I),Ql(h,t,I),Pc(h,t,I),Ic(h,t,I),h.onError((A,G)=>{let Z=Number(A?.statusCode||A?.status||500);return Z>=500&&console.error(`[API Error] ${G.req.method} ${G.req.path}:`,A),G.json({error:A.message||"Internal server error",code:Z>=500?"INTERNAL_ERROR":"BAD_REQUEST"},Z)}),h}async function EB(t,e,r){return Bw({registry:t,db:e,authSecret:r?.authSecret,user:r?.user,req:r?.req,tenantId:r?.tenantId,cors:r?.cors,webhookService:r?.webhookService})}
120
+ `).map(A=>A.trim()).filter(Boolean):[],q=j.length>0?j:V||[];(q.length>0||d)&&h.use("*",async(A,G)=>{let Z=A.req.header("Origin")||"*";if(q.length>0&&!q.includes(Z))throw new P(403,"Origin not allowed");let X=q.length>0?Z:"*";if(A.header("Access-Control-Allow-Origin",X),A.header("Access-Control-Allow-Methods","GET, POST, PATCH, DELETE, OPTIONS"),A.header("Access-Control-Allow-Headers","Content-Type, Authorization, X-API-Key"),d?.credentials&&A.header("Access-Control-Allow-Credentials","true"),A.req.method==="OPTIONS")return A.text("");await G();});let K=f?.access?.rateLimiting,ie;if(K?.enabled){let A=K.maxRequests||100,G=K.windowMs||6e4;ie=new ra({"api:general":{window:G,max:A}}),h.use("/api/*",async(Z,X)=>{if(!ie)return X();let J=Z.req.header("CF-Connecting-IP")||Z.req.header("X-Forwarded-For")?.split(",")[0]?.trim()||Z.req.header("X-Real-IP")||"unknown",$=await ie.check("api:general",J);if(Z.header("X-RateLimit-Limit",String(A)),Z.header("X-RateLimit-Remaining",String($.remaining)),Z.header("X-RateLimit-Reset",String($.resetAt)),!$.allowed)return Z.json({error:"Too many requests",retryAfter:$.retryAfter},429);await X();});}let ke=new sa({redis:R,jwtSecret:s||"change-me",baseUrl:process.env.KYRO_BASE_URL||"http://localhost:4321",rateLimiter:ie});q$1.fromConfig(r).then(A=>{A&&(ke.email=A);}).catch(A=>{console.error("[Email] Failed to initialize transport from config:",A);}),Yl(h,ke,r,e,I,i,c,y,v);let Ue=typeof e.hasCollection=="function"&&e.hasCollection("users")?e.getCollection("users"):(()=>{try{return e.getCollection("users")}catch{return a$6}})();return h.get("/api/users",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=await Le(Ue,"read",A.req.raw,G,Z,void 0,y,v);if(!X.allowed)throw new P(X.status||403,X.error||"Access denied");let J=parseInt(A.req.query("page")||"1"),$=Math.min(parseInt(A.req.query("limit")||"10"),100),xe=A.req.query("search")||void 0,le=[],de=0;if(typeof R.findUsers=="function"){let fe=await R.findUsers({page:J,limit:$,search:xe});le=fe.users||[],de=fe.total||0;}else {let fe=await r.find({collection:"users",page:J,limit:$,where:xe?{email:{contains:xe}}:{},tenantId:Z});le=fe.docs||[],de=fe.totalDocs||0;}return A.json({docs:le,totalDocs:de,limit:$,totalPages:Math.ceil(de/$)||1,page:J,pagingCounter:(J-1)*$+1,hasPrevPage:J>1,hasNextPage:J<Math.ceil(de/$),prevPage:J>1?J-1:null,nextPage:J<Math.ceil(de/$)?J+1:null})}),h.get("/api/users/:id",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=A.req.param("id"),J=await R.findUserById(X);if(!J)throw new P(404,"User not found");return A.json({data:J})}),h.post("/api/users",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=await Le(Ue,"create",A.req.raw,G,Z,void 0,y,v);if(!X.allowed)throw new P(X.status||403,X.error||"Access denied");let J=await A.req.json();if(!J.email||!J.password)throw new P(400,"Email and password are required");if(await R.findUserByEmail(J.email))throw new P(400,"Email already in use");let xe=J.role||"customer";if(xe!=="customer"&&G?.role!=="super_admin")throw new P(403,"Forbidden: Only super_admin can assign administrative roles");let le=await R.createUser({email:J.email,password:J.password,name:J.name,role:xe,avatar:J.avatar,tenantId:J.tenantId});return G&&R?.createAuditLog({action:"user_create",userId:G.id,resource:"users",resourceId:le.id,success:true}),A.json({data:le,message:"User created successfully"},201)}),h.patch("/api/users/:id",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=await Le(Ue,"update",A.req.raw,G,Z,void 0,y,v);if(!X.allowed)throw new P(X.status||403,X.error||"Access denied");let J=A.req.param("id"),$=await A.req.json(),xe=await R.findUserById(J);if(!xe)throw new P(404,"User not found");let le={};if($.name!==void 0&&(le.name=$.name),$.email!==void 0&&(le.email=$.email),$.role!==void 0&&$.role!==xe.role){if(G?.role!=="super_admin")throw new P(403,"Forbidden: Only super_admin can modify user roles");le.role=$.role;}$.avatar!==void 0&&(le.avatar=typeof $.avatar=="object"&&$.avatar!==null?$.avatar.id||String($.avatar):$.avatar),$.tenantId!==void 0&&(le.tenantId=$.tenantId),$.emailVerified!==void 0&&(le.emailVerified=$.emailVerified),$.locked!==void 0&&(le.locked=$.locked),$.failedLoginAttempts!==void 0&&(le.failedLoginAttempts=$.failedLoginAttempts),$.lastLogin!==void 0&&(le.lastLogin=$.lastLogin);let de=await R.updateUser(J,le);if(!de)throw new P(500,"User update failed");return G&&(R?.createAuditLog({action:"user_update",userId:G.id,resource:"users",resourceId:J,success:true}),$.role&&xe.role!==$.role&&R?.createAuditLog({action:"role_change",userId:G.id,resource:"users",resourceId:J,success:true,metadata:{oldRole:xe.role,newRole:$.role}})),A.json({data:de,message:"User updated successfully"})}),h.delete("/api/users/:id",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=await Le(Ue,"delete",A.req.raw,G,Z,void 0,y,v);if(!X.allowed)throw new P(X.status||403,X.error||"Access denied");let J=A.req.param("id");if(G&&G.id===J)throw new P(403,"You cannot delete your own account");let $=await R.findUserById(J);if(!$)throw new P(404,"User not found");if(!await R.deleteUser(J))throw new P(500,"User deletion failed");return G&&R?.createAuditLog({action:"user_delete",userId:G.id,resource:"users",resourceId:J,success:true}),A.json({data:$,message:"User deleted successfully"})}),h.get("/api/auth/audit-logs",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c),X=e.getCollection("audit_logs");if(X){let Ct=await Le(X,"read",A.req.raw,G,Z,void 0,y,v);if(!Ct.allowed)throw new P(Ct.status||403,Ct.error||"Access denied")}else if(!G)throw new P(401,"Authentication required");let J=parseInt(A.req.query("page")||"1"),$=Math.min(parseInt(A.req.query("limit")||"50"),100),xe=A.req.query("action")||void 0,le=A.req.query("userId")||void 0,de=A.req.query("resource")||void 0,fe=await R.findAuditLogs({action:xe,userId:le,resource:de,limit:$,offset:(J-1)*$});return A.json({docs:fe.logs,totalDocs:fe.total,limit:$,totalPages:Math.ceil(fe.total/$),page:J,pagingCounter:(J-1)*$+1,hasPrevPage:J>1,hasNextPage:J<Math.ceil(fe.total/$),prevPage:J>1?J-1:null,nextPage:J<Math.ceil(fe.total/$)?J+1:null})}),Ul(h,t,I),h.get("/api/storage-status",async A=>{let{user:G}=await Q(A.req.raw,I,i,c);if(!G)throw new P(401,"Authentication required");let Z=typeof globalThis.STORAGE_BUCKET<"u"||typeof A.env?.STORAGE_BUCKET<"u",X=Z,J=Z?"cloudflare_r2":"local";if(r)try{let $=r.prepare('SELECT provider FROM "_globals_storage-settings" LIMIT 1').get();$&&$.provider&&(X=!0,J=$.provider==="aws"?"s3":$.provider);}catch{try{let $=await r.findOne({collection:"_globals_storage-settings",where:{},draft:!0});$&&$.provider&&(X=!0,J=$.provider==="aws"?"s3":$.provider);}catch{}}return A.json({provider:J,configured:X,usage:0,limit:"unlimited"})}),h.get("/api/plugins",async A=>{let{user:G}=await Q(A.req.raw,I,i,c);if(!G)throw new P(401,"Authentication required");let Z=e.getPlugins(),X=e.storageProviders,J=await Promise.all(Z.map(async $=>{let xe=true,le=$.name,de={};try{let kt=await r.findOne({collection:"_globals_plugin-settings",where:{},draft:!0});kt&&kt.states&&(de=kt.states);}catch{}de[le]!==void 0&&(xe=de[le]),X.setPluginEnabled(le,xe);let fe=le.replace(/^@[^/]+\//,"");fe=fe.replace(/^(plugin|kyro)-/,"");let Ct={ai:"AI",seo:"SEO",s3:"S3",aws:"AWS",api:"API",ui:"UI",ftp:"FTP"};if(fe=fe.split("-").map(kt=>{let No=kt.toLowerCase();return Ct[No]?Ct[No]:kt.charAt(0).toUpperCase()+kt.slice(1)}).join(" "),fe.toLowerCase().startsWith("storage ")){let kt=fe.split(" ");kt.length===2&&(fe=`${kt[1]} Storage`);}return {id:le,name:$.displayName||fe,version:$.version||"1.0.0",description:$.description||"",enabled:xe,status:xe?"active":"disabled"}}));return A.json(J)}),h.put("/api/plugins/:name/toggle",async A=>{let{user:G}=await Q(A.req.raw,I,i,c);if(!G)throw new P(401,"Authentication required");let Z=A.req.param("name"),X=e.storageProviders,$=!X.isPluginEnabled(Z),xe=[];if(!$)for(let de of X.getAll())de.pluginName===Z&&xe.push(de.type);if(!(A.req.query("force")==="1")&&!$&&xe.length>0){let de="local";try{let fe=r?.prepare?.('SELECT provider FROM "_globals_storage-settings" LIMIT 1')?.get();fe?.provider&&(de=fe.provider);}catch{try{let fe=await r?.findOne?.({collection:"_globals_storage-settings",where:{},draft:!0});fe?.provider&&(de=fe.provider);}catch{}}if(xe.includes(de))return A.json({error:`Cannot disable "${Z}" \u2014 storage provider "${de}" is currently active. Switch to Local storage first.`,requiresAction:true,activeProvider:de},409)}try{let de={},fe="global",Ct=await r.findOne({collection:"_globals_plugin-settings",where:{},draft:!0});Ct&&(de=Ct.states||{},fe=Ct.id),de[Z]=$,Ct?await r.update({collection:"_globals_plugin-settings",id:fe,data:{states:de}}):await r.create({collection:"_globals_plugin-settings",data:{states:de,id:"global"}});}catch(de){console.warn(`[Plugins] Could not persist state for "${Z}":`,de);}return X.setPluginEnabled(Z,$),A.json({name:Z,enabled:$})}),h.get("/api/health",A=>A.json({status:"ok",version:"0.12.68",collections:e.getCollectionSlugs(),timestamp:new Date().toISOString()})),h.get("/api/metrics",async A=>{let{user:G,tenantId:Z}=await Q(A.req.raw,I,i,c);if(!G)throw new P(401,"Authentication required");let X=G.role==="admin"||G.role==="super_admin",$=e.getCollectionSlugs().filter(Tt=>!["users","audit_logs","media","_globals_access-settings","_globals_brand-settings"].includes(Tt)&&!Tt.startsWith("_globals_")).filter(Tt=>X||a$7(G,`${Tt}:read`)),xe=0,le={};await Promise.all($.map(async Tt=>{try{let td=(await r.find({collection:Tt,where:{},limit:1,page:1,tenantId:Z})).totalDocs??0;xe+=td,le[Tt]=td;}catch{}}));let de=0;try{de=(await r.find({collection:"media",where:{},limit:1,page:1,tenantId:Z})).totalDocs??0;}catch{}let fe=0;try{fe=(await r.find({collection:"users",where:{},limit:1,page:1,tenantId:Z})).totalDocs??0;}catch{}let Ct=0;try{if(u){let Tt=await u.getWebhooks();Ct=Array.isArray(Tt)?Tt.length:0;}}catch{}let kt=0;try{kt=(await r.find({collection:a$8,where:{},limit:1,page:1,tenantId:Z})).totalDocs??0;}catch{}let No=xe+de+fe;return A.json({totalDocuments:xe,totalMedia:X||a$7(G,"media:read")?de:void 0,totalUsers:X||a$7(G,"users:read")?fe:void 0,totalWebhooks:X?Ct:void 0,totalApiKeys:X?kt:void 0,totalStoredRecords:No,collectionCounts:le,collections:$.length,timestamp:new Date().toISOString()})}),jl(h,t,I),Ql(h,t,I),Pc(h,t,I),Ic(h,t,I),h.onError((A,G)=>{let Z=Number(A?.statusCode||A?.status||500);return Z>=500&&console.error(`[API Error] ${G.req.method} ${G.req.path}:`,A),G.json({error:A.message||"Internal server error",code:Z>=500?"INTERNAL_ERROR":"BAD_REQUEST"},Z)}),h}async function EB(t,e,r){return Bw({registry:t,db:e,authSecret:r?.authSecret,user:r?.user,req:r?.req,tenantId:r?.tenantId,cors:r?.cors,webhookService:r?.webhookService})}
121
121
  export{Tn as $,Uc as $a,wn as A,bV as Aa,_n as B,SV as Ba,Po as C,AV as Ca,vn as D,RV as Da,bn as E,CV as Ea,ys as F,EV as Fa,Wr as G,kV as Ga,br as H,TV as Ha,Io as I,OV as Ia,Zr as J,PV as Ja,Bt as K,IV as Ka,Sn as L,DV as La,zl as M,LV as Ma,An as N,$V as Na,$r as O,BV as Oa,Vl as P,NV as Pa,Do as Q,MV as Qa,Lo as R,UV as Ra,Wl as S,jV as Sa,Rn as T,qV as Ta,Cn as U,HV as Ua,En as V,FV as Va,kn as W,GV as Wa,xs as X,U$ as Xa,sr as Y,j$ as Ya,rr as Z,Hx as Za,Br as _,ss as _a,me as a,On as aa,ra as ab,Yx as b,$o as ba,fm as bb,z as c,aV as ca,BM as cb,Dr as d,Ji as da,hm as db,N as e,Xi as ea,sa as eb,NK as f,Pn as fa,Gx as fb,$t as g,fB as ga,Vi as gb,Vr as h,iV as ha,tc as hb,zK as i,U as ia,Bw as ib,To as j,cV as ja,EB as jb,Zi as k,hB as ka,JK as l,gB as la,F as m,uV as ma,xt as n,lV as na,te as o,yB as oa,hn as p,dV as pa,At as q,pV as qa,Hl as r,mV as ra,Fl as s,fV as sa,hs as t,hV as ta,Oo as u,gV as ua,ue as v,yV as va,uB as w,xV as wa,gs as x,wV as xa,yn as y,_V as ya,xn as z,vV as za};