@heyo-sh/heyo-cms 0.2.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.
- package/dist/adapters/astro.js +1 -1
- package/dist/ai/assistant/schema.d.ts +10 -0
- package/dist/ai/assistant/schema.d.ts.map +1 -1
- package/dist/ai/service.d.ts.map +1 -1
- package/dist/ai.js +1 -1
- package/dist/auth.js +1 -1
- package/dist/cli.js +2 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/content/import.d.ts.map +1 -1
- package/dist/content.js +1 -1
- package/dist/db/d1.js +1 -1
- package/dist/db/mongodb.d.ts +2 -1
- package/dist/db/mongodb.d.ts.map +1 -1
- package/dist/db/mongodb.js +2 -2
- package/dist/db/postgres.js +1 -1
- package/dist/db/sql/adapter.d.ts.map +1 -1
- package/dist/db/sql/dialect.d.ts +3 -0
- package/dist/db/sql/dialect.d.ts.map +1 -1
- package/dist/db/sqlite.js +1 -1
- package/dist/db/unique.d.ts +46 -0
- package/dist/db/unique.d.ts.map +1 -0
- package/dist/editor.js +1 -1
- package/dist/engine/documents.d.ts.map +1 -1
- package/dist/fields/builtin.d.ts +44 -1
- package/dist/fields/builtin.d.ts.map +1 -1
- package/dist/fields/registry.d.ts.map +1 -1
- package/dist/fields.js +1 -1
- package/dist/http/routes/ai.d.ts +1 -1
- package/dist/http.js +1 -1
- package/dist/index-0fe3ngv2.js +2 -0
- package/dist/index-1xwmw8vb.js +3 -0
- package/dist/{index-vkwzdfte.js → index-2djaxtj8.js} +4 -4
- package/dist/{index-8x2em6c8.js → index-2j6d79fk.js} +7 -7
- package/dist/{index-kc1j3h6z.js → index-2zpnecrk.js} +2 -2
- package/dist/{index-761dec5z.js → index-344y6q4n.js} +2 -2
- package/dist/index-4j1kkeg2.js +2 -0
- package/dist/{index-2prbs05k.js → index-5j0cqm43.js} +2 -2
- package/dist/index-5yt6r97r.js +40 -0
- package/dist/{index-a8jcwqsf.js → index-78f0ghve.js} +2 -2
- package/dist/{index-szaq03qq.js → index-8j4p950b.js} +2 -2
- package/dist/{index-466cwb0b.js → index-cakys3fy.js} +2 -2
- package/dist/{index-p2cqsmvw.js → index-cnzt9x9x.js} +2 -2
- package/dist/{index-abfzb1ve.js → index-e3yknwyr.js} +2 -2
- package/dist/index-fy8r8e53.js +2 -0
- package/dist/index-gv8j76x3.js +26 -0
- package/dist/{index-rg9tpg3p.js → index-mzxsxzkd.js} +4 -4
- package/dist/{index-91fa1gzf.js → index-n09v6gx3.js} +2 -2
- package/dist/index-pkxgzw6e.js +2 -0
- package/dist/{index-vzhxn50e.js → index-q6ak9ph4.js} +2 -2
- package/dist/{index-6m1kjq9g.js → index-q6jkbsjp.js} +2 -2
- package/dist/{index-8nzmqy0f.js → index-qgtvymh2.js} +2 -2
- package/dist/{index-s9x07zb3.js → index-qkqtxr65.js} +2 -2
- package/dist/{index-ypcmns0v.js → index-rb9fxtyn.js} +2 -2
- package/dist/{index-g041kfa5.js → index-rpdkj3qk.js} +11 -11
- package/dist/{index-hbx67b20.js → index-twqpdtfh.js} +3 -3
- package/dist/index.js +1 -1
- package/dist/jobs.js +1 -1
- package/dist/migrations.js +1 -1
- package/dist/query.js +1 -1
- package/dist/{run-bjge3v8e.js → run-mtgvmy5x.js} +2 -2
- package/dist/schema.js +1 -1
- package/dist/telemetry.js +1 -1
- package/dist/types/fields.d.ts +2 -2
- package/dist/types/fields.d.ts.map +1 -1
- package/dist/types/panel.d.ts +2 -0
- package/dist/types/panel.d.ts.map +1 -1
- package/dist/uploads.js +3 -3
- package/dist/webhooks.js +1 -1
- package/package.json +1 -1
- package/dist/index-4qrep5f0.js +0 -26
- package/dist/index-67e458ws.js +0 -2
- package/dist/index-6w10rch0.js +0 -3
- package/dist/index-cv0hpz3d.js +0 -2
- package/dist/index-hpast878.js +0 -40
- package/dist/index-sgdnp83t.js +0 -2
package/dist/adapters/astro.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D,B}from"../index-385ggnge.js";function u(o
|
|
1
|
+
import{D,B}from"../index-385ggnge.js";function u(e,o={}){let t=({request:n,locals:r})=>D(e,n,o.waitUntil??i(r));return{GET:t,POST:t,PATCH:t,PUT:t,DELETE:t,HEAD:t,OPTIONS:t,ALL:t}}function i(e){return B(e?.cfContext)}export{u as cmsHandler};
|
|
@@ -24,6 +24,16 @@ export interface AssistantFieldDescription {
|
|
|
24
24
|
options?: string[];
|
|
25
25
|
/** Present for `relation`: the collection an id has to come from. */
|
|
26
26
|
relationTo?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Present for `list`: the fields of one row. The value is an array of
|
|
29
|
+
* objects with these keys, written whole.
|
|
30
|
+
*/
|
|
31
|
+
rowFields?: {
|
|
32
|
+
name: string;
|
|
33
|
+
type: string;
|
|
34
|
+
required: boolean;
|
|
35
|
+
options?: string[];
|
|
36
|
+
}[];
|
|
27
37
|
/** `false` means the actor may read it but not write it. */
|
|
28
38
|
writable: boolean;
|
|
29
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/ai/assistant/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIhF;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,GAAG,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3E;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,8BAA8B,EAAE,CAAC;IAC9C,OAAO,EAAE,8BAA8B,EAAE,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB,eAAe,CAkBjB;
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/ai/assistant/schema.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAIhF;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IACpF,4DAA4D;IAC5D,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,GAAG,EAAE;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3E;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,8BAA8B,EAAE,CAAC;IAC9C,OAAO,EAAE,8BAA8B,EAAE,CAAC;IAC1C,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,OAAO,EAAE,MAAM,EAAE,GAChB,eAAe,CAkBjB;AAwGD,wEAAwE;AACxE,wBAAgB,aAAa,CAC3B,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAUT;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAC1B,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,GAAG,IAAI,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAGT;AA4BD,wBAAgB,UAAU,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,GAAG,IAAI,CAYxE"}
|
package/dist/ai/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/ai/service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAYV,KAAK,EACN,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMvE,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,gFAAgF;IAChF,GAAG,IAAI,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/ai/service.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAYV,KAAK,EACN,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAMvE,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,QAAQ,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IACrC,gFAAgF;IAChF,GAAG,IAAI,WAAW,CAAC;IACnB,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,KAAK,CA2dzD"}
|
package/dist/ai.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./index-
|
|
1
|
+
import"./index-rpdkj3qk.js";import{pe,Z,Le,me,Ot,To,Co,Oo,lo,co,uo}from"./index-2j6d79fk.js";import"./index-pkxgzw6e.js";import"./index-q6jkbsjp.js";import{Sn,Tn,no,Ke,At}from"./index-1xwmw8vb.js";export{Le as aiActionsFor,co as altAction,Tn as assertModelExists,Sn as authTypesForAiProvider,Ot as customAiAction,pe as defineAiAction,At as describeCmsFor,To as generateAction,Z as getAiAction,Co as improveAction,no as modelsForProvider,Ke as piCompletion,me as registeredAiActions,Oo as summarizeAction,uo as tagsAction,lo as translateAction};
|
package/dist/auth.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./index-
|
|
1
|
+
import"./index-q6jkbsjp.js";import{_e}from"./index-pkxgzw6e.js";import{Un,jt,Jn,Wn,nr,dn,be,un,pn}from"./index-5j0cqm43.js";import{Pe,mn,we,re,ie}from"./index-cnzt9x9x.js";import{w}from"./index-rw0hze6x.js";import{n}from"./index-x72d1hzh.js";function o(e){if(e.methods.length===0)throw new n("admin.auth.methods","at least one sign-in method is required");for(let[s,t]of[["session",e.session?.expiresIn],["invites",e.invites?.expiresIn],["magicLink",e.magicLink?.expiresIn],["passwordReset",e.passwordReset?.expiresIn],["apiKeys",e.apiKeys?.expiresIn]])if(t)w(t,`admin.auth.${s}.expiresIn`);for(let s of e.apiKeys?.scopes??[])if(!_e(s))throw new n("admin.auth.apiKeys.scopes",`"${s}" is not a scope; use "read", "write", "delete", "*" or "collection:action"`);let i=e.firstUser;if(typeof i==="object"){let s=i.roles;if(s!==void 0&&s.length===0)throw new n("admin.auth.firstUser.roles","the first account needs at least one role")}if(i!==void 0&&i!==!1&&!e.methods.includes("password"))throw new n("admin.auth.firstUser",'the first account signs in with a password; add "password" to methods, or set firstUser: false');let r=e.password?.minLength;if(r!==void 0&&r<8)throw new n("admin.auth.password.minLength","must be at least 8");return{kind:"cms-users",...e}}function a(e){if(!/^https?:\/\//.test(e.issuer))throw new n("admin.auth.sso.issuer","must be an HTTP(S) issuer URL");return{kind:"oidc",...e}}export{un as apiKeyPrefix,ie as base64url,Un as builtinProviders,o as cmsUsers,pn as createAuth,jt as decodeIdToken,Jn as generateTotpSecret,Pe as hashPassword,re as hashToken,a as oidc,we as randomToken,be as sessionCookieName,nr as totpCode,Wn as totpUri,mn as verifyPassword,dn as verifyTotp};
|
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import"./index-
|
|
2
|
+
import"./index-pkxgzw6e.js";import"./index-q6jkbsjp.js";import"./index-e3yknwyr.js";import"./index-0fe3ngv2.js";import"./index-rpdkj3qk.js";import"./index-2j6d79fk.js";import"./index-5yt6r97r.js";import"./index-2zpnecrk.js";import{ln,qn,Ln,Fn}from"./index-2djaxtj8.js";import{Jt,Wt,bn}from"./index-8j4p950b.js";import{qt,Lt,Ft,Nt,Ut}from"./index-mzxsxzkd.js";import"./index-1xwmw8vb.js";import"./index-n09v6gx3.js";import"./index-5j0cqm43.js";import{createRequire as C}from"node:module";var m=C(import.meta.url);import{createReadStream as b,createWriteStream as v}from"node:fs";import{readFile as p,stat as k}from"node:fs/promises";import{isAbsolute as I,resolve as l}from"node:path";import{pathToFileURL as M}from"node:url";import{randomBytes as P}from"node:crypto";var g=`
|
|
3
3
|
heyo-cms generate [--name <name>] write a migration for what changed
|
|
4
4
|
heyo-cms migrate apply pending migrations
|
|
5
5
|
heyo-cms status show applied, pending and unplanned changes
|
|
@@ -26,5 +26,5 @@ import"./index-sgdnp83t.js";import"./index-6m1kjq9g.js";import"./index-abfzb1ve.
|
|
|
26
26
|
--config <path> configuration module (default: ./heyo-cms.config.ts)
|
|
27
27
|
--dir <path> migrations directory (default: the one in the config)
|
|
28
28
|
--env <path> environment file (default: ./.env, then ./.env.local)
|
|
29
|
-
`;async function _(e){let{command:n,positionals:o,flags:t}=N(e);if(!n||n==="help"||t.has("--help"))return console.log(g),n&&n!=="help"?1:0;await U(t.get("--env"));let s=await j(t.get("--config"));switch(n){case"generate":case"migrate":case"status":return await A(n,s,t);case"create-admin":return await d(n,s,await x(s,t));case"seed":return await d(n,s,await O(s,t));case"export":return await d(n,s,await R(s,t));case"import":return await d(n,s,await W(s,o[1],t));case"telemetry":return await D(s);default:return console.error(`Unknown command: ${n}`),console.log(g),1}}async function A(e,n,o){let t=l(o.get("--dir")??n._config.migrationsDirectory),s=new
|
|
29
|
+
`;async function _(e){let{command:n,positionals:o,flags:t}=N(e);if(!n||n==="help"||t.has("--help"))return console.log(g),n&&n!=="help"?1:0;await U(t.get("--env"));let s=await j(t.get("--config"));switch(n){case"generate":case"migrate":case"status":return await A(n,s,t);case"create-admin":return await d(n,s,await x(s,t));case"seed":return await d(n,s,await O(s,t));case"export":return await d(n,s,await R(s,t));case"import":return await d(n,s,await W(s,o[1],t));case"telemetry":return await D(s);default:return console.error(`Unknown command: ${n}`),console.log(g),1}}async function A(e,n,o){let t=l(o.get("--dir")??n._config.migrationsDirectory),s=new ln(t),a=await n.database();if(e==="generate"){let i=await qn({adapter:a,store:s,target:n.schema,plugins:n._config.plugins.flatMap((c)=>(c.migrations??[]).map((u)=>({plugin:c.id,id:u.id,steps:u.steps}))),...o.get("--name")?{name:o.get("--name")}:{}});if(i.created){console.log(`Wrote ${i.file}`);for(let c of i.summary)console.log(` ${c}`)}for(let c of i.plugins??[])console.log(`Wrote ${c.file} (plugin migration)`);if(!i.created&&(i.plugins??[]).length===0)console.log("No schema changes. Nothing to generate.");return await d(e,n,0)}if(e==="migrate"){let i=await Ln({adapter:a,store:s});if(i.applied.length===0)return console.log(`Up to date (${i.alreadyApplied} migration(s) already applied).`),await d(e,n,0);for(let c of i.applied)console.log(`Applied ${c}`);return await d(e,n,0)}let r=await Fn({adapter:a,store:s,target:n.schema});console.log(`Applied: ${r.applied.length}`);for(let i of r.pending)console.log(` pending ${i}`);for(let i of r.modified)console.log(` MODIFIED ${i} (applied, then edited)`);if(r.unplanned.length>0)console.log(` ${r.unplanned.length} change(s) in the configuration have no migration yet; run "heyo-cms generate".`);return r.pending.length>0||r.modified.length>0||r.unplanned.length>0?1:0}async function x(e,n){let o=n.get("--email")??process.env.HEYO_CMS_ADMIN_EMAIL;if(!o)return console.error("An address is required: heyo-cms create-admin --email you@example.com"),1;let t=n.get("--password")??process.env.HEYO_CMS_ADMIN_PASSWORD,s=t??E(),a=(n.get("--roles")??"admin").split(",").map((c)=>c.trim()).filter((c)=>c.length>0),r=await e.auth.users.byEmail(o);if(r)return console.error(`${o} already has an account (${r.status}). Use the panel, or cms.auth.users.setPassword().`),1;let i=await e.auth.users.create({email:o,password:s,roles:a,status:"active",...n.get("--name")?{name:n.get("--name")}:{}});if(await e.drainEvents(),console.log(`Created ${i.email} with role(s) ${i.roles.join(", ")}.`),!t)console.log(`Password: ${s}`),console.log("This is the only time it is shown.");return console.log(`Sign in at ${e._config.basePath}${e._config.admin.path}.`),0}function E(){return P(24).toString("base64url")}var S=["heyo-cms.seed.ts","heyo-cms.seed.js","seed.ts","src/heyo-cms.seed.ts"];async function O(e,n){let o=n.get("--file")?l(n.get("--file")):await y(S,"seed module"),t=await h(o),s=t.seed??t.default;if(typeof s!=="function")return console.error(`${o} does not export a seed. Add \`export async function seed(cms) { ... }\`.`),1;return await s(e),await e.drainEvents(),console.log(`Seeded from ${o}.`),0}async function R(e,n){let o=n.get("--out"),t=o?F(l(o)):Y(),s=0,a=0;try{for await(let r of Nt(e,{...f(n,"--collections","collections"),...f(n,"--globals","globals"),...n.has("--include-trashed")?{includeTrashed:!0}:{}})){if(r.kind==="document")s+=1;if(r.kind==="global")a+=1;await t.line(Ft(r))}}finally{await t.close()}return console.error(`Exported ${s} document(s) and ${a} global(s).`),0}async function W(e,n,o){if(!n)return console.error('A file is required: heyo-cms import content.ndjson (or "-").'),1;let t=o.get("--on-conflict")??"skip";if(!["skip","update","fail"].includes(t))return console.error(`--on-conflict takes skip, update or fail; got ${t}.`),1;let s={onConflict:t,...o.has("--dry-run")?{dryRun:!0}:{}},a=n==="-"?H():q(l(n)),r=await Ut(e,qt(Lt(a)),s),i=s.dryRun?"Would import":"Imported";if(console.log(`${i} ${r.documents.created} new and ${r.documents.updated} updated document(s), ${r.globals.updated} global(s).`),r.documents.skipped>0)console.log(`Skipped ${r.documents.skipped} document(s).`);for(let c of r.errors)console.error(` ${c}`);return r.errors.length>0?1:0}async function D(e){let n=Jt(e._config.telemetry),o=Wt("telemetry",e,await w());return console.log(n.enabled?"Telemetry: on":"Telemetry: off"),console.log(` ${n.reason}`),console.log(""),console.log(" What a command would send, in full:"),console.log(""),console.log(JSON.stringify(o,null,2)),console.log(""),console.log(" Turn it off with any of:"),console.log(" HEYO_TELEMETRY_DISABLED=1"),console.log(" DO_NOT_TRACK=1"),console.log(" telemetry: { enabled: false } in heyo-cms.config.ts"),console.log(""),0}async function d(e,n,o){try{await bn({event:e,cms:n,version:await w(),...n._config.telemetry?{config:n._config.telemetry}:{}})}catch{}return o}function N(e){let n=new Map,o=[];for(let t=0;t<e.length;t+=1){let s=e[t];if(!s.startsWith("--")){o.push(s);continue}let a=e[t+1];if(a!==void 0&&!a.startsWith("--"))n.set(s,a),t+=1;else n.set(s,"true")}return{command:o[0],positionals:o,flags:n}}function f(e,n,o){let t=e.get(n);if(!t||t==="true")return{};return{[o]:t.split(",").map((s)=>s.trim()).filter((s)=>s.length>0)}}var T=["heyo-cms.config.ts","heyo-cms.config.js","heyo-cms.config.mjs","src/heyo-cms.config.ts","app/heyo-cms.config.ts"];async function j(e){let n=e?l(e):await y(T,"configuration"),o=await h(n),t=o.cms??o.default;if(!L(t))throw Error(`${n} does not export a CMS. Add \`export const cms = heyoCms({ ... })\`.`);return t}async function h(e){return await(I(e)?import(M(e).href):import(e))}async function y(e,n){for(let o of e){let t=l(o);try{return await k(t),t}catch{}}throw Error(`No ${n} found. Looked for ${e.join(", ")}. Use --config or --file.`)}function L(e){return typeof e==="object"&&e!==null&&"_config"in e&&"schema"in e&&typeof e.database==="function"}async function U(e){let n=e?[l(e)]:[l(".env"),l(".env.local")];for(let o of n){let t;try{t=await p(o,"utf8")}catch{if(e)throw Error(`No environment file at ${o}.`);continue}for(let s of t.split(`
|
|
30
30
|
`)){let a=/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/.exec(s);if(!a)continue;let[,r,i]=a;if(process.env[r]!==void 0)continue;let c=i.trim(),u=/^(["'])([\s\S]*)\1$/.exec(c);process.env[r]=u?u[2]:c.split(" #")[0].trim()}}}async function w(){try{let e=await p(new URL("../package.json",import.meta.url),"utf8");return JSON.parse(e).version??"0.0.0"}catch{return"0.0.0"}}function F(e){let n=v(e,{encoding:"utf8"});return{line:(o)=>new Promise((t,s)=>{n.write(o,(a)=>a?s(a):t())}),close:()=>new Promise((o)=>n.end(()=>o()))}}function Y(){return{line:(e)=>new Promise((n,o)=>{process.stdout.write(e,(t)=>t?o(t):n())}),close:async()=>{}}}async function*q(e){let n=b(e,{encoding:"utf8"});for await(let o of n)yield o}async function*H(){process.stdin.setEncoding("utf8");for await(let e of process.stdin)yield e}if(m.main==m.module)_(process.argv.slice(2)).then((e)=>{process.exitCode=e}).catch((e)=>{console.error(e instanceof Error?e.message:String(e)),process.exitCode=1});export{_ as main};
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAI3C,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,aAAa,EAKd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EAGV,WAAW,EAIZ,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AA4CpB;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,YAAY,EAC3D,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAC7C,oBAAoB,CAAC,OAAO,CAAC,CAE/B;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,OAAO,SAAS,YAAY,EACvD,UAAU,EAAE,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC/D,MAAM,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;CAC9C,GACA,gBAAgB,CAAC,OAAO,CAAC,CAE3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,KAAK,CAAC,YAAY,SAAS,iBAAiB,EAC5C,KAAK,CAAC,QAAQ,SAAS,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAE5D,MAAM,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,GAC5C,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAqQrC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAI3C,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,aAAa,EAKd,MAAM,gBAAgB,CAAC;AAGxB,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,KAAK,EAGV,WAAW,EAIZ,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,0BAA0B,GAC3B,MAAM,YAAY,CAAC;AA4CpB;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,SAAS,YAAY,EAC3D,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,GAC7C,oBAAoB,CAAC,OAAO,CAAC,CAE/B;AAED,qDAAqD;AACrD,wBAAgB,YAAY,CAAC,OAAO,SAAS,YAAY,EACvD,UAAU,EAAE,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG;IAC/D,MAAM,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC;CAC9C,GACA,gBAAgB,CAAC,OAAO,CAAC,CAE3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CACrB,KAAK,CAAC,YAAY,SAAS,iBAAiB,EAC5C,KAAK,CAAC,QAAQ,SAAS,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAE5D,MAAM,EAAE,aAAa,CAAC,YAAY,EAAE,QAAQ,CAAC,GAC5C,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAqQrC;AAy7BD,8EAA8E;AAC9E,wBAAgB,WAAW,CAAC,EAAE,SAAW,GAAG,KAAK,CAEhD"}
|
package/dist/config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Yn,Qn,Xn,bt}from"./index-0fe3ngv2.js";import"./index-2zpnecrk.js";import"./index-1xwmw8vb.js";import"./index-5yt6r97r.js";import"./index-n09v6gx3.js";import"./index-2j6d79fk.js";import"./index-rpdkj3qk.js";import{ge,et,tt}from"./index-y8kzzn94.js";import"./index-e3yknwyr.js";import"./index-5j0cqm43.js";import"./index-pkxgzw6e.js";import"./index-q6jkbsjp.js";export{et as defaultAdminPath,ge as defaultBasePath,tt as defaultMigrationsDirectory,Yn as defineCollection,Qn as defineGlobal,Xn as heyoCms,bt as systemActor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/content/import.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AAC3D,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxC,sEAAsE;IACtE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,8EAA8E;IAC9E,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,EAC/D,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA6CvB;AA2HD,UAAU,SAAS;IACjB,yEAAyE;IACzE,IAAI,EAAE,UAAU,CAAC;IACjB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,GACpB,SAAS,
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/content/import.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AAC3D,OAAO,EAGL,KAAK,aAAa,EAGnB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IACxC,sEAAsE;IACtE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACrB,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACjE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,8EAA8E;IAC9E,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,aAAa,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,EAC/D,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA6CvB;AA2HD,UAAU,SAAS;IACjB,yEAAyE;IACzE,IAAI,EAAE,UAAU,CAAC;IACjB,uEAAuE;IACvE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAC1C;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,MAAM,GACpB,SAAS,CAgCX"}
|
package/dist/content.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./index-
|
|
1
|
+
import"./index-pkxgzw6e.js";import"./index-q6jkbsjp.js";import"./index-e3yknwyr.js";import"./index-0fe3ngv2.js";import"./index-rpdkj3qk.js";import"./index-2j6d79fk.js";import"./index-5yt6r97r.js";import"./index-2zpnecrk.js";import{ct,ze,Zn,qt,Lt,Ft,Nt,Ut,yn}from"./index-mzxsxzkd.js";import"./index-1xwmw8vb.js";import"./index-n09v6gx3.js";import"./index-5j0cqm43.js";export{Nt as exportContent,ct as exportFormat,ze as exportVersion,Ut as importContent,Zn as parseRecord,qt as readRecords,Ft as serializeRecord,yn as splitLocales,Lt as toLines};
|
package/dist/db/d1.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Dt,ce,st}from"../index-gv8j76x3.js";class n{binding;id="d1";constructor(e){this.binding=e}async all(e,t){return(await this.bind(e,t).all()).results??[]}async run(e,t){return{rowsAffected:(await this.bind(e,t).run()).meta?.changes??0}}async exec(e){for(let t of Dt(e))await this.binding.prepare(t).run()}bind(e,t){let r=this.binding.prepare(e);return t.length>0?r.bind(...t):r}}function o(e){return new ce(new n(e),st,{capabilities:{transactions:!1}})}export{o as d1};
|
package/dist/db/mongodb.d.ts
CHANGED
|
@@ -101,7 +101,8 @@ export declare class MongoDatabaseAdapter implements DatabaseAdapter {
|
|
|
101
101
|
*/
|
|
102
102
|
transaction<T>(fn: (tx: Tx) => Promise<T>): Promise<T>;
|
|
103
103
|
query(_tx: Tx, query: Query): Promise<Row[]>;
|
|
104
|
-
mutate(
|
|
104
|
+
mutate(tx: Tx, mutation: Mutation): Promise<MutationResult>;
|
|
105
|
+
private write;
|
|
105
106
|
private applyStep;
|
|
106
107
|
private filter;
|
|
107
108
|
private condition;
|
package/dist/db/mongodb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb.d.ts","sourceRoot":"","sources":["../../src/db/mongodb.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAGV,QAAQ,EACR,cAAc,EACd,KAAK,EACL,GAAG,EACH,EAAE,EAEH,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EAEf,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"mongodb.d.ts","sourceRoot":"","sources":["../../src/db/mongodb.ts"],"names":[],"mappings":"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"}
|
package/dist/db/mongodb.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Ce,Oe}from"../index-
|
|
2
|
-
`,summary:i}}async applyMigration(o){let t=JSON.parse(o.content);for(let i of t.steps)await this.applyStep(i)}async listAppliedMigrations(){return(await this.database.collection(z).find({},{sort:{_id:1}}).toArray()).map((t)=>({id:String(t._id),checksum:String(t.checksum),appliedAt:new Date(String(t.applied_at))}))}async recordMigration(o,t){await this.database.collection(z).insertOne({_id:o,checksum:t,applied_at:new Date().toISOString()})}async transaction(o){return o(new
|
|
1
|
+
import{Kn,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 h{id;real;constructor(o,t){this.id=o;this.real=t}}class b{database;id="mongodb";capabilities;schema={version:1,tables:[],collections:[]};documentColumns=new Map;columnNames=new Map;constructor(o,t={}){this.database=o;this.capabilities={transactions:t.transactions===!0,sqlMigrations:!1,jsonQuery:!0}}useSchema(o){this.schema=o,this.documentColumns=new Map(o.tables.filter((t)=>t.documentColumn!==void 0).map((t)=>[t.name,t.documentColumn])),this.columnNames=new Map(o.tables.map((t)=>[t.name,new Set(t.columns.map((i)=>i.name))]))}async introspect(){let o=(await this.database.listCollections().toArray()).map((i)=>i.name).filter((i)=>i!==z).sort(),t=[];for(let i of o){let r=await this.database.collection(i).listIndexes().toArray();t.push({name:i,columns:[],primaryKey:["id"],indexes:r.filter((a)=>a.name!=="_id_").map((a)=>({name:a.name,table:i,targets:Object.keys(a.key).map((c)=>({kind:"column",column:c})),unique:a.unique===!0})).sort((a,c)=>a.name.localeCompare(c.name))})}return{version:1,tables:t,collections:[]}}plan(o,t){return Ce(o,t)}render(o,t){let i=o.map(Oe);return{id:t,extension:"json",content:`${JSON.stringify({id:t,summary:i,steps:o},null,2)}
|
|
2
|
+
`,summary:i}}async applyMigration(o){let t=JSON.parse(o.content);for(let i of t.steps)await this.applyStep(i)}async listAppliedMigrations(){return(await this.database.collection(z).find({},{sort:{_id:1}}).toArray()).map((t)=>({id:String(t._id),checksum:String(t.checksum),appliedAt:new Date(String(t.applied_at))}))}async recordMigration(o,t){await this.database.collection(z).insertOne({_id:o,checksum:t,applied_at:new Date().toISOString()})}async transaction(o){return o(new h(x(),this.capabilities.transactions))}async query(o,t){let i=this.database.collection(t.table),r=this.filter(t.table,t.where);if(t.count===!0)return[{count:await i.countDocuments(r)}];let a={};if(t.orderBy&&t.orderBy.length>0)a.sort=Object.fromEntries(t.orderBy.map((s)=>[this.path(t.table,s.path),s.direction==="desc"?-1:1]));if(t.limit!==void 0)a.limit=t.limit;if(t.offset!==void 0)a.skip=t.offset;return(await i.find(r,a).toArray()).map((s)=>this.decode(t.table,s,t.select,t.table))}async mutate(o,t){try{return await this.write(o,t)}catch(i){let r=Kn(i);if(r===null)throw i;throw at(this.schema,t.table,r,t.kind==="insert"?t.values:void 0,i)}}async write(o,t){let i=this.database.collection(t.table);if(t.kind==="insert"){let s=this.encode(t.values);return await i.insertOne(s),{rows:t.returning===!1?[]:[this.decode(t.table,s)],count:1}}if(t.kind==="update"){let s=this.filter(t.table,t.where),l=this.encode(t.set),u=t.returning===!1?[]:await i.find(s,{projection:{_id:1}}).toArray(),m=await i.updateMany(s,{$set:l}),p=m.modifiedCount??m.matchedCount??0;if(t.returning===!1)return{rows:[],count:p};let g=u.length===0?[]:await i.find({_id:{$in:u.map((d)=>d._id)}}).toArray();return{rows:g.map((d)=>this.decode(t.table,d)),count:Math.max(p,g.length)}}let r=this.filter(t.table,t.where),a=t.returning===!0?await i.find(r).toArray():[],c=await i.deleteMany(r);return{rows:a.map((s)=>this.decode(t.table,s)),count:c.deletedCount??a.length}}async applyStep(o){switch(o.kind){case"create_table":{if(!(await this.database.listCollections().toArray()).map((i)=>i.name).includes(o.table.name))await this.database.createCollection(o.table.name);return}case"drop_table":await this.database.dropCollection(o.table).catch(()=>{return});return;case"add_column":{if(o.column.default===void 0)return;await this.database.collection(o.table).updateMany({[o.column.name]:{$exists:!1}},{$set:{[o.column.name]:o.column.default}});return}case"drop_column":await this.database.collection(o.table).updateMany({},{$unset:{[o.column]:""}});return;case"alter_column":return;case"create_index":{let t={};for(let i of o.index.targets)t[i.kind==="column"?i.column:[i.column,...i.path].join(".")]=1;await this.database.collection(o.index.table).createIndex(t,{name:o.index.name,unique:o.index.unique,...o.index.where?{partialFilterExpression:{[o.index.where.column]:o.index.where.equals}}:{}});return}case"drop_index":await this.database.collection(o.table).dropIndex(o.index).catch(()=>{return});return;case"set_document_field":{let t=[o.documentColumn,...o.path].join(".");await this.database.collection(o.table).updateMany({collection:o.collection,[t]:{$exists:!1}},{$set:{[t]:o.value}});return}case"unset_document_field":{let t=[o.documentColumn,...o.path].join(".");await this.database.collection(o.table).updateMany({collection:o.collection},{$unset:{[t]:""}});return}}}filter(o,t){if(!t)return{};if(t.kind==="and"){if(t.conditions.length===0)return{};return{$and:t.conditions.map((c)=>this.filter(o,c))}}if(t.kind==="or"){if(t.conditions.length===0)return{_id:{$exists:!1}};return{$or:t.conditions.map((c)=>this.filter(o,c))}}if(t.kind==="not")return{$nor:[this.filter(o,t.condition)]};let i=this.path(o,t.path),r=this.documentColumns.get(o),a=r!==void 0&&i.startsWith(`${r}.`)?M(t.value):t.value;return{[i]:this.condition(t.operator,a)}}condition(o,t){switch(o){case"eq":return{$eq:t};case"ne":return{$ne:t};case"gt":return{$gt:t};case"gte":return{$gte:t};case"lt":return{$lt:t};case"lte":return{$lte:t};case"in":return{$in:Array.isArray(t)?t:[t]};case"nin":return{$nin:Array.isArray(t)?t:[t]};case"like":case"ilike":return{$regex:y(String(t)),...o==="ilike"?{$options:"i"}:{}};case"contains":return{$eq:t};case"exists":return t===!1?{$in:[null]}:{$nin:[null]}}}path(o,t){let[i,...r]=t.split("."),a=i;if(this.columnNames.get(o)?.has(a))return[a==="id"?"_id":a,...r].join(".");let c=this.documentColumns.get(o);if(!c)throw new e(`Unknown column ${o}.${t}`,{status:400,code:"unknown_column"});return[c,...t.split(".")].join(".")}encode(o){let t={};for(let[i,r]of Object.entries(o))t[i==="id"?"_id":i]=r;return t}decode(o,t,i,r){let a={};for(let[s,l]of Object.entries(t))a[s==="_id"?"id":s]=l;if(!i||i.length===0||r===void 0)return a;let c={};for(let s of i){let l=this.path(r,s).replace(/^_id\b/,"id");c[s]=w(a,l.split("."))}return c}}function w(o,t){let i=o;for(let r of t){if(i===null||typeof i!=="object")return null;i=i[r]}return i??null}function M(o){if(o instanceof Date)return o.toISOString();return Array.isArray(o)?o.map((t)=>t instanceof Date?t.toISOString():t):o}function y(o){return`^${o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replaceAll("%",".*").replaceAll("_",".")}$`}var f=0;function x(){return f+=1,`mongo_tx_${f}`}function k(o,t={}){if(typeof o==="string")return async()=>k(await C(o,t),t);return new b(o,t)}async function C(o,t){let r;try{r=await import("mongodb")}catch{throw new n("database",'mongodb(url) needs the "mongodb" package; install it, or pass a Db you built yourself')}let a=new r.MongoClient(o);return await a.connect(),t.database?a.db(t.database):a.db()}export{b as MongoDatabaseAdapter,k as mongodb};
|
package/dist/db/postgres.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ce,
|
|
1
|
+
import{ce,Bn}from"../index-gv8j76x3.js";import{n}from"../index-x72d1hzh.js";class a{client;id;constructor(t,e="postgres"){this.client=t;this.id=e}async all(t,e){return(await this.client.query(t,e)).rows}async run(t,e){return{rowsAffected:(await this.client.query(t,e)).rowCount??0}}async exec(t){await this.client.query(t)}async close(){await this.client.end?.()}}function u(t,e={}){if(typeof t==="string")return async()=>u(await g(t),e);let r=t,o=new a(r,e.id??"postgres");if(r.connect){let l=r.connect.bind(r);o.transaction=async(p)=>{let c=await l(),s=new a(c,o.id);try{await s.exec("BEGIN");let i=await p(s);return await s.exec("COMMIT"),i}catch(i){throw await s.exec("ROLLBACK").catch(()=>{return}),i}finally{c.release?.()}}}return new ce(o,Bn)}async function g(t){let r;try{r=await import("pg")}catch{throw new n("database",'postgres(url) needs the "pg" package; install it, or pass a client you built yourself')}return new r.Pool({connectionString:t})}export{u as postgres};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/db/sql/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,KAAK,EACL,GAAG,EACH,EAAE,EACH,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACf,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/db/sql/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,QAAQ,EACR,cAAc,EACd,KAAK,EACL,GAAG,EACH,EAAE,EACH,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACb,cAAc,EACf,MAAM,oBAAoB,CAAC;AAI5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAY3D,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,YAAY,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7C,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED;;;;;;GAMG;AACH,qBAAa,kBAAmB,YAAW,eAAe;IAYtD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;IAE5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,MAAM,CAA+D;IAC7E,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAK;IAE7B,YACmB,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,UAAU,EACpC,OAAO,GAAE,iBAAsB,EAYhC;IAED,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAGtC;IAED,UAAU,IAAI,OAAO,CAAC,cAAc,CAAC,CAIpC;IAED,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,cAAc,GAAG,aAAa,EAAE,CAE9D;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,iBAAiB,CAO5D;IAEK,cAAc,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAK/D;IAEK,qBAAqB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAWzD;IAEK,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAM5D;IAED;;;;;;OAMG;IACG,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA2B3D;IAEK,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAYhD;IAEK,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CA6BhE;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAED;;;;;;OAMG;YACW,aAAa;CAW5B"}
|
package/dist/db/sql/dialect.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ColumnValue } from "../../types/query";
|
|
2
2
|
import type { ColumnSnapshot, ColumnType } from "../../types/schema";
|
|
3
|
+
import { type UniqueViolation } from "../unique";
|
|
3
4
|
/**
|
|
4
5
|
* Everything two SQL engines disagree about.
|
|
5
6
|
*
|
|
@@ -20,6 +21,8 @@ export interface SqlDialect {
|
|
|
20
21
|
likeOperator(caseInsensitive: boolean): string;
|
|
21
22
|
encode(value: ColumnValue | undefined, type: ColumnType): unknown;
|
|
22
23
|
decode(value: unknown, type: ColumnType): ColumnValue;
|
|
24
|
+
/** The unique rule a driver error reports breaking, or null. */
|
|
25
|
+
uniqueViolation(error: unknown): UniqueViolation | null;
|
|
23
26
|
/** True when `ALTER TABLE ... ALTER COLUMN` exists. */
|
|
24
27
|
readonly supportsAlterColumn: boolean;
|
|
25
28
|
/** The statement that opens a transaction; `BEGIN` when absent. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../../src/db/sql/dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"dialect.d.ts","sourceRoot":"","sources":["../../../src/db/sql/dialect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,WAAW,CAAC;AAEnB;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,UAAU,GAAG,QAAQ,CAAC;IACnC,uCAAuC;IACvC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,CAAC;IACnE,kDAAkD;IAClD,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IACtE,gEAAgE;IAChE,mBAAmB,CACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EAAE,EACd,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC;IACV,oEAAoE;IACpE,YAAY,CAAC,eAAe,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/C,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAClE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,WAAW,CAAC;IACtD,gEAAgE;IAChE,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAAC;IACxD,uDAAuD;IACvD,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,mEAAmE;IACnE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAiCD,eAAO,MAAM,eAAe,EAAE,UAsD7B,CAAC;AAyBF;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,UA6D3B,CAAC"}
|
package/dist/db/sqlite.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ce,st}from"../index-
|
|
1
|
+
import{ce,st}from"../index-gv8j76x3.js";import{n}from"../index-x72d1hzh.js";var r=5000;class s{database;id;constructor(e,t="sqlite"){this.database=e;this.id=t}async all(e,t){return this.database.prepare(e).all(...t)}async run(e,t){let a=this.database.prepare(e).run(...t);return{rowsAffected:Number(a.changes??0)}}async exec(e){this.database.exec(e)}async close(){this.database.close?.()}}function o(e,t={}){if("file"in e&&typeof e.file==="string")return async()=>o(await u(e.file),e);let a=e;return l(a,t.busyTimeout),new ce(new s(a,t.id??"sqlite"),st)}function l(e,t){if(t===void 0){let[a]=e.prepare("PRAGMA busy_timeout").all();if(Number(a?.timeout??0)>0)return}else if(!Number.isFinite(t)||t<0)throw new n("database","busyTimeout must be a number of milliseconds, 0 or more");e.exec(`PRAGMA busy_timeout = ${Math.trunc(t??r)}`)}async function u(e){for(let t of["bun:sqlite","node:sqlite"])try{let a=await import(t),i=a.Database??a.DatabaseSync;if(i)return new i(e)}catch{}throw new n("database","no SQLite is available in this runtime; pass a database instance instead")}export{o as sqlite};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CmsError } from "../errors";
|
|
2
|
+
import type { Row } from "../types/query";
|
|
3
|
+
import type { SchemaSnapshot } from "../types/schema";
|
|
4
|
+
/**
|
|
5
|
+
* Which unique rule a write broke, in the words the engine used.
|
|
6
|
+
*
|
|
7
|
+
* Postgres and MongoDB name the index. SQLite names the index when it is one
|
|
8
|
+
* and the columns when the rule is a column's own — a primary key, above all.
|
|
9
|
+
*/
|
|
10
|
+
export interface UniqueViolation {
|
|
11
|
+
index?: string;
|
|
12
|
+
columns?: string[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Reads a unique violation out of a SQLite or D1 error.
|
|
16
|
+
*
|
|
17
|
+
* By the message, because that is the one thing `bun:sqlite`, `node:sqlite`,
|
|
18
|
+
* `better-sqlite3` and a D1 binding agree on: their codes live on different
|
|
19
|
+
* properties, and D1 adds its own prefix and suffix to the same sentence.
|
|
20
|
+
*/
|
|
21
|
+
export declare function sqliteUniqueViolation(error: unknown): UniqueViolation | null;
|
|
22
|
+
/**
|
|
23
|
+
* Reads a unique violation out of a Postgres error.
|
|
24
|
+
*
|
|
25
|
+
* SQLSTATE 23505 is the same for `pg`, Neon, PGlite and postgres.js. The
|
|
26
|
+
* constraint is `constraint` on the first three and `constraint_name` on the
|
|
27
|
+
* last; the message carries it for anything else.
|
|
28
|
+
*/
|
|
29
|
+
export declare function postgresUniqueViolation(error: unknown): UniqueViolation | null;
|
|
30
|
+
/**
|
|
31
|
+
* Reads a unique violation out of a MongoDB error: code 11000, or the
|
|
32
|
+
* `E11000` the message starts with when the code is not carried over.
|
|
33
|
+
*/
|
|
34
|
+
export declare function mongoUniqueViolation(error: unknown): UniqueViolation | null;
|
|
35
|
+
/**
|
|
36
|
+
* The 409 a broken unique rule is, instead of the 500 an unknown driver error
|
|
37
|
+
* would be.
|
|
38
|
+
*
|
|
39
|
+
* Said the way the person who sent the write thinks about it. A content
|
|
40
|
+
* field's index becomes "handle is already used", with the field in
|
|
41
|
+
* `details.fields` like a validation error, so a form can put it next to the
|
|
42
|
+
* input; the documents' primary key becomes the id an import tried to reuse.
|
|
43
|
+
* The driver's error stays as the `cause`, for the operator's log only.
|
|
44
|
+
*/
|
|
45
|
+
export declare function uniqueConflict(schema: SchemaSnapshot, table: string, violation: UniqueViolation, values: Row | undefined, cause: unknown): CmsError;
|
|
46
|
+
//# sourceMappingURL=unique.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unique.d.ts","sourceRoot":"","sources":["../../src/db/unique.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,EAAiB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAY5E;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,GACb,eAAe,GAAG,IAAI,CAUxB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,IAAI,CAM3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,GAAG,GAAG,SAAS,EACvB,KAAK,EAAE,OAAO,GACb,QAAQ,CAyDV"}
|
package/dist/editor.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{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}from"./index-rpdkj3qk.js";import{k,Y,Pt,sn,po,mo,Te,Q,fo,X,ho,Fe,Qo,Ne,Xe,ee}from"./index-twqpdtfh.js";export{jo as blockquoteNode,Bo as boldMark,Io as bulletListNode,Lo as codeBlockNode,Zo as codeMark,Y as defineEditorMark,k as defineEditorNode,Te as describeEditorSchema,Po as docNode,Fe as escapeHtml,Qo as escapeMarkdown,sn as getEditorMark,Pt as getEditorNode,No as hardBreakNode,$o as headingNode,Fo as horizontalRuleNode,Ne as htmlAttributes,Uo as imageNode,Xe as indentContinuation,Vo as italicMark,Yo as linkMark,Mo as listItemNode,Eo as orderedListNode,_o as paragraphNode,mo as registeredEditorMarks,po as registeredEditorNodes,Q as renderRichText,he as richTextFromMarkdown,Mn as richTextFromText,fo as richTextToHtml,X as richTextToMarkdown,ho as richTextToPlainText,Ko as strikeMark,ee as stringAttr,Ho as tableCellNode,zo as tableHeaderNode,Jo as tableNode,Wo as tableRowNode,qo as taskItemNode,Do as taskListNode,Go as underlineMark};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/engine/documents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AAEnB;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,YAC/B,IAAI,EACJ,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,eAAe,CACP,CAAC;AAIX;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,aAAa,GACpB,UAAU,CA2DZ;AAED,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,IAAI,EAAE,UAAU,CAAC;IACjB,mEAAmE;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,kBAAkB,EAC9B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,UAAU,GACpB,UAAU,CA+BZ;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EAAE,GACf,IAAI,
|
|
1
|
+
{"version":3,"file":"documents.d.ts","sourceRoot":"","sources":["../../src/engine/documents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,WAAW,CAAC;AAEnB;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,YAC/B,IAAI,EACJ,UAAU,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,eAAe,CACP,CAAC;AAIX;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,GAAG,EACR,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,aAAa,GACpB,UAAU,CA2DZ;AAED,MAAM,WAAW,UAAU;IACzB,yEAAyE;IACzE,IAAI,EAAE,UAAU,CAAC;IACjB,mEAAmE;IACnE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,UAAU,EAAE,kBAAkB,EAC9B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,UAAU,GACpB,UAAU,CA+BZ;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,UAAU,EAAE,kBAAkB,EAC9B,IAAI,EAAE,UAAU,EAChB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,MAAM,EAAE,GACf,IAAI,CA2BN;AAwBD,sEAAsE;AACtE,wBAAgB,aAAa,CAC3B,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAE,UAAU,GACf,MAAM,EAAE,CAIV;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAWpD;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,GAAG,IAAI,CAQ9D;AAsBD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,CAGjE;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAInE;AAED,wBAAgB,QAAQ,CACtB,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,GACzC,UAAU,CAKZ"}
|
package/dist/fields/builtin.d.ts
CHANGED
|
@@ -95,6 +95,10 @@ export interface RelationOptions extends FieldOptions {
|
|
|
95
95
|
/** Many-to-many: the value is an array of ids. */
|
|
96
96
|
many?: boolean;
|
|
97
97
|
}
|
|
98
|
+
/** The stored value of a relation: a list of ids with `many: true`, one id otherwise. */
|
|
99
|
+
type RelationValue<TOptions> = TOptions extends {
|
|
100
|
+
many: true;
|
|
101
|
+
} ? string[] : string;
|
|
98
102
|
/**
|
|
99
103
|
* A reference to another collection.
|
|
100
104
|
*
|
|
@@ -102,7 +106,7 @@ export interface RelationOptions extends FieldOptions {
|
|
|
102
106
|
* depth level works the same on all three engines and removes the N+1 problem
|
|
103
107
|
* that Payload users hit with `depth` (section 12).
|
|
104
108
|
*/
|
|
105
|
-
export declare function relation<const TOptions extends RelationOptions>(to: string, options?: TOptions): FieldDefinition<FieldValue<
|
|
109
|
+
export declare function relation<const TOptions extends RelationOptions>(to: string, options?: TOptions): FieldDefinition<FieldValue<RelationValue<TOptions>, TOptions>>;
|
|
106
110
|
export interface SlugOptions extends FieldOptions {
|
|
107
111
|
/**
|
|
108
112
|
* The field a slug is made from while it is empty: `"title"`.
|
|
@@ -153,6 +157,44 @@ export interface SlugOptions extends FieldOptions {
|
|
|
153
157
|
export declare function slug<const TOptions extends SlugOptions>(options?: TOptions): FieldDefinition<FieldValue<string, TOptions>>;
|
|
154
158
|
export declare const email: import("./registry").FieldBuilder<string, TextOptions>;
|
|
155
159
|
export declare const url: import("./registry").FieldBuilder<string, TextOptions>;
|
|
160
|
+
export interface ListOptions extends FieldOptions {
|
|
161
|
+
/**
|
|
162
|
+
* The fields of one row:
|
|
163
|
+
* `{ question: text({ required: true }), answer: textarea() }`.
|
|
164
|
+
*/
|
|
165
|
+
fields: Record<string, FieldDefinition>;
|
|
166
|
+
minItems?: number;
|
|
167
|
+
maxItems?: number;
|
|
168
|
+
default?: JsonObject[];
|
|
169
|
+
}
|
|
170
|
+
type RowValue<TField> = TField extends FieldDefinition<infer TValue> ? TValue : never;
|
|
171
|
+
/** One row of a list: a required field is always there, an optional one may be missing or `null`. */
|
|
172
|
+
export type ListRow<TFields extends Record<string, FieldDefinition>> = {
|
|
173
|
+
[K in keyof TFields as null extends RowValue<TFields[K]> ? never : K]: RowValue<TFields[K]>;
|
|
174
|
+
} & {
|
|
175
|
+
[K in keyof TFields as null extends RowValue<TFields[K]> ? K : never]?: RowValue<TFields[K]>;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* An ordered list of rows, each with the same small set of fields: questions
|
|
179
|
+
* and answers, sources, a change log.
|
|
180
|
+
*
|
|
181
|
+
* ```ts
|
|
182
|
+
* faq: list({
|
|
183
|
+
* localized: true,
|
|
184
|
+
* fields: {
|
|
185
|
+
* question: text({ required: true }),
|
|
186
|
+
* answer: textarea({ required: true }),
|
|
187
|
+
* },
|
|
188
|
+
* }),
|
|
189
|
+
* ```
|
|
190
|
+
*
|
|
191
|
+
* The value is an array of objects, stored as JSON in the document and
|
|
192
|
+
* validated row by row with the fields' own schemas. The list is the field:
|
|
193
|
+
* it is localized as a whole, and it carries `required`, `access` and the
|
|
194
|
+
* rest. A row holds text, textarea, email, url, number, boolean, date, select
|
|
195
|
+
* and multiselect fields.
|
|
196
|
+
*/
|
|
197
|
+
export declare function list<const TOptions extends ListOptions>(options: TOptions): FieldDefinition<FieldValue<ListRow<TOptions["fields"]>[], TOptions>>;
|
|
156
198
|
/**
|
|
157
199
|
* SEO as fields, not as a plugin.
|
|
158
200
|
*
|
|
@@ -166,4 +208,5 @@ export declare function seoFields(): {
|
|
|
166
208
|
ogImage: FieldDefinition<string | null>;
|
|
167
209
|
canonical: FieldDefinition<string | null>;
|
|
168
210
|
};
|
|
211
|
+
export {};
|
|
169
212
|
//# sourceMappingURL=builtin.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../src/fields/builtin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"builtin.d.ts","sourceRoot":"","sources":["../../src/fields/builtin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/fields/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,CAAC,MAAM,EAAE,QAAQ,IAAI,QAAQ,SAAS;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAC1E,MAAM,GACN,MAAM,GAAG,IAAI,CAAC;AAElB,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,MAAM,EAAE,QAAQ,SAAS,YAAY,IAAI,CAChE,KAAK,CAAC,MAAM,SAAS,QAAQ,EAE7B,OAAO,CAAC,EAAE,MAAM,KACb,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAUjD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,SAAS,YAAY,EACrE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,GAChC,IAAI,CASN;AAED,wBAAgB,YAAY,CAAC,MAAM,GAAG,OAAO,EAC3C,IAAI,EAAE,MAAM,GACX,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAE7C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,SAAS,YAAY,EAC/D,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,GAChC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/fields/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAEV,eAAe,EACf,YAAY,EACZ,SAAS,EACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,CAAC,MAAM,EAAE,QAAQ,IAAI,QAAQ,SAAS;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,GAC1E,MAAM,GACN,MAAM,GAAG,IAAI,CAAC;AAElB,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACvD,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,CAAC,MAAM,EAAE,QAAQ,SAAS,YAAY,IAAI,CAChE,KAAK,CAAC,MAAM,SAAS,QAAQ,EAE7B,OAAO,CAAC,EAAE,MAAM,KACb,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAUjD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,QAAQ,SAAS,YAAY,EACrE,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,GAChC,IAAI,CASN;AAED,wBAAgB,YAAY,CAAC,MAAM,GAAG,OAAO,EAC3C,IAAI,EAAE,MAAM,GACX,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,SAAS,CAE7C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,QAAQ,SAAS,YAAY,EAC/D,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,GAChC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CA4FhC"}
|
package/dist/fields.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Dn,an,ye}from"./index-e3yknwyr.js";import{go,Xo,er,C}from"./index-fy8r8e53.js";import{n}from"./index-x72d1hzh.js";import{z as e}from"zod";var o=e.looseObject({label:e.string().optional(),description:e.string().optional(),localized:e.boolean().optional(),required:e.boolean().optional(),unique:e.boolean().optional(),index:e.boolean().optional(),readOnly:e.boolean().optional()}),d=e.lazy(()=>e.union([e.string(),e.number(),e.boolean(),e.null(),e.array(d),e.record(e.string(),d)])),O=C({name:"text",optionsSchema:o.extend({default:e.string().optional(),minLength:e.number().int().nonnegative().optional(),maxLength:e.number().int().positive().optional(),pattern:e.string().optional()}),schema:(t)=>{let i=e.string();if(t.minLength!==void 0)i=i.min(t.minLength);if(t.maxLength!==void 0)i=i.max(t.maxLength);if(t.pattern!==void 0)i=i.regex(new RegExp(t.pattern));return i},column:(t)=>({type:"text",...t.default===void 0?{}:{default:t.default}}),aiActions:["improve","summarize","translate"]}),y=C({name:"textarea",optionsSchema:o.extend({default:e.string().optional(),maxLength:e.number().int().positive().optional(),rows:e.number().int().positive().optional()}),schema:(t)=>t.maxLength===void 0?e.string():e.string().max(t.maxLength),column:()=>({type:"text"}),aiActions:["improve","summarize","translate"]}),j=C({name:"richText",optionsSchema:o.extend({nodes:e.array(e.string()).optional()}),schema:()=>e.looseObject({type:e.string()}),column:()=>({type:"json"}),aiActions:["improve","summarize","translate"]}),I=C({name:"number",optionsSchema:o.extend({default:e.number().optional(),min:e.number().optional(),max:e.number().optional(),integer:e.boolean().optional()}),schema:(t)=>{let i=t.integer===!0?e.number().int():e.number();if(t.min!==void 0)i=i.min(t.min);if(t.max!==void 0)i=i.max(t.max);return i},column:(t)=>({type:t.integer===!0?"integer":"real",...t.default===void 0?{}:{default:t.default}})}),Z=C({name:"boolean",optionsSchema:o.extend({default:e.boolean().optional()}),schema:()=>e.boolean(),column:(t)=>({type:"boolean",...t.default===void 0?{}:{default:t.default}})}),v=C({name:"date",optionsSchema:o.extend({default:e.string().optional(),mode:e.enum(["date","datetime"]).optional()}),schema:()=>e.string().refine((t)=>!Number.isNaN(Date.parse(t)),"must be an ISO 8601 date"),column:()=>({type:"timestamp"})}),f=(t)=>t.map((i)=>typeof i==="string"?i:i.value),x=o.extend({options:e.array(e.union([e.string(),e.strictObject({label:e.string(),value:e.string()})])).min(1),default:e.string().optional()}),T=C({name:"select",optionsSchema:x,schema:(t)=>e.enum(f(t.options)),column:(t)=>({type:"text",...t.default===void 0?{}:{default:t.default}})});function J(t){return T(t)}var h=C({name:"multiselect",optionsSchema:x.extend({default:e.array(e.string()).optional(),minItems:e.number().int().nonnegative().optional(),maxItems:e.number().int().positive().optional()}),schema:(t)=>{let i=e.array(e.enum(f(t.options)));if(t.minItems!==void 0)i=i.min(t.minItems);if(t.maxItems!==void 0)i=i.max(t.maxItems);return i},column:()=>({type:"json",array:!0}),aiActions:["tags"]});function q(t){return h(t)}var B=C({name:"json",optionsSchema:o,schema:()=>d,column:()=>({type:"json"})}),b=C({name:"media",optionsSchema:o.extend({accept:e.string().optional()}),schema:()=>e.string().min(1),column:()=>({type:"text"}),aiActions:["alt"]}),F=C({name:"relation",optionsSchema:o.extend({relationTo:e.string().min(1),many:e.boolean().optional()}),schema:(t)=>t.many===!0?e.array(e.string().min(1)):e.string().min(1),column:(t)=>({type:"text",...t.many===!0?{type:"json",array:!0}:{}}),aiActions:["tags"]});function A(t,i){return F({...i??{},relationTo:t})}var w=C({name:"slug",optionsSchema:o.extend({from:e.string().min(1).optional(),history:e.boolean().optional(),maxLength:e.number().int().min(8).max(512).optional(),slugify:e.function().optional(),default:e.string().optional()}),schema:(t)=>e.string().max(t.maxLength??96).regex(new RegExp(Dn),"lowercase letters, digits and single hyphens only"),column:(t)=>({type:"text",...t.default===void 0?{}:{default:t.default}})});function K(t){let i={...t??{}},s=i.localized===!0,{maxLength:l,from:a}=i,r=i.slugify??((u)=>ye(u,l===void 0?{}:{maxLength:l}));return w({...i,unique:s?i.unique===!1?!1:void 0:i.unique??!0,index:s?void 0:i.index??!0,...i.generate===void 0&&a!==void 0?{generate:({fields:u})=>{let p=u[a],m=typeof p==="string"?r(p):"";return m===""?null:m}}:{}})}var E=C({name:"email",optionsSchema:o,schema:()=>e.string().email(),column:()=>({type:"text"})}),S=C({name:"url",optionsSchema:o,schema:()=>e.string().url(),column:()=>({type:"text"})}),c=new Set(["text","textarea","email","url","number","boolean","date","select","multiselect"]),V=["localized","unique","index","access","generate","aiGenerate","ai"],g=(t)=>typeof t==="object"&&t!==null&&typeof t.type==="string"&&typeof t.schema?.safeParse==="function",z=C({name:"list",optionsSchema:o.extend({fields:e.record(e.string(),e.custom(g,"must be a field, such as text()")),minItems:e.number().int().nonnegative().optional(),maxItems:e.number().int().positive().optional(),default:e.array(e.record(e.string(),d)).optional()}),schema:(t)=>{let i={};for(let[l,a]of Object.entries(t.fields))i[l]=a.required?a.schema:a.schema.optional();let s=e.array(e.strictObject(i));if(t.minItems!==void 0)s=s.min(t.minItems);if(t.maxItems!==void 0)s=s.max(t.maxItems);return s},column:()=>({type:"json",array:!0})});function M(t){let i=t?.fields;if(!i||typeof i!=="object"||Object.keys(i).length===0)throw new n("fields.list.fields","a list needs at least one field in a row");for(let[s,l]of Object.entries(i)){let a=`fields.list.fields.${s}`;if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(s))throw new n(a,"a row's field name must be an identifier (letters, digits, _)");if(!g(l))throw new n(a,"must be a field, such as text()");if(!c.has(l.type))throw new n(a,`a list row cannot hold a ${l.type} field; use ${[...c].join(", ")}`);for(let r of V)if(l.options[r]!==void 0)throw new n(`${a}.${r}`,r==="localized"?"a list is localized as a whole: set localized on the list":"not supported inside a list row")}if(t.unique===!0||t.index===!0)throw new n("fields.list","a list cannot be unique or indexed");if(t.minItems!==void 0&&t.maxItems!==void 0&&t.minItems>t.maxItems)throw new n("fields.list.minItems","cannot be more than maxItems");return z(t)}function N(){return{seoTitle:O({label:"SEO title",localized:!0,maxLength:70,aiGenerate:{label:"Suggest an SEO title",prompt:"Write a search-friendly title under 60 characters."}}),seoDescription:y({label:"SEO description",localized:!0,maxLength:160,aiGenerate:{label:"Suggest an SEO description",prompt:"Summarise the article in one sentence under 155 characters."}}),ogImage:b({label:"Social image",accept:"image/*"}),canonical:S({label:"Canonical URL"})}}export{Z as boolean,v as date,C as defineField,E as email,Xo as getFieldType,an as isSlug,B as json,M as list,b as media,q as multiselect,I as number,go as registerFieldType,er as registeredFieldTypes,A as relation,j as richText,J as select,N as seoFields,K as slug,Dn as slugPattern,ye as slugify,O as text,y as textarea,S as url};
|
package/dist/http/routes/ai.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ import type { RouteRecord } from "../router";
|
|
|
18
18
|
* POST /ai/assistant (SSE)
|
|
19
19
|
* POST /ai/assistant/plans/:id/approve
|
|
20
20
|
*
|
|
21
|
-
* The per-field routes exist only when a field declares `aiGenerate` or
|
|
21
|
+
* The per-field routes exist only when a field declares `aiGenerate` or an `ai` action.
|
|
22
22
|
* A deployment with no AI has no AI endpoints, which is what
|
|
23
23
|
* `cms.inspect().routes` should say (section 8).
|
|
24
24
|
*/
|
package/dist/http.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./index-
|
|
1
|
+
import"./index-q6jkbsjp.js";import"./index-pkxgzw6e.js";import"./index-rpdkj3qk.js";import{Ze,g,Ye,y,I,Pn,oo,ro,P,G,i,_n,oe,K,Tt,en,f,De,v,W,Re,o,c,a,q,$n,h,r,N,Ct,jn,In,Se,qe}from"./index-5yt6r97r.js";import"./index-2j6d79fk.js";import"./index-n09v6gx3.js";import"./index-5j0cqm43.js";export{Se as Router,G as booleanParam,jn as buildOpenApi,qe as createCmsHttp,Tt as errorResponse,Pn as findArgs,P as integerParam,i as json,h as jsonBody,$n as listParams,q as localeParams,oe as noContent,r as okJson,W as optionalString,Re as optionalStringArray,ro as parseSort,oo as parseWhere,c as pathParam,a as queryParam,I as readArgs,en as readJson,f as readJsonObject,Ct as readResponses,o as ref,In as requestDb,y as requestSource,Ze as requireActor,De as requireData,g as requirePermission,Ye as requireSession,v as requireString,K as stopped,_n as text,N as writeResponses};
|