@kyro-cms/core 0.12.44 → 0.12.46
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/{WebhookService-C19xR8qE.d.ts → WebhookService-CZf_na-J.d.ts} +1 -1
- package/dist/{WebhookService-BBcCHBo8.d.cts → WebhookService-DgIx21X-.d.cts} +1 -1
- package/dist/api-handler-graphql.cjs +1 -1
- package/dist/api-handler-graphql.js +2 -1
- package/dist/api-handler-trpc.cjs +1 -1
- package/dist/api-handler-trpc.js +2 -1
- package/dist/api-handler.cjs +1 -1
- package/dist/api-handler.js +1 -1
- package/dist/{base-yXdYZxFK.d.ts → base-7vJMzr4V.d.ts} +1 -1
- package/dist/{base-C2iwjdJQ.d.cts → base-DDEmdRqV.d.cts} +1 -1
- package/dist/bcryptjs-AZA6WEN2.js +2 -0
- package/dist/bcryptjs-WIQSWJGK.cjs +1 -0
- package/dist/better-sqlite3-42Q3FG3E.js +2 -0
- package/dist/better-sqlite3-5IISPX34.cjs +1 -0
- package/dist/bootstrap-7CI3NVSY.js +1 -0
- package/dist/bootstrap-DOOM2CNQ.cjs +1 -0
- package/dist/bowser-FI5JQGKZ.js +11 -0
- package/dist/bowser-VX6B6ZSE.cjs +10 -0
- package/dist/chokidar-24HVS6XD.cjs +5 -0
- package/dist/chokidar-43DT7CVN.js +6 -0
- package/dist/chunk-227MEHYX.cjs +269 -0
- package/dist/chunk-26Q7JXM4.cjs +3 -0
- package/dist/chunk-2BUODBE2.js +2 -0
- package/dist/chunk-2WFTETFB.js +2 -0
- package/dist/chunk-35PGCW3S.cjs +1 -0
- package/dist/chunk-3VXEK5ZW.cjs +1 -0
- package/dist/chunk-45TJAB5X.js +301 -0
- package/dist/chunk-5DWYVUQR.cjs +1 -0
- package/dist/chunk-5LPNEYK5.cjs +1 -0
- package/dist/chunk-66BJXVFJ.js +2 -0
- package/dist/chunk-6KRR7YHA.js +2 -0
- package/dist/chunk-6KUL2BSA.cjs +133 -0
- package/dist/chunk-6MSS5X77.js +2 -0
- package/dist/chunk-6QWLXJ7L.js +2 -0
- package/dist/chunk-73D2PNHD.cjs +7 -0
- package/dist/chunk-7ACHOBWY.cjs +13 -0
- package/dist/chunk-7AQSH3KR.js +2 -0
- package/dist/chunk-7GGZA5YU.cjs +2 -0
- package/dist/chunk-7I6URA6F.js +4 -0
- package/dist/chunk-7JWQ2PZP.cjs +1 -0
- package/dist/chunk-7T35572E.js +75 -0
- package/dist/chunk-7V67ONUD.js +4 -0
- package/dist/chunk-7WMMKGEO.cjs +1 -0
- package/dist/chunk-A73AVVFR.js +11 -0
- package/dist/chunk-AK754S3T.cjs +2 -0
- package/dist/chunk-AMGJ5AFH.cjs +1 -0
- package/dist/chunk-ATBH763U.js +2 -0
- package/dist/chunk-B3GDQ7UI.cjs +114 -0
- package/dist/chunk-BAVN7VDR.cjs +1 -0
- package/dist/chunk-BCEE4NBZ.cjs +2 -0
- package/dist/{chunk-J4252I5B.cjs → chunk-BHR7OAU4.cjs} +4 -4
- package/dist/chunk-BLH2MRK4.js +2 -0
- package/dist/chunk-BPMA2ECA.js +10 -0
- package/dist/chunk-BUNLC3II.cjs +1 -0
- package/dist/chunk-C2PXMVR5.js +2 -0
- package/dist/chunk-CAJ4ZJO6.cjs +1 -0
- package/dist/chunk-CGPAS4U5.js +4 -0
- package/dist/chunk-DS5DE5BU.js +2 -0
- package/dist/chunk-DT3LHRQT.js +57 -0
- package/dist/chunk-DUO523BH.cjs +1 -0
- package/dist/chunk-DVWYO3KK.cjs +1 -0
- package/dist/chunk-E27KEZPT.js +2 -0
- package/dist/chunk-EHWUALGH.cjs +1 -0
- package/dist/chunk-EN65ZEK2.cjs +2 -0
- package/dist/chunk-EOOZDOL7.js +3 -0
- package/dist/chunk-EZIDQBXI.cjs +1 -0
- package/dist/chunk-F4ITQ6XQ.cjs +3 -0
- package/dist/chunk-GIS6X43A.cjs +3 -0
- package/dist/chunk-GNEVCEJU.cjs +3 -0
- package/dist/chunk-GNOSG3PK.cjs +1 -0
- package/dist/chunk-HLAEJB5R.js +384 -0
- package/dist/chunk-HPYH7GTS.cjs +1 -0
- package/dist/chunk-HT44I66C.js +24 -0
- package/dist/chunk-HTYVI2HK.cjs +9 -0
- package/dist/chunk-ICVQWR2A.js +2 -0
- package/dist/chunk-IP6JUEH3.js +3 -0
- package/dist/chunk-IPXOY4RI.js +2 -0
- package/dist/chunk-IUAWDAUD.cjs +56 -0
- package/dist/chunk-J6U5LWZ7.js +11 -0
- package/dist/{chunk-UHFDH3PG.js → chunk-JT36FTHY.cjs} +4 -4
- package/dist/chunk-JUJZOG6P.js +2 -0
- package/dist/{chunk-2BTRHVT3.cjs → chunk-K7YNEKVE.js} +5 -4
- package/dist/chunk-KCHPADCH.cjs +7 -0
- package/dist/chunk-KH7LM52S.js +3 -0
- package/dist/chunk-LEBM6ZSZ.cjs +10 -0
- package/dist/chunk-LQ3YZTPU.cjs +15 -0
- package/dist/chunk-LY7N3UHH.cjs +23 -0
- package/dist/chunk-MCZ3YZ2L.js +2 -0
- package/dist/chunk-MP5VC5ER.cjs +1 -0
- package/dist/chunk-MVX2PYJJ.cjs +1 -0
- package/dist/chunk-MY42EWZP.js +2 -0
- package/dist/chunk-MZOWPV4D.js +20 -0
- package/dist/chunk-NGNJSUGL.cjs +1 -0
- package/dist/chunk-NWCREF47.js +3 -0
- package/dist/chunk-OMWQVPV7.js +14 -0
- package/dist/chunk-ORG67NXX.js +3 -0
- package/dist/chunk-OSAVAYJZ.js +16 -0
- package/dist/chunk-P7XYIKL6.cjs +300 -0
- package/dist/chunk-PBOZJOKN.js +2 -0
- package/dist/chunk-PITMDQYN.cjs +18 -0
- package/dist/chunk-PL5AIE6F.js +2 -0
- package/dist/chunk-PTWQQMWW.js +270 -0
- package/dist/chunk-QC4YXUBT.cjs +383 -0
- package/dist/chunk-QDHP5E4P.cjs +2 -0
- package/dist/chunk-QVDY6S4B.js +2 -0
- package/dist/chunk-QYI3GOHF.cjs +1 -0
- package/dist/chunk-R3NEPC4I.js +3 -0
- package/dist/chunk-R4LXRAMX.js +2 -0
- package/dist/chunk-S5HTTLN7.cjs +2 -0
- package/dist/chunk-STX5V7HG.cjs +20 -0
- package/dist/chunk-SVYUTQVE.js +115 -0
- package/dist/chunk-SYEP5QLG.js +19 -0
- package/dist/chunk-TR3ZS3T3.js +3 -0
- package/dist/chunk-UB5TJHQR.js +2 -0
- package/dist/chunk-UD6ZPO7T.js +2 -0
- package/dist/chunk-UNYXWPLZ.cjs +2 -0
- package/dist/chunk-VBPAAQEF.js +2 -0
- package/dist/chunk-VIUU4D5I.js +2 -0
- package/dist/chunk-VJ2WMKPK.js +21 -0
- package/dist/chunk-VOQUO2EZ.cjs +74 -0
- package/dist/chunk-VQ53TFYA.cjs +1 -0
- package/dist/chunk-VRZC4TTF.cjs +1 -0
- package/dist/chunk-W46LZ4MY.js +2 -0
- package/dist/chunk-WCFHS7EZ.cjs +1 -0
- package/dist/chunk-WGESLAWV.js +8 -0
- package/dist/chunk-WSP7PSXC.js +8 -0
- package/dist/chunk-X54XZACS.cjs +10 -0
- package/dist/{chunk-Q2UYCYKV.js → chunk-XBH4YMC7.js} +5 -4
- package/dist/chunk-XDE7CFV6.cjs +19 -0
- package/dist/chunk-XOACKBG7.js +4 -0
- package/dist/chunk-XPPVX4GQ.cjs +1 -0
- package/dist/chunk-ZJE3VAAW.js +134 -0
- package/dist/chunk-ZO3YB5DK.cjs +1 -0
- package/dist/chunk-ZOVH6QT5.cjs +1 -0
- package/dist/cli/index.cjs +197 -78
- package/dist/cli/index.js +198 -78
- package/dist/client.cjs +1 -1
- package/dist/client.d.cts +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.js +2 -1
- package/dist/d1-5ZQJOFDX.cjs +1 -0
- package/dist/d1-VPH75GI2.js +2 -0
- package/dist/dist-es-3SSNUZST.cjs +1 -0
- package/dist/dist-es-6SVFVYN3.js +1 -0
- package/dist/dist-es-6TQTDPE7.js +2 -0
- package/dist/dist-es-A5OF2STN.cjs +2 -0
- package/dist/dist-es-BOW5V247.cjs +6 -0
- package/dist/dist-es-CRIMATLL.cjs +2 -0
- package/dist/dist-es-DL3VLVP6.cjs +1 -0
- package/dist/dist-es-EMUQ6ZNZ.js +3 -0
- package/dist/dist-es-MNIQZC4U.js +2 -0
- package/dist/dist-es-P25IKLBI.cjs +1 -0
- package/dist/dist-es-SJ76GYCI.js +2 -0
- package/dist/dist-es-SRPWSAF4.cjs +1 -0
- package/dist/dist-es-T2H2W5BX.cjs +3 -0
- package/dist/dist-es-TX4DBXEW.js +3 -0
- package/dist/dist-es-U4ZB3ZDA.js +7 -0
- package/dist/dist-es-XZBHIIKY.js +4 -0
- package/dist/drizzle/index.cjs +1 -1
- package/dist/drizzle/index.d.cts +2 -2
- package/dist/drizzle/index.d.ts +2 -2
- package/dist/drizzle/index.js +1 -1
- package/dist/drizzle-orm-47ELDEM6.cjs +1 -0
- package/dist/drizzle-orm-7YTX5NTT.js +1 -0
- package/dist/event-streams-25YJ2Z6R.js +1 -0
- package/dist/event-streams-JBMWCI2O.cjs +1 -0
- package/dist/fields/index.cjs +1 -1
- package/dist/fields/index.js +1 -1
- package/dist/fs-DGKZLRM6.cjs +1 -0
- package/dist/fs-YZJ5FM6J.js +2 -0
- package/dist/graphql/index.cjs +1 -1
- package/dist/graphql/index.d.cts +2 -2
- package/dist/graphql/index.d.ts +2 -2
- package/dist/graphql/index.js +1 -1
- package/dist/{index-DTz6u7w9.d.cts → index-BJ1rwHxk.d.cts} +1 -1
- package/dist/{index-BeQtbl3z.d.ts → index-BTjlptCL.d.ts} +1 -1
- package/dist/index.cjs +28 -46
- package/dist/index.d.cts +23 -9
- package/dist/index.d.ts +23 -9
- package/dist/index.js +29 -46
- package/dist/integration.cjs +1 -1
- package/dist/integration.js +1 -1
- package/dist/jsonwebtoken-DFB6ZBZA.cjs +8 -0
- package/dist/jsonwebtoken-S7BG2YWK.js +9 -0
- package/dist/lib-5QYYN6ML.cjs +12 -0
- package/dist/lib-IYW32OER.js +13 -0
- package/dist/loadSso-JY4WDQPS.cjs +2 -0
- package/dist/loadSso-YTG2GQGW.js +3 -0
- package/dist/local-VDCSEMC2.js +1 -0
- package/dist/local-YCWBUF3R.cjs +1 -0
- package/dist/media-3Z6YW5J4.cjs +1 -0
- package/dist/media-HK2IZMUZ.js +1 -0
- package/dist/mongo-auth-adapter-7K64Y2QM.cjs +1 -0
- package/dist/mongo-auth-adapter-BUKINEZL.js +1 -0
- package/dist/mongodb/index.cjs +1 -1
- package/dist/mongodb/index.d.cts +2 -2
- package/dist/mongodb/index.d.ts +2 -2
- package/dist/mongodb/index.js +1 -1
- package/dist/nodemailer-AXROO37D.js +54 -0
- package/dist/nodemailer-IDML4L6W.cjs +53 -0
- package/dist/postgres-auth-adapter-2M4RNEY3.cjs +1 -0
- package/dist/postgres-auth-adapter-MKSHIJDL.js +1 -0
- package/dist/postgres-js-3Y54EXVQ.cjs +1 -0
- package/dist/postgres-js-INQPBHJP.js +1 -0
- package/dist/redis-adapter-EGMUN65D.cjs +1 -0
- package/dist/redis-adapter-SXOXLHNH.js +1 -0
- package/dist/rest/index.cjs +1 -1
- package/dist/rest/index.d.cts +5 -5
- package/dist/rest/index.d.ts +5 -5
- package/dist/rest/index.js +1 -1
- package/dist/schema-RT6WSUYC.cjs +1 -0
- package/dist/schema-XC5ISGNR.js +2 -0
- package/dist/signin-KZBIAHGS.js +3 -0
- package/dist/signin-VFBLX7EL.cjs +2 -0
- package/dist/sqlite-adapter-DV7ZX2EJ.js +1 -0
- package/dist/sqlite-adapter-ZTABLT2X.cjs +1 -0
- package/dist/src-6LAUXXDM.cjs +1 -0
- package/dist/src-GZRZ4VAO.js +1 -0
- package/dist/sso-oidc-54BIRYR6.cjs +2 -0
- package/dist/sso-oidc-SX5OIQGG.js +3 -0
- package/dist/sts-HVGDJYIF.js +3 -0
- package/dist/sts-YLXXIB3X.cjs +2 -0
- package/dist/templates/index.cjs +1 -1
- package/dist/templates/index.d.cts +1 -1
- package/dist/templates/index.d.ts +1 -1
- package/dist/templates/index.js +1 -1
- package/dist/trpc/index.cjs +1 -1
- package/dist/trpc/index.d.cts +7 -7
- package/dist/trpc/index.d.ts +7 -7
- package/dist/trpc/index.js +1 -1
- package/dist/{types-CaXXmV9h.d.ts → types-CYGXsNcJ.d.ts} +5 -5
- package/dist/{types-BjivdGbU.d.cts → types-DOKMyC3y.d.cts} +5 -5
- package/dist/ws/index.cjs +1 -1
- package/dist/ws/index.js +1 -1
- package/package.json +2 -2
- package/dist/bootstrap-ROSTPMVL.js +0 -1
- package/dist/bootstrap-WW5NJ6EB.cjs +0 -1
- package/dist/chunk-3CVLI5C5.cjs +0 -3
- package/dist/chunk-3Q2WUG63.cjs +0 -2
- package/dist/chunk-3RSMK4DA.cjs +0 -2
- package/dist/chunk-4IGWJMBY.cjs +0 -2
- package/dist/chunk-4ORJMSJU.cjs +0 -1
- package/dist/chunk-4RMFCTWH.js +0 -1
- package/dist/chunk-5B6X2GBJ.js +0 -2
- package/dist/chunk-5J6HXUF6.js +0 -1
- package/dist/chunk-5KOQYQEE.js +0 -1
- package/dist/chunk-5SEHX7ON.js +0 -1
- package/dist/chunk-6ROHVUXF.js +0 -1
- package/dist/chunk-6SPPR5JZ.js +0 -3
- package/dist/chunk-7IVN6TTY.js +0 -133
- package/dist/chunk-AHSFSERC.cjs +0 -1
- package/dist/chunk-B5XWYVWK.js +0 -1
- package/dist/chunk-BGX27ZRG.cjs +0 -300
- package/dist/chunk-C2W5PSHC.js +0 -300
- package/dist/chunk-CCUQZ66T.cjs +0 -133
- package/dist/chunk-D5P2IPGX.cjs +0 -3
- package/dist/chunk-EPMGPNBE.js +0 -1
- package/dist/chunk-FHJJKFAU.cjs +0 -1
- package/dist/chunk-FVZ5RFLO.js +0 -2
- package/dist/chunk-FZ6Q2EBJ.cjs +0 -20
- package/dist/chunk-G3J2EU5D.cjs +0 -1
- package/dist/chunk-G7SSHELM.cjs +0 -1
- package/dist/chunk-GKYEJ2UF.js +0 -1
- package/dist/chunk-GO34AOBZ.cjs +0 -1
- package/dist/chunk-GYQMNXXW.cjs +0 -114
- package/dist/chunk-HLSB2MCK.js +0 -1
- package/dist/chunk-HQP2Y7QQ.js +0 -251
- package/dist/chunk-HS2KNFAB.cjs +0 -2
- package/dist/chunk-HVXO3OFB.cjs +0 -1
- package/dist/chunk-IETGL7WJ.js +0 -1
- package/dist/chunk-IFJ73O3A.cjs +0 -1
- package/dist/chunk-ILEZ3NYX.cjs +0 -2
- package/dist/chunk-INB4LNA6.js +0 -90
- package/dist/chunk-K6WUOU6P.js +0 -1
- package/dist/chunk-KD7LUCFY.cjs +0 -1
- package/dist/chunk-KDNYHLD2.js +0 -1
- package/dist/chunk-LHW4R367.js +0 -1
- package/dist/chunk-MIOMMB23.cjs +0 -1
- package/dist/chunk-N5VNHUJS.cjs +0 -4
- package/dist/chunk-NRLIGDYF.js +0 -1
- package/dist/chunk-NY47CFVP.cjs +0 -1
- package/dist/chunk-NZJAGASC.cjs +0 -251
- package/dist/chunk-OG7CNQGU.js +0 -1
- package/dist/chunk-PP5S2UBV.js +0 -0
- package/dist/chunk-PP7W5UKL.js +0 -2
- package/dist/chunk-Q3Q7BJVQ.cjs +0 -1
- package/dist/chunk-QCA3AP3M.cjs +0 -1
- package/dist/chunk-QOCHBPMK.js +0 -2
- package/dist/chunk-QYFU5Y7S.js +0 -3
- package/dist/chunk-RHCWCG3O.js +0 -114
- package/dist/chunk-SK2Q4PRV.cjs +0 -90
- package/dist/chunk-TFBHE5FF.cjs +0 -1
- package/dist/chunk-UBRYJP2G.js +0 -1
- package/dist/chunk-V65NPSR5.cjs +0 -1
- package/dist/chunk-VGQ4VUG6.js +0 -2
- package/dist/chunk-W7C6SJXZ.js +0 -20
- package/dist/chunk-WIZ6C5QZ.cjs +0 -1
- package/dist/chunk-ZIWJJRWQ.js +0 -4
- package/dist/chunk-ZUVP4UK7.cjs +0 -1
- package/dist/media-L5XDD47D.js +0 -1
- package/dist/media-OUBQTIQP.cjs +0 -1
- package/dist/mongo-auth-adapter-5TJO5J5U.js +0 -1
- package/dist/mongo-auth-adapter-JVE5M3S4.cjs +0 -1
- package/dist/postgres-auth-adapter-33QOIRXT.js +0 -1
- package/dist/postgres-auth-adapter-JKDYYULH.cjs +0 -1
- package/dist/redis-adapter-NN3H4GRX.js +0 -1
- package/dist/redis-adapter-OUKQGYCH.cjs +0 -1
- package/dist/schema-HIUSHSUI.cjs +0 -1
- package/dist/schema-KFYUM674.js +0 -1
- package/dist/sqlite-adapter-GTTVSXRV.cjs +0 -1
- package/dist/sqlite-adapter-UPANATIW.js +0 -1
package/dist/index.js
CHANGED
|
@@ -1,43 +1,26 @@
|
|
|
1
|
-
export{a as RedisAuthAdapter}from'./chunk-
|
|
2
|
-
CREATE TABLE IF NOT EXISTS ${this.versionsTableName} (
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`).run(r,e.collection,e.documentId,e.tenantId??null,n,e.status,e.autosave?1:0,JSON.stringify(e.data),e.createdBy??null,e.changeDescription??null,e.status==="published"?t:null,t,t),!e.autosave){let c=this.collections.get(e.collection)?.versions?.maxPerDoc;c&&c>0&&await this.deleteVersions({collection:e.collection,documentId:e.documentId,keepLatest:c,tenantId:e.tenantId});}return await this.findVersionByID({collection:e.collection,versionId:r})}async updateLatestVersion(e){return this.createVersion({...e,autosave:true})}async deleteVersions(e){this.ensureVersionsTable();let{collection:t,documentId:r,keepLatest:s,tenantId:n}=e;if(s&&s>0){let o=this.db.prepare(`SELECT id, status, autosave FROM ${this.versionsTableName} WHERE collection_slug = ? AND document_id = ? ORDER BY version DESC`).all(t,r),i=0,c=[];for(let l of o)l.status==="published"||l.autosave===1||(i++,i>s&&c.push(l.id));for(let l of c)this.db.prepare(`DELETE FROM ${this.versionsTableName} WHERE id = ?`).run(l);}else {let o=`DELETE FROM ${this.versionsTableName} WHERE collection_slug = ? AND document_id = ?`,i=[t,r];n&&(o+=" AND tenant_id = ?",i.push(n)),this.db.prepare(o).run(...i);}}rowToVersion(e){return {id:String(e.id),collection:e.collection_slug,documentId:e.document_id,version:e.version,status:e.status,data:e.data?JSON.parse(e.data):{},createdBy:e.created_by??void 0,changeDescription:e.change_description??void 0,publishedAt:e.published_at??null,createdAt:e.created_at,updatedAt:e.updated_at}}prepareData(e,t){let r={},s=x(t.fields),n=(o,i)=>{let c=o;if(c.type==="json"||c.type==="richtext"||c.type==="array"||c.type==="group"||c.type==="blocks"||c.type==="list"||c.type==="relationship-block")return i!=null?JSON.stringify(i):null;if(c.type==="checkbox")return i?1:0;if(c.type==="number")return i!==null&&i!==""?Number(i):null;if(c.type==="upload"||c.type==="image"){if(i==null)return null;if(Array.isArray(i)){let l=i.map(d=>typeof d=="string"?d:typeof d=="object"?d.id||d._id||d:String(d));return JSON.stringify(l)}return typeof i=="string"?i:typeof i=="object"?JSON.stringify(i):String(i)}else if(o.type==="relationship"){if(i==null)return null;if(Array.isArray(i)){let l=i.map(d=>typeof d=="string"?d:typeof d=="object"?JSON.stringify({relationTo:o.relationTo,value:d.id||d}):String(d));return JSON.stringify(l)}return typeof i=="string"?i:typeof i=="object"?JSON.stringify({relationTo:o.relationTo,value:i.id||i}):String(i)}return i};for(let o of s){if(!o.name||o.name==="id"||t.fields.some(l=>l.type==="tabs"&&l.name&&"tabs"in l&&l.tabs.some(d=>d.fields.some(u=>u.name===o.name))))continue;let c=e[o.name];c!==void 0&&(r[o.name]=n(o,c));}for(let o of t.fields)if(o.type==="tabs"&&"tabs"in o&&o.name){let i=e[o.name];if(i&&typeof i=="object"){for(let c of o.tabs)for(let l of c.fields)if(l.name&&l.name!=="id"){let d=i[l.name];d!==void 0&&(r[l.name]=n(l,d));}}}return r}rowToDoc(e,t){let r={id:e.id};for(let s of x(t.fields)){if(!s.name||s.name==="id")continue;let n=s,o=e[n.name];if(n.type==="json"||n.type==="richtext"||n.type==="array"||n.type==="group"||n.type==="blocks"||n.type==="list"||n.type==="relationship-block")try{o=o?JSON.parse(o):null;}catch{o=null;}if(n.type==="blocks"&&o&&Array.isArray(o)){let i=n.blocks||[];o=Be(o,i);}if(s.type==="checkbox"&&(o=!!o),s.type==="date"&&o)try{let i=new Date(o);isNaN(i.getTime())?(console.warn(`[LocalAdapter] Invalid date value for field "${s.name}":`,o),o=null):o=i.toISOString();}catch{o=null;}if((s.type==="upload"||s.type==="image")&&o)try{let i=JSON.parse(o);Array.isArray(i)?o=i.map(c=>typeof c=="object"&&c!==null?c:{id:c}):o=typeof i=="object"?i:{id:i};}catch{o={id:o};}if(s.type==="relationship"&&o)try{let i=JSON.parse(o);Array.isArray(i),o=i;}catch{o={relationTo:Array.isArray(s.relationTo)?s.relationTo[0]:s.relationTo,value:o};}r[s.name]=o;}for(let s of t.fields)if(!(!s.name||s.name==="id"||s.name==="row"||s.name==="collapsible")&&s.type==="tabs"&&"tabs"in s){let n={};for(let o of s.tabs)for(let i of o.fields)i.name&&i.name!=="id"&&(n[i.name]=Kr(e,i));r[s.name]=n;}if(t.timestamps){let s=e.createdAt||e.created_at,n=e.updatedAt||e.updated_at;if(s)try{let o=new Date(s);isNaN(o.getTime())||(r.createdAt=o.toISOString());}catch{}if(n)try{let o=new Date(n);isNaN(o.getTime())||(r.updatedAt=o.toISOString());}catch{}}t.tenantScoped&&(r.tenantId=e.tenant_id),r.status=e.status??"published",r.hasDraft=e.hasDraft?!!e.hasDraft:false;for(let s of Object.keys(r))/^\d+$/.test(s)&&delete r[s];return r}generateId(){let e=Date.now().toString(16).padStart(12,"0"),t=randomBytes(6).toString("hex");return e+t}getMediaById(e){try{let t=this.getTableNameFor("media"),r=this.db.prepare(`SELECT id, url, thumbnail_url FROM ${t} WHERE id = ?`).get(e);if(r)return {id:r.id,url:r.url,thumbnailUrl:r.thumbnail_url||r.url}}catch{}return null}getTableNameFor(e){return e.replace(/-/g,"_")}async migrate(){for(let e of this.collections.values())this.ensureTable(e);}async rollback(){}async transaction(e){return new Promise((t,r)=>{let s=this.db.transaction(async()=>e({db:this.db}));try{let n=s();t(n);}catch(n){r(n);}})}getDatabase(){return this.db}exec(e){this.db.exec(e);}prepare(e){return this.db.prepare(e)}};function ne(a){return new k(a||{})}var U=class extends a$4{connectionString;constructor(e){super(),this.connectionString=e.connectionString;}async connect(){this.connected=true;}async disconnect(){this.connected=false;}async query(e,t=[]){if(!this.connectionString)throw new Error("NeonAdapter: Connection string is required.");try{let r=await fetch(`${this.connectionString}/sql`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e,params:t})});return r.ok?(await r.json()).rows||[]:[]}catch{return []}}async find(e){return {docs:[],totalDocs:0,limit:e.limit||10,totalPages:1,page:e.page||1,hasNextPage:false,hasPrevPage:false}}async findByID(e){return null}async create(e){return e.data}async update(e){return e.data}async delete(e){return {success:true,id:e.id}}async count(e){return 0}async findOne(e){return null}async findVersions(e){return {docs:[],totalDocs:0,limit:10,totalPages:1,page:1,hasNextPage:false,hasPrevPage:false}}async findVersionByID(e){return null}async createVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async updateLatestVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async deleteVersions(e){}};function je(a){return new U(a)}var V=class extends a$4{url;authToken;constructor(e){super(),this.url=e.url.replace(/^libsql:\/\//,"https://"),this.authToken=e.authToken;}async connect(){this.connected=true;}async disconnect(){this.connected=false;}async query(e,t=[]){if(!this.url)throw new Error("TursoAdapter: Database URL is required.");try{let r={"Content-Type":"application/json"};this.authToken&&(r.Authorization=`Bearer ${this.authToken}`);let s=await fetch(`${this.url}/v2/pipeline`,{method:"POST",headers:r,body:JSON.stringify({requests:[{type:"execute",stmt:{sql:e,args:t.map(c=>({type:"text",value:String(c)}))}},{type:"close"}]})});if(!s.ok)return [];let o=(await s.json())?.results?.[0]?.response?.result;if(!o||!o.rows)return [];let i=o.cols.map(c=>c.name);return o.rows.map(c=>{let l={};return i.forEach((d,u)=>{l[d]=c[u]?.value??null;}),l})}catch{return []}}async find(e){return {docs:[],totalDocs:0,limit:e.limit||10,totalPages:1,page:e.page||1,hasNextPage:false,hasPrevPage:false}}async findByID(e){return null}async create(e){return e.data}async update(e){return e.data}async delete(e){return {success:true,id:e.id}}async count(e){return 0}async findOne(e){return null}async findVersions(e){return {docs:[],totalDocs:0,limit:10,totalPages:1,page:1,hasNextPage:false,hasPrevPage:false}}async findVersionByID(e){return null}async createVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async updateLatestVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async deleteVersions(e){}};function Ke(a){return new V(a)}var Wr={maxAttempts:5,lockDuration:9e5,notifyUser:true,notifyAdmin:true,adminNotifyAfter:3},I=class{redis;prefix;config;constructor(e,t={},r="kyro:lockout:"){this.redis=e,this.prefix=r,this.config={...Wr,...t};}lockKey(e){return `${this.prefix}${e}`}historyKey(e){return `${this.prefix}${e}:history`}async checkLockout(e){let t=this.lockKey(e),r=await this.redis.hgetall(t);if(!r||Object.keys(r).length===0)return {locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};let s=parseInt(r.attempts,10),n=r.lockedUntil?new Date(parseInt(r.lockedUntil,10)):void 0;return n&&n>new Date?{locked:true,attemptsRemaining:0,lockedUntil:n,totalAttempts:s}:n&&n<=new Date?(await this.unlockAccount(e),{locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0}):{locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-s),totalAttempts:s}}async recordFailedAttempt(e){let t=this.lockKey(e),r=this.historyKey(e),s=Date.now(),n=await this.redis.hincrby(t,"attempts",1);if(await this.redis.hset(t,"lastAttempt",s.toString()),await this.redis.lpush(r,s.toString()),await this.redis.ltrim(r,0,99),n>=this.config.maxAttempts){let o=new Date(s+this.config.lockDuration);return await this.redis.hset(t,{lockedAt:s.toString(),lockedUntil:o.getTime().toString()}),await this.redis.expire(t,Math.ceil(this.config.lockDuration/1e3)+3600),{locked:true,attemptsRemaining:0,lockedUntil:o,totalAttempts:n}}return {locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-n),totalAttempts:n}}async lockAccount(e,t){let r=this.lockKey(e),s=Date.now(),n=t||this.config.lockDuration,o=new Date(s+n),i=this.redis.pipeline();i.hset(r,{attempts:this.config.maxAttempts.toString(),lockedAt:s.toString(),lockedUntil:o.getTime().toString()}),i.expire(r,Math.ceil(n/1e3)+3600),await i.exec();}async unlockAccount(e){let t=this.lockKey(e);await this.redis.del(t);}async resetAttempts(e){let t=this.lockKey(e);(await this.redis.hgetall(t)).lockedAt?await this.redis.hset(t,{attempts:"0",lockedAt:"",lockedUntil:""}):await this.redis.del(t);}async getLockoutHistory(e,t=10){let r=this.historyKey(e);return (await this.redis.lrange(r,0,t-1)).map(n=>new Date(parseInt(n,10)))}async getLockoutStats(e){let t=this.historyKey(e),r=await this.redis.lrange(t,0,-1),s=r.filter((o,i)=>(i+1)%this.config.maxAttempts===0).length,n=await this.redis.hget(this.lockKey(e),"lockedAt");return {totalFailedAttempts:r.length,lockoutCount:s,lastLockout:n?new Date(parseInt(n,10)):null,averageAttemptsBeforeLockout:s>0?this.config.maxAttempts:0}}shouldNotifyAdmin(e){return this.config.notifyAdmin&&e>=this.config.adminNotifyAfter}getConfig(){return {...this.config}}setConfig(e){this.config={...this.config,...e};}};var zr={"auth:login":{window:9e5,max:5},"auth:register":{window:36e5,max:3},"auth:forgot":{window:36e5,max:3},"auth:reset":{window:36e5,max:5},"auth:verify":{window:36e5,max:5},"api:general":{window:6e4,max:100},"api:authenticated":{window:6e4,max:200}},v=class{redis;prefix;limits;userLimits;constructor(e,t,r,s="kyro:ratelimit:"){this.redis=e,this.prefix=s,this.limits={...zr,...t},this.userLimits=r||{"user:api":{window:6e4,max:500},"user:write":{window:36e5,max:100}};}getKey(e,t){return `${this.prefix}${e}:${t}`}async check(e,t){let r=this.limits[e]||this.limits["api:general"],s=this.getKey(e,t),n=Date.now(),o=n-r.window,i=this.redis.pipeline();i.zremrangebyscore(s,0,o),i.zcard(s),i.zadd(s,n,`${n}:${Math.random()}`),i.expire(s,Math.ceil(r.window/1e3)+1);let l=(await i.exec())?.[1]?.[1]||0;if(l>=r.max){let d=await this.redis.zrange(s,0,0,"WITHSCORES"),u=d.length>1?parseInt(d[1],10)+r.window:n+r.window;return {allowed:false,remaining:0,resetAt:u,retryAfter:Math.ceil((u-n)/1e3)}}return {allowed:true,remaining:r.max-l-1,resetAt:n+r.window}}async checkUser(e,t,r){let s=this.userLimits[e]||this.userLimits["user:api"],n=this.getKey(`user:${e}:${t}`,r),o=Date.now(),i=o-s.window,c=this.redis.pipeline();c.zremrangebyscore(n,0,i),c.zcard(n),c.zadd(n,o,`${o}:${Math.random()}`),c.expire(n,Math.ceil(s.window/1e3)+1);let d=(await c.exec())?.[1]?.[1]||0;if(d>=s.max){let u=await this.redis.zrange(n,0,0,"WITHSCORES"),p=u.length>1?parseInt(u[1],10)+s.window:o+s.window;return {allowed:false,remaining:0,resetAt:p,retryAfter:Math.ceil((p-o)/1e3)}}return {allowed:true,remaining:s.max-d-1,resetAt:o+s.window}}async reset(e,t){let r=this.getKey(e,t);await this.redis.del(r);}async resetUser(e,t,r){let s=this.getKey(`user:${e}:${t}`,r);await this.redis.del(s);}async getStatus(e,t){let r=this.limits[e]||this.limits["api:general"],s=this.getKey(e,t),n=Date.now(),o=n-r.window;await this.redis.zremrangebyscore(s,0,o);let i=await this.redis.zcard(s);return {count:i,limit:r.max,remaining:Math.max(0,r.max-i),resetAt:n+r.window}}setLimit(e,t){this.limits[e]=t;}setUserLimit(e,t){this.userLimits[e]=t;}};var L=class{users=new Map;sessions=new Map;refreshTokens=new Map;emailToUserId=new Map;passwordHistory=new Map;emailVerificationTokens=new Map;passwordResetTokens=new Map;auditLogs=[];externalDb=false;constructor(){}async connect(){}async disconnect(){this.users.clear(),this.sessions.clear(),this.refreshTokens.clear(),this.emailToUserId.clear(),this.passwordHistory.clear();}async createUser(e){let t=randomBytes(16).toString("hex"),r=new Date().toISOString(),s=await this.hashPassword(e.password),n={id:t,email:e.email.toLowerCase(),passwordHash:s,role:e.role||"customer",tenantId:e.tenantId,createdAt:r,updatedAt:r};return this.users.set(t,n),this.emailToUserId.set(e.email.toLowerCase(),t),this.passwordHistory.set(t,[]),n}async findUserByEmail(e){let t=this.emailToUserId.get(e.toLowerCase());return t?this.findUserById(t):null}async findUserById(e){return this.users.get(e)||null}async updateUser(e,t){let r=await this.findUserById(e);if(!r)return null;let s={...r,...t,id:e,updatedAt:new Date().toISOString()};return t.email&&t.email!==r.email&&(this.emailToUserId.delete(r.email.toLowerCase()),this.emailToUserId.set(t.email.toLowerCase(),e)),this.users.set(e,s),s}async deleteUser(e){let t=await this.findUserById(e);return t?(this.users.delete(e),this.emailToUserId.delete(t.email.toLowerCase()),this.refreshTokens.forEach((r,s)=>{this.sessions.get(r)?.userId===e&&(this.refreshTokens.delete(s),this.sessions.delete(r));}),this.passwordHistory.delete(e),this.sessions.forEach((r,s)=>{r.userId===e&&this.sessions.delete(s);}),true):false}async hashPassword(e){return (await import('bcryptjs')).default.hash(e,12)}async verifyPassword(e,t){let r=await this.findUserByEmail(e);return !r||!r.passwordHash?null:await(await import('bcryptjs')).default.compare(t,r.passwordHash)?r:null}async createSession(e,t={}){let r=randomBytes(32).toString("hex"),s=randomBytes(32).toString("base64url"),n=randomBytes(32).toString("base64url"),o=new Date,i={id:r,userId:e,token:s,refreshToken:n,expiresAt:new Date(o.getTime()+86400*1e3).toISOString(),createdAt:o.toISOString(),ipAddress:t.ipAddress,userAgent:t.userAgent};return this.sessions.set(r,i),this.refreshTokens.set(n,r),i}async findSessionByToken(e){return this.sessions.get(e)||null}async findSessionByRefreshToken(e){let t=this.refreshTokens.get(e);return t&&this.sessions.get(t)||null}async deleteSession(e){let t=this.sessions.get(e);return t?(t.refreshToken&&this.refreshTokens.delete(t.refreshToken),this.sessions.delete(e),true):false}async deleteUserSessions(e){let t=0;return this.sessions.forEach((r,s)=>{r.userId===e&&(r.refreshToken&&this.refreshTokens.delete(r.refreshToken),this.sessions.delete(s),t++);}),t}async addPasswordToHistory(e,t){let r=this.passwordHistory.get(e)||[];r.push(t),r.length>5&&r.splice(0,r.length-5),this.passwordHistory.set(e,r);}async getPasswordHistory(e,t=5){return this.passwordHistory.get(e)||[]}async isPasswordInHistory(e,t,r=5){let s=await this.getPasswordHistory(t,r),n=(await import('bcryptjs')).default;for(let o of s)if(await n.compare(e,o))return true;return false}async createEmailVerificationToken(e){let t=randomBytes(32).toString("hex"),r=new Date(Date.now()+1440*60*1e3);return this.emailVerificationTokens.set(t,{userId:e,expiresAt:r}),{token:t,expiresAt:r}}async verifyEmailToken(e){let t=this.emailVerificationTokens.get(e);return !t||t.expiresAt<new Date?(this.emailVerificationTokens.delete(e),{success:false,error:"Invalid or expired token"}):(this.emailVerificationTokens.delete(e),{success:true,userId:t.userId})}async createPasswordResetToken(e){let t=await this.findUserByEmail(e);if(!t)return {token:"",expiresAt:new Date,error:"User not found"};let r=randomBytes(32).toString("hex"),s=new Date(Date.now()+3600*1e3);return this.passwordResetTokens.set(r,{userId:t.id,expiresAt:s}),{token:r,expiresAt:s}}async resetPasswordWithToken(e,t){let r=this.passwordResetTokens.get(e);if(!r||r.expiresAt<new Date)return this.passwordResetTokens.delete(e),{success:false,error:"Invalid or expired token"};let s=await this.hashPassword(t);return await this.updateUser(r.userId,{passwordHash:s}),this.passwordResetTokens.delete(e),{success:true}}async hasAnyUsers(){return this.users.size>0}async findAuditLogs(e){let{limit:t=50,offset:r=0}=e,s=this.auditLogs.slice().reverse();return e.userId&&(s=s.filter(n=>n.userId===e.userId)),e.action&&(Array.isArray(e.action)?s=s.filter(n=>e.action.includes(String(n.action))):s=s.filter(n=>n.action===e.action)),e.resource&&(s=s.filter(n=>n.resource===e.resource)),e.success!==void 0&&(s=s.filter(n=>n.success===e.success)),{logs:s.slice(r,r+t),total:s.length}}async createAuditLog(e){let t=randomBytes(16).toString("hex"),s={...e,id:t,timestamp:new Date};return this.auditLogs.push(s),s}};var O=class{storage=new Map;history=new Map;config;constructor(e={}){this.config={maxAttempts:5,lockDuration:9e5,notifyUser:true,notifyAdmin:true,adminNotifyAfter:3,...e};}async checkLockout(e){let t=Date.now(),r=this.storage.get(e);if(r&&r.lockedUntil!==null&&r.lockedUntil<=t)return await this.resetAttempts(e),{locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};if(!r)return {locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};let{attempts:s,lockedUntil:n}=r;return n!==null&&n>t?{locked:true,attemptsRemaining:0,lockedUntil:new Date(n),totalAttempts:s}:{locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-s),totalAttempts:s}}async recordFailedAttempt(e){let t=Date.now(),r=this.storage.get(e)||{attempts:0,lastAttempt:null,lockedAt:null,lockedUntil:null};r.attempts+=1,r.lastAttempt=t;let s=this.history.get(e)||[];if(s.push(t),s.length>100&&s.splice(0,s.length-100),this.history.set(e,s),this.storage.set(e,r),r.attempts>=this.config.maxAttempts){let n=new Date(t+this.config.lockDuration);return r.lockedAt=t,r.lockedUntil=n.getTime(),this.storage.set(e,r),{locked:true,attemptsRemaining:0,lockedUntil:n,totalAttempts:r.attempts}}return {locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-r.attempts),totalAttempts:r.attempts}}async lockAccount(e,t){let r=Date.now(),s=t||this.config.lockDuration,n=new Date(r+s),o=this.storage.get(e)||{attempts:0,lastAttempt:null,lockedAt:null,lockedUntil:null};o.attempts=this.config.maxAttempts,o.lockedAt=r,o.lockedUntil=n.getTime(),this.storage.set(e,o);}async unlockAccount(e){await this.resetAttempts(e);}async resetAttempts(e){let t=this.storage.get(e);t&&(t.attempts=0,t.lockedAt=null,t.lockedUntil=null,this.storage.set(e,t)),this.history.delete(e);}async getLockoutHistory(e,t=10){return (this.history.get(e)||[]).slice(-t).reverse().map(s=>new Date(s))}async getLockoutStats(e){let r=(this.history.get(e)||[]).length,s=Math.floor(r/this.config.maxAttempts),n=null,o=this.storage.get(e);o&&o.lockedAt!==null&&(n=new Date(o.lockedAt));let i=s>0?this.config.maxAttempts:0;return {totalFailedAttempts:r,lockoutCount:s,lastLockout:n,averageAttemptsBeforeLockout:i}}shouldNotifyAdmin(e){return this.config.notifyAdmin&&e>=this.config.adminNotifyAfter}getConfig(){return {...this.config}}setConfig(e){this.config={...this.config,...e};}};function S(a,e=""){return process.env[a]||e}function P(a,e=false){let t=process.env[a];return t?t.toLowerCase()==="true":e}function A(a,e=0){let t=process.env[a];return t?parseInt(t,10):e}function We(){let a=process.env.KYRO_AUTH_DATABASE?.toLowerCase();if(a&&["sqlite","postgres","mongodb","memory"].includes(a))return a;try{let e=join(process.cwd(),"kyro.config.ts"),t=readFileSync(e,"utf8");if(t.includes("createLocalAdapter"))return "sqlite";if(t.includes("createDrizzleAdapter"))return t.includes("postgres")||t.includes("postgresql"),"postgres";if(t.includes("createMongoDBAdapter"))return "mongodb"}catch{}return "memory"}async function Xr(a$4){let e=process.cwd(),t=e.endsWith("admin")?join(e,".."):e,r=resolve(t,"data","auth.db");switch(a$4){case "sqlite":return new a$2({path:S("KYRO_AUTH_DB_PATH",r)});case "postgres":{let s=S("DATABASE_URL","");if(s){let n,o;try{n=(await import('drizzle-orm/postgres-js')).drizzle,o=await import('postgres');}catch{a(["postgres","drizzle-orm"]),n=(await import('drizzle-orm/postgres-js')).drizzle,o=await import('postgres');}let i=o.default(s,{onnotice:()=>{}}),c=n(i);return new a$3({db:c})}return new a$2({path:S("KYRO_AUTH_DB_PATH",r)})}case "mongodb":{let s=S("MONGODB_URI","");if(s){let n;try{n=(await import('mongodb')).MongoClient;}catch{a(["mongodb"]),n=(await import('mongodb')).MongoClient;}let o=new n(s);await o.connect();let c=new URL(s).pathname.replace(/^\//,"")||"kyro_cms",l=o.db(c);return new a$1({db:l})}return new a$2({path:S("KYRO_AUTH_DB_PATH",r)})}default:return new L}}async function oe(a,e){let t=P("KYRO_DISTRIBUTED",false),r;if(t){let{RedisAuthAdapter:u}=await import('./redis-adapter-NN3H4GRX.js'),p=S("REDIS_URL","redis://localhost:6379"),m=P("REDIS_TLS",false),g=new u({url:p,tls:m});await g.connect?.(),r=g;}else {let u=a||We();r=await Xr(u),r.connect&&await r.connect();}let s=e?await k$1.fromConfig(e).catch(()=>null)||k$1.fromEnv()||void 0:k$1.fromEnv()||void 0,n$1=new l$1({minLength:A("PASSWORD_MIN_LENGTH",12),requireUppercase:P("PASSWORD_REQUIRE_UPPERCASE",true),requireLowercase:P("PASSWORD_REQUIRE_LOWERCASE",true),requireNumbers:P("PASSWORD_REQUIRE_NUMBERS",true),requireSpecialChars:P("PASSWORD_REQUIRE_SPECIAL",true),preventReuse:A("PASSWORD_PREVENT_REUSE",5),maxLength:A("PASSWORD_MAX_LENGTH",128)}),o,i,c;if(t){let p=r.redis;o=new I(p,{maxAttempts:A("LOCKOUT_MAX_ATTEMPTS",5),lockDuration:A("LOCKOUT_DURATION_MINUTES",15)*60*1e3}),i=new v(p,{"auth:login":{window:A("RATE_LIMIT_AUTH_WINDOW_MS",9e5),max:A("RATE_LIMIT_AUTH_MAX_REQUESTS",10)},"api:general":{window:A("RATE_LIMIT_WINDOW_MS",6e4),max:A("RATE_LIMIT_MAX_REQUESTS",100)}}),c=new n(p,A("AUDIT_LOG_RETENTION_DAYS",30));}else o=new O({maxAttempts:A("LOCKOUT_MAX_ATTEMPTS",5),lockDuration:A("LOCKOUT_DURATION_MINUTES",15)*60*1e3}),i=new m({"auth:login":{window:A("RATE_LIMIT_AUTH_WINDOW_MS",9e5),max:A("RATE_LIMIT_AUTH_MAX_REQUESTS",10)},"api:general":{window:A("RATE_LIMIT_WINDOW_MS",6e4),max:A("RATE_LIMIT_MAX_REQUESTS",100)}}),c=P("AUDIT_LOG_ENABLED",true)?new p(A("AUDIT_LOG_RETENTION_DAYS",30)):void 0;let l=new q$1({redis:r,email:s,jwtSecret:S("APP_SECRET","change-me"),jwtExpiresIn:S("JWT_EXPIRES_IN","24h"),jwtIssuer:S("JWT_ISSUER","kyro-cms"),jwtAudience:S("JWT_AUDIENCE","kyro-cms-client"),passwordPolicy:n$1,lockout:o,rateLimiter:i,auditLogger:c,baseUrl:S("EMAIL_BASE_URL","http://localhost:4321"),emailVerificationRequired:P("EMAIL_VERIFICATION_REQUIRED",true)}),d=t?"distributed":a||We();return {authAdapter:r,databaseType:d,email:s,passwordPolicy:n$1,lockout:o,rateLimiter:i,auditLogger:c,routes:l}}var Ge=oe().catch(a=>(console.warn("[AuthConfig] Failed to initialize auth config:",a.message),null));var Jr=12,Yr="24h",Qr="7d",q=class{adapter;config;constructor(e,t){this.adapter=e,this.config={secret:t.secret,expiresIn:t.expiresIn??Yr,refreshExpiresIn:t.refreshExpiresIn??Qr,issuer:t.issuer??"kyro-cms",audience:t.audience??[],saltRounds:t.saltRounds??Jr};}async register(e){try{if(await this.adapter.findUserByEmail(e.email))return {success:!1,error:"Email already registered"};let r=await this.adapter.createUser({email:e.email,password:e.password,role:e.role??"customer",tenantId:e.tenantId});return this.createSessionForUser(r)}catch(t){return {success:false,error:String(t)}}}async login(e){try{let t=await this.adapter.verifyPassword(e.email,e.password);return t?this.createSessionForUser(t):{success:!1,error:"Invalid credentials"}}catch(t){return {success:false,error:String(t)}}}async logout(e){await this.adapter.deleteSession(e);}async refreshToken(e){try{let t=await this.adapter.findSessionByToken(e);if(!t||new Date(t.expiresAt)<new Date)return {success:!1,error:"Invalid or expired refresh token"};let r=await this.adapter.findUserById(t.userId);return r?(await this.adapter.deleteSession(e),this.createSessionForUser(r)):{success:!1,error:"User not found"}}catch(t){return {success:false,error:String(t)}}}async verifyToken(e){try{let{default:t}=await import('jsonwebtoken');return t.verify(e,this.config.secret,{issuer:this.config.issuer,audience:this.config.audience.length>0?this.config.audience[0]:void 0})}catch{return null}}async getUserFromToken(e){let t=await this.verifyToken(e);return t?this.adapter.findUserById(t.sub):null}async changePassword(e,t,r){try{let s=await this.adapter.findUserById(e);return s?await this.adapter.verifyPassword(s.email,t)?(await this.adapter.updateUser(e,{password:r}),await this.adapter.deleteUserSessions(e),{success:!0,user:s}):{success:!1,error:"Current password is incorrect"}:{success:!1,error:"User not found"}}catch(s){return {success:false,error:String(s)}}}async resetPassword(e,t){try{let r=await this.adapter.findUserByEmail(e);return r?(await this.adapter.updateUser(r.id,{password:t}),await this.adapter.deleteUserSessions(r.id),{success:!0,user:r}):{success:!1,error:"User not found"}}catch(r){return {success:false,error:String(r)}}}async sendEmailVerification(e){try{let{token:t,expiresAt:r}=await this.adapter.createEmailVerificationToken(e);return {success:!0}}catch(t){return {success:false,error:String(t)}}}async verifyEmail(e){try{return await this.adapter.verifyEmailToken(e)}catch(t){return {success:false,error:String(t)}}}async requestPasswordReset(e){try{let t=await this.adapter.createPasswordResetToken(e);return t.error?{success:!1,error:t.error}:{success:!0}}catch(t){return {success:false,error:String(t)}}}async resetPasswordWithToken(e,t){try{return await this.adapter.resetPasswordWithToken(e,t)}catch(r){return {success:false,error:String(r)}}}async deleteAccount(e){try{return await this.adapter.findUserById(e)?(await this.adapter.deleteUserSessions(e),await this.adapter.deleteUser(e),{success:!0}):{success:!1,error:"User not found"}}catch(t){return {success:false,error:String(t)}}}async createSessionForUser(e){let t=await this.generateToken(e),r=await this.adapter.createSession(e.id);return {success:true,user:e,session:r,token:t}}async generateToken(e){let{default:t}=await import('jsonwebtoken'),r={sub:e.id,email:e.email,role:e.role,tenantId:e.tenantId},s={expiresIn:this.parseExpiresIn(this.config.expiresIn)/1e3,issuer:this.config.issuer};return this.config.audience.length>0&&(s.audience=this.config.audience[0]),t.sign(r,this.config.secret,s)}async hashPassword(e){let{default:t}=await import('bcryptjs');return t.hash(e,this.config.saltRounds)}parseExpiresIn(e){if(typeof e=="number")return e;let t=e.match(/^(\d+)([smhd])$/);if(!t)return 864e5;let r=parseInt(t[1],10);switch(t[2]){case "s":return r*1e3;case "m":return r*6e4;case "h":return r*36e5;case "d":return r*864e5;default:return 864e5}}};function Zr(a,e){return new q(a,e)}function X(){return {enabled:true,draftsEnabled:true,publishEnabled:true,scheduleEnabled:false,versioningEnabled:true,maxVersionsPerDocument:50,autoPublish:false,requirePublishPermission:true}}var J=class{adapter;config;constructor(e,t){this.adapter=e,this.config={...X(),...t};}async createVersion(e){let r=((await this.adapter.getLatestVersion(e.collection,e.documentId))?.version??0)+1,s={...e,version:r},n=await this.adapter.createVersion(s);return this.config.maxVersionsPerDocument>0&&await this.pruneOldVersions(e.collection,e.documentId),n}async publishVersion(e){let t=await this.adapter.getVersion(e.collection,e.versionId);if(!t)throw new Error("Version not found");if(t.status==="published")throw new Error("Version is already published");await this.adapter.publishVersion(e);}async unpublishDocument(e,t){let r=await this.adapter.getVersions({collection:e,documentId:t,limit:1e3});for(let s of r)if(s.status==="published"){await this.createVersion({collection:e,documentId:t,data:s.data,status:"draft",createdBy:"system",changeDescription:"Unpublished document"});break}}async revertToVersion(e,t,r,s){if(!await this.adapter.getVersion(e,r))throw new Error("Version not found");return await this.adapter.revertToVersion({collection:e,documentId:t,versionId:r,userId:s})}async getVersionHistory(e,t,r=20,s=0){return this.adapter.getVersions({collection:e,documentId:t,limit:r,offset:s})}async compareTwoVersions(e,t,r,s){return this.adapter.compareVersions({collection:e,documentId:t,versionA:r,versionB:s})}async getLatestDraft(e,t){return this.adapter.getLatestVersion(e,t)}async getPublishedVersion(e,t){return this.adapter.getPublishedVersion(e,t)}async getVersion(e,t){return this.adapter.getVersion(e,t)}async schedulePublish(e,t,r,s){if(!this.config.scheduleEnabled)throw new Error("Scheduled publishing is not enabled");if(!await this.adapter.getVersion(e,r))throw new Error("Version not found")}async deleteVersionHistory(e,t){await this.adapter.deleteVersions(e,t);}async pruneOldVersions(e,t){let r=await this.adapter.getVersions({collection:e,documentId:t,limit:this.config.maxVersionsPerDocument+100});if(r.length<=this.config.maxVersionsPerDocument)return;r.slice(0,this.config.maxVersionsPerDocument);let n=r.slice(this.config.maxVersionsPerDocument);for(let o of n)if(o.status!=="published"){await this.adapter.deleteVersions(e,t);break}}};function es(a,e){return new J(a,e)}function ts(a){return a==="published"}function rs(a){return a==="draft"}function ss(a){return a==="archived"}function ns(a){return a?Array.isArray(a)?a:Object.values(a):[]}function os(a){return a?Array.isArray(a)?a:Object.values(a):[]}function qe(a){return {collections:ns(a.collections),globals:os(a.globals),adapter:a.adapter,plugins:a.plugins,auth:a.auth,cors:a.cors,admin:a.admin,upload:a.upload,graphQL:a.graphQL,typescript:a.typescript,localization:a.localization,rateLimit:a.rateLimit,debug:a.debug}}var is=qe;function as(a){let{siteSettings:e,seoSettings:t,title:r,description:s,image:n,url:o}=a;if(!e)return "";let i=e.siteName||"",c=r||t?.defaultTitle||i,l=t?.titleTemplate,d=t?.separator||" | ",u=t?.siteNameInTitle!==false,p=l?l.replace(/\{\{title\}\}/g,c).replace(/\{\{siteName\}\}/g,u?i:"").replace(/\{\{separator\}\}/g,d).replace(/\s+/g," ").trim():c,m=s||t?.defaultDescription||e.siteDescription||"",g=n||e.siteOgImage?.url||"",h=o||e.siteUrl||"",y=`
|
|
20
|
-
|
|
21
|
-
<meta name="
|
|
22
|
-
|
|
23
|
-
<
|
|
24
|
-
<meta name="robots" content="${f}">`);let N=t?.meta?.canonicalUrl||h;N&&(y+=`
|
|
25
|
-
<link rel="canonical" href="${N}">`);let Q=t?.meta?.ogType||"website";y+=`
|
|
26
|
-
<meta property="og:type" content="${Q}">
|
|
27
|
-
<meta property="og:title" content="${p}">
|
|
28
|
-
<meta property="og:description" content="${m}">
|
|
29
|
-
<meta property="og:site_name" content="${i}">
|
|
30
|
-
`,h&&(y+=`
|
|
31
|
-
<meta property="og:url" content="${h}">`),g&&(y+=`
|
|
32
|
-
<meta property="og:image" content="${g}">`),t?.social?.fbAppId&&(y+=`
|
|
33
|
-
<meta property="fb:app_id" content="${t.social.fbAppId}">`);let Z=t?.social?.twitterCardType||"summary_large_image";return y+=`
|
|
34
|
-
<meta name="twitter:card" content="${Z}">
|
|
35
|
-
<meta name="twitter:title" content="${p}">
|
|
36
|
-
<meta name="twitter:description" content="${m}">
|
|
37
|
-
`,t?.social?.twitterHandle&&(y+=`
|
|
38
|
-
<meta name="twitter:site" content="${t.social.twitterHandle}">`),g&&(y+=`
|
|
39
|
-
<meta name="twitter:image" content="${g}">`),e.enableI18n&&e.i18n?.language&&(y+=`
|
|
40
|
-
<meta http-equiv="content-language" content="${e.i18n.language}">`),y}function cs(a){if(!a||!a.analyticsEnabled||!a.analytics)return "";let{googleAnalyticsId:e,googleTagManagerId:t,plausibleDomain:r}=a.analytics,s="";return e&&(s+=`
|
|
1
|
+
import {createRequire}from'module';export{a as LocalAdapter,b as createLocalAdapter}from'./chunk-MZOWPV4D.js';export{a as RedisAuthAdapter}from'./chunk-TR3ZS3T3.js';import {b as b$1,a as a$5}from'./chunk-J6U5LWZ7.js';export{k as allGlobalSettings,q as blogCollections,l as coreGlobalSettings,V as createTemplateConfig,r as ecommerceCollections,s as ecommerceGlobals,t as kitchenSinkCollections,v as mediaCollections,a as minimalCollections,U as templateCollections}from'./chunk-7V67ONUD.js';export{a as kyro}from'./chunk-VJ2WMKPK.js';import {f}from'./chunk-DT3LHRQT.js';export{t as AnalyticsPlugin,u as CommentsPlugin,a as ConfigValidationError,z as Kyro,q as KyroPlugin,B as Logger,r as PluginManager,m as Registry,v as ReviewsPlugin,s as SEOPlugin,w as WishlistPlugin,y as applyCollectionOverrides,i as collectionToCreateZod,j as collectionToUpdateZod,k as collectionToWhereZod,h as collectionToZod,A as createKyro,p as createRegistry,g as fieldToZod,n as getRegistry,l as globalToZod,C as logger,x as presetPlugins,o as resetRegistry,b as validateCollection,e as validateConfig,d as validateFields,c as validateGlobal,f as z}from'./chunk-DT3LHRQT.js';export{e as autoBootstrap,a as bootstrapAdmin,f as bootstrapWithRetry,d as getBootstrapFromEnv}from'./chunk-DS5DE5BU.js';import'./chunk-R3NEPC4I.js';export{a as CSSGenerator,g as createAdminStyling,d as defaultDarkTheme,h as defaultFieldStyling,c as defaultLightTheme,e as ecommerce2026Theme,f as generateCSSVariables,b as generateTailwindConfig}from'./chunk-K7YNEKVE.js';export{q as ALL_FIELD_TYPES,n as COMPLEX_FIELD_TYPES,p as LAYOUT_FIELD_TYPES,m as PRIMITIVE_FIELD_TYPES,o as RELATIONAL_FIELD_TYPES,d as isArrayField,f as isBlocksField,e as isGroupField,h as isImageField,k as isLayoutField,b as isNumberField,c as isRelationshipField,i as isRichTextField,j as isSelectField,a as isTextField,g as isUploadField,t as normalizeRichTextValue,u as renderRichText,s as richTextStyles}from'./chunk-HLAEJB5R.js';import'./chunk-IPXOY4RI.js';export{a as createContext,g as createCountProcedure,d as createCreateProcedure,f as createDeleteProcedure,h as createDynamicRouter,c as createFindByIDProcedure,b as createFindProcedure,i as createKyroServer,e as createUpdateProcedure}from'./chunk-JUJZOG6P.js';export{J as buildGraphQLSchema,K as createGraphQLSchema}from'./chunk-7T35572E.js';import {hb,fb,jb,ib,lb,mb,gb}from'./chunk-PTWQQMWW.js';export{jb as AuditLogger,lb as InMemoryAuditLogger,ib as InMemoryRateLimiter,pb as MediaService,kb as createAuditContext,qb as createHonoApp,_a as createLocalStorage,rb as createRESTAPI,cb as getAppSecret,db as getEncryptionKey,eb as getSessionConfig,ob as isEdgeRuntime,bb as loadSecrets,Za as resolveProvider,ab as setDbAdapter}from'./chunk-PTWQQMWW.js';import {k as k$1,l}from'./chunk-45TJAB5X.js';export{j as ConfigService,k as EmailTransport,l as PasswordPolicy,i as getEmailTemplates,g as renderAccountLocked,a as renderBaseLayout,f as renderMagicLink,e as renderPasswordChanged,c as renderResetPassword,h as renderUserInvite,b as renderVerifyEmail,d as renderWelcome}from'./chunk-45TJAB5X.js';import'./chunk-R4LXRAMX.js';import {a as a$2}from'./chunk-XBH4YMC7.js';export{a as SQLiteAuthAdapter}from'./chunk-XBH4YMC7.js';import'./chunk-PL5AIE6F.js';import'./chunk-MY42EWZP.js';import'./chunk-KH7LM52S.js';import'./chunk-SYEP5QLG.js';import'./chunk-7I6URA6F.js';import'./chunk-A73AVVFR.js';import'./chunk-XOACKBG7.js';import'./chunk-2WFTETFB.js';import'./chunk-ATBH763U.js';import'./chunk-ICVQWR2A.js';import'./chunk-OSAVAYJZ.js';import'./chunk-UD6ZPO7T.js';export{e as ALL_WEBHOOK_EVENTS,f as WEBHOOK_COLLECTION,g as WEBHOOK_DELIVERY_COLLECTION,d as WEBHOOK_EVENTS,n as WebhookService,l as buildDeliveryRecord,m as createTestPayload,o as createWebhookService,j as deliverWebhook,k as deliverWithRetry,i as generateWebhookSecret,h as signPayload}from'./chunk-NWCREF47.js';export{a as evaluateAccess,c as getWhereClause,b as mergeWhereClauses}from'./chunk-E27KEZPT.js';export{b as KyroPubSub,c as KyroWSServer,a as PubSub,d as createWSServer}from'./chunk-6MSS5X77.js';import'./chunk-WSP7PSXC.js';import'./chunk-UB5TJHQR.js';export{c as DrizzleAdapter,b as collectionToDrizzleSchema,f as createDatabase,d as createDrizzleAdapter,a as fieldToDrizzleType,g as runMigrations,h as seedDefaultRoles}from'./chunk-ZJE3VAAW.js';import'./chunk-WGESLAWV.js';import'./chunk-HT44I66C.js';import'./chunk-OMWQVPV7.js';import'./chunk-VBPAAQEF.js';import {a as a$3}from'./chunk-SVYUTQVE.js';export{a as PostgresAuthAdapter}from'./chunk-SVYUTQVE.js';import'./chunk-VIUU4D5I.js';import'./chunk-66BJXVFJ.js';import'./chunk-2BUODBE2.js';import'./chunk-IP6JUEH3.js';import'./chunk-7AQSH3KR.js';export{a as MongoDBAdapter,b as createMongoDBAdapter}from'./chunk-EOOZDOL7.js';import {a as a$1}from'./chunk-6QWLXJ7L.js';export{a as MongoDBAuthAdapter}from'./chunk-6QWLXJ7L.js';import {a as a$4}from'./chunk-MCZ3YZ2L.js';export{a as AbstractBaseAdapter}from'./chunk-MCZ3YZ2L.js';import {a}from'./chunk-CGPAS4U5.js';import'./chunk-BPMA2ECA.js';import'./chunk-BLH2MRK4.js';import'./chunk-6KRR7YHA.js';import {g}from'./chunk-C2PXMVR5.js';import ee,{randomBytes}from'crypto';import {readFileSync}from'fs';import Ze,{join,resolve}from'path';createRequire(import.meta.url);
|
|
2
|
+
g();g();g();g();async function Fe(n,e){let t=e.data;for(let r of n){let o=await r({...e,data:t});o!==void 0&&(t=o);}return t}async function jr(n,e){return Fe(n,e)}g();g();g();var E=class extends a$4{connectionString;constructor(e){super(),this.connectionString=e.connectionString;}async connect(){this.connected=true;}async disconnect(){this.connected=false;}async query(e,t=[]){if(!this.connectionString)throw new Error("NeonAdapter: Connection string is required.");try{let r=await fetch(`${this.connectionString}/sql`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({query:e,params:t})});return r.ok?(await r.json()).rows||[]:[]}catch{return []}}async find(e){return {docs:[],totalDocs:0,limit:e.limit||10,totalPages:1,page:e.page||1,hasNextPage:false,hasPrevPage:false}}async findByID(e){return null}async create(e){return e.data}async update(e){return e.data}async delete(e){return {success:true,id:e.id}}async count(e){return 0}async findOne(e){return null}async findVersions(e){return {docs:[],totalDocs:0,limit:10,totalPages:1,page:1,hasNextPage:false,hasPrevPage:false}}async findVersionByID(e){return null}async createVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async updateLatestVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async deleteVersions(e){}};function Ke(n){return new E(n)}g();var O=class extends a$4{url;authToken;constructor(e){super(),this.url=e.url.replace(/^libsql:\/\//,"https://"),this.authToken=e.authToken;}async connect(){this.connected=true;}async disconnect(){this.connected=false;}async query(e,t=[]){if(!this.url)throw new Error("TursoAdapter: Database URL is required.");try{let r={"Content-Type":"application/json"};this.authToken&&(r.Authorization=`Bearer ${this.authToken}`);let o=await fetch(`${this.url}/v2/pipeline`,{method:"POST",headers:r,body:JSON.stringify({requests:[{type:"execute",stmt:{sql:e,args:t.map(l=>({type:"text",value:String(l)}))}},{type:"close"}]})});if(!o.ok)return [];let i=(await o.json())?.results?.[0]?.response?.result;if(!i||!i.rows)return [];let c=i.cols.map(l=>l.name);return i.rows.map(l=>{let p={};return c.forEach((g,m)=>{p[g]=l[m]?.value??null;}),p})}catch{return []}}async find(e){return {docs:[],totalDocs:0,limit:e.limit||10,totalPages:1,page:e.page||1,hasNextPage:false,hasPrevPage:false}}async findByID(e){return null}async create(e){return e.data}async update(e){return e.data}async delete(e){return {success:true,id:e.id}}async count(e){return 0}async findOne(e){return null}async findVersions(e){return {docs:[],totalDocs:0,limit:10,totalPages:1,page:1,hasNextPage:false,hasPrevPage:false}}async findVersionByID(e){return null}async createVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async updateLatestVersion(e){return {id:"v1",parentId:e.documentId,version:e.version||1,snapshot:e.snapshot||{},createdAt:new Date().toISOString()}}async deleteVersions(e){}};function Be(n){return new O(n)}g();g();g();g();var Wr={maxAttempts:5,lockDuration:9e5,notifyUser:true,notifyAdmin:true,adminNotifyAfter:3},R=class{redis;prefix;config;constructor(e,t={},r="kyro:lockout:"){this.redis=e,this.prefix=r,this.config={...Wr,...t};}lockKey(e){return `${this.prefix}${e}`}historyKey(e){return `${this.prefix}${e}:history`}async checkLockout(e){let t=this.lockKey(e),r=await this.redis.hgetall(t);if(!r||Object.keys(r).length===0)return {locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};let o=parseInt(r.attempts,10),s=r.lockedUntil?new Date(parseInt(r.lockedUntil,10)):void 0;return s&&s>new Date?{locked:true,attemptsRemaining:0,lockedUntil:s,totalAttempts:o}:s&&s<=new Date?(await this.unlockAccount(e),{locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0}):{locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-o),totalAttempts:o}}async recordFailedAttempt(e){let t=this.lockKey(e),r=this.historyKey(e),o=Date.now(),s=await this.redis.hincrby(t,"attempts",1);if(await this.redis.hset(t,"lastAttempt",o.toString()),await this.redis.lpush(r,o.toString()),await this.redis.ltrim(r,0,99),s>=this.config.maxAttempts){let i=new Date(o+this.config.lockDuration);return await this.redis.hset(t,{lockedAt:o.toString(),lockedUntil:i.getTime().toString()}),await this.redis.expire(t,Math.ceil(this.config.lockDuration/1e3)+3600),{locked:true,attemptsRemaining:0,lockedUntil:i,totalAttempts:s}}return {locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-s),totalAttempts:s}}async lockAccount(e,t){let r=this.lockKey(e),o=Date.now(),s=t||this.config.lockDuration,i=new Date(o+s),c=this.redis.pipeline();c.hset(r,{attempts:this.config.maxAttempts.toString(),lockedAt:o.toString(),lockedUntil:i.getTime().toString()}),c.expire(r,Math.ceil(s/1e3)+3600),await c.exec();}async unlockAccount(e){let t=this.lockKey(e);await this.redis.del(t);}async resetAttempts(e){let t=this.lockKey(e);(await this.redis.hgetall(t)).lockedAt?await this.redis.hset(t,{attempts:"0",lockedAt:"",lockedUntil:""}):await this.redis.del(t);}async getLockoutHistory(e,t=10){let r=this.historyKey(e);return (await this.redis.lrange(r,0,t-1)).map(s=>new Date(parseInt(s,10)))}async getLockoutStats(e){let t=this.historyKey(e),r=await this.redis.lrange(t,0,-1),o=r.filter((i,c)=>(c+1)%this.config.maxAttempts===0).length,s=await this.redis.hget(this.lockKey(e),"lockedAt");return {totalFailedAttempts:r.length,lockoutCount:o,lastLockout:s?new Date(parseInt(s,10)):null,averageAttemptsBeforeLockout:o>0?this.config.maxAttempts:0}}shouldNotifyAdmin(e){return this.config.notifyAdmin&&e>=this.config.adminNotifyAfter}getConfig(){return {...this.config}}setConfig(e){this.config={...this.config,...e};}};g();var qr={"auth:login":{window:9e5,max:5},"auth:register":{window:36e5,max:3},"auth:forgot":{window:36e5,max:3},"auth:reset":{window:36e5,max:5},"auth:verify":{window:36e5,max:5},"api:general":{window:6e4,max:100},"api:authenticated":{window:6e4,max:200}},v=class{redis;prefix;limits;userLimits;constructor(e,t,r,o="kyro:ratelimit:"){this.redis=e,this.prefix=o,this.limits={...qr,...t},this.userLimits=r||{"user:api":{window:6e4,max:500},"user:write":{window:36e5,max:100}};}getKey(e,t){return `${this.prefix}${e}:${t}`}async check(e,t){let r=this.limits[e]||this.limits["api:general"],o=this.getKey(e,t),s=Date.now(),i=s-r.window,c=this.redis.pipeline();c.zremrangebyscore(o,0,i),c.zcard(o),c.zadd(o,s,`${s}:${Math.random()}`),c.expire(o,Math.ceil(r.window/1e3)+1);let p=(await c.exec())?.[1]?.[1]||0;if(p>=r.max){let g=await this.redis.zrange(o,0,0,"WITHSCORES"),m=g.length>1?parseInt(g[1],10)+r.window:s+r.window;return {allowed:false,remaining:0,resetAt:m,retryAfter:Math.ceil((m-s)/1e3)}}return {allowed:true,remaining:r.max-p-1,resetAt:s+r.window}}async checkUser(e,t,r){let o=this.userLimits[e]||this.userLimits["user:api"],s=this.getKey(`user:${e}:${t}`,r),i=Date.now(),c=i-o.window,l=this.redis.pipeline();l.zremrangebyscore(s,0,c),l.zcard(s),l.zadd(s,i,`${i}:${Math.random()}`),l.expire(s,Math.ceil(o.window/1e3)+1);let g=(await l.exec())?.[1]?.[1]||0;if(g>=o.max){let m=await this.redis.zrange(s,0,0,"WITHSCORES"),f=m.length>1?parseInt(m[1],10)+o.window:i+o.window;return {allowed:false,remaining:0,resetAt:f,retryAfter:Math.ceil((f-i)/1e3)}}return {allowed:true,remaining:o.max-g-1,resetAt:i+o.window}}async reset(e,t){let r=this.getKey(e,t);await this.redis.del(r);}async resetUser(e,t,r){let o=this.getKey(`user:${e}:${t}`,r);await this.redis.del(o);}async getStatus(e,t){let r=this.limits[e]||this.limits["api:general"],o=this.getKey(e,t),s=Date.now(),i=s-r.window;await this.redis.zremrangebyscore(o,0,i);let c=await this.redis.zcard(o);return {count:c,limit:r.max,remaining:Math.max(0,r.max-c),resetAt:s+r.window}}setLimit(e,t){this.limits[e]=t;}setUserLimit(e,t){this.userLimits[e]=t;}};g();g();g();var D=class{users=new Map;sessions=new Map;refreshTokens=new Map;emailToUserId=new Map;passwordHistory=new Map;emailVerificationTokens=new Map;passwordResetTokens=new Map;auditLogs=[];externalDb=false;constructor(){}async connect(){}async disconnect(){this.users.clear(),this.sessions.clear(),this.refreshTokens.clear(),this.emailToUserId.clear(),this.passwordHistory.clear();}async createUser(e){let t=randomBytes(16).toString("hex"),r=new Date().toISOString(),o=await this.hashPassword(e.password),s={id:t,email:e.email.toLowerCase(),passwordHash:o,role:e.role||"customer",tenantId:e.tenantId,createdAt:r,updatedAt:r};return this.users.set(t,s),this.emailToUserId.set(e.email.toLowerCase(),t),this.passwordHistory.set(t,[]),s}async findUserByEmail(e){let t=this.emailToUserId.get(e.toLowerCase());return t?this.findUserById(t):null}async findUserById(e){return this.users.get(e)||null}async updateUser(e,t){let r=await this.findUserById(e);if(!r)return null;let o={...r,...t,id:e,updatedAt:new Date().toISOString()};return t.email&&t.email!==r.email&&(this.emailToUserId.delete(r.email.toLowerCase()),this.emailToUserId.set(t.email.toLowerCase(),e)),this.users.set(e,o),o}async deleteUser(e){let t=await this.findUserById(e);return t?(this.users.delete(e),this.emailToUserId.delete(t.email.toLowerCase()),this.refreshTokens.forEach((r,o)=>{this.sessions.get(r)?.userId===e&&(this.refreshTokens.delete(o),this.sessions.delete(r));}),this.passwordHistory.delete(e),this.sessions.forEach((r,o)=>{r.userId===e&&this.sessions.delete(o);}),true):false}async hashPassword(e){return (await import('./bcryptjs-AZA6WEN2.js')).default.hash(e,12)}async verifyPassword(e,t){let r=await this.findUserByEmail(e);return !r||!r.passwordHash?null:await(await import('./bcryptjs-AZA6WEN2.js')).default.compare(t,r.passwordHash)?r:null}async createSession(e,t={}){let r=randomBytes(32).toString("hex"),o=randomBytes(32).toString("base64url"),s=randomBytes(32).toString("base64url"),i=new Date,c={id:r,userId:e,token:o,refreshToken:s,expiresAt:new Date(i.getTime()+86400*1e3).toISOString(),createdAt:i.toISOString(),ipAddress:t.ipAddress,userAgent:t.userAgent};return this.sessions.set(r,c),this.refreshTokens.set(s,r),c}async findSessionByToken(e){return this.sessions.get(e)||null}async findSessionByRefreshToken(e){let t=this.refreshTokens.get(e);return t&&this.sessions.get(t)||null}async deleteSession(e){let t=this.sessions.get(e);return t?(t.refreshToken&&this.refreshTokens.delete(t.refreshToken),this.sessions.delete(e),true):false}async deleteUserSessions(e){let t=0;return this.sessions.forEach((r,o)=>{r.userId===e&&(r.refreshToken&&this.refreshTokens.delete(r.refreshToken),this.sessions.delete(o),t++);}),t}async addPasswordToHistory(e,t){let r=this.passwordHistory.get(e)||[];r.push(t),r.length>5&&r.splice(0,r.length-5),this.passwordHistory.set(e,r);}async getPasswordHistory(e,t=5){return this.passwordHistory.get(e)||[]}async isPasswordInHistory(e,t,r=5){let o=await this.getPasswordHistory(t,r),s=(await import('./bcryptjs-AZA6WEN2.js')).default;for(let i of o)if(await s.compare(e,i))return true;return false}async createEmailVerificationToken(e){let t=randomBytes(32).toString("hex"),r=new Date(Date.now()+1440*60*1e3);return this.emailVerificationTokens.set(t,{userId:e,expiresAt:r}),{token:t,expiresAt:r}}async verifyEmailToken(e){let t=this.emailVerificationTokens.get(e);return !t||t.expiresAt<new Date?(this.emailVerificationTokens.delete(e),{success:false,error:"Invalid or expired token"}):(this.emailVerificationTokens.delete(e),{success:true,userId:t.userId})}async createPasswordResetToken(e){let t=await this.findUserByEmail(e);if(!t)return {token:"",expiresAt:new Date,error:"User not found"};let r=randomBytes(32).toString("hex"),o=new Date(Date.now()+3600*1e3);return this.passwordResetTokens.set(r,{userId:t.id,expiresAt:o}),{token:r,expiresAt:o}}async resetPasswordWithToken(e,t){let r=this.passwordResetTokens.get(e);if(!r||r.expiresAt<new Date)return this.passwordResetTokens.delete(e),{success:false,error:"Invalid or expired token"};let o=await this.hashPassword(t);return await this.updateUser(r.userId,{passwordHash:o}),this.passwordResetTokens.delete(e),{success:true}}async hasAnyUsers(){return this.users.size>0}async findAuditLogs(e){let{limit:t=50,offset:r=0}=e,o=this.auditLogs.slice().reverse();return e.userId&&(o=o.filter(s=>s.userId===e.userId)),e.action&&(Array.isArray(e.action)?o=o.filter(s=>e.action.includes(String(s.action))):o=o.filter(s=>s.action===e.action)),e.resource&&(o=o.filter(s=>s.resource===e.resource)),e.success!==void 0&&(o=o.filter(s=>s.success===e.success)),{logs:o.slice(r,r+t),total:o.length}}async createAuditLog(e){let t=randomBytes(16).toString("hex"),o={...e,id:t,timestamp:new Date};return this.auditLogs.push(o),o}};g();var I=class{storage=new Map;history=new Map;config;constructor(e={}){this.config={maxAttempts:5,lockDuration:9e5,notifyUser:true,notifyAdmin:true,adminNotifyAfter:3,...e};}async checkLockout(e){let t=Date.now(),r=this.storage.get(e);if(r&&r.lockedUntil!==null&&r.lockedUntil<=t)return await this.resetAttempts(e),{locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};if(!r)return {locked:false,attemptsRemaining:this.config.maxAttempts,totalAttempts:0};let{attempts:o,lockedUntil:s}=r;return s!==null&&s>t?{locked:true,attemptsRemaining:0,lockedUntil:new Date(s),totalAttempts:o}:{locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-o),totalAttempts:o}}async recordFailedAttempt(e){let t=Date.now(),r=this.storage.get(e)||{attempts:0,lastAttempt:null,lockedAt:null,lockedUntil:null};r.attempts+=1,r.lastAttempt=t;let o=this.history.get(e)||[];if(o.push(t),o.length>100&&o.splice(0,o.length-100),this.history.set(e,o),this.storage.set(e,r),r.attempts>=this.config.maxAttempts){let s=new Date(t+this.config.lockDuration);return r.lockedAt=t,r.lockedUntil=s.getTime(),this.storage.set(e,r),{locked:true,attemptsRemaining:0,lockedUntil:s,totalAttempts:r.attempts}}return {locked:false,attemptsRemaining:Math.max(0,this.config.maxAttempts-r.attempts),totalAttempts:r.attempts}}async lockAccount(e,t){let r=Date.now(),o=t||this.config.lockDuration,s=new Date(r+o),i=this.storage.get(e)||{attempts:0,lastAttempt:null,lockedAt:null,lockedUntil:null};i.attempts=this.config.maxAttempts,i.lockedAt=r,i.lockedUntil=s.getTime(),this.storage.set(e,i);}async unlockAccount(e){await this.resetAttempts(e);}async resetAttempts(e){let t=this.storage.get(e);t&&(t.attempts=0,t.lockedAt=null,t.lockedUntil=null,this.storage.set(e,t)),this.history.delete(e);}async getLockoutHistory(e,t=10){return (this.history.get(e)||[]).slice(-t).reverse().map(o=>new Date(o))}async getLockoutStats(e){let r=(this.history.get(e)||[]).length,o=Math.floor(r/this.config.maxAttempts),s=null,i=this.storage.get(e);i&&i.lockedAt!==null&&(s=new Date(i.lockedAt));let c=o>0?this.config.maxAttempts:0;return {totalFailedAttempts:r,lockoutCount:o,lastLockout:s,averageAttemptsBeforeLockout:c}}shouldNotifyAdmin(e){return this.config.notifyAdmin&&e>=this.config.adminNotifyAfter}getConfig(){return {...this.config}}setConfig(e){this.config={...this.config,...e};}};function b(n,e=""){return process.env[n]||e}function k(n,e=false){let t=process.env[n];return t?t.toLowerCase()==="true":e}function y(n,e=0){let t=process.env[n];return t?parseInt(t,10):e}function Ne(){let n=process.env.KYRO_AUTH_DATABASE?.toLowerCase();if(n&&["sqlite","postgres","mongodb","memory"].includes(n))return n;try{let e=join(process.cwd(),"kyro.config.ts"),t=readFileSync(e,"utf8");if(t.includes("createLocalAdapter"))return "sqlite";if(t.includes("createDrizzleAdapter"))return t.includes("postgres")||t.includes("postgresql"),"postgres";if(t.includes("createMongoDBAdapter"))return "mongodb"}catch{}return "memory"}async function Yr(n){let e=process.cwd(),t=e.endsWith("admin")?join(e,".."):e,r=resolve(t,"data","auth.db");switch(n){case "sqlite":return new a$2({path:b("KYRO_AUTH_DB_PATH",r)});case "postgres":{let o=b("DATABASE_URL","");if(o){let s,i;try{s=(await import('./postgres-js-INQPBHJP.js')).drizzle,i=await import('./src-GZRZ4VAO.js');}catch{a(["postgres","drizzle-orm"]),s=(await import('./postgres-js-INQPBHJP.js')).drizzle,i=await import('./src-GZRZ4VAO.js');}let c=i.default(o,{onnotice:()=>{}}),l=s(c);return new a$3({db:l})}return new a$2({path:b("KYRO_AUTH_DB_PATH",r)})}case "mongodb":{let o=b("MONGODB_URI","");if(o){let s;try{s=(await import('./lib-IYW32OER.js')).MongoClient;}catch{a(["mongodb"]),s=(await import('./lib-IYW32OER.js')).MongoClient;}let i=new s(o);await i.connect();let l=new URL(o).pathname.replace(/^\//,"")||"kyro_cms",p=i.db(l);return new a$1({db:p})}return new a$2({path:b("KYRO_AUTH_DB_PATH",r)})}default:return new D}}async function G(n,e){let t=k("KYRO_DISTRIBUTED",false),r;if(t){let{RedisAuthAdapter:m}=await import('./redis-adapter-SXOXLHNH.js'),f=b("REDIS_URL","redis://localhost:6379"),w=k("REDIS_TLS",false),h=new m({url:f,tls:w});await h.connect?.(),r=h;}else {let m=n||Ne();r=await Yr(m),r.connect&&await r.connect();}let o=e?await k$1.fromConfig(e).catch(()=>null)||k$1.fromEnv()||void 0:k$1.fromEnv()||void 0,s=new l({minLength:y("PASSWORD_MIN_LENGTH",12),requireUppercase:k("PASSWORD_REQUIRE_UPPERCASE",true),requireLowercase:k("PASSWORD_REQUIRE_LOWERCASE",true),requireNumbers:k("PASSWORD_REQUIRE_NUMBERS",true),requireSpecialChars:k("PASSWORD_REQUIRE_SPECIAL",true),preventReuse:y("PASSWORD_PREVENT_REUSE",5),maxLength:y("PASSWORD_MAX_LENGTH",128)}),i,c,l$1;if(t){let f=r.redis;i=new R(f,{maxAttempts:y("LOCKOUT_MAX_ATTEMPTS",5),lockDuration:y("LOCKOUT_DURATION_MINUTES",15)*60*1e3}),c=new v(f,{"auth:login":{window:y("RATE_LIMIT_AUTH_WINDOW_MS",9e5),max:y("RATE_LIMIT_AUTH_MAX_REQUESTS",10)},"api:general":{window:y("RATE_LIMIT_WINDOW_MS",6e4),max:y("RATE_LIMIT_MAX_REQUESTS",100)}}),l$1=new jb(f,y("AUDIT_LOG_RETENTION_DAYS",30));}else i=new I({maxAttempts:y("LOCKOUT_MAX_ATTEMPTS",5),lockDuration:y("LOCKOUT_DURATION_MINUTES",15)*60*1e3}),c=new ib({"auth:login":{window:y("RATE_LIMIT_AUTH_WINDOW_MS",9e5),max:y("RATE_LIMIT_AUTH_MAX_REQUESTS",10)},"api:general":{window:y("RATE_LIMIT_WINDOW_MS",6e4),max:y("RATE_LIMIT_MAX_REQUESTS",100)}}),l$1=k("AUDIT_LOG_ENABLED",true)?new lb(y("AUDIT_LOG_RETENTION_DAYS",30)):void 0;let p=new mb({redis:r,email:o,jwtSecret:b("APP_SECRET","change-me"),jwtExpiresIn:b("JWT_EXPIRES_IN","24h"),jwtIssuer:b("JWT_ISSUER","kyro-cms"),jwtAudience:b("JWT_AUDIENCE","kyro-cms-client"),passwordPolicy:s,lockout:i,rateLimiter:c,auditLogger:l$1,baseUrl:b("EMAIL_BASE_URL","http://localhost:4321"),emailVerificationRequired:k("EMAIL_VERIFICATION_REQUIRED",true)}),g=t?"distributed":n||Ne();return {authAdapter:r,databaseType:g,email:o,passwordPolicy:s,lockout:i,rateLimiter:c,auditLogger:l$1,routes:p}}var ze=G().catch(n=>(console.warn("[AuthConfig] Failed to initialize auth config:",n.message),null));var Jr=12,Xr="24h",Zr="7d",B=class{adapter;config;constructor(e,t){this.adapter=e,this.config={secret:t.secret,expiresIn:t.expiresIn??Xr,refreshExpiresIn:t.refreshExpiresIn??Zr,issuer:t.issuer??"kyro-cms",audience:t.audience??[],saltRounds:t.saltRounds??Jr};}async register(e){try{if(await this.adapter.findUserByEmail(e.email))return {success:!1,error:"Email already registered"};let r=await this.adapter.createUser({email:e.email,password:e.password,role:e.role??"customer",tenantId:e.tenantId});return this.createSessionForUser(r)}catch(t){return {success:false,error:String(t)}}}async login(e){try{let t=await this.adapter.verifyPassword(e.email,e.password);return t?this.createSessionForUser(t):{success:!1,error:"Invalid credentials"}}catch(t){return {success:false,error:String(t)}}}async logout(e){await this.adapter.deleteSession(e);}async refreshToken(e){try{let t=await this.adapter.findSessionByToken(e);if(!t||new Date(t.expiresAt)<new Date)return {success:!1,error:"Invalid or expired refresh token"};let r=await this.adapter.findUserById(t.userId);return r?(await this.adapter.deleteSession(e),this.createSessionForUser(r)):{success:!1,error:"User not found"}}catch(t){return {success:false,error:String(t)}}}async verifyToken(e){try{let{default:t}=await import('./jsonwebtoken-S7BG2YWK.js');return t.verify(e,this.config.secret,{issuer:this.config.issuer,audience:this.config.audience.length>0?this.config.audience[0]:void 0})}catch{return null}}async getUserFromToken(e){let t=await this.verifyToken(e);return t?this.adapter.findUserById(t.sub):null}async changePassword(e,t,r){try{let o=await this.adapter.findUserById(e);return o?await this.adapter.verifyPassword(o.email,t)?(await this.adapter.updateUser(e,{password:r}),await this.adapter.deleteUserSessions(e),{success:!0,user:o}):{success:!1,error:"Current password is incorrect"}:{success:!1,error:"User not found"}}catch(o){return {success:false,error:String(o)}}}async resetPassword(e,t){try{let r=await this.adapter.findUserByEmail(e);return r?(await this.adapter.updateUser(r.id,{password:t}),await this.adapter.deleteUserSessions(r.id),{success:!0,user:r}):{success:!1,error:"User not found"}}catch(r){return {success:false,error:String(r)}}}async sendEmailVerification(e){try{let{token:t,expiresAt:r}=await this.adapter.createEmailVerificationToken(e);return {success:!0}}catch(t){return {success:false,error:String(t)}}}async verifyEmail(e){try{return await this.adapter.verifyEmailToken(e)}catch(t){return {success:false,error:String(t)}}}async requestPasswordReset(e){try{let t=await this.adapter.createPasswordResetToken(e);return t.error?{success:!1,error:t.error}:{success:!0}}catch(t){return {success:false,error:String(t)}}}async resetPasswordWithToken(e,t){try{return await this.adapter.resetPasswordWithToken(e,t)}catch(r){return {success:false,error:String(r)}}}async deleteAccount(e){try{return await this.adapter.findUserById(e)?(await this.adapter.deleteUserSessions(e),await this.adapter.deleteUser(e),{success:!0}):{success:!1,error:"User not found"}}catch(t){return {success:false,error:String(t)}}}async createSessionForUser(e){let t=await this.generateToken(e),r=await this.adapter.createSession(e.id);return {success:true,user:e,session:r,token:t}}async generateToken(e){let{default:t}=await import('./jsonwebtoken-S7BG2YWK.js'),r={sub:e.id,email:e.email,role:e.role,tenantId:e.tenantId},o={expiresIn:this.parseExpiresIn(this.config.expiresIn)/1e3,issuer:this.config.issuer};return this.config.audience.length>0&&(o.audience=this.config.audience[0]),t.sign(r,this.config.secret,o)}async hashPassword(e){let{default:t}=await import('./bcryptjs-AZA6WEN2.js');return t.hash(e,this.config.saltRounds)}parseExpiresIn(e){if(typeof e=="number")return e;let t=e.match(/^(\d+)([smhd])$/);if(!t)return 864e5;let r=parseInt(t[1],10);switch(t[2]){case "s":return r*1e3;case "m":return r*6e4;case "h":return r*36e5;case "d":return r*864e5;default:return 864e5}}};function eo(n,e){return new B(n,e)}g();g();function N(){return {enabled:true,draftsEnabled:true,publishEnabled:true,scheduleEnabled:false,versioningEnabled:true,maxVersionsPerDocument:50,autoPublish:false,requirePublishPermission:true}}var $=class{adapter;config;constructor(e,t){this.adapter=e,this.config={...N(),...t};}async createVersion(e){let r=((await this.adapter.getLatestVersion(e.collection,e.documentId))?.version??0)+1,o={...e,version:r},s=await this.adapter.createVersion(o);return this.config.maxVersionsPerDocument>0&&await this.pruneOldVersions(e.collection,e.documentId),s}async publishVersion(e){let t=await this.adapter.getVersion(e.collection,e.versionId);if(!t)throw new Error("Version not found");if(t.status==="published")throw new Error("Version is already published");await this.adapter.publishVersion(e);}async unpublishDocument(e,t){let r=await this.adapter.getVersions({collection:e,documentId:t,limit:1e3});for(let o of r)if(o.status==="published"){await this.createVersion({collection:e,documentId:t,data:o.data,status:"draft",createdBy:"system",changeDescription:"Unpublished document"});break}}async revertToVersion(e,t,r,o){if(!await this.adapter.getVersion(e,r))throw new Error("Version not found");return await this.adapter.revertToVersion({collection:e,documentId:t,versionId:r,userId:o})}async getVersionHistory(e,t,r=20,o=0){return this.adapter.getVersions({collection:e,documentId:t,limit:r,offset:o})}async compareTwoVersions(e,t,r,o){return this.adapter.compareVersions({collection:e,documentId:t,versionA:r,versionB:o})}async getLatestDraft(e,t){return this.adapter.getLatestVersion(e,t)}async getPublishedVersion(e,t){return this.adapter.getPublishedVersion(e,t)}async getVersion(e,t){return this.adapter.getVersion(e,t)}async schedulePublish(e,t,r,o){if(!this.config.scheduleEnabled)throw new Error("Scheduled publishing is not enabled");if(!await this.adapter.getVersion(e,r))throw new Error("Version not found")}async deleteVersionHistory(e,t){await this.adapter.deleteVersions(e,t);}async pruneOldVersions(e,t){let r=await this.adapter.getVersions({collection:e,documentId:t,limit:this.config.maxVersionsPerDocument+100});if(r.length<=this.config.maxVersionsPerDocument)return;r.slice(0,this.config.maxVersionsPerDocument);let s=r.slice(this.config.maxVersionsPerDocument);for(let i of s)if(i.status!=="published"){await this.adapter.deleteVersions(e,t);break}}};function to(n,e){return new $(n,e)}function ro(n){return n==="published"}function oo(n){return n==="draft"}function no(n){return n==="archived"}g();function so(n){return n?Array.isArray(n)?n:Object.values(n):[]}function io(n){return n?Array.isArray(n)?n:Object.values(n):[]}function je(n){return {collections:so(n.collections),globals:io(n.globals),adapter:n.adapter,plugins:n.plugins,auth:n.auth,cors:n.cors,admin:n.admin,upload:n.upload,graphQL:n.graphQL,typescript:n.typescript,localization:n.localization,rateLimit:n.rateLimit,debug:n.debug}}var ao=je;g();function co(n){let{siteSettings:e,seoSettings:t,title:r,description:o,image:s,url:i}=n;if(!e)return "";let c=e.siteName||"",l=r||t?.defaultTitle||c,p=t?.titleTemplate,g=t?.separator||" | ",m=t?.siteNameInTitle!==false,f=p?p.replace(/\{\{title\}\}/g,l).replace(/\{\{siteName\}\}/g,m?c:"").replace(/\{\{separator\}\}/g,g).replace(/\s+/g," ").trim():l,w=o||t?.defaultDescription||e.siteDescription||"",h=s||e.siteOgImage?.url||"",V=i||e.siteUrl||"",A=`
|
|
3
|
+
<title>${f}</title>
|
|
4
|
+
<meta name="description" content="${w}">
|
|
5
|
+
`;e.siteFavicon?.url&&(A+=`
|
|
6
|
+
<link rel="icon" type="${e.siteFavicon.mimeType||"image/x-icon"}" href="${e.siteFavicon.url}">`);let oe=t?.meta?.robots;oe&&(A+=`
|
|
7
|
+
<meta name="robots" content="${oe}">`);let ne=t?.meta?.canonicalUrl||V;ne&&(A+=`
|
|
8
|
+
<link rel="canonical" href="${ne}">`);let tt=t?.meta?.ogType||"website";A+=`
|
|
9
|
+
<meta property="og:type" content="${tt}">
|
|
10
|
+
<meta property="og:title" content="${f}">
|
|
11
|
+
<meta property="og:description" content="${w}">
|
|
12
|
+
<meta property="og:site_name" content="${c}">
|
|
13
|
+
`,V&&(A+=`
|
|
14
|
+
<meta property="og:url" content="${V}">`),h&&(A+=`
|
|
15
|
+
<meta property="og:image" content="${h}">`),t?.social?.fbAppId&&(A+=`
|
|
16
|
+
<meta property="fb:app_id" content="${t.social.fbAppId}">`);let rt=t?.social?.twitterCardType||"summary_large_image";return A+=`
|
|
17
|
+
<meta name="twitter:card" content="${rt}">
|
|
18
|
+
<meta name="twitter:title" content="${f}">
|
|
19
|
+
<meta name="twitter:description" content="${w}">
|
|
20
|
+
`,t?.social?.twitterHandle&&(A+=`
|
|
21
|
+
<meta name="twitter:site" content="${t.social.twitterHandle}">`),h&&(A+=`
|
|
22
|
+
<meta name="twitter:image" content="${h}">`),e.enableI18n&&e.i18n?.language&&(A+=`
|
|
23
|
+
<meta http-equiv="content-language" content="${e.i18n.language}">`),A}function lo(n){if(!n||!n.analyticsEnabled||!n.analytics)return "";let{googleAnalyticsId:e,googleTagManagerId:t,plausibleDomain:r}=n.analytics,o="";return e&&(o+=`
|
|
41
24
|
<!-- Google Analytics -->
|
|
42
25
|
<script async src="https://www.googletagmanager.com/gtag/js?id=${e}"></script>
|
|
43
26
|
<script>
|
|
@@ -46,7 +29,7 @@ export{a as RedisAuthAdapter}from'./chunk-QOCHBPMK.js';export{k as allGlobalSett
|
|
|
46
29
|
gtag('js', new Date());
|
|
47
30
|
gtag('config', '${e}');
|
|
48
31
|
</script>
|
|
49
|
-
`),t&&(
|
|
32
|
+
`),t&&(o+=`
|
|
50
33
|
<!-- Google Tag Manager -->
|
|
51
34
|
<script>
|
|
52
35
|
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
|
@@ -55,14 +38,14 @@ export{a as RedisAuthAdapter}from'./chunk-QOCHBPMK.js';export{k as allGlobalSett
|
|
|
55
38
|
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
|
56
39
|
})(window,document,'script','dataLayer','${t}');
|
|
57
40
|
</script>
|
|
58
|
-
`),r&&(
|
|
41
|
+
`),r&&(o+=`
|
|
59
42
|
<!-- Plausible Analytics -->
|
|
60
43
|
<script defer data-domain="${r}" src="https://plausible.io/js/script.js"></script>
|
|
61
|
-
`),
|
|
44
|
+
`),o}g();var uo={facebook:{label:"Facebook"},twitter:{label:"Twitter / X"},instagram:{label:"Instagram"},linkedin:{label:"LinkedIn"},youtube:{label:"YouTube"},tiktok:{label:"TikTok"},pinterest:{label:"Pinterest"},discord:{label:"Discord"},twitch:{label:"Twitch"},github:{label:"GitHub"},mastodon:{label:"Mastodon"}},po=["facebook","twitter","instagram","linkedin","youtube","tiktok","pinterest","discord","twitch","github","mastodon"];function We(n){if(!n)return [];let e=n.showAll===true,t=[];for(let r of po){let o=n[r];if(!o||["tiktok","pinterest","discord","twitch","github","mastodon"].includes(r)&&!e)continue;let i=uo[r];t.push({platform:r,url:o,label:i?.label||r});}return t}async function go(n,e){try{let t=await n.findOne({collection:"_globals_social-settings",where:{},draft:e?.draft??!1});return We(t)}catch{return []}}g();function qe(n){return n?{storeName:n.storeName,storeEmail:n.storeEmail,storePhone:n.storePhone,address:n.address,currency:n.currency,tax:n.tax,shipping:n.shipping,orders:n.orders}:{}}async function mo(n,e){try{let t=await n.findOne({collection:"_globals_store-settings",where:{},draft:e?.draft??!1});return qe(t)}catch{return {}}}g();function Ge(n){return n?{testMode:n.testMode,provider:n.provider,stripe:n.stripe,paypal:n.paypal,square:n.square,methods:n.methods,bankTransfer:n.bankTransfer}:{}}async function fo(n,e){try{let t=await n.findOne({collection:"_globals_payment-settings",where:{},draft:e?.draft??!1});return Ge(t)}catch{return {}}}g();g();g();hb();g();g();function x(n){return new Promise((e,t)=>{n.oncomplete=n.onsuccess=()=>e(n.result),n.onabort=n.onerror=()=>t(n.error);})}function Y(n,e){let t,r=()=>{if(t)return t;let o=indexedDB.open(n);return o.onupgradeneeded=()=>o.result.createObjectStore(e),t=x(o),t.then(s=>{s.onclose=()=>t=void 0;},()=>{t=void 0;}),t};return (o,s)=>r().then(i=>s(i.transaction(e,o).objectStore(e)))}var Q;function U(){return Q||(Q=Y("keyval-store","keyval")),Q}function z(n,e=U()){return e("readonly",t=>x(t.get(n)))}function J(n,e,t=U()){return t("readwrite",r=>(r.put(e,n),x(r.transaction)))}function Qe(n,e=U()){return e("readwrite",t=>(t.delete(n),x(t.transaction)))}function Ye(n=U()){return n("readwrite",e=>(e.clear(),x(e.transaction)))}function yo(n,e){return n.openCursor().onsuccess=function(){this.result&&(e(this.result),this.result.continue());},x(n.transaction)}function Je(n=U()){return n("readonly",e=>{if(e.getAllKeys)return x(e.getAllKeys());let t=[];return yo(e,r=>t.push(r.key)).then(()=>t)})}var ho="idb-keyval",Xe=(n={})=>{let e=n.base&&n.base.length>0?`${n.base}:`:"",t=o=>e+o,r;return n.dbName&&n.storeName&&(r=Y(n.dbName,n.storeName)),{name:ho,options:n,async hasItem(o){return await z(t(o),r)!==void 0},async getItem(o){return await z(t(o),r)??null},async getItemRaw(o){return await z(t(o),r)??null},setItem(o,s){return J(t(o),s,r)},setItemRaw(o,s){return J(t(o),s,r)},removeItem(o){return Qe(t(o),r)},getKeys(){return Je(r)},clear(){return Ye(r)}}};async function X(n={}){let{namespace:e="kyro",ttl:t}=n,r=gb({driver:Xe({dbName:"kyro-cms",storeName:e})}),o=e?`${e}:`:"";return {storage:{getItem:async i=>{let c=`${o}${i}`,l=await r.getItem(c);if(l==null)return null;try{let p=JSON.parse(l);return p.expiry&&Date.now()>p.expiry?(await r.removeItem(c),null):p.value}catch{return l}},setItem:async(i,c)=>{let l=`${o}${i}`,p=JSON.stringify(t?{value:c,expiry:Date.now()+t}:{value:c});await r.setItem(l,p);},removeItem:async i=>{await r.removeItem(`${o}${i}`);}},cleanup:async()=>{await r.dispose?.();}}}g();g();function Z(n){let e=n||process.env.APP_SECRET||process.env.AUTH_SECRET||"development-secret-key";return ee.createHash("sha256").update(e).digest("hex")}hb();b$1();function wo(n,e){let t=ee.randomBytes(16),r=ee.createCipheriv("aes-256-gcm",Buffer.from(e,"hex").subarray(0,32),t),o=r.update(n,"utf8","hex");o+=r.final("hex");let s=r.getAuthTag().toString("hex");return `${t.toString("hex")}:${s}:${o}`}function bo(n,e){let[t,r,o]=n.split(":"),s=Buffer.from(t,"hex"),i=Buffer.from(r,"hex"),c=ee.createDecipheriv("aes-256-gcm",Buffer.from(e,"hex").subarray(0,32),s);c.setAuthTag(i);let l=c.update(o,"hex","utf8");return l+=c.final("utf8"),l}async function te(n={}){let{namespace:e="kyro",ttl:t,encryption:r=true,secret:o,basePath:s}=n,i=s?Ze.join(s,".astro","kyro.json"):Ze.join(process.cwd(),".astro","kyro.json"),c=gb({driver:a$5({base:i})}),l=r?Z(o):null,p=e?`${e}:`:"";return {storage:{getItem:async g=>{let m=`${p}${g}`,f=await c.getItem(m);if(f==null)return null;try{let w=l?bo(f,l):f,h=JSON.parse(w);return h.expiry&&Date.now()>h.expiry?(await c.removeItem(m),null):h.value}catch{return f}},setItem:async(g,m)=>{let f=`${p}${g}`,w=JSON.stringify(t?{value:m,expiry:Date.now()+t}:{value:m});await c.setItem(f,l?wo(w,l):w);},removeItem:async g=>{await c.removeItem(`${p}${g}`);}},cleanup:async()=>{await c.dispose?.();}}}async function re(n){let{environment:e,adapter:t,connectionString:r,encryption:o}=n,s=process.env.APP_SECRET||process.env.AUTH_SECRET,i={enabled:o?.enabled??true,algorithm:o?.algorithm};return e==="browser"?X({namespace:"kyro"}):te({namespace:"kyro",encryption:i.enabled,secret:s})}async function et(n){let e={...n,encryption:{enabled:true,algorithm:n.encryption?.algorithm}};return re(e)}fb();g();function So(n){return {name:"kyro-loader",load:async e=>{let{store:t,logger:r,parseData:o}=e;r.info(`Loading Kyro CMS collection: "${n.collection}"`);try{let s=[];t.clear();for(let i of s){let c=String(i.id||i._id),l=await o({id:c,data:i});t.set({id:c,data:l,digest:JSON.stringify(l)});}r.info(`Successfully synced ${s.length} entries for "${n.collection}" into Astro store.`);}catch(s){r.error(`Failed to load Kyro collection "${n.collection}": ${s.message}`);}},schema:f.object({id:f.string(),createdAt:f.string().optional(),updatedAt:f.string().optional()}).passthrough()}}g();function ko(n){return {input:n.schema||f.object({}).passthrough(),handler:async(t,r)=>{try{return {success:!0,collection:n.collection,action:n.action,data:t,timestamp:new Date().toISOString()}}catch(o){return {success:false,error:o.message||"CMS Action Execution Failed"}}}}}g();function To(n={}){let e=n.protectedRoutes||[],t=n.loginPath||"/admin/login",r=n.cookieName||"kyro_session";return async(o,s)=>{let{request:i,cookies:c,redirect:l,locals:p}=o,g=new URL(i.url),m=c?.get?.(r)?.value||i.headers.get("authorization")?.replace("Bearer ",""),f=null;return m&&(f={id:"user_1",email:"admin@kyro-cms.com",role:"admin"}),p.kyroUser=f,e.some(h=>new RegExp("^"+h.replace(/\*/g,".*")+"$").test(g.pathname))&&!f?l(`${t}?redirect=${encodeURIComponent(g.pathname)}`):s()}}g();function xo(n){let e=n?.collections||[],t=`// Auto-generated by Kyro CMS
|
|
62
45
|
declare module 'kyro:collections' {
|
|
63
46
|
export interface KyroCollections {
|
|
64
|
-
`;for(let r of e){let
|
|
47
|
+
`;for(let r of e){let o=r.name||r.slug;t+=` '${o}': Record<string, any>;
|
|
65
48
|
`;}return t+=` }
|
|
66
49
|
}
|
|
67
|
-
`,t}function
|
|
68
|
-
export{
|
|
50
|
+
`,t}g();function Po(n={}){return {APP_SECRET:{context:"server",access:"secret",type:"string",optional:false},DATABASE_URL:{context:"server",access:"secret",type:"string",optional:!n.requireDatabase},PUBLIC_KYRO_URL:{context:"client",access:"public",type:"string",optional:true,default:"http://localhost:4321"}}}g();function Co(n={}){return {name:"kyro-dev-toolbar-integration",hooks:{"astro:config:setup":({addDevToolbarApp:e})=>{n.enabled!==false&&typeof e=="function"&&e({id:"kyro-cms",name:"Kyro CMS",icon:'<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"/></svg>',entrypoint:"@kyro-cms/core/dev-toolbar-app"});}}}}
|
|
51
|
+
export{R as AccountLockout,B as Auth,I as InMemoryAccountLockout,D as InMemoryAuthAdapter,E as NeonAdapter,v as RateLimiter,O as TursoAdapter,$ as VersionManager,ze as authConfig,eo as createAuth,G as createAuthConfig,et as createAuthStorage,Ke as createNeonAdapter,re as createStorage,Be as createTursoAdapter,to as createVersionManager,je as defineConfig,ao as defineKyroConfig,lo as generateAnalyticsTags,xo as generateKyroAstroTypes,co as generateSeoTags,N as getDefaultDraftPublishConfig,fo as getPaymentConfig,Ge as getPaymentConfigFromSettings,go as getSocialLinks,We as getSocialLinksFromSettings,mo as getStoreConfig,qe as getStoreConfigFromSettings,no as isArchived,oo as isDraft,ro as isPublished,ko as kyroAction,To as kyroAuthMiddleware,Co as kyroDevToolbarIntegration,Po as kyroEnvSchema,So as kyroLoader,jr as runFieldHooks,Fe as runHooks};
|
package/dist/integration.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkSTX5V7HG_cjs=require('./chunk-STX5V7HG.cjs');require('./chunk-BUNLC3II.cjs');module.exports=chunkSTX5V7HG_cjs.a;
|
package/dist/integration.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{a as default}from'./chunk-
|
|
1
|
+
import {createRequire}from'module';export{a as default}from'./chunk-VJ2WMKPK.js';import'./chunk-C2PXMVR5.js';createRequire(import.meta.url);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';var chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs');var V=chunkBUNLC3II_cjs.c((De,Ar)=>{chunkBUNLC3II_cjs.h();var se=chunkBUNLC3II_cjs.a("buffer"),P=se.Buffer;function $r(e,r){for(var t in e)r[t]=e[t];}P.from&&P.alloc&&P.allocUnsafe&&P.allocUnsafeSlow?Ar.exports=se:($r(se,De),De.Buffer=B);function B(e,r,t){return P(e,r,t)}B.prototype=Object.create(P.prototype);$r(P,B);B.from=function(e,r,t){if(typeof e=="number")throw new TypeError("Argument must not be a number");return P(e,r,t)};B.alloc=function(e,r,t){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=P(e);return r!==void 0?typeof t=="string"?n.fill(r,t):n.fill(r):n.fill(0),n};B.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return P(e)};B.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return se.SlowBuffer(e)};});var _e=chunkBUNLC3II_cjs.c(($l,vr)=>{chunkBUNLC3II_cjs.h();var ie=V().Buffer,si=chunkBUNLC3II_cjs.a("stream"),ii=chunkBUNLC3II_cjs.a("util");function oe(e){if(this.buffer=null,this.writable=true,this.readable=true,!e)return this.buffer=ie.alloc(0),this;if(typeof e.pipe=="function")return this.buffer=ie.alloc(0),e.pipe(this),this;if(e.length||typeof e=="object")return this.buffer=e,this.writable=false,process.nextTick(function(){this.emit("end",e),this.readable=false,this.emit("close");}.bind(this)),this;throw new TypeError("Unexpected data type ("+typeof e+")")}ii.inherits(oe,si);oe.prototype.write=function(r){this.buffer=ie.concat([this.buffer,ie.from(r)]),this.emit("data",r);};oe.prototype.end=function(r){r&&this.write(r),this.emit("end",r),this.emit("close"),this.writable=false,this.readable=false;};vr.exports=oe;});var qr=chunkBUNLC3II_cjs.c((vl,Lr)=>{chunkBUNLC3II_cjs.h();function Ce(e){var r=(e/8|0)+(e%8===0?0:1);return r}var oi={ES256:Ce(256),ES384:Ce(384),ES512:Ce(521)};function ai(e){var r=oi[e];if(r)return r;throw new Error('Unknown algorithm "'+e+'"')}Lr.exports=ai;});var _r=chunkBUNLC3II_cjs.c((ql,Dr)=>{chunkBUNLC3II_cjs.h();var ae=V().Buffer,Nr=qr(),ce=128,xr=0,ci=32,ui=16,fi=2,Pr=ui|ci|xr<<6,ue=fi|xr<<6;function li(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function jr(e){if(ae.isBuffer(e))return e;if(typeof e=="string")return ae.from(e,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function hi(e,r){e=jr(e);var t=Nr(r),n=t+1,s=e.length,i=0;if(e[i++]!==Pr)throw new Error('Could not find expected "seq"');var a=e[i++];if(a===(ce|1)&&(a=e[i++]),s-i<a)throw new Error('"seq" specified length of "'+a+'", only "'+(s-i)+'" remaining');if(e[i++]!==ue)throw new Error('Could not find expected "int" for "r"');var u=e[i++];if(s-i-2<u)throw new Error('"r" specified length of "'+u+'", only "'+(s-i-2)+'" available');if(n<u)throw new Error('"r" specified length of "'+u+'", max of "'+n+'" is acceptable');var p=i;if(i+=u,e[i++]!==ue)throw new Error('Could not find expected "int" for "s"');var c=e[i++];if(s-i!==c)throw new Error('"s" specified length of "'+c+'", expected "'+(s-i)+'"');if(n<c)throw new Error('"s" specified length of "'+c+'", max of "'+n+'" is acceptable');var m=i;if(i+=c,i!==s)throw new Error('Expected to consume entire buffer, but "'+(s-i)+'" bytes remain');var f=t-u,S=t-c,y=ae.allocUnsafe(f+u+S+c);for(i=0;i<f;++i)y[i]=0;e.copy(y,i,p+Math.max(-f,0),p+u),i=t;for(var I=i;i<I+S;++i)y[i]=0;return e.copy(y,i,m+Math.max(-S,0),m+c),y=y.toString("base64"),y=li(y),y}function Or(e,r,t){for(var n=0;r+n<t&&e[r+n]===0;)++n;var s=e[r+n]>=ce;return s&&--n,n}function pi(e,r){e=jr(e);var t=Nr(r),n=e.length;if(n!==t*2)throw new TypeError('"'+r+'" signatures must be "'+t*2+'" bytes, saw "'+n+'"');var s=Or(e,0,t),i=Or(e,t,e.length),a=t-s,u=t-i,p=2+a+1+1+u,c=p<ce,m=ae.allocUnsafe((c?2:3)+p),f=0;return m[f++]=Pr,c?m[f++]=p:(m[f++]=ce|1,m[f++]=p&255),m[f++]=ue,m[f++]=a,s<0?(m[f++]=0,f+=e.copy(m,f,0,t)):f+=e.copy(m,f,s,t),m[f++]=ue,m[f++]=u,i<0?(m[f++]=0,e.copy(m,f,t)):e.copy(m,f,t+i),m}Dr.exports={derToJose:hi,joseToDer:pi};});var Br=chunkBUNLC3II_cjs.c((Nl,Cr)=>{chunkBUNLC3II_cjs.h();var Y=chunkBUNLC3II_cjs.a("buffer").Buffer,Be=chunkBUNLC3II_cjs.a("buffer").SlowBuffer;Cr.exports=fe;function fe(e,r){if(!Y.isBuffer(e)||!Y.isBuffer(r)||e.length!==r.length)return false;for(var t=0,n=0;n<e.length;n++)t|=e[n]^r[n];return t===0}fe.install=function(){Y.prototype.equal=Be.prototype.equal=function(r){return fe(this,r)};};var mi=Y.prototype.equal,Ei=Be.prototype.equal;fe.restore=function(){Y.prototype.equal=mi,Be.prototype.equal=Ei;};});var Ue=chunkBUNLC3II_cjs.c((Pl,Kr)=>{chunkBUNLC3II_cjs.h();var U=V().Buffer,q=chunkBUNLC3II_cjs.a("crypto"),Vr=_r(),Gr=chunkBUNLC3II_cjs.a("util"),di=`"%s" is not a valid algorithm.
|
|
2
|
+
Supported algorithms are:
|
|
3
|
+
"HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512" and "none".`,J="secret must be a string or buffer",F="key must be a string or a buffer",yi="key must be a string, a buffer or an object",Ve=typeof q.createPublicKey=="function";Ve&&(F+=" or a KeyObject",J+="or a KeyObject");function Fr(e){if(!U.isBuffer(e)&&typeof e!="string"&&(!Ve||typeof e!="object"||typeof e.type!="string"||typeof e.asymmetricKeyType!="string"||typeof e.export!="function"))throw x(F)}function Ur(e){if(!U.isBuffer(e)&&typeof e!="string"&&typeof e!="object")throw x(yi)}function gi(e){if(!U.isBuffer(e)){if(typeof e=="string")return e;if(!Ve||typeof e!="object"||e.type!=="secret"||typeof e.export!="function")throw x(J)}}function Fe(e){return e.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function kr(e){e=e.toString();var r=4-e.length%4;if(r!==4)for(var t=0;t<r;++t)e+="=";return e.replace(/\-/g,"+").replace(/_/g,"/")}function x(e){var r=[].slice.call(arguments,1),t=Gr.format.bind(Gr,e).apply(null,r);return new TypeError(t)}function Si(e){return U.isBuffer(e)||typeof e=="string"}function z(e){return Si(e)||(e=JSON.stringify(e)),e}function Hr(e){return function(t,n){gi(n),t=z(t);var s=q.createHmac("sha"+e,n),i=(s.update(t),s.digest("base64"));return Fe(i)}}var Ge,wi="timingSafeEqual"in q?function(r,t){return r.byteLength!==t.byteLength?false:q.timingSafeEqual(r,t)}:function(r,t){return Ge||(Ge=Br()),Ge(r,t)};function bi(e){return function(t,n,s){var i=Hr(e)(t,s);return wi(U.from(n),U.from(i))}}function Xr(e){return function(t,n){Ur(n),t=z(t);var s=q.createSign("RSA-SHA"+e),i=(s.update(t),s.sign(n,"base64"));return Fe(i)}}function Mr(e){return function(t,n,s){Fr(s),t=z(t),n=kr(n);var i=q.createVerify("RSA-SHA"+e);return i.update(t),i.verify(s,n,"base64")}}function Ii(e){return function(t,n){Ur(n),t=z(t);var s=q.createSign("RSA-SHA"+e),i=(s.update(t),s.sign({key:n,padding:q.constants.RSA_PKCS1_PSS_PADDING,saltLength:q.constants.RSA_PSS_SALTLEN_DIGEST},"base64"));return Fe(i)}}function Ri(e){return function(t,n,s){Fr(s),t=z(t),n=kr(n);var i=q.createVerify("RSA-SHA"+e);return i.update(t),i.verify({key:s,padding:q.constants.RSA_PKCS1_PSS_PADDING,saltLength:q.constants.RSA_PSS_SALTLEN_DIGEST},n,"base64")}}function Ti(e){var r=Xr(e);return function(){var n=r.apply(null,arguments);return n=Vr.derToJose(n,"ES"+e),n}}function $i(e){var r=Mr(e);return function(n,s,i){s=Vr.joseToDer(s,"ES"+e).toString("base64");var a=r(n,s,i);return a}}function Ai(){return function(){return ""}}function vi(){return function(r,t){return t===""}}Kr.exports=function(r){var t={hs:Hr,rs:Xr,ps:Ii,es:Ti,none:Ai},n={hs:bi,rs:Mr,ps:Ri,es:$i,none:vi},s=r.match(/^(RS|PS|ES|HS)(256|384|512)$|^(none)$/);if(!s)throw x(di,r);var i=(s[1]||s[3]).toLowerCase(),a=s[2];return {sign:t[i](a),verify:n[i](a)}};});var ke=chunkBUNLC3II_cjs.c((Dl,Wr)=>{chunkBUNLC3II_cjs.h();var Li=chunkBUNLC3II_cjs.a("buffer").Buffer;Wr.exports=function(r){return typeof r=="string"?r:typeof r=="number"||Li.isBuffer(r)?r.toString():JSON.stringify(r)};});var et=chunkBUNLC3II_cjs.c((Cl,Qr)=>{chunkBUNLC3II_cjs.h();var qi=V().Buffer,Yr=_e(),Oi=Ue(),Ni=chunkBUNLC3II_cjs.a("stream"),Jr=ke(),He=chunkBUNLC3II_cjs.a("util");function zr(e,r){return qi.from(e,r).toString("base64").replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}function xi(e,r,t){t=t||"utf8";var n=zr(Jr(e),"binary"),s=zr(Jr(r),t);return He.format("%s.%s",n,s)}function Zr(e){var r=e.header,t=e.payload,n=e.secret||e.privateKey,s=e.encoding,i=Oi(r.alg),a=xi(r,t,s),u=i.sign(a,n);return He.format("%s.%s",a,u)}function le(e){var r=e.secret;if(r=r??e.privateKey,r=r??e.key,/^hs/i.test(e.header.alg)===true&&r==null)throw new TypeError("secret must be a string or buffer or a KeyObject");var t=new Yr(r);this.readable=true,this.header=e.header,this.encoding=e.encoding,this.secret=this.privateKey=this.key=t,this.payload=new Yr(e.payload),this.secret.once("close",function(){!this.payload.writable&&this.readable&&this.sign();}.bind(this)),this.payload.once("close",function(){!this.secret.writable&&this.readable&&this.sign();}.bind(this));}He.inherits(le,Ni);le.prototype.sign=function(){try{var r=Zr({header:this.header,payload:this.payload.buffer,secret:this.secret.buffer,encoding:this.encoding});return this.emit("done",r),this.emit("data",r),this.emit("end"),this.readable=!1,r}catch(t){this.readable=false,this.emit("error",t),this.emit("close");}};le.sign=Zr;Qr.exports=le;});var ft=chunkBUNLC3II_cjs.c((Gl,ut)=>{chunkBUNLC3II_cjs.h();var tt=V().Buffer,rt=_e(),Pi=Ue(),ji=chunkBUNLC3II_cjs.a("stream"),nt=ke(),Di=chunkBUNLC3II_cjs.a("util"),_i=/^[a-zA-Z0-9\-_]+?\.[a-zA-Z0-9\-_]+?\.([a-zA-Z0-9\-_]+)?$/;function Ci(e){return Object.prototype.toString.call(e)==="[object Object]"}function Bi(e){if(Ci(e))return e;try{return JSON.parse(e)}catch{return}}function st(e){var r=e.split(".",1)[0];return Bi(tt.from(r,"base64").toString("binary"))}function Gi(e){return e.split(".",2).join(".")}function it(e){return e.split(".")[2]}function Vi(e,r){r=r||"utf8";var t=e.split(".")[1];return tt.from(t,"base64").toString(r)}function ot(e){return _i.test(e)&&!!st(e)}function at(e,r,t){if(!r){var n=new Error("Missing algorithm parameter for jws.verify");throw n.code="MISSING_ALGORITHM",n}e=nt(e);var s=it(e),i=Gi(e),a=Pi(r);return a.verify(i,s,t)}function ct(e,r){if(r=r||{},e=nt(e),!ot(e))return null;var t=st(e);if(!t)return null;var n=Vi(e);return (t.typ==="JWT"||r.json)&&(n=JSON.parse(n,r.encoding)),{header:t,payload:n,signature:it(e)}}function k(e){e=e||{};var r=e.secret;if(r=r??e.publicKey,r=r??e.key,/^hs/i.test(e.algorithm)===true&&r==null)throw new TypeError("secret must be a string or buffer or a KeyObject");var t=new rt(r);this.readable=true,this.algorithm=e.algorithm,this.encoding=e.encoding,this.secret=this.publicKey=this.key=t,this.signature=new rt(e.signature),this.secret.once("close",function(){!this.signature.writable&&this.readable&&this.verify();}.bind(this)),this.signature.once("close",function(){!this.secret.writable&&this.readable&&this.verify();}.bind(this));}Di.inherits(k,ji);k.prototype.verify=function(){try{var r=at(this.signature.buffer,this.algorithm,this.key.buffer),t=ct(this.signature.buffer,this.encoding);return this.emit("done",r,t),this.emit("data",r),this.emit("end"),this.readable=!1,r}catch(n){this.readable=false,this.emit("error",n),this.emit("close");}};k.decode=ct;k.isValid=ot;k.verify=at;ut.exports=k;});var pe=chunkBUNLC3II_cjs.c(D=>{chunkBUNLC3II_cjs.h();var lt=et(),he=ft(),Fi=["HS256","HS384","HS512","RS256","RS384","RS512","PS256","PS384","PS512","ES256","ES384","ES512"];D.ALGORITHMS=Fi;D.sign=lt.sign;D.verify=he.verify;D.decode=he.decode;D.isValid=he.isValid;D.createSign=function(r){return new lt(r)};D.createVerify=function(r){return new he(r)};});var Xe=chunkBUNLC3II_cjs.c((kl,ht)=>{chunkBUNLC3II_cjs.h();var Ui=pe();ht.exports=function(e,r){r=r||{};var t=Ui.decode(e,r);if(!t)return null;var n=t.payload;if(typeof n=="string")try{var s=JSON.parse(n);s!==null&&typeof s=="object"&&(n=s);}catch{}return r.complete===true?{header:t.header,payload:n,signature:t.signature}:n};});var Z=chunkBUNLC3II_cjs.c((Xl,pt)=>{chunkBUNLC3II_cjs.h();var me=function(e,r){Error.call(this,e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="JsonWebTokenError",this.message=e,r&&(this.inner=r);};me.prototype=Object.create(Error.prototype);me.prototype.constructor=me;pt.exports=me;});var Me=chunkBUNLC3II_cjs.c((Kl,Et)=>{chunkBUNLC3II_cjs.h();var mt=Z(),Ee=function(e,r){mt.call(this,e),this.name="NotBeforeError",this.date=r;};Ee.prototype=Object.create(mt.prototype);Ee.prototype.constructor=Ee;Et.exports=Ee;});var Ke=chunkBUNLC3II_cjs.c((Yl,yt)=>{chunkBUNLC3II_cjs.h();var dt=Z(),de=function(e,r){dt.call(this,e),this.name="TokenExpiredError",this.expiredAt=r;};de.prototype=Object.create(dt.prototype);de.prototype.constructor=de;yt.exports=de;});var St=chunkBUNLC3II_cjs.c((zl,gt)=>{chunkBUNLC3II_cjs.h();var H=1e3,X=H*60,M=X*60,G=M*24,ki=G*7,Hi=G*365.25;gt.exports=function(e,r){r=r||{};var t=typeof e;if(t==="string"&&e.length>0)return Xi(e);if(t==="number"&&isFinite(e))return r.long?Ki(e):Mi(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function Xi(e){if(e=String(e),!(e.length>100)){var r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(r){var t=parseFloat(r[1]),n=(r[2]||"ms").toLowerCase();switch(n){case "years":case "year":case "yrs":case "yr":case "y":return t*Hi;case "weeks":case "week":case "w":return t*ki;case "days":case "day":case "d":return t*G;case "hours":case "hour":case "hrs":case "hr":case "h":return t*M;case "minutes":case "minute":case "mins":case "min":case "m":return t*X;case "seconds":case "second":case "secs":case "sec":case "s":return t*H;case "milliseconds":case "millisecond":case "msecs":case "msec":case "ms":return t;default:return}}}}function Mi(e){var r=Math.abs(e);return r>=G?Math.round(e/G)+"d":r>=M?Math.round(e/M)+"h":r>=X?Math.round(e/X)+"m":r>=H?Math.round(e/H)+"s":e+"ms"}function Ki(e){var r=Math.abs(e);return r>=G?ye(e,r,G,"day"):r>=M?ye(e,r,M,"hour"):r>=X?ye(e,r,X,"minute"):r>=H?ye(e,r,H,"second"):e+" ms"}function ye(e,r,t,n){var s=r>=t*1.5;return Math.round(e/t)+" "+n+(s?"s":"")}});var We=chunkBUNLC3II_cjs.c((Ql,wt)=>{chunkBUNLC3II_cjs.h();var Wi=St();wt.exports=function(e,r){var t=r||Math.floor(Date.now()/1e3);if(typeof e=="string"){var n=Wi(e);return typeof n>"u"?void 0:Math.floor(t+n/1e3)}else return typeof e=="number"?t+e:void 0};});var K=chunkBUNLC3II_cjs.c((rh,bt)=>{chunkBUNLC3II_cjs.h();var Yi="2.0.0",Ji=Number.MAX_SAFE_INTEGER||9007199254740991,zi=16,Zi=250,Qi=["major","premajor","minor","preminor","patch","prepatch","prerelease"];bt.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:zi,MAX_SAFE_BUILD_LENGTH:Zi,MAX_SAFE_INTEGER:Ji,RELEASE_TYPES:Qi,SEMVER_SPEC_VERSION:Yi,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2};});var Q=chunkBUNLC3II_cjs.c((nh,It)=>{chunkBUNLC3II_cjs.h();var eo=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};It.exports=eo;});var W=chunkBUNLC3II_cjs.c((j,Rt)=>{chunkBUNLC3II_cjs.h();var{MAX_SAFE_COMPONENT_LENGTH:Ye,MAX_SAFE_BUILD_LENGTH:ro,MAX_LENGTH:to}=K(),no=Q();j=Rt.exports={};var so=j.re=[],io=j.safeRe=[],E=j.src=[],oo=j.safeSrc=[],d=j.t={},ao=0,Je="[a-zA-Z0-9-]",co=[["\\s",1],["\\d",to],[Je,ro]],uo=e=>{for(let[r,t]of co)e=e.split(`${r}*`).join(`${r}{0,${t}}`).split(`${r}+`).join(`${r}{1,${t}}`);return e},g=(e,r,t)=>{let n=uo(r),s=ao++;no(e,s,r),d[e]=s,E[s]=r,oo[s]=n,so[s]=new RegExp(r,t?"g":void 0),io[s]=new RegExp(n,t?"g":void 0);};g("NUMERICIDENTIFIER","0|[1-9]\\d*");g("NUMERICIDENTIFIERLOOSE","\\d+");g("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Je}*`);g("MAINVERSION",`(${E[d.NUMERICIDENTIFIER]})\\.(${E[d.NUMERICIDENTIFIER]})\\.(${E[d.NUMERICIDENTIFIER]})`);g("MAINVERSIONLOOSE",`(${E[d.NUMERICIDENTIFIERLOOSE]})\\.(${E[d.NUMERICIDENTIFIERLOOSE]})\\.(${E[d.NUMERICIDENTIFIERLOOSE]})`);g("PRERELEASEIDENTIFIER",`(?:${E[d.NONNUMERICIDENTIFIER]}|${E[d.NUMERICIDENTIFIER]})`);g("PRERELEASEIDENTIFIERLOOSE",`(?:${E[d.NONNUMERICIDENTIFIER]}|${E[d.NUMERICIDENTIFIERLOOSE]})`);g("PRERELEASE",`(?:-(${E[d.PRERELEASEIDENTIFIER]}(?:\\.${E[d.PRERELEASEIDENTIFIER]})*))`);g("PRERELEASELOOSE",`(?:-?(${E[d.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${E[d.PRERELEASEIDENTIFIERLOOSE]})*))`);g("BUILDIDENTIFIER",`${Je}+`);g("BUILD",`(?:\\+(${E[d.BUILDIDENTIFIER]}(?:\\.${E[d.BUILDIDENTIFIER]})*))`);g("FULLPLAIN",`v?${E[d.MAINVERSION]}${E[d.PRERELEASE]}?${E[d.BUILD]}?`);g("FULL",`^${E[d.FULLPLAIN]}$`);g("LOOSEPLAIN",`[v=\\s]*${E[d.MAINVERSIONLOOSE]}${E[d.PRERELEASELOOSE]}?${E[d.BUILD]}?`);g("LOOSE",`^${E[d.LOOSEPLAIN]}$`);g("GTLT","((?:<|>)?=?)");g("XRANGEIDENTIFIERLOOSE",`${E[d.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);g("XRANGEIDENTIFIER",`${E[d.NUMERICIDENTIFIER]}|x|X|\\*`);g("XRANGEPLAIN",`[v=\\s]*(${E[d.XRANGEIDENTIFIER]})(?:\\.(${E[d.XRANGEIDENTIFIER]})(?:\\.(${E[d.XRANGEIDENTIFIER]})(?:${E[d.PRERELEASE]})?${E[d.BUILD]}?)?)?`);g("XRANGEPLAINLOOSE",`[v=\\s]*(${E[d.XRANGEIDENTIFIERLOOSE]})(?:\\.(${E[d.XRANGEIDENTIFIERLOOSE]})(?:\\.(${E[d.XRANGEIDENTIFIERLOOSE]})(?:${E[d.PRERELEASELOOSE]})?${E[d.BUILD]}?)?)?`);g("XRANGE",`^${E[d.GTLT]}\\s*${E[d.XRANGEPLAIN]}$`);g("XRANGELOOSE",`^${E[d.GTLT]}\\s*${E[d.XRANGEPLAINLOOSE]}$`);g("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Ye}})(?:\\.(\\d{1,${Ye}}))?(?:\\.(\\d{1,${Ye}}))?`);g("COERCE",`${E[d.COERCEPLAIN]}(?:$|[^\\d])`);g("COERCEFULL",E[d.COERCEPLAIN]+`(?:${E[d.PRERELEASE]})?(?:${E[d.BUILD]})?(?:$|[^\\d])`);g("COERCERTL",E[d.COERCE],true);g("COERCERTLFULL",E[d.COERCEFULL],true);g("LONETILDE","(?:~>?)");g("TILDETRIM",`(\\s*)${E[d.LONETILDE]}\\s+`,true);j.tildeTrimReplace="$1~";g("TILDE",`^${E[d.LONETILDE]}${E[d.XRANGEPLAIN]}$`);g("TILDELOOSE",`^${E[d.LONETILDE]}${E[d.XRANGEPLAINLOOSE]}$`);g("LONECARET","(?:\\^)");g("CARETTRIM",`(\\s*)${E[d.LONECARET]}\\s+`,true);j.caretTrimReplace="$1^";g("CARET",`^${E[d.LONECARET]}${E[d.XRANGEPLAIN]}$`);g("CARETLOOSE",`^${E[d.LONECARET]}${E[d.XRANGEPLAINLOOSE]}$`);g("COMPARATORLOOSE",`^${E[d.GTLT]}\\s*(${E[d.LOOSEPLAIN]})$|^$`);g("COMPARATOR",`^${E[d.GTLT]}\\s*(${E[d.FULLPLAIN]})$|^$`);g("COMPARATORTRIM",`(\\s*)${E[d.GTLT]}\\s*(${E[d.LOOSEPLAIN]}|${E[d.XRANGEPLAIN]})`,true);j.comparatorTrimReplace="$1$2$3";g("HYPHENRANGE",`^\\s*(${E[d.XRANGEPLAIN]})\\s+-\\s+(${E[d.XRANGEPLAIN]})\\s*$`);g("HYPHENRANGELOOSE",`^\\s*(${E[d.XRANGEPLAINLOOSE]})\\s+-\\s+(${E[d.XRANGEPLAINLOOSE]})\\s*$`);g("STAR","(<|>)?=?\\s*\\*");g("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");g("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$");});var ge=chunkBUNLC3II_cjs.c((oh,Tt)=>{chunkBUNLC3II_cjs.h();var fo=Object.freeze({loose:true}),lo=Object.freeze({}),ho=e=>e?typeof e!="object"?fo:e:lo;Tt.exports=ho;});var ze=chunkBUNLC3II_cjs.c((ch,vt)=>{chunkBUNLC3II_cjs.h();var $t=/^[0-9]+$/,At=(e,r)=>{if(typeof e=="number"&&typeof r=="number")return e===r?0:e<r?-1:1;let t=$t.test(e),n=$t.test(r);return t&&n&&(e=+e,r=+r),e===r?0:t&&!n?-1:n&&!t?1:e<r?-1:1},po=(e,r)=>At(r,e);vt.exports={compareIdentifiers:At,rcompareIdentifiers:po};});var T=chunkBUNLC3II_cjs.c((fh,qt)=>{chunkBUNLC3II_cjs.h();var Se=Q(),{MAX_LENGTH:Lt,MAX_SAFE_INTEGER:we}=K(),{safeRe:be,t:Ie}=W(),mo=ge(),{compareIdentifiers:Ze}=ze(),Eo=(e,r)=>{let t=r.split(".");if(t.length>e.length)return false;for(let n=0;n<t.length;n++)if(Ze(e[n],t[n])!==0)return false;return true},Qe=class e{constructor(r,t){if(t=mo(t),r instanceof e){if(r.loose===!!t.loose&&r.includePrerelease===!!t.includePrerelease)return r;r=r.version;}else if(typeof r!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof r}".`);if(r.length>Lt)throw new TypeError(`version is longer than ${Lt} characters`);Se("SemVer",r,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let n=r.trim().match(t.loose?be[Ie.LOOSE]:be[Ie.FULL]);if(!n)throw new TypeError(`Invalid Version: ${r}`);if(this.raw=r,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>we||this.major<0)throw new TypeError("Invalid major version");if(this.minor>we||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>we||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&i<we)return i}return s}):this.prerelease=[],this.build=n[5]?n[5].split("."):[],this.format();}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(r){if(Se("SemVer.compare",this.version,this.options,r),!(r instanceof e)){if(typeof r=="string"&&r===this.version)return 0;r=new e(r,this.options);}return r.version===this.version?0:this.compareMain(r)||this.comparePre(r)}compareMain(r){return r instanceof e||(r=new e(r,this.options)),this.major<r.major?-1:this.major>r.major?1:this.minor<r.minor?-1:this.minor>r.minor?1:this.patch<r.patch?-1:this.patch>r.patch?1:0}comparePre(r){if(r instanceof e||(r=new e(r,this.options)),this.prerelease.length&&!r.prerelease.length)return -1;if(!this.prerelease.length&&r.prerelease.length)return 1;if(!this.prerelease.length&&!r.prerelease.length)return 0;let t=0;do{let n=this.prerelease[t],s=r.prerelease[t];if(Se("prerelease compare",t,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return -1;if(n===s)continue;return Ze(n,s)}while(++t)}compareBuild(r){r instanceof e||(r=new e(r,this.options));let t=0;do{let n=this.build[t],s=r.build[t];if(Se("build compare",t,n,s),n===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(n===void 0)return -1;if(n===s)continue;return Ze(n,s)}while(++t)}inc(r,t,n){if(r.startsWith("pre")){if(!t&&n===false)throw new Error("invalid increment argument: identifier is empty");if(t){let s=`-${t}`.match(this.options.loose?be[Ie.PRERELEASELOOSE]:be[Ie.PRERELEASE]);if(!s||s[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(r){case "premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,n);break;case "preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,n);break;case "prepatch":this.prerelease.length=0,this.inc("patch",t,n),this.inc("pre",t,n);break;case "prerelease":this.prerelease.length===0&&this.inc("patch",t,n),this.inc("pre",t,n);break;case "release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case "major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case "minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case "patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case "pre":{let s=Number(n)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else {let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(t===this.prerelease.join(".")&&n===false)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s);}}if(t){let i=[t,s];if(n===false&&(i=[t]),Eo(this.prerelease,t)){let a=this.prerelease[t.split(".").length];isNaN(a)&&(this.prerelease=i);}else this.prerelease=i;}break}default:throw new Error(`invalid increment argument: ${r}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};qt.exports=Qe;});var _=chunkBUNLC3II_cjs.c((hh,Nt)=>{chunkBUNLC3II_cjs.h();var Ot=T(),yo=(e,r,t=false)=>{if(e instanceof Ot)return e;try{return new Ot(e,r)}catch(n){if(!t)return null;throw n}};Nt.exports=yo;});var Pt=chunkBUNLC3II_cjs.c((mh,xt)=>{chunkBUNLC3II_cjs.h();var go=_(),So=(e,r)=>{let t=go(e,r);return t?t.version:null};xt.exports=So;});var Dt=chunkBUNLC3II_cjs.c((dh,jt)=>{chunkBUNLC3II_cjs.h();var wo=_(),bo=(e,r)=>{let t=wo(e.trim().replace(/^[=v]+/,""),r);return t?t.version:null};jt.exports=bo;});var Bt=chunkBUNLC3II_cjs.c((gh,Ct)=>{chunkBUNLC3II_cjs.h();var _t=T(),Io=(e,r,t,n,s)=>{typeof t=="string"&&(s=n,n=t,t=void 0);try{return new _t(e instanceof _t?e.version:e,t).inc(r,n,s).version}catch{return null}};Ct.exports=Io;});var Ft=chunkBUNLC3II_cjs.c((wh,Vt)=>{chunkBUNLC3II_cjs.h();var Gt=_(),Ro=(e,r)=>{let t=Gt(e,null,true),n=Gt(r,null,true),s=t.compare(n);if(s===0)return null;let i=s>0,a=i?t:n,u=i?n:t,p=!!a.prerelease.length;if(!!u.prerelease.length&&!p){if(!u.patch&&!u.minor)return "major";if(u.compareMain(a)===0)return u.minor&&!u.patch?"minor":"patch"}let m=p?"pre":"";return t.major!==n.major?m+"major":t.minor!==n.minor?m+"minor":t.patch!==n.patch?m+"patch":"prerelease"};Vt.exports=Ro;});var kt=chunkBUNLC3II_cjs.c((Ih,Ut)=>{chunkBUNLC3II_cjs.h();var To=T(),$o=(e,r)=>new To(e,r).major;Ut.exports=$o;});var Xt=chunkBUNLC3II_cjs.c((Th,Ht)=>{chunkBUNLC3II_cjs.h();var Ao=T(),vo=(e,r)=>new Ao(e,r).minor;Ht.exports=vo;});var Kt=chunkBUNLC3II_cjs.c((Ah,Mt)=>{chunkBUNLC3II_cjs.h();var Lo=T(),qo=(e,r)=>new Lo(e,r).patch;Mt.exports=qo;});var Yt=chunkBUNLC3II_cjs.c((Lh,Wt)=>{chunkBUNLC3II_cjs.h();var Oo=_(),No=(e,r)=>{let t=Oo(e,r);return t&&t.prerelease.length?t.prerelease:null};Wt.exports=No;});var O=chunkBUNLC3II_cjs.c((Oh,zt)=>{chunkBUNLC3II_cjs.h();var Jt=T(),xo=(e,r,t)=>new Jt(e,t).compare(new Jt(r,t));zt.exports=xo;});var Qt=chunkBUNLC3II_cjs.c((xh,Zt)=>{chunkBUNLC3II_cjs.h();var Po=O(),jo=(e,r,t)=>Po(r,e,t);Zt.exports=jo;});var rn=chunkBUNLC3II_cjs.c((jh,en)=>{chunkBUNLC3II_cjs.h();var Do=O(),_o=(e,r)=>Do(e,r,true);en.exports=_o;});var Re=chunkBUNLC3II_cjs.c((_h,nn)=>{chunkBUNLC3II_cjs.h();var tn=T(),Co=(e,r,t)=>{let n=new tn(e,t),s=new tn(r,t);return n.compare(s)||n.compareBuild(s)};nn.exports=Co;});var on=chunkBUNLC3II_cjs.c((Bh,sn)=>{chunkBUNLC3II_cjs.h();var Bo=Re(),Go=(e,r)=>e.sort((t,n)=>Bo(t,n,r));sn.exports=Go;});var cn=chunkBUNLC3II_cjs.c((Vh,an)=>{chunkBUNLC3II_cjs.h();var Vo=Re(),Fo=(e,r)=>e.sort((t,n)=>Vo(n,t,r));an.exports=Fo;});var ee=chunkBUNLC3II_cjs.c((Uh,un)=>{chunkBUNLC3II_cjs.h();var Uo=O(),ko=(e,r,t)=>Uo(e,r,t)>0;un.exports=ko;});var Te=chunkBUNLC3II_cjs.c((Hh,fn)=>{chunkBUNLC3II_cjs.h();var Ho=O(),Xo=(e,r,t)=>Ho(e,r,t)<0;fn.exports=Xo;});var er=chunkBUNLC3II_cjs.c((Mh,ln)=>{chunkBUNLC3II_cjs.h();var Mo=O(),Ko=(e,r,t)=>Mo(e,r,t)===0;ln.exports=Ko;});var rr=chunkBUNLC3II_cjs.c((Wh,hn)=>{chunkBUNLC3II_cjs.h();var Wo=O(),Yo=(e,r,t)=>Wo(e,r,t)!==0;hn.exports=Yo;});var $e=chunkBUNLC3II_cjs.c((Jh,pn)=>{chunkBUNLC3II_cjs.h();var Jo=O(),zo=(e,r,t)=>Jo(e,r,t)>=0;pn.exports=zo;});var Ae=chunkBUNLC3II_cjs.c((Zh,mn)=>{chunkBUNLC3II_cjs.h();var Zo=O(),Qo=(e,r,t)=>Zo(e,r,t)<=0;mn.exports=Qo;});var tr=chunkBUNLC3II_cjs.c((ep,En)=>{chunkBUNLC3II_cjs.h();var ea=er(),ra=rr(),ta=ee(),na=$e(),sa=Te(),ia=Ae(),oa=(e,r,t,n)=>{switch(r){case "===":return typeof e=="object"&&(e=e.version),typeof t=="object"&&(t=t.version),e===t;case "!==":return typeof e=="object"&&(e=e.version),typeof t=="object"&&(t=t.version),e!==t;case "":case "=":case "==":return ea(e,t,n);case "!=":return ra(e,t,n);case ">":return ta(e,t,n);case ">=":return na(e,t,n);case "<":return sa(e,t,n);case "<=":return ia(e,t,n);default:throw new TypeError(`Invalid operator: ${r}`)}};En.exports=oa;});var yn=chunkBUNLC3II_cjs.c((tp,dn)=>{chunkBUNLC3II_cjs.h();var aa=T(),ca=_(),{safeRe:ve,t:Le}=W(),ua=(e,r)=>{if(e instanceof aa)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;r=r||{};let t=null;if(!r.rtl)t=e.match(r.includePrerelease?ve[Le.COERCEFULL]:ve[Le.COERCE]);else {let p=r.includePrerelease?ve[Le.COERCERTLFULL]:ve[Le.COERCERTL],c;for(;(c=p.exec(e))&&(!t||t.index+t[0].length!==e.length);)(!t||c.index+c[0].length!==t.index+t[0].length)&&(t=c),p.lastIndex=c.index+c[1].length+c[2].length;p.lastIndex=-1;}if(t===null)return null;let n=t[2],s=t[3]||"0",i=t[4]||"0",a=r.includePrerelease&&t[5]?`-${t[5]}`:"",u=r.includePrerelease&&t[6]?`+${t[6]}`:"";return ca(`${n}.${s}.${i}${a}${u}`,r)};dn.exports=ua;});var Sn=chunkBUNLC3II_cjs.c((sp,gn)=>{chunkBUNLC3II_cjs.h();var fa=_(),la=K(),ha=T(),pa=(e,r,t)=>{if(!la.RELEASE_TYPES.includes(r))return null;let n=ma(e,t);return n&&Ea(n,r)},ma=(e,r)=>{let t=e instanceof ha?e.version:e;return fa(t,r)},Ea=(e,r)=>{if(da(r))return e.version;switch(e.prerelease=[],r){case "major":e.minor=0,e.patch=0;break;case "minor":e.patch=0;break}return e.format()},da=e=>e.startsWith("pre");gn.exports=pa;});var bn=chunkBUNLC3II_cjs.c((op,wn)=>{chunkBUNLC3II_cjs.h();var nr=class{constructor(){this.max=1e3,this.map=new Map;}get(r){let t=this.map.get(r);if(t!==void 0)return this.map.delete(r),this.map.set(r,t),t}delete(r){return this.map.delete(r)}set(r,t){if(!this.delete(r)&&t!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s);}this.map.set(r,t);}return this}};wn.exports=nr;});var N=chunkBUNLC3II_cjs.c((cp,$n)=>{chunkBUNLC3II_cjs.h();var ya=/\s+/g,sr=class e{constructor(r,t){if(t=Sa(t),r instanceof e)return r.loose===!!t.loose&&r.includePrerelease===!!t.includePrerelease?r:new e(r.raw,t);if(r instanceof ir)return this.raw=r.value,this.set=[[r]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=r.trim().replace(ya," "),this.set=this.raw.split("||").map(n=>this.parseRange(n.trim())).filter(n=>n.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let n=this.set[0];if(this.set=this.set.filter(s=>!Rn(s[0])),this.set.length===0)this.set=[n];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&La(s[0])){this.set=[s];break}}}this.formatted=void 0;}get range(){if(this.formatted===void 0){this.formatted="";for(let r=0;r<this.set.length;r++){r>0&&(this.formatted+="||");let t=this.set[r];for(let n=0;n<t.length;n++)n>0&&(this.formatted+=" "),this.formatted+=t[n].toString().trim();}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(r){r=r.replace(va,"");let n=((this.options.includePrerelease&&$a)|(this.options.loose&&Aa))+":"+r,s=In.get(n);if(s)return s;let i=this.options.loose,a=i?A[$.HYPHENRANGELOOSE]:A[$.HYPHENRANGE];r=r.replace(a,Ga(this.options.includePrerelease)),b("hyphen replace",r),r=r.replace(A[$.COMPARATORTRIM],Ia),b("comparator trim",r),r=r.replace(A[$.TILDETRIM],Ra),b("tilde trim",r),r=r.replace(A[$.CARETTRIM],Ta),b("caret trim",r);let u=r.split(" ").map(f=>qa(f,this.options)).join(" ").split(/\s+/).map(f=>Ba(f,this.options));i&&(u=u.filter(f=>(b("loose invalid filter",f,this.options),!!f.match(A[$.COMPARATORLOOSE])))),b("range list",u);let p=new Map,c=u.map(f=>new ir(f,this.options));for(let f of c){if(Rn(f))return [f];p.set(f.value,f);}p.size>1&&p.has("")&&p.delete("");let m=[...p.values()];return In.set(n,m),m}intersects(r,t){if(!(r instanceof e))throw new TypeError("a Range is required");return this.set.some(n=>Tn(n,t)&&r.set.some(s=>Tn(s,t)&&n.every(i=>s.every(a=>i.intersects(a,t)))))}test(r){if(!r)return false;if(typeof r=="string")try{r=new wa(r,this.options);}catch{return false}for(let t=0;t<this.set.length;t++)if(Va(this.set[t],r,this.options))return true;return false}};$n.exports=sr;var ga=bn(),In=new ga,Sa=ge(),ir=re(),b=Q(),wa=T(),{safeRe:A,src:ba,t:$,comparatorTrimReplace:Ia,tildeTrimReplace:Ra,caretTrimReplace:Ta}=W(),{FLAG_INCLUDE_PRERELEASE:$a,FLAG_LOOSE:Aa}=K(),va=new RegExp(ba[$.BUILD],"g"),Rn=e=>e.value==="<0.0.0-0",La=e=>e.value==="",Tn=(e,r)=>{let t=true,n=e.slice(),s=n.pop();for(;t&&n.length;)t=n.every(i=>s.intersects(i,r)),s=n.pop();return t},qa=(e,r)=>(e=e.replace(A[$.BUILD],""),b("comp",e,r),e=Pa(e,r),b("caret",e),e=Na(e,r),b("tildes",e),e=Da(e,r),b("xrange",e),e=Ca(e,r),b("stars",e),e),R=e=>!e||e.toLowerCase()==="x"||e==="*",Oa=(e,r,t)=>R(e)&&!R(r)||R(r)&&t&&!R(t),Na=(e,r)=>e.trim().split(/\s+/).map(t=>xa(t,r)).join(" "),xa=(e,r)=>{let t=r.loose?A[$.TILDELOOSE]:A[$.TILDE],n=r.includePrerelease?"-0":"";return e.replace(t,(s,i,a,u,p)=>{b("tilde",e,s,i,a,u,p);let c;return R(i)?c="":R(a)?c=`>=${i}.0.0${n} <${+i+1}.0.0-0`:R(u)?c=`>=${i}.${a}.0${n} <${i}.${+a+1}.0-0`:p?(b("replaceTilde pr",p),c=`>=${i}.${a}.${u}-${p} <${i}.${+a+1}.0-0`):c=`>=${i}.${a}.${u} <${i}.${+a+1}.0-0`,b("tilde return",c),c})},Pa=(e,r)=>e.trim().split(/\s+/).map(t=>ja(t,r)).join(" "),ja=(e,r)=>{b("caret",e,r);let t=r.loose?A[$.CARETLOOSE]:A[$.CARET],n=r.includePrerelease?"-0":"";return e.replace(t,(s,i,a,u,p)=>{b("caret",e,s,i,a,u,p);let c;return R(i)?c="":R(a)?c=`>=${i}.0.0${n} <${+i+1}.0.0-0`:R(u)?i==="0"?c=`>=${i}.${a}.0${n} <${i}.${+a+1}.0-0`:c=`>=${i}.${a}.0${n} <${+i+1}.0.0-0`:p?(b("replaceCaret pr",p),i==="0"?a==="0"?c=`>=${i}.${a}.${u}-${p} <${i}.${a}.${+u+1}-0`:c=`>=${i}.${a}.${u}-${p} <${i}.${+a+1}.0-0`:c=`>=${i}.${a}.${u}-${p} <${+i+1}.0.0-0`):(b("no pr"),i==="0"?a==="0"?c=`>=${i}.${a}.${u} <${i}.${a}.${+u+1}-0`:c=`>=${i}.${a}.${u} <${i}.${+a+1}.0-0`:c=`>=${i}.${a}.${u} <${+i+1}.0.0-0`),b("caret return",c),c})},Da=(e,r)=>(b("replaceXRanges",e,r),e.split(/\s+/).map(t=>_a(t,r)).join(" ")),_a=(e,r)=>{e=e.trim();let t=r.loose?A[$.XRANGELOOSE]:A[$.XRANGE];return e.replace(t,(n,s,i,a,u,p)=>{if(b("xRange",e,n,s,i,a,u,p),Oa(i,a,u))return e;let c=R(i),m=c||R(a),f=m||R(u),S=f;return s==="="&&S&&(s=""),p=r.includePrerelease?"-0":"",c?s===">"||s==="<"?n="<0.0.0-0":n="*":s&&S?(m&&(a=0),u=0,s===">"?(s=">=",m?(i=+i+1,a=0,u=0):(a=+a+1,u=0)):s==="<="&&(s="<",m?i=+i+1:a=+a+1),s==="<"&&(p="-0"),n=`${s+i}.${a}.${u}${p}`):m?n=`>=${i}.0.0${p} <${+i+1}.0.0-0`:f&&(n=`>=${i}.${a}.0${p} <${i}.${+a+1}.0-0`),b("xRange return",n),n})},Ca=(e,r)=>(b("replaceStars",e,r),e.trim().replace(A[$.STAR],"")),Ba=(e,r)=>(b("replaceGTE0",e,r),e.trim().replace(A[r.includePrerelease?$.GTE0PRE:$.GTE0],"")),Ga=e=>(r,t,n,s,i,a,u,p,c,m,f,S)=>(R(n)?t="":R(s)?t=`>=${n}.0.0${e?"-0":""}`:R(i)?t=`>=${n}.${s}.0${e?"-0":""}`:a?t=`>=${t}`:t=`>=${t}${e?"-0":""}`,R(c)?p="":R(m)?p=`<${+c+1}.0.0-0`:R(f)?p=`<${c}.${+m+1}.0-0`:S?p=`<=${c}.${m}.${f}-${S}`:e?p=`<${c}.${m}.${+f+1}-0`:p=`<=${p}`,`${t} ${p}`.trim()),Va=(e,r,t)=>{for(let n=0;n<e.length;n++)if(!e[n].test(r))return false;if(r.prerelease.length&&!t.includePrerelease){for(let n=0;n<e.length;n++)if(b(e[n].semver),e[n].semver!==ir.ANY&&e[n].semver.prerelease.length>0){let s=e[n].semver;if(s.major===r.major&&s.minor===r.minor&&s.patch===r.patch)return true}return false}return true};});var re=chunkBUNLC3II_cjs.c((fp,Nn)=>{chunkBUNLC3II_cjs.h();var te=Symbol("SemVer ANY"),cr=class e{static get ANY(){return te}constructor(r,t){if(t=An(t),r instanceof e){if(r.loose===!!t.loose)return r;r=r.value;}r=r.trim().split(/\s+/).join(" "),ar("comparator",r,t),this.options=t,this.loose=!!t.loose,this.parse(r),this.semver===te?this.value="":this.value=this.operator+this.semver.version,ar("comp",this);}parse(r){let t=this.options.loose?vn[Ln.COMPARATORLOOSE]:vn[Ln.COMPARATOR],n=r.match(t);if(!n)throw new TypeError(`Invalid comparator: ${r}`);this.operator=n[1]!==void 0?n[1]:"",this.operator==="="&&(this.operator=""),n[2]?this.semver=new qn(n[2],this.options.loose):this.semver=te;}toString(){return this.value}test(r){if(ar("Comparator.test",r,this.options.loose),this.semver===te||r===te)return true;if(typeof r=="string")try{r=new qn(r,this.options);}catch{return false}return or(r,this.operator,this.semver,this.options)}intersects(r,t){if(!(r instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?true:new On(r.value,t).test(this.value):r.operator===""?r.value===""?true:new On(this.value,t).test(r.semver):(t=An(t),t.includePrerelease&&(this.value==="<0.0.0-0"||r.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||r.value.startsWith("<0.0.0"))?false:!!(this.operator.startsWith(">")&&r.operator.startsWith(">")||this.operator.startsWith("<")&&r.operator.startsWith("<")||this.semver.version===r.semver.version&&this.operator.includes("=")&&r.operator.includes("=")||or(this.semver,"<",r.semver,t)&&this.operator.startsWith(">")&&r.operator.startsWith("<")||or(this.semver,">",r.semver,t)&&this.operator.startsWith("<")&&r.operator.startsWith(">")))}};Nn.exports=cr;var An=ge(),{safeRe:vn,t:Ln}=W(),or=tr(),ar=Q(),qn=T(),On=N();});var ne=chunkBUNLC3II_cjs.c((hp,xn)=>{chunkBUNLC3II_cjs.h();var Fa=N(),Ua=(e,r,t)=>{try{r=new Fa(r,t);}catch{return false}return r.test(e)};xn.exports=Ua;});var jn=chunkBUNLC3II_cjs.c((mp,Pn)=>{chunkBUNLC3II_cjs.h();var ka=N(),Ha=(e,r)=>new ka(e,r).set.map(t=>t.map(n=>n.value).join(" ").trim().split(" "));Pn.exports=Ha;});var _n=chunkBUNLC3II_cjs.c((dp,Dn)=>{chunkBUNLC3II_cjs.h();var Xa=T(),Ma=N(),Ka=(e,r,t)=>{let n=null,s=null,i=null;try{i=new Ma(r,t);}catch{return null}return e.forEach(a=>{i.test(a)&&(!n||s.compare(a)===-1)&&(n=a,s=new Xa(n,t));}),n};Dn.exports=Ka;});var Bn=chunkBUNLC3II_cjs.c((gp,Cn)=>{chunkBUNLC3II_cjs.h();var Wa=T(),Ya=N(),Ja=(e,r,t)=>{let n=null,s=null,i=null;try{i=new Ya(r,t);}catch{return null}return e.forEach(a=>{i.test(a)&&(!n||s.compare(a)===1)&&(n=a,s=new Wa(n,t));}),n};Cn.exports=Ja;});var Fn=chunkBUNLC3II_cjs.c((wp,Vn)=>{chunkBUNLC3II_cjs.h();var ur=T(),za=N(),Gn=ee(),Za=(e,r)=>{e=new za(e,r);let t=new ur("0.0.0");if(e.test(t)||(t=new ur("0.0.0-0"),e.test(t)))return t;t=null;for(let n=0;n<e.set.length;++n){let s=e.set[n],i=null;s.forEach(a=>{let u=new ur(a.semver.version);switch(a.operator){case ">":u.prerelease.length===0?u.patch++:u.prerelease.push(0),u.raw=u.format();case "":case ">=":(!i||Gn(u,i))&&(i=u);break;case "<":case "<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),i&&(!t||Gn(t,i))&&(t=i);}return t&&e.test(t)?t:null};Vn.exports=Za;});var kn=chunkBUNLC3II_cjs.c((Ip,Un)=>{chunkBUNLC3II_cjs.h();var Qa=N(),ec=(e,r)=>{try{return new Qa(e,r).range||"*"}catch{return null}};Un.exports=ec;});var qe=chunkBUNLC3II_cjs.c((Tp,Kn)=>{chunkBUNLC3II_cjs.h();var rc=T(),Mn=re(),{ANY:tc}=Mn,nc=N(),sc=ne(),Hn=ee(),Xn=Te(),ic=Ae(),oc=$e(),ac=(e,r,t,n)=>{e=new rc(e,n),r=new nc(r,n);let s,i,a,u,p;switch(t){case ">":s=Hn,i=ic,a=Xn,u=">",p=">=";break;case "<":s=Xn,i=oc,a=Hn,u="<",p="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(sc(e,r,n))return false;for(let c=0;c<r.set.length;++c){let m=r.set[c],f=null,S=null;if(m.forEach(y=>{y.semver===tc&&(y=new Mn(">=0.0.0")),f=f||y,S=S||y,s(y.semver,f.semver,n)?f=y:a(y.semver,S.semver,n)&&(S=y);}),f.operator===u||f.operator===p||(!S.operator||S.operator===u)&&i(e,S.semver))return false;if(S.operator===p&&a(e,S.semver))return false}return true};Kn.exports=ac;});var Yn=chunkBUNLC3II_cjs.c((Ap,Wn)=>{chunkBUNLC3II_cjs.h();var cc=qe(),uc=(e,r,t)=>cc(e,r,">",t);Wn.exports=uc;});var zn=chunkBUNLC3II_cjs.c((Lp,Jn)=>{chunkBUNLC3II_cjs.h();var fc=qe(),lc=(e,r,t)=>fc(e,r,"<",t);Jn.exports=lc;});var es=chunkBUNLC3II_cjs.c((Op,Qn)=>{chunkBUNLC3II_cjs.h();var Zn=N(),hc=(e,r,t)=>(e=new Zn(e,t),r=new Zn(r,t),e.intersects(r,t));Qn.exports=hc;});var ts=chunkBUNLC3II_cjs.c((xp,rs)=>{chunkBUNLC3II_cjs.h();var pc=ne(),mc=O();rs.exports=(e,r,t)=>{let n=[],s=null,i=null,a=e.sort((m,f)=>mc(m,f,t));for(let m of a)pc(m,r,t)?(i=m,s||(s=m)):(i&&n.push([s,i]),i=null,s=null);s&&n.push([s,null]);let u=[];for(let[m,f]of n)m===f?u.push(m):!f&&m===a[0]?u.push("*"):f?m===a[0]?u.push(`<=${f}`):u.push(`${m} - ${f}`):u.push(`>=${m}`);let p=u.join(" || "),c=typeof r.raw=="string"?r.raw:String(r);return p.length<c.length?p:r};});var cs=chunkBUNLC3II_cjs.c((jp,as)=>{chunkBUNLC3II_cjs.h();var ns=N(),hr=re(),{ANY:fr}=hr,lr=ne(),pr=O(),Ec=(e,r,t={})=>{if(e===r)return true;e=new ns(e,t),r=new ns(r,t);let n=false;e:for(let s of e.set){for(let i of r.set){let a=yc(s,i,t);if(n=n||a!==null,a)continue e}if(n)return false}return true},dc=[new hr(">=0.0.0-0")],ss=[new hr(">=0.0.0")],yc=(e,r,t)=>{if(e===r)return true;if(e.length===1&&e[0].semver===fr){if(r.length===1&&r[0].semver===fr)return true;t.includePrerelease?e=dc:e=ss;}if(r.length===1&&r[0].semver===fr){if(t.includePrerelease)return true;r=ss;}let n=new Set,s,i;for(let y of e)y.operator===">"||y.operator===">="?s=is(s,y,t):y.operator==="<"||y.operator==="<="?i=os(i,y,t):n.add(y.semver);if(n.size>1)return null;let a;if(s&&i){if(a=pr(s.semver,i.semver,t),a>0)return null;if(a===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let y of n){if(s&&!lr(y,String(s),t)||i&&!lr(y,String(i),t))return null;for(let I of r)if(!lr(y,String(I),t))return false;return true}let u,p,c,m,f=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:false,S=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:false;f&&f.prerelease.length===1&&i.operator==="<"&&f.prerelease[0]===0&&(f=false);for(let y of r){if(m=m||y.operator===">"||y.operator===">=",c=c||y.operator==="<"||y.operator==="<=",s){if(S&&y.semver.prerelease&&y.semver.prerelease.length&&y.semver.major===S.major&&y.semver.minor===S.minor&&y.semver.patch===S.patch&&(S=false),y.operator===">"||y.operator===">="){if(u=is(s,y,t),u===y&&u!==s)return false}else if(s.operator===">="&&!y.test(s.semver))return false}if(i){if(f&&y.semver.prerelease&&y.semver.prerelease.length&&y.semver.major===f.major&&y.semver.minor===f.minor&&y.semver.patch===f.patch&&(f=false),y.operator==="<"||y.operator==="<="){if(p=os(i,y,t),p===y&&p!==i)return false}else if(i.operator==="<="&&!y.test(i.semver))return false}if(!y.operator&&(i||s)&&a!==0)return false}return !(s&&c&&!i&&a!==0||i&&m&&!s&&a!==0||S||f)},is=(e,r,t)=>{if(!e)return r;let n=pr(e.semver,r.semver,t);return n>0?e:n<0||r.operator===">"&&e.operator===">="?r:e},os=(e,r,t)=>{if(!e)return r;let n=pr(e.semver,r.semver,t);return n<0?e:n>0||r.operator==="<"&&e.operator==="<="?r:e};as.exports=Ec;});var Oe=chunkBUNLC3II_cjs.c((_p,ls)=>{chunkBUNLC3II_cjs.h();var mr=W(),us=K(),gc=T(),fs=ze(),Sc=_(),wc=Pt(),bc=Dt(),Ic=Bt(),Rc=Ft(),Tc=kt(),$c=Xt(),Ac=Kt(),vc=Yt(),Lc=O(),qc=Qt(),Oc=rn(),Nc=Re(),xc=on(),Pc=cn(),jc=ee(),Dc=Te(),_c=er(),Cc=rr(),Bc=$e(),Gc=Ae(),Vc=tr(),Fc=yn(),Uc=Sn(),kc=re(),Hc=N(),Xc=ne(),Mc=jn(),Kc=_n(),Wc=Bn(),Yc=Fn(),Jc=kn(),zc=qe(),Zc=Yn(),Qc=zn(),eu=es(),ru=ts(),tu=cs();ls.exports={parse:Sc,valid:wc,clean:bc,inc:Ic,diff:Rc,major:Tc,minor:$c,patch:Ac,prerelease:vc,compare:Lc,rcompare:qc,compareLoose:Oc,compareBuild:Nc,sort:xc,rsort:Pc,gt:jc,lt:Dc,eq:_c,neq:Cc,gte:Bc,lte:Gc,cmp:Vc,coerce:Fc,truncate:Uc,Comparator:kc,Range:Hc,satisfies:Xc,toComparators:Mc,maxSatisfying:Kc,minSatisfying:Wc,minVersion:Yc,validRange:Jc,outside:zc,gtr:Zc,ltr:Qc,intersects:eu,simplifyRange:ru,subset:tu,SemVer:gc,re:mr.re,src:mr.src,tokens:mr.t,SEMVER_SPEC_VERSION:us.SEMVER_SPEC_VERSION,RELEASE_TYPES:us.RELEASE_TYPES,compareIdentifiers:fs.compareIdentifiers,rcompareIdentifiers:fs.rcompareIdentifiers};});var ps=chunkBUNLC3II_cjs.c((Bp,hs)=>{chunkBUNLC3II_cjs.h();var nu=Oe();hs.exports=nu.satisfies(process.version,">=15.7.0");});var Es=chunkBUNLC3II_cjs.c((Vp,ms)=>{chunkBUNLC3II_cjs.h();var su=Oe();ms.exports=su.satisfies(process.version,">=16.9.0");});var Er=chunkBUNLC3II_cjs.c((Up,ds)=>{chunkBUNLC3II_cjs.h();var iu=ps(),ou=Es(),au={ec:["ES256","ES384","ES512"],rsa:["RS256","PS256","RS384","PS384","RS512","PS512"],"rsa-pss":["PS256","PS384","PS512"]},cu={ES256:"prime256v1",ES384:"secp384r1",ES512:"secp521r1"};ds.exports=function(e,r){if(!e||!r)return;let t=r.asymmetricKeyType;if(!t)return;let n=au[t];if(!n)throw new Error(`Unknown key type "${t}".`);if(!n.includes(e))throw new Error(`"alg" parameter for "${t}" key type must be one of: ${n.join(", ")}.`);if(iu)switch(t){case "ec":let s=r.asymmetricKeyDetails.namedCurve,i=cu[e];if(s!==i)throw new Error(`"alg" parameter "${e}" requires curve "${i}".`);break;case "rsa-pss":if(ou){let a=parseInt(e.slice(-3),10),{hashAlgorithm:u,mgf1HashAlgorithm:p,saltLength:c}=r.asymmetricKeyDetails;if(u!==`sha${a}`||p!==u)throw new Error(`Invalid key for this operation, its RSA-PSS parameters do not meet the requirements of "alg" ${e}.`);if(c!==void 0&&c>a>>3)throw new Error(`Invalid key for this operation, its RSA-PSS parameter saltLength does not meet the requirements of "alg" ${e}.`)}break}};});var dr=chunkBUNLC3II_cjs.c((Hp,ys)=>{chunkBUNLC3II_cjs.h();var uu=Oe();ys.exports=uu.satisfies(process.version,"^6.12.0 || >=8.0.0");});var ws=chunkBUNLC3II_cjs.c((Mp,Ss)=>{chunkBUNLC3II_cjs.h();var w=Z(),fu=Me(),gs=Ke(),lu=Xe(),hu=We(),pu=Er(),mu=dr(),Eu=pe(),{KeyObject:du,createSecretKey:yu,createPublicKey:gu}=chunkBUNLC3II_cjs.a("crypto"),yr=["RS256","RS384","RS512"],Su=["ES256","ES384","ES512"],gr=["RS256","RS384","RS512"],wu=["HS256","HS384","HS512"];mu&&(yr.splice(yr.length,0,"PS256","PS384","PS512"),gr.splice(gr.length,0,"PS256","PS384","PS512"));Ss.exports=function(e,r,t,n){typeof t=="function"&&!n&&(n=t,t={}),t||(t={}),t=Object.assign({},t);let s;if(n?s=n:s=function(m,f){if(m)throw m;return f},t.clockTimestamp&&typeof t.clockTimestamp!="number")return s(new w("clockTimestamp must be a number"));if(t.nonce!==void 0&&(typeof t.nonce!="string"||t.nonce.trim()===""))return s(new w("nonce must be a non-empty string"));if(t.allowInvalidAsymmetricKeyTypes!==void 0&&typeof t.allowInvalidAsymmetricKeyTypes!="boolean")return s(new w("allowInvalidAsymmetricKeyTypes must be a boolean"));let i=t.clockTimestamp||Math.floor(Date.now()/1e3);if(!e)return s(new w("jwt must be provided"));if(typeof e!="string")return s(new w("jwt must be a string"));let a=e.split(".");if(a.length!==3)return s(new w("jwt malformed"));let u;try{u=lu(e,{complete:!0});}catch(m){return s(m)}if(!u)return s(new w("invalid token"));let p=u.header,c;if(typeof r=="function"){if(!n)return s(new w("verify must be called asynchronous if secret or public key is provided as a callback"));c=r;}else c=function(m,f){return f(null,r)};return c(p,function(m,f){if(m)return s(new w("error in secret or public key callback: "+m.message));let S=a[2].trim()!=="";if(!S&&f)return s(new w("jwt signature is required"));if(S&&!f)return s(new w("secret or public key must be provided"));if(!S&&!t.algorithms)return s(new w('please specify "none" in "algorithms" to verify unsigned tokens'));if(f!=null&&!(f instanceof du))try{f=gu(f);}catch{try{f=yu(typeof f=="string"?Buffer.from(f):f);}catch{return s(new w("secretOrPublicKey is not valid key material"))}}if(t.algorithms||(f.type==="secret"?t.algorithms=wu:["rsa","rsa-pss"].includes(f.asymmetricKeyType)?t.algorithms=gr:f.asymmetricKeyType==="ec"?t.algorithms=Su:t.algorithms=yr),t.algorithms.indexOf(u.header.alg)===-1)return s(new w("invalid algorithm"));if(p.alg.startsWith("HS")&&f.type!=="secret")return s(new w(`secretOrPublicKey must be a symmetric key when using ${p.alg}`));if(/^(?:RS|PS|ES)/.test(p.alg)&&f.type!=="public")return s(new w(`secretOrPublicKey must be an asymmetric key when using ${p.alg}`));if(!t.allowInvalidAsymmetricKeyTypes)try{pu(p.alg,f);}catch(v){return s(v)}let y;try{y=Eu.verify(e,u.header.alg,f);}catch(v){return s(v)}if(!y)return s(new w("invalid signature"));let I=u.payload;if(typeof I.nbf<"u"&&!t.ignoreNotBefore){if(typeof I.nbf!="number")return s(new w("invalid nbf value"));if(I.nbf>i+(t.clockTolerance||0))return s(new fu("jwt not active",new Date(I.nbf*1e3)))}if(typeof I.exp<"u"&&!t.ignoreExpiration){if(typeof I.exp!="number")return s(new w("invalid exp value"));if(i>=I.exp+(t.clockTolerance||0))return s(new gs("jwt expired",new Date(I.exp*1e3)))}if(t.audience){let v=Array.isArray(t.audience)?t.audience:[t.audience];if(!(Array.isArray(I.aud)?I.aud:[I.aud]).some(function(Tr){return v.some(function(je){return je instanceof RegExp?je.test(Tr):je===Tr})}))return s(new w("jwt audience invalid. expected: "+v.join(" or ")))}if(t.issuer&&(typeof t.issuer=="string"&&I.iss!==t.issuer||Array.isArray(t.issuer)&&t.issuer.indexOf(I.iss)===-1))return s(new w("jwt issuer invalid. expected: "+t.issuer));if(t.subject&&I.sub!==t.subject)return s(new w("jwt subject invalid. expected: "+t.subject));if(t.jwtid&&I.jti!==t.jwtid)return s(new w("jwt jwtid invalid. expected: "+t.jwtid));if(t.nonce&&I.nonce!==t.nonce)return s(new w("jwt nonce invalid. expected: "+t.nonce));if(t.maxAge){if(typeof I.iat!="number")return s(new w("iat required when maxAge is specified"));let v=hu(t.maxAge,I.iat);if(typeof v>"u")return s(new w('"maxAge" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'));if(i>=v+(t.clockTolerance||0))return s(new gs("maxAge exceeded",new Date(v*1e3)))}if(t.complete===true){let v=u.signature;return s(null,{header:p,payload:I,signature:v})}return s(null,I)})};});var As=chunkBUNLC3II_cjs.c((Wp,$s)=>{chunkBUNLC3II_cjs.h();var bs=1/0,Rs=9007199254740991,bu=17976931348623157e292,Is=NaN,Iu="[object Arguments]",Ru="[object Function]",Tu="[object GeneratorFunction]",$u="[object String]",Au="[object Symbol]",vu=/^\s+|\s+$/g,Lu=/^[-+]0x[0-9a-f]+$/i,qu=/^0b[01]+$/i,Ou=/^0o[0-7]+$/i,Nu=/^(?:0|[1-9]\d*)$/,xu=parseInt;function Pu(e,r){for(var t=-1,n=e?e.length:0,s=Array(n);++t<n;)s[t]=r(e[t],t,e);return s}function ju(e,r,t,n){for(var s=e.length,i=t+(-1);++i<s;)if(r(e[i],i,e))return i;return -1}function Du(e,r,t){if(r!==r)return ju(e,_u,t);for(var n=t-1,s=e.length;++n<s;)if(e[n]===r)return n;return -1}function _u(e){return e!==e}function Cu(e,r){for(var t=-1,n=Array(e);++t<e;)n[t]=r(t);return n}function Bu(e,r){return Pu(r,function(t){return e[t]})}function Gu(e,r){return function(t){return e(r(t))}}var Ne=Object.prototype,wr=Ne.hasOwnProperty,xe=Ne.toString,Vu=Ne.propertyIsEnumerable,Fu=Gu(Object.keys,Object),Uu=Math.max;function ku(e,r){var t=Ts(e)||Wu(e)?Cu(e.length,String):[],n=t.length,s=!!n;for(var i in e)(wr.call(e,i))&&!(s&&(i=="length"||Xu(i,n)))&&t.push(i);return t}function Hu(e){if(!Mu(e))return Fu(e);var r=[];for(var t in Object(e))wr.call(e,t)&&t!="constructor"&&r.push(t);return r}function Xu(e,r){return r=r??Rs,!!r&&(typeof e=="number"||Nu.test(e))&&e>-1&&e%1==0&&e<r}function Mu(e){var r=e&&e.constructor,t=typeof r=="function"&&r.prototype||Ne;return e===t}function Ku(e,r,t,n){e=br(e)?e:sf(e),t=t&&!n?rf(t):0;var s=e.length;return t<0&&(t=Uu(s+t,0)),Zu(e)?t<=s&&e.indexOf(r,t)>-1:!!s&&Du(e,r,t)>-1}function Wu(e){return Yu(e)&&wr.call(e,"callee")&&(!Vu.call(e,"callee")||xe.call(e)==Iu)}var Ts=Array.isArray;function br(e){return e!=null&&zu(e.length)&&!Ju(e)}function Yu(e){return Ir(e)&&br(e)}function Ju(e){var r=Sr(e)?xe.call(e):"";return r==Ru||r==Tu}function zu(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Rs}function Sr(e){var r=typeof e;return !!e&&(r=="object"||r=="function")}function Ir(e){return !!e&&typeof e=="object"}function Zu(e){return typeof e=="string"||!Ts(e)&&Ir(e)&&xe.call(e)==$u}function Qu(e){return typeof e=="symbol"||Ir(e)&&xe.call(e)==Au}function ef(e){if(!e)return e===0?e:0;if(e=tf(e),e===bs||e===-bs){var r=e<0?-1:1;return r*bu}return e===e?e:0}function rf(e){var r=ef(e),t=r%1;return r===r?t?r-t:r:0}function tf(e){if(typeof e=="number")return e;if(Qu(e))return Is;if(Sr(e)){var r=typeof e.valueOf=="function"?e.valueOf():e;e=Sr(r)?r+"":r;}if(typeof e!="string")return e===0?e:+e;e=e.replace(vu,"");var t=qu.test(e);return t||Ou.test(e)?xu(e.slice(2),t?2:8):Lu.test(e)?Is:+e}function nf(e){return br(e)?ku(e):Hu(e)}function sf(e){return e?Bu(e,nf(e)):[]}$s.exports=Ku;});var Ls=chunkBUNLC3II_cjs.c((Jp,vs)=>{chunkBUNLC3II_cjs.h();var of="[object Boolean]",af=Object.prototype,cf=af.toString;function uf(e){return e===true||e===false||ff(e)&&cf.call(e)==of}function ff(e){return !!e&&typeof e=="object"}vs.exports=uf;});var Ps=chunkBUNLC3II_cjs.c((Zp,xs)=>{chunkBUNLC3II_cjs.h();var qs=1/0,lf=17976931348623157e292,Os=NaN,hf="[object Symbol]",pf=/^\s+|\s+$/g,mf=/^[-+]0x[0-9a-f]+$/i,Ef=/^0b[01]+$/i,df=/^0o[0-7]+$/i,yf=parseInt,gf=Object.prototype,Sf=gf.toString;function wf(e){return typeof e=="number"&&e==Tf(e)}function Ns(e){var r=typeof e;return !!e&&(r=="object"||r=="function")}function bf(e){return !!e&&typeof e=="object"}function If(e){return typeof e=="symbol"||bf(e)&&Sf.call(e)==hf}function Rf(e){if(!e)return e===0?e:0;if(e=$f(e),e===qs||e===-qs){var r=e<0?-1:1;return r*lf}return e===e?e:0}function Tf(e){var r=Rf(e),t=r%1;return r===r?t?r-t:r:0}function $f(e){if(typeof e=="number")return e;if(If(e))return Os;if(Ns(e)){var r=typeof e.valueOf=="function"?e.valueOf():e;e=Ns(r)?r+"":r;}if(typeof e!="string")return e===0?e:+e;e=e.replace(pf,"");var t=Ef.test(e);return t||df.test(e)?yf(e.slice(2),t?2:8):mf.test(e)?Os:+e}xs.exports=wf;});var Ds=chunkBUNLC3II_cjs.c((em,js)=>{chunkBUNLC3II_cjs.h();var Af="[object Number]",vf=Object.prototype,Lf=vf.toString;function qf(e){return !!e&&typeof e=="object"}function Of(e){return typeof e=="number"||qf(e)&&Lf.call(e)==Af}js.exports=Of;});var Gs=chunkBUNLC3II_cjs.c((tm,Bs)=>{chunkBUNLC3II_cjs.h();var Nf="[object Object]";function xf(e){var r=false;if(e!=null&&typeof e.toString!="function")try{r=!!(e+"");}catch{}return r}function Pf(e,r){return function(t){return e(r(t))}}var jf=Function.prototype,_s=Object.prototype,Cs=jf.toString,Df=_s.hasOwnProperty,_f=Cs.call(Object),Cf=_s.toString,Bf=Pf(Object.getPrototypeOf,Object);function Gf(e){return !!e&&typeof e=="object"}function Vf(e){if(!Gf(e)||Cf.call(e)!=Nf||xf(e))return false;var r=Bf(e);if(r===null)return true;var t=Df.call(r,"constructor")&&r.constructor;return typeof t=="function"&&t instanceof t&&Cs.call(t)==_f}Bs.exports=Vf;});var Fs=chunkBUNLC3II_cjs.c((sm,Vs)=>{chunkBUNLC3II_cjs.h();var Ff="[object String]",Uf=Object.prototype,kf=Uf.toString,Hf=Array.isArray;function Xf(e){return !!e&&typeof e=="object"}function Mf(e){return typeof e=="string"||!Hf(e)&&Xf(e)&&kf.call(e)==Ff}Vs.exports=Mf;});var Ms=chunkBUNLC3II_cjs.c((om,Xs)=>{chunkBUNLC3II_cjs.h();var Kf="Expected a function",Us=1/0,Wf=17976931348623157e292,ks=NaN,Yf="[object Symbol]",Jf=/^\s+|\s+$/g,zf=/^[-+]0x[0-9a-f]+$/i,Zf=/^0b[01]+$/i,Qf=/^0o[0-7]+$/i,el=parseInt,rl=Object.prototype,tl=rl.toString;function nl(e,r){var t;if(typeof r!="function")throw new TypeError(Kf);return e=cl(e),function(){return --e>0&&(t=r.apply(this,arguments)),e<=1&&(r=void 0),t}}function sl(e){return nl(2,e)}function Hs(e){var r=typeof e;return !!e&&(r=="object"||r=="function")}function il(e){return !!e&&typeof e=="object"}function ol(e){return typeof e=="symbol"||il(e)&&tl.call(e)==Yf}function al(e){if(!e)return e===0?e:0;if(e=ul(e),e===Us||e===-Us){var r=e<0?-1:1;return r*Wf}return e===e?e:0}function cl(e){var r=al(e),t=r%1;return r===r?t?r-t:r:0}function ul(e){if(typeof e=="number")return e;if(ol(e))return ks;if(Hs(e)){var r=typeof e.valueOf=="function"?e.valueOf():e;e=Hs(r)?r+"":r;}if(typeof e!="string")return e===0?e:+e;e=e.replace(Jf,"");var t=Zf.test(e);return t||Qf.test(e)?el(e.slice(2),t?2:8):zf.test(e)?ks:+e}Xs.exports=sl;});var ri=chunkBUNLC3II_cjs.c((cm,ei)=>{chunkBUNLC3II_cjs.h();var Ks=We(),fl=dr(),ll=Er(),Ws=pe(),hl=As(),Pe=Ls(),Ys=Ps(),Rr=Ds(),zs=Gs(),C=Fs(),pl=Ms(),{KeyObject:ml,createSecretKey:El,createPrivateKey:dl}=chunkBUNLC3II_cjs.a("crypto"),Zs=["RS256","RS384","RS512","ES256","ES384","ES512","HS256","HS384","HS512","none"];fl&&Zs.splice(3,0,"PS256","PS384","PS512");var yl={expiresIn:{isValid:function(e){return Ys(e)||C(e)&&e},message:'"expiresIn" should be a number of seconds or string representing a timespan'},notBefore:{isValid:function(e){return Ys(e)||C(e)&&e},message:'"notBefore" should be a number of seconds or string representing a timespan'},audience:{isValid:function(e){return C(e)||Array.isArray(e)},message:'"audience" must be a string or array'},algorithm:{isValid:hl.bind(null,Zs),message:'"algorithm" must be a valid string enum value'},header:{isValid:zs,message:'"header" must be an object'},encoding:{isValid:C,message:'"encoding" must be a string'},issuer:{isValid:C,message:'"issuer" must be a string'},subject:{isValid:C,message:'"subject" must be a string'},jwtid:{isValid:C,message:'"jwtid" must be a string'},noTimestamp:{isValid:Pe,message:'"noTimestamp" must be a boolean'},keyid:{isValid:C,message:'"keyid" must be a string'},mutatePayload:{isValid:Pe,message:'"mutatePayload" must be a boolean'},allowInsecureKeySizes:{isValid:Pe,message:'"allowInsecureKeySizes" must be a boolean'},allowInvalidAsymmetricKeyTypes:{isValid:Pe,message:'"allowInvalidAsymmetricKeyTypes" must be a boolean'}},gl={iat:{isValid:Rr,message:'"iat" should be a number of seconds'},exp:{isValid:Rr,message:'"exp" should be a number of seconds'},nbf:{isValid:Rr,message:'"nbf" should be a number of seconds'}};function Qs(e,r,t,n){if(!zs(t))throw new Error('Expected "'+n+'" to be a plain object.');Object.keys(t).forEach(function(s){let i=e[s];if(!i){if(!r)throw new Error('"'+s+'" is not allowed in "'+n+'"');return}if(!i.isValid(t[s]))throw new Error(i.message)});}function Sl(e){return Qs(yl,false,e,"options")}function wl(e){return Qs(gl,true,e,"payload")}var Js={audience:"aud",issuer:"iss",subject:"sub",jwtid:"jti"},bl=["expiresIn","notBefore","noTimestamp","audience","issuer","subject","jwtid"];ei.exports=function(e,r,t,n){typeof t=="function"?(n=t,t={}):t=t||{};let s=typeof e=="object"&&!Buffer.isBuffer(e),i=Object.assign({alg:t.algorithm||"HS256",typ:s?"JWT":void 0,kid:t.keyid},t.header);function a(c){if(n)return n(c);throw c}if(!r&&t.algorithm!=="none")return a(new Error("secretOrPrivateKey must have a value"));if(r!=null&&!(r instanceof ml))try{r=dl(r);}catch{try{r=El(typeof r=="string"?Buffer.from(r):r);}catch{return a(new Error("secretOrPrivateKey is not valid key material"))}}if(i.alg.startsWith("HS")&&r.type!=="secret")return a(new Error(`secretOrPrivateKey must be a symmetric key when using ${i.alg}`));if(/^(?:RS|PS|ES)/.test(i.alg)){if(r.type!=="private")return a(new Error(`secretOrPrivateKey must be an asymmetric key when using ${i.alg}`));if(!t.allowInsecureKeySizes&&!i.alg.startsWith("ES")&&r.asymmetricKeyDetails!==void 0&&r.asymmetricKeyDetails.modulusLength<2048)return a(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${i.alg}`))}if(typeof e>"u")return a(new Error("payload is required"));if(s){try{wl(e);}catch(c){return a(c)}t.mutatePayload||(e=Object.assign({},e));}else {let c=bl.filter(function(m){return typeof t[m]<"u"});if(c.length>0)return a(new Error("invalid "+c.join(",")+" option for "+typeof e+" payload"))}if(typeof e.exp<"u"&&typeof t.expiresIn<"u")return a(new Error('Bad "options.expiresIn" option the payload already has an "exp" property.'));if(typeof e.nbf<"u"&&typeof t.notBefore<"u")return a(new Error('Bad "options.notBefore" option the payload already has an "nbf" property.'));try{Sl(t);}catch(c){return a(c)}if(!t.allowInvalidAsymmetricKeyTypes)try{ll(i.alg,r);}catch(c){return a(c)}let u=e.iat||Math.floor(Date.now()/1e3);if(t.noTimestamp?delete e.iat:s&&(e.iat=u),typeof t.notBefore<"u"){try{e.nbf=Ks(t.notBefore,u);}catch(c){return a(c)}if(typeof e.nbf>"u")return a(new Error('"notBefore" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}if(typeof t.expiresIn<"u"&&typeof e=="object"){try{e.exp=Ks(t.expiresIn,u);}catch(c){return a(c)}if(typeof e.exp>"u")return a(new Error('"expiresIn" should be a number of seconds or string representing a timespan eg: "1d", "20h", 60'))}Object.keys(Js).forEach(function(c){let m=Js[c];if(typeof t[c]<"u"){if(typeof e[m]<"u")return a(new Error('Bad "options.'+c+'" option. The payload already has an "'+m+'" property.'));e[m]=t[c];}});let p=t.encoding||"utf8";if(typeof n=="function")n=n&&pl(n),Ws.createSign({header:i,privateKey:r,payload:e,encoding:p}).once("error",n).once("done",function(c){if(!t.allowInsecureKeySizes&&/^(?:RS|PS)/.test(i.alg)&&c.length<256)return n(new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${i.alg}`));n(null,c);});else {let c=Ws.sign({header:i,payload:e,secret:r,encoding:p});if(!t.allowInsecureKeySizes&&/^(?:RS|PS)/.test(i.alg)&&c.length<256)throw new Error(`secretOrPrivateKey has a minimum key size of 2048 bits for ${i.alg}`);return c}};});var Il=chunkBUNLC3II_cjs.c((fm,ti)=>{chunkBUNLC3II_cjs.h();ti.exports={decode:Xe(),verify:ws(),sign:ri(),JsonWebTokenError:Z(),NotBeforeError:Me(),TokenExpiredError:Ke()};});var jsonwebtokenDFB6ZBZA = Il();
|
|
4
|
+
/*! Bundled license information:
|
|
5
|
+
|
|
6
|
+
safe-buffer/index.js:
|
|
7
|
+
(*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> *)
|
|
8
|
+
*/module.exports=jsonwebtokenDFB6ZBZA;
|