@kyro-cms/core 0.12.44 → 0.12.45
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-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-6V3AP7HR.cjs +269 -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-7SSFHJTR.js +57 -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-CGPAS4U5.js +4 -0
- package/dist/chunk-DS5DE5BU.js +2 -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-FLM37UVD.js +2 -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-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-M6ESQ5TE.cjs +56 -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-QC4YXUBT.cjs +383 -0
- package/dist/chunk-QDHP5E4P.cjs +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-UK43ADRO.js +270 -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/chunk-ZYDOF65Q.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
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import {createRequire}from'module';import {a}from'./chunk-R3NEPC4I.js';import {b as b$1}from'./chunk-2WFTETFB.js';import {g as g$1}from'./chunk-C2PXMVR5.js';createRequire(import.meta.url);
|
|
2
|
+
g$1();g$1();var A={};g$1();var M={};g$1();g$1();g$1();var u={slug:"site-settings",label:"Site Settings",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"siteName",type:"text",label:"Site Name",required:true,admin:{}},{name:"siteDescription",type:"textarea",label:"Site Description",admin:{placeholder:"Enter a brief description of your site for SEO and search results."}},{name:"siteUrl",type:"text",label:"Site URL",admin:{}},{name:"defaultLanguage",type:"select",label:"Default Language",defaultValue:"en",options:[{label:"English",value:"en"},{label:"French",value:"fr"},{label:"Spanish",value:"es"},{label:"German",value:"de"}],admin:{description:"The default language for the site and admin UI."}},{name:"analyticsEnabled",type:"checkbox",label:"Enable Analytics & Tracking",defaultValue:false},{name:"analytics",type:"group",label:"Tracking Configurations",admin:{condition:{field:"analyticsEnabled",equals:true}},fields:[{name:"googleAnalyticsId",type:"text",label:"Google Analytics ID"},{name:"googleTagManagerId",type:"text",label:"Google Tag Manager ID"},{name:"plausibleDomain",type:"text",label:"Plausible Domain"},{name:"mixpanelToken",type:"password",label:"Mixpanel Token"}]},{name:"mapApiKey",type:"password",label:"Map API Key",admin:{description:"API Key for Map Integrations (Google Maps, Mapbox, etc.)"}},{name:"enableHeaderFooterElements",type:"checkbox",label:"Enable Header and Footer Elements",defaultValue:false},{name:"headerFooterSettings",type:"group",label:"Header & Footer Settings",admin:{condition:{field:"enableHeaderFooterElements",equals:true}},fields:[{name:"headerBlocks",type:"blocks",label:"Header Elements",blocks:[{slug:"text",label:"Text Paragraph",fields:[{name:"text",type:"text",label:"Text Content",required:true}]},{slug:"textarea",label:"Text Area",fields:[{name:"text",type:"textarea",label:"Text Content",required:true}]},{slug:"form",label:"Form Selection",fields:[{name:"form",type:"relationship",label:"Select Form",relationTo:"forms",required:true}]},{slug:"button",label:"Button Link",fields:[{name:"label",type:"text",label:"Button Label",required:true},{name:"url",type:"text",label:"URL",required:true}]},{slug:"image",label:"Image Upload",fields:[{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"alt",type:"text",label:"Alt Text"},{name:"linkUrl",type:"text",label:"Link URL"}]}]},{name:"footerBlocks",type:"blocks",label:"Footer Elements",blocks:[{slug:"text",label:"Text Paragraph",fields:[{name:"text",type:"text",label:"Text Content",required:true}]},{slug:"textarea",label:"Text Area",fields:[{name:"text",type:"textarea",label:"Text Content",required:true}]},{slug:"form",label:"Form Selection",fields:[{name:"form",type:"relationship",label:"Select Form",relationTo:"forms",required:true}]},{slug:"button",label:"Button Link",fields:[{name:"label",type:"text",label:"Button Label",required:true},{name:"url",type:"text",label:"URL",required:true}]},{slug:"image",label:"Image Upload",fields:[{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"alt",type:"text",label:"Alt Text"},{name:"linkUrl",type:"text",label:"Link URL"}]}]}]}]};g$1();var m={slug:"seo-settings",label:"SEO Settings",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"seoMode",type:"select",label:"Visibility Mode",defaultValue:"simple",options:[{label:"Simple (Basic Meta)",value:"simple"},{label:"Advanced (Full Technical SEO)",value:"advanced"}],admin:{description:"Switch to advanced mode to control robots.txt, canonical URLs, and deep metadata."}},{name:"defaultTitle",type:"text",label:"Default Title",admin:{}},{name:"defaultDescription",type:"textarea",label:"Default Description",admin:{}},{name:"defaultOgImage",type:"upload",label:"Default OG Image",relationTo:"media"},{name:"titleTemplate",type:"text",label:"Title Template",defaultValue:"{{title}} | {{siteName}}",admin:{}},{name:"siteNameInTitle",type:"checkbox",label:"Include Site Name in Title",defaultValue:true},{name:"separator",type:"text",label:"Title Separator",defaultValue:" | ",admin:{}},{name:"meta",type:"group",label:"Technical Meta Settings",admin:{condition:{field:"seoMode",equals:"advanced"}},fields:[{name:"robots",type:"text",label:"Robots Meta",defaultValue:"index, follow"},{name:"canonicalUrl",type:"text",label:"Canonical URL"},{name:"ogType",type:"select",label:"Default OG Type",defaultValue:"website",options:[{label:"Website",value:"website"},{label:"Article",value:"article"},{label:"Product",value:"product"},{label:"Book",value:"book"},{label:"Music",value:"music"},{label:"Video",value:"video"}]}]},{name:"enableSitemap",type:"checkbox",label:"Enable XML Sitemap",defaultValue:true},{name:"sitemap",type:"group",label:"Sitemap Configuration",admin:{condition:{and:[{field:"enableSitemap",equals:true},{field:"seoMode",equals:"advanced"}]}},fields:[{name:"sitemapUrls",type:"number",label:"Sitemap URL Limit",defaultValue:5e4}]},{name:"robotsTxt",type:"textarea",label:"Custom robots.txt",admin:{condition:{field:"seoMode",equals:"advanced"}}},{name:"social",type:"group",label:"Social Media",fields:[{name:"twitterHandle",type:"text",label:"Twitter/X Handle",admin:{}},{name:"twitterCardType",type:"select",label:"Twitter Card Type",defaultValue:"summary_large_image",options:[{label:"Summary",value:"summary"},{label:"Summary with Large Image",value:"summary_large_image"},{label:"App",value:"app"},{label:"Player",value:"player"}]},{name:"fbAppId",type:"text",label:"Facebook App ID"}]},{name:"advanced",type:"group",label:"Advanced",fields:[{name:"jsonLdEnabled",type:"checkbox",label:"Enable JSON-LD",defaultValue:true,admin:{}},{name:"breadcrumbsEnabled",type:"checkbox",label:"Enable Breadcrumbs",defaultValue:true},{name:"paginationSize",type:"number",label:"Default Pagination Size",defaultValue:10}]}]};g$1();var d={slug:"brand-settings",label:"Brand Settings",admin:{group:"settings",description:"Manage global brand identity, logos, contact information, and social links."},access:{read:()=>true,update:()=>true},fields:[{name:"identity",type:"group",label:"Brand Identity",fields:[{name:"primaryLogo",type:"upload",label:"Primary Logo",relationTo:"media"},{name:"darkLogo",type:"upload",label:"Dark Logo (Optional)",relationTo:"media",admin:{description:"Used for dark mode layouts."}},{name:"favicon",type:"upload",label:"Favicon",relationTo:"media"},{name:"showSiteName",type:"checkbox",label:"Show Sitename in Brand Identity",defaultValue:true,admin:{description:"Show the sitename side by side with the logo in the sidebar menu area."}}]},{name:"companyInfo",type:"group",label:"Contact & Company Information",fields:[{name:"companyName",type:"text",label:"Company Name"},{name:"address",type:"textarea",label:"Physical Address"},{name:"phone",type:"text",label:"Phone Number"},{name:"email",type:"text",label:"Public Email Address"}]},{name:"businessHours",type:"array",label:"Business Hours",fields:[{name:"day",type:"text",label:"Day / Range",admin:{description:"e.g., Mon - Fri"}},{name:"hours",type:"text",label:"Hours",admin:{description:"e.g., 9:00 AM - 5:00 PM"}}]},{name:"socialLinks",type:"array",label:"Social Media Profiles",fields:[{name:"platform",type:"select",label:"Platform",options:[{label:"Facebook",value:"facebook"},{label:"Twitter / X",value:"twitter"},{label:"Instagram",value:"instagram"},{label:"LinkedIn",value:"linkedin"},{label:"YouTube",value:"youtube"},{label:"TikTok",value:"tiktok"},{label:"GitHub",value:"github"},{label:"Other",value:"other"}]},{name:"url",type:"text",label:"Profile URL"}]}]};g$1();var b={slug:"email-settings",label:"Email Settings",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"fromName",type:"text",label:"From Name",admin:{}},{name:"fromEmail",type:"email",label:"From Email",required:true,admin:{}},{name:"replyTo",type:"email",label:"Reply-To Email",admin:{}},{name:"provider",type:"select",label:"Email Provider",defaultValue:"smtp",options:[{label:"SMTP (Standard)",value:"smtp"},{label:"Resend",value:"resend"},{label:"SendGrid",value:"sendgrid"},{label:"Mailgun",value:"mailgun"},{label:"AWS SES",value:"ses"}]},{name:"smtp",type:"group",label:"SMTP Settings",admin:{condition:{field:"provider",equals:"smtp"}},fields:[{name:"smtpService",type:"select",label:"SMTP Service",defaultValue:"custom",options:[{label:"Custom SMTP",value:"custom"},{label:"Gmail",value:"gmail"},{label:"Outlook / Office 365",value:"outlook"},{label:"Brevo (Sendinblue)",value:"brevo"},{label:"Mailgun (SMTP)",value:"mailgun-smtp"},{label:"SendGrid (SMTP)",value:"sendgrid-smtp"},{label:"Mandrill / Mailchimp",value:"mandrill"}],admin:{description:"Selecting a known service will pre-configure host and port settings."}},{name:"host",type:"text",label:"Host",admin:{condition:{field:"smtpService",equals:"custom"},placeholder:"smtp.example.com"}},{name:"port",type:"number",label:"Port",defaultValue:587,admin:{condition:{field:"smtpService",equals:"custom"}}},{name:"username",type:"text",label:"Username"},{name:"password",type:"password",label:"Password"},{name:"secure",type:"checkbox",label:"Use TLS/SSL",defaultValue:true}]},{name:"resend",type:"group",label:"Resend Settings",admin:{condition:{field:"provider",equals:"resend"}},fields:[{name:"apiKey",type:"password",label:"API Key",required:true}]},{name:"sendgrid",type:"group",label:"SendGrid Settings",admin:{condition:{field:"provider",equals:"sendgrid"}},fields:[{name:"apiKey",type:"password",label:"API Key",required:true}]},{name:"mailgun",type:"group",label:"Mailgun Settings",admin:{condition:{field:"provider",equals:"mailgun"}},fields:[{name:"apiKey",type:"password",label:"API Key",required:true},{name:"domain",type:"text",label:"Domain",required:true},{name:"region",type:"select",label:"Region",defaultValue:"us",options:[{label:"US (United States)",value:"us"},{label:"EU (Europe)",value:"eu"}]}]},{name:"ses",type:"group",label:"AWS SES Settings",admin:{condition:{field:"provider",equals:"ses"}},fields:[{name:"accessKeyId",type:"text",label:"Access Key ID",required:true},{name:"secretAccessKey",type:"password",label:"Secret Access Key",required:true},{name:"region",type:"text",label:"Region",defaultValue:"us-east-1",admin:{placeholder:"us-east-1"}}]},{name:"testEmailSection",type:"row",label:"Test Email",admin:{description:"Enter an email address to send a test email."},fields:[{name:"testEmail",type:"email",label:"Email",admin:{width:"300px"}},{name:"sendTestEmail",type:"action",label:"Send Test Email",admin:{action:"/api/globals/email-settings/test",method:"POST"}}]}]};g$1();var p={slug:"access-settings",label:"Access Control",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"enablePublicAccess",type:"checkbox",label:"Enable Public Access",defaultValue:true,admin:{}},{name:"defaultCollectionAccess",type:"select",label:"Default Collection Access",defaultValue:"read",options:[{label:"Read Only",value:"read"},{label:"Read & Create",value:"create"},{label:"Read & Create & Update",value:"update"},{label:"Full Access",value:"admin"},{label:"No Access",value:"none"}],admin:{}},{name:"apiAccess",type:"group",label:"API Access",fields:[{name:"graphqlEnabled",type:"checkbox",label:"Enable GraphQL",defaultValue:false},{name:"trpcEnabled",type:"checkbox",label:"Enable tRPC",defaultValue:false},{name:"wsEnabled",type:"checkbox",label:"Enable WebSocket",defaultValue:false},{name:"requireAuth",type:"checkbox",label:"Require Authentication",defaultValue:false},{name:"cors",type:"group",label:"CORS Settings",admin:{condition:{field:"apiAccess.graphqlEnabled",equals:true}},fields:[{name:"allowedOrigins",type:"textarea",label:"Allowed Origins (one per line)",admin:{placeholder:`https://example.com
|
|
3
|
+
https://app.example.com`}}]}]},{name:"rateLimiting",type:"group",label:"Rate Limiting Configuration",admin:{condition:{field:"rateLimiting.enabled",equals:true}},fields:[{name:"enabled",type:"checkbox",label:"Enable Global Rate Limiting",defaultValue:true},{name:"maxRequests",type:"number",label:"Max Requests",defaultValue:100,admin:{condition:{field:"enabled",equals:true}}},{name:"windowMs",type:"number",label:"Window (ms)",defaultValue:6e4,admin:{condition:{field:"enabled",equals:true}}}]}]};g$1();g$1();var R=[{label:"Afghanistan",value:"AF"},{label:"\xC5land Islands",value:"AX"},{label:"Albania",value:"AL"},{label:"Algeria",value:"DZ"},{label:"American Samoa",value:"AS"},{label:"Andorra",value:"AD"},{label:"Angola",value:"AO"},{label:"Anguilla",value:"AI"},{label:"Antarctica",value:"AQ"},{label:"Antigua and Barbuda",value:"AG"},{label:"Argentina",value:"AR"},{label:"Armenia",value:"AM"},{label:"Aruba",value:"AW"},{label:"Australia",value:"AU"},{label:"Austria",value:"AT"},{label:"Azerbaijan",value:"AZ"},{label:"Bahamas",value:"BS"},{label:"Bahrain",value:"BH"},{label:"Bangladesh",value:"BD"},{label:"Barbados",value:"BB"},{label:"Belarus",value:"BY"},{label:"Belgium",value:"BE"},{label:"Belize",value:"BZ"},{label:"Benin",value:"BJ"},{label:"Bermuda",value:"BM"},{label:"Bhutan",value:"BT"},{label:"Bolivia",value:"BO"},{label:"Bosnia and Herzegovina",value:"BA"},{label:"Botswana",value:"BW"},{label:"Bouvet Island",value:"BV"},{label:"Brazil",value:"BR"},{label:"British Indian Ocean Territory",value:"IO"},{label:"Brunei Darussalam",value:"BN"},{label:"Bulgaria",value:"BG"},{label:"Burkina Faso",value:"BF"},{label:"Burundi",value:"BI"},{label:"Cambodia",value:"KH"},{label:"Cameroon",value:"CM"},{label:"Canada",value:"CA"},{label:"Cape Verde",value:"CV"},{label:"Cayman Islands",value:"KY"},{label:"Central African Republic",value:"CF"},{label:"Chad",value:"TD"},{label:"Chile",value:"CL"},{label:"China",value:"CN"},{label:"Christmas Island",value:"CX"},{label:"Cocos (Keeling) Islands",value:"CC"},{label:"Colombia",value:"CO"},{label:"Comoros",value:"KM"},{label:"Congo",value:"CG"},{label:"Congo, The Democratic Republic of the",value:"CD"},{label:"Cook Islands",value:"CK"},{label:"Costa Rica",value:"CR"},{label:"Cote D'Ivoire",value:"CI"},{label:"Croatia",value:"HR"},{label:"Cuba",value:"CU"},{label:"Cyprus",value:"CY"},{label:"Czech Republic",value:"CZ"},{label:"Denmark",value:"DK"},{label:"Djibouti",value:"DJ"},{label:"Dominica",value:"DM"},{label:"Dominican Republic",value:"DO"},{label:"Ecuador",value:"EC"},{label:"Egypt",value:"EG"},{label:"El Salvador",value:"SV"},{label:"Equatorial Guinea",value:"GQ"},{label:"Eritrea",value:"ER"},{label:"Estonia",value:"EE"},{label:"Ethiopia",value:"ET"},{label:"Falkland Islands (Malvinas)",value:"FK"},{label:"Faroe Islands",value:"FO"},{label:"Fiji",value:"FJ"},{label:"Finland",value:"FI"},{label:"France",value:"FR"},{label:"French Guiana",value:"GF"},{label:"French Polynesia",value:"PF"},{label:"French Southern Territories",value:"TF"},{label:"Gabon",value:"GA"},{label:"Gambia",value:"GM"},{label:"Georgia",value:"GE"},{label:"Germany",value:"DE"},{label:"Ghana",value:"GH"},{label:"Gibraltar",value:"GI"},{label:"Greece",value:"GR"},{label:"Greenland",value:"GL"},{label:"Grenada",value:"GD"},{label:"Guadeloupe",value:"GP"},{label:"Guam",value:"GU"},{label:"Guatemala",value:"GT"},{label:"Guernsey",value:"GG"},{label:"Guinea",value:"GN"},{label:"Guinea-Bissau",value:"GW"},{label:"Guyana",value:"GY"},{label:"Haiti",value:"HT"},{label:"Heard Island and Mcdonald Islands",value:"HM"},{label:"Holy See (Vatican City State)",value:"VA"},{label:"Honduras",value:"HN"},{label:"Hong Kong",value:"HK"},{label:"Hungary",value:"HU"},{label:"Iceland",value:"IS"},{label:"India",value:"IN"},{label:"Indonesia",value:"ID"},{label:"Iran, Islamic Republic Of",value:"IR"},{label:"Iraq",value:"IQ"},{label:"Ireland",value:"IE"},{label:"Isle of Man",value:"IM"},{label:"Israel",value:"IL"},{label:"Italy",value:"IT"},{label:"Jamaica",value:"JM"},{label:"Japan",value:"JP"},{label:"Jersey",value:"JE"},{label:"Jordan",value:"JO"},{label:"Kazakhstan",value:"KZ"},{label:"Kenya",value:"KE"},{label:"Kiribati",value:"KI"},{label:"Korea, Democratic People'S Republic of",value:"KP"},{label:"Korea, Republic of",value:"KR"},{label:"Kuwait",value:"KW"},{label:"Kyrgyzstan",value:"KG"},{label:"Lao People'S Democratic Republic",value:"LA"},{label:"Latvia",value:"LV"},{label:"Lebanon",value:"LB"},{label:"Lesotho",value:"LS"},{label:"Liberia",value:"LR"},{label:"Libyan Arab Jamahiriya",value:"LY"},{label:"Liechtenstein",value:"LI"},{label:"Lithuania",value:"LT"},{label:"Luxembourg",value:"LU"},{label:"Macao",value:"MO"},{label:"Macedonia, The Former Yugoslav Republic of",value:"MK"},{label:"Madagascar",value:"MG"},{label:"Malawi",value:"MW"},{label:"Malaysia",value:"MY"},{label:"Maldives",value:"MV"},{label:"Mali",value:"ML"},{label:"Malta",value:"MT"},{label:"Marshall Islands",value:"MH"},{label:"Martinique",value:"MQ"},{label:"Mauritania",value:"MR"},{label:"Mauritius",value:"MU"},{label:"Mayotte",value:"YT"},{label:"Mexico",value:"MX"},{label:"Micronesia, Federated States of",value:"FM"},{label:"Moldova, Republic of",value:"MD"},{label:"Monaco",value:"MC"},{label:"Mongolia",value:"MN"},{label:"Montserrat",value:"MS"},{label:"Morocco",value:"MA"},{label:"Mozambique",value:"MZ"},{label:"Myanmar",value:"MM"},{label:"Namibia",value:"NA"},{label:"Nauru",value:"NR"},{label:"Nepal",value:"NP"},{label:"Netherlands",value:"NL"},{label:"Netherlands Antilles",value:"AN"},{label:"New Caledonia",value:"NC"},{label:"New Zealand",value:"NZ"},{label:"Nicaragua",value:"NI"},{label:"Niger",value:"NE"},{label:"Nigeria",value:"NG"},{label:"Niue",value:"NU"},{label:"Norfolk Island",value:"NF"},{label:"Northern Mariana Islands",value:"MP"},{label:"Norway",value:"NO"},{label:"Oman",value:"OM"},{label:"Pakistan",value:"PK"},{label:"Palau",value:"PW"},{label:"Palestinian Territory, Occupied",value:"PS"},{label:"Panama",value:"PA"},{label:"Papua New Guinea",value:"PG"},{label:"Paraguay",value:"PY"},{label:"Peru",value:"PE"},{label:"Philippines",value:"PH"},{label:"Pitcairn",value:"PN"},{label:"Poland",value:"PL"},{label:"Portugal",value:"PT"},{label:"Puerto Rico",value:"PR"},{label:"Qatar",value:"QA"},{label:"Reunion",value:"RE"},{label:"Romania",value:"RO"},{label:"Russian Federation",value:"RU"},{label:"RWANDA",value:"RW"},{label:"Saint Helena",value:"SH"},{label:"Saint Kitts and Nevis",value:"KN"},{label:"Saint Lucia",value:"LC"},{label:"Saint Pierre and Miquelon",value:"PM"},{label:"Saint Vincent and the Grenadines",value:"VC"},{label:"Samoa",value:"WS"},{label:"San Marino",value:"SM"},{label:"Sao Tome and Principe",value:"ST"},{label:"Saudi Arabia",value:"SA"},{label:"Senegal",value:"SN"},{label:"Serbia and Montenegro",value:"CS"},{label:"Seychelles",value:"SC"},{label:"Sierra Leone",value:"SL"},{label:"Singapore",value:"SG"},{label:"Slovakia",value:"SK"},{label:"Slovenia",value:"SI"},{label:"Solomon Islands",value:"SB"},{label:"Somalia",value:"SO"},{label:"South Africa",value:"ZA"},{label:"South Georgia and the South Sandwich Islands",value:"GS"},{label:"Spain",value:"ES"},{label:"Sri Lanka",value:"LK"},{label:"Sudan",value:"SD"},{label:"Suriname",value:"SR"},{label:"Svalbard and Jan Mayen",value:"SJ"},{label:"Swaziland",value:"SZ"},{label:"Sweden",value:"SE"},{label:"Switzerland",value:"CH"},{label:"Syrian Arab Republic",value:"SY"},{label:"Taiwan, Province of China",value:"TW"},{label:"Tajikistan",value:"TJ"},{label:"Tanzania, United Republic of",value:"TZ"},{label:"Thailand",value:"TH"},{label:"Timor-Leste",value:"TL"},{label:"Togo",value:"TG"},{label:"Tokelau",value:"TK"},{label:"Tonga",value:"TO"},{label:"Trinidad and Tobago",value:"TT"},{label:"Tunisia",value:"TN"},{label:"Turkey",value:"TR"},{label:"Turkmenistan",value:"TM"},{label:"Turks and Caicos Islands",value:"TC"},{label:"Tuvalu",value:"TV"},{label:"Uganda",value:"UG"},{label:"Ukraine",value:"UA"},{label:"United Arab Emirates",value:"AE"},{label:"United Kingdom",value:"GB"},{label:"United States",value:"US"},{label:"United States Minor Outlying Islands",value:"UM"},{label:"Uruguay",value:"UY"},{label:"Uzbekistan",value:"UZ"},{label:"Vanuatu",value:"VU"},{label:"Venezuela",value:"VE"},{label:"Viet Nam",value:"VN"},{label:"Virgin Islands, British",value:"VG"},{label:"Virgin Islands, U.S.",value:"VI"},{label:"Wallis and Futuna",value:"WF"},{label:"Western Sahara",value:"EH"},{label:"Yemen",value:"YE"},{label:"Zambia",value:"ZM"},{label:"Zimbabwe",value:"ZW"}];g$1();var J=[{label:"AED - United Arab Emirates Dirham",value:"AED"},{label:"AFN - Afghan Afghani",value:"AFN"},{label:"ALL - Albanian Lek",value:"ALL"},{label:"AMD - Armenian Dram",value:"AMD"},{label:"ANG - Netherlands Antillean Guilder",value:"ANG"},{label:"AOA - Angolan Kwanza",value:"AOA"},{label:"ARS - Argentine Peso",value:"ARS"},{label:"AUD - Australian Dollar",value:"AUD"},{label:"AWG - Aruban Florin",value:"AWG"},{label:"AZN - Azerbaijani Manat",value:"AZN"},{label:"BAM - Bosnia-Herzegovina Convertible Mark",value:"BAM"},{label:"BBD - Barbadian Dollar",value:"BBD"},{label:"BDT - Bangladeshi Taka",value:"BDT"},{label:"BGN - Bulgarian Lev",value:"BGN"},{label:"BHD - Bahraini Dinar",value:"BHD"},{label:"BIF - Burundian Franc",value:"BIF"},{label:"BMD - Bermudan Dollar",value:"BMD"},{label:"BND - Brunei Dollar",value:"BND"},{label:"BOB - Bolivian Boliviano",value:"BOB"},{label:"BRL - Brazilian Real",value:"BRL"},{label:"BSD - Bahamian Dollar",value:"BSD"},{label:"BTN - Bhutanese Ngultrum",value:"BTN"},{label:"BWP - Botswanan Pula",value:"BWP"},{label:"BYN - Belarusian Ruble",value:"BYN"},{label:"BZD - Belize Dollar",value:"BZD"},{label:"CAD - Canadian Dollar",value:"CAD"},{label:"CDF - Congolese Franc",value:"CDF"},{label:"CHF - Swiss Franc",value:"CHF"},{label:"CLP - Chilean Peso",value:"CLP"},{label:"CNY - Chinese Yuan",value:"CNY"},{label:"COP - Colombian Peso",value:"COP"},{label:"CRC - Costa Rican Col\xF3n",value:"CRC"},{label:"CUC - Cuban Convertible Peso",value:"CUC"},{label:"CUP - Cuban Peso",value:"CUP"},{label:"CVE - Cape Verdean Escudo",value:"CVE"},{label:"CZK - Czech Koruna",value:"CZK"},{label:"DJF - Djiboutian Franc",value:"DJF"},{label:"DKK - Danish Krone",value:"DKK"},{label:"DOP - Dominican Peso",value:"DOP"},{label:"DZD - Algerian Dinar",value:"DZD"},{label:"EGP - Egyptian Pound",value:"EGP"},{label:"ERN - Eritrean Nakfa",value:"ERN"},{label:"ETB - Ethiopian Birr",value:"ETB"},{label:"EUR - Euro",value:"EUR"},{label:"FJD - Fijian Dollar",value:"FJD"},{label:"FKP - Falkland Islands Pound",value:"FKP"},{label:"GBP - British Pound",value:"GBP"},{label:"GEL - Georgian Lari",value:"GEL"},{label:"GHS - Ghanaian Cedi",value:"GHS"},{label:"GIP - Gibraltar Pound",value:"GIP"},{label:"GMD - Gambian Dalasi",value:"GMD"},{label:"GNF - Guinean Franc",value:"GNF"},{label:"GTQ - Guatemalan Quetzal",value:"GTQ"},{label:"GYD - Guyanaese Dollar",value:"GYD"},{label:"HKD - Hong Kong Dollar",value:"HKD"},{label:"HNL - Honduran Lempira",value:"HNL"},{label:"HRK - Croatian Kuna",value:"HRK"},{label:"HTG - Haitian Gourde",value:"HTG"},{label:"HUF - Hungarian Forint",value:"HUF"},{label:"IDR - Indonesian Rupiah",value:"IDR"},{label:"ILS - Israeli New Shekel",value:"ILS"},{label:"INR - Indian Rupee",value:"INR"},{label:"IQD - Iraqi Dinar",value:"IQD"},{label:"IRR - Iranian Rial",value:"IRR"},{label:"ISK - Icelandic Kr\xF3na",value:"ISK"},{label:"JMD - Jamaican Dollar",value:"JMD"},{label:"JOD - Jordanian Dinar",value:"JOD"},{label:"JPY - Japanese Yen",value:"JPY"},{label:"KES - Kenyan Shilling",value:"KES"},{label:"KGS - Kyrgyz Som",value:"KGS"},{label:"KHR - Cambodian Riel",value:"KHR"},{label:"KMF - Comorian Franc",value:"KMF"},{label:"KPW - North Korean Won",value:"KPW"},{label:"KRW - South Korean Won",value:"KRW"},{label:"KWD - Kuwaiti Dinar",value:"KWD"},{label:"KYD - Cayman Islands Dollar",value:"KYD"},{label:"KZT - Kazakhstani Tenge",value:"KZT"},{label:"LAK - Laotian Kip",value:"LAK"},{label:"LBP - Lebanese Pound",value:"LBP"},{label:"LKR - Sri Lankan Rupee",value:"LKR"},{label:"LRD - Liberian Dollar",value:"LRD"},{label:"LSL - Lesotho Loti",value:"LSL"},{label:"LYD - Libyan Dinar",value:"LYD"},{label:"MAD - Moroccan Dirham",value:"MAD"},{label:"MDL - Moldovan Leu",value:"MDL"},{label:"MGA - Malagasy Ariary",value:"MGA"},{label:"MKD - Macedonian Denar",value:"MKD"},{label:"MMK - Myanmar Kyat",value:"MMK"},{label:"MNT - Mongolian Tugrik",value:"MNT"},{label:"MOP - Macanese Pataca",value:"MOP"},{label:"MRU - Mauritanian Ouguiya",value:"MRU"},{label:"MUR - Mauritian Rupee",value:"MUR"},{label:"MVR - Maldivian Rufiyaa",value:"MVR"},{label:"MWK - Malawian Kwacha",value:"MWK"},{label:"MXN - Mexican Peso",value:"MXN"},{label:"MYR - Malaysian Ringgit",value:"MYR"},{label:"MZN - Mozambican Metical",value:"MZN"},{label:"NAD - Namibian Dollar",value:"NAD"},{label:"NGN - Nigerian Naira",value:"NGN"},{label:"NIO - Nicaraguan C\xF3rdoba",value:"NIO"},{label:"NOK - Norwegian Krone",value:"NOK"},{label:"NPR - Nepalese Rupee",value:"NPR"},{label:"NZD - New Zealand Dollar",value:"NZD"},{label:"OMR - Omani Rial",value:"OMR"},{label:"PAB - Panamanian Balboa",value:"PAB"},{label:"PEN - Peruvian Sol",value:"PEN"},{label:"PGK - Papua New Guinean Kina",value:"PGK"},{label:"PHP - Philippine Peso",value:"PHP"},{label:"PKR - Pakistani Rupee",value:"PKR"},{label:"PLN - Polish Zloty",value:"PLN"},{label:"PYG - Paraguayan Guarani",value:"PYG"},{label:"QAR - Qatari Riyal",value:"QAR"},{label:"RON - Romanian Leu",value:"RON"},{label:"RSD - Serbian Dinar",value:"RSD"},{label:"RUB - Russian Ruble",value:"RUB"},{label:"RWF - Rwandan Franc",value:"RWF"},{label:"SAR - Saudi Riyal",value:"SAR"},{label:"SBD - Solomon Islands Dollar",value:"SBD"},{label:"SCR - Seychellois Rupee",value:"SCR"},{label:"SDG - Sudanese Pound",value:"SDG"},{label:"SEK - Swedish Krona",value:"SEK"},{label:"SGD - Singapore Dollar",value:"SGD"},{label:"SHP - St. Helena Pound",value:"SHP"},{label:"SLE - Sierra Leonean Leone",value:"SLE"},{label:"SLL - Sierra Leonean Leone (1964\u20142022)",value:"SLL"},{label:"SOS - Somali Shilling",value:"SOS"},{label:"SRD - Surinamese Dollar",value:"SRD"},{label:"SSP - South Sudanese Pound",value:"SSP"},{label:"STN - S\xE3o Tom\xE9 & Pr\xEDncipe Dobra",value:"STN"},{label:"SVC - Salvadoran Col\xF3n",value:"SVC"},{label:"SYP - Syrian Pound",value:"SYP"},{label:"SZL - Swazi Lilangeni",value:"SZL"},{label:"THB - Thai Baht",value:"THB"},{label:"TJS - Tajikistani Somoni",value:"TJS"},{label:"TMT - Turkmenistani Manat",value:"TMT"},{label:"TND - Tunisian Dinar",value:"TND"},{label:"TOP - Tongan Pa\u02BBanga",value:"TOP"},{label:"TRY - Turkish Lira",value:"TRY"},{label:"TTD - Trinidad & Tobago Dollar",value:"TTD"},{label:"TWD - New Taiwan Dollar",value:"TWD"},{label:"TZS - Tanzanian Shilling",value:"TZS"},{label:"UAH - Ukrainian Hryvnia",value:"UAH"},{label:"UGX - Ugandan Shilling",value:"UGX"},{label:"USD - US Dollar",value:"USD"},{label:"UYU - Uruguayan Peso",value:"UYU"},{label:"UZS - Uzbekistani Som",value:"UZS"},{label:"VES - Venezuelan Bol\xEDvar",value:"VES"},{label:"VND - Vietnamese Dong",value:"VND"},{label:"VUV - Vanuatu Vatu",value:"VUV"},{label:"WST - Samoan Tala",value:"WST"},{label:"XAF - Central African CFA Franc",value:"XAF"},{label:"XCD - East Caribbean Dollar",value:"XCD"},{label:"XCG - Caribbean guilder",value:"XCG"},{label:"XDR - Special Drawing Rights",value:"XDR"},{label:"XOF - West African CFA Franc",value:"XOF"},{label:"XPF - CFP Franc",value:"XPF"},{label:"XSU - Sucre",value:"XSU"},{label:"YER - Yemeni Rial",value:"YER"},{label:"ZAR - South African Rand",value:"ZAR"},{label:"ZMW - Zambian Kwacha",value:"ZMW"},{label:"ZWG - Zimbabwean Gold",value:"ZWG"},{label:"ZWL - Zimbabwean Dollar (2009\u20132024)",value:"ZWL"}];var g={slug:"store-settings",label:"Store Settings",admin:{group:"settings"},access:{read:()=>true,update:()=>true},fields:[{name:"storeName",type:"text",label:"Store Name",required:true},{name:"storeEmail",type:"email",label:"Contact Email",required:true},{name:"storePhone",type:"text",label:"Phone Number"},{name:"address",type:"group",label:"Store Address",fields:[{name:"street",type:"text",label:"Street Address"},{name:"city",type:"text",label:"City"},{name:"state",type:"text",label:"State/Province"},{name:"postalCode",type:"text",label:"Postal Code"},{name:"country",type:"select",label:"Country",options:R}]},{name:"currency",type:"group",label:"Currency",fields:[{name:"code",type:"select",label:"Currency Code",defaultValue:"USD",options:J},{name:"decimals",type:"number",label:"Decimal Places",defaultValue:2}]},{name:"tax",type:"group",label:"Tax Logistics",admin:{condition:{field:"tax.enabled",equals:true}},fields:[{name:"enabled",type:"checkbox",label:"Enable Tax",defaultValue:true},{name:"rate",type:"number",label:"Tax Rate (%)",admin:{placeholder:"10",condition:{field:"enabled",equals:true}}},{name:"includedInPrice",type:"checkbox",label:"Tax Included in Prices",admin:{condition:{field:"enabled",equals:true}}},{name:"taxId",type:"text",label:"Tax ID / VAT Number",admin:{condition:{field:"enabled",equals:true}}}]},{name:"orders",type:"group",label:"Orders",fields:[{name:"orderNumberPrefix",type:"text",label:"Order Number Prefix",defaultValue:"ORD",admin:{}},{name:"allowGuestCheckout",type:"checkbox",label:"Allow Guest Checkout",defaultValue:true},{name:"requirePhone",type:"checkbox",label:"Require Phone Number",defaultValue:true}]}]};g$1();var y={slug:"shipping-settings",label:"Shipping Settings",admin:{group:"settings",description:"Configure shipping zones, rates, and methods"},access:{read:()=>true,update:()=>true},fields:[{name:"methods",type:"array",label:"Shipping Methods",fields:[{name:"name",type:"text",required:true,label:"Method Name",admin:{placeholder:"e.g., Standard Shipping"}},{name:"price",type:"number",required:true,label:"Price"},{name:"zones",type:"select",label:"Applicable Countries",admin:{description:"Leave empty to apply to all countries"},options:R},{name:"minOrderValue",type:"number",label:"Minimum Order Value",admin:{description:"Free or valid if order exceeds this amount"}},{name:"maxWeight",type:"number",label:"Maximum Weight Limit",admin:{description:"Limit this method to orders under a certain weight"}}]}]};g$1();var c={slug:"system",label:"System",admin:{group:"settings",description:"Core system configuration and secrets"},access:{read:()=>true,update:()=>true},fields:[{name:"appSecret",type:"secret",label:"App Secret",required:false,admin:{description:"Auto-generated master secret used for encryption and auth. Auto-created if empty on load.",readOnly:true}},{name:"sessionMaxAge",type:"number",label:"Session Max Age (days)",required:false,defaultValue:7,admin:{description:"Maximum session duration in days"}},{name:"maxSessionsPerUser",type:"number",label:"Max Sessions Per User",required:false,defaultValue:3,admin:{description:"Maximum concurrent sessions allowed per user"}},{name:"enableRegistration",type:"checkbox",label:"Enable User Registration",required:false,defaultValue:true,admin:{description:"Allow new users to register and create accounts"}},{name:"defaultRegistrationRole",type:"select",label:"Default Registration Role",required:false,defaultValue:"customer",options:[{label:"Customer",value:"customer"},{label:"Author",value:"author"},{label:"Editor",value:"editor"},{label:"Admin",value:"admin"}],admin:{description:"The role automatically assigned to newly registered users (e.g. customer, author, editor)"}}]};var G=[u,m,d,b,a,p,g,y,c],f=[u,m,d,b,a,p,c],V={[u.slug]:u,[m.slug]:m,[d.slug]:d,[b.slug]:b,[a.slug]:a,[p.slug]:p,[g.slug]:g,[y.slug]:y,[c.slug]:c};function q(a){switch(a){case "ecommerce":case "kitchen-sink":return G;default:return f}}g$1();var X={slug:"posts",label:"Posts",labelPlural:"Posts",singularLabel:"Post",admin:{useAsTitle:"title",defaultColumns:["title","slug","status","createdAt","updatedAt"],description:"Blog posts and articles"},seo:true,fields:[{name:"slug",type:"text",required:true,label:"Slug",admin:{description:"The URL-friendly identifier for the post.",position:"sidebar",autoGenerate:"title"}},{type:"tabs",tabs:[{label:"Content",fields:[{name:"title",type:"text",required:true,label:"Title",admin:{description:"The main title of the post as it will appear publicly."}},{name:"content",type:"richtext",label:"Content"},{name:"excerpt",type:"textarea",label:"Excerpt",admin:{description:"A short summary of the post."}}]},{label:"Meta",fields:[{name:"category",type:"relationship",label:"Category",relationTo:"categories",admin:{description:"Select the primary category this post belongs to."}},{name:"relatedPosts",type:"array",label:"Related Posts",fields:[{name:"post",type:"relationship",relationTo:"posts",label:"Post"}],admin:{description:"Select posts related to this one."}}]}]},{name:"tags",type:"list",label:"Tags",admin:{description:"Add keywords to help categorize your post.",position:"sidebar"}},{name:"authors",type:"array",label:"Authors",fields:[{name:"user",type:"relationship",label:"User",relationTo:"users"}],admin:{description:"Select one or more authors for this post.",position:"sidebar"}},{name:"featured",type:"checkbox",label:"Featured",defaultValue:false,admin:{description:"Highlight this post as a featured article.",position:"sidebar"}},{name:"featuredImage",type:"upload",label:"Featured Image",relationTo:"media",admin:{description:"The primary visual used to represent this post.",position:"sidebar"}},{name:"readTime",type:"number",label:"Read Time (mins)",admin:{description:"Estimated reading time in minutes.",position:"sidebar",readOnly:true}}],hooks:{beforeChange:[({data:a})=>{if(a?.content){let r="",i=n=>{n.type==="text"&&n.text&&(r+=n.text+" "),n.content&&Array.isArray(n.content)&&n.content.forEach(i);};typeof a.content=="object"&&a.content!==null?i(a.content):typeof a.content=="string"&&(r=a.content.replace(/<[^>]*>?/gm," "));let C=r.trim().split(/\s+/).filter(n=>n.length>0);a.readTime=Math.max(1,Math.ceil(C.length/200));}else a.readTime=0;return a}]},timestamps:true,versions:{drafts:true,maxPerDoc:10}},S={posts:X};var D={...S};g$1();var L={},pe=[];g$1();var K={};g$1();var Q={slug:"media",label:"Media Library",admin:{useAsTitle:"title",defaultColumns:["thumbnailUrl","title","type","fileSize","createdAt"],group:"content"},access:{read:()=>true,create:()=>true,update:()=>true,delete:()=>true},fields:[{name:"title",type:"text",label:"Title",required:true,admin:{description:"Descriptive title for the file"}},{name:"filename",type:"text",label:"Filename",required:true,admin:{readOnly:true,description:"System filename (auto-generated)"}},{name:"originalName",type:"text",label:"Original Name",admin:{readOnly:true}},{name:"alt",type:"text",label:"Alt Text",admin:{description:"Alternative text for images (accessibility)"}},{name:"caption",type:"richtext",label:"Caption",admin:{description:"Optional caption or description"}},{name:"type",type:"select",label:"File Type",required:true,defaultValue:"document",options:[{label:"Image",value:"image"},{label:"Video",value:"video"},{label:"Audio",value:"audio"},{label:"Document",value:"document"},{label:"Archive",value:"archive"},{label:"Other",value:"other"}],admin:{readOnly:true}},{name:"mimeType",type:"text",label:"MIME Type",admin:{readOnly:true}},{name:"url",type:"text",label:"URL",required:true,admin:{readOnly:true,description:"Public URL of the file"}},{name:"thumbnailUrl",type:"text",label:"Thumbnail URL",admin:{readOnly:true}},{name:"width",type:"number",label:"Width",admin:{readOnly:true,description:"Width in pixels (for images/videos)"}},{name:"height",type:"number",label:"Height",admin:{readOnly:true,description:"Height in pixels (for images/videos)"}},{name:"fileSize",type:"number",label:"File Size",admin:{readOnly:true,description:"Size in bytes"}},{name:"folder",type:"text",label:"Folder",admin:{description:"Folder path for organization (e.g., /products, /blog)"}},{name:"tags",type:"array",label:"Tags",fields:[{name:"tag",type:"text",label:"Tag"}]},{name:"focalPoint",type:"group",label:"Focal Point",admin:{description:"Point of interest for cropping"},fields:[{name:"x",type:"number",label:"X",defaultValue:50},{name:"y",type:"number",label:"Y",defaultValue:50}]},{name:"metadata",type:"json",label:"Metadata",admin:{readOnly:true,description:"Additional file metadata (EXIF, etc.)"}},{name:"provider",type:"select",label:"Storage Provider",defaultValue:"local",options:[{label:"Local",value:"local"},{label:"AWS S3",value:"s3"},{label:"Cloudinary",value:"cloudinary"},{label:"Imgix",value:"imgix"}],admin:{readOnly:true}},{name:"status",type:"select",label:"Status",defaultValue:"active",options:[{label:"Active",value:"active"},{label:"Archived",value:"archived"}]},{name:"createdAt",type:"date",label:"Created",admin:{readOnly:true}},{name:"updatedAt",type:"date",label:"Last Modified",admin:{readOnly:true}}]},B=[Q];g$1();var $={slug:"menu",label:"Menu",singularLabel:"Menu Item",admin:{useAsTitle:"title",defaultColumns:["title","menuLocation"]},fields:[{name:"title",type:"text",label:"Title",required:true},{name:"menuLocation",type:"select",label:"Location",options:[{label:"Choose Location",value:""},{label:"Header",value:"header"},{label:"Footer",value:"footer"},{label:"Sidebar",value:"sidebar"},{label:"Primary",value:"primary"},{label:"Secondary",value:"secondary"}],required:true,admin:{position:"sidebar"}},{name:"order",type:"number",label:"Order",admin:{position:"sidebar"}},{name:"menu",type:"group",fields:[{name:"menuItem",label:"Menu Item",type:"array",fields:[{name:"linkType",type:"select",label:"Type",options:[{label:"Internal",value:"internal"},{label:"External",value:"external"}]},{name:"internalTarget",type:"relationship",label:"Target",relationTo:["pages","posts"],admin:{condition:{field:"linkType",equals:"internal"}}},{name:"externalUrl",type:"text",label:"URL",admin:{condition:{field:"linkType",equals:"external"}}},{name:"label",type:"text",label:"Label (Optional)"}]}]}]},H={menu:$};g$1();g$1();function o(a){return {...a,fields:[...[],...a.fields,...Pe]}}var ce=[{name:"text",type:"text",label:"Label"},{name:"url",type:"text",label:"URL"}],v={name:"buttons",type:"array",label:"Action Buttons",fields:ce},ge={slug:"headingElement",label:"Heading",admin:{group:"Basic Content Elements",description:"Section heading"},fields:[{name:"content",type:"text",label:"Content"}]},ye={slug:"textElement",label:"Text",admin:{group:"Basic Content Elements",description:"Plain text paragraph"},fields:[{name:"content",type:"textarea",label:"Content"}]},fe={slug:"imageElement",label:"Image",admin:{group:"Basic Content Elements",description:"Single image"},fields:[{name:"image",type:"upload",label:"Image",relationTo:"media"}]},ve={slug:"richtextElement",label:"Rich Text",admin:{group:"Basic Content Elements",description:"Formatted rich text content"},fields:[{name:"content",type:"richtext",label:"Content"}]},Ce={slug:"buttonElement",label:"Button",admin:{group:"Basic Content Elements",description:"Call-to-action button"},fields:[{name:"buttonData",type:"group",label:"Button",admin:{inline:true},fields:[{name:"text",type:"text",label:"Label"},{name:"url",type:"text",label:"URL"}]}]},xe={slug:"videoElement",label:"Video",admin:{group:"Basic Content Elements",description:"Embedded video player"},fields:[{name:"url",type:"text",label:"Video URL"},{name:"file",type:"upload",label:"Video File",relationTo:"media"},{name:"caption",type:"text",label:"Caption"}]},Se={slug:"listElement",label:"List",admin:{group:"Basic Content Elements",description:"Bulleted or numbered list"},fields:[{name:"items",type:"array",label:"Items",fields:[{name:"text",type:"text",label:"Item Text"}]}]},he=[ge,ye,fe,ve,Ce,xe,Se],Te={name:"elements",type:"blocks",label:"Extra Content Elements",blocks:he,admin:{pickerMode:"dropdown"}},Pe=[Te],Ae=o({slug:"hero",admin:{group:"Structural Sections",description:"Primary landing section with heading, text, media & CTA"},label:"Hero Section",fields:[{name:"isMultiScreen",type:"checkbox",label:"Enable Carousel",defaultValue:false},{name:"multiSlides",type:"group",label:"Multi Slides",admin:{condition:{field:"isMultiScreen",equals:true}},fields:[{name:"multiSlides",type:"array",label:"Hero Slides",fields:[{name:"title",type:"text",label:"Heading"},{name:"subtitle",type:"textarea",label:"Subheading"},{name:"backgroundImage",type:"upload",label:"Background Image",relationTo:"media"},v]}]},{name:"singleSlide",type:"group",label:"Single Slide",admin:{condition:{field:"isMultiScreen",equals:false}},fields:[{name:"title",type:"text",label:"Heading"},{name:"subtitle",type:"textarea",label:"Subheading"},{name:"backgroundImage",type:"upload",label:"Background Image",relationTo:"media"},v]}]}),Me=o({slug:"card",admin:{group:"Structural Sections",description:"Modular card block featuring title, text, and optional media"},label:"Card Block",fields:[{name:"isMultiCard",type:"checkbox",label:"Enable Multicard Layout",defaultValue:false},{name:"multiCards",type:"group",label:"Multi Cards",admin:{condition:{field:"isMultiCard",equals:true}},fields:[{name:"cards",type:"array",label:"Cards List",fields:[{name:"title",type:"text",label:"Title"},{name:"description",type:"textarea",label:"Description"},{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"icon",type:"icon",label:"Icon"},{name:"linkText",type:"text",label:"Link Text"},{name:"link",type:"text",label:"URL"}]}]},{name:"singleCard",type:"group",label:"Single Card",admin:{condition:{field:"isMultiCard",equals:false}},fields:[{name:"title",type:"text",label:"Title"},{name:"description",type:"textarea",label:"Description"},{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"icon",type:"icon",label:"Icon"},{name:"linkText",type:"text",label:"Link Text"},{name:"link",type:"text",label:"URL"}]}]});o({slug:"text",admin:{group:"Basic Content Elements",description:"Rich text content"},label:"Text Block",fields:[{name:"content",type:"richtext",label:"Content"}]});o({slug:"image",admin:{group:"Basic Content Elements",description:"Image upload container"},label:"Image",fields:[{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"caption",type:"text",label:"Caption"},{name:"alt",type:"text",label:"Alt Text"},{name:"aspectRatio",type:"select",label:"Aspect Ratio",defaultValue:"original",options:[{label:"Original",value:"original"},{label:"16:9 Landscape",value:"16-9"},{label:"4:3 Classic",value:"4-3"},{label:"1:1 Square",value:"1-1"},{label:"2:3 Portrait",value:"2-3"}]},{name:"enableLightbox",type:"checkbox",label:"Enable Zoom / Lightbox",defaultValue:false}]});var Re=o({slug:"featureSplit",admin:{group:"Structural Sections",description:"Side-by-side text and media layout"},label:"Feature Split (Text & Media)",fields:[{name:"title",type:"text",label:"Title"},{name:"description",type:"textarea",label:"Description"},{name:"checkpoints",type:"array",label:"Value Checkpoints",fields:[{name:"title",type:"text",label:"Checkpoint Title"},{name:"description",type:"textarea",label:"Checkpoint Description"},{name:"icon",type:"icon",label:"Icon Name"},{name:"image",type:"upload",label:"Image",relationTo:"media"},{name:"itemUrl",type:"text",label:"Link URL"},{name:"itemText",type:"text",label:"Link Text"}]},{name:"images",type:"array",label:"Images",fields:[{name:"image",type:"upload",label:"Image",relationTo:"media"}]},v]}),Ge=o({slug:"featureGrid",admin:{group:"Marketing Grids",description:"Multi-column grid showcasing features or services"},label:"Feature Grid",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"features",type:"array",label:"Features List",fields:[{name:"title",type:"text",label:"Title"},{name:"description",type:"textarea",label:"Description"},{name:"icon",type:"icon",label:"Icon Name"},{name:"image",type:"upload",label:"Feature Image",relationTo:"media"},{name:"itemUrl",type:"text",label:"Card Redirection URL"}]}]}),De=o({slug:"ctaBanner",admin:{group:"Structural Sections",description:"High-impact call-to-action banner"},label:"CTA Banner",fields:[{name:"title",type:"text",label:"Headline"},{name:"subtitle",type:"textarea",label:"Subheading"},{name:"backgroundImage",type:"upload",label:"Background Image",relationTo:"media"},v]}),Le=o({slug:"testimonials",admin:{group:"Marketing Grids",description:"Customer reviews and quotes carousel"},label:"Testimonials",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"text",label:"Section Subheading"},{name:"items",type:"array",label:"Testimonials",fields:[{name:"authorName",type:"text",label:"Author Name"},{name:"quote",type:"textarea",label:"Quote"},{name:"rating",type:"select",label:"Star Rating",defaultValue:"5",options:[{label:"5 Stars",value:"5"},{label:"4 Stars",value:"4"},{label:"3 Stars",value:"3"},{label:"2 Stars",value:"2"},{label:"1 Star",value:"1"}]},{name:"authorRole",type:"text",label:"Author Role"},{name:"avatar",type:"upload",label:"Avatar",relationTo:"media"},{name:"companyLogo",type:"upload",label:"Company Logo",relationTo:"media"}]}]}),Be=o({slug:"faq",admin:{group:"Lead Capture & Interactive",description:"Expandable list of frequently asked questions"},label:"FAQ Section",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"items",type:"array",label:"Questions List",fields:[{name:"tag",type:"text",label:"Category Tag (e.g. billing, account)"},{name:"question",type:"text",label:"Question"},{name:"answer",type:"textarea",label:"Answer"}]},{name:"footerTitle",type:"text",label:"Footer Heading (e.g. Still have questions?)"},{name:"footerCtaUrl",type:"text",label:"Footer CTA Redirection URL"}]}),ke=o({slug:"stats",admin:{group:"Marketing Grids",description:"Grid displaying key numerical metrics and stats"},label:"Stats / Metrics",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"description",type:"textarea",label:"Description"},{name:"items",type:"array",label:"Stats List",fields:[{name:"prefix",type:"text",label:"Value Prefix (e.g. + or $)"},{name:"value",type:"text",label:"Value (e.g. 99.9 or 5M)"},{name:"suffix",type:"text",label:"Value Suffix (e.g. % or users)"},{name:"label",type:"text",label:"Label (e.g. Uptime)"},{name:"description",type:"textarea",label:"Context Description"}]}]}),Ie=o({slug:"logoCloud",admin:{group:"Structural Sections",description:"Showcase for partner and client company logos"},label:"Logo Cloud / Partners",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"logos",type:"array",label:"Logos List",fields:[{name:"name",type:"text",label:"Company Name"},{name:"logo",type:"upload",label:"Logo Image",relationTo:"media"},{name:"url",type:"text",label:"Website URL"}]}]}),Ne=o({slug:"pricing",admin:{group:"Marketing Grids",description:"Tiered pricing plans with feature comparisons"},label:"Pricing Plans",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"annualDiscount",type:"text",label:"Annual Promo Tag (e.g. Save 20%)"},{name:"plans",type:"array",label:"Pricing Plans",fields:[{name:"popularBadgeText",type:"text",label:"Plan Badge (e.g. MOST POPULAR)"},{name:"name",type:"text",label:"Plan Name"},{name:"description",type:"textarea",label:"Plan Description"},{name:"currency",type:"text",label:"Plan Currency (e.g. $)",defaultValue:"$"},{name:"price",type:"text",label:"Price (e.g. 29)"},{name:"billingPeriod",type:"text",label:"Billing Period (e.g. /mo)"},{name:"features",type:"list",label:"Features Checklist"},v,{name:"footnote",type:"text",label:"Footnote note (e.g. *cancel anytime)"},{name:"isFeatured",type:"checkbox",label:"Highlight Plan (Featured)",defaultValue:false}]}]}),Ee=o({slug:"team",admin:{group:"Marketing Grids",description:"Showcase of team members with photos and roles"},label:"Team Showcase",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"members",type:"array",label:"Team Members",fields:[{name:"name",type:"text",label:"Member Name"},{name:"role",type:"text",label:"Role / Position"},{name:"department",type:"text",label:"Department / Team tag (e.g. engineering, design)"},{name:"avatar",type:"upload",label:"Avatar Image",relationTo:"media"},{name:"bio",type:"textarea",label:"Brief Bio"},{name:"twitterUrl",type:"text",label:"Twitter URL"},{name:"linkedinUrl",type:"text",label:"LinkedIn URL"},{name:"githubUrl",type:"text",label:"GitHub URL"},{name:"websiteUrl",type:"text",label:"Website URL"}]}]}),Fe=o({slug:"recentFeed",admin:{group:"Dynamic Content",description:"Hand-picked showcase of items"},label:"Hand-Picked Feed",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"selectedItems",type:"relationship",label:"Feed Items",relationTo:"*",hasMany:true},v]}),Oe=o({slug:"processSteps",admin:{group:"Lead Capture & Interactive",description:"Numbered sequence illustrating a process or workflow"},label:"Process Steps / Timeline",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"steps",type:"array",label:"Steps",fields:[{name:"stepNumber",type:"text",label:"Step Number (e.g. 01)"},{name:"icon",type:"upload",label:"Step Icon / Image",relationTo:"media"},{name:"title",type:"text",label:"Step Title"},{name:"description",type:"textarea",label:"Description"}]}]}),Ue=o({slug:"formEmbed",admin:{group:"Lead Capture & Interactive",description:"Embeddable interactive forms for lead capture"},label:"Form Embed",fields:[{name:"title",type:"text",label:"Form Title"},{name:"subtitle",type:"textarea",label:"Form Subtitle"},{name:"form",type:"relationship",relationTo:"forms",label:"Form",required:true}]}),we=o({slug:"videoShowcase",admin:{group:"Structural Sections",description:"Cinematic video player with custom thumbnail"},label:"Cinematic Video Showcase",fields:[{name:"title",type:"text",label:"Section Heading"},{name:"subtitle",type:"textarea",label:"Section Subtitle"},{name:"coverImage",type:"upload",label:"Cinematic Cover Image (Thumbnail)",relationTo:"media"},{name:"videoUrl",type:"text",label:"Video Embed URL (YouTube / Vimeo / MP4)"},{name:"videoTitle",type:"text",label:"Video Title (for accessibility & hover text)"},{name:"durationBadge",type:"text",label:"Duration Badge (e.g. '\u25B6 2:34')"},{name:"isLightbox",type:"checkbox",label:"Open in Cinematic Lightbox Modal",defaultValue:true},{name:"autoplay",type:"checkbox",label:"Autoplay Video (muted)",defaultValue:false}]}),_=[Ae,Me,Re,Ge,De,Le,Be,ke,Ie,Ne,Ee,Fe,Oe,Ue,we];var ee={slug:"pages",label:"Pages",labelPlural:"Pages",singularLabel:"Page",admin:{useAsTitle:"title",defaultColumns:["title","slug","status","updatedAt"],description:"Standard web pages"},seo:true,fields:[{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"title"}},{type:"tabs",tabs:[{label:"Content",fields:[{name:"title",type:"text",required:true,label:"Title",admin:{description:"The main title of the page as it will appear publicly."}},{name:"content",type:"blocks",label:"Content",blocks:_}]},{label:"Meta",fields:[]}]},{name:"featuredImage",type:"upload",label:"Featured Image",relationTo:"media",admin:{position:"sidebar"}}],timestamps:true,versions:{drafts:true,maxPerDoc:10}},j={pages:ee};g$1();var ae={slug:"categories",label:"Categories",labelPlural:"Categories",singularLabel:"Category",admin:{useAsTitle:"name",defaultColumns:["name","slug"],description:"Post categories",layout:"split"},fields:[{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"name"}},{name:"name",type:"text",required:true,label:"Name"},{name:"description",type:"textarea",label:"Description"},{name:"icon",type:"upload",label:"Icon",relationTo:"media",admin:{position:"sidebar"}},{name:"parent",type:"relationship",label:"Parent Category",relationTo:"categories",admin:{position:"sidebar"}},{name:"order",type:"number",label:"Order",defaultValue:0,admin:{position:"sidebar"}}],timestamps:true,versions:{drafts:true,maxPerDoc:5}},W={categories:ae},le={slug:"product-categories",label:"Product Categories",labelPlural:"Product Categories",singularLabel:"Product Category",admin:{group:"Commerce",useAsTitle:"name",defaultColumns:["name","slug"],description:"Product categories for organizing your catalog",icon:"FolderTree"},fields:[{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"name"}},{name:"name",type:"text",required:true,label:"Name"},{name:"description",type:"textarea",label:"Description"},{name:"image",type:"upload",label:"Image",relationTo:"media",admin:{position:"sidebar"}},{name:"parent",type:"relationship",label:"Parent Category",relationTo:"product-categories",admin:{position:"sidebar"}}],timestamps:true,versions:{drafts:true,maxPerDoc:5}},k={"product-categories":le};g$1();var te={slug:"products",label:"Products",labelPlural:"Products",singularLabel:"Product",admin:{group:"Commerce",useAsTitle:"title",defaultColumns:["title","slug","price","inventory"],description:"E-commerce products",icon:"ShoppingCart"},seo:true,fields:[{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"title"}},{type:"tabs",tabs:[{label:"Content",fields:[{name:"title",type:"text",required:true,label:"Title"},{name:"description",type:"richtext",label:"Description"}]},{label:"Inventory & Pricing",fields:[{name:"price",type:"number",required:true,label:"Price"},{name:"compareAtPrice",type:"number",label:"Compare at Price",admin:{description:"Original price for sale display"}},{name:"costPrice",type:"number",label:"Cost Price",admin:{description:"For profit calculation"}},{name:"sku",type:"text",required:true,label:"SKU"},{name:"barcode",type:"text",label:"Barcode"},{name:"inventory",type:"number",label:"Inventory",defaultValue:0},{name:"lowStockThreshold",type:"number",label:"Low Stock Threshold",defaultValue:5}]}]},{name:"category",type:"relationship",label:"Category",relationTo:"product-categories",admin:{position:"sidebar"}},{name:"brand",type:"relationship",label:"Brand",relationTo:"brands",admin:{position:"sidebar"}},{name:"featuredImage",type:"upload",label:"Featured Image",relationTo:"media",admin:{position:"sidebar"}},{name:"gallery",type:"upload",label:"Product Gallery",relationTo:"media",hasMany:true,admin:{position:"sidebar"}}],timestamps:true,versions:{drafts:true}},I={products:te};g$1();var ie={slug:"customers",label:"Customers",labelPlural:"Customers",singularLabel:"Customer",admin:{group:"Commerce",disablePreview:true,useAsTitle:"fullName",defaultColumns:["fullName","email","createdAt","updatedAt"],description:"Customer accounts"},fields:[{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"email"}},{name:"email",type:"email",required:true,label:"Email",admin:{readOnly:true}},{name:"fullName",type:"text",label:"Full Name",admin:{readOnly:true},hooks:{beforeValidate:[({data:a})=>{let r=a?.firstName||"",i=a?.lastName||"";return `${r} ${i}`.trim()||a?.email||"Unknown Customer"}]}},{name:"firstName",type:"text",label:"First Name"},{name:"lastName",type:"text",label:"Last Name"},{name:"phone",type:"text",label:"Phone"},{name:"addresses",type:"array",label:"Addresses",fields:[{name:"type",type:"text",label:"Type"},{name:"line1",type:"text",label:"Address Line 1"},{name:"line2",type:"text",label:"Address Line 2"},{name:"city",type:"text",label:"City"},{name:"state",type:"text",label:"State"},{name:"postalCode",type:"text",label:"Postal Code"},{name:"country",type:"text",label:"Country"}]},{name:"profilePicture",type:"upload",label:"Profile Picture",relationTo:"media",admin:{position:"sidebar"}}],timestamps:true,versions:{drafts:true,maxPerDoc:5}},N={customers:ie};g$1();var ne={slug:"orders",label:"Orders",labelPlural:"Orders",singularLabel:"Order",admin:{group:"Commerce",disablePreview:true,useAsTitle:"orderNumber",defaultColumns:["orderNumber","customer","orderStatus","total","createdAt","updatedAt"],description:"Customer orders"},fields:[{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"orderNumber"}},{name:"orderNumber",type:"text",required:true,label:"Order Number",admin:{readOnly:true},hooks:{beforeValidate:[async({value:a,operation:r,req:i})=>{if(r==="create"&&!a){try{let n=i?.headers?.host||"localhost:4321",P=`${n.includes("localhost")||n.includes("127.0.0.1")?"http":"https"}://${n}`,z=await fetch(`${P}/api/globals/store-settings`);if(z.ok){let de=(await z.json())?.orders?.orderNumberPrefix||"ORD",be=Math.floor(1e5+Math.random()*9e5);return `${de}-${be}`}}catch(n){console.error("Failed to fetch store settings for order prefix:",n);}return `ORD-${Math.floor(1e5+Math.random()*9e5)}`}return a}]}},{name:"customer",type:"relationship",required:true,label:"Customer",relationTo:"customers"},{name:"orderStatus",type:"select",label:"Order Status",options:[{label:"Pending",value:"pending",color:"#6b7280"},{label:"Processing",value:"processing",color:"#3b82f6"},{label:"Shipped",value:"shipped",color:"#8b5cf6"},{label:"In Transit",value:"in_transit",color:"#f59e0b"},{label:"Delivered",value:"delivered",color:"#10b981"},{label:"Completed",value:"completed",color:"#059669"},{label:"Cancelled",value:"cancelled",color:"#ef4444"}],defaultValue:"pending"},{name:"paymentStatus",type:"select",label:"Payment Status",admin:{position:"sidebar"},options:[{label:"Pending",value:"pending"},{label:"Paid",value:"paid"},{label:"Failed",value:"failed"},{label:"Refunded",value:"refunded"}],defaultValue:"pending"},{name:"items",type:"array",label:"Items",fields:[{name:"product",type:"relationship",label:"Product",relationTo:"products",required:true,admin:{readOnly:a=>!!a?.id}},{name:"quantity",type:"number",label:"Quantity",admin:{readOnly:a=>!!a?.id}},{name:"unitPrice",type:"number",label:"Unit Price",admin:{readOnly:a=>!!a?.id}},{name:"total",type:"number",label:"Total",admin:{readOnly:a=>!!a?.id}}],admin:{readOnly:a=>!!a?.id}},{name:"subtotal",type:"number",required:true,label:"Subtotal",admin:{readOnly:a=>!!a?.subtotal}},{name:"tax",type:"number",label:"Tax"},{name:"shipping",type:"number",label:"Shipping"},{name:"discount",type:"number",label:"Discount"},{name:"total",type:"number",required:true,label:"Total",admin:{readOnly:a=>!!a?.total}},{name:"notes",type:"textarea",label:"Notes",admin:{position:"sidebar"}}],timestamps:true,versions:{drafts:true,maxPerDoc:10}},E={orders:ne};g$1();var oe={slug:"coupons",label:"Coupons",labelPlural:"Coupons",singularLabel:"Coupon",admin:{group:"Commerce",disablePreview:true,useAsTitle:"code",defaultColumns:["code","type","value","active","expiresAt"],description:"Discount codes and promotions"},fields:[{name:"code",type:"text",required:true,label:"Code"},{name:"type",type:"select",required:true,label:"Type",options:[{label:"Percentage",value:"percentage"},{label:"Fixed Amount",value:"fixed"},{label:"Free Shipping",value:"freeShipping"}]},{name:"value",type:"number",label:"Value"},{name:"minPurchase",type:"number",label:"Minimum Purchase"},{name:"maxDiscount",type:"number",label:"Max Discount"},{name:"usageLimit",type:"number",label:"Usage Limit"},{name:"usedCount",type:"number",defaultValue:0,label:"Used Count"},{name:"startsAt",type:"date",label:"Starts At",admin:{position:"sidebar"}},{name:"expiresAt",type:"date",label:"Expires At",admin:{position:"sidebar"}},{name:"active",type:"checkbox",defaultValue:true,label:"Active",admin:{position:"sidebar"}}],timestamps:true,versions:{drafts:true,maxPerDoc:5}},F={coupons:oe};g$1();var re={slug:"forms",label:"Forms",labelPlural:"Forms",singularLabel:"Form",admin:{useAsTitle:"name",defaultColumns:["name","slug","updatedAt"],description:"Reusable form definitions"},fields:[{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"name"}},{name:"name",type:"text",required:true,label:"Name"},{name:"subtitle",type:"textarea",label:"Subtitle"},{name:"submitButtonText",type:"text",label:"Submit Button Text",defaultValue:"Submit",admin:{position:"sidebar"}},{name:"consentCheckboxText",type:"text",label:"Consent Agreement label (e.g. I agree to terms)",admin:{position:"sidebar"}},{name:"redirectUrl",type:"text",label:"Success Redirect URL",admin:{position:"sidebar"}},{name:"fields",type:"array",label:"Form Fields",fields:[{name:"fieldName",type:"text",label:"Field API Name (e.g. company)"},{name:"inputType",type:"select",label:"Input Type",defaultValue:"text",options:[{label:"Text input",value:"text"},{label:"Email input",value:"email"},{label:"Phone number input",value:"tel"},{label:"Multi-line textarea",value:"textarea"},{label:"Checkbox selector",value:"checkbox"}]},{name:"placeholder",type:"text",label:"Input Placeholder Text"},{name:"isRequired",type:"checkbox",label:"Make this field required",defaultValue:false}]},{name:"entries",type:"relationship",relationTo:"form-entries",hasMany:true,label:"Entries",admin:{description:"Form submissions linked to this form."}}],timestamps:true,versions:{drafts:true,maxPerDoc:5}},Z={forms:re};g$1();var se={slug:"form-entries",label:"Form Entries",labelPlural:"Form Entries",singularLabel:"Form Entry",admin:{useAsTitle:"id",defaultColumns:["id","form","createdAt","ipAddress"],description:"Form submission entries"},access:{create:()=>true},fields:[{name:"form",type:"relationship",relationTo:"forms",required:true,label:"Form",admin:{position:"sidebar",readOnly:true,description:"The form this entry belongs to."}},{name:"data",type:"json",label:"Submitted Data",admin:{readOnly:true,description:"All field values submitted with this entry."}},{name:"ipAddress",type:"text",label:"IP Address",admin:{position:"sidebar",readOnly:true,description:"The IP address of the submitter."}}],timestamps:true},Y={"form-entries":se};g$1();var ue={slug:"reviews",label:"Reviews",labelPlural:"Reviews",singularLabel:"Review",admin:{group:"Commerce",disablePreview:true,useAsTitle:"rating",defaultColumns:["product","customer","rating","status"],description:"Product reviews and ratings",icon:"Star"},fields:[{name:"product",type:"relationship",relationTo:"products",required:true,label:"Product"},{name:"customer",type:"relationship",relationTo:"customers",required:true,label:"Customer"},{name:"rating",type:"number",required:true,min:0,max:5,label:"Rating (0-5)",admin:{placeholder:"5"}},{name:"comment",type:"richtext",label:"Review Comment"},{name:"status",type:"select",label:"Status",admin:{position:"sidebar"},defaultValue:"pending",options:[{label:"Pending",value:"pending"},{label:"Approved",value:"approved"},{label:"Rejected",value:"rejected"}]}],timestamps:true},O={reviews:ue};g$1();var me={slug:"brands",label:"Brands",labelPlural:"Brands",singularLabel:"Brand",admin:{group:"Commerce",useAsTitle:"name",defaultColumns:["name","slug"],description:"Product brands and manufacturers",icon:"Tag"},seo:true,fields:[{name:"slug",type:"text",required:true,label:"Slug",admin:{position:"sidebar",autoGenerate:"name"}},{name:"name",type:"text",required:true,label:"Brand Name"},{name:"logo",type:"upload",relationTo:"media",label:"Logo",admin:{position:"sidebar"}},{name:"description",type:"richtext",label:"Description"}],timestamps:true},U={brands:me};function h(a){let r=new Map;for(let i of a)r.has(i.slug)||r.set(i.slug,i);return Array.from(r.values())}var Ve=[...Object.values(S),...Object.values(j),...Object.values(W),...Object.values(Z),...Object.values(Y)],T=[...Ve,...B,...Object.values(b$1),...Object.values(H)],et={minimal:h([...Object.values(A),...T]),starter:h([...Object.values(M),...T]),blog:h([...Object.values(D),...T]),ecommerce:h([...Object.values(L),...Object.values(I),...Object.values(N),...Object.values(E),...Object.values(F),...Object.values(k),...Object.values(O),...Object.values(U),...T]),"kitchen-sink":h([...Object.values(A),...Object.values(M),...Object.values(D),...Object.values(L),...Object.values(K),...Object.values(I),...Object.values(N),...Object.values(E),...Object.values(F),...Object.values(k),...Object.values(O),...Object.values(U),...T])};function lt(a){let r=a.collections?[...a.collections]:[],i=a.globals?[...a.globals]:[];a.includeMedia!==false&&r.push(...B);let C=a.template?q(a.template):f;if(a.includeSettings){if(a.includeSettings==="all")i.push(...G);else if(a.includeSettings==="core")i.push(...f);else if(Array.isArray(a.includeSettings))for(let n of a.includeSettings){let x=V[n];x&&i.push(x);}}else (!a.globals||a.globals.length===0)&&i.push(...C);if(a.excludeSettings&&a.excludeSettings.length>0){let n=new Set(a.excludeSettings),x=i.filter(P=>!n.has(P.slug)&&!n.has(P.label?.toLowerCase().replace(/\s+/g,"-")||""));i.length=0,i.push(...x);}return {collections:r.length>0?r:void 0,globals:i.length>0?i:void 0}}
|
|
4
|
+
export{ae as A,W as B,le as C,k as D,te as E,I as F,ie as G,N as H,ne as I,E as J,oe as K,F as L,re as M,Z as N,se as O,Y as P,ue as Q,O as R,me as S,U as T,et as U,lt as V,A as a,M as b,u as c,m as d,d as e,b as f,p as g,g as h,y as i,c as j,G as k,f as l,V as m,q as n,X as o,S as p,D as q,L as r,pe as s,K as t,Q as u,B as v,$ as w,H as x,ee as y,j as z};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs');chunkBUNLC3II_cjs.h();var p=[{name:"super_admin",level:100,inherits:[],description:"Full system access across all tenants"},{name:"admin",level:90,inherits:["editor"],description:"Full tenant access with all content permissions"},{name:"editor",level:70,inherits:["author"],description:"Edit and publish all content"},{name:"author",level:50,inherits:["customer"],description:"Create and edit own content"},{name:"customer",level:30,inherits:[],description:"Access own data and make purchases"},{name:"guest",level:10,inherits:[],description:"Public read-only access"}];var u={super_admin:["*"],admin:["users:admin","users:read","users:update","audit_logs:read","posts:admin","posts:read","posts:create","posts:update","posts:delete","pages:admin","pages:read","pages:create","pages:update","pages:delete","media:admin","media:read","media:create","media:update","media:delete","categories:admin","categories:read","categories:create","categories:update","categories:delete","products:admin","products:read","products:create","products:update","products:delete","orders:admin","orders:read","orders:update","customers:admin","customers:read","customers:update","coupons:admin","coupons:read","coupons:create","coupons:update","coupons:delete","navigation:admin","navigation:read","navigation:create","navigation:update","navigation:delete","settings:admin","settings:read","settings:update","profile:admin","profile:read","profile:update"],editor:["posts:admin","posts:read","posts:create","posts:update","posts:delete","pages:admin","pages:read","pages:create","pages:update","pages:delete","media:read","media:create","media:update","categories:read","categories:create","categories:update","products:read","orders:read","orders:update","navigation:read","navigation:create","navigation:update","profile:read","profile:update"],author:["posts:read","posts:create","posts:update","media:read","media:create","categories:read","profile:read","profile:update"],customer:["profile:read","profile:update","orders:read","orders:create"],guest:["posts:read","pages:read","products:read"]};function d(e,s=p){let t=[e],r=new Map(s.map(o=>[o.name,o])),n=o=>{let i=r.get(o);if(i&&i.inherits)for(let c of i.inherits)t.includes(c)||(t.push(c),n(c));};return n(e),t}chunkBUNLC3II_cjs.h();function y(e,s,t=u){if(!e||!e.role)return false;let r=g(e,t);if(r.includes("*")||r.includes(s))return true;let[n,o]=s.split(":");return !!(r.includes(`${n}:*`)||r.includes(`${n}:admin`))}function R(e,s){if(!e||!e.role)return false;let t=d(e.role);return s.some(r=>t.includes(r))}function g(e,s=u){if(!e||!e.role)return [];let t=d(e.role),r=new Set;for(let n of t){let o=s[n];if(o)for(let i of o)r.add(i);}return Array.from(r)}exports.a=y;exports.b=R;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {createRequire}from'module';import {b as b$1,a,c,h,g as g$1,C,F,G as G$1,m,e,d,j as j$1,f,s,t}from'./chunk-XOACKBG7.js';import {C as C$1,i}from'./chunk-OSAVAYJZ.js';import {g}from'./chunk-C2PXMVR5.js';import {Readable}from'stream';import {platform,release}from'os';import {env,versions}from'process';createRequire(import.meta.url);
|
|
2
|
+
g();g();var M=(e,t)=>{let r=[];if(e&&r.push(e),t)for(let o of t)r.push(o);return r},v=(e,t)=>`${e||"anonymous"}${t&&t.length>0?` (a.k.a. ${t.join(",")})`:""}`,L=()=>{let e=[],t=[],r=false,o=new Set,s=p=>p.sort((m,h)=>gt[h.step]-gt[m.step]||Et[h.priority||"normal"]-Et[m.priority||"normal"]),i=p=>{let m=false,h=R=>{let A=M(R.name,R.aliases);if(A.includes(p)){m=true;for(let E of A)o.delete(E);return false}return true};return e=e.filter(h),t=t.filter(h),m},a=p=>{let m=false,h=R=>{if(R.middleware===p){m=true;for(let A of M(R.name,R.aliases))o.delete(A);return false}return true};return e=e.filter(h),t=t.filter(h),m},u=p=>(e.forEach(m=>{p.add(m.middleware,{...m});}),t.forEach(m=>{p.addRelativeTo(m.middleware,{...m});}),p.identifyOnResolve?.(g.identifyOnResolve()),p),l=p=>{let m=[];return p.before.forEach(h=>{h.before.length===0&&h.after.length===0?m.push(h):m.push(...l(h));}),m.push(p),p.after.reverse().forEach(h=>{h.before.length===0&&h.after.length===0?m.push(h):m.push(...l(h));}),m},f=(p=false)=>{let m=[],h=[],R={};return e.forEach(E=>{let S={...E,before:[],after:[]};for(let T of M(S.name,S.aliases))R[T]=S;m.push(S);}),t.forEach(E=>{let S={...E,before:[],after:[]};for(let T of M(S.name,S.aliases))R[T]=S;h.push(S);}),h.forEach(E=>{if(E.toMiddleware){let S=R[E.toMiddleware];if(S===void 0){if(p)return;throw new Error(`${E.toMiddleware} is not found when adding ${v(E.name,E.aliases)} middleware ${E.relation} ${E.toMiddleware}`)}E.relation==="after"&&S.after.push(E),E.relation==="before"&&S.before.push(E);}}),s(m).map(l).reduce((E,S)=>(E.push(...S),E),[])},g={add:(p,m={})=>{let{name:h,override:R,aliases:A}=m,E={step:"initialize",priority:"normal",middleware:p,...m},S=M(h,A);if(S.length>0){if(S.some(T=>o.has(T))){if(!R)throw new Error(`Duplicate middleware name '${v(h,A)}'`);for(let T of S){let I=e.findIndex(B=>B.name===T||B.aliases?.some(Ee=>Ee===T));if(I===-1)continue;let _=e[I];if(_.step!==E.step||E.priority!==_.priority)throw new Error(`"${v(_.name,_.aliases)}" middleware with ${_.priority} priority in ${_.step} step cannot be overridden by "${v(h,A)}" middleware with ${E.priority} priority in ${E.step} step.`);e.splice(I,1);}}for(let T of S)o.add(T);}e.push(E);},addRelativeTo:(p,m)=>{let{name:h,override:R,aliases:A}=m,E={middleware:p,...m},S=M(h,A);if(S.length>0){if(S.some(T=>o.has(T))){if(!R)throw new Error(`Duplicate middleware name '${v(h,A)}'`);for(let T of S){let I=t.findIndex(B=>B.name===T||B.aliases?.some(Ee=>Ee===T));if(I===-1)continue;let _=t[I];if(_.toMiddleware!==E.toMiddleware||_.relation!==E.relation)throw new Error(`"${v(_.name,_.aliases)}" middleware ${_.relation} "${_.toMiddleware}" middleware cannot be overridden by "${v(h,A)}" middleware ${E.relation} "${E.toMiddleware}" middleware.`);t.splice(I,1);}}for(let T of S)o.add(T);}t.push(E);},clone:()=>u(L()),use:p=>{p.applyToStack(g);},remove:p=>typeof p=="string"?i(p):a(p),removeByTag:p=>{let m=false,h=R=>{let{tags:A,name:E,aliases:S}=R;if(A&&A.includes(p)){let T=M(E,S);for(let I of T)o.delete(I);return m=true,false}return true};return e=e.filter(h),t=t.filter(h),m},concat:p=>{let m=u(L());return m.use(p),m.identifyOnResolve(r||m.identifyOnResolve()||(p.identifyOnResolve?.()??false)),m},applyToStack:u,identify:()=>f(true).map(p=>{let m=p.step??p.relation+" "+p.toMiddleware;return v(p.name,p.aliases)+" - "+m}),identifyOnResolve(p){return typeof p=="boolean"&&(r=p),r},resolve:(p,m)=>{for(let h of f().map(R=>R.middleware).reverse())p=h(p,m);return r&&console.log(g.identify()),p}};return g},gt={initialize:5,serialize:4,build:3,finalizeRequest:2,deserialize:1},Et={high:3,normal:2,low:1};var Ae=class{config;middlewareStack=L();initConfig;handlers;constructor(t){this.config=t;let{protocol:r,protocolSettings:o}=t;o&&typeof r=="function"&&(t.protocol=new r(o));}send(t,r,o){let s=typeof r!="function"?r:void 0,i=typeof r=="function"?r:o,a=s===void 0&&this.config.cacheMiddleware===true,u;if(a){this.handlers||(this.handlers=new WeakMap);let l=this.handlers;l.has(t.constructor)?u=l.get(t.constructor):(u=t.resolveMiddleware(this.middlewareStack,this.config,s),l.set(t.constructor,u));}else delete this.handlers,u=t.resolveMiddleware(this.middlewareStack,this.config,s);if(i)u(t).then(l=>i(null,l.output),l=>i(l)).catch(()=>{});else return u(t).then(l=>l.output)}destroy(){this.config?.requestHandler?.destroy?.(),delete this.handlers;}};g();g();var Te="***SensitiveInformation***";function ee(e,t){if(t==null)return t;let r=m.of(e);if(r.getMergedTraits().sensitive)return Te;if(r.isListSchema()){if(!!r.getValueSchema().getMergedTraits().sensitive)return Te}else if(r.isMapSchema()){if(!!r.getKeySchema().getMergedTraits().sensitive||!!r.getValueSchema().getMergedTraits().sensitive)return Te}else if(r.isStructSchema()&&typeof t=="object"){let o=t,s={};for(let[i,a]of r.structIterator())o[i]!=null&&(s[i]=ee(a,o[i]));return s}return t}var $=class{middlewareStack=L();schema;static classBuilder(){return new xe}resolveMiddlewareWithContext(t,r,o,{middlewareFn:s,clientName:i,commandName:a,inputFilterSensitiveLog:u,outputFilterSensitiveLog:l,smithyContext:f,additionalContext:g,CommandCtor:p}){for(let S of s.bind(this)(p,t,r,o))this.middlewareStack.use(S);let m=t.concat(this.middlewareStack),{logger:h}=r,R={logger:h,clientName:i,commandName:a,inputFilterSensitiveLog:u,outputFilterSensitiveLog:l,[c]:{commandInstance:this,...f},...g},{requestHandler:A}=r,E=o??{};return f.eventStream&&(E={isEventStream:true,...E}),m.resolve(S=>A.handle(S.request,E),R)}},xe=class{_init=()=>{};_ep={};_middlewareFn=()=>[];_commandName="";_clientName="";_additionalContext={};_smithyContext={};_inputFilterSensitiveLog=void 0;_outputFilterSensitiveLog=void 0;_serializer=null;_deserializer=null;_operationSchema;init(t){this._init=t;}ep(t){return this._ep=t,this}m(t){return this._middlewareFn=t,this}s(t,r,o={}){return this._smithyContext={service:t,operation:r,...o},this}c(t={}){return this._additionalContext=t,this}n(t,r){return this._clientName=t,this._commandName=r,this}f(t=o=>o,r=o=>o){return this._inputFilterSensitiveLog=t,this._outputFilterSensitiveLog=r,this}ser(t){return this._serializer=t,this}de(t){return this._deserializer=t,this}sc(t){return this._operationSchema=t,this._smithyContext.operationSchema=t,this}build(){let t=this,r;return r=class extends ${input;static getEndpointParameterInstructions(){return t._ep}constructor(...[o]){super(),this.input=o??{},t._init(this),this.schema=t._operationSchema;}resolveMiddleware(o,s,i){let a=t._operationSchema,u=a?.[4]??a?.input,l=a?.[5]??a?.output;return this.resolveMiddlewareWithContext(o,s,i,{CommandCtor:r,middlewareFn:t._middlewareFn,clientName:t._clientName,commandName:t._commandName,inputFilterSensitiveLog:t._inputFilterSensitiveLog??(a?ee.bind(null,u):f=>f),outputFilterSensitiveLog:t._outputFilterSensitiveLog??(a?ee.bind(null,l):f=>f),smithyContext:t._smithyContext,additionalContext:t._additionalContext})}serialize=t._serializer;deserialize=t._deserializer}}};g();g();var kr=(e,t,r)=>{for(let[i,a]of Object.entries(e)){let u=async function(f,g,p){let m=new a(f);if(typeof g=="function")this.send(m,g);else if(typeof p=="function"){if(typeof g!="object")throw new Error(`Expected http options but got ${typeof g}`);this.send(m,g||{},p);}else return this.send(m,g)},l=(i[0].toLowerCase()+i.slice(1)).replace(/Command$/,"");t.prototype[l]=u;}let{paginators:o={},waiters:s={}}=r??{};for(let[i,a]of Object.entries(o))t.prototype[i]===void 0&&(t.prototype[i]=function(u={},l,...f){return a({...l,client:this},u,...f)});for(let[i,a]of Object.entries(s))t.prototype[i]===void 0&&(t.prototype[i]=async function(u={},l,...f){let g=l;return typeof l=="number"&&(g={maxWaitTime:l}),a({...g,client:this},u,...f)});};g();var ye=class e extends Error{$fault;$response;$retryable;$metadata;constructor(t){super(t.message),Object.setPrototypeOf(this,Object.getPrototypeOf(this).constructor.prototype),this.name=t.name,this.$fault=t.$fault,this.$metadata=t.$metadata;}static isInstance(t){if(!t)return false;let r=t;return e.prototype.isPrototypeOf(r)||!!r.$fault&&!!r.$metadata&&(r.$fault==="client"||r.$fault==="server")}static[Symbol.hasInstance](t){if(!t)return false;let r=t;return this===e?e.isInstance(t):e.isInstance(t)?r.name&&this.name?this.prototype.isPrototypeOf(t)||r.name===this.name:this.prototype.isPrototypeOf(t):false}},Ur=(e,t={})=>{Object.entries(t).filter(([,o])=>o!==void 0).forEach(([o,s])=>{(e[o]==null||e[o]==="")&&(e[o]=s);});let r=e.message||e.Message||"UnknownError";return e.message=r,delete e.Message,e};g();var Fr=e=>{switch(e){case "standard":return {retryMode:"standard",connectionTimeout:3100};case "in-region":return {retryMode:"standard",connectionTimeout:1100};case "cross-region":return {retryMode:"standard",connectionTimeout:3100};case "mobile":return {retryMode:"standard",connectionTimeout:3e4};default:return {}}};g();var Rt=false,Lr=e=>{e&&!Rt&&parseInt(e.substring(1,e.indexOf(".")))<16&&(Rt=true);};g();g();var St=Object.values(b$1),At=e=>{let t=[];for(let r in b$1){let o=b$1[r];e[o]!==void 0&&t.push({algorithmId:()=>o,checksumConstructor:()=>e[o]});}for(let[r,o]of Object.entries(e.checksumAlgorithms??{}))t.push({algorithmId:()=>r,checksumConstructor:()=>o});return {addChecksumAlgorithm(r){e.checksumAlgorithms=e.checksumAlgorithms??{};let o=r.algorithmId(),s=r.checksumConstructor();St.includes(o)?e.checksumAlgorithms[o.toUpperCase()]=s:e.checksumAlgorithms[o]=s,t.push(r);},checksumAlgorithms(){return t}}},Tt=e=>{let t={};return e.checksumAlgorithms().forEach(r=>{let o=r.algorithmId();St.includes(o)&&(t[o]=r.checksumConstructor());}),t};g();var xt=e=>({setRetryStrategy(t){e.retryStrategy=t;},retryStrategy(){return e.retryStrategy}}),yt=e=>{let t={};return t.retryStrategy=e.retryStrategy(),t};var $r=e=>Object.assign(At(e),xt(e));var Hr=e=>Object.assign(Tt(e),yt(e));g();var _t=e=>{let t="#text";for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&e[r][t]!==void 0?e[r]=e[r][t]:typeof e[r]=="object"&&e[r]!==null&&(e[r]=_t(e[r]));return e};g();var q=class{trace(){}debug(){}info(){}warn(){}error(){}};g();function Gr(e,t,r,o){return function(i,a,u,l,f={}){let g=Object.assign({},e,i);return $.classBuilder().ep(g).m(function(p,m,h,R){let A=a.call(this,p,m,h,R);return A.unshift(o(h,p.getEndpointParameterInstructions())),A}).s(t,u,f).n(r,u.charAt(0).toUpperCase()+u.slice(1)+"Command").sc(l).build()}}g();function Br(e,t,r){return e.$source||(e.$source={}),e.$source[t]=r,e}g();g();g();var wt="AWS_ENDPOINT_URL",It="endpoint_url",Nt=e=>({environmentVariableSelector:t=>{let r=e.split(" ").map(i=>i.toUpperCase()),o=t[[wt,...r].join("_")];if(o)return o;let s=t[wt];if(s)return s},configFileSelector:(t,r)=>{if(t.services){let s=["services",t.services].join(".");if(!r||!r[s])throw new Error(`The services section "${t.services}" specified in the profile is not present in the shared configuration file.`);let i=r[s],a=e.split(" ").map(l=>l.toLowerCase()),u=i[[a.join("_"),It].join(".")];if(u)return u}let o=t[It];if(o)return o},default:void 0});g();var Wr="AWS_IGNORE_CONFIGURED_ENDPOINT_URLS",qr="ignore_configured_endpoint_urls",Ct={environmentVariableSelector:e=>s(e,Wr,t.ENV),configFileSelector:e=>s(e,qr,t.CONFIG),default:false};var z=async e=>{if(!await C(Ct)())return C(Nt(e??""))()};g();g();g();var _e=async e=>{let t=e?.Bucket||"";if(typeof e.Bucket=="string"&&(e.Bucket=t.replace(/#/g,encodeURIComponent("#")).replace(/\?/g,encodeURIComponent("?"))),vt(t)){if(e.ForcePathStyle===true)throw new Error("Path-style addressing cannot be used with ARN buckets")}else (!Ot(t)||t.indexOf(".")!==-1&&!String(e.Endpoint).startsWith("http:")||t.toLowerCase()!==t||t.length<3)&&(e.ForcePathStyle=true);return e.DisableMultiRegionAccessPoints&&(e.disableMultiRegionAccessPoints=true,e.DisableMRAP=true),e},zr=/^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$/,Yr=/(\d+\.){3}\d+/,jr=/\.\./;var Ot=e=>zr.test(e)&&!Yr.test(e)&&!jr.test(e),vt=e=>{let[t,r,o,,,s]=e.split(":"),i=t==="arn"&&e.split(":").length>=6,a=!!(i&&r&&o&&s);if(i&&!a)throw new Error(`Invalid ARN: ${e} was an invalid ARN.`);return a};g();var Pt=(e,t,r,o=false)=>{let s=async()=>{let i;return o?i=r.clientContextParams?.[e]??r[e]??r[t]:i=r[e]??r[t],typeof i=="function"?i():i};return e==="credentialScope"||t==="CredentialScope"?async()=>{let i=typeof r.credentials=="function"?await r.credentials():r.credentials;return i?.credentialScope??i?.CredentialScope}:e==="accountId"||t==="AccountId"?async()=>{let i=typeof r.credentials=="function"?await r.credentials():r.credentials;return i?.accountId??i?.AccountId}:e==="endpoint"||t==="endpoint"?async()=>{if(r.isCustomEndpoint===false)return;let i=await s();if(i&&typeof i=="object"){if("url"in i)return i.url.href;if("hostname"in i){let{protocol:a,hostname:u,port:l,path:f}=i;return `${a}//${u}${l?":"+l:""}${f}`}}return i}:s};g();function te(e){return async(t,r,o,s)=>{if(!o.isCustomEndpoint&&!o.ignoreConfiguredEndpointUrls){let u;o.serviceConfiguredEndpoint?u=await o.serviceConfiguredEndpoint():u=await e(o.serviceId),u&&(o.endpoint=()=>Promise.resolve(j$1(u)),o.isCustomEndpoint=true,s?.logger?.debug?.(`@smithy/core/endpoints - resolved endpoint from config: ${u}`));}let i=await bt(t,r,o);if(typeof o.endpointProvider!="function")throw new Error("config.endpointProvider is not set.");let a=o.endpointProvider(i,s);if(o.isCustomEndpoint&&o.endpoint){let u=await o.endpoint();if(u?.headers){a.headers??={};for(let[l,f]of Object.entries(u.headers))a.headers[l]=Array.isArray(f)?f:[f];}}return a}}var bt=async(e,t,r)=>{let o={},s=t?.getEndpointParameterInstructions?.()||{};for(let[i,a]of Object.entries(s))switch(a.type){case "staticContextParams":o[i]=a.value;break;case "contextParams":o[i]=e[a.name];break;case "clientContextParams":case "builtInParams":o[i]=await Pt(a.name,i,r,a.type!=="builtInParams")();break;case "operationContextParams":o[i]=a.get(e);break;default:throw new Error("Unrecognized endpoint parameter instruction: "+JSON.stringify(a))}return Object.keys(s).length===0&&Object.assign(o,r),String(r.serviceId).toLowerCase()==="s3"&&await _e(o),o};g();function Xr(e,t,r){e.__smithy_context?e.__smithy_context.features||(e.__smithy_context.features={}):e.__smithy_context={features:{}},e.__smithy_context.features[t]=r;}function re(e){let t=te(e);return ({config:r,instructions:o})=>(s,i)=>async a=>{r.isCustomEndpoint&&Xr(i,"ENDPOINT_OVERRIDE","N");let u=await t(a.input,{getEndpointParameterInstructions(){return o}},{...r},i);i.endpointV2=u,i.authSchemes=u.properties?.authSchemes;let l=i.authSchemes?.[0];if(l){i.signing_region=l.signingRegion,i.signing_service=l.signingName;let g=d(i)?.selectedHttpAuthScheme?.httpAuthOption;g&&(g.signingProperties=Object.assign(g.signingProperties||{},{signing_region:l.signingRegion,signingRegion:l.signingRegion,signing_service:l.signingName,signingName:l.signingName,signingRegionSet:l.signingRegionSet},l.properties));}return s({...a})}}g();var Kr={name:"serializerMiddleware"},Jr={step:"serialize",tags:["ENDPOINT_PARAMETERS","ENDPOINT_V2","ENDPOINT"],name:"endpointV2Middleware",override:true,relation:"before",toMiddleware:Kr.name};function Dt(e){let t=re(e);return (r,o)=>({applyToStack:s=>{s.addRelativeTo(t({config:r,instructions:o}),Jr);}})}g();function Mt(e){return t=>{let r=t.tls??true,{endpoint:o,useDualstackEndpoint:s,useFipsEndpoint:i}=t,a=o!=null?async()=>j$1(await h(o)()):void 0,l=Object.assign(t,{endpoint:a,tls:r,isCustomEndpoint:!!o,useDualstackEndpoint:h(s??false),useFipsEndpoint:h(i??false),ignoreConfiguredEndpointUrls:!!t.ignoreConfiguredEndpointUrls}),f;return l.serviceConfiguredEndpoint=async()=>(t.serviceId&&!f&&(f=e(t.serviceId)),f),l}}g();var we=class e{nodes;root;conditions;results;constructor(t,r,o,s){this.nodes=t,this.root=r,this.conditions=o,this.results=s;}static from(t,r,o,s){return new e(t,r,o,s)}};g();var Ie=class{capacity;data=new Map;parameters=[];constructor({size:t,params:r}){this.capacity=t??50,r&&(this.parameters=r);}get(t,r){let o=this.hash(t);if(o===false)return r();if(!this.data.has(o)){if(this.data.size>this.capacity+10){let s=this.data.keys(),i=0;for(;;){let{value:a,done:u}=s.next();if(this.data.delete(a),u||++i>10)break}}this.data.set(o,r());}return this.data.get(o)}size(){return this.data.size}hash(t){let r="",{parameters:o}=this;if(o.length===0)return false;for(let s of o){let i=String(t[s]??"");if(i.includes("|;"))return false;r+=i+"|;";}return r}};g();g();g();var x=class extends Error{constructor(t){super(t),this.name="EndpointError";}};g();g();g();var Ne="endpoints";g();function H(e){return typeof e!="object"||e==null?e:"ref"in e?`$${H(e.ref)}`:"fn"in e?`${e.fn}(${(e.argv||[]).map(H).join(", ")})`:JSON.stringify(e,null,2)}g();g();g();var Y={};g();g();g();var Ce=(e,t)=>e===t;g();function Oe(...e){for(let t of e)if(t!=null)return t}g();g();var kt=e=>{let t=e.split("."),r=[];for(let o of t){let s=o.indexOf("[");if(s!==-1){if(o.indexOf("]")!==o.length-1)throw new x(`Path: '${e}' does not end with ']'`);let i=o.slice(s+1,-1);if(Number.isNaN(parseInt(i)))throw new x(`Invalid array index: '${i}' in path: '${e}'`);s!==0&&r.push(o.slice(0,s)),r.push(i);}else r.push(o);}return r};var j=(e,t)=>kt(t).reduce((r,o)=>{if(typeof r!="object")throw new x(`Index '${o}' in '${t}' not found in '${JSON.stringify(e)}'`);if(Array.isArray(r)){let s=parseInt(o);return r[s<0?r.length+s:s]}return r[o]},e);g();var ve=e=>e!=null;g();function Pe(e,t,r){return e?t:r}g();var be=e=>!e;g();g();var Qr=new RegExp("^(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}$"),G=e=>Qr.test(e)||e.startsWith("[")&&e.endsWith("]");var De={[a.HTTP]:80,[a.HTTPS]:443},Me=e=>{let t=(()=>{try{if(e instanceof URL)return e;if(typeof e=="object"&&"hostname"in e){let{hostname:m,port:h,protocol:R="",path:A="",query:E={}}=e,S=new URL(`${R}//${m}${h?`:${h}`:""}${A}`);return S.search=Object.entries(E).map(([T,I])=>`${T}=${I}`).join("&"),S}return new URL(e)}catch{return null}})();if(!t)return console.error(`Unable to parse ${JSON.stringify(e)} as a whatwg URL.`),null;let r=t.href,{host:o,hostname:s,pathname:i,protocol:a$1,search:u}=t;if(u)return null;let l=a$1.slice(0,-1);if(!Object.values(a).includes(l))return null;let f=G(s),g=r.includes(`${o}:${De[l]}`)||typeof e=="string"&&e.includes(`${o}:${De[l]}`),p=`${o}${g?`:${De[l]}`:""}`;return {scheme:l,authority:p,path:i,normalizedPath:i.endsWith("/")?i:`${i}/`,isIp:f}};g();function ke(e,t,r){if(r===1)return [e];if(e==="")return [""];let o=e.split(t);return r===0?o:o.slice(0,r-1).concat(o.slice(1).join(t))}g();var Ue=(e,t)=>e===t;g();var Fe=(e,t,r,o)=>e==null||t>=r||e.length<r||/[^\u0000-\u007f]/.test(e)?null:o?e.substring(e.length-r,e.length-t):e.substring(t,r);g();var Le=e=>encodeURIComponent(e).replace(/[!*'()]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase()}`);var Ut={booleanEquals:Ce,coalesce:Oe,getAttr:j,isSet:ve,isValidHostLabel:g$1,ite:Pe,not:be,parseURL:Me,split:ke,stringEquals:Ue,substring:Fe,uriEncode:Le};g();var oe=(e,t)=>{let r=[],{referenceRecord:o,endpointParams:s}=t,i=0;for(;i<e.length;){let a=e.indexOf("{",i);if(a===-1){r.push(e.slice(i));break}r.push(e.slice(i,a));let u=e.indexOf("}",a);if(u===-1){r.push(e.slice(a));break}e[a+1]==="{"&&e[u+1]==="}"&&(r.push(e.slice(a+1,u)),i=u+2);let l=e.substring(a+1,u);if(l.includes("#")){let[f,g]=l.split("#");r.push(j(o[f]??s[f],g));}else r.push(o[l]??s[l]);i=u+1;}return r.join("")};g();var Ft=({ref:e},t)=>t.referenceRecord[e]??t.endpointParams[e];var k=(e,t,r)=>{if(typeof e=="string")return oe(e,r);if(e.fn)return Lt.callFunction(e,r);if(e.ref)return Ft(e,r);throw new x(`'${t}': ${String(e)} is not a string, function or reference.`)},ne=({fn:e,argv:t},r)=>{let o=Array(t.length);for(let a=0;a<o.length;++a){let u=t[a];typeof u=="boolean"||typeof u=="number"?o[a]=u:o[a]=Lt.evaluateExpression(u,"arg",r);}let s=e.indexOf(".");if(s!==-1){let u=Y[e.slice(0,s)]?.[e.slice(s+1)];if(typeof u=="function")return u(...o)}let i=Ut[e];if(typeof i=="function")return i(...o);throw new Error(`function ${e} not loaded in endpointFunctions.`)},Lt={evaluateExpression:k,callFunction:ne};var $t=(e,t)=>{let{assign:r}=e;if(r&&r in t.referenceRecord)throw new x(`'${r}' is already defined in Reference Record.`);let o=ne(e,t);t.logger?.debug?.(`${Ne} evaluateCondition: ${H(e)} = ${H(o)}`);let s=o===""?true:!!o;return r!=null?{result:s,toAssign:{name:r,value:o}}:{result:s}};g();var Ht=(e,t)=>Object.entries(e??{}).reduce((r,[o,s])=>(r[o]=s.map(i=>{let a=k(i,"Header value entry",t);if(typeof a!="string")throw new x(`Header '${o}' value '${a}' is not a string`);return a}),r),{});g();var $e=(e,t)=>Object.entries(e).reduce((r,[o,s])=>(r[o]=Bt.getEndpointProperty(s,t),r),{}),Gt=(e,t)=>{if(Array.isArray(e))return e.map(r=>Gt(r,t));switch(typeof e){case "string":return oe(e,t);case "object":if(e===null)throw new x(`Unexpected endpoint property: ${e}`);return Bt.getEndpointProperties(e,t);case "boolean":return e;default:throw new x(`Unexpected endpoint property type: ${typeof e}`)}},Bt={getEndpointProperty:Gt,getEndpointProperties:$e};g();var Vt=(e,t)=>{let r=k(e,"Endpoint URL",t);if(typeof r=="string")try{return new URL(r)}catch(o){throw console.error(`Failed to construct URL with ${r}`,o),o}throw new x(`Endpoint URL must be a string, got ${typeof r}`)};var He=1e8,Zr=(e,t)=>{let{nodes:r,root:o,results:s,conditions:i}=e,a=o,u={},l={referenceRecord:u,endpointParams:t.endpointParams,logger:t.logger};for(;a!==1&&a!==-1&&a<He;){let f=3*(Math.abs(a)-1),[g,p,m]=[r[f],r[f+1],r[f+2]],[h,R,A]=i[g],E=$t({fn:h,assign:A,argv:R},l);if(E.toAssign){let{name:S,value:T}=E.toAssign;u[S]=T;}a=a>=0===E.result?p:m;}if(a>=He){let f=s[a-He];if(f[0]===-1){let[,h]=f;throw new x(k(h,"Error",l))}let[g,p,m]=f;return {url:Vt(g,l),properties:$e(p,l),headers:Ht(m??{},l)}}throw new x("No matching endpoint.")};var Ma=Mt(z),Ua=Dt(z);g();g();g();g();g();var Wt=["BandwidthLimitExceeded","EC2ThrottledException","LimitExceededException","PriorRequestNotComplete","ProvisionedThroughputExceededException","RequestLimitExceeded","RequestThrottled","RequestThrottledException","SlowDown","ThrottledException","Throttling","ThrottlingException","TooManyRequestsException","TransactionInProgressException"],qt=["TimeoutError","RequestTimeout","RequestTimeoutException"],zt=[500,502,503,504],Yt=["ECONNRESET","ECONNREFUSED","EPIPE","ETIMEDOUT"],jt=["EHOSTUNREACH","ENETUNREACH","ENOTFOUND","EAI_AGAIN"];var eo=e=>e?.$retryable!==void 0;var to=e=>e.$metadata?.clockSkewCorrected,ro=e=>{let t=new Set(["Failed to fetch","NetworkError when attempting to fetch resource","The Internet connection appears to be offline","Load failed","Network request failed"]);return e&&e instanceof TypeError?t.has(e.message):false},ie=e=>e.$metadata?.httpStatusCode===429||Wt.includes(e.name)||e.$retryable?.throttling==true,se=(e,t=0)=>eo(e)||to(e)||e.name==="InvalidSignatureException"&&e.message?.includes("Signature expired")||qt.includes(e.name)||Yt.includes(e?.code||"")||jt.includes(e?.code||"")||zt.includes(e.$metadata?.httpStatusCode||0)||ro(e)||oo(e)||e.cause!==void 0&&t<=10&&se(e.cause,t+1),Xt=e=>{if(e.$metadata?.httpStatusCode!==void 0){let t=e.$metadata.httpStatusCode;return 500<=t&&t<=599&&!se(e)}return false};function oo(e){return e.code==="ERR_HTTP2_STREAM_ERROR"&&e.message.includes("NGHTTP2_REFUSED_STREAM")}var ae=class e{static setTimeoutFn=(t,r)=>setTimeout(t,r);beta;minCapacity;minFillRate;scaleConstant;smooth;enabled=false;availableTokens=0;lastMaxRate=0;measuredTxRate=0;requestCount=0;fillRate;lastThrottleTime;lastTimestamp=0;lastTxRateBucket;maxCapacity;timeWindow=0;constructor(t){this.beta=t?.beta??.7,this.minCapacity=t?.minCapacity??1,this.minFillRate=t?.minFillRate??.5,this.scaleConstant=t?.scaleConstant??.4,this.smooth=t?.smooth??.8,this.lastThrottleTime=this.getCurrentTimeInSeconds(),this.lastTxRateBucket=Math.floor(this.getCurrentTimeInSeconds()),this.fillRate=this.minFillRate,this.maxCapacity=this.minCapacity;}async getSendToken(){return this.acquireTokenBucket(1)}updateClientSendingRate(t){let r;this.updateMeasuredRate();let o=t;if(o?.errorType==="THROTTLING"||ie(o?.error??t)){let a=this.enabled?Math.min(this.measuredTxRate,this.fillRate):this.measuredTxRate;this.lastMaxRate=a,this.calculateTimeWindow(),this.lastThrottleTime=this.getCurrentTimeInSeconds(),r=this.cubicThrottle(a),this.enableTokenBucket();}else this.calculateTimeWindow(),r=this.cubicSuccess(this.getCurrentTimeInSeconds());let i=Math.min(r,2*this.measuredTxRate);this.updateTokenBucketRate(i);}getCurrentTimeInSeconds(){return Date.now()/1e3}async acquireTokenBucket(t){if(this.enabled){for(this.refillTokenBucket();t>this.availableTokens;){let r=(t-this.availableTokens)/this.fillRate*1e3;await new Promise(o=>e.setTimeoutFn(o,r)),this.refillTokenBucket();}this.availableTokens=this.availableTokens-t;}}refillTokenBucket(){let t=this.getCurrentTimeInSeconds();if(!this.lastTimestamp){this.lastTimestamp=t;return}let r=(t-this.lastTimestamp)*this.fillRate;this.availableTokens=Math.min(this.maxCapacity,this.availableTokens+r),this.lastTimestamp=t;}calculateTimeWindow(){this.timeWindow=this.getPrecise(Math.pow(this.lastMaxRate*(1-this.beta)/this.scaleConstant,1/3));}cubicThrottle(t){return this.getPrecise(t*this.beta)}cubicSuccess(t){return this.getPrecise(this.scaleConstant*Math.pow(t-this.lastThrottleTime-this.timeWindow,3)+this.lastMaxRate)}enableTokenBucket(){this.enabled=true;}updateTokenBucketRate(t){this.refillTokenBucket(),this.fillRate=Math.max(t,this.minFillRate),this.maxCapacity=Math.max(t,this.minCapacity),this.availableTokens=Math.min(this.availableTokens,this.maxCapacity);}updateMeasuredRate(){let t=this.getCurrentTimeInSeconds(),r=Math.floor(t*2)/2;if(this.requestCount++,r>this.lastTxRateBucket){let o=this.requestCount/(r-this.lastTxRateBucket);this.measuredTxRate=this.getPrecise(o*this.smooth+this.measuredTxRate*(1-this.smooth)),this.requestCount=0,this.lastTxRateBucket=r;}}getPrecise(t){return parseFloat(t.toFixed(8))}};g();g();g();var Kt="amz-sdk-invocation-id",Jt="amz-sdk-request";g();var y=class e{static v2026=typeof process<"u"&&process.env?.SMITHY_NEW_RETRIES_2026==="true";static delay(){return e.v2026?50:100}static throttlingDelay(){return e.v2026?1e3:500}static cost(){return e.v2026?14:5}static throttlingCost(){return e.v2026?5:10}static modifiedCostType(){return e.v2026?"THROTTLING":"TRANSIENT"}};var ce=class{x=y.delay();computeNextBackoffDelay(t){let s=Math.random()*Math.min(this.x*2**t,2e4);return Math.floor(s)}setDelayBase(t){this.x=t;}};g();var X=class{delay;count;cost;longPoll;$retryLog={acquisitionDelay:0};constructor(t,r,o,s){this.delay=t,this.count=r,this.cost=o,this.longPoll=s;}getRetryCount(){return this.count}getRetryDelay(){return Math.min(2e4,this.delay)}getRetryCost(){return this.cost}isLongPoll(){return this.longPoll}};g();var w;(function(e){e.STANDARD="standard",e.ADAPTIVE="adaptive";})(w||(w={}));var P=3,Ge=w.STANDARD;var de={incompatible:1,attempts:2,capacity:3},U=class{mode=w.STANDARD;retryBackoffStrategy;capacity=500;maxAttemptsProvider;baseDelay;constructor(t){typeof t=="number"?this.maxAttemptsProvider=async()=>t:typeof t=="function"?this.maxAttemptsProvider=t:t&&typeof t=="object"&&(this.maxAttemptsProvider=async()=>t.maxAttempts,this.baseDelay=t.baseDelay,this.retryBackoffStrategy=t.backoff),this.maxAttemptsProvider??=async()=>P,this.baseDelay??=y.delay(),this.retryBackoffStrategy??=new ce;}async acquireInitialRetryToken(t){return new X(y.delay(),0,void 0,y.v2026&&t.includes(":longpoll"))}async refreshRetryTokenForRetry(t,r){let o=await this.getMaxAttempts(),s=this.retryCode(t,r,o),i=s===0,a=t.isLongPoll?.();if(i||a){let u=r.errorType;this.retryBackoffStrategy.setDelayBase(u==="THROTTLING"?y.throttlingDelay():this.baseDelay);let l=this.retryBackoffStrategy.computeNextBackoffDelay(t.getRetryCount()),f=l;if(r.retryAfterHint instanceof Date&&(f=Math.max(l,Math.min(r.retryAfterHint.getTime()-Date.now(),l+5e3))),i){let g=this.getCapacityCost(u);this.capacity-=g;let p=new X(0,t.getRetryCount()+1,g,t.isLongPoll?.()??false);return await new Promise(m=>setTimeout(m,f)),p.$retryLog.acquisitionDelay=f,p}else {let g=y.v2026&&s===de.capacity&&a?f:0;g>0&&await new Promise(p=>setTimeout(p,g));}}throw new Error("No retry token available")}recordSuccess(t){this.capacity=Math.min(500,this.capacity+(t.getRetryCost()??1));}getCapacity(){return this.capacity}async maxAttempts(){return this.maxAttemptsProvider()}async getMaxAttempts(){try{return await this.maxAttemptsProvider()}catch{return console.warn(`Max attempts provider could not resolve. Using default of ${P}`),P}}retryCode(t,r,o){let s=t.getRetryCount()+1,i=this.isRetryableError(r.errorType)?0:de.incompatible,a=s<o?0:de.attempts,u=this.capacity>=this.getCapacityCost(r.errorType)?0:de.capacity;return i||a||u}getCapacityCost(t){return t===y.modifiedCostType()?y.throttlingCost():y.cost()}isRetryableError(t){return t==="THROTTLING"||t==="TRANSIENT"}};var ue=class{mode=w.ADAPTIVE;rateLimiter;standardRetryStrategy;constructor(t,r){let{rateLimiter:o}=r??{};this.rateLimiter=o??new ae,this.standardRetryStrategy=r?new U({maxAttempts:typeof t=="number"?t:3,...r}):new U(t);}async acquireInitialRetryToken(t){let r=await this.standardRetryStrategy.acquireInitialRetryToken(t);return await this.rateLimiter.getSendToken(),r}async refreshRetryTokenForRetry(t,r){this.rateLimiter.updateClientSendingRate(r);let o=await this.standardRetryStrategy.refreshRetryTokenForRetry(t,r);return await this.rateLimiter.getSendToken(),o}recordSuccess(t){this.rateLimiter.updateClientSendingRate({}),this.standardRetryStrategy.recordSuccess(t);}async maxAttemptsProvider(){return this.standardRetryStrategy.maxAttempts()}};var Be="AWS_MAX_ATTEMPTS",Ve="max_attempts",so={environmentVariableSelector:e=>{let t=e[Be];if(!t)return;let r=parseInt(t);if(Number.isNaN(r))throw new Error(`Environment variable ${Be} mast be a number, got "${t}"`);return r},configFileSelector:e=>{let t=e[Ve];if(!t)return;let r=parseInt(t);if(Number.isNaN(r))throw new Error(`Shared config file entry ${Ve} mast be a number, got "${t}"`);return r},default:P},ao=(e,t)=>{let{retryStrategy:r,retryMode:o}=e,{defaultMaxAttempts:s=P,defaultBaseDelay:i=y.delay()}=t??{},a=h(e.maxAttempts??s),u=r?Promise.resolve(r):void 0,l=async()=>{let f=await a();return await h(o)()===w.ADAPTIVE?new ue(a,{maxAttempts:f,baseDelay:i}):new U({maxAttempts:f,baseDelay:i})};return Object.assign(e,{maxAttempts:a,retryStrategy:()=>u??=l()})},Qt="AWS_RETRY_MODE",Zt="retry_mode",co={environmentVariableSelector:e=>e[Qt],configFileSelector:e=>e[Zt],default:Ge};g();g();var We=e=>e?.body instanceof Readable||typeof ReadableStream<"u"&&e?.body instanceof ReadableStream;g();g();function er(e,t){if(f.isInstance(e))for(let r of Object.keys(e.headers)){let o=r.toLowerCase();if(o==="retry-after"){let s=e.headers[r],i$1=NaN;if(s.endsWith("GMT"))try{i$1=(i(s).getTime()-Date.now())/1e3;}catch(a){t?.trace?.("Failed to parse retry-after header"),t?.trace?.(a);}else s.match(/ GMT, ((\d+)|(\d+\.\d+))$/)?i$1=Number(s.match(/ GMT, ([\d.]+)$/)?.[1]):s.match(/^((\d+)|(\d+\.\d+))$/)?i$1=Number(s):Date.parse(s)>=Date.now()&&(i$1=(Date.parse(s)-Date.now())/1e3);return isNaN(i$1)?void 0:new Date(Date.now()+i$1*1e3)}else if(o==="x-amz-retry-after"){let s=e.headers[r],i=Number(s);if(isNaN(i)){t?.trace?.(`Failed to parse x-amz-retry-after=${s}`);return}return new Date(Date.now()+i)}}}g();var tr=e=>e instanceof Error?e:e instanceof Object?Object.assign(new Error,e):typeof e=="string"?new Error(e):new Error(`AWS SDK error wrapper for ${e}`);function qe(e$1){return t=>(r,o)=>async s=>{let i=await t.retryStrategy(),a=await t.maxAttempts();if(po(i)){i=i;let u=await i.acquireInitialRetryToken((o.partition_id??"")+(o.__retryLongPoll?":longpoll":"")),l=new Error,f=0,g=0,{request:p}=s,m=e.isInstance(p);for(m&&(p.headers[Kt]=C$1());;)try{m&&(p.headers[Jt]=`attempt=${f+1}; max=${a}`);let{response:h,output:R}=await r(s);return i.recordSuccess(u),R.$metadata.attempts=f+1,R.$metadata.totalRetryDelay=g,{response:h,output:R}}catch(h){let R=fo(h,t.logger);if(l=tr(h),m&&e$1(p))throw (o.logger instanceof q?console:o.logger)?.warn("An error was encountered in a non-retryable streaming request."),l;try{u=await i.refreshRetryTokenForRetry(u,R);}catch{throw l.$metadata||(l.$metadata={}),l.$metadata.attempts=f+1,l.$metadata.totalRetryDelay=g,l}f=u.getRetryCount();let A=u.getRetryDelay();g+=(u?.$retryLog?.acquisitionDelay??0)+A,A>0&&await lo(A);}}else return i=i,i?.mode&&(o.userAgent=[...o.userAgent||[],["cfg/retry-mode",i.mode]]),i.retry(r,s)}}var lo=e=>new Promise(t=>setTimeout(t,e)),po=e=>typeof e.acquireInitialRetryToken<"u"&&typeof e.refreshRetryTokenForRetry<"u"&&typeof e.recordSuccess<"u",fo=(e,t)=>{let r={error:e,errorType:mo(e)},o=er(e.$response,t);return o&&(r.retryAfterHint=o),r},mo=e=>ie(e)?"THROTTLING":se(e)?"TRANSIENT":Xt(e)?"SERVER_ERROR":"CLIENT_ERROR",ho={name:"retryMiddleware",tags:["RETRY"],step:"finalizeRequest",priority:"high",override:true};function rr(e){let t=qe(e);return r=>({applyToStack:o=>{o.add(t(r),ho);}})}var Qc=rr(We);g();var or=e$1=>t=>async r=>{if(!e.isInstance(r.request))return t(r);let{request:o}=r,{handlerProtocol:s=""}=e$1.requestHandler.metadata||{};if(s.indexOf("h2")>=0&&!o.headers[":authority"])delete o.headers.host,o.headers[":authority"]=o.hostname+(o.port?":"+o.port:"");else if(!o.headers.host){let i=o.hostname;o.port!=null&&(i+=`:${o.port}`),o.headers.host=i;}return t(r)},nr={name:"hostHeaderMiddleware",step:"build",priority:"low",tags:["HOST"],override:true},go=e=>({applyToStack:t=>{t.add(or(e),nr);}});g();var ir=()=>(e,t)=>async r=>{try{let o=await e(r),{clientName:s,commandName:i,logger:a,dynamoDbDocumentClientOptions:u={}}=t,{overrideInputFilterSensitiveLog:l,overrideOutputFilterSensitiveLog:f}=u,g=l??t.inputFilterSensitiveLog,p=f??t.outputFilterSensitiveLog,{$metadata:m,...h}=o.output;return a?.info?.({clientName:s,commandName:i,input:g(r.input),output:p(h),metadata:m}),o}catch(o){let{clientName:s,commandName:i,logger:a,dynamoDbDocumentClientOptions:u={}}=t,{overrideInputFilterSensitiveLog:l}=u,f=l??t.inputFilterSensitiveLog;throw a?.error?.({clientName:s,commandName:i,input:f(r.input),error:o,metadata:o.$metadata}),o}},sr={name:"loggerMiddleware",tags:["LOGGER"],step:"initialize",override:true},Eo=e=>({applyToStack:t=>{t.add(ir(),sr);}});g();g();var ar={step:"build",tags:["RECURSION_DETECTION","TRACE_CONTEXT_PROPAGATION"],name:"recursionDetectionMiddleware",override:true,priority:"low"};g();g();var b={REQUEST_ID:Symbol.for("_AWS_LAMBDA_REQUEST_ID"),X_RAY_TRACE_ID:Symbol.for("_AWS_LAMBDA_X_RAY_TRACE_ID"),TENANT_ID:Symbol.for("_AWS_LAMBDA_TENANT_ID"),TRACEPARENT:Symbol.for("_AWS_LAMBDA_TRACEPARENT"),TRACESTATE:Symbol.for("_AWS_LAMBDA_TRACESTATE"),BAGGAGE:Symbol.for("_AWS_LAMBDA_BAGGAGE")},ze=["true","1"].includes(process.env?.AWS_LAMBDA_NODEJS_NO_GLOBAL_AWSLAMBDA??"");ze||(globalThis.awslambda=globalThis.awslambda||{});var le=class{static PROTECTED_KEYS=b;isProtectedKey(t){return Object.values(b).includes(t)}getRequestId(){return this.get(b.REQUEST_ID)??"-"}getXRayTraceId(){return this.get(b.X_RAY_TRACE_ID)}getTenantId(){return this.get(b.TENANT_ID)}getTraceparent(){return this.get(b.TRACEPARENT)}getTracestate(){return this.get(b.TRACESTATE)}getBaggage(){return this.get(b.BAGGAGE)}},Ye=class extends le{currentContext;getContext(){return this.currentContext}hasContext(){return this.currentContext!==void 0}get(t){return this.currentContext?.[t]}set(t,r){if(this.isProtectedKey(t))throw new Error(`Cannot modify protected Lambda context field: ${String(t)}`);this.currentContext=this.currentContext||{},this.currentContext[t]=r;}run(t,r){return this.currentContext=t,r()}},je=class e extends le{als;static async create(){let t=new e,r=await import('async_hooks');return t.als=new r.AsyncLocalStorage,t}getContext(){return this.als.getStore()}hasContext(){return this.als.getStore()!==void 0}get(t){return this.als.getStore()?.[t]}set(t,r){if(this.isProtectedKey(t))throw new Error(`Cannot modify protected Lambda context field: ${String(t)}`);let o=this.als.getStore();if(!o)throw new Error("No context available");o[t]=r;}run(t,r){return this.als.run(t,r)}},K;(function(e){let t=null;async function r(o){return t||(t=(async()=>{let i=o===true||"AWS_LAMBDA_MAX_CONCURRENCY"in process.env?await je.create():new Ye;return !ze&&globalThis.awslambda?.InvokeStore?globalThis.awslambda.InvokeStore:(!ze&&globalThis.awslambda&&(globalThis.awslambda.InvokeStore=i),i)})()),t}e.getInstanceAsync=r,e._testing=process.env.AWS_LAMBDA_BENCHMARK_MODE==="1"?{reset:()=>{t=null,globalThis.awslambda?.InvokeStore&&delete globalThis.awslambda.InvokeStore,globalThis.awslambda={InvokeStore:void 0};}}:void 0;})(K||(K={}));var Ro="AWS_LAMBDA_FUNCTION_NAME",So="_X_AMZN_TRACE_ID",Xe="X-Amzn-Trace-Id",Ke="traceparent",cr="tracestate",dr="baggage",ur=()=>e$1=>async t=>{let{request:r}=t;if(!e.isInstance(r))return e$1(t);let o;{let s=Object.keys(r.headers??{}).find(i=>i.toLowerCase()===Xe.toLowerCase())??Xe;if(!r.headers.hasOwnProperty(s)){let i=process.env[Ro],a=process.env[So];o??=await K.getInstanceAsync();let l=o?.getXRayTraceId()??a,f=g=>typeof g=="string"&&g.length>0;f(i)&&f(l)&&(r.headers[Xe]=l);}}if(Ao(r.headers),!r.headers[Ke]){let i=(o??=await K.getInstanceAsync())?.getTraceparent?.();if(i){r.headers[Ke]=i;let a=o?.getTracestate?.();a&&(r.headers[cr]=a);let u=o?.getBaggage?.();u&&(r.headers[dr]=u);}}return e$1(t)};function Ao(e){for(let t of Object.keys(e)){let r=t.toLowerCase();t!==r&&(r===Ke||r===cr||r===dr)&&(e[r]=e[t],delete e[t]);}}var To=e=>({applyToStack:t=>{t.add(ur(),ar);}});g();g();g();var lr=(e,t)=>{if(!t||t.length===0)return e;let r=[];for(let o of t)for(let s of e)s.schemeId.split("#")[1]===o&&r.push(s);for(let o of e)r.find(({schemeId:s})=>s===o.schemeId)||r.push(o);return r};function xo(e){let t=new Map;for(let r of e)t.set(r.schemeId,r);return t}var Je=(e,t)=>(r,o)=>async s=>{let i=e.httpAuthSchemeProvider(await t.httpAuthSchemeParametersProvider(e,o,s.input)),a=e.authSchemePreference?await e.authSchemePreference():[],u=lr(i,a),l=xo(e.httpAuthSchemes),f=d(o),g=[];for(let p of u){let m=l.get(p.schemeId);if(!m){g.push(`HttpAuthScheme \`${p.schemeId}\` was not enabled for this service.`);continue}let h=m.identityProvider(await t.identityProviderConfigProvider(e));if(!h){g.push(`HttpAuthScheme \`${p.schemeId}\` did not have an IdentityProvider configured.`);continue}let{identityProperties:R={},signingProperties:A={}}=p.propertiesExtractor?.(e,o)||{};p.identityProperties=Object.assign(p.identityProperties||{},R),p.signingProperties=Object.assign(p.signingProperties||{},A),f.selectedHttpAuthScheme={httpAuthOption:p,identity:await h(p.identityProperties),signer:m.signer};break}if(!f.selectedHttpAuthScheme)throw new Error(g.join(`
|
|
3
|
+
`));return r(s)};var Qe={step:"serialize",tags:["HTTP_AUTH_SCHEME"],name:"httpAuthSchemeMiddleware",override:true,relation:"before",toMiddleware:"endpointV2Middleware"},pr=(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:r})=>({applyToStack:o=>{o.addRelativeTo(Je(e,{httpAuthSchemeParametersProvider:t,identityProviderConfigProvider:r}),Qe);}});g();g();g();var yo=e=>t=>{throw t},_o=(e,t)=>{},Ze=e$1=>(t,r)=>async o=>{if(!e.isInstance(o.request))return t(o);let i=d(r).selectedHttpAuthScheme;if(!i)throw new Error("No HttpAuthScheme was selected: unable to sign request");let{httpAuthOption:{signingProperties:a={}},identity:u,signer:l}=i,f=await t({...o,request:await l.sign(o.request,u,a)}).catch((l.errorHandler||yo)(a));return (l.successHandler||_o)(f.response,a),f};var et={step:"finalizeRequest",tags:["HTTP_SIGNING"],name:"httpSigningMiddleware",aliases:["apiKeyMiddleware","tokenMiddleware","awsAuthMiddleware"],override:true,relation:"after",toMiddleware:"retryMiddleware"},fr=e=>({applyToStack:t=>{t.addRelativeTo(Ze(),et);}});g();g();var pe=class{authSchemes=new Map;constructor(t){for(let r in t){let o=t[r];o!==void 0&&this.authSchemes.set(r,o);}}getIdentityProvider(t){return this.authSchemes.get(t)}};g();g();g();var J=class{async sign(t,r,o){return t}};g();var tt=e=>function(r){return rt(r)&&r.expiration.getTime()-Date.now()<e};var mr=tt(3e5),rt=e=>e.expiration!==void 0,hr=(e,t,r)=>{if(e===void 0)return;let o=typeof e!="function"?async()=>Promise.resolve(e):e,s,i,a,u=false,l=async f=>{i||(i=o(f));try{s=await i,a=!0,u=!1;}finally{i=void 0;}return s};return t===void 0?async f=>((!a||f?.forceRefresh)&&(s=await l(f)),s):async f=>((!a||f?.forceRefresh)&&(s=await l(f)),u?s:r(s)?(t(s)&&await l(f),s):(u=true,s))};g();g();var ot=e=>{if(typeof e=="function")return e;let t=Promise.resolve(e);return ()=>t};g();var fe=void 0;function Co(e){return e===void 0?true:typeof e=="string"&&e.length<=50}function Oo(e){let t=ot(e.userAgentAppId??fe),{customUserAgent:r}=e;return Object.assign(e,{customUserAgent:typeof r=="string"?[[r]]:r,userAgentAppId:async()=>{let o=await t();if(!Co(o)){let s=e.logger?.constructor?.name==="NoOpLogger"||!e.logger?console:e.logger;typeof o!="string"?s?.warn("userAgentAppId must be a string or undefined."):o.length>50&&s?.warn("The provided userAgentAppId exceeds the maximum length of 50 characters.");}return o}})}g();g();g();var gr={partitions:[{id:"aws",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",implicitGlobalRegion:"us-east-1",name:"aws",supportsDualStack:true,supportsFIPS:true},regionRegex:"^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$",regions:{"af-south-1":{description:"Africa (Cape Town)"},"ap-east-1":{description:"Asia Pacific (Hong Kong)"},"ap-east-2":{description:"Asia Pacific (Taipei)"},"ap-northeast-1":{description:"Asia Pacific (Tokyo)"},"ap-northeast-2":{description:"Asia Pacific (Seoul)"},"ap-northeast-3":{description:"Asia Pacific (Osaka)"},"ap-south-1":{description:"Asia Pacific (Mumbai)"},"ap-south-2":{description:"Asia Pacific (Hyderabad)"},"ap-southeast-1":{description:"Asia Pacific (Singapore)"},"ap-southeast-2":{description:"Asia Pacific (Sydney)"},"ap-southeast-3":{description:"Asia Pacific (Jakarta)"},"ap-southeast-4":{description:"Asia Pacific (Melbourne)"},"ap-southeast-5":{description:"Asia Pacific (Malaysia)"},"ap-southeast-6":{description:"Asia Pacific (New Zealand)"},"ap-southeast-7":{description:"Asia Pacific (Thailand)"},"aws-global":{description:"aws global region"},"ca-central-1":{description:"Canada (Central)"},"ca-west-1":{description:"Canada West (Calgary)"},"eu-central-1":{description:"Europe (Frankfurt)"},"eu-central-2":{description:"Europe (Zurich)"},"eu-north-1":{description:"Europe (Stockholm)"},"eu-south-1":{description:"Europe (Milan)"},"eu-south-2":{description:"Europe (Spain)"},"eu-west-1":{description:"Europe (Ireland)"},"eu-west-2":{description:"Europe (London)"},"eu-west-3":{description:"Europe (Paris)"},"il-central-1":{description:"Israel (Tel Aviv)"},"me-central-1":{description:"Middle East (UAE)"},"me-south-1":{description:"Middle East (Bahrain)"},"mx-central-1":{description:"Mexico (Central)"},"sa-east-1":{description:"South America (Sao Paulo)"},"us-east-1":{description:"US East (N. Virginia)"},"us-east-2":{description:"US East (Ohio)"},"us-west-1":{description:"US West (N. California)"},"us-west-2":{description:"US West (Oregon)"}}},{id:"aws-cn",outputs:{dnsSuffix:"amazonaws.com.cn",dualStackDnsSuffix:"api.amazonwebservices.com.cn",implicitGlobalRegion:"cn-northwest-1",name:"aws-cn",supportsDualStack:true,supportsFIPS:true},regionRegex:"^cn\\-\\w+\\-\\d+$",regions:{"aws-cn-global":{description:"aws-cn global region"},"cn-north-1":{description:"China (Beijing)"},"cn-northwest-1":{description:"China (Ningxia)"}}},{id:"aws-eusc",outputs:{dnsSuffix:"amazonaws.eu",dualStackDnsSuffix:"api.amazonwebservices.eu",implicitGlobalRegion:"eusc-de-east-1",name:"aws-eusc",supportsDualStack:true,supportsFIPS:true},regionRegex:"^eusc\\-(de)\\-\\w+\\-\\d+$",regions:{"eusc-de-east-1":{description:"AWS European Sovereign Cloud (Germany)"}}},{id:"aws-iso",outputs:{dnsSuffix:"c2s.ic.gov",dualStackDnsSuffix:"api.aws.ic.gov",implicitGlobalRegion:"us-iso-east-1",name:"aws-iso",supportsDualStack:true,supportsFIPS:true},regionRegex:"^us\\-iso\\-\\w+\\-\\d+$",regions:{"aws-iso-global":{description:"aws-iso global region"},"us-iso-east-1":{description:"US ISO East"},"us-iso-west-1":{description:"US ISO WEST"}}},{id:"aws-iso-b",outputs:{dnsSuffix:"sc2s.sgov.gov",dualStackDnsSuffix:"api.aws.scloud",implicitGlobalRegion:"us-isob-east-1",name:"aws-iso-b",supportsDualStack:true,supportsFIPS:true},regionRegex:"^us\\-isob\\-\\w+\\-\\d+$",regions:{"aws-iso-b-global":{description:"aws-iso-b global region"},"us-isob-east-1":{description:"US ISOB East (Ohio)"},"us-isob-west-1":{description:"US ISOB West"}}},{id:"aws-iso-e",outputs:{dnsSuffix:"cloud.adc-e.uk",dualStackDnsSuffix:"api.cloud-aws.adc-e.uk",implicitGlobalRegion:"eu-isoe-west-1",name:"aws-iso-e",supportsDualStack:true,supportsFIPS:true},regionRegex:"^eu\\-isoe\\-\\w+\\-\\d+$",regions:{"aws-iso-e-global":{description:"aws-iso-e global region"},"eu-isoe-west-1":{description:"EU ISOE West"}}},{id:"aws-iso-f",outputs:{dnsSuffix:"csp.hci.ic.gov",dualStackDnsSuffix:"api.aws.hci.ic.gov",implicitGlobalRegion:"us-isof-south-1",name:"aws-iso-f",supportsDualStack:true,supportsFIPS:true},regionRegex:"^us\\-isof\\-\\w+\\-\\d+$",regions:{"aws-iso-f-global":{description:"aws-iso-f global region"},"us-isof-east-1":{description:"US ISOF EAST"},"us-isof-south-1":{description:"US ISOF SOUTH"}}},{id:"aws-us-gov",outputs:{dnsSuffix:"amazonaws.com",dualStackDnsSuffix:"api.aws",implicitGlobalRegion:"us-gov-west-1",name:"aws-us-gov",supportsDualStack:true,supportsFIPS:true},regionRegex:"^us\\-gov\\-\\w+\\-\\d+$",regions:{"aws-us-gov-global":{description:"aws-us-gov global region"},"us-gov-east-1":{description:"AWS GovCloud (US-East)"},"us-gov-west-1":{description:"AWS GovCloud (US-West)"}}}]};var vo=gr,Er=e=>{let{partitions:t}=vo;for(let o of t){let{regions:s,outputs:i}=o;for(let[a,u]of Object.entries(s))if(a===e)return {...i,...u}}for(let o of t){let{regionRegex:s,outputs:i}=o;if(new RegExp(s).test(e))return {...i}}let r=t.find(o=>o.id==="aws");if(!r)throw new Error("Provided region was not found in the partition array or regex, and default partition with id 'aws' doesn't exist.");return {...r.outputs}};g();g();y.v2026||=typeof process=="object"&&process.env?.AWS_NEW_RETRIES_2026==="true";function N(e,t,r){e.__aws_sdk_context?e.__aws_sdk_context.features||(e.__aws_sdk_context.features={}):e.__aws_sdk_context={features:{}},e.__aws_sdk_context.features[t]=r;}var bo=/\d{12}\.ddb/;async function Sr(e,t,r){if(r.request?.headers?.["smithy-protocol"]==="rpc-v2-cbor"&&N(e,"PROTOCOL_RPC_V2_CBOR","M"),typeof t.retryStrategy=="function"){let i=await t.retryStrategy();if(typeof i.mode=="string")switch(i.mode){case w.ADAPTIVE:N(e,"RETRY_MODE_ADAPTIVE","F");break;case w.STANDARD:N(e,"RETRY_MODE_STANDARD","E");break}}if(typeof t.accountIdEndpointMode=="function"){let i=e.endpointV2;switch(String(i?.url?.hostname).match(bo)&&N(e,"ACCOUNT_ID_ENDPOINT","O"),await t.accountIdEndpointMode?.()){case "disabled":N(e,"ACCOUNT_ID_MODE_DISABLED","Q");break;case "preferred":N(e,"ACCOUNT_ID_MODE_PREFERRED","P");break;case "required":N(e,"ACCOUNT_ID_MODE_REQUIRED","R");break}}let s=e.__smithy_context?.selectedHttpAuthScheme?.identity;if(s?.$source){let i=s;i.accountId&&N(e,"RESOLVED_ACCOUNT_ID","T");for(let[a,u]of Object.entries(i.$source??{}))N(e,a,u);}}g();var nt="user-agent",me="x-amz-user-agent";var Ar=/[^!$%&'*+\-.^_`|~\w]/g,Tr=/[^!$%&'*+\-.^_`|~\w#]/g;g();function xr(e){let t="";for(let r in e){let o=e[r];if(t.length+o.length+1<=1024){t.length?t+=","+o:t+=o;continue}break}return t}var wr=e$1=>(t,r)=>async o=>{let{request:s}=o;if(!e.isInstance(s))return t(o);let{headers:i}=s,a=r?.userAgent?.map(he)||[],u=(await e$1.defaultUserAgentProvider()).map(he);await Sr(r,e$1,o);let l=r;u.push(`m/${xr(Object.assign({},r.__smithy_context?.features,l.__aws_sdk_context?.features))}`);let f=e$1?.customUserAgent?.map(he)||[],g=await e$1.userAgentAppId();g&&u.push(he(["app",`${g}`]));let m=([]).concat([...u,...a,...f]).join(" "),h=[...u.filter(R=>R.startsWith("aws-sdk-")),...f].join(" ");return e$1.runtime!=="browser"?(h&&(i[me]=i[me]?`${i[nt]} ${h}`:h),i[nt]=m):i[me]=m,t({...o,request:s})},he=e=>{let t=e[0].split("/").map(a=>a.replace(Ar,"-")).join("/"),r=e[1]?.replace(Tr,"-"),o=t.indexOf("/"),s=t.substring(0,o),i=t.substring(o+1);return s==="api"&&(i=i.toLowerCase()),[s,i,r].filter(a=>a&&a.length>0).reduce((a,u,l)=>{switch(l){case 0:return u;case 1:return `${a}/${u}`;default:return `${a}#${u}`}},"")},Ir={name:"getUserAgentMiddleware",step:"build",priority:"low",tags:["SET_USER_AGENT","USER_AGENT"],override:true},Do=e=>({applyToStack:t=>{t.add(wr(e),Ir);}});g();g();var ge={warningEmitted:false},Mo=e=>{if(e&&!ge.warningEmitted){if(process.env.AWS_SDK_JS_NODE_VERSION_SUPPORT_WARNING_DISABLED==="true"){ge.warningEmitted=true;return}let t=parseInt(e.substring(1,e.indexOf("."))),r=22;t<r&&(ge.warningEmitted=true,process.emitWarning(`NodeVersionSupportWarning: The AWS SDK for JavaScript (v3)
|
|
4
|
+
versions published after the first week of January 2027
|
|
5
|
+
will require node >=${r}. You are running node ${e}.
|
|
6
|
+
|
|
7
|
+
To continue receiving updates to AWS services, bug fixes,
|
|
8
|
+
and security updates please upgrade to node >=${r}.
|
|
9
|
+
|
|
10
|
+
More information can be found at: https://a.co/c895JFp`));}};g();g();var Nr=()=>{let e=["deno","bun","llrt"];for(let t of e)if(versions[t])return [`md/${t}`,versions[t]];return ["md/nodejs",versions.node]};g();g();var Fo=({serviceId:e,clientVersion:t})=>{let r=Nr();return async o=>{let s=[["aws-sdk-js",t],["ua","2.1"],[`os/${platform()}`,release()],["lang/js"],r];e&&s.push([`api/${e}`,t]),env.AWS_EXECUTION_ENV&&s.push([`exec-env/${env.AWS_EXECUTION_ENV}`]);let a=await o?.userAgentAppId?.();return a?[...s,[`app/${a}`]]:[...s]}};g();var vr="AWS_SDK_UA_APP_ID",Pr="sdk_ua_app_id",Lo="sdk-ua-app-id",$o={environmentVariableSelector:e=>e[vr],configFileSelector:e=>e[Pr]??e[Lo],default:fe};g();g();g();var ct=(e,t=false)=>{if(t){for(let r of e.split("."))if(!ct(r))return false;return true}return !(!g$1(e)||e.length<3||e.length>63||e!==e.toLowerCase()||G(e))};g();var br=e=>{let t=e.split(":");if(t.length<6)return null;let[r,o,s,i,a,...u]=t;if(r!=="arn"||o===""||s===""||u.join(":")==="")return null;let l=u.map(f=>f.split("/")).flat();return {partition:o,service:s,region:i,accountId:a,resourceId:l}};var Dr={isVirtualHostableS3Bucket:ct,parseArn:br,partition:Er};Y.aws=Dr;g();function Ho(e={}){return C({...F,async default(){return console.warn("@aws-sdk - WARN - default STS region of us-east-1 used. See @aws-sdk/credential-providers README and set a region explicitly."),"us-east-1"}},{...G$1,...e})}g();var Go=e=>({setRegion(t){e.region=t;},region(){return e.region}}),Bo=e=>({region:e.region()});
|
|
11
|
+
export{N as A,go as B,Eo as C,To as D,pr as E,et as F,fr as G,ot as H,pe as I,J,mr as K,rt as L,hr as M,Oo as N,Do as O,Fo as P,$o as Q,Dr as R,Ho as S,Go as T,Bo as U,Mo as a,Br as b,Ae as c,$ as d,kr as e,ye as f,Ur as g,Fr as h,Lr as i,$r as j,Hr as k,_t as l,q as m,Gr as n,bt as o,we as p,Ie as q,Y as r,Zr as s,Ma as t,Ua as u,Ge as v,so as w,ao as x,co as y,Qc as z};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkDUO523BH_cjs=require('./chunk-DUO523BH.cjs'),chunkZOVH6QT5_cjs=require('./chunk-ZOVH6QT5.cjs'),chunk7WMMKGEO_cjs=require('./chunk-7WMMKGEO.cjs'),chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs'),crypto=require('crypto');chunkBUNLC3II_cjs.h();var B={COLLECTION_CREATE:"collection.create",COLLECTION_UPDATE:"collection.update",COLLECTION_DELETE:"collection.delete",MEDIA_UPLOAD:"media.upload",MEDIA_DELETE:"media.delete",AUTH_LOGIN:"auth.login",AUTH_REGISTER:"auth.register",AUTH_LOGOUT:"auth.logout",ORDER_CREATED:"order.created",ORDER_PAID:"order.paid",ORDER_SHIPPED:"order.shipped",ORDER_DELIVERED:"order.delivered"},M=Object.values(B);var b="_webhooks",D="_webhook_deliveries";chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();async function _(o,t,s,e={}){let r=e.timeout||3e4,i=Date.now(),u=new AbortController,c=setTimeout(()=>u.abort(),r);try{let a=await fetch(o,{method:"POST",headers:t,body:s,signal:u.signal});clearTimeout(c);let n=Date.now()-i,l;try{l=(await a.text()).slice(0,1e3);}catch{}let d={success:a.ok,status:a.status,statusText:a.statusText,body:l,duration:n};return d.success&&e.onSuccess?e.onSuccess(d):!d.success&&e.onFailure&&e.onFailure(`HTTP ${a.status}: ${a.statusText}`),d}catch(a){clearTimeout(c);let n=Date.now()-i,l=a.name==="AbortError"?`Request timed out after ${r}ms`:a.message||"Unknown error";return e.onFailure&&e.onFailure(l),{success:false,status:0,duration:n,error:l}}}async function L(o,t,s={}){let e=JSON.stringify(t),r={"Content-Type":"application/json","User-Agent":"Kyro-CMS-Webhook/1.0","X-Webhook-Event":t.event,"X-Webhook-Delivery":t.id,"X-Webhook-Timestamp":t.timestamp,...o.headers||{}};return o.secret&&(r["X-Webhook-Signature"]=C(e,o.secret)),_(o.url,r,e,s)}chunkBUNLC3II_cjs.h();async function $(o,t,s={}){let e=o.config||{},r=process.env.GITHUB_TOKEN;if(!r)return {success:false,status:0,duration:0,error:"GITHUB_TOKEN environment variable is not set"};if(!e.githubOwner||!e.githubRepo)return {success:false,status:0,duration:0,error:"GitHub owner and repo are required"};let i=e.githubBranch||"main",u=Date.now(),c=async(a,n,l)=>{let d=await fetch(a,{method:n,headers:{"Content-Type":"application/json",Accept:"application/vnd.github+json",Authorization:`Bearer ${r}`,"X-GitHub-Api-Version":"2022-11-28","User-Agent":"Kyro-CMS-Webhook/1.0"},body:l?JSON.stringify(l):void 0});if(!d.ok){let y=await d.text();throw new Error(`GitHub API HTTP ${d.status}: ${y}`)}return d.json()};try{let a=`https://api.github.com/repos/${e.githubOwner}/${e.githubRepo}/git/refs/heads/${i}`,l=(await c(a,"GET")).object.sha,d=`https://api.github.com/repos/${e.githubOwner}/${e.githubRepo}/git/commits/${l}`,f=(await c(d,"GET")).tree.sha,p=`https://api.github.com/repos/${e.githubOwner}/${e.githubRepo}/git/commits`,m=(await c(p,"POST",{message:`Content updated via Kyro CMS (${t.event})`,tree:f,parents:[l]})).sha;return await c(a,"PATCH",{sha:m,force:!1}),{success:!0,status:201,duration:Date.now()-u,body:`Successfully pushed empty commit ${m} to branch ${i}`}}catch(a){return {success:false,status:0,duration:Date.now()-u,error:a.message||"Failed to push empty commit to GitHub"}}}var j={generic:L,"github-push":$};function P(o){return j[o||"generic"]||j.generic}function C(o,t){return `sha256=${crypto.createHmac("sha256",t).update(o).digest("hex")}`}function S(){return crypto.randomBytes(32).toString("hex")}async function K(o,t,s={}){return P(o.action)(o,t,s)}async function x(o,t,s,e={}){let r=e.maxRetries??5,i=e.retryDelay??1e3,u=null;for(let c=0;c<=r;c++){if(c>0){let a=Math.min(i*Math.pow(2,c-1),3e4);e.onRetry&&e.onRetry(c,`Retrying in ${a}ms...`),await V(a);}if(e.onRetry&&c>0&&e.onRetry(c,`Attempt ${c+1}/${r+1}`),u=await K(o,t,{...e,onRetry:void 0,onSuccess:void 0,onFailure:void 0}),u.success)return u;if(!(u.error?.includes("timed out")&&c<r)&&u.status>=400&&u.status<500)return u}return u||{success:false,status:0,duration:0,error:"All delivery attempts failed"}}function I(o,t,s,e,r,i){return {id:o,webhookId:t,event:s,payload:e,attempt:r,status:i.success?"success":"failed",responseStatus:i.status||void 0,responseBody:i.body,duration:i.duration,error:i.error,createdAt:new Date().toISOString(),deliveredAt:i.success?new Date().toISOString():void 0}}function V(o){return new Promise(t=>setTimeout(t,o))}function F(){return {id:`test_${Date.now()}`,event:"collection.create",timestamp:new Date().toISOString(),collection:"test",operation:"create",data:{message:"This is a test webhook delivery"},user:{id:"system",email:"system@kyro.dev",role:"super_admin"}}}chunkBUNLC3II_cjs.h();function U(o){let t=new Set,s=[];for(let e of o){let r=e==="create"||e==="update"||e==="delete"?`collection.${e}`:e;t.has(r)||(t.add(r),s.push(r));}return s}var T=class{db;constructor(t){this.db=t;}async getWebhooks(t){let e=(await this.db.find({collection:b,where:t?.status?{status:{equals:t.status}}:{},limit:100,page:1,draft:true})).docs;return t?.event?e.filter(r=>r.events.includes(t.event)):e}async getWebhookById(t){return this.db.findByID({collection:b,id:t,draft:true})}async createWebhook(t){let s=new Date().toISOString(),e=t.secret||S(),r={id:crypto.randomUUID(),name:t.name,url:t.url,events:U(t.events),collections:t.collections||[],status:t.status||"active",secret:e,headers:t.headers||{},action:t.action||"generic",config:t.config||{},createdAt:s,updatedAt:s};return await this.db.create({collection:b,data:r}),r}async updateWebhook(t,s){let e=await this.getWebhookById(t);if(!e)return null;let r={...e,...s,events:s.events?U(s.events):e.events,collections:s.collections!==void 0?s.collections:e.collections,action:s.action!==void 0?s.action:e.action,config:s.config!==void 0?{...e.config,...s.config}:e.config,updatedAt:new Date().toISOString()};return s.secret===""&&"secret"in s&&delete r.secret,await this.db.update({collection:b,id:t,data:r}),r}async deleteWebhook(t){await this.db.delete({collection:b,id:t});}async trigger(t,s){let e=await this.getWebhooks({status:"active",event:t}),r=s.collection,i=e.filter(a=>!a.collections||a.collections.length===0||!r?true:a.collections.includes(r));if(i.length===0)return [];let u={id:crypto.randomUUID(),event:t,timestamp:new Date().toISOString(),...s},c=[];for(let a of i){let n=await this.triggerWebhook(a,u);c.push(n);}return c}async triggerWebhook(t,s){let e=crypto.randomUUID();try{let r=await x(t,s,e,{maxRetries:5,retryDelay:1e3}),i=I(e,t.id,t.events[0],s,1,r);try{await this.db.create({collection:D,data:i});}catch{console.warn("[WebhookService] Failed to save delivery record:",e);}return r.success?await this.updateWebhook(t.id,{lastTriggered:new Date().toISOString(),lastError:null}).catch(()=>{}):await this.updateWebhook(t.id,{lastError:r.error||`HTTP ${r.status}`}).catch(()=>{}),{deliveryId:e,webhookId:t.id,event:t.events[0],status:r.success?"success":"failed",responseStatus:r.status,duration:r.duration,error:r.error}}catch(r){return {deliveryId:e,webhookId:t.id,event:t.events[0],status:"failed",error:r.message}}}async testWebhook(t){let s=await this.getWebhookById(t);if(!s)return null;let e={id:crypto.randomUUID(),event:s.events[0]||"collection.create",timestamp:new Date().toISOString(),collection:"test",operation:"create",data:{message:"This is a test webhook delivery from Kyro CMS"},user:{id:"system",email:"system@kyro.dev",role:"super_admin"}};return this.triggerWebhook(s,e)}async getDeliveryHistory(t,s=50){return (await this.db.find({collection:D,where:{webhookId:{equals:t}},sort:"-createdAt",limit:s,page:1})).docs}async retryDelivery(t){let s=await this.db.findByID({collection:D,id:t});if(!s)return null;let e=await this.getWebhookById(s.webhookId);return e?this.triggerWebhook(e,s.payload):null}};function z(o){return new T(o)}chunkBUNLC3II_cjs.h();chunkBUNLC3II_cjs.h();function X(o){if(!o)return [];if(typeof o=="string")return [{id:o}];if(Array.isArray(o))return o.map(t=>typeof t=="object"?{id:t.value??t.id??t,relationTo:t.relationTo}:{id:t});if(typeof o=="object"){let t=o.value??o.id??o;if(typeof t=="string")return [{id:t,relationTo:o.relationTo}];if(Array.isArray(t))return t.map(s=>({id:s,relationTo:o.relationTo}))}return []}function k(o,t,s){if(!(!o||typeof o!="object")){for(let e of t)if(!(!e.name&&e.type!=="row"&&e.type!=="collapsible"&&e.type!=="tabs")){if(e.type==="relationship"||e.type==="upload")s(e,o);else if(e.type==="group"||e.type==="collapsible"||e.type==="row"){let r=e.name?o[e.name]:o;k(r,e.fields||[],s);}else if(e.type==="tabs"&&e.tabs){let r=e.name?o[e.name]:o;for(let i of e.tabs)k(r,i.fields||[],s);}else if(e.type==="array"&&e.name&&Array.isArray(o[e.name]))for(let r of o[e.name])k(r,e.fields||[],s);else if(e.type==="blocks"&&e.name&&Array.isArray(o[e.name]))for(let r of o[e.name]){if(!r||typeof r!="object")continue;let i=r.type||r.blockType;if(!i)continue;let u=e.blocks?.find(c=>c.slug===i);if(u&&Array.isArray(u.fields)){let c=r.data&&typeof r.data=="object"?r.data:r;k(c,u.fields,s);}}}}}function Y(o,t,s){k(o,t,(e,r)=>{let i=r[e.name];if(!i)return;let u=Array.isArray(e.relationTo)?e.relationTo:[e.relationTo],c=X(i);for(let a of c){if(!a.id)continue;let n=a.relationTo?[a.relationTo]:u;for(let l of n)l!=="*"&&(s.has(l)||s.set(l,new Set),s.get(l).add(a.id));}});}function J(o,t,s){k(o,t,(e,r)=>{let i=r[e.name];if(!i)return;let u=Array.isArray(e.relationTo)?e.relationTo:[e.relationTo],c=n=>{r[e.name]=n;},a=(n,l)=>{let d=l?[l]:u;for(let y of d){let f=s.get(y);if(f&&f.has(n))return f.get(n)}return null};if(typeof i=="string"){let n=a(i);c(n||{id:i});}else if(Array.isArray(i))c(i.map(n=>{let l=typeof n=="object"?n.value??n.id:n,d=typeof n=="object"?n.relationTo:void 0,y=a(l,d);return y||{id:l}}));else if(typeof i=="object"){let n=i.value??i.id,l=i.relationTo,d=a(n,l);c(d||{id:n});}});}async function Q(o,t,s,e,r=1,i=0){if(!o||o.length===0||r>i)return;let u=new Map;for(let n of o)Y(n,t,u);if(u.size===0)return;let c=new Map,a=new Map;for(let[n,l]of u.entries()){if(l.size===0||!e.getCollection(n))continue;let y=new Map,f=Array.from(l),p=[];for(let O of f){try{let W=(await s.find({collection:n,where:{id:{in:f}},limit:f.length,draft:!0}))?.docs||[];for(let v of W)v&&v.id&&(y.set(String(v.id),v),p.push(v));}catch{for(let m of f)try{let W=await s.findByID({collection:n,id:m,draft:!0});W&&(y.set(m,W),p.push(W));}catch{}}break}c.set(n,y),p.length>0&&a.set(n,p);}if(r<i)for(let[n,l]of a.entries()){let d=e.getCollection(n);d&&await Q(l,d.fields,s,e,r+1,i);}for(let n=0;n<o.length;n++)J(o[n],t,c),o[n]=chunkZOVH6QT5_cjs.a(o[n]);}chunkBUNLC3II_cjs.h();function N(o){return o==="read"?"read":o==="create"?"create":o==="update"?"update":"delete"}function Z(o,t){return {none:false,read:o==="read",create:o==="read"||o==="create",update:o==="read"||o==="create"||o==="update",delete:o==="read"||o==="create"||o==="update"||o==="delete",admin:true}[t]||false}async function _e(o,t,s,e={}){let{user:r,req:i,tenantId:u,apiKey:c}=s,{enablePublicAccess:a=true,defaultAccess:n="none"}=e,l=o.access?.[t];if(l){let y=await chunkDUO523BH_cjs.a(l,{req:i,user:r,tenantId:u});return y===false?{allowed:false,error:"Access denied",status:403}:typeof y=="object"?{allowed:true,extraWhere:y}:{allowed:true}}if(c?.permissions?.length>0){let y=o.slug,f=N(t),p=`${y}:${f}`;return !chunkDUO523BH_cjs.h(c.permissions,p)&&!chunkDUO523BH_cjs.h(c.permissions,`${y}:admin`)?{allowed:false,error:"Access denied: insufficient permissions",status:403}:{allowed:true}}if(r){let y=o.slug,f=N(t),p=`${y}:${f}`,O=chunk7WMMKGEO_cjs.a({id:r.id,email:r.email,role:r.role},p),m=chunk7WMMKGEO_cjs.a({id:r.id,email:r.email,role:r.role},`${y}:admin`);return O||m?{allowed:true}:{allowed:false,error:"Access denied: missing RBAC permission",status:403}}let d=Z(t,n);return a&&d?{allowed:true}:{allowed:false,error:"Authentication required",status:401}}async function Le(o,t,s,e={}){let{user:r,req:i,tenantId:u}=s,{enablePublicAccess:c=true}=e,a=o.access?.[t];if(a)return await chunkDUO523BH_cjs.a(a,{req:i,user:r,tenantId:u})===false?{allowed:false,error:"Access denied",status:403}:{allowed:true};if(r){let n=`globals:${t}`,l=chunk7WMMKGEO_cjs.a({id:r.id,email:r.email,role:r.role},n),d=chunk7WMMKGEO_cjs.a({id:r.id,email:r.email,role:r.role},"globals:admin");return l||d?{allowed:true}:{allowed:false,error:"Access denied: missing RBAC permission",status:403}}return c?{allowed:true}:{allowed:false,error:"Authentication required",status:401}}
|
|
2
|
+
exports.a=Q;exports.b=_e;exports.c=Le;exports.d=B;exports.e=M;exports.f=b;exports.g=D;exports.h=C;exports.i=S;exports.j=K;exports.k=x;exports.l=I;exports.m=F;exports.n=T;exports.o=z;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs');chunkBUNLC3II_cjs.h();
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import {createRequire}from'module';import {c}from'./chunk-ICVQWR2A.js';import {t,s,e,c as c$1}from'./chunk-OSAVAYJZ.js';import {g}from'./chunk-C2PXMVR5.js';import {Readable}from'stream';createRequire(import.meta.url);
|
|
2
|
+
g();g();g();g();var k=class n{bytes;constructor(e){if(this.bytes=e,e.byteLength!==8)throw new Error("Int64 buffers must be exactly 8 bytes")}static fromNumber(e){if(e>9223372036854776e3||e<-9223372036854776e3)throw new Error(`${e} is too large (or, if negative, too small) to represent as an Int64`);let t=new Uint8Array(8);for(let r=7,s=Math.abs(Math.round(e));r>-1&&s>0;r--,s/=256)t[r]=s;return e<0&&R(t),new n(t)}valueOf(){let e=this.bytes.slice(0),t$1=e[0]&128;return t$1&&R(e),parseInt(t(e),16)*(t$1?-1:1)}toString(){return String(this.valueOf())}};function R(n){for(let e=0;e<8;e++)n[e]^=255;for(let e=7;e>-1&&(n[e]++,n[e]===0);e--);}var z=class{toUtf8;fromUtf8;constructor(e,t){this.toUtf8=e,this.fromUtf8=t;}format(e){let t=[];for(let a of Object.keys(e)){let c=this.fromUtf8(a);t.push(Uint8Array.from([c.byteLength]),c,this.formatHeaderValue(e[a]));}let r=new Uint8Array(t.reduce((a,c)=>a+c.byteLength,0)),s=0;for(let a of t)r.set(a,s),s+=a.byteLength;return r}formatHeaderValue(e){switch(e.type){case "boolean":return Uint8Array.from([e.value?y.boolTrue:y.boolFalse]);case "byte":return Uint8Array.from([y.byte,e.value]);case "short":let t=new DataView(new ArrayBuffer(3));return t.setUint8(0,y.short),t.setInt16(1,e.value,false),new Uint8Array(t.buffer);case "integer":let r=new DataView(new ArrayBuffer(5));return r.setUint8(0,y.integer),r.setInt32(1,e.value,false),new Uint8Array(r.buffer);case "long":let s$1=new Uint8Array(9);return s$1[0]=y.long,s$1.set(e.value.bytes,1),s$1;case "binary":let a=new DataView(new ArrayBuffer(3+e.value.byteLength));a.setUint8(0,y.byteArray),a.setUint16(1,e.value.byteLength,false);let c=new Uint8Array(a.buffer);return c.set(e.value,3),c;case "string":let o=this.fromUtf8(e.value),f=new DataView(new ArrayBuffer(3+o.byteLength));f.setUint8(0,y.string),f.setUint16(1,o.byteLength,false);let w=new Uint8Array(f.buffer);return w.set(o,3),w;case "timestamp":let g=new Uint8Array(9);return g[0]=y.timestamp,g.set(k.fromNumber(e.value.valueOf()).bytes,1),g;case "uuid":if(!se.test(e.value))throw new Error(`Invalid UUID received: ${e.value}`);let l=new Uint8Array(17);return l[0]=y.uuid,l.set(s(e.value.replace(/-/g,"")),1),l}}parse(e){let t$1={},r=0;for(;r<e.byteLength;){let s=e.getUint8(r++),a=this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+r,s));switch(r+=s,e.getUint8(r++)){case y.boolTrue:t$1[a]={type:X,value:true};break;case y.boolFalse:t$1[a]={type:X,value:false};break;case y.byte:t$1[a]={type:V,value:e.getInt8(r++)};break;case y.short:t$1[a]={type:E,value:e.getInt16(r,false)},r+=2;break;case y.integer:t$1[a]={type:_,value:e.getInt32(r,false)},r+=4;break;case y.long:t$1[a]={type:Y,value:new k(new Uint8Array(e.buffer,e.byteOffset+r,8))},r+=8;break;case y.byteArray:let c=e.getUint16(r,false);r+=2,t$1[a]={type:ee,value:new Uint8Array(e.buffer,e.byteOffset+r,c)},r+=c;break;case y.string:let o=e.getUint16(r,false);r+=2,t$1[a]={type:te,value:this.toUtf8(new Uint8Array(e.buffer,e.byteOffset+r,o))},r+=o;break;case y.timestamp:t$1[a]={type:re,value:new Date(new k(new Uint8Array(e.buffer,e.byteOffset+r,8)).valueOf())},r+=8;break;case y.uuid:let f=new Uint8Array(e.buffer,e.byteOffset+r,16);r+=16,t$1[a]={type:ne,value:`${t(f.subarray(0,4))}-${t(f.subarray(4,6))}-${t(f.subarray(6,8))}-${t(f.subarray(8,10))}-${t(f.subarray(10))}`};break;default:throw new Error("Unrecognized header type tag")}}return t$1}},y;(function(n){n[n.boolTrue=0]="boolTrue",n[n.boolFalse=1]="boolFalse",n[n.byte=2]="byte",n[n.short=3]="short",n[n.integer=4]="integer",n[n.long=5]="long",n[n.byteArray=6]="byteArray",n[n.string=7]="string",n[n.timestamp=8]="timestamp",n[n.uuid=9]="uuid";})(y||(y={}));var X="boolean",V="byte",E="short",_="integer",Y="long",ee="binary",te="string",re="timestamp",ne="uuid",se=/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/;g();var Z=4,M=Z*2,B=4,ae=M+B*2;function H({byteLength:n,byteOffset:e,buffer:t}){if(n<ae)throw new Error("Provided message too short to accommodate event stream message overhead");let r=new DataView(t,e,n),s=r.getUint32(0,false);if(n!==s)throw new Error("Reported message length does not match received message length");let a=r.getUint32(Z,false),c$1=r.getUint32(M,false),o=r.getUint32(n-B,false),f=new c;if(f.update(new Uint8Array(t,e,M)),c$1!==f.digestSync())throw new Error(`The prelude checksum specified in the message (${c$1}) does not match the calculated CRC32 checksum (${f.digestSync()})`);if(f.update(new Uint8Array(t,e+M,n-(M+B))),o!==f.digestSync())throw new Error(`The message checksum (${f.digestSync()}) did not match the expected value of ${o}`);return {headers:new DataView(t,e+M+B,a),body:new Uint8Array(t,e+M+B+a,s-a-(M+B+B))}}var O=class{headerMarshaller;messageBuffer;isEndOfStream;constructor(e,t){this.headerMarshaller=new z(e,t),this.messageBuffer=[],this.isEndOfStream=false;}feed(e){this.messageBuffer.push(this.decode(e));}endOfStream(){this.isEndOfStream=true;}getMessage(){let e=this.messageBuffer.pop(),t=this.isEndOfStream;return {getMessage(){return e},isEndOfStream(){return t}}}getAvailableMessages(){let e=this.messageBuffer;this.messageBuffer=[];let t=this.isEndOfStream;return {getMessages(){return e},isEndOfStream(){return t}}}encode({headers:e,body:t}){let r=this.headerMarshaller.format(e),s=r.byteLength+t.byteLength+16,a=new Uint8Array(s),c$1=new DataView(a.buffer,a.byteOffset,a.byteLength),o=new c;return c$1.setUint32(0,s,false),c$1.setUint32(4,r.byteLength,false),o.update(a.subarray(0,8)),c$1.setUint32(8,o.digestSync(),false),a.set(r,12),a.set(t,r.byteLength+12),o.update(a.subarray(8,s-4)),c$1.setUint32(s-4,o.digestSync(),false),a}decode(e){let{headers:t,body:r}=H(e);return {headers:this.headerMarshaller.parse(t),body:r}}formatHeaders(e){return this.headerMarshaller.format(e)}};g();var N=class{options;constructor(e){this.options=e;}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.inputStream)yield this.options.decoder.decode(e);}};g();var G=class{options;constructor(e){this.options=e;}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.messageStream)yield this.options.encoder.encode(e);this.options.includeEndFrame&&(yield new Uint8Array(0));}};g();var $=class{options;constructor(e){this.options=e;}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.messageStream){let t=await this.options.deserializer(e);t!==void 0&&(yield t);}}};g();var A=class{options;constructor(e){this.options=e;}[Symbol.asyncIterator](){return this.asyncIterator()}async*asyncIterator(){for await(let e of this.options.inputStream)yield this.options.serializer(e);}};g();g();g();function K(n){let e=0,t=0,r=null,s=null,a=o=>{if(typeof o!="number")throw new Error("Attempted to allocate an event message where size was not a number: "+o);e=o,t=4,r=new Uint8Array(o),new DataView(r.buffer).setUint32(0,o,false);},c=async function*(){let o=n[Symbol.asyncIterator]();for(;;){let{value:f,done:w}=await o.next();if(w){if(e)if(e===t)yield r;else throw new Error("Truncated event message received.");else return;return}let g=f.length,l=0;for(;l<g;){if(!r){let m=g-l;s||(s=new Uint8Array(4));let d=Math.min(4-t,m);if(s.set(f.slice(l,l+d),t),t+=d,l+=d,t<4)break;a(new DataView(s.buffer).getUint32(0,false)),s=null;}let u=Math.min(e-t,g-l);r.set(f.slice(l,l+u),t),t+=u,l+=u,e&&e===t&&(yield r,r=null,e=0,t=0);}}};return {[Symbol.asyncIterator]:c}}g();function oe(n,e){let t=F(e.deserializer,e.toUtf8);return {[Symbol.asyncIterator]:async function*(){for await(let r of n){let s=e.eventStreamCodec.decode(r),a=await t(s);a!==void 0&&(yield a);}}}}function F(n,e){return async function(t){let{value:r}=t.headers[":message-type"];if(r==="error"){let s=new Error(t.headers[":error-message"].value||"UnknownError");throw s.name=t.headers[":error-code"].value,s}else if(r==="exception"){let s=t.headers[":exception-type"].value,a={[s]:t},c=await n(a);if(c.$unknown){let o=new Error(e(t.body));throw o.name=s,o}throw c[s]}else if(r==="event"){let s={[t.headers[":event-type"].value]:t},a=await n(s);return a.$unknown?void 0:a}else throw Error(`Unrecognizable event type: ${t.headers[":event-type"].value}`)}}var C=class{eventStreamCodec;utfEncoder;constructor({utf8Encoder:e,utf8Decoder:t}){this.eventStreamCodec=new O(e,t),this.utfEncoder=e;}deserialize(e,t){let r=K(e);return new $({messageStream:new N({inputStream:r,decoder:this.eventStreamCodec}),deserializer:F(t,this.utfEncoder)})}serialize(e,t){return new G({messageStream:new A({inputStream:e,serializer:t}),encoder:this.eventStreamCodec,includeEndFrame:true})}},ie=n=>new C(n);var j=class{universalMarshaller;constructor({utf8Encoder:e,utf8Decoder:t}){this.universalMarshaller=new C({utf8Decoder:t,utf8Encoder:e});}deserialize(e,t){let r=typeof e[Symbol.asyncIterator]=="function"?e:fe(e);return this.universalMarshaller.deserialize(r,t)}serialize(e,t){return Readable.from(this.universalMarshaller.serialize(e,t))}},le=n=>new j(n);async function*fe(n){let e=false,t=false,r=new Array;for(n.on("error",s=>{if(e||(e=true),s)throw s}),n.on("data",s=>{r.push(s);}),n.on("end",()=>{e=true;});!t;){let s=await new Promise(a=>setTimeout(()=>a(r.shift()),0));s&&(yield s),t=e&&r.length===0;}}g();var ue=n=>({[Symbol.asyncIterator]:async function*(){let e=n.getReader();try{for(;;){let{done:t,value:r}=await e.read();if(t)return;yield r;}}finally{e.releaseLock();}}}),me=n=>{let e=n[Symbol.asyncIterator]();return new ReadableStream({async pull(t){let{done:r,value:s}=await e.next();if(r)return t.close();t.enqueue(s);}})};g();var ye=n=>Object.assign(n,{eventStreamMarshaller:n.eventStreamSerdeProvider(n)});g();var q=class{marshaller;serializer;deserializer;serdeContext;defaultContentType;constructor({marshaller:e,serializer:t,deserializer:r,serdeContext:s,defaultContentType:a}){this.marshaller=e,this.serializer=t,this.deserializer=r,this.serdeContext=s,this.defaultContentType=a;}async serializeEventStream({eventStream:e,requestSchema:t,initialRequest:r}){let s=this.marshaller,a=t.getEventStreamMember(),c=t.getMemberSchema(a),o=this.serializer,f=this.defaultContentType,w=Symbol("initialRequestMarker"),g={async*[Symbol.asyncIterator](){if(r){let l={":event-type":{type:"string",value:"initial-request"},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:f}};o.write(t,r);let u=o.flush();yield {[w]:true,headers:l,body:u};}for await(let l of e)yield l;}};return s.serialize(g,l=>{if(l[w])return {headers:l.headers,body:l.body};let u="";for(let h in l)if(h!=="__type"){u=h;break}let{additionalHeaders:m,body:d,eventType:S,explicitPayloadContentType:v}=this.writeEventBody(u,c,l);return {headers:{":event-type":{type:"string",value:S},":message-type":{type:"string",value:"event"},":content-type":{type:"string",value:v??f},...m},body:d}})}async deserializeEventStream({response:e$1,responseSchema:t,initialResponseContainer:r}){let s=this.marshaller,a=t.getEventStreamMember(),o=t.getMemberSchema(a).getMemberSchemas(),f=Symbol("initialResponseMarker"),w=s.deserialize(e$1.body,async u=>{let m="";for(let S in u)if(S!=="__type"){m=S;break}let d=u[m].body;if(m==="initial-response"){let S=await this.deserializer.read(t,d);return delete S[a],{[f]:true,...S}}else if(m in o){let S=o[m];if(S.isStructSchema()){let v={},U=false;for(let[h,T]of S.structIterator()){let{eventHeader:P,eventPayload:W}=T.getMergedTraits();if(U=U||!!(P||W),W)T.isBlobSchema()?v[h]=d:T.isStringSchema()?v[h]=(this.serdeContext?.utf8Encoder??e)(d):T.isStructSchema()&&(v[h]=await this.deserializer.read(T,d));else if(P){let I=u[m].headers[h]?.value;I!=null&&(T.isNumericSchema()?I&&typeof I=="object"&&"bytes"in I?v[h]=BigInt(I.toString()):v[h]=Number(I):v[h]=I);}}if(U)return {[m]:v};if(d.byteLength===0)return {[m]:{}}}return {[m]:await this.deserializer.read(S,d)}}else return {$unknown:u}}),g=w[Symbol.asyncIterator](),l=await g.next();if(l.done)return w;if(l.value?.[f]){if(!t)throw new Error("@smithy::core/protocols - initial-response event encountered in event stream but no response schema given.");for(let u in l.value)r[u]=l.value[u];}return {async*[Symbol.asyncIterator](){for(l?.value?.[f]||(yield l.value);;){let{done:u,value:m}=await g.next();if(u)break;yield m;}}}}writeEventBody(e,t,r){let s=this.serializer,a=e,c=null,o,f=t.getSchema()[4].includes(e),w={};if(f){let u=t.getMemberSchema(e);if(u.isStructSchema()){for(let[m,d]of u.structIterator()){let{eventHeader:S,eventPayload:v}=d.getMergedTraits();if(v)c=m;else if(S){let U=r[e][m],h="binary";d.isNumericSchema()?(-2)**31<=U&&U<=2**31-1?h="integer":h="long":d.isTimestampSchema()?h="timestamp":d.isStringSchema()?h="string":d.isBooleanSchema()&&(h="boolean"),U!=null&&(w[m]={type:h,value:U},delete r[e][m]);}}if(c!==null){let m=u.getMemberSchema(c);m.isBlobSchema()?o="application/octet-stream":m.isStringSchema()&&(o="text/plain"),s.write(m,r[e][c]);}else s.write(u,r[e]);}else if(u.isUnitSchema())s.write(u,{});else throw new Error("@smithy/core/event-streams - non-struct member not supported in event stream union.")}else {let[u,m]=r[e];a=u,s.write(15,m);}let g=s.flush()??new Uint8Array;return {body:typeof g=="string"?(this.serdeContext?.utf8Decoder??c$1)(g):g,eventType:a,explicitPayloadContentType:o,additionalHeaders:w}}};export{k as a,z as b,O as c,N as d,G as e,$ as f,A as g,K as h,oe as i,F as j,C as k,ie as l,j as m,le as n,ue as o,me as p,ye as q,q as r};
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
'use strict';var chunk7JWQ2PZP_cjs=require('./chunk-7JWQ2PZP.cjs'),chunkBCEE4NBZ_cjs=require('./chunk-BCEE4NBZ.cjs'),chunkVRZC4TTF_cjs=require('./chunk-VRZC4TTF.cjs'),chunkHTYVI2HK_cjs=require('./chunk-HTYVI2HK.cjs'),chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs'),crypto$1=require('crypto');chunkBUNLC3II_cjs.h();var R=chunkBUNLC3II_cjs.e(chunkHTYVI2HK_cjs.a(),1);var S=false,_=class{db;prefix;sessionTTL;refreshTokenTTL;constructor(e){this.db=e.db,this.prefix=e.prefix||"kyro:",this.sessionTTL=e.sessionTTL||86400,this.refreshTokenTTL=e.refreshTokenTTL||604800;}async connect(){S||(await this.db.execute(chunkVRZC4TTF_cjs.J`
|
|
2
|
+
CREATE TABLE IF NOT EXISTS "users" (
|
|
3
|
+
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
4
|
+
"name" VARCHAR(255),
|
|
5
|
+
"email" VARCHAR(255) NOT NULL,
|
|
6
|
+
"password_hash" VARCHAR(255),
|
|
7
|
+
"role" VARCHAR(50) NOT NULL DEFAULT 'customer',
|
|
8
|
+
"tenant_id" UUID,
|
|
9
|
+
"email_verified" BOOLEAN DEFAULT false,
|
|
10
|
+
"locked" BOOLEAN DEFAULT false,
|
|
11
|
+
"last_login" TIMESTAMP,
|
|
12
|
+
"failed_login_attempts" INTEGER DEFAULT 0,
|
|
13
|
+
"metadata" JSONB,
|
|
14
|
+
"avatar" VARCHAR(255),
|
|
15
|
+
"created_at" TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
16
|
+
"updated_at" TIMESTAMP NOT NULL DEFAULT NOW()
|
|
17
|
+
)
|
|
18
|
+
`),await this.db.execute(chunkVRZC4TTF_cjs.J`ALTER TABLE "users" ADD COLUMN IF NOT EXISTS "avatar" VARCHAR(255)`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE UNIQUE INDEX IF NOT EXISTS "users_email_idx" ON "users" ("email")`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "users_tenant_idx" ON "users" ("tenant_id")`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "users_role_idx" ON "users" ("role")`),await this.db.execute(chunkVRZC4TTF_cjs.J`
|
|
19
|
+
CREATE TABLE IF NOT EXISTS "sessions" (
|
|
20
|
+
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
21
|
+
"user_id" UUID NOT NULL REFERENCES "users"("id") ON DELETE CASCADE,
|
|
22
|
+
"token" VARCHAR(512) NOT NULL UNIQUE,
|
|
23
|
+
"refresh_token" VARCHAR(512),
|
|
24
|
+
"ip_address" VARCHAR(45),
|
|
25
|
+
"user_agent" TEXT,
|
|
26
|
+
"expires_at" TIMESTAMP NOT NULL,
|
|
27
|
+
"created_at" TIMESTAMP NOT NULL DEFAULT NOW()
|
|
28
|
+
)
|
|
29
|
+
`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "sessions_user_idx" ON "sessions" ("user_id")`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "sessions_token_idx" ON "sessions" ("token")`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "sessions_expires_idx" ON "sessions" ("expires_at")`),await this.db.execute(chunkVRZC4TTF_cjs.J`
|
|
30
|
+
CREATE TABLE IF NOT EXISTS "audit_logs" (
|
|
31
|
+
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
32
|
+
"action" VARCHAR(100) NOT NULL,
|
|
33
|
+
"user_id" UUID REFERENCES "users"("id") ON DELETE SET NULL,
|
|
34
|
+
"user_email" VARCHAR(255),
|
|
35
|
+
"role" VARCHAR(50),
|
|
36
|
+
"resource" VARCHAR(100) NOT NULL,
|
|
37
|
+
"resource_id" VARCHAR(255),
|
|
38
|
+
"changes" JSONB,
|
|
39
|
+
"ip_address" VARCHAR(45),
|
|
40
|
+
"user_agent" TEXT,
|
|
41
|
+
"success" BOOLEAN NOT NULL DEFAULT true,
|
|
42
|
+
"error" TEXT,
|
|
43
|
+
"metadata" JSONB,
|
|
44
|
+
"timestamp" TIMESTAMP NOT NULL DEFAULT NOW()
|
|
45
|
+
)
|
|
46
|
+
`),await this.db.execute(chunkVRZC4TTF_cjs.J`ALTER TABLE "audit_logs" ALTER COLUMN "resource_id" TYPE VARCHAR(255)`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "audit_logs_user_idx" ON "audit_logs" ("user_id")`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "audit_logs_action_idx" ON "audit_logs" ("action")`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "audit_logs_resource_idx" ON "audit_logs" ("resource")`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "audit_logs_timestamp_idx" ON "audit_logs" ("timestamp")`),await this.db.execute(chunkVRZC4TTF_cjs.J`
|
|
47
|
+
CREATE TABLE IF NOT EXISTS "password_history" (
|
|
48
|
+
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
49
|
+
"user_id" UUID NOT NULL REFERENCES "users"("id") ON DELETE CASCADE,
|
|
50
|
+
"password_hash" VARCHAR(255) NOT NULL,
|
|
51
|
+
"created_at" TIMESTAMP NOT NULL DEFAULT NOW()
|
|
52
|
+
)
|
|
53
|
+
`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "password_history_user_idx" ON "password_history" ("user_id")`),await this.db.execute(chunkVRZC4TTF_cjs.J`
|
|
54
|
+
CREATE TABLE IF NOT EXISTS "lockouts" (
|
|
55
|
+
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
56
|
+
"user_id" UUID NOT NULL REFERENCES "users"("id") ON DELETE CASCADE,
|
|
57
|
+
"ip_address" VARCHAR(45),
|
|
58
|
+
"reason" VARCHAR(255),
|
|
59
|
+
"locked_until" TIMESTAMP NOT NULL,
|
|
60
|
+
"released_at" TIMESTAMP,
|
|
61
|
+
"created_at" TIMESTAMP NOT NULL DEFAULT NOW()
|
|
62
|
+
)
|
|
63
|
+
`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "lockouts_user_idx" ON "lockouts" ("user_id")`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "lockouts_locked_until_idx" ON "lockouts" ("locked_until")`),await this.db.execute(chunkVRZC4TTF_cjs.J`
|
|
64
|
+
CREATE TABLE IF NOT EXISTS "roles" (
|
|
65
|
+
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
66
|
+
"name" VARCHAR(100) NOT NULL UNIQUE,
|
|
67
|
+
"level" INTEGER NOT NULL DEFAULT 0,
|
|
68
|
+
"inherits" TEXT[],
|
|
69
|
+
"description" TEXT,
|
|
70
|
+
"permissions" JSONB DEFAULT '[]',
|
|
71
|
+
"is_system" BOOLEAN DEFAULT false,
|
|
72
|
+
"created_at" TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
73
|
+
"updated_at" TIMESTAMP NOT NULL DEFAULT NOW()
|
|
74
|
+
)
|
|
75
|
+
`),await this.db.execute(chunkVRZC4TTF_cjs.J`CREATE INDEX IF NOT EXISTS "roles_level_idx" ON "roles" ("level")`),await this.db.execute(chunkVRZC4TTF_cjs.J`
|
|
76
|
+
CREATE TABLE IF NOT EXISTS "tenants" (
|
|
77
|
+
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
78
|
+
"name" VARCHAR(255) NOT NULL,
|
|
79
|
+
"slug" VARCHAR(100) NOT NULL UNIQUE,
|
|
80
|
+
"settings" JSONB DEFAULT '{}',
|
|
81
|
+
"is_active" BOOLEAN DEFAULT true,
|
|
82
|
+
"created_at" TIMESTAMP NOT NULL DEFAULT NOW(),
|
|
83
|
+
"updated_at" TIMESTAMP NOT NULL DEFAULT NOW()
|
|
84
|
+
)
|
|
85
|
+
`),await this.db.execute(chunkVRZC4TTF_cjs.J`
|
|
86
|
+
CREATE TABLE IF NOT EXISTS "api_keys" (
|
|
87
|
+
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
88
|
+
"user_id" UUID NOT NULL REFERENCES "users"("id") ON DELETE CASCADE,
|
|
89
|
+
"name" VARCHAR(255) NOT NULL,
|
|
90
|
+
"key" VARCHAR(64) NOT NULL UNIQUE,
|
|
91
|
+
"key_prefix" VARCHAR(8) NOT NULL,
|
|
92
|
+
"permissions" JSONB DEFAULT '[]',
|
|
93
|
+
"last_used_at" TIMESTAMP,
|
|
94
|
+
"expires_at" TIMESTAMP,
|
|
95
|
+
"created_at" TIMESTAMP NOT NULL DEFAULT NOW()
|
|
96
|
+
)
|
|
97
|
+
`),await this.db.execute(chunkVRZC4TTF_cjs.J`
|
|
98
|
+
CREATE TABLE IF NOT EXISTS "email_verifications" (
|
|
99
|
+
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
100
|
+
"user_id" UUID NOT NULL REFERENCES "users"("id") ON DELETE CASCADE,
|
|
101
|
+
"token" VARCHAR(64) NOT NULL UNIQUE,
|
|
102
|
+
"expires_at" TIMESTAMP NOT NULL,
|
|
103
|
+
"created_at" TIMESTAMP NOT NULL DEFAULT NOW()
|
|
104
|
+
)
|
|
105
|
+
`),await this.db.execute(chunkVRZC4TTF_cjs.J`
|
|
106
|
+
CREATE TABLE IF NOT EXISTS "password_resets" (
|
|
107
|
+
"id" UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
108
|
+
"user_id" UUID NOT NULL REFERENCES "users"("id") ON DELETE CASCADE,
|
|
109
|
+
"token" VARCHAR(64) NOT NULL UNIQUE,
|
|
110
|
+
"expires_at" TIMESTAMP NOT NULL,
|
|
111
|
+
"used_at" TIMESTAMP,
|
|
112
|
+
"created_at" TIMESTAMP NOT NULL DEFAULT NOW()
|
|
113
|
+
)
|
|
114
|
+
`),S=true);}async disconnect(){}async createUser(e){let s=await this.hashPassword(e.password),[t]=await this.db.insert(chunk7JWQ2PZP_cjs.a).values({email:e.email.toLowerCase(),name:e.name,passwordHash:s,role:e.role||"customer",avatar:e.avatar,tenantId:e.tenantId}).returning();return this.userToAuthUser(t)}async findUserByEmail(e){let[s]=await this.db.select().from(chunk7JWQ2PZP_cjs.a).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.a.email,e.toLowerCase())).limit(1);return s?this.userToAuthUser(s):null}async findUserById(e){let[s]=await this.db.select().from(chunk7JWQ2PZP_cjs.a).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.a.id,e)).limit(1);return s?this.userToAuthUser(s):null}async updateUser(e,s){let t={updatedAt:new Date};s.name!==void 0&&(t.name=s.name),s.email!==void 0&&(t.email=s.email),s.passwordHash!==void 0&&(t.passwordHash=s.passwordHash),s.role!==void 0&&(t.role=s.role),s.tenantId!==void 0&&(t.tenantId=s.tenantId),s.avatar!==void 0&&(t.avatar=s.avatar),s.emailVerified!==void 0&&(t.emailVerified=s.emailVerified),s.locked!==void 0&&(t.locked=s.locked),s.lastLogin!==void 0&&(t.lastLogin=s.lastLogin?new Date(s.lastLogin):null),s.failedLoginAttempts!==void 0&&(t.failedLoginAttempts=s.failedLoginAttempts);let[r]=await this.db.update(chunk7JWQ2PZP_cjs.a).set(t).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.a.id,e)).returning();return r?this.userToAuthUser(r):null}async deleteUser(e){return await this.db.delete(chunk7JWQ2PZP_cjs.a).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.a.id,e)),true}async findUsers(e={}){let s=e.page??1,t=e.limit??10,r=(s-1)*t,u=e.search;if(u){let m=`%${u}%`,[w,[{count:p}]]=await Promise.all([this.db.select().from(chunk7JWQ2PZP_cjs.a).where(chunkVRZC4TTF_cjs.J`${chunk7JWQ2PZP_cjs.a.email} ILIKE ${m}`).orderBy(chunkBCEE4NBZ_cjs.M(chunk7JWQ2PZP_cjs.a.createdAt)).limit(t).offset(r),this.db.select({count:chunkVRZC4TTF_cjs.J`count(*)`}).from(chunk7JWQ2PZP_cjs.a).where(chunkVRZC4TTF_cjs.J`${chunk7JWQ2PZP_cjs.a.email} ILIKE ${m}`)]);return {users:w.map(c=>this.userToAuthUser(c)),total:Number(p)}}let[l,[{count:E}]]=await Promise.all([this.db.select().from(chunk7JWQ2PZP_cjs.a).orderBy(chunkBCEE4NBZ_cjs.M(chunk7JWQ2PZP_cjs.a.createdAt)).limit(t).offset(r),this.db.select({count:chunkVRZC4TTF_cjs.J`count(*)`}).from(chunk7JWQ2PZP_cjs.a)]);return {users:l.map(m=>this.userToAuthUser(m)),total:Number(E)}}async verifyPassword(e,s){let t=await this.findUserByEmail(e);if(!t)return null;let[r]=await this.db.select().from(chunk7JWQ2PZP_cjs.a).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.a.email,e.toLowerCase())).limit(1);return r?.passwordHash&&await R.default.compare(s,r.passwordHash)?t:null}async hashPassword(e){return R.default.hash(e,12)}async createSession(e,s){let t=crypto$1.randomBytes(32).toString("base64url"),r=crypto$1.randomBytes(32).toString("base64url"),u=new Date(Date.now()+this.sessionTTL*1e3);new Date(Date.now()+this.refreshTokenTTL*1e3);let [E]=await this.db.insert(chunk7JWQ2PZP_cjs.d).values({userId:e,token:t,refreshToken:r,ipAddress:s?.ipAddress,userAgent:s?.userAgent,expiresAt:u}).returning();return this.sessionToSession(E)}async findSessionByToken(e){let[s]=await this.db.select().from(chunk7JWQ2PZP_cjs.d).where(chunkBCEE4NBZ_cjs.p(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.d.token,e),chunkBCEE4NBZ_cjs.s(chunk7JWQ2PZP_cjs.d.expiresAt,new Date))).limit(1);return s?this.sessionToSession(s):null}async findSessionByRefreshToken(e){let[s]=await this.db.select().from(chunk7JWQ2PZP_cjs.d).where(chunkBCEE4NBZ_cjs.p(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.d.refreshToken,e),chunkBCEE4NBZ_cjs.s(chunk7JWQ2PZP_cjs.d.expiresAt,new Date))).limit(1);return s?this.sessionToSession(s):null}async deleteSession(e){return await this.db.delete(chunk7JWQ2PZP_cjs.d).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.d.id,e)),true}async deleteUserSessions(e){return await this.db.delete(chunk7JWQ2PZP_cjs.d).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.d.userId,e)),1}async addPasswordToHistory(e,s){await this.db.insert(chunk7JWQ2PZP_cjs.j).values({userId:e,passwordHash:s});}async getPasswordHistory(e,s=5){return (await this.db.select({passwordHash:chunk7JWQ2PZP_cjs.j.passwordHash}).from(chunk7JWQ2PZP_cjs.j).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.j.userId,e)).orderBy(chunkBCEE4NBZ_cjs.M(chunk7JWQ2PZP_cjs.j.createdAt)).limit(s)).map(r=>r.passwordHash)}async isPasswordInHistory(e,s,t=5){let r=await this.getPasswordHistory(s,t);for(let u of r)if(await this.verifyPassword(e,u))return true;return false}async isLocked(e){let[s]=await this.db.select().from(chunk7JWQ2PZP_cjs.k).where(chunkBCEE4NBZ_cjs.p(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.k.userId,e),chunkBCEE4NBZ_cjs.s(chunk7JWQ2PZP_cjs.k.lockedUntil,new Date))).limit(1);return !!s}async getLockout(e){let[s]=await this.db.select().from(chunk7JWQ2PZP_cjs.k).where(chunkBCEE4NBZ_cjs.p(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.k.userId,e),chunkBCEE4NBZ_cjs.s(chunk7JWQ2PZP_cjs.k.lockedUntil,new Date))).limit(1);return s?{lockedUntil:s.lockedUntil}:null}async recordFailedAttempt(e,s){let r=((await this.findUserById(e))?.failedLoginAttempts||0)+1;await this.updateUser(e,{failedLoginAttempts:r});let l=r>=5;return l&&await this.db.insert(chunk7JWQ2PZP_cjs.k).values({userId:e,ipAddress:s,reason:"Too many failed login attempts",lockedUntil:new Date(Date.now()+9e5)}),{attempts:r,locked:l}}async resetAttempts(e){await this.updateUser(e,{failedLoginAttempts:0});}async findAuditLogs(e){let{limit:s=50,offset:t=0,userId:r,action:u,resource:l,resourceId:E,success:m,startDate:w,endDate:p}=e,c=[];r&&c.push(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.e.userId,r)),u&&(Array.isArray(u)?c.push(chunkVRZC4TTF_cjs.J`${chunk7JWQ2PZP_cjs.e.action} = ANY(${u})`):c.push(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.e.action,u))),l&&c.push(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.e.resource,l)),E&&c.push(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.e.resourceId,E)),m!==void 0&&c.push(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.e.success,m)),w&&c.push(chunkVRZC4TTF_cjs.J`${chunk7JWQ2PZP_cjs.e.timestamp} >= ${w}`),p&&c.push(chunkVRZC4TTF_cjs.J`${chunk7JWQ2PZP_cjs.e.timestamp} <= ${p}`);let O=c.length>0?chunkBCEE4NBZ_cjs.p(...c):void 0,b=await this.db.select({count:chunkVRZC4TTF_cjs.J`count(*)`}).from(chunk7JWQ2PZP_cjs.e).where(O);return {logs:(await this.db.select().from(chunk7JWQ2PZP_cjs.e).where(O).orderBy(chunkBCEE4NBZ_cjs.M(chunk7JWQ2PZP_cjs.e.timestamp)).limit(s).offset(t)).map(o=>({id:o.id,timestamp:o.timestamp,action:o.action,userId:o.userId||void 0,userEmail:o.userEmail||void 0,role:o.role||void 0,resource:o.resource,resourceId:o.resourceId||void 0,changes:o.changes||void 0,ipAddress:o.ipAddress||void 0,userAgent:o.userAgent||void 0,success:o.success,error:o.error||void 0,metadata:o.metadata||void 0})),total:Number(b[0]?.count||0)}}async createAuditLog(e){let s=crypto.randomUUID(),t=new Date;return await this.db.insert(chunk7JWQ2PZP_cjs.e).values({id:s,action:e.action,userId:e.userId??null,userEmail:e.userEmail??null,role:e.role??null,resource:e.resource,resourceId:e.resourceId??null,changes:e.changes??null,ipAddress:e.ipAddress??null,userAgent:e.userAgent??null,success:e.success,error:e.error??null,metadata:e.metadata??null,timestamp:t}),{...e,id:s,timestamp:t}}userToAuthUser(e){return {id:e.id,name:e.name||void 0,email:e.email,passwordHash:e.passwordHash||void 0,role:e.role,avatar:e.avatar&&typeof e.avatar=="object"?e.avatar.id||void 0:e.avatar||void 0,tenantId:e.tenantId||void 0,emailVerified:e.emailVerified||false,locked:e.locked||false,lastLogin:e.lastLogin?new Date(e.lastLogin).toISOString():void 0,failedLoginAttempts:e.failedLoginAttempts||0,createdAt:new Date(e.createdAt).toISOString(),updatedAt:new Date(e.updatedAt).toISOString()}}sessionToSession(e){return {id:e.id,userId:e.userId,token:e.token,refreshToken:e.refreshToken||void 0,expiresAt:new Date(e.expiresAt).toISOString(),createdAt:new Date(e.createdAt).toISOString(),ipAddress:e.ipAddress||void 0,userAgent:e.userAgent||void 0}}async createEmailVerificationToken(e){let s=crypto$1.randomBytes(32).toString("hex"),t=new Date(Date.now()+1440*60*1e3);return await this.db.insert(chunk7JWQ2PZP_cjs.h).values({userId:e,token:s,expiresAt:t}),{token:s,expiresAt:t}}async verifyEmailToken(e){let[s]=await this.db.select().from(chunk7JWQ2PZP_cjs.h).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.h.token,e)).limit(1);return s?s.expiresAt<new Date?{success:false,error:"Verification token has expired"}:(await this.db.update(chunk7JWQ2PZP_cjs.a).set({emailVerified:true}).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.a.id,s.userId)),await this.db.delete(chunk7JWQ2PZP_cjs.h).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.h.id,s.id)),{success:true,userId:s.userId}):{success:false,error:"Invalid verification token"}}async createPasswordResetToken(e){let s=await this.findUserByEmail(e);if(!s)return {token:"",expiresAt:new Date,error:"User not found"};let t=crypto$1.randomBytes(32).toString("hex"),r=new Date(Date.now()+3600*1e3);return await this.db.insert(chunk7JWQ2PZP_cjs.i).values({userId:s.id,token:t,expiresAt:r}),{token:t,expiresAt:r}}async resetPasswordWithToken(e,s){let[t]=await this.db.select().from(chunk7JWQ2PZP_cjs.i).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.i.token,e)).limit(1);if(!t)return {success:false,error:"Invalid reset token"};if(t.expiresAt<new Date)return {success:false,error:"Reset token has expired"};if(t.usedAt)return {success:false,error:"Reset token has already been used"};let r=await this.hashPassword(s);return await this.db.update(chunk7JWQ2PZP_cjs.a).set({passwordHash:r,updatedAt:new Date}).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.a.id,t.userId)),await this.db.update(chunk7JWQ2PZP_cjs.i).set({usedAt:new Date}).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.i.id,t.id)),await this.db.delete(chunk7JWQ2PZP_cjs.d).where(chunkBCEE4NBZ_cjs.n(chunk7JWQ2PZP_cjs.d.userId,t.userId)),{success:true}}};exports.a=_;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
'use strict';var chunkVRZC4TTF_cjs=require('./chunk-VRZC4TTF.cjs'),chunkBUNLC3II_cjs=require('./chunk-BUNLC3II.cjs');chunkBUNLC3II_cjs.h();var f=class{constructor(e,n){this.unique=e,this.name=n;}static[chunkVRZC4TTF_cjs.a]="PgIndexBuilderOn";on(...e){return new u(e.map(n=>{if(chunkVRZC4TTF_cjs.c(n,chunkVRZC4TTF_cjs.A))return n;n=n;let r=new chunkVRZC4TTF_cjs.h(n.name,!!n.keyAsName,n.columnType,n.indexConfig);return n.indexConfig=JSON.parse(JSON.stringify(n.defaultConfig)),r}),this.unique,false,this.name)}onOnly(...e){return new u(e.map(n=>{if(chunkVRZC4TTF_cjs.c(n,chunkVRZC4TTF_cjs.A))return n;n=n;let r=new chunkVRZC4TTF_cjs.h(n.name,!!n.keyAsName,n.columnType,n.indexConfig);return n.indexConfig=n.defaultConfig,r}),this.unique,true,this.name)}using(e,...n){return new u(n.map(r=>{if(chunkVRZC4TTF_cjs.c(r,chunkVRZC4TTF_cjs.A))return r;r=r;let a=new chunkVRZC4TTF_cjs.h(r.name,!!r.keyAsName,r.columnType,r.indexConfig);return r.indexConfig=JSON.parse(JSON.stringify(r.defaultConfig)),a}),this.unique,true,this.name,e)}},u=class{static[chunkVRZC4TTF_cjs.a]="PgIndexBuilder";config;constructor(e,n,r,a,g="btree"){this.config={name:a,columns:e,unique:n,only:r,method:g};}concurrently(){return this.config.concurrently=true,this}with(e){return this.config.with=e,this}where(e){return this.config.where=e,this}build(e){return new m(this.config,e)}},m=class{static[chunkVRZC4TTF_cjs.a]="PgIndex";config;constructor(e,n){this.config={...e,table:n};}};function C(o){return new f(false,o)}function p(o){return new f(true,o)}exports.a=C;exports.b=p;
|