@kyro-cms/core 0.12.47 → 0.12.49

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) hide show
  1. package/README.md +21 -0
  2. package/dist/api-handler-graphql.cjs +1 -1
  3. package/dist/api-handler-graphql.js +1 -1
  4. package/dist/api-handler-trpc.cjs +1 -1
  5. package/dist/api-handler-trpc.js +1 -1
  6. package/dist/api-handler.cjs +1 -1
  7. package/dist/api-handler.js +1 -1
  8. package/dist/auth-session-DHVGXHOH.cjs +1 -0
  9. package/dist/auth-session-O7IIH7EP.js +1 -0
  10. package/dist/bcryptjs-ZEEHSMAG.js +2 -0
  11. package/dist/{better-sqlite3-42Q3FG3E.js → better-sqlite3-B34RIU4C.js} +1 -1
  12. package/dist/bootstrap-4FK3LPPH.js +1 -0
  13. package/dist/bootstrap-F4SDJLPK.cjs +1 -0
  14. package/dist/{bowser-FI5JQGKZ.js → bowser-SB3ZUPO4.js} +1 -1
  15. package/dist/chokidar-5RVQZVHP.cjs +5 -0
  16. package/dist/chokidar-BOYGRT4Q.js +6 -0
  17. package/dist/{chunk-DS5DE5BU.js → chunk-24L3UEJJ.js} +1 -1
  18. package/dist/{chunk-HT44I66C.js → chunk-2HA6EKXX.js} +1 -1
  19. package/dist/{chunk-7AQSH3KR.js → chunk-3NSZZCOJ.js} +1 -1
  20. package/dist/{chunk-VIUU4D5I.js → chunk-47CXBWMA.js} +1 -1
  21. package/dist/{chunk-6MSS5X77.js → chunk-5M3FKE2V.js} +1 -1
  22. package/dist/chunk-63BSQ3FK.cjs +1 -0
  23. package/dist/chunk-6TPICJ2L.js +7 -0
  24. package/dist/{chunk-K7YNEKVE.js → chunk-7FXEXHK6.js} +1 -1
  25. package/dist/{chunk-WSP7PSXC.js → chunk-7MNDQU6K.js} +1 -1
  26. package/dist/{chunk-7V67ONUD.js → chunk-7N7U2ERH.js} +1 -1
  27. package/dist/{chunk-BPMA2ECA.js → chunk-7NH7H3WA.js} +1 -1
  28. package/dist/{chunk-ZJE3VAAW.js → chunk-BU6O3TP7.js} +3 -3
  29. package/dist/{chunk-W46LZ4MY.js → chunk-C7QCZX7X.js} +1 -1
  30. package/dist/chunk-CFZVJTXW.cjs +264 -0
  31. package/dist/{chunk-2WFTETFB.js → chunk-CIVA6SKW.js} +1 -1
  32. package/dist/chunk-EFGOYI57.js +265 -0
  33. package/dist/{chunk-2BUODBE2.js → chunk-EML5FDUU.js} +1 -1
  34. package/dist/{chunk-66BJXVFJ.js → chunk-FLMUMPDE.js} +1 -1
  35. package/dist/{chunk-QYI3GOHF.cjs → chunk-HKNQVI76.cjs} +1 -1
  36. package/dist/{chunk-IP6JUEH3.js → chunk-HRAY65XH.js} +1 -1
  37. package/dist/{chunk-KH7LM52S.js → chunk-IKGVPXMK.js} +1 -1
  38. package/dist/{chunk-XSRISWOY.js → chunk-JR6IOJO7.js} +2 -2
  39. package/dist/{chunk-XOACKBG7.js → chunk-JRUQ5ABB.js} +2 -2
  40. package/dist/{chunk-OMWQVPV7.js → chunk-JV4HJBXW.js} +1 -1
  41. package/dist/{chunk-X54XZACS.cjs → chunk-KZHXYXSH.cjs} +2 -2
  42. package/dist/{chunk-UD6ZPO7T.js → chunk-L2QXP26Q.js} +1 -1
  43. package/dist/{chunk-ORG67NXX.js → chunk-L3Q64RUX.js} +1 -1
  44. package/dist/chunk-LELK3TYX.js +3 -0
  45. package/dist/chunk-LGYBTBWE.js +2 -0
  46. package/dist/{chunk-7I6URA6F.js → chunk-LVBHOZZF.js} +1 -1
  47. package/dist/{chunk-R3NEPC4I.js → chunk-LWM4WABU.js} +1 -1
  48. package/dist/{chunk-TR3ZS3T3.js → chunk-M75VGFCI.js} +1 -1
  49. package/dist/chunk-MCIZG4A3.cjs +1 -0
  50. package/dist/{chunk-VBPAAQEF.js → chunk-N5POANYV.js} +1 -1
  51. package/dist/chunk-O4YE57OS.cjs +6 -0
  52. package/dist/{chunk-A73AVVFR.js → chunk-OBYAIJVU.js} +1 -1
  53. package/dist/chunk-OLRCZ6E3.js +2 -0
  54. package/dist/{chunk-WGESLAWV.js → chunk-OXGJOYEO.js} +1 -1
  55. package/dist/{chunk-CGPAS4U5.js → chunk-P6JITOFF.js} +1 -1
  56. package/dist/{chunk-JUJZOG6P.js → chunk-PA4ZZREG.js} +1 -1
  57. package/dist/{chunk-45TJAB5X.js → chunk-PENOCINR.js} +3 -3
  58. package/dist/{chunk-MZOWPV4D.js → chunk-PRMILS4Y.js} +1 -1
  59. package/dist/chunk-QDBGBDCT.js +2 -0
  60. package/dist/{chunk-XBH4YMC7.js → chunk-R25WLKX4.js} +1 -1
  61. package/dist/{chunk-J6U5LWZ7.js → chunk-RPRGGGIW.js} +3 -3
  62. package/dist/{chunk-E27KEZPT.js → chunk-RTHJ6SS5.js} +1 -1
  63. package/dist/{chunk-MCZ3YZ2L.js → chunk-SLMIYECU.js} +1 -1
  64. package/dist/{chunk-IPXOY4RI.js → chunk-SQBTIMWF.js} +1 -1
  65. package/dist/{chunk-VJ2WMKPK.js → chunk-SZT6BLUR.js} +1 -1
  66. package/dist/{chunk-6KRR7YHA.js → chunk-TBHNE4VV.js} +1 -1
  67. package/dist/{chunk-OSAVAYJZ.js → chunk-TYQYKKWJ.js} +1 -1
  68. package/dist/{chunk-ICVQWR2A.js → chunk-U6KFONKM.js} +1 -1
  69. package/dist/chunk-UT7RGIYS.js +2 -0
  70. package/dist/{chunk-PBOZJOKN.js → chunk-UWHWSWDE.js} +1 -1
  71. package/dist/chunk-VVVCCB6R.js +2 -0
  72. package/dist/{chunk-MY42EWZP.js → chunk-W45TLOOT.js} +1 -1
  73. package/dist/{chunk-R4N352LI.cjs → chunk-WC7H45ZG.cjs} +3 -3
  74. package/dist/chunk-WJBQ2NBD.cjs +1 -0
  75. package/dist/{chunk-ATBH763U.js → chunk-WPM6LFCY.js} +1 -1
  76. package/dist/chunk-XBQ6HV3T.cjs +114 -0
  77. package/dist/{chunk-C2PXMVR5.js → chunk-Y2YAKDEQ.js} +1 -1
  78. package/dist/chunk-YENNL5HG.js +2 -0
  79. package/dist/{chunk-SYEP5QLG.js → chunk-YUUXFD73.js} +1 -1
  80. package/dist/{chunk-NWCREF47.js → chunk-YZEMLLD2.js} +1 -1
  81. package/dist/chunk-ZKHTFR5S.cjs +2 -0
  82. package/dist/{chunk-7T35572E.js → chunk-ZMG7Z3KF.js} +1 -1
  83. package/dist/{chunk-HLAEJB5R.js → chunk-ZRIBWDYJ.js} +1 -1
  84. package/dist/chunk-ZWDBPEXL.js +115 -0
  85. package/dist/cli/index.cjs +1 -1
  86. package/dist/cli/index.js +2 -2
  87. package/dist/client.js +1 -1
  88. package/dist/{d1-VPH75GI2.js → d1-HPB6B253.js} +1 -1
  89. package/dist/{dist-es-6TQTDPE7.js → dist-es-64F22JL2.js} +2 -2
  90. package/dist/{dist-es-XZBHIIKY.js → dist-es-F2ZR55UK.js} +2 -2
  91. package/dist/dist-es-IPSSZNFP.js +1 -0
  92. package/dist/{dist-es-SJ76GYCI.js → dist-es-M2F7M27Y.js} +1 -1
  93. package/dist/{dist-es-U4ZB3ZDA.js → dist-es-M66JKZF5.js} +1 -1
  94. package/dist/{dist-es-MNIQZC4U.js → dist-es-OKLLRYI3.js} +2 -2
  95. package/dist/{dist-es-TX4DBXEW.js → dist-es-SVHZDVUF.js} +2 -2
  96. package/dist/{dist-es-EMUQ6ZNZ.js → dist-es-WFI55HKT.js} +1 -1
  97. package/dist/drizzle/index.cjs +1 -1
  98. package/dist/drizzle/index.d.cts +1 -0
  99. package/dist/drizzle/index.d.ts +1 -0
  100. package/dist/drizzle/index.js +1 -1
  101. package/dist/drizzle-orm-XRTSOQJS.js +1 -0
  102. package/dist/event-streams-7NAWZW2I.js +1 -0
  103. package/dist/fields/index.js +1 -1
  104. package/dist/fs-KWBRQ6T6.js +1 -0
  105. package/dist/fs-ZQYOJOIO.cjs +1 -0
  106. package/dist/graphql/index.js +1 -1
  107. package/dist/index.cjs +9 -9
  108. package/dist/index.js +10 -10
  109. package/dist/integration.js +1 -1
  110. package/dist/{jsonwebtoken-S7BG2YWK.js → jsonwebtoken-OD67R5JS.js} +3 -3
  111. package/dist/{lib-IYW32OER.js → lib-XXYYUPMW.js} +3 -3
  112. package/dist/{loadSso-YTG2GQGW.js → loadSso-UQR6545M.js} +1 -1
  113. package/dist/local-3V3XEQUY.js +1 -0
  114. package/dist/media-E762GEHL.js +1 -0
  115. package/dist/mongo-auth-adapter-QDXVHREJ.js +1 -0
  116. package/dist/{mongo-auth-adapter-7K64Y2QM.cjs → mongo-auth-adapter-W3HLB7OR.cjs} +1 -1
  117. package/dist/mongodb/index.cjs +1 -1
  118. package/dist/mongodb/index.js +1 -1
  119. package/dist/{nodemailer-AXROO37D.js → nodemailer-NITB45SS.js} +3 -3
  120. package/dist/postgres-auth-adapter-SK3N3OSS.js +1 -0
  121. package/dist/postgres-auth-adapter-ZO6HK5AK.cjs +1 -0
  122. package/dist/postgres-js-3Y54EXVQ.cjs +1 -1
  123. package/dist/postgres-js-4CI7FMYS.js +1 -0
  124. package/dist/redis-adapter-QPCTMF55.js +1 -0
  125. package/dist/rest/index.cjs +1 -1
  126. package/dist/rest/index.js +1 -1
  127. package/dist/schema-YFMSJK2P.js +2 -0
  128. package/dist/{signin-KZBIAHGS.js → signin-N3T2KF5Q.js} +1 -1
  129. package/dist/sqlite-adapter-4TPNROJK.js +1 -0
  130. package/dist/src-QBADSZV4.js +1 -0
  131. package/dist/{sso-oidc-SX5OIQGG.js → sso-oidc-UB7G4END.js} +1 -1
  132. package/dist/{sts-HVGDJYIF.js → sts-WAA6I22C.js} +1 -1
  133. package/dist/templates/index.js +1 -1
  134. package/dist/trpc/index.js +1 -1
  135. package/dist/ws/index.js +1 -1
  136. package/package.json +2 -2
  137. package/dist/bcryptjs-AZA6WEN2.js +0 -2
  138. package/dist/bootstrap-7CI3NVSY.js +0 -1
  139. package/dist/bootstrap-DOOM2CNQ.cjs +0 -1
  140. package/dist/chokidar-24HVS6XD.cjs +0 -5
  141. package/dist/chokidar-43DT7CVN.js +0 -6
  142. package/dist/chunk-5DWYVUQR.cjs +0 -1
  143. package/dist/chunk-6QWLXJ7L.js +0 -2
  144. package/dist/chunk-B3GDQ7UI.cjs +0 -114
  145. package/dist/chunk-BLH2MRK4.js +0 -2
  146. package/dist/chunk-EOOZDOL7.js +0 -3
  147. package/dist/chunk-F3MCWKOW.cjs +0 -1
  148. package/dist/chunk-FYPEL7XW.js +0 -270
  149. package/dist/chunk-MPGROUMH.js +0 -2
  150. package/dist/chunk-PL5AIE6F.js +0 -2
  151. package/dist/chunk-QDHP5E4P.cjs +0 -2
  152. package/dist/chunk-QN5ULXBX.cjs +0 -269
  153. package/dist/chunk-R4LXRAMX.js +0 -2
  154. package/dist/chunk-SVYUTQVE.js +0 -115
  155. package/dist/chunk-UB5TJHQR.js +0 -2
  156. package/dist/chunk-XPPVX4GQ.cjs +0 -1
  157. package/dist/dist-es-6SVFVYN3.js +0 -1
  158. package/dist/drizzle-orm-7YTX5NTT.js +0 -1
  159. package/dist/event-streams-25YJ2Z6R.js +0 -1
  160. package/dist/fs-DGKZLRM6.cjs +0 -1
  161. package/dist/fs-YZJ5FM6J.js +0 -2
  162. package/dist/local-VDCSEMC2.js +0 -1
  163. package/dist/media-HK2IZMUZ.js +0 -1
  164. package/dist/mongo-auth-adapter-BUKINEZL.js +0 -1
  165. package/dist/postgres-auth-adapter-2M4RNEY3.cjs +0 -1
  166. package/dist/postgres-auth-adapter-MKSHIJDL.js +0 -1
  167. package/dist/postgres-js-INQPBHJP.js +0 -1
  168. package/dist/redis-adapter-SXOXLHNH.js +0 -1
  169. package/dist/schema-XC5ISGNR.js +0 -2
  170. package/dist/sqlite-adapter-DV7ZX2EJ.js +0 -1
  171. package/dist/src-GZRZ4VAO.js +0 -1
  172. /package/dist/{chunk-P7XYIKL6.cjs → chunk-YUER4JU3.cjs} +0 -0
@@ -1,6 +1,6 @@
1
- import {createRequire}from'module';import {a as a$4,f}from'./chunk-WGESLAWV.js';import {a as a$5}from'./chunk-HT44I66C.js';import {c,a as a$2,b,e,h}from'./chunk-OMWQVPV7.js';import {n,M as M$1,p,q,o,w,E,s,t,u,v}from'./chunk-IP6JUEH3.js';import {ia,oa,fa,ma,$,ha,ca,pa,ra,J}from'./chunk-7AQSH3KR.js';import {a,c as c$1,b as b$1,d}from'./chunk-MCZ3YZ2L.js';import {a as a$1}from'./chunk-CGPAS4U5.js';import {a as a$3}from'./chunk-BLH2MRK4.js';import {g}from'./chunk-C2PXMVR5.js';import {randomBytes}from'crypto';import {mkdir}from'fs/promises';import {resolve,dirname}from'path';createRequire(import.meta.url);
1
+ import {a as a$4,f}from'./chunk-OXGJOYEO.js';import {a as a$5}from'./chunk-2HA6EKXX.js';import {c,a as a$2,b,e,h}from'./chunk-JV4HJBXW.js';import {n,M as M$1,p,q,o,w,E,s,t,u,v}from'./chunk-HRAY65XH.js';import {ia,oa,fa,ma,$,ha,ca,pa,ra,J}from'./chunk-3NSZZCOJ.js';import {a,c as c$1,b as b$1,d}from'./chunk-SLMIYECU.js';import {a as a$1}from'./chunk-P6JITOFF.js';import {a as a$3}from'./chunk-VVVCCB6R.js';import {g}from'./chunk-Y2YAKDEQ.js';import {randomBytes}from'crypto';import {mkdir}from'fs/promises';import {resolve,dirname}from'path';import {createRequire}from'module';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
2
2
  g();function D(f){if(typeof f!="string")return f;let t=f.replace(/-/g,"").toLowerCase();return t.length===32?`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`:f}function L(f,t="postgres"){switch(f.type){case "text":case "email":case "password":case "color":case "icon":return t==="sqlite"?"text":"varchar";case "textarea":case "code":case "markdown":case "secret":return "text";case "number":return f.integer?"integer":"decimal";case "checkbox":return "boolean";case "date":return "timestamp";case "select":case "radio":return t==="sqlite"?"text":"varchar";case "richtext":case "json":case "array":case "group":case "blocks":case "row":case "collapsible":case "tabs":return "jsonb";case "relationship":return t==="sqlite"?"text":"varchar";case "upload":return "jsonb";default:return "jsonb"}}function Ie(f,t="postgres"){let i=f.slug.replace(/-/g,"_"),e=[];e.push(`export const ${i} = pgTable('${i}', {`),e.push(" id: uuid('id').primaryKey().defaultRandom(),");for(let s of f.fields){if(s.name==="id"||s.type==="password")continue;let a=L(s,t),r=s.required,n=` ${s.name}: pg.${a}('${s.name}')`;s.unique&&(n+=".unique()"),r||(n+=".nullable()"),s.defaultValue!==void 0&&(typeof s.defaultValue=="string"?n+=`.default('${s.defaultValue}')`:typeof s.defaultValue=="boolean"?n+=`.default(${s.defaultValue})`:n+=`.default(sql\`${JSON.stringify(s.defaultValue)}\`)`),n+=",",e.push(n);}return f.timestamps&&(e.push(" createdAt: pg.timestamp('created_at').defaultNow(),"),e.push(" updatedAt: pg.timestamp('updated_at').defaultNow(),")),e.push(` status: ${t==="sqlite"?"sqlite":"pg"}.varchar('status').default('draft'),`),e.push(` hasDraft: ${t==="sqlite"?"sqlite":"pg"}.boolean('hasDraft').default(false),`),e.push("});"),e.join(`
3
- `)}function le(f,t){return Array.isArray(f)?f.map(i=>{if(!i||typeof i!="object")return i;let e=i.data?{...i.data}:void 0;if(!e)return i;let s=t.find(a=>a.slug===i.type||a.slug===i.slug);if(!s||!Array.isArray(s.fields))return i;for(let a of s.fields){if(a.name&&(a.type==="upload"||a.type==="image")&&e[a.name]){let r=e[a.name];Array.isArray(r)?e[a.name]=r.map(n=>typeof n=="string"?{id:n}:n):typeof r=="string"&&(e[a.name]={id:r});}if(a.type==="blocks"&&a.name&&e[a.name]){let r=a.blocks||[];e[a.name]=le(e[a.name],r);}}return {...i,data:e}}):f}var M=class extends a{client;schema;_schemaEnsured=false;dialect;connectionString;versionsTableReady=false;rawClient;constructor(t){if(super(),this.schema=t.schema||{},t.connectionString){this.connectionString=t.connectionString;let i=t.connectionString.toLowerCase();i.startsWith("postgres://")||i.startsWith("postgresql://")?this.dialect="postgres":i.includes(".db")||i.includes("sqlite")||i.includes("file:")?this.dialect="sqlite":this.dialect=t.type||"postgres";}else this.rawClient=t.client,this.client=t.client,this.dialect=t.type||"sqlite";}prepareData(t,i){let e=super.prepareData(t,i);e.createdAt&&typeof e.createdAt=="string"&&(e.createdAt=new Date(e.createdAt)),e.updatedAt&&typeof e.updatedAt=="string"&&(e.updatedAt=new Date(e.updatedAt));for(let s of i.fields)if(s.type==="date"&&s.name){let a=e[s.name];a&&typeof a=="string"&&(e[s.name]=new Date(a));}for(let s of i.fields){let r=L(s,this.dialect)==="jsonb";if(s.type==="tabs"&&"tabs"in s&&s.name){let n=t[s.name];if(n&&typeof n=="object"){let o={};for(let[c,d]of Object.entries(n)){let u=s.tabs.flatMap(g=>g.fields).find(g=>g.name===c);(u?.type==="upload"||u?.type==="image"||u?.type==="list"||u?.type==="relationship-block")&&d?o[c]=Array.isArray(d)||typeof d=="object"?JSON.stringify(d):d:o[c]=d;}e[s.name]=this.dialect==="sqlite"||!r?JSON.stringify(o):o;}}else if(r&&s.name&&t[s.name]!==void 0&&t[s.name]!==null)e[s.name]=this.dialect==="sqlite"?JSON.stringify(t[s.name]):t[s.name];else if((s.type==="upload"||s.type==="image"||s.type==="list"||s.type==="relationship-block")&&s.name){let n=t[s.name];n!=null&&(e[s.name]=this.dialect==="sqlite"||!r?typeof n=="string"?n:JSON.stringify(n):n);}}for(let s of i.fields)if(s.name&&e[s.name]===""){let a=L(s,this.dialect);(a==="timestamp"||a==="jsonb"||a==="decimal"||a==="integer"||a==="numeric"||a==="boolean")&&(e[s.name]=null);}return e}async connect(){if(this.connectionString&&!this.client){if(this.dialect==="postgres"){let t,i;try{t=(await import('./src-GZRZ4VAO.js')).default,i=(await import('./postgres-js-INQPBHJP.js')).drizzle;}catch{a$1(["postgres","drizzle-orm"]),t=(await import('./src-GZRZ4VAO.js')).default,i=(await import('./postgres-js-INQPBHJP.js')).drizzle;}let e=t(this.connectionString,{onnotice:()=>{}});this.client=i(e,{schema:this.schema});}else if(this.dialect==="sqlite"){let t,i;try{t=(await import('better-sqlite3')).default,i=(await import('./better-sqlite3-42Q3FG3E.js')).drizzle;}catch{a$1(["better-sqlite3","drizzle-orm"]),t=(await import('better-sqlite3')).default,i=(await import('./better-sqlite3-42Q3FG3E.js')).drizzle;}let e=new t(this.connectionString.replace("file:",""));this.client=i(e,{schema:this.schema});}}if(this.rawClient&&typeof this.rawClient.prepare=="function"&&typeof this.client?.select!="function"){let{drizzle:t}=await import('./d1-VPH75GI2.js');this.client=t(this.rawClient,{schema:this.schema});}this.connected=true;}async init(t,i=[]){if(await super.init(t,i),(this.connectionString&&!this.client||this.rawClient&&typeof this.client?.select!="function")&&await this.connect(),this.client&&!this._schemaEnsured){for(let s of t){let a=this.getTableName(s.slug);this.schema[a]||(this.schema[a]=this.createTableFromConfig(s));}await this.ensureCollectionTables(t);let e=i.map(s=>({slug:`_globals_${s.slug}`,fields:s.fields,label:s.label}));for(let s of e){let a=this.getTableName(s.slug);this.schema[a]||(this.schema[a]=this.createTableFromConfig(s,true)),this.collections.has(s.slug)||this.collections.set(s.slug,s);}await this.ensureCollectionTables(e),this._schemaEnsured=true;}}createTableFromConfig(t,i=false){let e$1=this.getTableName(t.slug),s={id:i?ia("id").primaryKey():oa("id").primaryKey().defaultRandom()};for(let a of t.fields){if(!a.name||a.name==="id"||a.type==="password")continue;let r=L(a,this.dialect),n=a.name.replace(/-/g,"_"),o=n.replace(/([A-Z])/g,"_$1").toLowerCase(),c$1;if(this.dialect==="sqlite")switch(r){case "varchar":case "text":c$1=c(o);break;case "integer":c$1=a$2(o);break;case "decimal":case "numeric":c$1=b(o);break;case "boolean":c$1=a$2(o,{mode:"boolean"});break;case "timestamp":c$1=c(o);break;case "jsonb":c$1=c(o);break;default:c$1=c(o);}else switch(r){case "varchar":c$1=pa(o,{length:255});break;case "integer":c$1=ca(o);break;case "decimal":c$1=ha(o);break;case "boolean":c$1=$(o);break;case "timestamp":c$1=ma(o);break;case "jsonb":c$1=fa(o);break;default:c$1=ia(o);}a.required||(c$1=c$1.default(null)),s[n]=c$1;}return s.createdAt||(s.createdAt=this.dialect==="sqlite"?c("created_at").default(new Date().toISOString()):ma("created_at").defaultNow()),s.updatedAt||(s.updatedAt=this.dialect==="sqlite"?c("updated_at").default(new Date().toISOString()):ma("updated_at").defaultNow()),e$1!=="users"&&e$1!=="audit_logs"&&(s.status||(s.status=this.dialect==="sqlite"?c("status").default("draft"):pa("status",{length:20}).default("draft")),s.hasDraft||(s.hasDraft=this.dialect==="sqlite"?a$2("hasDraft",{mode:"boolean"}).default(false):$("hasDraft").default(false))),this.dialect==="sqlite"?e(e$1,s):ra(e$1,s)}async ensureCollectionTables(t){let i=[];for(let e of t){let s=e.slug.startsWith("_globals_"),a=this.getTableName(e.slug),r=this.generateCreateColumns(e),n=e.fields.some(u=>u.name==="createdAt"),o=e.fields.some(u=>u.name==="updatedAt"),c=e.fields.some(u=>u.name==="status"),d=e.fields.some(u=>u.name==="hasDraft");if(this.dialect==="postgres"){let u=s?'"id" TEXT PRIMARY KEY':'"id" UUID PRIMARY KEY DEFAULT gen_random_uuid()';i.push(`
3
+ `)}function le(f,t){return Array.isArray(f)?f.map(i=>{if(!i||typeof i!="object")return i;let e=i.data?{...i.data}:void 0;if(!e)return i;let s=t.find(a=>a.slug===i.type||a.slug===i.slug);if(!s||!Array.isArray(s.fields))return i;for(let a of s.fields){if(a.name&&(a.type==="upload"||a.type==="image")&&e[a.name]){let r=e[a.name];Array.isArray(r)?e[a.name]=r.map(n=>typeof n=="string"?{id:n}:n):typeof r=="string"&&(e[a.name]={id:r});}if(a.type==="blocks"&&a.name&&e[a.name]){let r=a.blocks||[];e[a.name]=le(e[a.name],r);}}return {...i,data:e}}):f}var M=class extends a{client;schema;_schemaEnsured=false;dialect;connectionString;versionsTableReady=false;rawClient;constructor(t){if(super(),this.schema=t.schema||{},t.connectionString){this.connectionString=t.connectionString;let i=t.connectionString.toLowerCase();i.startsWith("postgres://")||i.startsWith("postgresql://")?this.dialect="postgres":i.includes(".db")||i.includes("sqlite")||i.includes("file:")?this.dialect="sqlite":this.dialect=t.type||"postgres";}else this.rawClient=t.client,this.client=t.client,this.dialect=t.type||"sqlite";}prepareData(t,i){let e=super.prepareData(t,i);e.createdAt&&typeof e.createdAt=="string"&&(e.createdAt=new Date(e.createdAt)),e.updatedAt&&typeof e.updatedAt=="string"&&(e.updatedAt=new Date(e.updatedAt));for(let s of i.fields)if(s.type==="date"&&s.name){let a=e[s.name];a&&typeof a=="string"&&(e[s.name]=new Date(a));}for(let s of i.fields){let r=L(s,this.dialect)==="jsonb";if(s.type==="tabs"&&"tabs"in s&&s.name){let n=t[s.name];if(n&&typeof n=="object"){let o={};for(let[c,d]of Object.entries(n)){let u=s.tabs.flatMap(g=>g.fields).find(g=>g.name===c);(u?.type==="upload"||u?.type==="image"||u?.type==="list"||u?.type==="relationship-block")&&d?o[c]=Array.isArray(d)||typeof d=="object"?JSON.stringify(d):d:o[c]=d;}e[s.name]=this.dialect==="sqlite"||!r?JSON.stringify(o):o;}}else if(r&&s.name&&t[s.name]!==void 0&&t[s.name]!==null)e[s.name]=this.dialect==="sqlite"?JSON.stringify(t[s.name]):t[s.name];else if((s.type==="upload"||s.type==="image"||s.type==="list"||s.type==="relationship-block")&&s.name){let n=t[s.name];n!=null&&(e[s.name]=this.dialect==="sqlite"||!r?typeof n=="string"?n:JSON.stringify(n):n);}}for(let s of i.fields)if(s.name&&e[s.name]===""){let a=L(s,this.dialect);(a==="timestamp"||a==="jsonb"||a==="decimal"||a==="integer"||a==="numeric"||a==="boolean")&&(e[s.name]=null);}return e}async connect(){if(this.connectionString&&!this.client){if(this.dialect==="postgres"){let t,i;try{t=(await import('./src-QBADSZV4.js')).default,i=(await import('./postgres-js-4CI7FMYS.js')).drizzle;}catch{a$1(["postgres","drizzle-orm"]),t=(await import('./src-QBADSZV4.js')).default,i=(await import('./postgres-js-4CI7FMYS.js')).drizzle;}let e=t(this.connectionString,{onnotice:()=>{}});this.client=i(e,{schema:this.schema});}else if(this.dialect==="sqlite"){let t,i;try{t=(await import('better-sqlite3')).default,i=(await import('./better-sqlite3-B34RIU4C.js')).drizzle;}catch{a$1(["better-sqlite3","drizzle-orm"]),t=(await import('better-sqlite3')).default,i=(await import('./better-sqlite3-B34RIU4C.js')).drizzle;}let e=new t(this.connectionString.replace("file:",""));this.client=i(e,{schema:this.schema});}}if(this.rawClient&&typeof this.rawClient.prepare=="function"&&typeof this.client?.select!="function"){let{drizzle:t}=await import('./d1-HPB6B253.js');this.client=t(this.rawClient,{schema:this.schema});}this.connected=true;}async init(t,i=[]){if(await super.init(t,i),(this.connectionString&&!this.client||this.rawClient&&typeof this.client?.select!="function")&&await this.connect(),this.client&&!this._schemaEnsured){for(let s of t){let a=this.getTableName(s.slug);this.schema[a]||(this.schema[a]=this.createTableFromConfig(s));}await this.ensureCollectionTables(t);let e=i.map(s=>({slug:`_globals_${s.slug}`,fields:s.fields,label:s.label}));for(let s of e){let a=this.getTableName(s.slug);this.schema[a]||(this.schema[a]=this.createTableFromConfig(s,true)),this.collections.has(s.slug)||this.collections.set(s.slug,s);}await this.ensureCollectionTables(e),this._schemaEnsured=true;}}createTableFromConfig(t,i=false){let e$1=this.getTableName(t.slug),s={id:i?ia("id").primaryKey():oa("id").primaryKey().defaultRandom()};for(let a of t.fields){if(!a.name||a.name==="id"||a.type==="password")continue;let r=L(a,this.dialect),n=a.name.replace(/-/g,"_"),o=n.replace(/([A-Z])/g,"_$1").toLowerCase(),c$1;if(this.dialect==="sqlite")switch(r){case "varchar":case "text":c$1=c(o);break;case "integer":c$1=a$2(o);break;case "decimal":case "numeric":c$1=b(o);break;case "boolean":c$1=a$2(o,{mode:"boolean"});break;case "timestamp":c$1=c(o);break;case "jsonb":c$1=c(o);break;default:c$1=c(o);}else switch(r){case "varchar":c$1=pa(o,{length:255});break;case "integer":c$1=ca(o);break;case "decimal":c$1=ha(o);break;case "boolean":c$1=$(o);break;case "timestamp":c$1=ma(o);break;case "jsonb":c$1=fa(o);break;default:c$1=ia(o);}a.required||(c$1=c$1.default(null)),s[n]=c$1;}return s.createdAt||(s.createdAt=this.dialect==="sqlite"?c("created_at").default(new Date().toISOString()):ma("created_at").defaultNow()),s.updatedAt||(s.updatedAt=this.dialect==="sqlite"?c("updated_at").default(new Date().toISOString()):ma("updated_at").defaultNow()),e$1!=="users"&&e$1!=="audit_logs"&&(s.status||(s.status=this.dialect==="sqlite"?c("status").default("draft"):pa("status",{length:20}).default("draft")),s.hasDraft||(s.hasDraft=this.dialect==="sqlite"?a$2("hasDraft",{mode:"boolean"}).default(false):$("hasDraft").default(false))),this.dialect==="sqlite"?e(e$1,s):ra(e$1,s)}async ensureCollectionTables(t){let i=[];for(let e of t){let s=e.slug.startsWith("_globals_"),a=this.getTableName(e.slug),r=this.generateCreateColumns(e),n=e.fields.some(u=>u.name==="createdAt"),o=e.fields.some(u=>u.name==="updatedAt"),c=e.fields.some(u=>u.name==="status"),d=e.fields.some(u=>u.name==="hasDraft");if(this.dialect==="postgres"){let u=s?'"id" TEXT PRIMARY KEY':'"id" UUID PRIMARY KEY DEFAULT gen_random_uuid()';i.push(`
4
4
  CREATE TABLE IF NOT EXISTS "${a}" (
5
5
  ${u},
6
6
  ${r}
@@ -130,5 +130,5 @@ g();function D(f){if(typeof f!="string")return f;let t=f.replace(/-/g,"").toLowe
130
130
  created_at text NOT NULL,
131
131
  updated_at text NOT NULL
132
132
  )
133
- `,await this.executeRaw(J.raw(t));try{this.dialect==="postgres"?await this.executeRaw(J.raw("ALTER TABLE kyro_versions ADD COLUMN IF NOT EXISTS autosave integer NOT NULL DEFAULT 0")):await this.executeRaw(J.raw("ALTER TABLE kyro_versions ADD COLUMN autosave integer NOT NULL DEFAULT 0"));}catch{}this.versionsTableReady=true;}async execute(t){return this.executeRaw(t)}async executeRaw(t){let i="",e=[];if(typeof t=="string")i=t;else if(t&&(t.queryChunks||t.decoder))if(this.dialect==="postgres"){let a=new a$4().sqlToQuery(t);i=a.sql,e=a.params;}else {let a=new h().sqlToQuery(t);i=a.sql,e=a.params;}else if(t&&typeof t.toSQL=="function"){let a=t.toSQL();i=a.sql,e=a.params||[];}else i=String(t);let s=this.rawClient||this.client;if(s?.prepare&&typeof s.prepare=="function"){let a=s.prepare(i);return (e.length>0?await a.bind(...e).all():await a.all()).results||[]}if(typeof this.client?.execute=="function"){let a=await this.client.execute(t);return Array.isArray(a)?a:Array.isArray(a?.rows)?a.rows:Array.isArray(a?.[0])?a[0]:[]}return []}};function $e(f){return new M(f)}g();var x;function Ee(){return x||(x=createRequire("file:///")("node:sqlite").DatabaseSync,x)}function we(){return process.env.DB_TYPE==="postgres"?"postgres":"sqlite"}function de(){return randomBytes(16).toString("hex")}async function Pe(){let f$1=we();if(f$1==="sqlite"){let r=resolve(process.cwd(),"data","kyro.db");await mkdir(dirname(r),{recursive:true});let n=new(Ee())(r);return n.exec("PRAGMA journal_mode = WAL"),{db:n,dialect:f$1,genId:de}}let t=process.env.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/kyro_cms",i=parseInt(process.env.DB_POOL_MAX||"10",10),e=process.env.DB_SSL==="true",s=a$5(t,{max:i,ssl:e?"require":false,onnotice:()=>{}});return {db:f(s),dialect:f$1,genId:de}}async function je(f,t){}async function Be(f){let{roles:t}=await import('./schema-XC5ISGNR.js');await f.insert(t).values({name:"super_admin",level:100,inherits:[],description:"Full system access across all tenants",isSystem:true}).onConflictDoNothing();}
133
+ `,await this.executeRaw(J.raw(t));try{this.dialect==="postgres"?await this.executeRaw(J.raw("ALTER TABLE kyro_versions ADD COLUMN IF NOT EXISTS autosave integer NOT NULL DEFAULT 0")):await this.executeRaw(J.raw("ALTER TABLE kyro_versions ADD COLUMN autosave integer NOT NULL DEFAULT 0"));}catch{}this.versionsTableReady=true;}async execute(t){return this.executeRaw(t)}async executeRaw(t){let i="",e=[];if(typeof t=="string")i=t;else if(t&&(t.queryChunks||t.decoder))if(this.dialect==="postgres"){let a=new a$4().sqlToQuery(t);i=a.sql,e=a.params;}else {let a=new h().sqlToQuery(t);i=a.sql,e=a.params;}else if(t&&typeof t.toSQL=="function"){let a=t.toSQL();i=a.sql,e=a.params||[];}else i=String(t);let s=this.rawClient||this.client;if(s?.prepare&&typeof s.prepare=="function"){let a=s.prepare(i);return (e.length>0?await a.bind(...e).all():await a.all()).results||[]}if(typeof this.client?.execute=="function"){let a=await this.client.execute(t);return Array.isArray(a)?a:Array.isArray(a?.rows)?a.rows:Array.isArray(a?.[0])?a[0]:[]}return []}};function $e(f){return new M(f)}g();var x;function Ee(){return x||(x=createRequire("file:///")("node:sqlite").DatabaseSync,x)}function we(){return process.env.DB_TYPE==="postgres"?"postgres":"sqlite"}function de(){return randomBytes(16).toString("hex")}async function Pe(){let f$1=we();if(f$1==="sqlite"){let r=resolve(process.cwd(),"data","kyro.db");await mkdir(dirname(r),{recursive:true});let n=new(Ee())(r);return n.exec("PRAGMA journal_mode = WAL"),{db:n,dialect:f$1,genId:de}}let t=process.env.DATABASE_URL||"postgresql://postgres:postgres@localhost:5432/kyro_cms",i=parseInt(process.env.DB_POOL_MAX||"10",10),e=process.env.DB_SSL==="true",s=a$5(t,{max:i,ssl:e?"require":false,onnotice:()=>{}});return {db:f(s),dialect:f$1,genId:de}}async function je(f,t){}async function Be(f){let{roles:t}=await import('./schema-YFMSJK2P.js');await f.insert(t).values({name:"super_admin",level:100,inherits:[],description:"Full system access across all tenants",isSystem:true}).onConflictDoNothing();}
134
134
  export{L as a,Ie as b,M as c,$e as d,de as e,Pe as f,je as g,Be as h};
@@ -1,2 +1,2 @@
1
- import {createRequire}from'module';import {a}from'./chunk-66BJXVFJ.js';import {ra,ma,fa,pa,ia,ca,oa}from'./chunk-7AQSH3KR.js';import {g as g$1}from'./chunk-C2PXMVR5.js';createRequire(import.meta.url);
1
+ import {a}from'./chunk-FLMUMPDE.js';import {ra,ma,fa,pa,ia,ca,oa}from'./chunk-3NSZZCOJ.js';import {g as g$1}from'./chunk-Y2YAKDEQ.js';if (typeof window === "undefined") { const { createRequire } = await import(/* @vite-ignore */ 'module'); createRequire(import.meta.url); }
2
2
  g$1();var f=ra("media",{id:oa("id").primaryKey().defaultRandom(),filename:pa("filename",{length:255}).notNull().unique(),title:pa("title",{length:255}),originalName:pa("original_name",{length:255}).notNull(),mimeType:pa("mime_type",{length:100}).notNull(),fileSize:ca("file_size").notNull(),width:ca("width"),height:ca("height"),url:ia("url").notNull().unique(),thumbnailUrl:ia("thumbnail_url"),folder:pa("folder",{length:255}),provider:pa("provider",{length:50}).notNull(),alt:ia("alt"),caption:ia("caption"),type:pa("type",{length:50}).notNull().default("other"),status:pa("status",{length:20}).notNull().default("active"),metadata:fa("metadata").$type(),createdAt:ma("created_at").defaultNow().notNull(),updatedAt:ma("updated_at").defaultNow().notNull()},t=>[a("media_folder_idx").on(t.folder),a("media_provider_idx").on(t.provider),a("media_filename_idx").on(t.filename)]),g=ra("media_folders",{path:pa("path",{length:500}).primaryKey(),name:pa("name",{length:255}).notNull(),parentPath:pa("parent_path",{length:500}),createdAt:ma("created_at").defaultNow().notNull()},t=>[a("media_folders_parent_idx").on(t.parentPath)]);export{f as a,g as b};