@heyo-sh/heyo-cms 0.3.0 → 0.3.1

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 (56) hide show
  1. package/dist/ai.js +1 -1
  2. package/dist/auth.js +1 -1
  3. package/dist/cli.js +2 -2
  4. package/dist/config.js +1 -1
  5. package/dist/content.js +1 -1
  6. package/dist/db/d1.js +1 -1
  7. package/dist/db/mongodb.d.ts +2 -1
  8. package/dist/db/mongodb.d.ts.map +1 -1
  9. package/dist/db/mongodb.js +2 -2
  10. package/dist/db/postgres.js +1 -1
  11. package/dist/db/sql/adapter.d.ts.map +1 -1
  12. package/dist/db/sql/dialect.d.ts +3 -0
  13. package/dist/db/sql/dialect.d.ts.map +1 -1
  14. package/dist/db/sqlite.js +1 -1
  15. package/dist/db/unique.d.ts +46 -0
  16. package/dist/db/unique.d.ts.map +1 -0
  17. package/dist/editor.js +1 -1
  18. package/dist/fields.js +1 -1
  19. package/dist/http.js +1 -1
  20. package/dist/{index-b79c3k6g.js → index-0fe3ngv2.js} +2 -2
  21. package/dist/{index-1xz3pmtk.js → index-1xwmw8vb.js} +2 -2
  22. package/dist/{index-mpkhjgvk.js → index-2djaxtj8.js} +4 -4
  23. package/dist/{index-63x90ejh.js → index-2j6d79fk.js} +6 -6
  24. package/dist/{index-zyg6bfdq.js → index-2zpnecrk.js} +2 -2
  25. package/dist/{index-761dec5z.js → index-344y6q4n.js} +2 -2
  26. package/dist/index-4j1kkeg2.js +2 -0
  27. package/dist/{index-eqfcxn71.js → index-5j0cqm43.js} +2 -2
  28. package/dist/{index-wbc2xh4h.js → index-5yt6r97r.js} +6 -6
  29. package/dist/{index-a8jcwqsf.js → index-78f0ghve.js} +2 -2
  30. package/dist/{index-szaq03qq.js → index-8j4p950b.js} +2 -2
  31. package/dist/{index-466cwb0b.js → index-cakys3fy.js} +2 -2
  32. package/dist/{index-p2cqsmvw.js → index-cnzt9x9x.js} +2 -2
  33. package/dist/{index-abfzb1ve.js → index-e3yknwyr.js} +2 -2
  34. package/dist/{index-vf163r10.js → index-fy8r8e53.js} +2 -2
  35. package/dist/index-gv8j76x3.js +26 -0
  36. package/dist/{index-dtwe2z69.js → index-mzxsxzkd.js} +4 -4
  37. package/dist/{index-91fa1gzf.js → index-n09v6gx3.js} +2 -2
  38. package/dist/{index-axpzy2hj.js → index-pkxgzw6e.js} +2 -2
  39. package/dist/{index-vzhxn50e.js → index-q6ak9ph4.js} +2 -2
  40. package/dist/{index-6m1kjq9g.js → index-q6jkbsjp.js} +2 -2
  41. package/dist/{index-8nzmqy0f.js → index-qgtvymh2.js} +2 -2
  42. package/dist/{index-s9x07zb3.js → index-qkqtxr65.js} +2 -2
  43. package/dist/{index-ypcmns0v.js → index-rb9fxtyn.js} +2 -2
  44. package/dist/{index-a1jv6396.js → index-rpdkj3qk.js} +11 -11
  45. package/dist/{index-ptttzgtp.js → index-twqpdtfh.js} +3 -3
  46. package/dist/index.js +1 -1
  47. package/dist/jobs.js +1 -1
  48. package/dist/migrations.js +1 -1
  49. package/dist/query.js +1 -1
  50. package/dist/{run-rqmtv3cn.js → run-mtgvmy5x.js} +2 -2
  51. package/dist/schema.js +1 -1
  52. package/dist/telemetry.js +1 -1
  53. package/dist/uploads.js +3 -3
  54. package/dist/webhooks.js +1 -1
  55. package/package.json +1 -1
  56. package/dist/index-4qrep5f0.js +0 -26
@@ -1,2 +1,2 @@
1
- import{w}from"./index-rw0hze6x.js";async function ct(o,r={}){let{drainEvents:t=!0,...s}=r,i=await o.jobs.run(s);if(t)await o.drainEvents();return i}function bn(o){let{cms:r,interval:t=60000,immediate:s=!0,onReport:i,onError:e,signal:f,...R}=o,b=typeof t==="number"?t:w(t),a=!1,p=null,u,c=async()=>{let n=ct(r,R);p=n;try{let m=await n;return i?.(m),m}finally{p=null}},l=()=>{if(a)return;u=setTimeout(()=>{c().catch((n)=>{if(e)e(n);else console.error("[heyo-cms] job sweep failed:",n)}).finally(l)},b),u.unref?.()},d={runNow:()=>c(),async stop(){if(a=!0,u)clearTimeout(u);await p?.catch(()=>{return})},get running(){return!a}};if(f?.addEventListener("abort",()=>void d.stop(),{once:!0}),s)c().catch((n)=>{if(e)e(n);else console.error("[heyo-cms] job sweep failed:",n)}).finally(l);else l();return d}function wn(o,r={}){return async(t,s,i)=>{let e=ct(o,r);i?.waitUntil?.(e),await e}}
2
- export{ct,bn,wn};
1
+ import{w}from"./index-rw0hze6x.js";async function dt(o,r={}){let{drainEvents:t=!0,...s}=r,i=await o.jobs.run(s);if(t)await o.drainEvents();return i}function wn(o){let{cms:r,interval:t=60000,immediate:s=!0,onReport:i,onError:e,signal:f,...R}=o,b=typeof t==="number"?t:w(t),a=!1,p=null,u,c=async()=>{let n=dt(r,R);p=n;try{let m=await n;return i?.(m),m}finally{p=null}},l=()=>{if(a)return;u=setTimeout(()=>{c().catch((n)=>{if(e)e(n);else console.error("[heyo-cms] job sweep failed:",n)}).finally(l)},b),u.unref?.()},d={runNow:()=>c(),async stop(){if(a=!0,u)clearTimeout(u);await p?.catch(()=>{return})},get running(){return!a}};if(f?.addEventListener("abort",()=>void d.stop(),{once:!0}),s)c().catch((n)=>{if(e)e(n);else console.error("[heyo-cms] job sweep failed:",n)}).finally(l);else l();return d}function vn(o,r={}){return async(t,s,i)=>{let e=dt(o,r);i?.waitUntil?.(e),await e}}
2
+ export{dt,wn,vn};
@@ -1,2 +1,2 @@
1
- import{createHash as u}from"node:crypto";import{arch as f,platform as m,release as p}from"node:os";var wo="https://telemetry.heyo.sh/v1/cms";function Ut(e,n=process.env){if(e?.enabled===!1)return{enabled:!1,reason:"telemetry: { enabled: false } in the configuration"};if(l(n.HEYO_TELEMETRY_DISABLED))return{enabled:!1,reason:"HEYO_TELEMETRY_DISABLED is set"};if(l(n.DO_NOT_TRACK))return{enabled:!1,reason:"DO_NOT_TRACK is set"};if(l(n.CI))return{enabled:!1,reason:"this is CI"};if(n.NODE_ENV==="test")return{enabled:!1,reason:"NODE_ENV is test"};return{enabled:!0,reason:"on by default; see `heyo-cms telemetry`"}}function Jt(e,n,o){let t=n._config,r=Object.values(t.collections),i=Object.values(t.globals),c=r.reduce((s,a)=>s+Object.keys(a.fields).length,0)+i.reduce((s,a)=>s+Object.keys(a.fields).length,0),d=typeof t.database==="function"?"lazy":t.database.id;return{event:e,version:o,project:y([t.basePath,d,...r.map((s)=>s.slug).sort(),...i.map((s)=>s.slug).sort()]),runtime:b(),system:{platform:m(),arch:f(),release:p()},database:d,usage:{collections:r.length,globals:i.length,fields:c,plugins:t.plugins.length,locales:t.i18n.locales.length},features:{panel:t.admin.assets!==void 0,auth:t.admin.auth!==void 0,uploads:g(t.uploads?.storage),ai:t.ai!==void 0,webhooks:t.webhooks?.enabled===!0,trash:t.trash.enabled}}}async function vo(e,n={}){let o=n.fetch??globalThis.fetch;try{return(await o(n.endpoint??wo,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e),signal:AbortSignal.timeout(n.timeout??2000)})).ok?"sent":"failed"}catch{return"failed"}}async function yn(e){let n=Ut(e.config,e.environment);if(!n.enabled)return{decision:n,result:"skipped"};let o=Jt(e.event,e.cms,e.version),t=await vo(o,{...e.send,...e.config?.endpoint?{endpoint:e.config.endpoint}:{}});return{decision:n,result:t}}function g(e){if(e===void 0)return null;return typeof e==="function"?"lazy":e.id}function y(e){return u("sha256").update(e.join("|")).digest("hex").slice(0,16)}function b(){let e=globalThis.Bun;if(e)return{name:"bun",version:e.version};let n=globalThis.Deno;if(n)return{name:"deno",version:n.version.deno};return{name:"node",version:process.versions.node}}function l(e){return e!==void 0&&e!==""&&e!=="0"&&e!=="false"}
2
- export{wo,Ut,Jt,vo,yn};
1
+ import{createHash as u}from"node:crypto";import{arch as f,platform as m,release as p}from"node:os";var ko="https://telemetry.heyo.sh/v1/cms";function Jt(e,n=process.env){if(e?.enabled===!1)return{enabled:!1,reason:"telemetry: { enabled: false } in the configuration"};if(l(n.HEYO_TELEMETRY_DISABLED))return{enabled:!1,reason:"HEYO_TELEMETRY_DISABLED is set"};if(l(n.DO_NOT_TRACK))return{enabled:!1,reason:"DO_NOT_TRACK is set"};if(l(n.CI))return{enabled:!1,reason:"this is CI"};if(n.NODE_ENV==="test")return{enabled:!1,reason:"NODE_ENV is test"};return{enabled:!0,reason:"on by default; see `heyo-cms telemetry`"}}function Wt(e,n,o){let t=n._config,r=Object.values(t.collections),i=Object.values(t.globals),c=r.reduce((s,a)=>s+Object.keys(a.fields).length,0)+i.reduce((s,a)=>s+Object.keys(a.fields).length,0),d=typeof t.database==="function"?"lazy":t.database.id;return{event:e,version:o,project:y([t.basePath,d,...r.map((s)=>s.slug).sort(),...i.map((s)=>s.slug).sort()]),runtime:b(),system:{platform:m(),arch:f(),release:p()},database:d,usage:{collections:r.length,globals:i.length,fields:c,plugins:t.plugins.length,locales:t.i18n.locales.length},features:{panel:t.admin.assets!==void 0,auth:t.admin.auth!==void 0,uploads:g(t.uploads?.storage),ai:t.ai!==void 0,webhooks:t.webhooks?.enabled===!0,trash:t.trash.enabled}}}async function Ro(e,n={}){let o=n.fetch??globalThis.fetch;try{return(await o(n.endpoint??ko,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e),signal:AbortSignal.timeout(n.timeout??2000)})).ok?"sent":"failed"}catch{return"failed"}}async function bn(e){let n=Jt(e.config,e.environment);if(!n.enabled)return{decision:n,result:"skipped"};let o=Wt(e.event,e.cms,e.version),t=await Ro(o,{...e.send,...e.config?.endpoint?{endpoint:e.config.endpoint}:{}});return{decision:n,result:t}}function g(e){if(e===void 0)return null;return typeof e==="function"?"lazy":e.id}function y(e){return u("sha256").update(e.join("|")).digest("hex").slice(0,16)}function b(){let e=globalThis.Bun;if(e)return{name:"bun",version:e.version};let n=globalThis.Deno;if(n)return{name:"deno",version:n.version.deno};return{name:"node",version:process.versions.node}}function l(e){return e!==void 0&&e!==""&&e!=="0"&&e!=="false"}
2
+ export{ko,Jt,Wt,Ro,bn};
@@ -1,2 +1,2 @@
1
- var Ae="x-heyo-signature";async function ke(e,n,t=Math.floor(Date.now()/1000)){let o=await crypto.subtle.importKey("raw",new TextEncoder().encode(n),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),a=await crypto.subtle.sign("HMAC",o,new TextEncoder().encode(`${t}.${e}`));return`t=${t},v1=${u(new Uint8Array(a))}`}async function Cn(e){let n=new Map(e.header.split(",").map((r)=>{let[l,d]=r.split("=");return[l?.trim()??"",d?.trim()??""]})),t=Number(n.get("t")),o=n.get("v1");if(!Number.isFinite(t)||!o)return!1;let a=e.now??Math.floor(Date.now()/1000),c=e.toleranceSeconds??300;if(Math.abs(a-t)>c)return!1;let s=(await ke(e.body,e.secret,t)).split("v1=")[1]??"";if(s.length!==o.length)return!1;let i=0;for(let r=0;r<s.length;r+=1)i|=s.charCodeAt(r)^o.charCodeAt(r);return i===0}function u(e){let n="";for(let t of e)n+=t.toString(16).padStart(2,"0");return n}
2
- export{Ae,ke,Cn};
1
+ var Ae="x-heyo-signature";async function ke(e,n,t=Math.floor(Date.now()/1000)){let o=await crypto.subtle.importKey("raw",new TextEncoder().encode(n),{name:"HMAC",hash:"SHA-256"},!1,["sign"]),a=await crypto.subtle.sign("HMAC",o,new TextEncoder().encode(`${t}.${e}`));return`t=${t},v1=${u(new Uint8Array(a))}`}async function On(e){let n=new Map(e.header.split(",").map((r)=>{let[l,d]=r.split("=");return[l?.trim()??"",d?.trim()??""]})),t=Number(n.get("t")),o=n.get("v1");if(!Number.isFinite(t)||!o)return!1;let a=e.now??Math.floor(Date.now()/1000),c=e.toleranceSeconds??300;if(Math.abs(a-t)>c)return!1;let s=(await ke(e.body,e.secret,t)).split("v1=")[1]??"";if(s.length!==o.length)return!1;let i=0;for(let r=0;r<s.length;r+=1)i|=s.charCodeAt(r)^o.charCodeAt(r);return i===0}function u(e){let n="";for(let t of e)n+=t.toString(16).padStart(2,"0");return n}
2
+ export{Ae,ke,On};
@@ -1,2 +1,2 @@
1
- async function Pe(e){let t=crypto.getRandomValues(new Uint8Array(16)),n=await o(e,t,1e5);return["pbkdf2-sha256",1e5,ie(t),ie(n)].join("$")}async function pn(e,t){if(!t)return!1;let[n,r,s,i]=t.split("$");if(n!=="pbkdf2-sha256"||!r||!s||!i)return!1;let a=await o(e,mn(s),Number(r));return c(ie(a),i)}async function o(e,t,n){let r=await crypto.subtle.importKey("raw",new TextEncoder().encode(e),"PBKDF2",!1,["deriveBits"]),s=await crypto.subtle.deriveBits({name:"PBKDF2",salt:t,iterations:n,hash:"SHA-256"},r,256);return new Uint8Array(s)}function we(e=32){return ie(crypto.getRandomValues(new Uint8Array(e)))}async function re(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return l(new Uint8Array(t))}function c(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r+=1)n|=e.charCodeAt(r)^t.charCodeAt(r);return n===0}function ie(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function mn(e){let t=e.replaceAll("-","+").replaceAll("_","/"),n=atob(t.padEnd(Math.ceil(t.length/4)*4,"=")),r=new Uint8Array(n.length);for(let s=0;s<n.length;s+=1)r[s]=n.charCodeAt(s);return r}function l(e){let t="";for(let n of e)t+=n.toString(16).padStart(2,"0");return t}async function fo(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return ie(new Uint8Array(t))}
2
- export{Pe,pn,we,re,ie,mn,fo};
1
+ async function Pe(e){let t=crypto.getRandomValues(new Uint8Array(16)),n=await o(e,t,1e5);return["pbkdf2-sha256",1e5,ie(t),ie(n)].join("$")}async function mn(e,t){if(!t)return!1;let[n,r,s,i]=t.split("$");if(n!=="pbkdf2-sha256"||!r||!s||!i)return!1;let a=await o(e,fn(s),Number(r));return c(ie(a),i)}async function o(e,t,n){let r=await crypto.subtle.importKey("raw",new TextEncoder().encode(e),"PBKDF2",!1,["deriveBits"]),s=await crypto.subtle.deriveBits({name:"PBKDF2",salt:t,iterations:n,hash:"SHA-256"},r,256);return new Uint8Array(s)}function we(e=32){return ie(crypto.getRandomValues(new Uint8Array(e)))}async function re(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return l(new Uint8Array(t))}function c(e,t){if(e.length!==t.length)return!1;let n=0;for(let r=0;r<e.length;r+=1)n|=e.charCodeAt(r)^t.charCodeAt(r);return n===0}function ie(e){let t="";for(let n of e)t+=String.fromCharCode(n);return btoa(t).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function fn(e){let t=e.replaceAll("-","+").replaceAll("_","/"),n=atob(t.padEnd(Math.ceil(t.length/4)*4,"=")),r=new Uint8Array(n.length);for(let s=0;s<n.length;s+=1)r[s]=n.charCodeAt(s);return r}function l(e){let t="";for(let n of e)t+=n.toString(16).padStart(2,"0");return t}async function bo(e){let t=await crypto.subtle.digest("SHA-256",new TextEncoder().encode(e));return ie(new Uint8Array(t))}
2
+ export{Pe,mn,we,re,ie,fn,bo};
@@ -1,2 +1,2 @@
1
- var l={ß:"ss",æ:"ae",œ:"oe",ø:"o",ð:"d",þ:"th",đ:"d",ł:"l",ı:"i",ĸ:"k",ŋ:"n",ŧ:"t"},a={а:"a",б:"b",в:"v",г:"h",ґ:"g",д:"d",е:"e",є:"ie",ж:"zh",з:"z",и:"y",і:"i",ї:"i",й:"i",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ў:"u",ф:"f",х:"kh",ц:"ts",ч:"ch",ш:"sh",щ:"shch",ь:"",ю:"iu",я:"ia",ъ:"",ы:"y",э:"e",ё:"e"},u={α:"a",β:"v",γ:"g",δ:"d",ε:"e",ζ:"z",η:"i",θ:"th",ι:"i",κ:"k",λ:"l",μ:"m",ν:"n",ξ:"x",ο:"o",π:"p",ρ:"r",σ:"s",ς:"s",τ:"t",υ:"y",φ:"f",χ:"ch",ψ:"ps",ω:"o"},Mn="^[a-z0-9]+(?:-[a-z0-9]+)*$",p=new RegExp("^[a-z0-9]+(?:-[a-z0-9]+)*$");function sn(e){return p.test(e)}function ye(e,n={}){let t=n.maxLength??96,c=Array.from(e.toLowerCase()).map((r)=>l[r]??a[r]??u[r.normalize("NFD").replace(/[\u0300-\u036f]/g,"")]??r).join("").normalize("NFKD").replace(/[\u0300-\u036f]/g,"").replace(/['’`]/g,"").replace(/[^a-z0-9]+/g,"-"),s=g(c);if(s.length<=t)return s;let i=s.slice(0,t),o=i.lastIndexOf("-");return o>=t/2?i.slice(0,o):g(i)}function g(e){let n=0,t=e.length;while(n<t&&e.charCodeAt(n)===45)n++;while(t>n&&e.charCodeAt(t-1)===45)t--;return e.slice(n,t)}
2
- export{Mn,sn,ye};
1
+ var l={ß:"ss",æ:"ae",œ:"oe",ø:"o",ð:"d",þ:"th",đ:"d",ł:"l",ı:"i",ĸ:"k",ŋ:"n",ŧ:"t"},a={а:"a",б:"b",в:"v",г:"h",ґ:"g",д:"d",е:"e",є:"ie",ж:"zh",з:"z",и:"y",і:"i",ї:"i",й:"i",к:"k",л:"l",м:"m",н:"n",о:"o",п:"p",р:"r",с:"s",т:"t",у:"u",ў:"u",ф:"f",х:"kh",ц:"ts",ч:"ch",ш:"sh",щ:"shch",ь:"",ю:"iu",я:"ia",ъ:"",ы:"y",э:"e",ё:"e"},u={α:"a",β:"v",γ:"g",δ:"d",ε:"e",ζ:"z",η:"i",θ:"th",ι:"i",κ:"k",λ:"l",μ:"m",ν:"n",ξ:"x",ο:"o",π:"p",ρ:"r",σ:"s",ς:"s",τ:"t",υ:"y",φ:"f",χ:"ch",ψ:"ps",ω:"o"},Dn="^[a-z0-9]+(?:-[a-z0-9]+)*$",p=new RegExp("^[a-z0-9]+(?:-[a-z0-9]+)*$");function an(e){return p.test(e)}function ye(e,n={}){let t=n.maxLength??96,c=Array.from(e.toLowerCase()).map((r)=>l[r]??a[r]??u[r.normalize("NFD").replace(/[\u0300-\u036f]/g,"")]??r).join("").normalize("NFKD").replace(/[\u0300-\u036f]/g,"").replace(/['’`]/g,"").replace(/[^a-z0-9]+/g,"-"),s=g(c);if(s.length<=t)return s;let i=s.slice(0,t),o=i.lastIndexOf("-");return o>=t/2?i.slice(0,o):g(i)}function g(e){let n=0,t=e.length;while(n<t&&e.charCodeAt(n)===45)n++;while(t>n&&e.charCodeAt(t-1)===45)t--;return e.slice(n,t)}
2
+ export{Dn,an,ye};
@@ -1,2 +1,2 @@
1
- import{n}from"./index-x72d1hzh.js";var r=new Map;function po(i){let t=r.get(i.name);if(t!==void 0&&t!==i)throw new n(`fields.${i.name}`,"a different field type with this name is already registered");r.set(i.name,i)}function Ko(i){return r.get(i)}function Zo(){return[...r.keys()].sort()}function C(i){return po(i),(t)=>{let e=t??{},o=i.optionsSchema?l(i.name,i.optionsSchema,e):e;if(e.admin!==void 0){for(let u of Object.keys(e.admin))if(u!=="hidden"&&u!=="placeholder")throw new n(`fields.${i.name}.admin.${u}`,"unsupported admin option; use only hidden or placeholder")}if(e.generate!==void 0&&typeof e.generate!=="function")throw new n(`fields.${i.name}.generate`,"must be a function");let d=e.required===!0;if(d&&e.admin?.hidden===!0)throw new n(`fields.${i.name}.admin.hidden`,"a hidden field cannot be required; remove required or show the field");let a=e.localized===!0,s=i.column(o);if(a&&(e.unique===!0||s.unique===!0))throw new n(`fields.${i.name}`,"a localized field cannot be unique in v1; enforce it in a hook instead");if(c(i.name,i.aiActions,e.ai),e.aiGenerate!==void 0){if(!["text","textarea","richText","email","url"].includes(i.name))throw new n(`fields.${i.name}.aiGenerate`,"generation currently supports text, textarea, richText, email and url fields")}return{type:i.name,options:e,schema:f(i.schema(o),d),column:{...s,nullable:s.nullable??!d,...e.unique===void 0?{}:{unique:e.unique},...e.index===void 0?{}:{index:e.index},storage:s.storage??"document"},localized:a,required:d,...e.default===void 0?{}:{defaultValue:e.default},...e.generate===void 0?{}:{generate:e.generate},...e.aiGenerate===void 0?{}:{aiGenerate:e.aiGenerate},...e.ai===void 0?{}:{ai:e.ai},...e.access===void 0?{}:{access:e.access},...e.admin===void 0?{}:{admin:e.admin},...typeof e.relationTo==="string"?{relationTo:e.relationTo}:{}}}}function l(i,t,e){let o=t.safeParse(e);if(!o.success){let d=o.error.issues[0],a=d?.path.length?` (${d.path.join(".")})`:"";throw new n(`fields.${i}`,`${d?.message??"invalid options"}${a}`)}return o.data}function f(i,t){return t?i:i.nullable()}function c(i,t,e){if(!e)return;if(e.generate!==void 0)throw new n(`fields.${i}.ai.generate`,"generation is configured with aiGenerate, not as an ai action");if(!t)return;for(let o of Object.keys(e)){let d=t.includes(o),a=typeof e[o]==="object";if(!d&&!a)throw new n(`fields.${i}.ai.${o}`,`unknown AI action; ${i} supports ${t.join(", ")}. Custom actions need an object with a prompt.`)}}
2
- export{po,Ko,Zo,C};
1
+ import{n}from"./index-x72d1hzh.js";var r=new Map;function go(i){let t=r.get(i.name);if(t!==void 0&&t!==i)throw new n(`fields.${i.name}`,"a different field type with this name is already registered");r.set(i.name,i)}function Xo(i){return r.get(i)}function er(){return[...r.keys()].sort()}function C(i){return go(i),(t)=>{let e=t??{},o=i.optionsSchema?l(i.name,i.optionsSchema,e):e;if(e.admin!==void 0){for(let u of Object.keys(e.admin))if(u!=="hidden"&&u!=="placeholder")throw new n(`fields.${i.name}.admin.${u}`,"unsupported admin option; use only hidden or placeholder")}if(e.generate!==void 0&&typeof e.generate!=="function")throw new n(`fields.${i.name}.generate`,"must be a function");let d=e.required===!0;if(d&&e.admin?.hidden===!0)throw new n(`fields.${i.name}.admin.hidden`,"a hidden field cannot be required; remove required or show the field");let a=e.localized===!0,s=i.column(o);if(a&&(e.unique===!0||s.unique===!0))throw new n(`fields.${i.name}`,"a localized field cannot be unique in v1; enforce it in a hook instead");if(c(i.name,i.aiActions,e.ai),e.aiGenerate!==void 0){if(!["text","textarea","richText","email","url"].includes(i.name))throw new n(`fields.${i.name}.aiGenerate`,"generation currently supports text, textarea, richText, email and url fields")}return{type:i.name,options:e,schema:f(i.schema(o),d),column:{...s,nullable:s.nullable??!d,...e.unique===void 0?{}:{unique:e.unique},...e.index===void 0?{}:{index:e.index},storage:s.storage??"document"},localized:a,required:d,...e.default===void 0?{}:{defaultValue:e.default},...e.generate===void 0?{}:{generate:e.generate},...e.aiGenerate===void 0?{}:{aiGenerate:e.aiGenerate},...e.ai===void 0?{}:{ai:e.ai},...e.access===void 0?{}:{access:e.access},...e.admin===void 0?{}:{admin:e.admin},...typeof e.relationTo==="string"?{relationTo:e.relationTo}:{}}}}function l(i,t,e){let o=t.safeParse(e);if(!o.success){let d=o.error.issues[0],a=d?.path.length?` (${d.path.join(".")})`:"";throw new n(`fields.${i}`,`${d?.message??"invalid options"}${a}`)}return o.data}function f(i,t){return t?i:i.nullable()}function c(i,t,e){if(!e)return;if(e.generate!==void 0)throw new n(`fields.${i}.ai.generate`,"generation is configured with aiGenerate, not as an ai action");if(!t)return;for(let o of Object.keys(e)){let d=t.includes(o),a=typeof e[o]==="object";if(!d&&!a)throw new n(`fields.${i}.ai.${o}`,`unknown AI action; ${i} supports ${t.join(", ")}. Custom actions need an object with a prompt.`)}}
2
+ export{go,Xo,er,C};
@@ -0,0 +1,26 @@
1
+ import{Vn,Gn,at}from"./index-4j1kkeg2.js";import{Ce,Oe}from"./index-q6ak9ph4.js";import{z}from"./index-344y6q4n.js";import{e,n}from"./index-x72d1hzh.js";class S{columns=new Map;documentColumns=new Map;constructor(t){if(t)this.use(t)}use(t){this.columns.clear(),this.documentColumns.clear();for(let r of t.tables)if(this.columns.set(r.name,new Map(r.columns.map((i)=>[i.name,i.type]))),r.documentColumn)this.documentColumns.set(r.name,r.documentColumn)}columnType(t,r){return this.columns.get(t)?.get(r)}documentColumn(t){return this.documentColumns.get(t)}tableColumns(t){return[...this.columns.get(t)?.keys()??[]]}knows(t){return this.columns.has(t)}}class E{dialect;catalog;constructor(t,r){this.dialect=t;this.catalog=r}compileQuery(t){let r=[],i=this.dialect.quote(t.table),a=`SELECT ${t.count?"COUNT(*) AS count":this.compileSelect(t)} FROM ${i}`;if(t.where)a+=` WHERE ${this.compileWhere(t.table,t.where,r)}`;if(!t.count&&t.orderBy&&t.orderBy.length>0){let o=t.orderBy.map((l)=>{let u=this.resolve(t.table,l.path),c=l.direction==="desc"?"DESC":"ASC";return`${this.expression(u)} ${c}`}).join(", ");a+=` ORDER BY ${o}`}if(!t.count&&t.limit!==void 0)a+=` LIMIT ${b(t.limit)}`;if(!t.count&&t.offset!==void 0)a+=` OFFSET ${b(t.offset)}`;return{text:a,values:r}}compileMutation(t){let r=[],i=this.dialect.quote(t.table);if(t.kind==="insert"){let o=Object.entries(t.values);if(o.length===0)throw new e("An insert needs at least one column.",{code:"empty_insert"});let l=o.map(([m])=>this.dialect.quote(m)).join(", "),u=o.map(([m,g])=>(r.push(this.encodeColumn(t.table,m,g)),this.dialect.placeholder(r.length))).join(", "),c=t.returning===!1?"":" RETURNING *";return{text:`INSERT INTO ${i} (${l}) VALUES (${u})${c}`,values:r}}if(t.kind==="update"){let o=Object.entries(t.set);if(o.length===0)throw new e("An update needs at least one column.",{code:"empty_update"});let l=o.map(([m,g])=>(r.push(this.encodeColumn(t.table,m,g)),`${this.dialect.quote(m)} = ${this.dialect.placeholder(r.length)}`)).join(", "),u=this.compileWhere(t.table,t.where,r),c=t.returning===!1?"":" RETURNING *";return{text:`UPDATE ${i} SET ${l} WHERE ${u}${c}`,values:r}}let s=this.compileWhere(t.table,t.where,r),a=t.returning===!0?" RETURNING *":"";return{text:`DELETE FROM ${i} WHERE ${s}${a}`,values:r}}decodeRow(t,r){let i={};for(let[s,a]of Object.entries(r)){let o=this.catalog.columnType(t,s);i[s]=o===void 0?a:this.dialect.decode(a,o)}return i}compileSelect(t){if(!t.select||t.select.length===0)return"*";return t.select.map((r)=>{let i=this.resolve(t.table,r);if(i.path.length===0)return this.dialect.quote(r);return`${this.expression(i)} AS "${r.replaceAll('"',"")}"`}).join(", ")}compileWhere(t,r,i){if(r.kind==="and"||r.kind==="or"){if(r.conditions.length===0)return r.kind==="and"?"1 = 1":"1 = 0";return`(${r.conditions.map((o)=>this.compileWhere(t,o,i)).join(r.kind==="and"?" AND ":" OR ")})`}if(r.kind==="not")return`NOT (${this.compileWhere(t,r.condition,i)})`;let s=this.resolve(t,r.path);return this.compileComparison(s,r.operator,r.value,i)}comparisonExpression(t,r){if(t.path.length===0)return this.dialect.quote(t.column);return this.dialect.jsonExtract(t.column,t.path,r)}compileComparison(t,r,i,s){let a=Array.isArray(i)?i[0]:i,o=O(t,a??null),l=this.comparisonExpression(t,o),u=(c)=>(s.push(this.dialect.encode(c,o)),this.dialect.placeholder(s.length));switch(r){case"eq":case"ne":{if(i===null)return`${l} IS ${r==="eq"?"":"NOT "}NULL`;return`${l} ${r==="eq"?"=":"<>"} ${u(i)}`}case"gt":case"gte":case"lt":case"lte":{let c={gt:">",gte:">=",lt:"<",lte:"<="}[r];return`${l} ${c} ${u(i)}`}case"in":case"nin":{let c=Array.isArray(i)?i:[i];if(c.length===0)return r==="in"?"1 = 0":"1 = 1";let m=c.map((g)=>u(g)).join(", ");return`${l} ${r==="in"?"IN":"NOT IN"} (${m})`}case"like":case"ilike":{let c=this.dialect.likeOperator(r==="ilike");return`${l} ${c} ${u(i)}`}case"contains":{s.push(String(i));let c=this.dialect.placeholder(s.length);return this.dialect.jsonArrayMembership(t.column,t.path,c)}case"exists":return`${l} IS ${i===!1?"":"NOT "}NULL`}}expression(t){if(t.path.length===0)return this.dialect.quote(t.column);return this.dialect.jsonExtract(t.column,t.path,t.type)}resolve(t,r){let i=r.split("."),s=i[0],a=this.catalog.columnType(t,s);if(a!==void 0&&i.length===1)return{column:s,path:[],type:a};if(a!==void 0)return{column:s,path:i.slice(1),type:"text"};let o=this.catalog.documentColumn(t);if(!o)throw new e(`Unknown column ${t}.${r}`,{status:400,code:"unknown_column"});return{column:o,path:i,type:"text"}}encodeColumn(t,r,i){let s=this.catalog.columnType(t,r);if(s===void 0)throw new e(`Unknown column ${t}.${r}`,{status:400,code:"unknown_column"});return this.dialect.encode(i,s)}}function O(t,r){if(t.path.length===0)return t.type;if(r instanceof Date)return"timestamp";if(typeof r==="number")return"real";if(typeof r==="boolean")return"boolean";return"text"}function b(t){if(!Number.isInteger(t)||t<0)throw new e(`Expected a non-negative integer, received ${t}`,{code:"invalid_pagination"});return t}class T{dialect;target;constructor(t,r){this.dialect=t;this.target=r}render(t){return`${t.flatMap((i)=>{let s=this.renderStep(i);return[`-- ${Oe(i)}`,...s]}).join(`
2
+ `)}
3
+ `}renderStep(t){switch(t.kind){case"create_table":return[this.createTable(t.table)];case"drop_table":return[`DROP TABLE IF EXISTS ${this.q(t.table)};`];case"add_column":return this.addColumn(t.table,t.column);case"drop_column":return[`ALTER TABLE ${this.q(t.table)} DROP COLUMN ${this.q(t.column)};`];case"alter_column":return this.alterColumn(t.table,t.column);case"create_index":return[this.createIndex(t.index)];case"drop_index":return[`DROP INDEX IF EXISTS ${this.q(t.index)};`];case"set_document_field":return[this.setDocumentField(t.table,t.collection,t.documentColumn,t.path,t.value)];case"unset_document_field":return[this.unsetDocumentField(t.table,t.collection,t.documentColumn,t.path)]}}createTable(t){let r=t.columns.map((i)=>this.columnClause(i));if(t.primaryKey.length>0)r.push(`PRIMARY KEY (${t.primaryKey.map((i)=>this.q(i)).join(", ")})`);for(let i of t.columns){if(!i.references)continue;r.push(`FOREIGN KEY (${this.q(i.name)}) REFERENCES ${this.q(i.references.table)} (${this.q(i.references.column)})${I(i.references.onDelete)}`)}return`CREATE TABLE IF NOT EXISTS ${this.q(t.name)} (
4
+ ${r.join(`,
5
+ `)}
6
+ );`}columnClause(t){let r=[this.q(t.name),this.dialect.columnType(t)];if(!t.nullable)r.push("NOT NULL");if(t.default!==void 0)r.push(`DEFAULT ${this.literal(t)}`);return r.join(" ")}addColumn(t,r){if(!r.nullable&&r.default===void 0)throw new n(`${t}.${r.name}`,"a required column needs a default before it can be added to an existing table");return[`ALTER TABLE ${this.q(t)} ADD COLUMN ${this.columnClause(r)};`]}alterColumn(t,r){if(this.dialect.supportsAlterColumn){let o=this.q(r.name),l=[`ALTER TABLE ${this.q(t)} ALTER COLUMN ${o} TYPE ${this.dialect.columnType(r)} USING ${o}::${this.dialect.columnType(r)};`,`ALTER TABLE ${this.q(t)} ALTER COLUMN ${o} ${r.nullable?"DROP NOT NULL":"SET NOT NULL"};`];return l.push(r.default===void 0?`ALTER TABLE ${this.q(t)} ALTER COLUMN ${o} DROP DEFAULT;`:`ALTER TABLE ${this.q(t)} ALTER COLUMN ${o} SET DEFAULT ${this.literal(r)};`),l}let i=this.target().tables.find((o)=>o.name===t);if(!i)throw new n(t,"cannot rebuild a table that is not in the target schema");let s=`${t}__rebuild`,a=i.columns.map((o)=>this.q(o.name)).join(", ");return[this.createTable({...i,name:s}),`INSERT INTO ${this.q(s)} (${a}) SELECT ${a} FROM ${this.q(t)};`,`DROP TABLE ${this.q(t)};`,`ALTER TABLE ${this.q(s)} RENAME TO ${this.q(t)};`,...i.indexes.map((o)=>this.createIndex(o))]}createIndex(t){let r=t.targets.map((a)=>a.kind==="column"?this.q(a.column):`(${this.dialect.jsonExtract(a.column,a.path,a.type)})`).join(", "),i=t.unique?"UNIQUE ":"",s=t.where?` WHERE ${this.q(t.where.column)} = ${d(t.where.equals)}`:"";return`CREATE ${i}INDEX IF NOT EXISTS ${this.q(t.name)} ON ${this.q(t.table)} (${r})${s};`}setDocumentField(t,r,i,s,a){let o=this.q(i),l=d(JSON.stringify(a)),u=`WHERE "collection" = ${d(r)}`;if(this.dialect.id==="postgres"){let m=`'{${s.join(",")}}'`;return`UPDATE ${this.q(t)} SET ${o} = jsonb_set(${o}, ${m}, ${l}::jsonb, true) ${u} AND ${o} #> ${m} IS NULL;`}let c=d(`$.${s.join(".")}`);return`UPDATE ${this.q(t)} SET ${o} = json_set(${o}, ${c}, json(${l})) ${u} AND json_extract(${o}, ${c}) IS NULL;`}unsetDocumentField(t,r,i,s){let a=this.q(i),o=`WHERE "collection" = ${d(r)}`;if(this.dialect.id==="postgres")return`UPDATE ${this.q(t)} SET ${a} = ${a} #- '{${s.join(",")}}' ${o};`;return`UPDATE ${this.q(t)} SET ${a} = json_remove(${a}, ${d(`$.${s.join(".")}`)}) ${o};`}literal(t){let r=t.default;if(r===null||r===void 0)return"NULL";if(typeof r==="number")return String(r);if(typeof r==="boolean")return this.dialect.id==="postgres"?String(r):r?"1":"0";return d(String(r))}q(t){return this.dialect.quote(t)}}function I(t){switch(t){case"cascade":return" ON DELETE CASCADE";case"set-null":return" ON DELETE SET NULL";case"restrict":return" ON DELETE RESTRICT";default:return""}}function d(t){return`'${t.replaceAll("'","''")}'`}function Dt(t){let r=[],i="",s=!1;for(let a=0;a<t.length;a+=1){let o=t[a];if(o==="'"){if(s&&t[a+1]==="'"){i+="''",a+=1;continue}s=!s,i+=o;continue}if(o==="-"&&!s&&t[a+1]==="-"){let l=t.indexOf(`
7
+ `,a);a=l===-1?t.length:l;continue}if(o===";"&&!s){if(i.trim())r.push(i.trim());i="";continue}i+=o}if(i.trim())r.push(i.trim());return r}async function R(t){let r=await t.all(`SELECT table_name, column_name, data_type, is_nullable, column_default
8
+ FROM information_schema.columns
9
+ WHERE table_schema = current_schema()
10
+ ORDER BY table_name, column_name`,[]),i=await t.all(`SELECT tablename AS table_name, indexname AS index_name, indexdef AS definition
11
+ FROM pg_indexes
12
+ WHERE schemaname = current_schema()
13
+ ORDER BY tablename, indexname`,[]),s=await t.all(`SELECT tc.table_name, kcu.column_name
14
+ FROM information_schema.table_constraints tc
15
+ JOIN information_schema.key_column_usage kcu
16
+ ON kcu.constraint_name = tc.constraint_name
17
+ AND kcu.table_schema = tc.table_schema
18
+ WHERE tc.constraint_type = 'PRIMARY KEY'
19
+ AND tc.table_schema = current_schema()
20
+ ORDER BY tc.table_name, kcu.ordinal_position`,[]),a=new Map;for(let o of r)A(a,String(o.table_name)).columns.push({name:String(o.column_name),type:j(String(o.data_type)),nullable:o.is_nullable==="YES",storage:"column"});for(let o of s){let l=a.get(String(o.table_name));if(l)l.primaryKey.push(String(o.column_name))}for(let o of i){let l=a.get(String(o.table_name));if(!l)continue;let u=String(o.definition);l.indexes.push({name:String(o.index_name),table:l.name,targets:[],unique:u.startsWith("CREATE UNIQUE")})}return N(a)}async function w(t){let r=await t.all("SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name",[]),i=new Map;for(let s of r){let a=String(s.name),o=A(i,a),l=await t.all(`PRAGMA table_info(${C(a)})`,[]);for(let c of l)if(o.columns.push({name:String(c.name),type:M(String(c.type)),nullable:Number(c.notnull)===0,storage:"column"}),Number(c.pk)>0)o.primaryKey.push(String(c.name));let u=await t.all(`PRAGMA index_list(${C(a)})`,[]);for(let c of u){let m=String(c.name);if(m.startsWith("sqlite_autoindex"))continue;o.indexes.push({name:m,table:a,targets:[],unique:Number(c.unique)===1})}}return N(i)}function A(t,r){let i=t.get(r);if(i)return i;let s={name:r,columns:[],primaryKey:[],indexes:[]};return t.set(r,s),s}function N(t){return{version:1,tables:[...t.values()].filter((i)=>i.name!==z).map((i)=>({...i,columns:y(i.columns),indexes:y(i.indexes)})).sort((i,s)=>i.name.localeCompare(s.name)),collections:[]}}function y(t){return[...t].sort((r,i)=>r.name.localeCompare(i.name))}function j(t){switch(t){case"integer":return"integer";case"bigint":return"bigint";case"double precision":case"numeric":case"real":return"real";case"boolean":return"boolean";case"timestamp with time zone":case"timestamp without time zone":return"timestamp";case"jsonb":case"json":return"json";case"bytea":return"blob";default:return"text"}}function M(t){let r=t.toUpperCase();if(r.includes("INT"))return"integer";if(r.includes("REAL")||r.includes("DOUB"))return"real";if(r.includes("BLOB"))return"blob";return"text"}function C(t){if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw Error(`Unsafe SQL identifier: ${t}`);return`"${t}"`}class h{id;real;driver;constructor(t,r,i){this.id=t;this.real=r;this.driver=i}}class ce{driver;dialect;id;capabilities;catalog=new S;compiler;renderer;schema={version:1,tables:[],collections:[]};journalReady=!1;transactionDepth=0;constructor(t,r,i={}){this.driver=t;this.dialect=r;if(this.id=t.id,this.capabilities={transactions:!0,sqlMigrations:!0,jsonQuery:!0,...i.capabilities},this.compiler=new E(r,this.catalog),this.renderer=new T(r,()=>this.schema),i.schema)this.useSchema(i.schema)}useSchema(t){this.schema=t,this.catalog.use(t)}introspect(){return this.dialect.id==="postgres"?R(this.driver):w(this.driver)}plan(t,r){return Ce(t,r)}render(t,r){return{id:r,extension:"sql",content:`-- ${r}
21
+ ${this.renderer.render(t)}`,summary:t.map(Oe)}}async applyMigration(t){await this.ensureJournal();for(let r of Dt(t.content))await this.driver.exec(r)}async listAppliedMigrations(){return await this.ensureJournal(),(await this.driver.all(`SELECT id, checksum, applied_at FROM ${this.dialect.quote(z)} ORDER BY id`,[])).map((r)=>({id:String(r.id),checksum:String(r.checksum),appliedAt:new Date(String(r.applied_at))}))}async recordMigration(t,r){await this.ensureJournal(),await this.driver.run(`INSERT INTO ${this.dialect.quote(z)} (id, checksum, applied_at) VALUES (${this.dialect.placeholder(1)}, ${this.dialect.placeholder(2)}, ${this.dialect.placeholder(3)})`,[t,r,new Date().toISOString()])}async transaction(t){if(!this.capabilities.transactions)return t(new h(f(),!1,this.driver));if(this.transactionDepth>0)return t(new h(f(),!0,this.driver));if(this.driver.transaction)return this.driver.transaction((r)=>t(new h(f(),!0,r)));this.transactionDepth+=1,await this.driver.exec(this.dialect.beginTransaction??"BEGIN");try{let r=await t(new h(f(),!0,this.driver));return await this.driver.exec("COMMIT"),r}catch(r){throw await this.driver.exec("ROLLBACK"),r}finally{this.transactionDepth-=1}}async query(t,r){let i=this.compiler.compileQuery(r),s=await q(t,this.driver).all(i.text,i.values);if(r.count===!0)return[{count:Number(s[0]?.count??0)}];return s.map((a)=>this.compiler.decodeRow(r.table,a))}async mutate(t,r){let i=this.compiler.compileMutation(r),s=q(t,this.driver),a=i.text.includes(" RETURNING ");try{if(a){let l=await s.all(i.text,i.values);return{rows:l.map((u)=>this.compiler.decodeRow(r.table,u)),count:l.length}}let o=await s.run(i.text,i.values);return{rows:[],count:o.rowsAffected}}catch(o){let l=this.dialect.uniqueViolation(o);if(l===null)throw o;throw at(this.schema,r.table,l,r.kind==="insert"?r.values:void 0,o)}}async close(){await this.driver.close?.()}async ensureJournal(){if(this.journalReady)return;await this.driver.exec(`CREATE TABLE IF NOT EXISTS ${this.dialect.quote(z)} (
22
+ ${this.dialect.quote("id")} TEXT NOT NULL PRIMARY KEY,
23
+ ${this.dialect.quote("checksum")} TEXT NOT NULL,
24
+ ${this.dialect.quote("applied_at")} TEXT NOT NULL
25
+ )`),this.journalReady=!0}}function q(t,r){return t instanceof h?t.driver:r}var D=0;function f(){return D+=1,`tx_${D}`}var p=(t)=>{if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t))throw Error(`Unsafe SQL identifier: ${t}`);return`"${t}"`};function x(t){return`$${t.map((r)=>`."${r.replaceAll('"',"\\\"")}"`).join("")}`}var k={text:"text",integer:"integer",bigint:"bigint",real:"double precision",boolean:"boolean",timestamp:"timestamptz",json:"jsonb",blob:"bytea"},Bn={id:"postgres",placeholder:(t)=>`$${t}`,quote:p,columnType:(t)=>t.array===!0?"jsonb":k[t.type],jsonExtract(t,r,i){let s=`${p(t)} #>> '{${r.map(L).join(",")}}'`;switch(i){case"integer":case"bigint":return`(${s})::bigint`;case"real":return`(${s})::double precision`;case"boolean":return`(${s})::boolean`;case"timestamp":return`(${s})::timestamptz`;default:return`(${s})`}},jsonArrayMembership(t,r,i){let s=r.length===0?p(t):`${p(t)} #> '{${r.map(L).join(",")}}'`;return`EXISTS (SELECT 1 FROM jsonb_array_elements_text(${`CASE WHEN jsonb_typeof(${s}) = 'array' THEN ${s} WHEN jsonb_typeof(${s}) IN ('string', 'number', 'boolean') THEN jsonb_build_array(${s}) ELSE '[]'::jsonb END`}) AS membership(value) WHERE membership.value = ${i})`},likeOperator:(t)=>t?"ILIKE":"LIKE",encode(t,r){if(t===void 0||t===null)return null;if(r==="json")return JSON.stringify(t);if(r==="timestamp")return _(t);return t},decode(t,r){if(t===null||t===void 0)return null;if(r==="timestamp")return t instanceof Date?t:new Date(String(t));if(r==="json"&&typeof t==="string")return JSON.parse(t);if(r==="bigint"&&typeof t==="string")return Number(t);return t},uniqueViolation:Gn,supportsAlterColumn:!0};function L(t){return/[,{}"\s]/.test(t)?`"${t.replaceAll('"',"\\\"")}"`:t}var U={text:"TEXT",integer:"INTEGER",bigint:"INTEGER",real:"REAL",boolean:"INTEGER",timestamp:"INTEGER",json:"TEXT",blob:"BLOB"},st={id:"sqlite",beginTransaction:"BEGIN IMMEDIATE",placeholder:()=>"?",quote:p,columnType:(t)=>t.array===!0?"TEXT":U[t.type],jsonExtract(t,r,i){let s=`json_extract(${p(t)}, '${x(r)}')`;return i==="timestamp"?`CAST(ROUND((julianday(${s}) - 2440587.5) * 86400000) AS INTEGER)`:s},jsonArrayMembership(t,r,i){return`EXISTS (SELECT 1 FROM json_each(${r.length===0?p(t):`${p(t)}, '${x(r)}'`}) WHERE json_each.value = ${i})`},likeOperator:()=>"LIKE",encode(t,r){if(t===void 0||t===null)return null;if(r==="json")return JSON.stringify(t);if(r==="timestamp")return _(t).getTime();if(r==="boolean")return t===!0?1:0;return t},decode(t,r){if(t===null||t===void 0)return null;if(r==="timestamp")return new Date(typeof t==="number"?t:Number(t));if(r==="boolean")return t===1||t===!0;if(r==="json"){if(typeof t!=="string")return t;return JSON.parse(t)}return t},uniqueViolation:Vn,supportsAlterColumn:!1};function _(t){if(t instanceof Date)return t;if(typeof t==="number")return new Date(t);return new Date(String(t))}
26
+ export{Dt,ce,Bn,st};
@@ -1,5 +1,5 @@
1
- import{l,u}from"./index-axpzy2hj.js";import{s,t,it,S}from"./index-6m1kjq9g.js";import{te,yt}from"./index-b79c3k6g.js";import{p}from"./index-s9x07zb3.js";var at="heyo-cms/export",ze=1;function Bn(n,e){let o;try{o=JSON.parse(n)}catch{throw Error(`Line ${e} is not JSON.`)}if(!h(o)||typeof o.kind!=="string")throw Error(`Line ${e} has no "kind".`);if(!["header","document","global"].includes(o.kind))throw Error(`Line ${e} has an unknown kind: ${o.kind}.`);if(o.kind==="header"){if(typeof o.format!=="string"||!Number.isInteger(o.version))throw Error(`Line ${e} has an invalid export header.`)}else{let r=o.kind==="document"?o.collection:o.global;if(typeof r!=="string"||r.length===0||!h(o.data))throw Error(`Line ${e} needs a collection/global name and an object "data".`);if(o.kind==="document"&&(typeof o.id!=="string"||o.id.length===0))throw Error(`Line ${e} needs a non-empty document "id".`)}return o}async function*Dt(n){let e=0;for await(let o of n){e+=1;let r=o.trim();if(r.length===0)continue;yield Bn(r,e)}}async function*qt(n){let e="";for await(let o of n){e+=o;let r=e.indexOf(`
1
+ import{l,u}from"./index-pkxgzw6e.js";import{s,t,it,S}from"./index-q6jkbsjp.js";import{te,bt}from"./index-0fe3ngv2.js";import{p}from"./index-qkqtxr65.js";var ct="heyo-cms/export",ze=1;function Zn(n,e){let o;try{o=JSON.parse(n)}catch{throw Error(`Line ${e} is not JSON.`)}if(!h(o)||typeof o.kind!=="string")throw Error(`Line ${e} has no "kind".`);if(!["header","document","global"].includes(o.kind))throw Error(`Line ${e} has an unknown kind: ${o.kind}.`);if(o.kind==="header"){if(typeof o.format!=="string"||!Number.isInteger(o.version))throw Error(`Line ${e} has an invalid export header.`)}else{let r=o.kind==="document"?o.collection:o.global;if(typeof r!=="string"||r.length===0||!h(o.data))throw Error(`Line ${e} needs a collection/global name and an object "data".`);if(o.kind==="document"&&(typeof o.id!=="string"||o.id.length===0))throw Error(`Line ${e} needs a non-empty document "id".`)}return o}async function*qt(n){let e=0;for await(let o of n){e+=1;let r=o.trim();if(r.length===0)continue;yield Zn(r,e)}}async function*Lt(n){let e="";for await(let o of n){e+=o;let r=e.indexOf(`
2
2
  `);while(r!==-1)yield e.slice(0,r),e=e.slice(r+1),r=e.indexOf(`
3
- `)}if(e.length>0)yield e}function Lt(n){return`${JSON.stringify(n)}
4
- `}function h(n){return typeof n==="object"&&n!==null&&!Array.isArray(n)}async function*Ft(n,e={}){let o=n._config,r=w(o.collections,e.collections,"collection"),a=w(o.globals,e.globals,"global"),c=await n.database();yield{kind:"header",format:at,version:ze,exportedAt:new Date().toISOString(),database:c.id,defaultLocale:o.i18n.defaultLocale,collections:r.map((d)=>d.name),globals:a.map((d)=>d.name)};let i=Math.max(1,e.batchSize??200);for(let d of r){let m;for(;;){let b=await y(n,{where:s(t("collection",d.slug),e.includeTrashed?void 0:t("deleted_at",null),m===void 0?void 0:it("id",m)),limit:i});if(b.length===0)break;for(let g of b)yield k(d,g,e);if(m=String(b[b.length-1]?.id),b.length<i)break}}if(a.length>0){let d=await y(n,{where:S("id",a.map((b)=>te(b))),limit:a.length}),m=new Map(d.map((b)=>[String(b.id),b]));for(let b of a){let g=m.get(te(b));yield{kind:"global",global:b.name,data:g?u(g.data):{},updatedAt:g?l(g.updated_at):null}}}}function k(n,e,o){let r={kind:"document",collection:n.name,id:String(e.id),data:u(e.data),createdAt:l(e.created_at),updatedAt:l(e.updated_at)};if(o.includeTrashed)r.deletedAt=l(e.deleted_at);let a=l(e.scheduled_at);if(a!==null)r.scheduledAt=a,r.scheduledPatch=u(e.scheduled_patch).data??null;return r}async function y(n,e){let o=await n.database();return o.transaction((r)=>o.query(r,{table:p,...e.where===void 0?{}:{where:e.where},orderBy:[{path:"id",direction:"asc"}],limit:e.limit}))}function w(n,e,o){if(!e)return Object.values(n);return e.map((r)=>{let a=n[r];if(!a){let c=Object.keys(n).join(", ")||"none";throw Error(`Unknown ${o}: ${r}. Declared: ${c}.`)}return a})}async function Nt(n,e,o={}){let r={documents:{created:0,updated:0,skipped:0},globals:{updated:0,skipped:0},errors:[]},a=o.actor===void 0?yt():o.actor,c=o.onConflict??"skip",f=!1;for await(let i of e){if(i.kind==="header"){A(i.format,i.version),f=!0;continue}if(!f)throw Error("The file does not start with an export header. Was it produced by `heyo-cms export`?");try{if(i.kind==="document")await x(n,i,{actor:a,onConflict:c,...o},r);else await O(n,i,{actor:a,...o},r)}catch(d){let m=i.kind==="document"?`${i.collection}/${i.id}`:`globals/${i.global}`;if(r.errors.push(`${m}: ${I(d)}`),i.kind==="document")r.documents.skipped+=1;else r.globals.skipped+=1}}if(!f)throw Error("The file is empty.");if(!o.dryRun)await n.drainEvents();return r}async function x(n,e,o,r){let a=n._config.collections[e.collection];if(!a)throw Error(`no collection named "${e.collection}" is declared`);if(e.deletedAt){r.documents.skipped+=1;return}let c=C(n,e.collection),f=await c.findById(e.id,{actor:o.actor??null,includeTrashed:!0});if(f&&o.onConflict==="fail")throw Error("a document with this id is already here");if(f&&o.onConflict==="skip"){r.documents.skipped+=1;return}if(o.dryRun){if(f)r.documents.updated+=1;else r.documents.created+=1;return}let i=gn(a,e.data,n._config.i18n.defaultLocale);if(f){if(await c.update({id:e.id,data:i.base,actor:o.actor??null,source:"cli"})===null){r.documents.skipped+=1;return}r.documents.updated+=1}else{if(await c.create({id:e.id,data:i.base,actor:o.actor??null,source:"cli"})===null){r.documents.skipped+=1;return}r.documents.created+=1}for(let[d,m]of Object.entries(i.translations))await c.update({id:e.id,data:m,locale:d,actor:o.actor??null,source:"cli"});if(e.scheduledAt&&R(e.scheduledPatch))await c.schedule({id:e.id,at:e.scheduledAt,data:e.scheduledPatch,actor:o.actor??null,source:"cli"})}async function O(n,e,o,r){let a=n._config.globals[e.global];if(!a)throw Error(`no global named "${e.global}" is declared`);if(o.dryRun){r.globals.updated+=1;return}let c=j(n,e.global),f=gn(a,e.data,n._config.i18n.defaultLocale);await c.update({data:f.base,actor:o.actor??null,source:"cli"});for(let[i,d]of Object.entries(f.translations))await c.update({data:d,locale:i,actor:o.actor??null,source:"cli"});r.globals.updated+=1}function gn(n,e,o){let r=Object.create(null),a=Object.create(null);for(let[c,f]of Object.entries(n.fields)){let i=e[c];if(i===void 0)continue;if(!f.localized){r[c]=i;continue}if(!R(i))throw Error(`${c} is localized, but the file holds one value instead of one per language`);for(let[d,m]of Object.entries(i)){if(m===void 0)continue;if(d===o){r[c]=m;continue}(a[d]??=Object.create(null))[c]=m}}return{base:r,translations:a}}function A(n,e){if(n!==at)throw Error(`Unknown export format: ${n}.`);if(!Number.isInteger(e)||e<1)throw Error(`Invalid export version: ${e}.`);if(e>ze)throw Error(`This file is version ${e}; this CMS reads up to ${ze}. Upgrade @heyo-sh/heyo-cms.`)}function C(n,e){return n.api[e]}function j(n,e){return n.globals[e]}function R(n){return typeof n==="object"&&n!==null&&!Array.isArray(n)}function I(n){return n instanceof Error?n.message:String(n)}
5
- export{at,ze,Bn,Dt,qt,Lt,Ft,Nt,gn};
3
+ `)}if(e.length>0)yield e}function Ft(n){return`${JSON.stringify(n)}
4
+ `}function h(n){return typeof n==="object"&&n!==null&&!Array.isArray(n)}async function*Nt(n,e={}){let o=n._config,r=w(o.collections,e.collections,"collection"),a=w(o.globals,e.globals,"global"),c=await n.database();yield{kind:"header",format:ct,version:ze,exportedAt:new Date().toISOString(),database:c.id,defaultLocale:o.i18n.defaultLocale,collections:r.map((d)=>d.name),globals:a.map((d)=>d.name)};let i=Math.max(1,e.batchSize??200);for(let d of r){let m;for(;;){let b=await y(n,{where:s(t("collection",d.slug),e.includeTrashed?void 0:t("deleted_at",null),m===void 0?void 0:it("id",m)),limit:i});if(b.length===0)break;for(let g of b)yield k(d,g,e);if(m=String(b[b.length-1]?.id),b.length<i)break}}if(a.length>0){let d=await y(n,{where:S("id",a.map((b)=>te(b))),limit:a.length}),m=new Map(d.map((b)=>[String(b.id),b]));for(let b of a){let g=m.get(te(b));yield{kind:"global",global:b.name,data:g?u(g.data):{},updatedAt:g?l(g.updated_at):null}}}}function k(n,e,o){let r={kind:"document",collection:n.name,id:String(e.id),data:u(e.data),createdAt:l(e.created_at),updatedAt:l(e.updated_at)};if(o.includeTrashed)r.deletedAt=l(e.deleted_at);let a=l(e.scheduled_at);if(a!==null)r.scheduledAt=a,r.scheduledPatch=u(e.scheduled_patch).data??null;return r}async function y(n,e){let o=await n.database();return o.transaction((r)=>o.query(r,{table:p,...e.where===void 0?{}:{where:e.where},orderBy:[{path:"id",direction:"asc"}],limit:e.limit}))}function w(n,e,o){if(!e)return Object.values(n);return e.map((r)=>{let a=n[r];if(!a){let c=Object.keys(n).join(", ")||"none";throw Error(`Unknown ${o}: ${r}. Declared: ${c}.`)}return a})}async function Ut(n,e,o={}){let r={documents:{created:0,updated:0,skipped:0},globals:{updated:0,skipped:0},errors:[]},a=o.actor===void 0?bt():o.actor,c=o.onConflict??"skip",f=!1;for await(let i of e){if(i.kind==="header"){A(i.format,i.version),f=!0;continue}if(!f)throw Error("The file does not start with an export header. Was it produced by `heyo-cms export`?");try{if(i.kind==="document")await x(n,i,{actor:a,onConflict:c,...o},r);else await O(n,i,{actor:a,...o},r)}catch(d){let m=i.kind==="document"?`${i.collection}/${i.id}`:`globals/${i.global}`;if(r.errors.push(`${m}: ${I(d)}`),i.kind==="document")r.documents.skipped+=1;else r.globals.skipped+=1}}if(!f)throw Error("The file is empty.");if(!o.dryRun)await n.drainEvents();return r}async function x(n,e,o,r){let a=n._config.collections[e.collection];if(!a)throw Error(`no collection named "${e.collection}" is declared`);if(e.deletedAt){r.documents.skipped+=1;return}let c=C(n,e.collection),f=await c.findById(e.id,{actor:o.actor??null,includeTrashed:!0});if(f&&o.onConflict==="fail")throw Error("a document with this id is already here");if(f&&o.onConflict==="skip"){r.documents.skipped+=1;return}if(o.dryRun){if(f)r.documents.updated+=1;else r.documents.created+=1;return}let i=yn(a,e.data,n._config.i18n.defaultLocale);if(f){if(await c.update({id:e.id,data:i.base,actor:o.actor??null,source:"cli"})===null){r.documents.skipped+=1;return}r.documents.updated+=1}else{if(await c.create({id:e.id,data:i.base,actor:o.actor??null,source:"cli"})===null){r.documents.skipped+=1;return}r.documents.created+=1}for(let[d,m]of Object.entries(i.translations))await c.update({id:e.id,data:m,locale:d,actor:o.actor??null,source:"cli"});if(e.scheduledAt&&R(e.scheduledPatch))await c.schedule({id:e.id,at:e.scheduledAt,data:e.scheduledPatch,actor:o.actor??null,source:"cli"})}async function O(n,e,o,r){let a=n._config.globals[e.global];if(!a)throw Error(`no global named "${e.global}" is declared`);if(o.dryRun){r.globals.updated+=1;return}let c=j(n,e.global),f=yn(a,e.data,n._config.i18n.defaultLocale);await c.update({data:f.base,actor:o.actor??null,source:"cli"});for(let[i,d]of Object.entries(f.translations))await c.update({data:d,locale:i,actor:o.actor??null,source:"cli"});r.globals.updated+=1}function yn(n,e,o){let r=Object.create(null),a=Object.create(null);for(let[c,f]of Object.entries(n.fields)){let i=e[c];if(i===void 0)continue;if(!f.localized){r[c]=i;continue}if(!R(i))throw Error(`${c} is localized, but the file holds one value instead of one per language`);for(let[d,m]of Object.entries(i)){if(m===void 0)continue;if(d===o){r[c]=m;continue}(a[d]??=Object.create(null))[c]=m}}return{base:r,translations:a}}function A(n,e){if(n!==ct)throw Error(`Unknown export format: ${n}.`);if(!Number.isInteger(e)||e<1)throw Error(`Invalid export version: ${e}.`);if(e>ze)throw Error(`This file is version ${e}; this CMS reads up to ${ze}. Upgrade @heyo-sh/heyo-cms.`)}function C(n,e){return n.api[e]}function j(n,e){return n.globals[e]}function R(n){return typeof n==="object"&&n!==null&&!Array.isArray(n)}function I(n){return n instanceof Error?n.message:String(n)}
5
+ export{ct,ze,Zn,qt,Lt,Ft,Nt,Ut,yn};
@@ -1,2 +1,2 @@
1
- import{s,t,We,S}from"./index-6m1kjq9g.js";import{w}from"./index-rw0hze6x.js";import{b}from"./index-8nzmqy0f.js";var T="media",U="media_usages",g="mediaId";function en(e){return Object.values(e.fields).some((n)=>n.type==="media"||n.type==="richText"||n.relationTo==="media")}function tn(e,n){let i=new Map,o=(c,a,d)=>{if(!c)return;i.set(`${c}|${a}|${d}`,{mediaId:c,field:a,locale:d})};for(let[c,a]of Object.entries(e.fields)){let d=a.type==="media"||a.relationTo==="media",f=a.type==="richText";if(!d&&!f)continue;for(let[r,l]of h(n[c],a.localized)){if(d){for(let u of M(l))o(u,c,r);continue}for(let u of Qe(l))o(u,c,r)}}return[...i.values()]}async function nn(e){let{db:n,documentId:i}=e,o=await n.find(U,t("document_id",i)),c=new Map((e.references??[]).map((r)=>[`${r.mediaId}|${r.field}|${r.locale}`,r])),a=new Set,d=[];for(let r of o){let l=`${String(r.media_id)}|${String(r.field)}|${String(r.locale??"")}`;if(c.delete(l))continue;d.push(String(r.id)),a.add(String(r.media_id))}if(d.length>0)await n.delete(U,S("id",d));let f=new Set;for(let r of c.values())f.add(r.mediaId),await n.insert(U,{id:b("mus"),media_id:r.mediaId,collection:e.collection,document_id:i,field:r.field,locale:r.locale,created_at:e.now});if(!e.lifecycle)return{orphaned:[],reclaimed:[]};return{orphaned:await p(e,[...a]),reclaimed:await m(e,[...f])}}async function p(e,n){if(n.length===0)return[];if(e.retention?.orphanAfterUnreferenced===!1)return[];let i=[];for(let o of n){if((await e.db.find(U,t("media_id",o))).length>0)continue;if(await e.db.update(T,s(t("id",o),t("status","active")),{status:"orphaned",orphaned_at:e.now,purge_after:y(e.retention,e.now),updated_at:e.now})>0)i.push(o)}return i}async function m(e,n){if(n.length===0)return[];if(e.retention?.reclaimOnReference===!1)return[];let i=[];for(let o of n)if(await e.db.update(T,s(t("id",o),We("status","active")),{status:"active",orphaned_at:null,purge_after:null,purge_error:null,updated_at:e.now})>0)i.push(o);return i}function y(e,n){let i=e?.purgeAfter??"30d";if(i===!1)return null;return new Date(n.getTime()+w(i))}function h(e,n){if(!n)return[["",e]];if(typeof e!=="object"||e===null||Array.isArray(e))return[];return Object.entries(e)}function M(e){if(typeof e==="string")return e.length>0?[e]:[];if(Array.isArray(e))return e.filter((n)=>typeof n==="string");return[]}function Qe(e){let n=[],i=[e??null];while(i.length>0){let o=i.pop();if(Array.isArray(o)){i.push(...o);continue}if(typeof o!=="object"||o===null)continue;for(let[c,a]of Object.entries(o)){if(c===g&&typeof a==="string"){n.push(a);continue}if(a!==null&&typeof a==="object")i.push(a)}}return n}
2
- export{T,U,en,tn,nn,Qe};
1
+ import{s,t,We,S}from"./index-q6jkbsjp.js";import{w}from"./index-rw0hze6x.js";import{b}from"./index-qgtvymh2.js";var T="media",U="media_usages",g="mediaId";function tn(e){return Object.values(e.fields).some((n)=>n.type==="media"||n.type==="richText"||n.relationTo==="media")}function nn(e,n){let i=new Map,o=(c,a,d)=>{if(!c)return;i.set(`${c}|${a}|${d}`,{mediaId:c,field:a,locale:d})};for(let[c,a]of Object.entries(e.fields)){let d=a.type==="media"||a.relationTo==="media",f=a.type==="richText";if(!d&&!f)continue;for(let[r,l]of h(n[c],a.localized)){if(d){for(let u of M(l))o(u,c,r);continue}for(let u of Qe(l))o(u,c,r)}}return[...i.values()]}async function on(e){let{db:n,documentId:i}=e,o=await n.find(U,t("document_id",i)),c=new Map((e.references??[]).map((r)=>[`${r.mediaId}|${r.field}|${r.locale}`,r])),a=new Set,d=[];for(let r of o){let l=`${String(r.media_id)}|${String(r.field)}|${String(r.locale??"")}`;if(c.delete(l))continue;d.push(String(r.id)),a.add(String(r.media_id))}if(d.length>0)await n.delete(U,S("id",d));let f=new Set;for(let r of c.values())f.add(r.mediaId),await n.insert(U,{id:b("mus"),media_id:r.mediaId,collection:e.collection,document_id:i,field:r.field,locale:r.locale,created_at:e.now});if(!e.lifecycle)return{orphaned:[],reclaimed:[]};return{orphaned:await p(e,[...a]),reclaimed:await m(e,[...f])}}async function p(e,n){if(n.length===0)return[];if(e.retention?.orphanAfterUnreferenced===!1)return[];let i=[];for(let o of n){if((await e.db.find(U,t("media_id",o))).length>0)continue;if(await e.db.update(T,s(t("id",o),t("status","active")),{status:"orphaned",orphaned_at:e.now,purge_after:y(e.retention,e.now),updated_at:e.now})>0)i.push(o)}return i}async function m(e,n){if(n.length===0)return[];if(e.retention?.reclaimOnReference===!1)return[];let i=[];for(let o of n)if(await e.db.update(T,s(t("id",o),We("status","active")),{status:"active",orphaned_at:null,purge_after:null,purge_error:null,updated_at:e.now})>0)i.push(o);return i}function y(e,n){let i=e?.purgeAfter??"30d";if(i===!1)return null;return new Date(n.getTime()+w(i))}function h(e,n){if(!n)return[["",e]];if(typeof e!=="object"||e===null||Array.isArray(e))return[];return Object.entries(e)}function M(e){if(typeof e==="string")return e.length>0?[e]:[];if(Array.isArray(e))return e.filter((n)=>typeof n==="string");return[]}function Qe(e){let n=[],i=[e??null];while(i.length>0){let o=i.pop();if(Array.isArray(o)){i.push(...o);continue}if(typeof o!=="object"||o===null)continue;for(let[c,a]of Object.entries(o)){if(c===g&&typeof a==="string"){n.push(a);continue}if(a!==null&&typeof a==="object")i.push(a)}}return n}
2
+ export{T,U,tn,nn,on,Qe};
@@ -1,2 +1,2 @@
1
- import{e}from"./index-x72d1hzh.js";var ho="*";function jt(t,n){return`${t}:${n}`}function m(t){if(t==="*")return["*","*"];let n=t.indexOf(":");if(n===-1)return[t,"*"];return[t.slice(0,n),t.slice(n+1)]}function b(t,n){return t==="*"||t===n}function Wn(t,n){let[o,r]=m(t),[i,s]=m(n);return b(o,i)&&b(r,s)}function E(t,n){if(!t)return!1;return t.permissions.some((o)=>Wn(o,n))}function rt(t,n){let o=new Set;for(let r of t)for(let i of n[r]??[])o.add(i);return[...o].sort()}function It(t,n){let o=new Set;for(let r of t){let[i,s]=m(r);for(let a of n){let[c,f]=m(a),p=j(i,c),d=j(s,f);if(p===null||d===null)continue;o.add(p==="*"&&d==="*"?"*":`${p}:${d}`)}}return[...o].sort()}function j(t,n){if(t==="*")return n;if(n==="*")return t;return t===n?t:null}function Et(t){let n=new Set;for(let o of t){if(o==="*"||o.includes(":")){n.add(o);continue}switch(o){case"read":n.add("*:read");break;case"write":n.add("*:read"),n.add("*:create"),n.add("*:update");break;case"delete":n.add("*:delete");break;default:break}}return[...n].sort()}function _e(t){if(t==="*")return!0;if(["read","write","delete"].includes(t))return!0;return/^[a-z0-9_*-]+:[a-z0-9_*-]+$/.test(t)}function O(t,n={}){let o=n.locale??t.i18n.defaultLocale;return{locale:o,chain:[o,...C(t,o,n)]}}function C(t,n,o){if(o.fallbackLocale===!1)return[];if(typeof o.fallbackLocale==="string")return o.fallbackLocale===n?[]:[o.fallbackLocale];let r=t.i18n.defaultLocale;return r===n?[]:[r]}function fn(t,n){let o=h(t)?t:{};for(let r of n.chain){let i=o[r];if(i!==void 0&&i!==null)return{value:i,from:r}}return{value:null,from:null}}function J(t,n,o){let r=h(t)?{...t}:{};return r[n]=o,r}function h(t){return typeof t==="object"&&t!==null&&!Array.isArray(t)}var v=["id","revision","createdAt","updatedAt","updatedBy","deletedAt","purgeAfter","scheduledAt","scheduledPatch","_fallback","_localeFields"],w=new Set(v);function A(t,n,o){let r=u(t.data),i={},s={},a=[];for(let[c,f]of Object.entries(n.fields)){if(f.localized){let d=r[c];if(d&&typeof d==="object"&&!Array.isArray(d)&&Object.hasOwn(d,o.locale))a.push(c);let g=fn(d,o);if(i[c]=g.value??y(f),g.from!==null&&g.from!==o.locale)s[c]=g.from;continue}let p=r[c];i[c]=p===void 0?y(f):p}if(Object.values(n.fields).some((c)=>c.localized))i._localeFields=a;if(i.id=String(t.id),i.revision=hn(t.revision),i.createdAt=l(t.created_at),i.updatedAt=l(t.updated_at),i.updatedBy=t.updated_by===void 0?null:t.updated_by,i.deletedAt=l(t.deleted_at),i.purgeAfter=l(t.purge_after),i.scheduledAt=l(t.scheduled_at),i.scheduledPatch=je(t)?.data??null,Object.keys(s).length>0)i._fallback=s;return i}function $e(t,n,o,r){S(t,n);let i=r===void 0,s={...r??{}},a=[];for(let[c,f]of Object.entries(t.fields)){let p=n[c];if(p!==void 0){s[c]=f.localized?J(s[c],o.locale,p):p,a.push(c);continue}if(!i)continue;let d=y(f);if(s[c]=f.localized?d===null?{}:{[o.locale]:d}:d,d!==null)a.push(c)}return{data:s,touched:a}}function Je(t,n,o,r){let i={};for(let s of r){let a=t.fields[s];if(!a)continue;let c=a.localized?u(n[s])[o.locale]??null:n[s]??null;if(c===null&&a.required){i[s]="is required";continue}let f=a.schema.safeParse(c);if(!f.success)i[s]=V(f.error.issues[0])}if(Object.keys(i).length>0)throw e.validation(`${t.name}: ${Object.entries(i).map(([s,a])=>`${s} ${a}`).join(", ")}`,{fields:i})}function V(t){if(!t)return"is invalid";let n=t.path.map((r)=>typeof r==="number"?`#${r+1}`:String(r)).join(" ");if(!n)return t.message;let o=t.code==="invalid_type"&&/received (null|undefined)$/.test(t.message);return`${n}: ${o?"is required":t.message}`}function go(t,n,o){return Object.keys(t.fields).filter((r)=>!R(n[r],o[r]))}function yo(t){let n={};for(let[o,r]of Object.entries(t))n[k(o)]=r instanceof Date?r.toISOString():r instanceof Uint8Array?null:r;return n}function je(t){let n=t.scheduled_patch;if(n===null||n===void 0)return null;let o=u(n),r=u(o.data),i=typeof o.locale==="string"?o.locale:null;if(i===null)return null;return{data:r,locale:i,actor:L(o.actor)}}function L(t){if(typeof t!=="object"||t===null||Array.isArray(t))return null;let n=t;if(typeof n.id!=="string")return null;return{id:n.id,source:n.source==="api-key"?"api-key":"session",roles:x(n.roles),permissions:x(n.permissions)}}function x(t){return Array.isArray(t)?t.filter((n)=>typeof n==="string"):[]}function hn(t){let n=Number(t??1);return Number.isFinite(n)&&n>0?Math.trunc(n):1}function l(t){if(t===void 0||t===null)return null;if(t instanceof Date)return t.toISOString();return String(t)}function u(t){return typeof t==="object"&&t!==null&&!Array.isArray(t)?t:{}}function y(t){let n=t.defaultValue??t.column.default;return n===void 0?null:n}function S(t,n){let o=Object.keys(n).filter((r)=>!(r in t.fields)&&!w.has(r));if(o.length>0)throw e.validation(`${t.name} has no field ${o.map((r)=>`"${r}"`).join(", ")}`,{unknown:o})}function R(t,n){if(t===n)return!0;if(t===void 0||n===void 0)return!1;if(typeof t!=="object"||typeof n!=="object")return!1;return JSON.stringify(t)===JSON.stringify(n)}function k(t){return t.replace(/_([a-z0-9])/g,(n,o)=>o.toUpperCase())}
2
- export{ho,jt,Wn,E,rt,It,Et,_e,O,fn,A,$e,Je,go,yo,je,hn,l,u};
1
+ import{e}from"./index-x72d1hzh.js";var wo="*";function It(t,n){return`${t}:${n}`}function m(t){if(t==="*")return["*","*"];let n=t.indexOf(":");if(n===-1)return[t,"*"];return[t.slice(0,n),t.slice(n+1)]}function b(t,n){return t==="*"||t===n}function zn(t,n){let[o,r]=m(t),[i,s]=m(n);return b(o,i)&&b(r,s)}function E(t,n){if(!t)return!1;return t.permissions.some((o)=>zn(o,n))}function rt(t,n){let o=new Set;for(let r of t)for(let i of n[r]??[])o.add(i);return[...o].sort()}function Et(t,n){let o=new Set;for(let r of t){let[i,s]=m(r);for(let a of n){let[c,f]=m(a),p=j(i,c),d=j(s,f);if(p===null||d===null)continue;o.add(p==="*"&&d==="*"?"*":`${p}:${d}`)}}return[...o].sort()}function j(t,n){if(t==="*")return n;if(n==="*")return t;return t===n?t:null}function Mt(t){let n=new Set;for(let o of t){if(o==="*"||o.includes(":")){n.add(o);continue}switch(o){case"read":n.add("*:read");break;case"write":n.add("*:read"),n.add("*:create"),n.add("*:update");break;case"delete":n.add("*:delete");break;default:break}}return[...n].sort()}function _e(t){if(t==="*")return!0;if(["read","write","delete"].includes(t))return!0;return/^[a-z0-9_*-]+:[a-z0-9_*-]+$/.test(t)}function O(t,n={}){let o=n.locale??t.i18n.defaultLocale;return{locale:o,chain:[o,...C(t,o,n)]}}function C(t,n,o){if(o.fallbackLocale===!1)return[];if(typeof o.fallbackLocale==="string")return o.fallbackLocale===n?[]:[o.fallbackLocale];let r=t.i18n.defaultLocale;return r===n?[]:[r]}function hn(t,n){let o=h(t)?t:{};for(let r of n.chain){let i=o[r];if(i!==void 0&&i!==null)return{value:i,from:r}}return{value:null,from:null}}function J(t,n,o){let r=h(t)?{...t}:{};return r[n]=o,r}function h(t){return typeof t==="object"&&t!==null&&!Array.isArray(t)}var v=["id","revision","createdAt","updatedAt","updatedBy","deletedAt","purgeAfter","scheduledAt","scheduledPatch","_fallback","_localeFields"],w=new Set(v);function A(t,n,o){let r=u(t.data),i={},s={},a=[];for(let[c,f]of Object.entries(n.fields)){if(f.localized){let d=r[c];if(d&&typeof d==="object"&&!Array.isArray(d)&&Object.hasOwn(d,o.locale))a.push(c);let g=hn(d,o);if(i[c]=g.value??y(f),g.from!==null&&g.from!==o.locale)s[c]=g.from;continue}let p=r[c];i[c]=p===void 0?y(f):p}if(Object.values(n.fields).some((c)=>c.localized))i._localeFields=a;if(i.id=String(t.id),i.revision=gn(t.revision),i.createdAt=l(t.created_at),i.updatedAt=l(t.updated_at),i.updatedBy=t.updated_by===void 0?null:t.updated_by,i.deletedAt=l(t.deleted_at),i.purgeAfter=l(t.purge_after),i.scheduledAt=l(t.scheduled_at),i.scheduledPatch=je(t)?.data??null,Object.keys(s).length>0)i._fallback=s;return i}function $e(t,n,o,r){S(t,n);let i=r===void 0,s={...r??{}},a=[];for(let[c,f]of Object.entries(t.fields)){let p=n[c];if(p!==void 0){s[c]=f.localized?J(s[c],o.locale,p):p,a.push(c);continue}if(!i)continue;let d=y(f);if(s[c]=f.localized?d===null?{}:{[o.locale]:d}:d,d!==null)a.push(c)}return{data:s,touched:a}}function Je(t,n,o,r){let i={};for(let s of r){let a=t.fields[s];if(!a)continue;let c=a.localized?u(n[s])[o.locale]??null:n[s]??null;if(c===null&&a.required){i[s]="is required";continue}let f=a.schema.safeParse(c);if(!f.success)i[s]=V(f.error.issues[0])}if(Object.keys(i).length>0)throw e.validation(`${t.name}: ${Object.entries(i).map(([s,a])=>`${s} ${a}`).join(", ")}`,{fields:i})}function V(t){if(!t)return"is invalid";let n=t.path.map((r)=>typeof r==="number"?`#${r+1}`:String(r)).join(" ");if(!n)return t.message;let o=t.code==="invalid_type"&&/received (null|undefined)$/.test(t.message);return`${n}: ${o?"is required":t.message}`}function vo(t,n,o){return Object.keys(t.fields).filter((r)=>!R(n[r],o[r]))}function xo(t){let n={};for(let[o,r]of Object.entries(t))n[k(o)]=r instanceof Date?r.toISOString():r instanceof Uint8Array?null:r;return n}function je(t){let n=t.scheduled_patch;if(n===null||n===void 0)return null;let o=u(n),r=u(o.data),i=typeof o.locale==="string"?o.locale:null;if(i===null)return null;return{data:r,locale:i,actor:L(o.actor)}}function L(t){if(typeof t!=="object"||t===null||Array.isArray(t))return null;let n=t;if(typeof n.id!=="string")return null;return{id:n.id,source:n.source==="api-key"?"api-key":"session",roles:x(n.roles),permissions:x(n.permissions)}}function x(t){return Array.isArray(t)?t.filter((n)=>typeof n==="string"):[]}function gn(t){let n=Number(t??1);return Number.isFinite(n)&&n>0?Math.trunc(n):1}function l(t){if(t===void 0||t===null)return null;if(t instanceof Date)return t.toISOString();return String(t)}function u(t){return typeof t==="object"&&t!==null&&!Array.isArray(t)?t:{}}function y(t){let n=t.defaultValue??t.column.default;return n===void 0?null:n}function S(t,n){let o=Object.keys(n).filter((r)=>!(r in t.fields)&&!w.has(r));if(o.length>0)throw e.validation(`${t.name} has no field ${o.map((r)=>`"${r}"`).join(", ")}`,{unknown:o})}function R(t,n){if(t===n)return!0;if(t===void 0||n===void 0)return!1;if(typeof t!=="object"||typeof n!=="object")return!1;return JSON.stringify(t)===JSON.stringify(n)}function k(t){return t.replace(/_([a-z0-9])/g,(n,o)=>o.toUpperCase())}
2
+ export{wo,It,zn,E,rt,Et,Mt,_e,O,hn,A,$e,Je,vo,xo,je,gn,l,u};
@@ -1,2 +1,2 @@
1
- function Ce(e,n){let t=[],a=[],r=[],i=[],c=[],o=[],s=[],f=[],p=d(e.tables),x=d(n.tables),g=[];for(let u of l(n.tables)){let h=p.get(u.name);if(!h){g.push(u);for(let M of l(u.indexes))c.push({kind:"create_index",index:M});continue}C(h,u,a,r,s),T(h,u,i,c)}for(let u of _(g))t.push({kind:"create_table",table:u});let y=l(e.tables).filter((u)=>!x.has(u.name));for(let u of _(y).reverse())f.push({kind:"drop_table",table:u.name});return w(e,n,o),[...t,...a,...r,...i,...c,...o,...s,...f]}function _(e){let n=new Map(l(e).map((i)=>[i.name,i])),t=[],a=new Set,r=(i)=>{if(!n.has(i.name))return;if(a.has(i.name))return;a.add(i.name);for(let c of l(i.columns)){let o=c.references?.table;if(o===void 0||o===i.name)continue;let s=n.get(o);if(s)r(s)}if(a.delete(i.name),n.delete(i.name))t.push(i)};for(let i of l(e))r(i);return t}function C(e,n,t,a,r){let i=d(e.columns),c=d(n.columns);for(let o of l(n.columns)){let s=i.get(o.name);if(!s){t.push({kind:"add_column",table:n.name,column:o});continue}let f=k(s,o);if(f.length>0)a.push({kind:"alter_column",table:n.name,column:o,previous:s,changes:f})}for(let o of l(e.columns))if(!c.has(o.name))r.push({kind:"drop_column",table:e.name,column:o.name})}function k(e,n){let t=[];if(e.type!==n.type||e.array!==n.array)t.push("type");if(e.nullable!==n.nullable)t.push("nullable");if(!m(e.default,n.default))t.push("default");if(!m(e.references,n.references))t.push("references");return t}function T(e,n,t,a){let r=d(e.indexes),i=d(n.indexes);for(let c of l(e.indexes)){let o=i.get(c.name);if(!o){t.push({kind:"drop_index",table:e.name,index:c.name});continue}if(!b(c,o))t.push({kind:"drop_index",table:e.name,index:c.name})}for(let c of l(n.indexes)){let o=r.get(c.name);if(!o||!b(o,c))a.push({kind:"create_index",index:c})}}function b(e,n){return e.unique===n.unique&&m(e.targets,n.targets)&&m(e.where,n.where)}function w(e,n,t){let a=d(e.collections);for(let r of l(n.collections)){let i=a.get(r.name),c=d(i?.fields??[]);for(let o of l(r.fields)){let s=c.get(o.name),f=!m(s?.default,o.default),p=s===void 0;if(o.localized)continue;if(o.default!==void 0&&(p||f))t.push({kind:"set_document_field",table:r.table,collection:r.slug,documentColumn:r.documentColumn,path:S(o),value:o.default})}if(i){let o=d(r.fields);for(let s of l(i.fields))if(!o.has(s.name)&&!s.localized)t.push({kind:"unset_document_field",table:r.table,collection:r.slug,documentColumn:r.documentColumn,path:S(s)})}}}function S(e){return[e.name]}function d(e){return new Map(e.map((n)=>[n.name,n]))}function l(e){return[...e].sort((n,t)=>n.name.localeCompare(t.name))}function m(e,n){if(e===n)return!0;if(e===void 0||n===void 0)return!1;return Ue(e)===Ue(n)}function Ue(e){if(e===null||typeof e!=="object")return JSON.stringify(e)??"null";if(Array.isArray(e))return`[${e.map((t)=>Ue(t)).join(",")}]`;return`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[a])=>t.localeCompare(a)).map(([t,a])=>`${JSON.stringify(t)}:${Ue(a)}`).join(",")}}`}function Oe(e){switch(e.kind){case"create_table":return`create table ${e.table.name}`;case"drop_table":return`drop table ${e.table}`;case"add_column":return`add ${e.table}.${e.column.name} (${v(e.column.type,e.column.array)})`;case"drop_column":return`drop ${e.table}.${e.column}`;case"alter_column":return`alter ${e.table}.${e.column.name} (${e.changes.join(", ")})`;case"create_index":return`create ${e.index.unique?"unique ":""}index ${e.index.name}`;case"drop_index":return`drop index ${e.index}`;case"set_document_field":return`backfill ${e.collection}.${e.path.join(".")} = ${JSON.stringify(e.value)}`;case"unset_document_field":return`remove ${e.collection}.${e.path.join(".")} from stored documents`}}function v(e,n){return n===!0?`${e}[]`:e}function Fn(e){if(e.length===0)return"empty";let n=e[0],t=(()=>{switch(n.kind){case"create_table":return e.filter((a)=>a.kind==="create_table").length>1?"create_schema":`create_${n.table.name}`;case"drop_table":return`drop_${n.table}`;case"add_column":return`add_${n.table}_${n.column.name}`;case"drop_column":return`drop_${n.table}_${n.column}`;case"alter_column":return`alter_${n.table}_${n.column.name}`;case"create_index":return`index_${n.index.name.replace(/^(idx|uniq)_/,"")}`;case"drop_index":return`drop_index_${n.index.replace(/^(idx|uniq)_/,"")}`;case"set_document_field":return`backfill_${n.collection}_${n.path.join("_")}`;case"unset_document_field":return`remove_${n.collection}_${n.path.join("_")}`}})();return j(e.length>1?`${t}_and_${e.length-1}_more`:t)}function j(e){let n=e.toLowerCase().replace(/[^a-z0-9]+/g,"_"),t=0,a=n.length;while(t<a&&n[t]==="_")t++;while(a>t&&n[a-1]==="_")a--;return n.slice(t,a).slice(0,60)}
2
- export{Ce,Ue,Oe,Fn};
1
+ function Ce(e,n){let t=[],a=[],r=[],i=[],c=[],o=[],s=[],f=[],p=d(e.tables),x=d(n.tables),g=[];for(let u of l(n.tables)){let h=p.get(u.name);if(!h){g.push(u);for(let M of l(u.indexes))c.push({kind:"create_index",index:M});continue}C(h,u,a,r,s),T(h,u,i,c)}for(let u of _(g))t.push({kind:"create_table",table:u});let y=l(e.tables).filter((u)=>!x.has(u.name));for(let u of _(y).reverse())f.push({kind:"drop_table",table:u.name});return w(e,n,o),[...t,...a,...r,...i,...c,...o,...s,...f]}function _(e){let n=new Map(l(e).map((i)=>[i.name,i])),t=[],a=new Set,r=(i)=>{if(!n.has(i.name))return;if(a.has(i.name))return;a.add(i.name);for(let c of l(i.columns)){let o=c.references?.table;if(o===void 0||o===i.name)continue;let s=n.get(o);if(s)r(s)}if(a.delete(i.name),n.delete(i.name))t.push(i)};for(let i of l(e))r(i);return t}function C(e,n,t,a,r){let i=d(e.columns),c=d(n.columns);for(let o of l(n.columns)){let s=i.get(o.name);if(!s){t.push({kind:"add_column",table:n.name,column:o});continue}let f=k(s,o);if(f.length>0)a.push({kind:"alter_column",table:n.name,column:o,previous:s,changes:f})}for(let o of l(e.columns))if(!c.has(o.name))r.push({kind:"drop_column",table:e.name,column:o.name})}function k(e,n){let t=[];if(e.type!==n.type||e.array!==n.array)t.push("type");if(e.nullable!==n.nullable)t.push("nullable");if(!m(e.default,n.default))t.push("default");if(!m(e.references,n.references))t.push("references");return t}function T(e,n,t,a){let r=d(e.indexes),i=d(n.indexes);for(let c of l(e.indexes)){let o=i.get(c.name);if(!o){t.push({kind:"drop_index",table:e.name,index:c.name});continue}if(!b(c,o))t.push({kind:"drop_index",table:e.name,index:c.name})}for(let c of l(n.indexes)){let o=r.get(c.name);if(!o||!b(o,c))a.push({kind:"create_index",index:c})}}function b(e,n){return e.unique===n.unique&&m(e.targets,n.targets)&&m(e.where,n.where)}function w(e,n,t){let a=d(e.collections);for(let r of l(n.collections)){let i=a.get(r.name),c=d(i?.fields??[]);for(let o of l(r.fields)){let s=c.get(o.name),f=!m(s?.default,o.default),p=s===void 0;if(o.localized)continue;if(o.default!==void 0&&(p||f))t.push({kind:"set_document_field",table:r.table,collection:r.slug,documentColumn:r.documentColumn,path:S(o),value:o.default})}if(i){let o=d(r.fields);for(let s of l(i.fields))if(!o.has(s.name)&&!s.localized)t.push({kind:"unset_document_field",table:r.table,collection:r.slug,documentColumn:r.documentColumn,path:S(s)})}}}function S(e){return[e.name]}function d(e){return new Map(e.map((n)=>[n.name,n]))}function l(e){return[...e].sort((n,t)=>n.name.localeCompare(t.name))}function m(e,n){if(e===n)return!0;if(e===void 0||n===void 0)return!1;return Ue(e)===Ue(n)}function Ue(e){if(e===null||typeof e!=="object")return JSON.stringify(e)??"null";if(Array.isArray(e))return`[${e.map((t)=>Ue(t)).join(",")}]`;return`{${Object.entries(e).filter(([,t])=>t!==void 0).sort(([t],[a])=>t.localeCompare(a)).map(([t,a])=>`${JSON.stringify(t)}:${Ue(a)}`).join(",")}}`}function Oe(e){switch(e.kind){case"create_table":return`create table ${e.table.name}`;case"drop_table":return`drop table ${e.table}`;case"add_column":return`add ${e.table}.${e.column.name} (${v(e.column.type,e.column.array)})`;case"drop_column":return`drop ${e.table}.${e.column}`;case"alter_column":return`alter ${e.table}.${e.column.name} (${e.changes.join(", ")})`;case"create_index":return`create ${e.index.unique?"unique ":""}index ${e.index.name}`;case"drop_index":return`drop index ${e.index}`;case"set_document_field":return`backfill ${e.collection}.${e.path.join(".")} = ${JSON.stringify(e.value)}`;case"unset_document_field":return`remove ${e.collection}.${e.path.join(".")} from stored documents`}}function v(e,n){return n===!0?`${e}[]`:e}function Nn(e){if(e.length===0)return"empty";let n=e[0],t=(()=>{switch(n.kind){case"create_table":return e.filter((a)=>a.kind==="create_table").length>1?"create_schema":`create_${n.table.name}`;case"drop_table":return`drop_${n.table}`;case"add_column":return`add_${n.table}_${n.column.name}`;case"drop_column":return`drop_${n.table}_${n.column}`;case"alter_column":return`alter_${n.table}_${n.column.name}`;case"create_index":return`index_${n.index.name.replace(/^(idx|uniq)_/,"")}`;case"drop_index":return`drop_index_${n.index.replace(/^(idx|uniq)_/,"")}`;case"set_document_field":return`backfill_${n.collection}_${n.path.join("_")}`;case"unset_document_field":return`remove_${n.collection}_${n.path.join("_")}`}})();return j(e.length>1?`${t}_and_${e.length-1}_more`:t)}function j(e){let n=e.toLowerCase().replace(/[^a-z0-9]+/g,"_"),t=0,a=n.length;while(t<a&&n[t]==="_")t++;while(a>t&&n[a-1]==="_")a--;return n.slice(t,a).slice(0,60)}
2
+ export{Ce,Ue,Oe,Nn};
@@ -1,2 +1,2 @@
1
- function s(...e){return{kind:"and",conditions:e.filter(o)}}function R(...e){return{kind:"or",conditions:e.filter(o)}}function zn(e){return{kind:"not",condition:e}}function er(e,r,n){return{kind:"compare",path:e,operator:r,value:n}}function t(e,r){return{kind:"compare",path:e,operator:"eq",value:r}}function We(e,r){return{kind:"compare",path:e,operator:"ne",value:r}}function it(e,r){return{kind:"compare",path:e,operator:"gt",value:r}}function tr(e,r){return{kind:"compare",path:e,operator:"gte",value:r}}function H(e,r){return{kind:"compare",path:e,operator:"lt",value:r}}function M(e,r){return{kind:"compare",path:e,operator:"lte",value:r}}function S(e,r){return{kind:"compare",path:e,operator:"in",value:r}}function nr(e,r){return{kind:"compare",path:e,operator:"nin",value:r}}function ae(e,r,n=!1){return{kind:"compare",path:e,operator:n?"ilike":"like",value:r}}function rr(e,r){return{kind:"compare",path:e,operator:"contains",value:r}}function le(e,r=!0){return{kind:"compare",path:e,operator:"exists",value:r}}function m(e,r="asc"){return{path:e,direction:r}}function Xo(e,r){if(!e)return r;if(!r)return e;return s(e,r)}function ir(e,r){let n=Xo(e.where,r);return n===void 0?e:{...e,where:n}}function o(e){return e!==void 0}
2
- export{s,R,zn,er,t,We,it,tr,H,M,S,nr,ae,rr,le,m,Xo,ir};
1
+ function s(...e){return{kind:"and",conditions:e.filter(o)}}function R(...e){return{kind:"or",conditions:e.filter(o)}}function Hn(e){return{kind:"not",condition:e}}function ir(e,r,n){return{kind:"compare",path:e,operator:r,value:n}}function t(e,r){return{kind:"compare",path:e,operator:"eq",value:r}}function We(e,r){return{kind:"compare",path:e,operator:"ne",value:r}}function it(e,r){return{kind:"compare",path:e,operator:"gt",value:r}}function sr(e,r){return{kind:"compare",path:e,operator:"gte",value:r}}function H(e,r){return{kind:"compare",path:e,operator:"lt",value:r}}function M(e,r){return{kind:"compare",path:e,operator:"lte",value:r}}function S(e,r){return{kind:"compare",path:e,operator:"in",value:r}}function ar(e,r){return{kind:"compare",path:e,operator:"nin",value:r}}function ae(e,r,n=!1){return{kind:"compare",path:e,operator:n?"ilike":"like",value:r}}function lr(e,r){return{kind:"compare",path:e,operator:"contains",value:r}}function le(e,r=!0){return{kind:"compare",path:e,operator:"exists",value:r}}function m(e,r="asc"){return{path:e,direction:r}}function rr(e,r){if(!e)return r;if(!r)return e;return s(e,r)}function cr(e,r){let n=rr(e.where,r);return n===void 0?e:{...e,where:n}}function o(e){return e!==void 0}
2
+ export{s,R,Hn,ir,t,We,it,sr,H,M,S,ar,ae,lr,le,m,rr,cr};
@@ -1,2 +1,2 @@
1
- function i(t){let e="";while(e.length<t){let o=crypto.getRandomValues(new Uint8Array(t*2));for(let r of o){if(r>=252)continue;if(e+="0123456789abcdefghijklmnopqrstuvwxyz"[r%36],e.length===t)break}}return e}function b(t){let n=Date.now().toString(36).padStart(9,"0");return`${t}_${n}${i(8)}`}var f=0;function ve(t){f=(f+1)%60466175;let n=Date.now().toString(36).padStart(9,"0"),e=f.toString(36).padStart(5,"0");return`${t}_${n}${e}${i(3)}`}function bo(t){let n=0xcbf29ce484222325n,e=0x100000001b3n,o=0xffffffffffffffffn,r=new TextEncoder().encode(t);for(let c of r)n=(n^BigInt(c))*e&o;return n.toString(16).padStart(16,"0")}
2
- export{b,ve,bo};
1
+ function i(t){let e="";while(e.length<t){let o=crypto.getRandomValues(new Uint8Array(t*2));for(let r of o){if(r>=252)continue;if(e+="0123456789abcdefghijklmnopqrstuvwxyz"[r%36],e.length===t)break}}return e}function b(t){let n=Date.now().toString(36).padStart(9,"0");return`${t}_${n}${i(8)}`}var f=0;function ve(t){f=(f+1)%60466175;let n=Date.now().toString(36).padStart(9,"0"),e=f.toString(36).padStart(5,"0");return`${t}_${n}${e}${i(3)}`}function Ao(t){let n=0xcbf29ce484222325n,e=0x100000001b3n,o=0xffffffffffffffffn,r=new TextEncoder().encode(t);for(let c of r)n=(n^BigInt(c))*e&o;return n.toString(16).padStart(16,"0")}
2
+ export{b,ve,Ao};
@@ -1,2 +1,2 @@
1
- import{nt,mo}from"./index-761dec5z.js";var p="documents",ln="data";function Pt(n){let e=[...Object.values(n.collections),...Object.values(n.globals)].sort((t,l)=>t.name.localeCompare(l.name)),o=e.flatMap(m),s=nt().map((t)=>t.name===p?{...t,indexes:[...t.indexes,...o].sort((l,a)=>l.name.localeCompare(a.name))}:t);if(r(e))s.push(mo());for(let t of n.pluginTables??[])s.push(u(t));return{version:1,tables:s.sort((t,l)=>t.name.localeCompare(l.name)),collections:e.map(i)}}function r(n){for(let e of n)for(let o of Object.values(e.fields))if(o.type==="slug"&&o.options.history===!0)return!0;return!1}function _t(){return{version:1,tables:[],collections:[]}}function u(n){return{...n,columns:[...n.columns].sort((e,o)=>e.name.localeCompare(o.name)),indexes:[...n.indexes].sort((e,o)=>e.name.localeCompare(o.name))}}function i(n){return{name:n.name,slug:n.slug,kind:n.kind,table:p,documentColumn:ln,fields:Object.entries(n.fields).map(([e,o])=>c(e,o)).sort((e,o)=>e.name.localeCompare(o.name))}}function c(n,e){let o=e.defaultValue??e.column.default;return{name:n,type:e.type,localized:e.localized,required:e.required,unique:e.column.unique===!0,index:e.column.index===!0||e.column.unique===!0,...o===void 0?{}:{default:o},...e.relationTo===void 0?{}:{relationTo:e.relationTo},column:e.column}}function m(n){let e=[];for(let[o,s]of Object.entries(n.fields)){let t=s.column.unique===!0;if(!(t||s.column.index===!0)||s.localized)continue;e.push({name:d(n.slug,o,t),table:p,targets:[{kind:"json",column:ln,path:[o],type:s.column.type}],unique:t,where:{column:"collection",equals:n.slug}})}return e.sort((o,s)=>o.name.localeCompare(s.name))}function d(n,e,o){return`${o?"uniq":"idx"}_documents_${n}_${e}`}
2
- export{p,ln,Pt,_t};
1
+ import{nt,yo}from"./index-344y6q4n.js";var p="documents",cn="data";function _t(n){let e=[...Object.values(n.collections),...Object.values(n.globals)].sort((t,l)=>t.name.localeCompare(l.name)),o=e.flatMap(m),s=nt().map((t)=>t.name===p?{...t,indexes:[...t.indexes,...o].sort((l,a)=>l.name.localeCompare(a.name))}:t);if(r(e))s.push(yo());for(let t of n.pluginTables??[])s.push(u(t));return{version:1,tables:s.sort((t,l)=>t.name.localeCompare(l.name)),collections:e.map(i)}}function r(n){for(let e of n)for(let o of Object.values(e.fields))if(o.type==="slug"&&o.options.history===!0)return!0;return!1}function $t(){return{version:1,tables:[],collections:[]}}function u(n){return{...n,columns:[...n.columns].sort((e,o)=>e.name.localeCompare(o.name)),indexes:[...n.indexes].sort((e,o)=>e.name.localeCompare(o.name))}}function i(n){return{name:n.name,slug:n.slug,kind:n.kind,table:p,documentColumn:cn,fields:Object.entries(n.fields).map(([e,o])=>c(e,o)).sort((e,o)=>e.name.localeCompare(o.name))}}function c(n,e){let o=e.defaultValue??e.column.default;return{name:n,type:e.type,localized:e.localized,required:e.required,unique:e.column.unique===!0,index:e.column.index===!0||e.column.unique===!0,...o===void 0?{}:{default:o},...e.relationTo===void 0?{}:{relationTo:e.relationTo},column:e.column}}function m(n){let e=[];for(let[o,s]of Object.entries(n.fields)){let t=s.column.unique===!0;if(!(t||s.column.index===!0)||s.localized)continue;e.push({name:d(n.slug,o,t),table:p,targets:[{kind:"json",column:cn,path:[o],type:s.column.type}],unique:t,where:{column:"collection",equals:n.slug}})}return e.sort((o,s)=>o.name.localeCompare(s.name))}function d(n,e,o){return`${o?"uniq":"idx"}_documents_${n}_${e}`}
2
+ export{p,cn,_t,$t};
@@ -1,2 +1,2 @@
1
- import{e}from"./index-x72d1hzh.js";var c=new Set(["dashboard","collection-list","document","global","media","trash","settings"]),g=100,r=200,f=120,m=new Set(["users","roles","locales","keys","ai","webhooks","deployment","activity"]);function no(l){if(typeof l!=="object"||l===null||Array.isArray(l))return;let n=l,i=n.kind;if(typeof i!=="string"||!c.has(i))return;let t=Array.isArray(n.dirtyFields)?n.dirtyFields.filter((s)=>typeof s==="string").slice(0,g):void 0,o=Number(n.baselineRevision);return{kind:i,...typeof n.collectionSlug==="string"?{collectionSlug:n.collectionSlug.slice(0,r)}:{},...typeof n.documentId==="string"?{documentId:n.documentId.slice(0,r)}:{},...typeof n.mediaId==="string"?{mediaId:n.mediaId.slice(0,r)}:{},...typeof n.tab==="string"&&n.tab.trim().length>0?{tab:n.tab.trim().slice(0,f)}:{},...typeof n.locale==="string"?{locale:n.locale}:{},...t&&t.length>0?{dirtyFields:t}:{},...Number.isInteger(o)&&o>0?{baselineRevision:o}:{}}}function oo(l,n,i){let t=i!==void 0&&a(l,i)?i:l.i18n.defaultLocale;if(!n)return{kind:"dashboard",collection:null,documentId:null,mediaId:null,tab:null,locale:t,dirtyFields:[],baselineRevision:null};let o=n.locale!==void 0&&a(l,n.locale)?n.locale:t,s=C(l,n);return{kind:n.kind,collection:s,documentId:n.documentId??null,mediaId:n.kind==="media"?n.mediaId??null:null,tab:b(n,s),locale:o,dirtyFields:n.dirtyFields??[],baselineRevision:n.baselineRevision??null}}function b(l,n){let i=l.tab;if(!i)return null;if(l.kind==="settings")return m.has(i)?i:null;if(l.kind==="media")return i==="active"||i==="orphaned"?i:null;if(l.kind==="document"||l.kind==="global")return n?.fields[i]?.type==="richText"?i:null;return null}function C(l,n){if(n.collectionSlug===void 0)return null;let i=n.kind==="global"?"global":n.kind==="document"||n.kind==="collection-list"?"collection":void 0;if(i===void 0)return null;let t={...l.collections,...l.globals},o=Object.values(t).find((s)=>s.slug===n.collectionSlug);if(!o||o.kind!==i)return null;return o}function L(l,n,i){let t={...l.collections,...l.globals},o=t[n],s=Object.values(t).find((u)=>u.slug===n);if(o&&s&&o.name!==s.name)throw e.validation(`"${n}" is ambiguous: it names ${o.name} and is the slug of ${s.name}. Use an unambiguous name or slug from describe_cms.`);let d=o??s;if(!d)throw e.notFound(`There is no collection called "${n}". Call describe_cms for the list.`);if(i&&d.kind!==i)throw e.validation(`"${n}" is a ${d.kind}, not a ${i}.`);return d}function a(l,n){return l.i18n.locales.includes(n)}function de(l,n,i){if(i!==void 0&&a(l,i))return i;if(i!==void 0)throw e.validation(`"${i}" is not a configured locale. Call describe_cms for the list.`);return n.locale}var ue={maxTurns:8,maxToolCalls:16,timeoutMs:90000};
2
- export{no,oo,L,de,ue};
1
+ import{e}from"./index-x72d1hzh.js";var c=new Set(["dashboard","collection-list","document","global","media","trash","settings"]),g=100,r=200,f=120,m=new Set(["users","roles","locales","keys","ai","webhooks","deployment","activity"]);function so(l){if(typeof l!=="object"||l===null||Array.isArray(l))return;let n=l,i=n.kind;if(typeof i!=="string"||!c.has(i))return;let t=Array.isArray(n.dirtyFields)?n.dirtyFields.filter((s)=>typeof s==="string").slice(0,g):void 0,o=Number(n.baselineRevision);return{kind:i,...typeof n.collectionSlug==="string"?{collectionSlug:n.collectionSlug.slice(0,r)}:{},...typeof n.documentId==="string"?{documentId:n.documentId.slice(0,r)}:{},...typeof n.mediaId==="string"?{mediaId:n.mediaId.slice(0,r)}:{},...typeof n.tab==="string"&&n.tab.trim().length>0?{tab:n.tab.trim().slice(0,f)}:{},...typeof n.locale==="string"?{locale:n.locale}:{},...t&&t.length>0?{dirtyFields:t}:{},...Number.isInteger(o)&&o>0?{baselineRevision:o}:{}}}function ao(l,n,i){let t=i!==void 0&&a(l,i)?i:l.i18n.defaultLocale;if(!n)return{kind:"dashboard",collection:null,documentId:null,mediaId:null,tab:null,locale:t,dirtyFields:[],baselineRevision:null};let o=n.locale!==void 0&&a(l,n.locale)?n.locale:t,s=C(l,n);return{kind:n.kind,collection:s,documentId:n.documentId??null,mediaId:n.kind==="media"?n.mediaId??null:null,tab:b(n,s),locale:o,dirtyFields:n.dirtyFields??[],baselineRevision:n.baselineRevision??null}}function b(l,n){let i=l.tab;if(!i)return null;if(l.kind==="settings")return m.has(i)?i:null;if(l.kind==="media")return i==="active"||i==="orphaned"?i:null;if(l.kind==="document"||l.kind==="global")return n?.fields[i]?.type==="richText"?i:null;return null}function C(l,n){if(n.collectionSlug===void 0)return null;let i=n.kind==="global"?"global":n.kind==="document"||n.kind==="collection-list"?"collection":void 0;if(i===void 0)return null;let t={...l.collections,...l.globals},o=Object.values(t).find((s)=>s.slug===n.collectionSlug);if(!o||o.kind!==i)return null;return o}function L(l,n,i){let t={...l.collections,...l.globals},o=t[n],s=Object.values(t).find((u)=>u.slug===n);if(o&&s&&o.name!==s.name)throw e.validation(`"${n}" is ambiguous: it names ${o.name} and is the slug of ${s.name}. Use an unambiguous name or slug from describe_cms.`);let d=o??s;if(!d)throw e.notFound(`There is no collection called "${n}". Call describe_cms for the list.`);if(i&&d.kind!==i)throw e.validation(`"${n}" is a ${d.kind}, not a ${i}.`);return d}function a(l,n){return l.i18n.locales.includes(n)}function de(l,n,i){if(i!==void 0&&a(l,i))return i;if(i!==void 0)throw e.validation(`"${i}" is not a configured locale. Call describe_cms for the list.`);return n.locale}var ue={maxTurns:8,maxToolCalls:16,timeoutMs:90000};
2
+ export{so,ao,L,de,ue};
@@ -1,18 +1,18 @@
1
- import{k,Y,Fe,Ne,Xe,ee}from"./index-ptttzgtp.js";var So=k({name:"doc",content:"block+",toHtml:({children:t})=>t,toMarkdown:({children:t})=>t}),To=k({name:"paragraph",group:"block",content:"inline*",toHtml:({children:t})=>`<p>${t}</p>`,toMarkdown:({children:t})=>t}),Co=k({name:"heading",group:"block",content:"inline*",attrs:{level:{default:1}},toHtml:({node:t,children:e})=>{let n=f(t.attrs?.level);return`<h${n}>${e}</h${n}>`},toMarkdown:({node:t,children:e})=>`${"#".repeat(f(t.attrs?.level))} ${e}`}),Oo=k({name:"blockquote",group:"block",content:"block+",toHtml:({children:t})=>`<blockquote>${t}</blockquote>`,toMarkdown:({children:t})=>t.split(`
1
+ import{k,Y,Fe,Ne,Xe,ee}from"./index-twqpdtfh.js";var Po=k({name:"doc",content:"block+",toHtml:({children:t})=>t,toMarkdown:({children:t})=>t}),_o=k({name:"paragraph",group:"block",content:"inline*",toHtml:({children:t})=>`<p>${t}</p>`,toMarkdown:({children:t})=>t}),$o=k({name:"heading",group:"block",content:"inline*",attrs:{level:{default:1}},toHtml:({node:t,children:e})=>{let n=f(t.attrs?.level);return`<h${n}>${e}</h${n}>`},toMarkdown:({node:t,children:e})=>`${"#".repeat(f(t.attrs?.level))} ${e}`}),jo=k({name:"blockquote",group:"block",content:"block+",toHtml:({children:t})=>`<blockquote>${t}</blockquote>`,toMarkdown:({children:t})=>t.split(`
2
2
  `).map((e)=>e.length===0?">":`> ${e}`).join(`
3
- `)}),Po=k({name:"bulletList",group:"block",content:"listItem+",toHtml:({children:t})=>`<ul>${t}</ul>`,toMarkdown:({childStrings:t})=>t.map((e)=>`- ${Xe(e,2)}`).join(`
4
- `)}),_o=k({name:"orderedList",group:"block",content:"listItem+",attrs:{start:{default:1}},toHtml:({node:t,children:e})=>{let n=typeof t.attrs?.start==="number"?t.attrs.start:1;return`<ol${n===1?"":` start="${n}"`}>${e}</ol>`},toMarkdown:({node:t,childStrings:e})=>{let n=typeof t.attrs?.start==="number"?t.attrs.start:1;return e.map((r,o)=>{let i=`${n+o}. `;return`${i}${Xe(r,i.length)}`}).join(`
5
- `)}}),$o=k({name:"listItem",content:"paragraph block*",toHtml:({children:t})=>`<li>${t}</li>`,toMarkdown:({children:t})=>t}),jo=k({name:"taskList",group:"block",content:"taskItem+",toHtml:({children:t})=>`<ul data-type="taskList">${t}</ul>`,toMarkdown:({childStrings:t})=>t.join(`
6
- `)}),Io=k({name:"taskItem",content:"paragraph block*",attrs:{checked:{default:!1}},toHtml:({node:t,children:e})=>`<li data-type="taskItem"${Ne({"data-checked":t.attrs?.checked===!0})}>${e}</li>`,toMarkdown:({node:t,children:e})=>`- [${t.attrs?.checked===!0?"x":" "}] ${Xe(e,6)}`}),Eo=k({name:"codeBlock",group:"block",content:"text*",marks:"",attrs:{language:{default:null}},toHtml:({node:t,childNodes:e})=>{let n=ee(t,"language"),r=Fe(p(e));return`<pre><code${n?` class="language-${Fe(n)}"`:""}>${r}</code></pre>`},toMarkdown:({node:t,childNodes:e})=>{let n=ee(t,"language")??"",r=p(e),o=Math.max(0,...[...r.matchAll(/`+/g)].map((a)=>a[0].length)),i="`".repeat(Math.max(3,o+1));return`${i}${n}
3
+ `)}),Io=k({name:"bulletList",group:"block",content:"listItem+",toHtml:({children:t})=>`<ul>${t}</ul>`,toMarkdown:({childStrings:t})=>t.map((e)=>`- ${Xe(e,2)}`).join(`
4
+ `)}),Eo=k({name:"orderedList",group:"block",content:"listItem+",attrs:{start:{default:1}},toHtml:({node:t,children:e})=>{let n=typeof t.attrs?.start==="number"?t.attrs.start:1;return`<ol${n===1?"":` start="${n}"`}>${e}</ol>`},toMarkdown:({node:t,childStrings:e})=>{let n=typeof t.attrs?.start==="number"?t.attrs.start:1;return e.map((r,o)=>{let i=`${n+o}. `;return`${i}${Xe(r,i.length)}`}).join(`
5
+ `)}}),Mo=k({name:"listItem",content:"paragraph block*",toHtml:({children:t})=>`<li>${t}</li>`,toMarkdown:({children:t})=>t}),Do=k({name:"taskList",group:"block",content:"taskItem+",toHtml:({children:t})=>`<ul data-type="taskList">${t}</ul>`,toMarkdown:({childStrings:t})=>t.join(`
6
+ `)}),qo=k({name:"taskItem",content:"paragraph block*",attrs:{checked:{default:!1}},toHtml:({node:t,children:e})=>`<li data-type="taskItem"${Ne({"data-checked":t.attrs?.checked===!0})}>${e}</li>`,toMarkdown:({node:t,children:e})=>`- [${t.attrs?.checked===!0?"x":" "}] ${Xe(e,6)}`}),Lo=k({name:"codeBlock",group:"block",content:"text*",marks:"",attrs:{language:{default:null}},toHtml:({node:t,childNodes:e})=>{let n=ee(t,"language"),r=Fe(p(e));return`<pre><code${n?` class="language-${Fe(n)}"`:""}>${r}</code></pre>`},toMarkdown:({node:t,childNodes:e})=>{let n=ee(t,"language")??"",r=p(e),o=Math.max(0,...[...r.matchAll(/`+/g)].map((a)=>a[0].length)),i="`".repeat(Math.max(3,o+1));return`${i}${n}
7
7
  ${r}
8
- ${i}`},toText:({childNodes:t})=>p(t)}),Mo=k({name:"horizontalRule",group:"block",atom:!0,toHtml:()=>"<hr>",toMarkdown:()=>"---",toText:()=>""}),Do=k({name:"hardBreak",group:"inline",inline:!0,atom:!0,toHtml:()=>"<br>",toMarkdown:()=>`
8
+ ${i}`},toText:({childNodes:t})=>p(t)}),Fo=k({name:"horizontalRule",group:"block",atom:!0,toHtml:()=>"<hr>",toMarkdown:()=>"---",toText:()=>""}),No=k({name:"hardBreak",group:"inline",inline:!0,atom:!0,toHtml:()=>"<br>",toMarkdown:()=>`
9
9
  `,toText:()=>`
10
- `}),qo=k({name:"image",group:"block",atom:!0,attrs:{src:{default:null},alt:{default:null},title:{default:null},mediaId:{default:null}},toHtml:({node:t,mediaUrl:e,mediaImage:n,images:r})=>{let o=g(t.attrs,n),i=o?.src??b(t.attrs,e);return`<img${Ne({src:i,alt:x(ee(t,"alt"))??o?.alt??"",title:ee(t,"title"),width:o?.width??void 0,height:o?.height??void 0,srcset:o?.srcset??void 0,sizes:o?.srcset?o.sizes??void 0:void 0,loading:r?.loading,decoding:r?.decoding,"data-media-id":ee(t,"mediaId")})}>`},toMarkdown:({node:t,mediaUrl:e,mediaImage:n})=>{let r=g(t.attrs,n),o=r?.src??b(t.attrs,e)??"",i=x(ee(t,"alt"))??r?.alt??"",a=ee(t,"title");return`![${i}](${o}${a?` "${a}"`:""})`},toText:({node:t})=>ee(t,"alt")??""}),Lo=k({name:"table",group:"block",content:"tableRow+",toHtml:({children:t})=>`<table><tbody>${t}</tbody></table>`,toMarkdown:({childStrings:t})=>{let[e,...n]=t;if(e===void 0)return"";let r=e.split(" | ").length,o=`| ${Array.from({length:r},()=>"---").join(" | ")} |`;return[`| ${e} |`,o,...n.map((i)=>`| ${i} |`)].join(`
11
- `)}}),Fo=k({name:"tableRow",content:"(tableCell | tableHeader)*",toHtml:({children:t})=>`<tr>${t}</tr>`,toMarkdown:({childStrings:t})=>t.map((e)=>e.replaceAll(`
12
- `," ")).join(" | ")}),No=k({name:"tableHeader",content:"block+",attrs:{colspan:{default:1},rowspan:{default:1},colwidth:{default:null}},toHtml:({node:t,children:e})=>`<th${N(t.attrs)}>${e}</th>`,toMarkdown:({children:t})=>t}),Uo=k({name:"tableCell",content:"block+",attrs:{colspan:{default:1},rowspan:{default:1},colwidth:{default:null}},toHtml:({node:t,children:e})=>`<td${N(t.attrs)}>${e}</td>`,toMarkdown:({children:t})=>t}),Jo=Y({name:"bold",toHtml:({text:t})=>`<strong>${t}</strong>`,toMarkdown:({text:t})=>`**${t}**`}),Wo=Y({name:"italic",toHtml:({text:t})=>`<em>${t}</em>`,toMarkdown:({text:t})=>`*${t}*`}),zo=Y({name:"underline",toHtml:({text:t})=>`<u>${t}</u>`,toMarkdown:({text:t})=>`<u>${t}</u>`}),Ho=Y({name:"strike",toHtml:({text:t})=>`<s>${t}</s>`,toMarkdown:({text:t})=>`~~${t}~~`}),Bo=Y({name:"code",toHtml:({text:t})=>`<code>${t}</code>`,toMarkdown:({text:t})=>`\`${t}\``}),Vo=Y({name:"link",attrs:{href:{default:null},target:{default:null},rel:{default:null}},toHtml:({mark:t,text:e})=>`<a${Ne({href:t.attrs?.href??"",target:t.attrs?.target,rel:t.attrs?.rel})}>${e}</a>`,toMarkdown:({mark:t,text:e})=>`[${e}](${String(t.attrs?.href??"")})`});function f(t){let e=typeof t==="number"?Math.trunc(t):1;return Math.min(6,Math.max(1,e))}function p(t){return t.map((e)=>e.text??"").join("")}function N(t){let e=t?.colspan,n=t?.rowspan;return Ne({colspan:typeof e==="number"&&e>1?e:void 0,rowspan:typeof n==="number"&&n>1?n:void 0})}function g(t,e){let n=t?.mediaId;if(typeof n!=="string"||!e)return null;return e(n)}function x(t){return t===void 0||t.trim()===""?void 0:t}function b(t,e){let n=t?.mediaId;if(typeof n==="string"&&e){let o=e(n);if(o)return o}let r=t?.src;return typeof r==="string"?r:void 0}function he(t){let e=t.replaceAll(`\r
10
+ `}),Uo=k({name:"image",group:"block",atom:!0,attrs:{src:{default:null},alt:{default:null},title:{default:null},mediaId:{default:null}},toHtml:({node:t,mediaUrl:e,mediaImage:n,images:r})=>{let o=g(t.attrs,n),i=o?.src??b(t.attrs,e);return`<img${Ne({src:i,alt:x(ee(t,"alt"))??o?.alt??"",title:ee(t,"title"),width:o?.width??void 0,height:o?.height??void 0,srcset:o?.srcset??void 0,sizes:o?.srcset?o.sizes??void 0:void 0,loading:r?.loading,decoding:r?.decoding,"data-media-id":ee(t,"mediaId")})}>`},toMarkdown:({node:t,mediaUrl:e,mediaImage:n})=>{let r=g(t.attrs,n),o=r?.src??b(t.attrs,e)??"",i=x(ee(t,"alt"))??r?.alt??"",a=ee(t,"title");return`![${i}](${o}${a?` "${a}"`:""})`},toText:({node:t})=>ee(t,"alt")??""}),Jo=k({name:"table",group:"block",content:"tableRow+",toHtml:({children:t})=>`<table><tbody>${t}</tbody></table>`,toMarkdown:({childStrings:t})=>{let[e,...n]=t;if(e===void 0)return"";let r=e.split(" | ").length,o=`| ${Array.from({length:r},()=>"---").join(" | ")} |`;return[`| ${e} |`,o,...n.map((i)=>`| ${i} |`)].join(`
11
+ `)}}),Wo=k({name:"tableRow",content:"(tableCell | tableHeader)*",toHtml:({children:t})=>`<tr>${t}</tr>`,toMarkdown:({childStrings:t})=>t.map((e)=>e.replaceAll(`
12
+ `," ")).join(" | ")}),zo=k({name:"tableHeader",content:"block+",attrs:{colspan:{default:1},rowspan:{default:1},colwidth:{default:null}},toHtml:({node:t,children:e})=>`<th${N(t.attrs)}>${e}</th>`,toMarkdown:({children:t})=>t}),Ho=k({name:"tableCell",content:"block+",attrs:{colspan:{default:1},rowspan:{default:1},colwidth:{default:null}},toHtml:({node:t,children:e})=>`<td${N(t.attrs)}>${e}</td>`,toMarkdown:({children:t})=>t}),Bo=Y({name:"bold",toHtml:({text:t})=>`<strong>${t}</strong>`,toMarkdown:({text:t})=>`**${t}**`}),Vo=Y({name:"italic",toHtml:({text:t})=>`<em>${t}</em>`,toMarkdown:({text:t})=>`*${t}*`}),Go=Y({name:"underline",toHtml:({text:t})=>`<u>${t}</u>`,toMarkdown:({text:t})=>`<u>${t}</u>`}),Ko=Y({name:"strike",toHtml:({text:t})=>`<s>${t}</s>`,toMarkdown:({text:t})=>`~~${t}~~`}),Zo=Y({name:"code",toHtml:({text:t})=>`<code>${t}</code>`,toMarkdown:({text:t})=>`\`${t}\``}),Yo=Y({name:"link",attrs:{href:{default:null},target:{default:null},rel:{default:null}},toHtml:({mark:t,text:e})=>`<a${Ne({href:t.attrs?.href??"",target:t.attrs?.target,rel:t.attrs?.rel})}>${e}</a>`,toMarkdown:({mark:t,text:e})=>`[${e}](${String(t.attrs?.href??"")})`});function f(t){let e=typeof t==="number"?Math.trunc(t):1;return Math.min(6,Math.max(1,e))}function p(t){return t.map((e)=>e.text??"").join("")}function N(t){let e=t?.colspan,n=t?.rowspan;return Ne({colspan:typeof e==="number"&&e>1?e:void 0,rowspan:typeof n==="number"&&n>1?n:void 0})}function g(t,e){let n=t?.mediaId;if(typeof n!=="string"||!e)return null;return e(n)}function x(t){return t===void 0||t.trim()===""?void 0:t}function b(t,e){let n=t?.mediaId;if(typeof n==="string"&&e){let o=e(n);if(o)return o}let r=t?.src;return typeof r==="string"?r:void 0}function he(t){let e=t.replaceAll(`\r
13
13
  `,`
14
14
  `).split(`
15
- `),n=m(e);return{type:"doc",content:n.length>0?n:[{type:"paragraph"}]}}function En(t){let e=t.replaceAll(`\r
15
+ `),n=m(e);return{type:"doc",content:n.length>0?n:[{type:"paragraph"}]}}function Mn(t){let e=t.replaceAll(`\r
16
16
  `,`
17
17
  `).split(/\n{2,}/).map((n)=>n.trim()).filter((n)=>n.length>0);return{type:"doc",content:e.length===0?[{type:"paragraph"}]:e.map((n)=>({type:"paragraph",content:[{type:"text",text:n}]}))}}function m(t){let e=[],n=0;while(n<t.length){let r=t[n]??"";if(r.trim().length===0){n+=1;continue}let o=/^\s*(`{3,})(.*)$/.exec(r);if(o){let s=o[1],d=(o[2]??"").trim(),l=[];n+=1;while(n<t.length&&!(t[n]??"").startsWith(s))l.push(t[n]??""),n+=1;n+=1,e.push({type:"codeBlock",...d.length>0?{attrs:{language:d}}:{},...l.length>0?{content:[{type:"text",text:l.join(`
18
- `)}]}:{}});continue}let i=/^(#{1,6})\s+(.*)$/.exec(r);if(i){e.push({type:"heading",attrs:{level:i[1].length},content:h(i[2].trim())}),n+=1;continue}if(/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(r)){e.push({type:"horizontalRule"}),n+=1;continue}if(/^\s*>/.test(r)){let s=[];while(n<t.length&&/^\s*>/.test(t[n]??""))s.push((t[n]??"").replace(/^\s*>\s?/,"")),n+=1;e.push({type:"blockquote",content:m(s)});continue}if(c(r)){let[s,d]=M(t,n);e.push(s),n=d;continue}let a=[];while(n<t.length){let s=t[n]??"";if(s.trim().length===0||c(s)||/^(#{1,6})\s/.test(s)||/^\s*>/.test(s)||/^\s*`{3,}/.test(s))break;a.push(s.trim()),n+=1}e.push({type:"paragraph",content:h(a.join(" "))})}return e}function c(t){let e=/^(\s*)[-*+]\s+(\[([ xX])\]\s+)?(.*)$/.exec(t);if(e){let r=e[3];return{ordered:!1,task:r===void 0?null:r.toLowerCase()==="x",indent:(e[1]??"").length,text:e[4]??"",start:1}}let n=/^(\s*)(\d+)[.)]\s+(.*)$/.exec(t);if(n)return{ordered:!0,task:null,indent:(n[1]??"").length,text:n[3]??"",start:Number(n[2]??1)};return null}function M(t,e){let n=c(t[e]??"");if(!n)return[{type:"paragraph"},e+1];let r=[],o=e;while(o<t.length){let a=c(t[o]??"");if(!a||a.indent!==n.indent)break;if(a.ordered!==n.ordered)break;if(a.task===null!==(n.task===null))break;let s=[a.text];o+=1;while(o<t.length){let d=t[o]??"";if(d.trim().length===0)break;let l=c(d);if(l&&l.indent<=n.indent)break;if(!l&&d.search(/\S/)<=n.indent)break;s.push(d.slice(n.indent+2)),o+=1}r.push({type:n.task===null?"listItem":"taskItem",...a.task===null?{}:{attrs:{checked:a.task}},content:m(s)})}let i=n.task!==null?"taskList":n.ordered?"orderedList":"bulletList";return[{type:i,...i==="orderedList"&&n.start!==1?{attrs:{start:n.start}}:{},content:r},o]}function h(t){let e=[],n="",r=()=>{if(n.length===0)return;e.push({type:"text",text:n}),n=""},o=0;while(o<t.length){let i=t.slice(o);if(i.startsWith("\\")&&i.length>1){n+=i[1],o+=2;continue}let a=/^\[([^\]]*)\]\(([^)\s]*)(?:\s+"([^"]*)")?\)/.exec(i);if(a){if(r(),o>0&&t[o-1]==="!"){e.push({type:"image",attrs:{src:a[2]??"",alt:a[1]??""}});let u=e.at(-2);if(u?.type==="text"&&u.text?.endsWith("!"))u.text=u.text.slice(0,-1)}else e.push({type:"text",text:a[1]??"",marks:[{type:"link",attrs:{href:a[2]??""}}]});o+=a[0].length;continue}let s=w(i);if(s){r();for(let l of h(s.inner))e.push(y(l,s.mark));o+=s.length;continue}let d=/^`([^`]+)`/.exec(i);if(d){r(),e.push({type:"text",text:d[1]??"",marks:[{type:"code"}]}),o+=d[0].length;continue}n+=t[o],o+=1}return r(),e}function w(t){let e=[[/^\*\*\*([^*]+)\*\*\*/,{type:"bold"}],[/^\*\*([^*]+)\*\*/,{type:"bold"}],[/^__([^_]+)__/,{type:"bold"}],[/^~~([^~]+)~~/,{type:"strike"}],[/^\*([^*]+)\*/,{type:"italic"}],[/^_([^_]+)_/,{type:"italic"}]];for(let[n,r]of e){let o=n.exec(t);if(o)return{mark:r,inner:o[1]??"",length:o[0].length}}return null}function y(t,e){if(t.type!=="text")return t;return{...t,marks:[...t.marks??[],e]}}export{So,To,Co,Oo,Po,_o,$o,jo,Io,Eo,Mo,Do,qo,Lo,Fo,No,Uo,Jo,Wo,zo,Ho,Bo,Vo,he,En};
18
+ `)}]}:{}});continue}let i=/^(#{1,6})\s+(.*)$/.exec(r);if(i){e.push({type:"heading",attrs:{level:i[1].length},content:h(i[2].trim())}),n+=1;continue}if(/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(r)){e.push({type:"horizontalRule"}),n+=1;continue}if(/^\s*>/.test(r)){let s=[];while(n<t.length&&/^\s*>/.test(t[n]??""))s.push((t[n]??"").replace(/^\s*>\s?/,"")),n+=1;e.push({type:"blockquote",content:m(s)});continue}if(c(r)){let[s,d]=M(t,n);e.push(s),n=d;continue}let a=[];while(n<t.length){let s=t[n]??"";if(s.trim().length===0||c(s)||/^(#{1,6})\s/.test(s)||/^\s*>/.test(s)||/^\s*`{3,}/.test(s))break;a.push(s.trim()),n+=1}e.push({type:"paragraph",content:h(a.join(" "))})}return e}function c(t){let e=/^(\s*)[-*+]\s+(\[([ xX])\]\s+)?(.*)$/.exec(t);if(e){let r=e[3];return{ordered:!1,task:r===void 0?null:r.toLowerCase()==="x",indent:(e[1]??"").length,text:e[4]??"",start:1}}let n=/^(\s*)(\d+)[.)]\s+(.*)$/.exec(t);if(n)return{ordered:!0,task:null,indent:(n[1]??"").length,text:n[3]??"",start:Number(n[2]??1)};return null}function M(t,e){let n=c(t[e]??"");if(!n)return[{type:"paragraph"},e+1];let r=[],o=e;while(o<t.length){let a=c(t[o]??"");if(!a||a.indent!==n.indent)break;if(a.ordered!==n.ordered)break;if(a.task===null!==(n.task===null))break;let s=[a.text];o+=1;while(o<t.length){let d=t[o]??"";if(d.trim().length===0)break;let l=c(d);if(l&&l.indent<=n.indent)break;if(!l&&d.search(/\S/)<=n.indent)break;s.push(d.slice(n.indent+2)),o+=1}r.push({type:n.task===null?"listItem":"taskItem",...a.task===null?{}:{attrs:{checked:a.task}},content:m(s)})}let i=n.task!==null?"taskList":n.ordered?"orderedList":"bulletList";return[{type:i,...i==="orderedList"&&n.start!==1?{attrs:{start:n.start}}:{},content:r},o]}function h(t){let e=[],n="",r=()=>{if(n.length===0)return;e.push({type:"text",text:n}),n=""},o=0;while(o<t.length){let i=t.slice(o);if(i.startsWith("\\")&&i.length>1){n+=i[1],o+=2;continue}let a=/^\[([^\]]*)\]\(([^)\s]*)(?:\s+"([^"]*)")?\)/.exec(i);if(a){if(r(),o>0&&t[o-1]==="!"){e.push({type:"image",attrs:{src:a[2]??"",alt:a[1]??""}});let u=e.at(-2);if(u?.type==="text"&&u.text?.endsWith("!"))u.text=u.text.slice(0,-1)}else e.push({type:"text",text:a[1]??"",marks:[{type:"link",attrs:{href:a[2]??""}}]});o+=a[0].length;continue}let s=w(i);if(s){r();for(let l of h(s.inner))e.push(y(l,s.mark));o+=s.length;continue}let d=/^`([^`]+)`/.exec(i);if(d){r(),e.push({type:"text",text:d[1]??"",marks:[{type:"code"}]}),o+=d[0].length;continue}n+=t[o],o+=1}return r(),e}function w(t){let e=[[/^\*\*\*([^*]+)\*\*\*/,{type:"bold"}],[/^\*\*([^*]+)\*\*/,{type:"bold"}],[/^__([^_]+)__/,{type:"bold"}],[/^~~([^~]+)~~/,{type:"strike"}],[/^\*([^*]+)\*/,{type:"italic"}],[/^_([^_]+)_/,{type:"italic"}]];for(let[n,r]of e){let o=n.exec(t);if(o)return{mark:r,inner:o[1]??"",length:o[0].length}}return null}function y(t,e){if(t.type!=="text")return t;return{...t,marks:[...t.marks??[],e]}}export{Po,_o,$o,jo,Io,Eo,Mo,Do,qo,Lo,Fo,No,Uo,Jo,Wo,zo,Ho,Bo,Vo,Go,Ko,Zo,Yo,he,Mn};
@@ -1,7 +1,7 @@
1
- import{n}from"./index-x72d1hzh.js";var d=new Map,m=new Map;function k(e){if(!/^[a-zA-Z][a-zA-Z0-9_]*$/.test(e.name))throw new n(`editor.nodes.${e.name}`,"a node name must be letters, digits and underscores, starting with a letter");if(typeof e.toHtml!=="function")throw new n(`editor.nodes.${e.name}`,"needs a toHtml serialiser; a node that cannot render as HTML is a node the REST API cannot answer with");if(typeof e.toMarkdown!=="function")throw new n(`editor.nodes.${e.name}`,"needs a toMarkdown serialiser; Markdown is what exports and AI prompts speak");let t=d.get(e.name);if(t&&t!==e)throw new n(`editor.nodes.${e.name}`,"a different node with this name is already registered");return d.set(e.name,e),e}function Y(e){if(typeof e.toHtml!=="function"||typeof e.toMarkdown!=="function")throw new n(`editor.marks.${e.name}`,"needs both a toHtml and a toMarkdown serialiser");let t=m.get(e.name);if(t&&t!==e)throw new n(`editor.marks.${e.name}`,"a different mark with this name is already registered");return m.set(e.name,e),e}function Ot(e){return d.get(e)}function rn(e){return m.get(e)}function ao(){return[...d.keys()].sort()}function lo(){return[...m.keys()].sort()}function Te(){return{nodes:[...d.values()].sort((e,t)=>e.name.localeCompare(t.name)).map((e)=>({name:e.name,...e.group===void 0?{}:{group:e.group},...e.content===void 0?{}:{content:e.content},inline:e.inline===!0,atom:e.atom===!0,attrs:e.attrs??{},...e.marks===void 0?{}:{marks:e.marks},component:e.Component!==void 0})),marks:[...m.values()].sort((e,t)=>e.name.localeCompare(t.name)).map((e)=>({name:e.name,attrs:e.attrs??{}}))}}function Q(e,t){if(!w(e))return"";let r=c(e,{format:t.format,index:0,depth:0,...t.mediaUrl===void 0?{}:{mediaUrl:t.mediaUrl},...t.mediaImage===void 0?{}:{mediaImage:t.mediaImage},...t.images===void 0?{}:{images:t.images}});return t.format==="html"?r:r.trim()}function co(e,t={}){return Q(e,{...t,format:"html"})}function X(e,t={}){return Q(e,{...t,format:"markdown"})}function uo(e,t={}){return Q(e,{...t,format:"text"})}function c(e,t){let{format:r}=t;if(e.type==="text")return h(e.text??"",e.marks??[],r);let i=e.content??[],a=i.map((u,l)=>c(u,{...t,index:l,depth:t.depth+1})),o=p(i,a,r),s=Ot(e.type);if(!s)return o;return(r==="html"?s.toHtml:r==="markdown"?s.toMarkdown:s.toText??((u)=>u.children))({node:e,children:o,childStrings:a,childNodes:i,depth:t.depth,index:t.index,...t.mediaUrl===void 0?{}:{mediaUrl:t.mediaUrl},...t.mediaImage===void 0?{}:{mediaImage:t.mediaImage},...t.images===void 0?{}:{images:t.images}})}function p(e,t,r){if(r==="html")return t.join("");if(!e.some((o)=>g(o)))return t.join("");let a=r==="markdown"?`
1
+ import{n}from"./index-x72d1hzh.js";var d=new Map,m=new Map;function k(e){if(!/^[a-zA-Z][a-zA-Z0-9_]*$/.test(e.name))throw new n(`editor.nodes.${e.name}`,"a node name must be letters, digits and underscores, starting with a letter");if(typeof e.toHtml!=="function")throw new n(`editor.nodes.${e.name}`,"needs a toHtml serialiser; a node that cannot render as HTML is a node the REST API cannot answer with");if(typeof e.toMarkdown!=="function")throw new n(`editor.nodes.${e.name}`,"needs a toMarkdown serialiser; Markdown is what exports and AI prompts speak");let t=d.get(e.name);if(t&&t!==e)throw new n(`editor.nodes.${e.name}`,"a different node with this name is already registered");return d.set(e.name,e),e}function Y(e){if(typeof e.toHtml!=="function"||typeof e.toMarkdown!=="function")throw new n(`editor.marks.${e.name}`,"needs both a toHtml and a toMarkdown serialiser");let t=m.get(e.name);if(t&&t!==e)throw new n(`editor.marks.${e.name}`,"a different mark with this name is already registered");return m.set(e.name,e),e}function Pt(e){return d.get(e)}function sn(e){return m.get(e)}function po(){return[...d.keys()].sort()}function mo(){return[...m.keys()].sort()}function Te(){return{nodes:[...d.values()].sort((e,t)=>e.name.localeCompare(t.name)).map((e)=>({name:e.name,...e.group===void 0?{}:{group:e.group},...e.content===void 0?{}:{content:e.content},inline:e.inline===!0,atom:e.atom===!0,attrs:e.attrs??{},...e.marks===void 0?{}:{marks:e.marks},component:e.Component!==void 0})),marks:[...m.values()].sort((e,t)=>e.name.localeCompare(t.name)).map((e)=>({name:e.name,attrs:e.attrs??{}}))}}function Q(e,t){if(!w(e))return"";let r=c(e,{format:t.format,index:0,depth:0,...t.mediaUrl===void 0?{}:{mediaUrl:t.mediaUrl},...t.mediaImage===void 0?{}:{mediaImage:t.mediaImage},...t.images===void 0?{}:{images:t.images}});return t.format==="html"?r:r.trim()}function fo(e,t={}){return Q(e,{...t,format:"html"})}function X(e,t={}){return Q(e,{...t,format:"markdown"})}function ho(e,t={}){return Q(e,{...t,format:"text"})}function c(e,t){let{format:r}=t;if(e.type==="text")return h(e.text??"",e.marks??[],r);let i=e.content??[],a=i.map((u,l)=>c(u,{...t,index:l,depth:t.depth+1})),o=p(i,a,r),s=Pt(e.type);if(!s)return o;return(r==="html"?s.toHtml:r==="markdown"?s.toMarkdown:s.toText??((u)=>u.children))({node:e,children:o,childStrings:a,childNodes:i,depth:t.depth,index:t.index,...t.mediaUrl===void 0?{}:{mediaUrl:t.mediaUrl},...t.mediaImage===void 0?{}:{mediaImage:t.mediaImage},...t.images===void 0?{}:{images:t.images}})}function p(e,t,r){if(r==="html")return t.join("");if(!e.some((o)=>g(o)))return t.join("");let a=r==="markdown"?`
2
2
 
3
3
  `:`
4
- `;return t.filter((o)=>o.length>0).join(a)}function g(e){if(e.type==="text")return!1;let t=Ot(e.type);if(!t)return!0;return t.inline!==!0}function h(e,t,r){let i=t.some((o)=>o.type==="code"),a=r==="html"?Fe(e):r==="markdown"&&!i?Go(e):e;if(r==="text")return a;for(let o of t){let s=rn(o.type);if(!s)continue;a=(r==="html"?s.toHtml:s.toMarkdown)({mark:o,text:a})}return a}function Fe(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;")}function Go(e){return e.replace(/([\\`*_[\]])/g,"\\$1")}function Ne(e){let t=[];for(let[r,i]of Object.entries(e)){if(i===void 0||i===null||i===!1)continue;if(i===!0){t.push(` ${r}`);continue}t.push(` ${r}="${Fe(String(i))}"`)}return t.join("")}function Xe(e,t){let r=" ".repeat(t);return e.split(`
4
+ `;return t.filter((o)=>o.length>0).join(a)}function g(e){if(e.type==="text")return!1;let t=Pt(e.type);if(!t)return!0;return t.inline!==!0}function h(e,t,r){let i=t.some((o)=>o.type==="code"),a=r==="html"?Fe(e):r==="markdown"&&!i?Qo(e):e;if(r==="text")return a;for(let o of t){let s=sn(o.type);if(!s)continue;a=(r==="html"?s.toHtml:s.toMarkdown)({mark:o,text:a})}return a}function Fe(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;").replaceAll('"',"&quot;")}function Qo(e){return e.replace(/([\\`*_[\]])/g,"\\$1")}function Ne(e){let t=[];for(let[r,i]of Object.entries(e)){if(i===void 0||i===null||i===!1)continue;if(i===!0){t.push(` ${r}`);continue}t.push(` ${r}="${Fe(String(i))}"`)}return t.join("")}function Xe(e,t){let r=" ".repeat(t);return e.split(`
5
5
  `).join(`
6
6
  ${r}`)}function x(e,t){return e.attrs?.[t]}function ee(e,t){let r=x(e,t);return typeof r==="string"?r:void 0}function w(e){return typeof e==="object"&&e!==null&&typeof e.type==="string"}
7
- export{k,Y,Ot,rn,ao,lo,Te,Q,co,X,uo,Fe,Go,Ne,Xe,ee};
7
+ export{k,Y,Pt,sn,po,mo,Te,Q,fo,X,ho,Fe,Qo,Ne,Xe,ee};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{he,En}from"./index-a1jv6396.js";import{pe,Z,Le,me,fe,j}from"./index-63x90ejh.js";import{jt,Wn,E,rt,It,Et,_e,O,fn,A,$e,Je,je}from"./index-axpzy2hj.js";import"./index-6m1kjq9g.js";import"./index-abfzb1ve.js";import{dt,Ie,He,Wt,ut,pt,mt,ft,vn,zt,ht,te,Ht,Bt,Vt,xn,Gt,Kt,Vn,Gn,Kn,yt}from"./index-b79c3k6g.js";import{Se,In,qe}from"./index-wbc2xh4h.js";import{V,J,Ee,bt,Be,F,Zt,Ge,An,Yt}from"./index-zyg6bfdq.js";import"./index-g4crf47y.js";import{ct,bn,wn}from"./index-a8jcwqsf.js";import{Ke,Rt}from"./index-1xz3pmtk.js";import{Ae,ke,Cn}from"./index-466cwb0b.js";import{en,tn,nn}from"./index-91fa1gzf.js";import{d}from"./index-9g2n7xa6.js";import{k,Y,Ot,rn,ao,lo,Te,Q,co,X,uo}from"./index-ptttzgtp.js";import{ge,et,tt}from"./index-y8kzzn94.js";import{C}from"./index-vf163r10.js";import{Ce}from"./index-vzhxn50e.js";import{p,ln,Pt,_t}from"./index-s9x07zb3.js";import{nt,ot}from"./index-761dec5z.js";import"./index-eqfcxn71.js";import{w,se}from"./index-rw0hze6x.js";import{b,ve}from"./index-8nzmqy0f.js";import{e,n}from"./index-x72d1hzh.js";export{n as CmsConfigError,ht as CmsEngine,e as CmsError,pt as EventBuffer,ut as JobRunner,Ht as LOCALE_NAMES,mt as Outbox,ft as RelationLoader,Se as Router,Le as aiActionsFor,fe as applyFieldReadAccess,j as assertFieldWriteAccess,dt as buildHookPipeline,Pt as buildSchemaSnapshot,wn as cmsScheduled,tn as collectMediaReferences,Rt as createAi,qe as createCmsHttp,b as createId,Yt as createMedia,ve as createOrderedId,Gt as createWebhooks,J as cursorWhere,et as defaultAdminPath,ge as defaultBasePath,tt as defaultMigrationsDirectory,pe as defineAiAction,Vn as defineCollection,Y as defineEditorMark,k as defineEditorNode,C as defineField,Gn as defineGlobal,Te as describeEditorSchema,In as describePanel,ln as documentsDataColumn,p as documentsTableName,_t as emptySnapshot,V as encodeCursor,rt as expandRoles,Z as getAiAction,rn as getEditorMark,Ot as getEditorNode,te as globalRowId,Wn as grants,Kn as heyoCms,Wt as hookPipelineEntries,It as intersectPermissions,Vt as isRtlLocale,_e as isValidScope,zt as listTrashed,O as localeContext,Bt as localeName,xn as localeRecords,Zt as mediaGcJob,se as parseByteSize,w as parseDuration,jt as permissionFor,E as permits,Ke as piCompletion,Ce as planMigration,An as prepareUpload,Ee as probeImage,en as referencesMedia,me as registeredAiActions,lo as registeredEditorMarks,ao as registeredEditorNodes,vn as relationTarget,Q as renderRichText,fn as resolveLocalized,he as richTextFromMarkdown,En as richTextFromText,co as richTextToHtml,X as richTextToMarkdown,uo as richTextToPlainText,A as rowToDocument,He as runAfterHooks,Ie as runBeforeHooks,ct as runDueJobs,je as scheduledPatch,Et as scopePermissions,d as scopedDb,ke as signPayload,Ae as signatureHeader,bn as startJobRunner,Ge as stripImageMetadata,nn as syncMediaUsages,yt as systemActor,ot as systemTableNames,nt as systemTables,F as toMediaDocument,$e as toStoredData,Je as validateFields,Be as variantKey,bt as variantTransform,Cn as verifySignature,Kt as webhookRetryJob};
1
+ import{he,Mn}from"./index-rpdkj3qk.js";import{pe,Z,Le,me,fe,j}from"./index-2j6d79fk.js";import{It,zn,E,rt,Et,Mt,_e,O,hn,A,$e,Je,je}from"./index-pkxgzw6e.js";import"./index-q6jkbsjp.js";import"./index-e3yknwyr.js";import{ut,Ie,He,zt,pt,mt,ft,ht,xn,Ht,yt,te,Bt,Vt,Gt,An,Kt,Zt,Yn,Qn,Xn,bt}from"./index-0fe3ngv2.js";import{Se,En,qe}from"./index-5yt6r97r.js";import{V,J,Ee,wt,Be,F,Yt,Ge,kn,Qt}from"./index-2zpnecrk.js";import"./index-g4crf47y.js";import{dt,wn,vn}from"./index-78f0ghve.js";import{Ke,St}from"./index-1xwmw8vb.js";import{Ae,ke,On}from"./index-cakys3fy.js";import{tn,nn,on}from"./index-n09v6gx3.js";import{d}from"./index-9g2n7xa6.js";import{k,Y,Pt,sn,po,mo,Te,Q,fo,X,ho}from"./index-twqpdtfh.js";import{ge,et,tt}from"./index-y8kzzn94.js";import{C}from"./index-fy8r8e53.js";import{Ce}from"./index-q6ak9ph4.js";import{p,cn,_t,$t}from"./index-qkqtxr65.js";import{nt,ot}from"./index-344y6q4n.js";import"./index-5j0cqm43.js";import{w,se}from"./index-rw0hze6x.js";import{b,ve}from"./index-qgtvymh2.js";import{e,n}from"./index-x72d1hzh.js";export{n as CmsConfigError,yt as CmsEngine,e as CmsError,mt as EventBuffer,pt as JobRunner,Bt as LOCALE_NAMES,ft as Outbox,ht as RelationLoader,Se as Router,Le as aiActionsFor,fe as applyFieldReadAccess,j as assertFieldWriteAccess,ut as buildHookPipeline,_t as buildSchemaSnapshot,vn as cmsScheduled,nn as collectMediaReferences,St as createAi,qe as createCmsHttp,b as createId,Qt as createMedia,ve as createOrderedId,Kt as createWebhooks,J as cursorWhere,et as defaultAdminPath,ge as defaultBasePath,tt as defaultMigrationsDirectory,pe as defineAiAction,Yn as defineCollection,Y as defineEditorMark,k as defineEditorNode,C as defineField,Qn as defineGlobal,Te as describeEditorSchema,En as describePanel,cn as documentsDataColumn,p as documentsTableName,$t as emptySnapshot,V as encodeCursor,rt as expandRoles,Z as getAiAction,sn as getEditorMark,Pt as getEditorNode,te as globalRowId,zn as grants,Xn as heyoCms,zt as hookPipelineEntries,Et as intersectPermissions,Gt as isRtlLocale,_e as isValidScope,Ht as listTrashed,O as localeContext,Vt as localeName,An as localeRecords,Yt as mediaGcJob,se as parseByteSize,w as parseDuration,It as permissionFor,E as permits,Ke as piCompletion,Ce as planMigration,kn as prepareUpload,Ee as probeImage,tn as referencesMedia,me as registeredAiActions,mo as registeredEditorMarks,po as registeredEditorNodes,xn as relationTarget,Q as renderRichText,hn as resolveLocalized,he as richTextFromMarkdown,Mn as richTextFromText,fo as richTextToHtml,X as richTextToMarkdown,ho as richTextToPlainText,A as rowToDocument,He as runAfterHooks,Ie as runBeforeHooks,dt as runDueJobs,je as scheduledPatch,Mt as scopePermissions,d as scopedDb,ke as signPayload,Ae as signatureHeader,wn as startJobRunner,Ge as stripImageMetadata,on as syncMediaUsages,bt as systemActor,ot as systemTableNames,nt as systemTables,F as toMediaDocument,$e as toStoredData,Je as validateFields,Be as variantKey,wt as variantTransform,On as verifySignature,Zt as webhookRetryJob};
package/dist/jobs.js CHANGED
@@ -1 +1 @@
1
- import{ct,bn,wn}from"./index-a8jcwqsf.js";export{wn as cmsScheduled,ct as runDueJobs,bn as startJobRunner};
1
+ import{dt,wn,vn}from"./index-78f0ghve.js";export{vn as cmsScheduled,dt as runDueJobs,wn as startJobRunner};
@@ -1 +1 @@
1
- import{an,Yo,Dn,qn,Ln}from"./index-mpkhjgvk.js";export{an as MigrationStore,Dn as generateMigration,Yo as generatePluginMigrations,Ln as migrationStatus,qn as runMigrations};
1
+ import{ln,tr,qn,Ln,Fn}from"./index-2djaxtj8.js";export{ln as MigrationStore,qn as generateMigration,tr as generatePluginMigrations,Fn as migrationStatus,Ln as runMigrations};
package/dist/query.js CHANGED
@@ -1 +1 @@
1
- import{s,R,zn,er,t,We,it,tr,H,M,S,nr,ae,rr,le,m,Xo,ir}from"./index-6m1kjq9g.js";export{s as and,rr as contains,t as eq,le as exists,it as gt,tr as gte,S as inList,ae as like,H as lt,M as lte,We as ne,zn as not,nr as notInList,R as or,m as orderBy,Xo as restrict,ir as restrictQuery,er as where};
1
+ import{s,R,Hn,ir,t,We,it,sr,H,M,S,ar,ae,lr,le,m,rr,cr}from"./index-q6jkbsjp.js";export{s as and,lr as contains,t as eq,le as exists,it as gt,sr as gte,S as inList,ae as like,H as lt,M as lte,We as ne,Hn as not,ar as notInList,R as or,m as orderBy,rr as restrict,cr as restrictQuery,ir as where};