@kyro-cms/core 0.10.4 → 0.10.6
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.
- package/dist/api-handler-graphql.cjs +1 -49
- package/dist/api-handler-graphql.js +1 -46
- package/dist/api-handler-trpc.cjs +1 -38
- package/dist/api-handler-trpc.js +1 -36
- package/dist/api-handler.cjs +1 -44
- package/dist/api-handler.js +1 -27
- package/dist/bootstrap-HIAV5ZFT.cjs +1 -0
- package/dist/bootstrap-P7QPQYQP.js +1 -0
- package/dist/chunk-2BTRHVT3.cjs +20 -0
- package/dist/chunk-2W4FK6CJ.js +122 -0
- package/dist/chunk-4ORJMSJU.cjs +1 -0
- package/dist/chunk-65G73T7Z.cjs +2 -0
- package/dist/chunk-7N6NKCRT.js +1 -0
- package/dist/chunk-7WOX27LK.js +259 -0
- package/dist/chunk-AE6GXUT7.js +1 -0
- package/dist/chunk-AJAZ7D3W.cjs +259 -0
- package/dist/chunk-ATLSIYRH.cjs +1 -0
- package/dist/chunk-AU6IWTBO.js +2 -0
- package/dist/chunk-CDL7ARXT.js +133 -0
- package/dist/chunk-CUTFS6N2.cjs +1 -0
- package/dist/chunk-CVVW4LXZ.cjs +1 -0
- package/dist/chunk-DGJUBN33.js +1 -0
- package/dist/chunk-DV4LFLPL.cjs +1 -0
- package/dist/chunk-EEWCANFX.js +1 -0
- package/dist/chunk-ELICKLFM.cjs +3 -0
- package/dist/chunk-EQUQJBPP.cjs +2 -0
- package/dist/chunk-ET6NN2V2.cjs +122 -0
- package/dist/chunk-F7P36SLX.cjs +74 -0
- package/dist/chunk-F7SR5IDT.cjs +1 -0
- package/dist/chunk-FO3HLBC7.js +1 -0
- package/dist/chunk-FS7GL2BR.js +73 -0
- package/dist/chunk-G6A7OSIG.js +2 -0
- package/dist/chunk-GFU7AOI3.cjs +1 -0
- package/dist/chunk-GYQMNXXW.cjs +114 -0
- package/dist/chunk-HLSB2MCK.js +1 -0
- package/dist/chunk-HVXO3OFB.cjs +1 -0
- package/dist/chunk-IFJJ44OQ.cjs +133 -0
- package/dist/chunk-ISWMETHJ.cjs +1 -0
- package/dist/chunk-K6WUOU6P.js +1 -0
- package/dist/chunk-KDNYHLD2.js +1 -0
- package/dist/chunk-KIW36TG7.cjs +86 -0
- package/dist/chunk-L6CZYN3L.cjs +20 -0
- package/dist/chunk-LRGAPGG3.js +74 -0
- package/dist/chunk-LZ6YFYQM.js +20 -0
- package/dist/chunk-MIOMMB23.cjs +1 -0
- package/dist/chunk-NGBJKZMT.js +90 -0
- package/dist/chunk-NRLIGDYF.js +1 -0
- package/dist/chunk-NY47CFVP.cjs +1 -0
- package/dist/chunk-NZ35PV5R.js +2 -0
- package/dist/chunk-OG7CNQGU.js +1 -0
- package/dist/chunk-OQD3WG6Z.cjs +1 -0
- package/dist/chunk-P7CESLDJ.js +1 -0
- package/dist/chunk-PP5S2UBV.js +0 -0
- package/dist/chunk-Q3Q7BJVQ.cjs +1 -0
- package/dist/chunk-Q4CSLXCO.cjs +90 -0
- package/dist/chunk-QRXDCV6K.js +0 -0
- package/dist/chunk-R7DVVXXI.cjs +73 -0
- package/dist/chunk-RHCWCG3O.js +114 -0
- package/dist/chunk-SL3LZQCF.js +1 -0
- package/dist/chunk-UBHFUFD4.cjs +1 -0
- package/dist/chunk-UBRYJP2G.js +1 -0
- package/dist/chunk-UDSJGML2.cjs +2 -0
- package/dist/chunk-UHFDH3PG.js +20 -0
- package/dist/chunk-UJNSOOYZ.cjs +1 -0
- package/dist/chunk-URCLFIME.js +86 -0
- package/dist/chunk-UVTS2IWM.js +1 -0
- package/dist/chunk-V65NPSR5.cjs +1 -0
- package/dist/chunk-WIZ6C5QZ.cjs +1 -0
- package/dist/chunk-ZAQOSRP6.js +1 -0
- package/dist/chunk-ZELCS7IC.js +3 -0
- package/dist/cli/index.cjs +35 -405
- package/dist/cli/index.js +35 -402
- package/dist/client.cjs +1 -55
- package/dist/client.js +1 -6
- package/dist/drizzle/index.cjs +1 -50
- package/dist/drizzle/index.d.cts +1 -2
- package/dist/drizzle/index.d.ts +1 -2
- package/dist/drizzle/index.js +1 -9
- package/dist/fields/index.cjs +1 -89
- package/dist/fields/index.js +1 -4
- package/dist/graphql/index.cjs +1 -31
- package/dist/graphql/index.d.cts +1 -1
- package/dist/graphql/index.d.ts +1 -1
- package/dist/graphql/index.js +1 -6
- package/dist/{index-jLs0zlft.d.ts → index-DXr33e0x.d.ts} +1 -1
- package/dist/{index-DHbywDs-.d.cts → index-DuuUzWBq.d.cts} +1 -1
- package/dist/index.cjs +29 -2464
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +29 -1929
- package/dist/integration.cjs +1 -10
- package/dist/integration.js +1 -4
- package/dist/media-NSSMOB7N.cjs +1 -0
- package/dist/media-RNMCZYPZ.js +1 -0
- package/dist/mongo-auth-adapter-JYJ4GBZE.cjs +1 -0
- package/dist/mongo-auth-adapter-XI7EPURZ.js +1 -0
- package/dist/mongodb/index.cjs +1 -29
- package/dist/mongodb/index.d.cts +1 -2
- package/dist/mongodb/index.d.ts +1 -2
- package/dist/mongodb/index.js +1 -8
- package/dist/postgres-auth-adapter-E7OGMDD4.cjs +1 -0
- package/dist/postgres-auth-adapter-F4KLOGAG.js +1 -0
- package/dist/redis-adapter-AQJVABYT.cjs +1 -0
- package/dist/redis-adapter-AUKOV74G.js +1 -0
- package/dist/rest/index.cjs +1 -31
- package/dist/rest/index.d.cts +1 -1
- package/dist/rest/index.d.ts +1 -1
- package/dist/rest/index.js +1 -18
- package/dist/schema-5XNROI7I.js +1 -0
- package/dist/schema-6O4JTJRU.cjs +1 -0
- package/dist/sqlite-adapter-5XFLNJDH.js +1 -0
- package/dist/sqlite-adapter-W53Q32N5.cjs +1 -0
- package/dist/templates/index.cjs +1 -207
- package/dist/templates/index.js +1 -6
- package/dist/trpc/index.cjs +1 -48
- package/dist/trpc/index.js +1 -7
- package/dist/ws/index.cjs +1 -25
- package/dist/ws/index.js +1 -4
- package/package.json +44 -13
- package/dist/api-handler-graphql.cjs.map +0 -1
- package/dist/api-handler-graphql.js.map +0 -1
- package/dist/api-handler-trpc.cjs.map +0 -1
- package/dist/api-handler-trpc.js.map +0 -1
- package/dist/api-handler.cjs.map +0 -1
- package/dist/api-handler.js.map +0 -1
- package/dist/bootstrap-FUAPY2OF.cjs +0 -32
- package/dist/bootstrap-FUAPY2OF.cjs.map +0 -1
- package/dist/bootstrap-OXNVM7FP.js +0 -7
- package/dist/bootstrap-OXNVM7FP.js.map +0 -1
- package/dist/chunk-2HFJUUFZ.js +0 -250
- package/dist/chunk-2HFJUUFZ.js.map +0 -1
- package/dist/chunk-3AKCVYDB.js +0 -162
- package/dist/chunk-3AKCVYDB.js.map +0 -1
- package/dist/chunk-3KTWGODI.cjs +0 -178
- package/dist/chunk-3KTWGODI.cjs.map +0 -1
- package/dist/chunk-3YELQL7Z.cjs +0 -4
- package/dist/chunk-3YELQL7Z.cjs.map +0 -1
- package/dist/chunk-4CV4JOE5.js +0 -24
- package/dist/chunk-4CV4JOE5.js.map +0 -1
- package/dist/chunk-4OCMVGEY.cjs +0 -173
- package/dist/chunk-4OCMVGEY.cjs.map +0 -1
- package/dist/chunk-4PWRCMTQ.cjs +0 -15
- package/dist/chunk-4PWRCMTQ.cjs.map +0 -1
- package/dist/chunk-53NYVYVX.js +0 -3243
- package/dist/chunk-53NYVYVX.js.map +0 -1
- package/dist/chunk-5GFQPHGT.cjs +0 -156
- package/dist/chunk-5GFQPHGT.cjs.map +0 -1
- package/dist/chunk-5RPRLTTN.js +0 -861
- package/dist/chunk-5RPRLTTN.js.map +0 -1
- package/dist/chunk-74YSDAWE.cjs +0 -2749
- package/dist/chunk-74YSDAWE.cjs.map +0 -1
- package/dist/chunk-7OGPN7MP.js +0 -352
- package/dist/chunk-7OGPN7MP.js.map +0 -1
- package/dist/chunk-7OS7TX2Q.cjs +0 -495
- package/dist/chunk-7OS7TX2Q.cjs.map +0 -1
- package/dist/chunk-ADLJSJSN.cjs +0 -13
- package/dist/chunk-ADLJSJSN.cjs.map +0 -1
- package/dist/chunk-B6X3LN25.cjs +0 -6486
- package/dist/chunk-B6X3LN25.cjs.map +0 -1
- package/dist/chunk-BYBMTIMT.js +0 -419
- package/dist/chunk-BYBMTIMT.js.map +0 -1
- package/dist/chunk-CF7OL6HR.js +0 -355
- package/dist/chunk-CF7OL6HR.js.map +0 -1
- package/dist/chunk-CJX74IYK.js +0 -489
- package/dist/chunk-CJX74IYK.js.map +0 -1
- package/dist/chunk-CKVOU6MX.cjs +0 -52
- package/dist/chunk-CKVOU6MX.cjs.map +0 -1
- package/dist/chunk-CZLDE2OZ.cjs +0 -28
- package/dist/chunk-CZLDE2OZ.cjs.map +0 -1
- package/dist/chunk-DPA3KWPY.cjs +0 -205
- package/dist/chunk-DPA3KWPY.cjs.map +0 -1
- package/dist/chunk-EEJUFDMF.cjs +0 -424
- package/dist/chunk-EEJUFDMF.cjs.map +0 -1
- package/dist/chunk-FIAMXNTH.js +0 -220
- package/dist/chunk-FIAMXNTH.js.map +0 -1
- package/dist/chunk-GAOXD3XT.js +0 -175
- package/dist/chunk-GAOXD3XT.js.map +0 -1
- package/dist/chunk-GTGRLD4Y.js +0 -3
- package/dist/chunk-GTGRLD4Y.js.map +0 -1
- package/dist/chunk-GUUB5EAG.cjs +0 -223
- package/dist/chunk-GUUB5EAG.cjs.map +0 -1
- package/dist/chunk-GXFOGU7N.cjs +0 -359
- package/dist/chunk-GXFOGU7N.cjs.map +0 -1
- package/dist/chunk-GZS4LMR7.js +0 -422
- package/dist/chunk-GZS4LMR7.js.map +0 -1
- package/dist/chunk-HY6B7B5A.js +0 -150
- package/dist/chunk-HY6B7B5A.js.map +0 -1
- package/dist/chunk-HZOMOK5Y.js +0 -2728
- package/dist/chunk-HZOMOK5Y.js.map +0 -1
- package/dist/chunk-IDVRRRAK.cjs +0 -824
- package/dist/chunk-IDVRRRAK.cjs.map +0 -1
- package/dist/chunk-KC2GDBLS.cjs +0 -84
- package/dist/chunk-KC2GDBLS.cjs.map +0 -1
- package/dist/chunk-L4EZKIEX.js +0 -185
- package/dist/chunk-L4EZKIEX.js.map +0 -1
- package/dist/chunk-LNTFRAHF.cjs +0 -473
- package/dist/chunk-LNTFRAHF.cjs.map +0 -1
- package/dist/chunk-MTIRYI7F.cjs +0 -4
- package/dist/chunk-MTIRYI7F.cjs.map +0 -1
- package/dist/chunk-N4GN6Q3V.cjs +0 -869
- package/dist/chunk-N4GN6Q3V.cjs.map +0 -1
- package/dist/chunk-N4H37VN4.cjs +0 -259
- package/dist/chunk-N4H37VN4.cjs.map +0 -1
- package/dist/chunk-N5QSHUA6.js +0 -1135
- package/dist/chunk-N5QSHUA6.js.map +0 -1
- package/dist/chunk-NKPKR5BW.cjs +0 -188
- package/dist/chunk-NKPKR5BW.cjs.map +0 -1
- package/dist/chunk-OIRG6ZRV.cjs +0 -1073
- package/dist/chunk-OIRG6ZRV.cjs.map +0 -1
- package/dist/chunk-OJ2AM75W.cjs +0 -253
- package/dist/chunk-OJ2AM75W.cjs.map +0 -1
- package/dist/chunk-OLV7K22H.js +0 -6457
- package/dist/chunk-OLV7K22H.js.map +0 -1
- package/dist/chunk-OX6GOIPH.js +0 -516
- package/dist/chunk-OX6GOIPH.js.map +0 -1
- package/dist/chunk-P2YW545G.js +0 -11
- package/dist/chunk-P2YW545G.js.map +0 -1
- package/dist/chunk-PHJRNPHY.cjs +0 -3291
- package/dist/chunk-PHJRNPHY.cjs.map +0 -1
- package/dist/chunk-Q72BOAPK.js +0 -817
- package/dist/chunk-Q72BOAPK.js.map +0 -1
- package/dist/chunk-QU2RFFH4.js +0 -3
- package/dist/chunk-QU2RFFH4.js.map +0 -1
- package/dist/chunk-RP7VZUEL.js +0 -49
- package/dist/chunk-RP7VZUEL.js.map +0 -1
- package/dist/chunk-SHTTJMLT.cjs +0 -361
- package/dist/chunk-SHTTJMLT.cjs.map +0 -1
- package/dist/chunk-SX76DNOO.js +0 -103
- package/dist/chunk-SX76DNOO.js.map +0 -1
- package/dist/chunk-THBQG64D.cjs +0 -425
- package/dist/chunk-THBQG64D.cjs.map +0 -1
- package/dist/chunk-TQG7G7YI.cjs +0 -526
- package/dist/chunk-TQG7G7YI.cjs.map +0 -1
- package/dist/chunk-U3VVLYXG.cjs +0 -189
- package/dist/chunk-U3VVLYXG.cjs.map +0 -1
- package/dist/chunk-UUDTPZX6.js +0 -193
- package/dist/chunk-UUDTPZX6.js.map +0 -1
- package/dist/chunk-V5AWATUP.js +0 -1059
- package/dist/chunk-V5AWATUP.js.map +0 -1
- package/dist/chunk-VAXLFZCV.cjs +0 -110
- package/dist/chunk-VAXLFZCV.cjs.map +0 -1
- package/dist/chunk-VKREAIBA.cjs +0 -1139
- package/dist/chunk-VKREAIBA.cjs.map +0 -1
- package/dist/chunk-WDTTHKDS.js +0 -458
- package/dist/chunk-WDTTHKDS.js.map +0 -1
- package/dist/chunk-WXVB364T.js +0 -218
- package/dist/chunk-WXVB364T.js.map +0 -1
- package/dist/chunk-X4BPPD6K.js +0 -181
- package/dist/chunk-X4BPPD6K.js.map +0 -1
- package/dist/chunk-XEB7PH2E.js +0 -81
- package/dist/chunk-XEB7PH2E.js.map +0 -1
- package/dist/chunk-YT7HXXVN.js +0 -13
- package/dist/chunk-YT7HXXVN.js.map +0 -1
- package/dist/cli/index.cjs.map +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/client.cjs.map +0 -1
- package/dist/client.js.map +0 -1
- package/dist/drizzle/index.cjs.map +0 -1
- package/dist/drizzle/index.js.map +0 -1
- package/dist/fields/index.cjs.map +0 -1
- package/dist/fields/index.js.map +0 -1
- package/dist/graphql/index.cjs.map +0 -1
- package/dist/graphql/index.js.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/integration.cjs.map +0 -1
- package/dist/integration.js.map +0 -1
- package/dist/media-7WDX4BDJ.js +0 -4
- package/dist/media-7WDX4BDJ.js.map +0 -1
- package/dist/media-TUSLVRQ6.cjs +0 -17
- package/dist/media-TUSLVRQ6.cjs.map +0 -1
- package/dist/mongo-auth-adapter-GT4S7SCU.cjs +0 -17
- package/dist/mongo-auth-adapter-GT4S7SCU.cjs.map +0 -1
- package/dist/mongo-auth-adapter-M7VV4LNB.js +0 -4
- package/dist/mongo-auth-adapter-M7VV4LNB.js.map +0 -1
- package/dist/mongodb/index.cjs.map +0 -1
- package/dist/mongodb/index.js.map +0 -1
- package/dist/postgres-auth-adapter-AFAPISH7.js +0 -5
- package/dist/postgres-auth-adapter-AFAPISH7.js.map +0 -1
- package/dist/postgres-auth-adapter-SFDTLONT.cjs +0 -14
- package/dist/postgres-auth-adapter-SFDTLONT.cjs.map +0 -1
- package/dist/redis-adapter-UQX4EE3B.cjs +0 -13
- package/dist/redis-adapter-UQX4EE3B.cjs.map +0 -1
- package/dist/redis-adapter-XALOGWY3.js +0 -4
- package/dist/redis-adapter-XALOGWY3.js.map +0 -1
- package/dist/rest/index.cjs.map +0 -1
- package/dist/rest/index.js.map +0 -1
- package/dist/schema-6QL3USNB.cjs +0 -67
- package/dist/schema-6QL3USNB.cjs.map +0 -1
- package/dist/schema-FNNWEAAW.js +0 -6
- package/dist/schema-FNNWEAAW.js.map +0 -1
- package/dist/sqlite-adapter-AQB5TCGV.cjs +0 -13
- package/dist/sqlite-adapter-AQB5TCGV.cjs.map +0 -1
- package/dist/sqlite-adapter-N5H6IM2X.js +0 -4
- package/dist/sqlite-adapter-N5H6IM2X.js.map +0 -1
- package/dist/templates/index.cjs.map +0 -1
- package/dist/templates/index.js.map +0 -1
- package/dist/trpc/index.cjs.map +0 -1
- package/dist/trpc/index.js.map +0 -1
- package/dist/ws/index.cjs.map +0 -1
- package/dist/ws/index.js.map +0 -1
|
@@ -1,49 +1 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkVAXLFZCV_cjs = require('./chunk-VAXLFZCV.cjs');
|
|
4
|
-
require('./chunk-74YSDAWE.cjs');
|
|
5
|
-
require('./chunk-5GFQPHGT.cjs');
|
|
6
|
-
require('./chunk-3KTWGODI.cjs');
|
|
7
|
-
require('./chunk-TQG7G7YI.cjs');
|
|
8
|
-
require('./chunk-N4GN6Q3V.cjs');
|
|
9
|
-
require('./chunk-B6X3LN25.cjs');
|
|
10
|
-
require('./chunk-VKREAIBA.cjs');
|
|
11
|
-
require('./chunk-4PWRCMTQ.cjs');
|
|
12
|
-
require('./chunk-KC2GDBLS.cjs');
|
|
13
|
-
require('./chunk-IDVRRRAK.cjs');
|
|
14
|
-
require('./chunk-ADLJSJSN.cjs');
|
|
15
|
-
require('./chunk-LNTFRAHF.cjs');
|
|
16
|
-
require('./chunk-4OCMVGEY.cjs');
|
|
17
|
-
require('./chunk-EEJUFDMF.cjs');
|
|
18
|
-
require('./chunk-3YELQL7Z.cjs');
|
|
19
|
-
require('./chunk-OIRG6ZRV.cjs');
|
|
20
|
-
require('./chunk-7OS7TX2Q.cjs');
|
|
21
|
-
require('./chunk-DPA3KWPY.cjs');
|
|
22
|
-
require('./chunk-MTIRYI7F.cjs');
|
|
23
|
-
require('./chunk-THBQG64D.cjs');
|
|
24
|
-
require('./chunk-GXFOGU7N.cjs');
|
|
25
|
-
require('./chunk-GUUB5EAG.cjs');
|
|
26
|
-
require('./chunk-NKPKR5BW.cjs');
|
|
27
|
-
require('./chunk-CZLDE2OZ.cjs');
|
|
28
|
-
|
|
29
|
-
// src/api-handler-graphql.ts
|
|
30
|
-
function toNativeResponse(r) {
|
|
31
|
-
return new Response(r.body, r);
|
|
32
|
-
}
|
|
33
|
-
var POST = async (context) => {
|
|
34
|
-
await chunkVAXLFZCV_cjs.warmKyroInstance();
|
|
35
|
-
const app = chunkVAXLFZCV_cjs.kyroInstance.getGraphQL();
|
|
36
|
-
const res = await app.fetch(context.request, context.locals);
|
|
37
|
-
return toNativeResponse(res);
|
|
38
|
-
};
|
|
39
|
-
var GET = async (context) => {
|
|
40
|
-
await chunkVAXLFZCV_cjs.warmKyroInstance();
|
|
41
|
-
const app = chunkVAXLFZCV_cjs.kyroInstance.getGraphQL();
|
|
42
|
-
const res = await app.fetch(context.request, context.locals);
|
|
43
|
-
return toNativeResponse(res);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
exports.GET = GET;
|
|
47
|
-
exports.POST = POST;
|
|
48
|
-
//# sourceMappingURL=api-handler-graphql.cjs.map
|
|
49
|
-
//# sourceMappingURL=api-handler-graphql.cjs.map
|
|
1
|
+
'use strict';var chunkCUTFS6N2_cjs=require('./chunk-CUTFS6N2.cjs');require('./chunk-R7DVVXXI.cjs'),require('./chunk-UJNSOOYZ.cjs'),require('./chunk-65G73T7Z.cjs'),require('./chunk-CVVW4LXZ.cjs'),require('./chunk-F7P36SLX.cjs'),require('./chunk-KIW36TG7.cjs'),require('./chunk-AJAZ7D3W.cjs'),require('./chunk-WIZ6C5QZ.cjs'),require('./chunk-GFU7AOI3.cjs'),require('./chunk-ET6NN2V2.cjs'),require('./chunk-HVXO3OFB.cjs'),require('./chunk-ISWMETHJ.cjs'),require('./chunk-NY47CFVP.cjs'),require('./chunk-F7SR5IDT.cjs'),require('./chunk-4ORJMSJU.cjs'),require('./chunk-IFJJ44OQ.cjs'),require('./chunk-GYQMNXXW.cjs'),require('./chunk-MIOMMB23.cjs'),require('./chunk-UBHFUFD4.cjs'),require('./chunk-UDSJGML2.cjs'),require('./chunk-ATLSIYRH.cjs'),require('./chunk-DV4LFLPL.cjs'),require('./chunk-Q3Q7BJVQ.cjs'),require('./chunk-OQD3WG6Z.cjs');function a(e){return new Response(e.body,e)}var p=async e=>{await chunkCUTFS6N2_cjs.b();let t=await chunkCUTFS6N2_cjs.a.getGraphQL().fetch(e.request,e.locals);return a(t)},c=async e=>{await chunkCUTFS6N2_cjs.b();let t=await chunkCUTFS6N2_cjs.a.getGraphQL().fetch(e.request,e.locals);return a(t)};exports.GET=c;exports.POST=p;
|
|
@@ -1,46 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import './chunk-HZOMOK5Y.js';
|
|
3
|
-
import './chunk-HY6B7B5A.js';
|
|
4
|
-
import './chunk-GAOXD3XT.js';
|
|
5
|
-
import './chunk-OX6GOIPH.js';
|
|
6
|
-
import './chunk-5RPRLTTN.js';
|
|
7
|
-
import './chunk-OLV7K22H.js';
|
|
8
|
-
import './chunk-N5QSHUA6.js';
|
|
9
|
-
import './chunk-YT7HXXVN.js';
|
|
10
|
-
import './chunk-XEB7PH2E.js';
|
|
11
|
-
import './chunk-Q72BOAPK.js';
|
|
12
|
-
import './chunk-P2YW545G.js';
|
|
13
|
-
import './chunk-WDTTHKDS.js';
|
|
14
|
-
import './chunk-3AKCVYDB.js';
|
|
15
|
-
import './chunk-BYBMTIMT.js';
|
|
16
|
-
import './chunk-QU2RFFH4.js';
|
|
17
|
-
import './chunk-V5AWATUP.js';
|
|
18
|
-
import './chunk-CJX74IYK.js';
|
|
19
|
-
import './chunk-UUDTPZX6.js';
|
|
20
|
-
import './chunk-GTGRLD4Y.js';
|
|
21
|
-
import './chunk-GZS4LMR7.js';
|
|
22
|
-
import './chunk-7OGPN7MP.js';
|
|
23
|
-
import './chunk-WXVB364T.js';
|
|
24
|
-
import './chunk-L4EZKIEX.js';
|
|
25
|
-
import './chunk-4CV4JOE5.js';
|
|
26
|
-
|
|
27
|
-
// src/api-handler-graphql.ts
|
|
28
|
-
function toNativeResponse(r) {
|
|
29
|
-
return new Response(r.body, r);
|
|
30
|
-
}
|
|
31
|
-
var POST = async (context) => {
|
|
32
|
-
await warmKyroInstance();
|
|
33
|
-
const app = kyroInstance.getGraphQL();
|
|
34
|
-
const res = await app.fetch(context.request, context.locals);
|
|
35
|
-
return toNativeResponse(res);
|
|
36
|
-
};
|
|
37
|
-
var GET = async (context) => {
|
|
38
|
-
await warmKyroInstance();
|
|
39
|
-
const app = kyroInstance.getGraphQL();
|
|
40
|
-
const res = await app.fetch(context.request, context.locals);
|
|
41
|
-
return toNativeResponse(res);
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
export { GET, POST };
|
|
45
|
-
//# sourceMappingURL=api-handler-graphql.js.map
|
|
46
|
-
//# sourceMappingURL=api-handler-graphql.js.map
|
|
1
|
+
import {b,a as a$1}from'./chunk-EEWCANFX.js';import'./chunk-FS7GL2BR.js';import'./chunk-FO3HLBC7.js';import'./chunk-NZ35PV5R.js';import'./chunk-7N6NKCRT.js';import'./chunk-LRGAPGG3.js';import'./chunk-URCLFIME.js';import'./chunk-7WOX27LK.js';import'./chunk-K6WUOU6P.js';import'./chunk-AE6GXUT7.js';import'./chunk-2W4FK6CJ.js';import'./chunk-NRLIGDYF.js';import'./chunk-UVTS2IWM.js';import'./chunk-HLSB2MCK.js';import'./chunk-SL3LZQCF.js';import'./chunk-PP5S2UBV.js';import'./chunk-CDL7ARXT.js';import'./chunk-RHCWCG3O.js';import'./chunk-OG7CNQGU.js';import'./chunk-QRXDCV6K.js';import'./chunk-G6A7OSIG.js';import'./chunk-P7CESLDJ.js';import'./chunk-ZAQOSRP6.js';import'./chunk-KDNYHLD2.js';import'./chunk-DGJUBN33.js';function a(e){return new Response(e.body,e)}var p=async e=>{await b();let t=await a$1.getGraphQL().fetch(e.request,e.locals);return a(t)},c=async e=>{await b();let t=await a$1.getGraphQL().fetch(e.request,e.locals);return a(t)};export{c as GET,p as POST};
|
|
@@ -1,38 +1 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkVAXLFZCV_cjs = require('./chunk-VAXLFZCV.cjs');
|
|
4
|
-
require('./chunk-74YSDAWE.cjs');
|
|
5
|
-
require('./chunk-5GFQPHGT.cjs');
|
|
6
|
-
require('./chunk-3KTWGODI.cjs');
|
|
7
|
-
require('./chunk-TQG7G7YI.cjs');
|
|
8
|
-
require('./chunk-N4GN6Q3V.cjs');
|
|
9
|
-
require('./chunk-B6X3LN25.cjs');
|
|
10
|
-
require('./chunk-VKREAIBA.cjs');
|
|
11
|
-
require('./chunk-4PWRCMTQ.cjs');
|
|
12
|
-
require('./chunk-KC2GDBLS.cjs');
|
|
13
|
-
require('./chunk-IDVRRRAK.cjs');
|
|
14
|
-
require('./chunk-ADLJSJSN.cjs');
|
|
15
|
-
require('./chunk-LNTFRAHF.cjs');
|
|
16
|
-
require('./chunk-4OCMVGEY.cjs');
|
|
17
|
-
require('./chunk-EEJUFDMF.cjs');
|
|
18
|
-
require('./chunk-3YELQL7Z.cjs');
|
|
19
|
-
require('./chunk-OIRG6ZRV.cjs');
|
|
20
|
-
require('./chunk-7OS7TX2Q.cjs');
|
|
21
|
-
require('./chunk-DPA3KWPY.cjs');
|
|
22
|
-
require('./chunk-MTIRYI7F.cjs');
|
|
23
|
-
require('./chunk-THBQG64D.cjs');
|
|
24
|
-
require('./chunk-GXFOGU7N.cjs');
|
|
25
|
-
require('./chunk-GUUB5EAG.cjs');
|
|
26
|
-
require('./chunk-NKPKR5BW.cjs');
|
|
27
|
-
require('./chunk-CZLDE2OZ.cjs');
|
|
28
|
-
|
|
29
|
-
// src/api-handler-trpc.ts
|
|
30
|
-
var ALL = async (context) => {
|
|
31
|
-
await chunkVAXLFZCV_cjs.warmKyroInstance();
|
|
32
|
-
const app = chunkVAXLFZCV_cjs.kyroInstance.getTRPC();
|
|
33
|
-
return app.fetch(context.request, context.locals);
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
exports.ALL = ALL;
|
|
37
|
-
//# sourceMappingURL=api-handler-trpc.cjs.map
|
|
38
|
-
//# sourceMappingURL=api-handler-trpc.cjs.map
|
|
1
|
+
'use strict';var chunkCUTFS6N2_cjs=require('./chunk-CUTFS6N2.cjs');require('./chunk-R7DVVXXI.cjs'),require('./chunk-UJNSOOYZ.cjs'),require('./chunk-65G73T7Z.cjs'),require('./chunk-CVVW4LXZ.cjs'),require('./chunk-F7P36SLX.cjs'),require('./chunk-KIW36TG7.cjs'),require('./chunk-AJAZ7D3W.cjs'),require('./chunk-WIZ6C5QZ.cjs'),require('./chunk-GFU7AOI3.cjs'),require('./chunk-ET6NN2V2.cjs'),require('./chunk-HVXO3OFB.cjs'),require('./chunk-ISWMETHJ.cjs'),require('./chunk-NY47CFVP.cjs'),require('./chunk-F7SR5IDT.cjs'),require('./chunk-4ORJMSJU.cjs'),require('./chunk-IFJJ44OQ.cjs'),require('./chunk-GYQMNXXW.cjs'),require('./chunk-MIOMMB23.cjs'),require('./chunk-UBHFUFD4.cjs'),require('./chunk-UDSJGML2.cjs'),require('./chunk-ATLSIYRH.cjs'),require('./chunk-DV4LFLPL.cjs'),require('./chunk-Q3Q7BJVQ.cjs'),require('./chunk-OQD3WG6Z.cjs');var p=async t=>(await chunkCUTFS6N2_cjs.b(),chunkCUTFS6N2_cjs.a.getTRPC().fetch(t.request,t.locals));exports.ALL=p;
|
package/dist/api-handler-trpc.js
CHANGED
|
@@ -1,36 +1 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import './chunk-HZOMOK5Y.js';
|
|
3
|
-
import './chunk-HY6B7B5A.js';
|
|
4
|
-
import './chunk-GAOXD3XT.js';
|
|
5
|
-
import './chunk-OX6GOIPH.js';
|
|
6
|
-
import './chunk-5RPRLTTN.js';
|
|
7
|
-
import './chunk-OLV7K22H.js';
|
|
8
|
-
import './chunk-N5QSHUA6.js';
|
|
9
|
-
import './chunk-YT7HXXVN.js';
|
|
10
|
-
import './chunk-XEB7PH2E.js';
|
|
11
|
-
import './chunk-Q72BOAPK.js';
|
|
12
|
-
import './chunk-P2YW545G.js';
|
|
13
|
-
import './chunk-WDTTHKDS.js';
|
|
14
|
-
import './chunk-3AKCVYDB.js';
|
|
15
|
-
import './chunk-BYBMTIMT.js';
|
|
16
|
-
import './chunk-QU2RFFH4.js';
|
|
17
|
-
import './chunk-V5AWATUP.js';
|
|
18
|
-
import './chunk-CJX74IYK.js';
|
|
19
|
-
import './chunk-UUDTPZX6.js';
|
|
20
|
-
import './chunk-GTGRLD4Y.js';
|
|
21
|
-
import './chunk-GZS4LMR7.js';
|
|
22
|
-
import './chunk-7OGPN7MP.js';
|
|
23
|
-
import './chunk-WXVB364T.js';
|
|
24
|
-
import './chunk-L4EZKIEX.js';
|
|
25
|
-
import './chunk-4CV4JOE5.js';
|
|
26
|
-
|
|
27
|
-
// src/api-handler-trpc.ts
|
|
28
|
-
var ALL = async (context) => {
|
|
29
|
-
await warmKyroInstance();
|
|
30
|
-
const app = kyroInstance.getTRPC();
|
|
31
|
-
return app.fetch(context.request, context.locals);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
export { ALL };
|
|
35
|
-
//# sourceMappingURL=api-handler-trpc.js.map
|
|
36
|
-
//# sourceMappingURL=api-handler-trpc.js.map
|
|
1
|
+
import {b,a}from'./chunk-EEWCANFX.js';import'./chunk-FS7GL2BR.js';import'./chunk-FO3HLBC7.js';import'./chunk-NZ35PV5R.js';import'./chunk-7N6NKCRT.js';import'./chunk-LRGAPGG3.js';import'./chunk-URCLFIME.js';import'./chunk-7WOX27LK.js';import'./chunk-K6WUOU6P.js';import'./chunk-AE6GXUT7.js';import'./chunk-2W4FK6CJ.js';import'./chunk-NRLIGDYF.js';import'./chunk-UVTS2IWM.js';import'./chunk-HLSB2MCK.js';import'./chunk-SL3LZQCF.js';import'./chunk-PP5S2UBV.js';import'./chunk-CDL7ARXT.js';import'./chunk-RHCWCG3O.js';import'./chunk-OG7CNQGU.js';import'./chunk-QRXDCV6K.js';import'./chunk-G6A7OSIG.js';import'./chunk-P7CESLDJ.js';import'./chunk-ZAQOSRP6.js';import'./chunk-KDNYHLD2.js';import'./chunk-DGJUBN33.js';var p=async t=>(await b(),a.getTRPC().fetch(t.request,t.locals));export{p as ALL};
|
package/dist/api-handler.cjs
CHANGED
|
@@ -1,44 +1 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkVAXLFZCV_cjs = require('./chunk-VAXLFZCV.cjs');
|
|
4
|
-
require('./chunk-74YSDAWE.cjs');
|
|
5
|
-
require('./chunk-5GFQPHGT.cjs');
|
|
6
|
-
require('./chunk-3KTWGODI.cjs');
|
|
7
|
-
require('./chunk-TQG7G7YI.cjs');
|
|
8
|
-
require('./chunk-N4GN6Q3V.cjs');
|
|
9
|
-
require('./chunk-B6X3LN25.cjs');
|
|
10
|
-
require('./chunk-VKREAIBA.cjs');
|
|
11
|
-
require('./chunk-4PWRCMTQ.cjs');
|
|
12
|
-
require('./chunk-KC2GDBLS.cjs');
|
|
13
|
-
require('./chunk-IDVRRRAK.cjs');
|
|
14
|
-
require('./chunk-ADLJSJSN.cjs');
|
|
15
|
-
require('./chunk-LNTFRAHF.cjs');
|
|
16
|
-
require('./chunk-4OCMVGEY.cjs');
|
|
17
|
-
require('./chunk-EEJUFDMF.cjs');
|
|
18
|
-
require('./chunk-3YELQL7Z.cjs');
|
|
19
|
-
require('./chunk-OIRG6ZRV.cjs');
|
|
20
|
-
require('./chunk-7OS7TX2Q.cjs');
|
|
21
|
-
require('./chunk-DPA3KWPY.cjs');
|
|
22
|
-
require('./chunk-MTIRYI7F.cjs');
|
|
23
|
-
require('./chunk-THBQG64D.cjs');
|
|
24
|
-
require('./chunk-GXFOGU7N.cjs');
|
|
25
|
-
require('./chunk-GUUB5EAG.cjs');
|
|
26
|
-
require('./chunk-NKPKR5BW.cjs');
|
|
27
|
-
require('./chunk-CZLDE2OZ.cjs');
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
Object.defineProperty(exports, "ALL", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
get: function () { return chunkVAXLFZCV_cjs.ALL; }
|
|
34
|
-
});
|
|
35
|
-
Object.defineProperty(exports, "kyroInstance", {
|
|
36
|
-
enumerable: true,
|
|
37
|
-
get: function () { return chunkVAXLFZCV_cjs.kyroInstance; }
|
|
38
|
-
});
|
|
39
|
-
Object.defineProperty(exports, "warmKyroInstance", {
|
|
40
|
-
enumerable: true,
|
|
41
|
-
get: function () { return chunkVAXLFZCV_cjs.warmKyroInstance; }
|
|
42
|
-
});
|
|
43
|
-
//# sourceMappingURL=api-handler.cjs.map
|
|
44
|
-
//# sourceMappingURL=api-handler.cjs.map
|
|
1
|
+
'use strict';var chunkCUTFS6N2_cjs=require('./chunk-CUTFS6N2.cjs');require('./chunk-R7DVVXXI.cjs'),require('./chunk-UJNSOOYZ.cjs'),require('./chunk-65G73T7Z.cjs'),require('./chunk-CVVW4LXZ.cjs'),require('./chunk-F7P36SLX.cjs'),require('./chunk-KIW36TG7.cjs'),require('./chunk-AJAZ7D3W.cjs'),require('./chunk-WIZ6C5QZ.cjs'),require('./chunk-GFU7AOI3.cjs'),require('./chunk-ET6NN2V2.cjs'),require('./chunk-HVXO3OFB.cjs'),require('./chunk-ISWMETHJ.cjs'),require('./chunk-NY47CFVP.cjs'),require('./chunk-F7SR5IDT.cjs'),require('./chunk-4ORJMSJU.cjs'),require('./chunk-IFJJ44OQ.cjs'),require('./chunk-GYQMNXXW.cjs'),require('./chunk-MIOMMB23.cjs'),require('./chunk-UBHFUFD4.cjs'),require('./chunk-UDSJGML2.cjs'),require('./chunk-ATLSIYRH.cjs'),require('./chunk-DV4LFLPL.cjs'),require('./chunk-Q3Q7BJVQ.cjs'),require('./chunk-OQD3WG6Z.cjs');Object.defineProperty(exports,"ALL",{enumerable:true,get:function(){return chunkCUTFS6N2_cjs.c}});Object.defineProperty(exports,"kyroInstance",{enumerable:true,get:function(){return chunkCUTFS6N2_cjs.a}});Object.defineProperty(exports,"warmKyroInstance",{enumerable:true,get:function(){return chunkCUTFS6N2_cjs.b}});
|
package/dist/api-handler.js
CHANGED
|
@@ -1,27 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
import './chunk-HZOMOK5Y.js';
|
|
3
|
-
import './chunk-HY6B7B5A.js';
|
|
4
|
-
import './chunk-GAOXD3XT.js';
|
|
5
|
-
import './chunk-OX6GOIPH.js';
|
|
6
|
-
import './chunk-5RPRLTTN.js';
|
|
7
|
-
import './chunk-OLV7K22H.js';
|
|
8
|
-
import './chunk-N5QSHUA6.js';
|
|
9
|
-
import './chunk-YT7HXXVN.js';
|
|
10
|
-
import './chunk-XEB7PH2E.js';
|
|
11
|
-
import './chunk-Q72BOAPK.js';
|
|
12
|
-
import './chunk-P2YW545G.js';
|
|
13
|
-
import './chunk-WDTTHKDS.js';
|
|
14
|
-
import './chunk-3AKCVYDB.js';
|
|
15
|
-
import './chunk-BYBMTIMT.js';
|
|
16
|
-
import './chunk-QU2RFFH4.js';
|
|
17
|
-
import './chunk-V5AWATUP.js';
|
|
18
|
-
import './chunk-CJX74IYK.js';
|
|
19
|
-
import './chunk-UUDTPZX6.js';
|
|
20
|
-
import './chunk-GTGRLD4Y.js';
|
|
21
|
-
import './chunk-GZS4LMR7.js';
|
|
22
|
-
import './chunk-7OGPN7MP.js';
|
|
23
|
-
import './chunk-WXVB364T.js';
|
|
24
|
-
import './chunk-L4EZKIEX.js';
|
|
25
|
-
import './chunk-4CV4JOE5.js';
|
|
26
|
-
//# sourceMappingURL=api-handler.js.map
|
|
27
|
-
//# sourceMappingURL=api-handler.js.map
|
|
1
|
+
export{c as ALL,a as kyroInstance,b as warmKyroInstance}from'./chunk-EEWCANFX.js';import'./chunk-FS7GL2BR.js';import'./chunk-FO3HLBC7.js';import'./chunk-NZ35PV5R.js';import'./chunk-7N6NKCRT.js';import'./chunk-LRGAPGG3.js';import'./chunk-URCLFIME.js';import'./chunk-7WOX27LK.js';import'./chunk-K6WUOU6P.js';import'./chunk-AE6GXUT7.js';import'./chunk-2W4FK6CJ.js';import'./chunk-NRLIGDYF.js';import'./chunk-UVTS2IWM.js';import'./chunk-HLSB2MCK.js';import'./chunk-SL3LZQCF.js';import'./chunk-PP5S2UBV.js';import'./chunk-CDL7ARXT.js';import'./chunk-RHCWCG3O.js';import'./chunk-OG7CNQGU.js';import'./chunk-QRXDCV6K.js';import'./chunk-G6A7OSIG.js';import'./chunk-P7CESLDJ.js';import'./chunk-ZAQOSRP6.js';import'./chunk-KDNYHLD2.js';import'./chunk-DGJUBN33.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkUJNSOOYZ_cjs=require('./chunk-UJNSOOYZ.cjs');require('./chunk-AJAZ7D3W.cjs'),require('./chunk-WIZ6C5QZ.cjs'),require('./chunk-ET6NN2V2.cjs'),require('./chunk-OQD3WG6Z.cjs');Object.defineProperty(exports,"autoBootstrap",{enumerable:true,get:function(){return chunkUJNSOOYZ_cjs.d}});Object.defineProperty(exports,"bootstrapAdmin",{enumerable:true,get:function(){return chunkUJNSOOYZ_cjs.a}});Object.defineProperty(exports,"bootstrapWithRetry",{enumerable:true,get:function(){return chunkUJNSOOYZ_cjs.e}});Object.defineProperty(exports,"checkBootstrapRequired",{enumerable:true,get:function(){return chunkUJNSOOYZ_cjs.b}});Object.defineProperty(exports,"getBootstrapFromEnv",{enumerable:true,get:function(){return chunkUJNSOOYZ_cjs.c}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{d as autoBootstrap,a as bootstrapAdmin,e as bootstrapWithRetry,b as checkBootstrapRequired,c as getBootstrapFromEnv}from'./chunk-FO3HLBC7.js';import'./chunk-7WOX27LK.js';import'./chunk-K6WUOU6P.js';import'./chunk-2W4FK6CJ.js';import'./chunk-DGJUBN33.js';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
'use strict';var a=class{constructor(s){this.config=s;}config;css=[];addRule(s,e){let n=Object.entries(e).map(([o,t])=>` ${o}: ${t};`).join(`
|
|
2
|
+
`);return this.css.push(`${s} {
|
|
3
|
+
${n}
|
|
4
|
+
}`),this}addMediaQuery(s,e){return this.css.push(`@media (min-width: ${s}) {
|
|
5
|
+
${e.join(`
|
|
6
|
+
`)}
|
|
7
|
+
}`),this}generate(){return this.css.join(`
|
|
8
|
+
|
|
9
|
+
`)}};function p(r){return {theme:{extend:{colors:r.colors||{},fontFamily:r.fonts||{},spacing:r.spacing||{},borderRadius:r.borderRadius||{},boxShadow:r.shadows||{},screens:r.breakpoints||{}}}}}var i={colors:{primary:"#3b82f6",secondary:"#6366f1",accent:"#ec4899",background:"#ffffff",surface:"#f9fafb",text:"#111827",textMuted:"#6b7280",border:"#e5e7eb",error:"#ef4444",warning:"#f59e0b",success:"#10b981",info:"#3b82f6"},fonts:{sans:"system-ui, -apple-system, sans-serif",serif:"Georgia, serif",mono:"Menlo, monospace"},spacing:{xs:"0.25rem",sm:"0.5rem",md:"1rem",lg:"1.5rem",xl:"2rem","2xl":"3rem","3xl":"4rem"},borderRadius:{sm:"0.125rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem",full:"9999px"},shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1)"}},l={colors:{primary:"#60a5fa",secondary:"#818cf8",accent:"#f472b6",background:"#111827",surface:"#1f2937",text:"#f9fafb",textMuted:"#9ca3af",border:"#374151",error:"#f87171",warning:"#fbbf24",success:"#34d399",info:"#60a5fa"},fonts:i.fonts,spacing:i.spacing,borderRadius:i.borderRadius,shadows:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.3)",md:"0 4px 6px -1px rgb(0 0 0 / 0.4)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.5)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.6)"}},m={colors:{primary:"#FF6B35",secondary:"#1A1A2E",accent:"#16C79A",background:"#FFFFFF",surface:"#F8F9FA",text:"#1A1A2E",textMuted:"#6B7280",border:"#E5E7EB",error:"#EF4444",warning:"#F59E0B",success:"#16C79A",info:"#3B82F6"},fonts:{sans:'"Inter", "Satoshi", system-ui, sans-serif',serif:'"Playfair Display", Georgia, serif',mono:'"JetBrains Mono", monospace'},spacing:{xs:"0.125rem",sm:"0.25rem",md:"0.5rem",lg:"1rem",xl:"1.5rem","2xl":"2rem","3xl":"3rem","4xl":"4rem"},borderRadius:{sm:"0",md:"0",lg:"0",xl:"0",full:"9999px"},shadows:{sm:"0 1px 2px rgba(0,0,0,0.05)",md:"0 4px 6px rgba(0,0,0,0.07)",lg:"0 10px 15px rgba(0,0,0,0.1)",xl:"0 20px 25px rgba(0,0,0,0.15)"}};function d(r){let s=[];if(r.colors)for(let[e,n]of Object.entries(r.colors))s.push(` --color-${e}: ${n};`);if(r.fonts)for(let[e,n]of Object.entries(r.fonts))s.push(` --font-${e}: ${n};`);if(r.spacing)for(let[e,n]of Object.entries(r.spacing))s.push(` --spacing-${e}: ${n};`);if(r.borderRadius)for(let[e,n]of Object.entries(r.borderRadius))s.push(` --radius-${e}: ${n};`);if(r.shadows)for(let[e,n]of Object.entries(r.shadows))s.push(` --shadow-${e}: ${n};`);return `:root {
|
|
10
|
+
${s.join(`
|
|
11
|
+
`)}
|
|
12
|
+
}`}function f(r){let s=d(r.theme||i),e=[];if(r.componentOverrides)for(let[n,o]of Object.entries(r.componentOverrides)){let t=Object.entries(o).map(([g,c])=>` ${g}: ${c};`).join(`
|
|
13
|
+
`);e.push(`${n} {
|
|
14
|
+
${t}
|
|
15
|
+
}`);}return `
|
|
16
|
+
${s}
|
|
17
|
+
${r.customStyles||""}
|
|
18
|
+
${e.join(`
|
|
19
|
+
`)}
|
|
20
|
+
`}var x={text:{wrapper:{marginBottom:"var(--spacing-md)"},label:{display:"block",marginBottom:"var(--spacing-xs)",fontWeight:"500",color:"var(--color-text)"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)",fontSize:"0.875rem"},error:{color:"var(--color-error)",fontSize:"0.75rem",marginTop:"var(--spacing-xs)"}},number:{wrapper:{marginBottom:"var(--spacing-md)"},label:{display:"block",marginBottom:"var(--spacing-xs)",fontWeight:"500"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)"}},checkbox:{wrapper:{display:"flex",alignItems:"center",gap:"var(--spacing-sm)"},input:{width:"1rem",height:"1rem"},label:{cursor:"pointer"}},select:{wrapper:{marginBottom:"var(--spacing-md)"},input:{width:"100%",padding:"var(--spacing-sm) var(--spacing-md)",border:"1px solid var(--color-border)",borderRadius:"var(--radius-md)",backgroundColor:"white"}}};exports.a=a;exports.b=p;exports.c=i;exports.d=l;exports.e=m;exports.f=d;exports.g=f;exports.h=x;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import c from'bcryptjs';import {randomBytes}from'crypto';import {mkdirSync}from'fs';import {dirname}from'path';import {createRequire}from'module';var m=createRequire(import.meta.url),h="node:sqlite",{DatabaseSync:_}=m(h),g=5e3,S=1e3,k=-64e3,A=268435456,E=class{db=null;path;saltRounds;externalDb;busyTimeout;walAutoCheckpoint;cacheSize;mmapSize;preparedStatements=new Map;constructor(e={}){this.path=e.path||"./data/auth.db",this.saltRounds=e.saltRounds||12,this.externalDb=!!e.db,this.busyTimeout=e.busyTimeout??g,this.walAutoCheckpoint=e.walAutoCheckpoint??S,this.cacheSize=e.cacheSize??k,this.mmapSize=e.mmapSize??A,e.db&&(this.db=e.db);}async connect(){if(this.db)return;let e=dirname(this.path);e&&e!=="."&&mkdirSync(e,{recursive:true}),this.db=new _(this.path),this.db.exec(`PRAGMA busy_timeout = ${this.busyTimeout}`),this.db.exec("PRAGMA journal_mode = WAL"),this.db.exec("PRAGMA synchronous = NORMAL"),this.db.exec("PRAGMA cache_size = "+this.cacheSize),this.db.exec("PRAGMA mmap_size = "+this.mmapSize),this.db.exec("PRAGMA wal_autocheckpoint = "+this.walAutoCheckpoint),this.db.exec("PRAGMA foreign_keys = ON"),this.db.exec("PRAGMA temp_store = MEMORY"),this.ensureTables(),this.prepareStatements();}async disconnect(){this.db&&!this.externalDb&&(this.db.exec("PRAGMA wal_checkpoint(TRUNCATE)"),this.db.close(),this.db=null,this.preparedStatements.clear());}async ensureConnected(){if(this.db||await this.connect(),!this.db)throw new Error("Failed to connect to SQLite database");return this.db}ensureTables(){if(this.db){this.db.exec(`
|
|
2
|
+
CREATE TABLE IF NOT EXISTS kyro_users (
|
|
3
|
+
id TEXT PRIMARY KEY,
|
|
4
|
+
name TEXT,
|
|
5
|
+
email TEXT UNIQUE NOT NULL,
|
|
6
|
+
password_hash TEXT NOT NULL,
|
|
7
|
+
role TEXT NOT NULL DEFAULT 'customer',
|
|
8
|
+
tenant_id TEXT,
|
|
9
|
+
email_verified INTEGER DEFAULT 0,
|
|
10
|
+
locked INTEGER DEFAULT 0,
|
|
11
|
+
last_login TEXT,
|
|
12
|
+
failed_login_attempts INTEGER DEFAULT 0,
|
|
13
|
+
locked_until TEXT,
|
|
14
|
+
avatar TEXT,
|
|
15
|
+
created_at TEXT NOT NULL,
|
|
16
|
+
updated_at TEXT NOT NULL
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
CREATE TABLE IF NOT EXISTS kyro_sessions (
|
|
20
|
+
id TEXT PRIMARY KEY,
|
|
21
|
+
user_id TEXT NOT NULL,
|
|
22
|
+
token TEXT NOT NULL,
|
|
23
|
+
refresh_token TEXT,
|
|
24
|
+
expires_at TEXT NOT NULL,
|
|
25
|
+
created_at TEXT NOT NULL,
|
|
26
|
+
ip_address TEXT,
|
|
27
|
+
user_agent TEXT,
|
|
28
|
+
FOREIGN KEY (user_id) REFERENCES kyro_users(id) ON DELETE CASCADE
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
CREATE TABLE IF NOT EXISTS kyro_password_history (
|
|
32
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
33
|
+
user_id TEXT NOT NULL,
|
|
34
|
+
password_hash TEXT NOT NULL,
|
|
35
|
+
created_at TEXT NOT NULL,
|
|
36
|
+
FOREIGN KEY (user_id) REFERENCES kyro_users(id) ON DELETE CASCADE
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
CREATE TABLE IF NOT EXISTS kyro_rate_limits (
|
|
40
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
41
|
+
key TEXT NOT NULL,
|
|
42
|
+
window_start INTEGER NOT NULL,
|
|
43
|
+
count INTEGER NOT NULL DEFAULT 1,
|
|
44
|
+
UNIQUE(key, window_start)
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
CREATE TABLE IF NOT EXISTS kyro_lockouts (
|
|
48
|
+
user_id TEXT PRIMARY KEY,
|
|
49
|
+
attempts INTEGER NOT NULL DEFAULT 0,
|
|
50
|
+
last_attempt INTEGER,
|
|
51
|
+
locked_at INTEGER,
|
|
52
|
+
locked_until INTEGER
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
CREATE TABLE IF NOT EXISTS kyro_audit_logs (
|
|
56
|
+
id TEXT PRIMARY KEY,
|
|
57
|
+
timestamp TEXT NOT NULL,
|
|
58
|
+
action TEXT NOT NULL,
|
|
59
|
+
user_id TEXT,
|
|
60
|
+
user_email TEXT,
|
|
61
|
+
role TEXT,
|
|
62
|
+
resource TEXT NOT NULL,
|
|
63
|
+
resource_id TEXT,
|
|
64
|
+
ip_address TEXT,
|
|
65
|
+
user_agent TEXT,
|
|
66
|
+
success INTEGER NOT NULL,
|
|
67
|
+
error TEXT,
|
|
68
|
+
metadata TEXT,
|
|
69
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_users_email ON kyro_users(email);
|
|
73
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_sessions_user_id ON kyro_sessions(user_id);
|
|
74
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_sessions_token ON kyro_sessions(token);
|
|
75
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_sessions_refresh_token ON kyro_sessions(refresh_token);
|
|
76
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_sessions_expires ON kyro_sessions(expires_at);
|
|
77
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_password_history_user_id ON kyro_password_history(user_id);
|
|
78
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_rate_limits_key ON kyro_rate_limits(key);
|
|
79
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_rate_limits_window ON kyro_rate_limits(window_start);
|
|
80
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_lockouts_locked_until ON kyro_lockouts(locked_until);
|
|
81
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_audit_logs_timestamp ON kyro_audit_logs(timestamp);
|
|
82
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_audit_logs_action ON kyro_audit_logs(action);
|
|
83
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_audit_logs_user_id ON kyro_audit_logs(user_id);
|
|
84
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_audit_logs_resource ON kyro_audit_logs(resource);
|
|
85
|
+
|
|
86
|
+
CREATE TABLE IF NOT EXISTS kyro_email_verifications (
|
|
87
|
+
id TEXT PRIMARY KEY,
|
|
88
|
+
user_id TEXT NOT NULL,
|
|
89
|
+
token TEXT UNIQUE NOT NULL,
|
|
90
|
+
expires_at TEXT NOT NULL,
|
|
91
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
92
|
+
FOREIGN KEY (user_id) REFERENCES kyro_users(id) ON DELETE CASCADE
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
CREATE TABLE IF NOT EXISTS kyro_password_resets (
|
|
96
|
+
id TEXT PRIMARY KEY,
|
|
97
|
+
user_id TEXT NOT NULL,
|
|
98
|
+
token TEXT UNIQUE NOT NULL,
|
|
99
|
+
expires_at TEXT NOT NULL,
|
|
100
|
+
used_at TEXT,
|
|
101
|
+
created_at TEXT NOT NULL DEFAULT (datetime('now')),
|
|
102
|
+
FOREIGN KEY (user_id) REFERENCES kyro_users(id) ON DELETE CASCADE
|
|
103
|
+
);
|
|
104
|
+
|
|
105
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_email_verifications_token ON kyro_email_verifications(token);
|
|
106
|
+
CREATE INDEX IF NOT EXISTS idx_kyro_password_resets_token ON kyro_password_resets(token);
|
|
107
|
+
`);try{this.db.exec("ALTER TABLE kyro_users ADD COLUMN name TEXT");}catch{}}}prepareStatements(){this.db&&(this.preparedStatements.set("findUserByEmail",this.db.prepare("SELECT * FROM kyro_users WHERE email = ?")),this.preparedStatements.set("findUserById",this.db.prepare("SELECT * FROM kyro_users WHERE id = ?")),this.preparedStatements.set("findSessionByToken",this.db.prepare("SELECT * FROM kyro_sessions WHERE token = ?")),this.preparedStatements.set("findSessionByRefreshToken",this.db.prepare("SELECT * FROM kyro_sessions WHERE refresh_token = ?")),this.preparedStatements.set("deleteSession",this.db.prepare("DELETE FROM kyro_sessions WHERE id = ? OR token = ?")),this.preparedStatements.set("deleteUserSessions",this.db.prepare("DELETE FROM kyro_sessions WHERE user_id = ?")),this.preparedStatements.set("countUsers",this.db.prepare("SELECT COUNT(*) as count FROM kyro_users")),this.preparedStatements.set("deleteUser",this.db.prepare("DELETE FROM kyro_users WHERE id = ?")),this.preparedStatements.set("findUsersPaginated",this.db.prepare("SELECT * FROM kyro_users ORDER BY created_at DESC LIMIT ? OFFSET ?")),this.preparedStatements.set("findUsersWithSearch",this.db.prepare("SELECT * FROM kyro_users WHERE email LIKE ? ORDER BY created_at DESC LIMIT ? OFFSET ?")),this.preparedStatements.set("countUsersWithSearch",this.db.prepare("SELECT COUNT(*) as count FROM kyro_users WHERE email LIKE ?")),this.preparedStatements.set("getPasswordHistory",this.db.prepare("SELECT password_hash FROM kyro_password_history WHERE user_id = ? ORDER BY created_at DESC LIMIT ?")),this.preparedStatements.set("addPasswordHistory",this.db.prepare("INSERT INTO kyro_password_history (user_id, password_hash, created_at) VALUES (?, ?, ?)")),this.preparedStatements.set("trimPasswordHistory",this.db.prepare(`DELETE FROM kyro_password_history WHERE id IN (
|
|
108
|
+
SELECT id FROM kyro_password_history WHERE user_id = ? ORDER BY created_at DESC LIMIT -1 OFFSET 5
|
|
109
|
+
)`)),this.preparedStatements.set("deleteExpiredSessions",this.db.prepare("DELETE FROM kyro_sessions WHERE expires_at < ?")),this.preparedStatements.set("cleanupOldAuditLogs",this.db.prepare("DELETE FROM kyro_audit_logs WHERE timestamp < ?")),this.preparedStatements.set("cleanupExpiredLockouts",this.db.prepare("UPDATE kyro_lockouts SET attempts = 0, locked_at = NULL, locked_until = NULL WHERE locked_until < ?")),this.preparedStatements.set("getLockout",this.db.prepare("SELECT * FROM kyro_lockouts WHERE user_id = ?")),this.preparedStatements.set("upsertLockout",this.db.prepare(`
|
|
110
|
+
INSERT INTO kyro_lockouts (user_id, attempts, last_attempt, locked_at, locked_until)
|
|
111
|
+
VALUES (?, ?, ?, ?, ?)
|
|
112
|
+
ON CONFLICT(user_id) DO UPDATE SET
|
|
113
|
+
attempts = excluded.attempts,
|
|
114
|
+
last_attempt = excluded.last_attempt,
|
|
115
|
+
locked_at = excluded.locked_at,
|
|
116
|
+
locked_until = excluded.locked_until
|
|
117
|
+
`)),this.preparedStatements.set("resetLockout",this.db.prepare("UPDATE kyro_lockouts SET attempts = 0, locked_at = NULL, locked_until = NULL WHERE user_id = ?")));}stmt(e){let s=this.preparedStatements.get(e);if(!s)throw new Error(`Prepared statement not found: ${e}`);return s}async cleanupExpiredSessions(){return await this.ensureConnected(),this.stmt("deleteExpiredSessions").run(new Date().toISOString()).changes}async cleanupOldAuditLogs(e=30){await this.ensureConnected();let s=new Date(Date.now()-e*24*60*60*1e3).toISOString();return this.stmt("cleanupOldAuditLogs").run(s).changes}async getStats(){await this.ensureConnected();let e=this.stmt("countUsers").get().count,s=this.db.prepare("SELECT COUNT(*) as count FROM kyro_sessions WHERE expires_at > ?").get(new Date().toISOString()).count,t=this.db.prepare("SELECT COUNT(*) as count FROM kyro_audit_logs").get().count;return {userCount:e,activeSessionCount:s,auditLogCount:t}}async createUser(e){await this.ensureConnected();let s=randomBytes(16).toString("hex"),t=new Date().toISOString(),r=await this.hashPassword(e.password),n={id:s,name:e.name,email:e.email.toLowerCase(),passwordHash:r,role:e.role||"customer",avatar:e.avatar,tenantId:e.tenantId,createdAt:t,updatedAt:t};return this.db.prepare(`INSERT INTO kyro_users (id, name, email, password_hash, role, avatar, tenant_id, created_at, updated_at)
|
|
118
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(s,n.name||null,n.email,n.passwordHash,n.role,n.avatar||null,n.tenantId||null,t,t),n}async findUserByEmail(e){await this.ensureConnected();let s=this.stmt("findUserByEmail").get(e.toLowerCase());return s?this.rowToUser(s):null}async findUserById(e){await this.ensureConnected();let s=this.stmt("findUserById").get(e);return s?this.rowToUser(s):null}async updateUser(e,s){if(await this.ensureConnected(),!await this.findUserById(e))return null;let r=[],n=[];return s.email!==void 0&&(r.push("email = ?"),n.push(s.email.toLowerCase())),s.name!==void 0&&(r.push("name = ?"),n.push(s.name)),s.passwordHash!==void 0&&(r.push("password_hash = ?"),n.push(s.passwordHash)),s.role!==void 0&&(r.push("role = ?"),n.push(s.role)),s.avatar!==void 0&&(r.push("avatar = ?"),n.push(s.avatar)),s.tenantId!==void 0&&(r.push("tenant_id = ?"),n.push(s.tenantId)),s.emailVerified!==void 0&&(r.push("email_verified = ?"),n.push(s.emailVerified?1:0)),s.locked!==void 0&&(r.push("locked = ?"),n.push(s.locked?1:0)),s.lastLogin!==void 0&&(r.push("last_login = ?"),n.push(s.lastLogin)),s.failedLoginAttempts!==void 0&&(r.push("failed_login_attempts = ?"),n.push(s.failedLoginAttempts)),r.push("updated_at = ?"),n.push(new Date().toISOString()),n.push(e),this.db.prepare(`UPDATE kyro_users SET ${r.join(", ")} WHERE id = ?`).run(...n),this.findUserById(e)}async deleteUser(e){return await this.ensureConnected(),this.stmt("deleteUser").run(e).changes>0}async hashPassword(e){return c.hash(e,this.saltRounds)}async verifyPassword(e,s){await this.ensureConnected();let t=await this.findUserByEmail(e);if(!t)return null;let r=this.db.prepare("SELECT password_hash FROM kyro_users WHERE id = ?").get(t.id);return r?.password_hash&&await c.compare(s,r.password_hash)?t:null}async createSession(e,s={}){await this.ensureConnected();let t=randomBytes(32).toString("hex"),r=randomBytes(32).toString("base64url"),n=randomBytes(32).toString("base64url"),d=new Date,u=new Date(d.getTime()+864e5).toISOString(),i={id:t,userId:e,token:r,refreshToken:n,expiresAt:u,createdAt:d.toISOString(),ipAddress:s.ipAddress,userAgent:s.userAgent};return this.db.prepare(`INSERT INTO kyro_sessions (id, user_id, token, refresh_token, expires_at, created_at, ip_address, user_agent)
|
|
119
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?)`).run(i.id,i.userId,i.token,i.refreshToken??null,i.expiresAt,i.createdAt,i.ipAddress??null,i.userAgent??null),i}async findSessionByToken(e){await this.ensureConnected();let s=this.stmt("findSessionByToken").get(e);return s?this.rowToSession(s):null}async findSessionByRefreshToken(e){await this.ensureConnected();let s=this.stmt("findSessionByRefreshToken").get(e);return s?this.rowToSession(s):null}async deleteSession(e){return await this.ensureConnected(),this.stmt("deleteSession").run(e,e).changes>0}async deleteUserSessions(e){return await this.ensureConnected(),this.stmt("deleteUserSessions").run(e).changes}async hasAnyUsers(){return await this.ensureConnected(),this.stmt("countUsers").get().count>0}async findUsers(e={}){await this.ensureConnected();let s=e.page??1,t=e.limit??10,r=(s-1)*t,n=e.search,d,u;if(n){let i=`%${n}%`;d=this.stmt("countUsersWithSearch").get(i).count,u=this.stmt("findUsersWithSearch").all(i,t,r);}else d=this.stmt("countUsers").get().count,u=this.stmt("findUsersPaginated").all(t,r);return {users:u.map(i=>this.rowToUser(i)),total:d}}async addPasswordToHistory(e,s){await this.ensureConnected(),this.stmt("addPasswordHistory").run(e,s,new Date().toISOString()),this.stmt("trimPasswordHistory").run(e);}async getPasswordHistory(e,s=5){return await this.ensureConnected(),this.stmt("getPasswordHistory").all(e,s).map(r=>r.password_hash)}async isPasswordInHistory(e,s,t=5){let r=await this.getPasswordHistory(s,t);for(let n of r)if(await c.compare(e,n))return true;return false}async recordFailedAttempt(e){await this.ensureConnected();let s=Date.now(),t=this.stmt("getLockout").get(e),r=(t?.attempts||0)+1,n=r>=5?s+900*1e3:t?.locked_until||null;this.stmt("upsertLockout").run(e,r,s,n!==null?s:null,n);}async resetAttempts(e){await this.ensureConnected(),this.stmt("resetLockout").run(e);}async checkLockout(e){await this.ensureConnected(),this.stmt("cleanupExpiredLockouts").run(Date.now());let s=this.stmt("getLockout").get(e);return s?s.locked_until!==null&&s.locked_until>Date.now()?{locked:true,attemptsRemaining:0,lockedUntil:new Date(s.locked_until),totalAttempts:s.attempts}:{locked:false,attemptsRemaining:Math.max(0,5-s.attempts),totalAttempts:s.attempts}:{locked:false,attemptsRemaining:5,totalAttempts:0}}async logAudit(e){await this.ensureConnected();let s=randomBytes(16).toString("hex"),t=new Date().toISOString();return this.db.prepare(`INSERT INTO kyro_audit_logs (
|
|
120
|
+
id, timestamp, action, user_id, user_email, role, resource, resource_id,
|
|
121
|
+
ip_address, user_agent, success, error, metadata, created_at
|
|
122
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(s,t,e.action,e.userId||null,e.userEmail||null,e.role||null,e.resource,e.resourceId||null,e.ipAddress||null,e.userAgent||null,e.success?1:0,e.error||null,e.metadata?JSON.stringify(e.metadata):null,new Date().toISOString()),s}async queryAuditLogs(e={}){await this.ensureConnected();let s=[],t=[];e.action&&(s.push("action = ?"),t.push(e.action)),e.userId&&(s.push("user_id = ?"),t.push(e.userId)),e.resource&&(s.push("resource = ?"),t.push(e.resource)),e.success!==void 0&&(s.push("success = ?"),t.push(e.success?1:0)),e.startDate&&(s.push("timestamp >= ?"),t.push(e.startDate.toISOString())),e.endDate&&(s.push("timestamp <= ?"),t.push(e.endDate.toISOString()));let r=s.length>0?"WHERE "+s.join(" AND "):"",n=e.limit||50,d=e.offset||0,u=this.db.prepare(`SELECT COUNT(*) as count FROM kyro_audit_logs ${r}`).get(...t),i=this.db.prepare(`SELECT * FROM kyro_audit_logs ${r} ORDER BY timestamp DESC LIMIT ? OFFSET ?`).all(...t,n,d);return {total:u.count,logs:i.map(a=>({id:a.id,timestamp:new Date(a.timestamp),action:a.action,userId:a.user_id||void 0,userEmail:a.user_email||void 0,resource:a.resource,resourceId:a.resource_id||void 0,ipAddress:a.ip_address||void 0,userAgent:a.user_agent||void 0,success:a.success===1,error:a.error||void 0,metadata:a.metadata?JSON.parse(a.metadata):void 0}))}}rowToUser(e){return {id:e.id,name:e.name||void 0,email:e.email,passwordHash:e.password_hash,role:e.role,tenantId:e.tenant_id,avatar:e.avatar,emailVerified:e.email_verified===1,locked:e.locked===1,lastLogin:e.last_login,failedLoginAttempts:e.failed_login_attempts||0,createdAt:e.created_at,updatedAt:e.updated_at}}rowToSession(e){return {id:e.id,userId:e.user_id,token:e.token,refreshToken:e.refresh_token,expiresAt:e.expires_at,createdAt:e.created_at,ipAddress:e.ip_address,userAgent:e.user_agent}}async findAuditLogs(e){let s=await this.queryAuditLogs({action:e.action,userId:e.userId,resource:e.resource,success:e.success,startDate:e.startDate,endDate:e.endDate,limit:e.limit,offset:e.offset});return {logs:s.logs.map(t=>({...t,action:t.action})),total:s.total}}async createAuditLog(e){let s=await this.logAudit({action:e.action,userId:e.userId,userEmail:e.userEmail,role:e.role,resource:e.resource,resourceId:e.resourceId,ipAddress:e.ipAddress,userAgent:e.userAgent,success:e.success,error:e.error,metadata:e.metadata}),t=this.db?.prepare("SELECT * FROM kyro_audit_logs WHERE id = ?").get(s);return {...e,id:s,timestamp:t?new Date(t.timestamp):new Date}}async createEmailVerificationToken(e){await this.ensureConnected();let s=randomBytes(16).toString("hex"),t=randomBytes(32).toString("hex"),r=new Date(Date.now()+1440*60*1e3);return this.db.prepare("INSERT INTO kyro_email_verifications (id, user_id, token, expires_at, created_at) VALUES (?, ?, ?, ?, ?)").run(s,e,t,r.toISOString(),new Date().toISOString()),{token:t,expiresAt:r}}async verifyEmailToken(e){await this.ensureConnected();let s=this.db.prepare("SELECT * FROM kyro_email_verifications WHERE token = ?").get(e);return s?new Date(s.expires_at)<new Date?{success:false,error:"Verification token has expired"}:(this.db.prepare("UPDATE kyro_users SET email_verified = 1 WHERE id = ?").run(s.user_id),this.db.prepare("DELETE FROM kyro_email_verifications WHERE id = ?").run(s.id),{success:true,userId:s.user_id}):{success:false,error:"Invalid verification token"}}async createPasswordResetToken(e){await this.ensureConnected();let s=await this.findUserByEmail(e);if(!s)return {token:"",expiresAt:new Date,error:"User not found"};let t=randomBytes(16).toString("hex"),r=randomBytes(32).toString("hex"),n=new Date(Date.now()+3600*1e3);return this.db.prepare("INSERT INTO kyro_password_resets (id, user_id, token, expires_at, created_at) VALUES (?, ?, ?, ?, ?)").run(t,s.id,r,n.toISOString(),new Date().toISOString()),{token:r,expiresAt:n}}async resetPasswordWithToken(e,s){await this.ensureConnected();let t=this.db.prepare("SELECT * FROM kyro_password_resets WHERE token = ?").get(e);if(!t)return {success:false,error:"Invalid reset token"};if(new Date(t.expires_at)<new Date)return {success:false,error:"Reset token has expired"};if(t.used_at)return {success:false,error:"Reset token has already been used"};let r=await this.hashPassword(s);return this.db.prepare("UPDATE kyro_users SET password_hash = ?, updated_at = ? WHERE id = ?").run(r,new Date().toISOString(),t.user_id),this.db.prepare("UPDATE kyro_password_resets SET used_at = ? WHERE id = ?").run(new Date().toISOString(),t.id),this.db.prepare("DELETE FROM kyro_sessions WHERE user_id = ?").run(t.user_id),{success:true}}};export{E as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var l=[{name:"uploadDir",type:"text",label:"Upload Directory",defaultValue:"./public/uploads"},{name:"baseUrl",type:"text",label:"Base URL",defaultValue:"/uploads"}],t=[{name:"bucket",type:"text",label:"Bucket Name",required:true},{name:"region",type:"text",label:"Region",defaultValue:"us-east-1",admin:{placeholder:"us-east-1"}},{name:"accessKeyId",type:"text",label:"Access Key ID",required:true},{name:"secretAccessKey",type:"password",label:"Secret Access Key",required:true},{name:"endpoint",type:"text",label:"Endpoint URL",admin:{placeholder:"https://s3.custom.com"}},{name:"cdnUrl",type:"text",label:"CDN URL",admin:{placeholder:"https://cdn.example.com"}},{name:"prefix",type:"text",label:"Path Prefix",admin:{placeholder:"uploads"}}],r=[{name:"accountId",type:"text",label:"Account ID",required:true,admin:{placeholder:"Your Cloudflare Account ID"}},{name:"accessKeyId",type:"text",label:"Access Key ID",required:true},{name:"secretAccessKey",type:"password",label:"Secret Access Key",required:true},{name:"bucket",type:"text",label:"Bucket Name",required:true},{name:"publicDevUrl",type:"text",label:"Public Dev URL ID",admin:{placeholder:"pub-xxxxxxxxxxxxxxxx",description:"Enter ONLY the ID (e.g., pub-b8d8c4cc8bcf4d868ddd95efc1b305aa). Do NOT include https:// or the full URL. Found in R2 Dashboard \u2192 Public Dev URL."}},{name:"cdnUrl",type:"text",label:"Custom CDN URL",admin:{placeholder:"https://assets.example.com (optional)"}},{name:"prefix",type:"text",label:"Path Prefix",admin:{placeholder:"uploads (optional)",description:"Optional prefix for all object keys. Do not use '/' as prefix."}}],i=[{name:"cloudName",type:"text",label:"Cloud Name",required:true},{name:"apiKey",type:"text",label:"API Key",required:true},{name:"apiSecret",type:"password",label:"API Secret",required:true},{name:"folder",type:"text",label:"Folder",admin:{placeholder:"Optional folder path"}},{name:"uploadPreset",type:"text",label:"Upload Preset (optional)",admin:{placeholder:"Leave empty for signed uploads",description:"If not set, uploads will be signed with API Secret"}}],o=[{name:"host",type:"text",label:"Host",required:true,admin:{placeholder:"ftp.example.com"}},{name:"port",type:"number",label:"Port",defaultValue:21,admin:{placeholder:"21 for FTP"}},{name:"user",type:"text",label:"Username",required:true},{name:"password",type:"password",label:"Password",required:true},{name:"secure",type:"checkbox",label:"Use TLS/SSL",defaultValue:false,admin:{description:"Enable TLS/SSL for secure connections (FTP only)"}},{name:"baseUrl",type:"text",label:"Base URL",required:true,admin:{placeholder:"https://files.example.com"}},{name:"prefix",type:"text",label:"Path Prefix",admin:{placeholder:"uploads"}}],a=[{type:"local",displayName:"Local Server",configFields:l},{type:"aws",displayName:"S3 Compatible (AWS, Backblaze, Wasabi, etc.)",configFields:t},{type:"r2",displayName:"Cloudflare R2",configFields:r},{type:"cloudinary",displayName:"Cloudinary",configFields:i},{type:"ftp",displayName:"FTP",configFields:o}],d=a.map(e=>({label:e.displayName,value:e.type})),s=a.map(e=>({name:e.type,type:"group",label:`${e.displayName} Settings`,admin:{condition:{field:"provider",equals:e.type}},fields:e.configFields})),p={slug:"storage-settings",label:"Storage Settings",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"provider",type:"select",label:"Storage Provider",defaultValue:"local",options:d},...s,{name:"limits",type:"group",label:"Upload Limits",fields:[{name:"maxFileSize",type:"number",label:"Max File Size (bytes)",defaultValue:10485760},{name:"allowedTypes",type:"json",label:"Allowed MIME Types",defaultValue:["image/*","video/*","audio/*","application/pdf"]},{name:"maxFilesPerUpload",type:"number",label:"Max Files per Upload",defaultValue:10}]}]};
|
|
2
|
+
exports.a=p;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {c,n,a,b as b$1}from'./chunk-UVTS2IWM.js';import {f,e,g}from'./chunk-HLSB2MCK.js';async function $(e$1){let o=n(e$1.db),t={db:e$1.db,registry:e$1.registry,req:e$1.req,user:e$1.user,tenantID:e$1.tenantID,webhookService:o,settings:e$1.settings},n$1=f(e$1.req);if(n$1){let r=await e(n$1,e$1.db,async a=>{try{return await e$1.db.findByID({collection:"users",id:a})||null}catch{return null}});r.valid&&(t.user=r.user||e$1.user,t.tenantID=r.tenantId||e$1.tenantID,t.apiKey=g(r));}return t}var T={_media:{create:c.MEDIA_UPLOAD,update:c.MEDIA_UPLOAD,delete:c.MEDIA_DELETE}};function w(e,o){let t=T[e];return t?t[o]:`collection.${o}`}async function k(e,o,t){if(e.webhookService)try{await e.webhookService.trigger(o,{collection:t.collection,operation:t.operation,data:t.data,previousData:t.previousData,user:e.user?{id:e.user.id,email:e.user.email,role:e.user.role}:void 0,tenantId:e.tenantID});}catch(n){console.error(`[Webhook] Failed to trigger ${o}:`,n);}}function b(e,o){if(!(!e||typeof e!="object"))for(let t of o){if(!t.name||!(t.name in e))continue;if(e[t.name]===""&&(t.type==="text"||t.type==="textarea"||t.type==="code"||t.type==="markdown"||t.type==="email"||t.type==="password"||t.type==="color"||(e[t.name]=null)),t.type==="tabs"&&t.name&&Array.isArray(t.tabs)&&e[t.name]&&typeof e[t.name]=="object")for(let r of t.tabs)Array.isArray(r.fields)&&b(e[t.name],r.fields);else if((t.type==="group"||t.type==="collapsible")&&t.name&&Array.isArray(t.fields)&&e[t.name]&&typeof e[t.name]=="object")b(e[t.name],t.fields);else if(t.type==="array"&&t.name&&Array.isArray(t.fields)&&Array.isArray(e[t.name]))for(let r of e[t.name])r&&typeof r=="object"&&b(r,t.fields);else if(t.type==="blocks"&&t.name&&Array.isArray(t.blocks)&&Array.isArray(e[t.name]))for(let r of e[t.name]){if(!r||typeof r!="object")continue;let a=r.type||r.blockType;if(!a)continue;let s=t.blocks.find(i=>i.slug===a);if(!s||!Array.isArray(s.fields))continue;let l=r.data&&typeof r.data=="object"?r.data:r;b(l,s.fields);}}}async function p(e,o,t){let n=await a(e,o,{user:t.user,req:t.req,tenantID:t.tenantID,apiKey:t.apiKey});if(!n.allowed)throw new Error(n.error||"Access denied");t.tenantID&&t.db.setTenantContext({tenantId:t.tenantID,userId:t.user?.id??"",role:t.user?.role,isSuperAdmin:t.user?.role==="super_admin"});}function A(e){return async o=>{let{collection:t,where:n,sort:r,limit:a,page:s,depth:l,select:i,draft:d}=o,c=e.registry.getCollection(t);if(await p(c,"read",e),c.hooks?.beforeRead)for(let f of c.hooks.beforeRead)await f({collection:t,req:e.req,user:e.user,tenantID:e.tenantID,operation:"read",where:n});let u=d??!!e.user,D=await e.db.find({collection:t,where:n||{},sort:r,limit:a||10,page:s||1,depth:l||0,tenantID:e.tenantID,select:i,draft:u});if(c.hooks?.afterRead)for(let f of D.docs)for(let I of c.hooks.afterRead)await I({collection:t,doc:f,req:e.req,user:e.user,tenantID:e.tenantID,operation:"read"});return D}}function C(e){return async o=>{let{collection:t,id:n,depth:r,select:a,draft:s}=o,l=e.registry.getCollection(t);await p(l,"read",e);let i=s??!!e.user,d=await e.db.findByID({collection:t,id:n,depth:r||0,tenantID:e.tenantID,select:a,draft:i});if(!d)throw new Error(`Document not found: ${t}/${n}`);if(l.hooks?.afterRead)for(let c of l.hooks.afterRead)await c({collection:t,doc:d,req:e.req,user:e.user,tenantID:e.tenantID,operation:"read",id:n});return d}}function R(e){return async o=>{let{collection:t,data:n,depth:r,select:a}=o,s=e.registry.getCollection(t);await p(s,"create",e);let i=e.registry.getCreateZodSchema(t).parse(n);if(s.tenantScoped&&e.tenantID&&(i.tenantID=e.tenantID),s.hooks?.beforeValidate)for(let c of s.hooks.beforeValidate){let u=await c({collection:t,data:i,req:e.req,user:e.user,tenantID:e.tenantID,operation:"create"});u&&Object.assign(i,u);}if(s.hooks?.beforeChange)for(let c of s.hooks.beforeChange){let u=await c({collection:t,data:i,req:e.req,user:e.user,tenantID:e.tenantID,operation:"create"});u&&Object.assign(i,u);}let d=await e.db.create({collection:t,data:i,depth:r||0,tenantID:e.tenantID,select:a});if(s.hooks?.afterChange)for(let c of s.hooks.afterChange)await c({collection:t,doc:d,data:i,req:e.req,user:e.user,tenantID:e.tenantID,operation:"create"});return await k(e,w(t,"create"),{collection:t,data:d,operation:"create"}),{doc:d}}}function q(e){return async o=>{let{collection:t,id:n,data:r,depth:a,select:s,baseUpdatedAt:l}=o,i=e.registry.getCollection(t);await p(i,"update",e);let d=await e.db.findByID({collection:t,id:n,tenantID:e.tenantID,draft:true});if(!d)throw new Error(`Document not found: ${t}/${n}`);if(l&&d.updatedAt&&l!==d.updatedAt)throw new Error(`Revision conflict: document has changed since ${l}. Current updatedAt: ${d.updatedAt}`);b(r,i.fields);let u=e.registry.getUpdateZodSchema(t).parse(r);if(i.tenantScoped&&e.tenantID&&(u.tenantID=e.tenantID),i.hooks?.beforeValidate)for(let g of i.hooks.beforeValidate){let h=await g({collection:t,data:u,originalDoc:d,req:e.req,user:e.user,tenantID:e.tenantID,operation:"update",id:n});h&&Object.assign(u,h);}if(i.hooks?.beforeChange)for(let g of i.hooks.beforeChange){let h=await g({collection:t,data:u,originalDoc:d,req:e.req,user:e.user,tenantID:e.tenantID,operation:"update",id:n});h&&Object.assign(u,h);}let D=e.req&&typeof e.req.headers?.get=="function"&&e.req.headers.get("x-draft")==="true"||o.draft===true,f=i.versions?.drafts===true,I=e.req?.query?.autosave==="true"||e.req?.url?.includes("autosave=true")||o.autosave===true,y;if(f&&D?(await e.db.createVersion({collection:t,documentId:n,data:u,status:"draft",autosave:I,createdBy:e.user?.id,tenantID:e.tenantID}),y=await e.db.findByID({collection:t,id:n,tenantID:e.tenantID,draft:true})):f?(y=await e.db.update({collection:t,id:n,data:{...u,status:"published"},depth:a||0,tenantID:e.tenantID,select:s}),await e.db.createVersion({collection:t,documentId:n,data:u,status:"published",createdBy:e.user?.id,tenantID:e.tenantID})):y=await e.db.update({collection:t,id:n,data:u,depth:a||0,tenantID:e.tenantID,select:s}),i.hooks?.afterChange)for(let g of i.hooks.afterChange)await g({collection:t,doc:y,data:u,originalDoc:d,req:e.req,user:e.user,tenantID:e.tenantID,operation:"update",id:n});return await k(e,w(t,"update"),{collection:t,data:y,previousData:d,operation:"update"}),{doc:y}}}function P(e){return async o=>{let{collection:t,id:n}=o,r=e.registry.getCollection(t);await p(r,"delete",e);let a=await e.db.findByID({collection:t,id:n,tenantID:e.tenantID,draft:true});if(!a)throw new Error(`Document not found: ${t}/${n}`);if(r.hooks?.beforeDelete)for(let l of r.hooks.beforeDelete)await l({collection:t,doc:a,req:e.req,user:e.user,tenantID:e.tenantID,operation:"delete",id:n});let s=await e.db.delete({collection:t,id:n,tenantID:e.tenantID});if(r.hooks?.afterDelete)for(let l of r.hooks.afterDelete)await l({collection:t,doc:s,req:e.req,user:e.user,tenantID:e.tenantID,operation:"delete",id:n});return await k(e,w(t,"delete"),{collection:t,data:s,previousData:a,operation:"delete"}),{doc:s,message:"Deleted successfully"}}}function v(e){return async o=>{let{collection:t,where:n}=o,r=e.registry.getCollection(t);return await p(r,"read",e),{totalDocs:await e.db.count({collection:t,where:n||{},tenantID:e.tenantID})}}}async function F(e,o,t){let n=await b$1(e,o,{user:t.user,req:t.req,tenantID:t.tenantID});if(!n.allowed)throw new Error(n.error||"Access denied");t.tenantID&&t.db.setTenantContext({tenantId:t.tenantID,userId:t.user?.id??"",role:t.user?.role,isSuperAdmin:t.user?.role==="super_admin"});}function U(e){let o={},t=e.registry.getCollections();for(let r of t){let a=r.slug;o[a]={find:A(e),findByID:C(e),create:R(e),update:q(e),delete:P(e),count:v(e)};}let n=e.registry.getGlobals();for(let r of n){let a=r.slug;o[`_globals_${a}`]={get:async()=>(await F(r,"read",e),await e.db.findOne({collection:`_globals_${a}`,where:{},tenantID:e.tenantID})),update:async s=>{await F(r,"update",e);let i=e.registry.getZodSchema(a).parse(s.data),d=await e.db.findOne({collection:`_globals_${a}`,where:{},tenantID:e.tenantID,draft:true}),c;return d?c=await e.db.update({collection:`_globals_${a}`,id:d.id,data:i,tenantID:e.tenantID}):c=await e.db.create({collection:`_globals_${a}`,data:{...i,id:a},tenantID:e.tenantID}),c}};}return o}function W(e){if(e.settings?.access?.apiAccess?.trpcEnabled===false)throw new Error("tRPC API is disabled");return U(e)}export{$ as a,A as b,C as c,R as d,q as e,P as f,v as g,U as h,W as i};
|