@aotter/mantle 0.2.0-alpha.2 → 0.2.0-alpha.3
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/admin/design.d.ts +7 -0
- package/dist/admin/design.d.ts.map +1 -0
- package/dist/admin/design.js +18 -0
- package/dist/admin/design.js.map +1 -0
- package/dist/admin/developerConsole.d.ts +1 -0
- package/dist/admin/developerConsole.d.ts.map +1 -1
- package/dist/admin/developerConsole.js.map +1 -1
- package/dist/admin/index.d.ts +2 -0
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +2 -0
- package/dist/admin/index.js.map +1 -1
- package/dist/auth/buildAuth.d.ts +6 -5
- package/dist/auth/buildAuth.d.ts.map +1 -1
- package/dist/auth/buildAuth.js +5 -1
- package/dist/auth/buildAuth.js.map +1 -1
- package/dist/auth/createMantleAuth.d.ts.map +1 -1
- package/dist/auth/createMantleAuth.js +6 -11
- package/dist/auth/createMantleAuth.js.map +1 -1
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +38 -2
- package/dist/cli/generate.js.map +1 -1
- package/dist/core/withCaller.js +1 -1
- package/dist/core/withCaller.js.map +1 -1
- package/dist/spec/infrastructure/sql/PgQueryParser.js +1 -1
- package/dist/spec/infrastructure/sql/PgQueryParser.js.map +1 -1
- package/dist/spec/infrastructure/sql/compileSql.js +2 -2
- package/dist/spec/infrastructure/sql/compileSql.js.map +1 -1
- package/dist/web/createRestSurface.d.ts.map +1 -1
- package/dist/web/createRestSurface.js +5 -3
- package/dist/web/createRestSurface.js.map +1 -1
- package/docs/adr/0014-auth-better-auth-and-multi-tenant-mcp.md +20 -0
- package/docs/adr/0031-host-cloud-core-contract.md +17 -1
- package/docs/adr/README.md +1 -1
- package/docs/examples/procurement.md +12 -1
- package/docs/examples/reference-service/package.json +6 -6
- package/docs/examples/reference-service/smoke.mjs +6 -2
- package/docs/handbook/cloudflare/authentication.md +84 -1
- package/docs/handbook/cloudflare/deploy-and-operate.md +15 -4
- package/docs/handbook/concepts/authorization.md +7 -1
- package/docs/handbook/concepts/mcp-and-agents.md +1 -1
- package/docs/handbook/guides/admin-ui.md +29 -0
- package/docs/handbook/releases/index.md +7 -2
- package/docs/handbook/start/overview.md +1 -1
- package/docs/handbook/start/project-and-cli.md +7 -0
- package/docs/handbook/start/quickstart-worker.md +5 -4
- package/docs/skills/develop/SKILL.md +10 -0
- package/docs/skills/develop/mcp-app.md +1 -1
- package/docs/skills/provision/SKILL.md +4 -3
- package/docs/skills/update/SKILL.md +6 -0
- package/package.json +14 -12
package/dist/cli/generate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/core/withCaller.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { makeDiagnostic, redactForWire } from "../spec/kernel/index.js";
|
|
2
2
|
const SAFE = new Set(["GET", "HEAD", "OPTIONS"]);
|
|
3
|
-
const refuse = (status, code, message, path, challenge) => Response.json({ error: redactForWire(makeDiagnostic({ code, phase: "runtime", severity: "error", path, message })) }, { status, headers: challenge ? { "www-authenticate": challenge } : {} });
|
|
3
|
+
const refuse = (status, code, message, path, challenge) => Response.json({ error: redactForWire(makeDiagnostic({ code, phase: "runtime", severity: "error", path, message })) }, { status, headers: { "cache-control": "private, no-store", ...(challenge ? { "www-authenticate": challenge } : {}) } });
|
|
4
4
|
/**
|
|
5
5
|
* The one authentication boundary of a service's entry (ADR-0032 decision 8): resolve the Caller once per request, then run the
|
|
6
6
|
* surface. An invalid credential is answered here, before any surface runs, and is never treated as anonymous. A cookie session is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withCaller.js","sourceRoot":"","sources":["../../src/core/withCaller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAuB,MAAM,yBAAyB,CAAC;AAI7F,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,MAAiB,EAAE,IAAoB,EAAE,OAAe,EAAE,IAAY,EAAE,SAAkB,EAAE,EAAE,CAC5G,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"withCaller.js","sourceRoot":"","sources":["../../src/core/withCaller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAuB,MAAM,yBAAyB,CAAC;AAI7F,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,MAAiB,EAAE,IAAoB,EAAE,OAAe,EAAE,IAAY,EAAE,SAAkB,EAAE,EAAE,CAC5G,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,eAAe,EAAE,mBAAmB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AAUhP;;;;GAIG;AACH,MAAM,UAAU,UAAU,CAAC,OAAuB,EAAE,OAAgB,EAAE,UAA6B,EAAE;IACnG,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/F,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBACnD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC7C,gGAAgG;gBAChG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;oBACjI,OAAO,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,yCAAyC,EAAE,gBAAgB,CAAC,CAAC;YACnG,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC;QAC/B,MAAM,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,wBAAwB,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,6BAA6B,OAAO,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACjP,OAAO,MAAM,KAAK,GAAG;YACnB,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,iBAAiB,EAAE,+EAA+E,EAAE,uBAAuB,EAAE,SAAS,CAAC;YACrJ,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,aAAa,EAAE,iDAAiD,EAAE,uBAAuB,EAAE,SAAS,CAAC,CAAC;IACxH,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -9,7 +9,7 @@ export async function parsePgSql(sql) {
|
|
|
9
9
|
catch (e) {
|
|
10
10
|
const at = e?.sqlDetails?.cursorPosition; // a character index, not a byte offset
|
|
11
11
|
// libpg-query prefixes "syntax error at or near ..." messages with its own noise; keep the part after the first colon
|
|
12
|
-
throw new SqlRefusal("SQL_SYNTAX", String(e?.message ?? e).replace(/^.*?:\s*/, ""), typeof at === "number" ?
|
|
12
|
+
throw new SqlRefusal("SQL_SYNTAX", String(e?.message ?? e).replace(/^.*?:\s*/, ""), typeof at === "number" ? new TextEncoder().encode(sql.slice(0, at)).byteLength : undefined);
|
|
13
13
|
}
|
|
14
14
|
const raw = tree.stmts;
|
|
15
15
|
return { stmts: raw.map((s) => s.stmt), locations: raw.map((s) => s.stmt_location) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PgQueryParser.js","sourceRoot":"","sources":["../../../../src/spec/infrastructure/sql/PgQueryParser.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAShE,uGAAuG;AACvG,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,uCAAuC;QACjF,sHAAsH;QACtH,MAAM,IAAI,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"PgQueryParser.js","sourceRoot":"","sources":["../../../../src/spec/infrastructure/sql/PgQueryParser.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAShE,uGAAuG;AACvG,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAW;IAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC;IACT,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,uCAAuC;QACjF,sHAAsH;QACtH,MAAM,IAAI,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClL,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAkB,CAAC;IACpC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;AACvF,CAAC"}
|
|
@@ -28,7 +28,7 @@ export async function relationNames(sql) {
|
|
|
28
28
|
}
|
|
29
29
|
/** UTF-8 byte offset (what libpg-query reports) to offset, 1-based line and column, and the token there. */
|
|
30
30
|
export function locate(source, byteOffset) {
|
|
31
|
-
const prefix =
|
|
31
|
+
const prefix = new TextDecoder("utf-8", { ignoreBOM: true, fatal: false }).decode(new TextEncoder().encode(source).subarray(0, byteOffset));
|
|
32
32
|
const lines = prefix.split("\n");
|
|
33
33
|
const rest = source.slice(prefix.length);
|
|
34
34
|
const token = /^("[^"]*"|'[^']*'|[\w.$]+|\S)/.exec(rest)?.[0];
|
|
@@ -39,7 +39,7 @@ function toDiagnostic(e, source) {
|
|
|
39
39
|
// that spells it (literals are blanked to the same length, so indexes still match the source)
|
|
40
40
|
const at = e.keyword?.exec(source.replace(/'(?:[^']|'')*'|"(?:[^"]|"")*"/g, (m) => " ".repeat(m.length)));
|
|
41
41
|
if (at)
|
|
42
|
-
return { code: e.code, message: e.message, ...locate(source,
|
|
42
|
+
return { code: e.code, message: e.message, ...locate(source, new TextEncoder().encode(source.slice(0, at.index)).byteLength), token: at[0] };
|
|
43
43
|
return { code: e.code, message: e.message, ...(e.offset === undefined ? {} : locate(source, e.offset)) };
|
|
44
44
|
}
|
|
45
45
|
/** Tag every RangeVar a table; the front end retags a CTE in scope `cte` and a View `view`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compileSql.js","sourceRoot":"","sources":["../../../../src/spec/infrastructure/sql/compileSql.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAUtD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,GAAW;IAC7C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,EAAE,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC1D,MAAM,IAAI,GAAG,CAAC,CAAM,EAAQ,EAAE;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO;QACxC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,IAAI,CAAC;QAAC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAClF,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAID,4GAA4G;AAC5G,MAAM,UAAU,MAAM,CAAC,MAAc,EAAE,UAAkB;IACvD,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"compileSql.js","sourceRoot":"","sources":["../../../../src/spec/infrastructure/sql/compileSql.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRestSurface.d.ts","sourceRoot":"","sources":["../../src/web/createRestSurface.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"createRestSurface.d.ts","sourceRoot":"","sources":["../../src/web/createRestSurface.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAM/D,MAAM,WAAW,kBAAkB;IACjC,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAkC9F"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { coerce, failure, json, match, readJsonObject, viewQuery, wireError } from "../core/wire.js";
|
|
2
|
+
// Public routing does not imply public data: Views and Triggers can depend on the Caller.
|
|
3
|
+
const NO_STORE = { "cache-control": "private, no-store" };
|
|
2
4
|
export function createRestSurface(runtime, options) {
|
|
3
5
|
const base = options.basePath.replace(/\/+$/, "");
|
|
4
6
|
const { plan } = runtime;
|
|
@@ -16,7 +18,7 @@ export function createRestSurface(runtime, options) {
|
|
|
16
18
|
const v = plan.views[view];
|
|
17
19
|
if (!v || v.surface !== "public")
|
|
18
20
|
throw wireError("NOT_FOUND", `no public View '${view}'`, "rest");
|
|
19
|
-
return json(await runtime.store.as(caller).view(view, viewQuery(view, v, url.searchParams, "rest")));
|
|
21
|
+
return json(await runtime.store.as(caller).view(view, viewQuery(view, v, url.searchParams, "rest")), 200, NO_STORE);
|
|
20
22
|
}
|
|
21
23
|
for (const route of routes) {
|
|
22
24
|
if (route.method !== request.method)
|
|
@@ -27,12 +29,12 @@ export function createRestSurface(runtime, options) {
|
|
|
27
29
|
const props = plan.procedures[route.procedure]?.input.properties ?? {};
|
|
28
30
|
const body = await readJsonObject(request, "rest");
|
|
29
31
|
const input = { ...body, ...Object.fromEntries(Object.entries(params).map(([k, v]) => [k, coerce(v, props[k], k, "rest")])) };
|
|
30
|
-
return json(await runtime.invokeProcedure({ procedure: route.procedure, input, caller, cause: { kind: "http", id: crypto.randomUUID() } }));
|
|
32
|
+
return json(await runtime.invokeProcedure({ procedure: route.procedure, input, caller, cause: { kind: "http", id: crypto.randomUUID() } }), 200, NO_STORE);
|
|
31
33
|
}
|
|
32
34
|
throw wireError("NOT_FOUND", "no such route", "rest");
|
|
33
35
|
}
|
|
34
36
|
catch (e) {
|
|
35
|
-
return failure(e, "rest");
|
|
37
|
+
return failure(e, "rest", NO_STORE);
|
|
36
38
|
}
|
|
37
39
|
};
|
|
38
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createRestSurface.js","sourceRoot":"","sources":["../../src/web/createRestSurface.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"createRestSurface.js","sourceRoot":"","sources":["../../src/web/createRestSurface.ts"],"names":[],"mappings":"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"}
|
|
@@ -702,6 +702,26 @@ Failed Auth initialization evicts only the failed Worker assembly so a later
|
|
|
702
702
|
request can retry. Non-HTTP callers await Auth initialization with runtime boot;
|
|
703
703
|
HTTP requests anchor it without making public responses depend on Auth health.
|
|
704
704
|
|
|
705
|
+
### 2026-10-05 amendment — Better Auth 1.7.7 schema validation order
|
|
706
|
+
|
|
707
|
+
Issue #1335 upgrades the complete Better Auth family and the nested MCP provider
|
|
708
|
+
override together to 1.7.7. The AsyncLocalStorage integration above is retested
|
|
709
|
+
against that pin. Better Auth now checks schemas eagerly at construction, before
|
|
710
|
+
Mantle's lazy schema convergence. Mantle disables only that automatic timing and
|
|
711
|
+
executes the public `context.explicitSchemaCheck` after convergence, before auth
|
|
712
|
+
handlers or session reads. It also checks when the auth-schema ledger matches,
|
|
713
|
+
so incompatible schema drift fails closed. Failed preparation clears its promise
|
|
714
|
+
for retry. Static/plan-only requests still do not prepare auth tables. No new
|
|
715
|
+
consumer pass-through, Core port or public grammar is added.
|
|
716
|
+
|
|
717
|
+
Existing 1.7.0–1.7.2 databases have a required legacy `account.issuer` that 1.7.7
|
|
718
|
+
no longer writes. Additive convergence preserves it and explicit validation
|
|
719
|
+
refuses it. The database owner performs the documented host-specific constraint
|
|
720
|
+
migration before restart: PostgreSQL drops only NOT NULL, retaining issuer values;
|
|
721
|
+
SQLite requires a reviewed data-preserving table rebuild. Portable Auth does not
|
|
722
|
+
guess the engine or drop/rebuild historical tables. The PostgreSQL upgrade is
|
|
723
|
+
verified on populated old-schema accounts and existing sessions/content.
|
|
724
|
+
|
|
705
725
|
The conventional `/favicon.ico` reflects the configured site icon, but is a
|
|
706
726
|
fallback after consumer routes, not a newly reserved namespace. Existing
|
|
707
727
|
consumer icon routes must continue to work after a package update.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ADR 0031: Cloud supplies the host Core pin
|
|
2
2
|
|
|
3
|
-
Status: Accepted for mantle-host
|
|
3
|
+
Status: Accepted for mantle-host protocols 2 and 4.
|
|
4
4
|
|
|
5
5
|
The backend artifact includes `sdkVersion` and `sdkRevision` in its hashed
|
|
6
6
|
bytes. The old host bundled a fixed Core revision. Cloud can run the previous
|
|
@@ -23,3 +23,19 @@ revision in `kit.json`. Control must provide the contract tool and pin echoes
|
|
|
23
23
|
before this host script is offered to users. A future change to the MCP
|
|
24
24
|
sequence, artifact bytes or validation meaning requires a protocol bump. A
|
|
25
25
|
new Core release using these same rules changes only the Cloud contract pin.
|
|
26
|
+
|
|
27
|
+
## Protocol 4: verified project Git source
|
|
28
|
+
|
|
29
|
+
Protocol 4 changes the save sequence: an ordinary push and Cloud source receipt
|
|
30
|
+
precede backend reservation. The receipt binds project/version, commit, target
|
|
31
|
+
and Core pin. The helper reads clean committed Git objects, and Cloud checks
|
|
32
|
+
the plan/YAML and retained ZIP against that commit. A changed Cloud pin requires
|
|
33
|
+
a new source receipt before save; an immutable saved release keeps its stored
|
|
34
|
+
bytes for review and rollback. The helper can reopen an existing project with
|
|
35
|
+
an authorized short-lived read credential, without creating a new project.
|
|
36
|
+
|
|
37
|
+
Artifacts repository provisioning, credentials, receipt records, resource
|
|
38
|
+
cleanup and deployment policy belong to the Cloud service. Core vendors its exact
|
|
39
|
+
helper artifact/checksum and documents the MCP workflow; it gains no provider
|
|
40
|
+
adapter, SQL compiler, runtime wiring or new Manifest grammar. Client-built
|
|
41
|
+
handlers/static files are not represented as server build attestation.
|
package/docs/adr/README.md
CHANGED
|
@@ -31,7 +31,7 @@ Records of *why* mantle ended up shaped this way. The numbering preserves POC AD
|
|
|
31
31
|
| [0028](0028-schema-ttl-expiry.md) | Logical TTL on Schema reads with preview-first, explicit bounded cleanup. | Accepted for 0.1.5 |
|
|
32
32
|
| [0029](0029-mcp-apps-interaction-contracts.md) | Official MCP SDK for all MCP wire handling; transport-neutral capability catalog with validate-once invocation; `@aotter/mantle-mcp` and `@aotter/mantle-ui`; Manifest-declared interaction contracts and MCP Apps (#1110). | Accepted; amends ADR-lite 909 |
|
|
33
33
|
| [0030](0030-store.md) | Store: one persistence object (`ctx.store` / `runtime.store`) over one relational JSON query AST compiled by each adapter; first slice `select`, `view`, `id`, then `write`, then manifest grammar (#1151). | Accepted; completed for 0.2.0 by 0032; authoring amended by 0034 |
|
|
34
|
-
| [0031](0031-host-cloud-core-contract.md) | Cloud supplies the Core pin before host artifact hashing; protocol 2 checks the
|
|
34
|
+
| [0031](0031-host-cloud-core-contract.md) | Cloud supplies the Core pin before host artifact hashing; protocol 2 checks the pin through grants/kit; protocol 4 requires a verified source receipt before save. | Accepted |
|
|
35
35
|
| [0032](0032-store-centric-core-and-service-contract.md) | 0.2.0: Store is the only entry persistence path; an application-owned service behind one host-neutral `createMantle`; one `Caller` identity and no Core-owned user or auth; `_mantle_` marks system tables only; two npm packages and one plugin. | Accepted for 0.2.0; decisions 1–5, 10 and 13 amended by 0034; decisions 6 and 12 by 0035 |
|
|
36
36
|
| [0033](0033-storage-converges-to-the-plan.md) | Schema storage converges to the plan by introspection: Mantle applies safe additions, blocks the rest, and verifies author-made changes; no Mantle-written migration files. | Accepted for 0.2.0; amended by 0034 and 0035 |
|
|
37
37
|
| [0034](0034-store-is-authored-as-sql.md) | Store is authored as SQL in the D1 dialect and compiled to IR by the CLI with `libpg-query`; no Worker parses SQL. The IR is the parser's AST under an exact allowlist, printed by `pgsql-deparser`; a chosen SQL subset with policy wrapped around every Schema reference; FTS5 search and R*Tree places; after hooks take row arrays; one SQLite executor; exact encodings for time and decimals. | Accepted for 0.2.0 (spike #1203); amended by 0035 and 0037 |
|
|
@@ -33,6 +33,7 @@ spec:
|
|
|
33
33
|
schema:
|
|
34
34
|
type: object
|
|
35
35
|
additionalProperties: false
|
|
36
|
+
readOnly: true
|
|
36
37
|
required: [requestNumber, requestedBy, item, quantity, needBy, justification, requestStatus]
|
|
37
38
|
properties:
|
|
38
39
|
requestNumber: { type: string, maxLength: 40, pattern: "^REQ-[A-Z0-9-]+$" }
|
|
@@ -154,6 +155,15 @@ spec:
|
|
|
154
155
|
could not see the queue. Scope is for rows only their owner may ever see.
|
|
155
156
|
Here the member View filters on `requestedBy = auth.uid()` instead, and
|
|
156
157
|
`requires: ctx.user` means an anonymous caller is 401 before the query runs.
|
|
158
|
+
- **Generic Admin access is a separate entrance.** The View's SQL filter and
|
|
159
|
+
`requires` protect that View, not generic Schema entry routes. Root
|
|
160
|
+
`schema.readOnly: true` blocks generic Admin create, patch and delete, so
|
|
161
|
+
every write goes through the declared Procedures. It does not block reads:
|
|
162
|
+
Admin admits contributors by default, and this Schema is not scoped. If
|
|
163
|
+
only owner/editor reviewers may read everyone's requisitions, restrict the
|
|
164
|
+
Admin surface in the application; see [Roles](../handbook/guides/admin-ui.md#roles).
|
|
165
|
+
Keep that restriction inside the existing `withCaller` boundary. Members
|
|
166
|
+
and contributors use the owner-filtered public View instead.
|
|
157
167
|
- **A Schema whose name is not a plain identifier is quoted in SQL**:
|
|
158
168
|
`"purchase-requisitions"`.
|
|
159
169
|
|
|
@@ -204,7 +214,8 @@ staff surface.
|
|
|
204
214
|
## What this leaves out
|
|
205
215
|
|
|
206
216
|
- **Approval chains.** One decision by one staff member. Sequential approvers
|
|
207
|
-
need a step field and
|
|
217
|
+
need a step field and SQL conditions on the current step and caller. Use a
|
|
218
|
+
hook or guard only for a check SQL cannot express.
|
|
208
219
|
- **Budgets.** A live budget check belongs in a `requires.guard` handler.
|
|
209
220
|
- **Notifications.** See the `after_create` hook in
|
|
210
221
|
[Intake with bot check and notification](./intake-hooks.md).
|
|
@@ -8,14 +8,14 @@
|
|
|
8
8
|
"check": "mantle generate && mantle generate --check && tsc --noEmit && node smoke.mjs"
|
|
9
9
|
},
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@aotter/mantle": "0.2.0-alpha.
|
|
12
|
-
"@aotter/mantle-ui": "0.2.0-alpha.
|
|
13
|
-
"@better-auth/cimd": "1.7.
|
|
14
|
-
"@better-auth/mcp": "1.7.
|
|
15
|
-
"@better-auth/oauth-provider": "1.7.
|
|
11
|
+
"@aotter/mantle": "0.2.0-alpha.3",
|
|
12
|
+
"@aotter/mantle-ui": "0.2.0-alpha.3",
|
|
13
|
+
"@better-auth/cimd": "1.7.7",
|
|
14
|
+
"@better-auth/mcp": "1.7.7",
|
|
15
|
+
"@better-auth/oauth-provider": "1.7.7",
|
|
16
16
|
"@modelcontextprotocol/ext-apps": "2.0.0",
|
|
17
17
|
"@modelcontextprotocol/server": "2.1.0",
|
|
18
|
-
"better-auth": "1.7.
|
|
18
|
+
"better-auth": "1.7.7"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@cloudflare/workers-types": "5.20260904.1",
|
|
@@ -113,10 +113,14 @@ try {
|
|
|
113
113
|
// the console: @aotter/mantle-ui/admin served by Admin at /admin, its assets by name, any other path its client-side route
|
|
114
114
|
const shell = await fetch(`${origin}/admin/c/items`);
|
|
115
115
|
const html = await shell.text();
|
|
116
|
-
const script = /src="(
|
|
116
|
+
const script = /src="((?:\/admin\/|\.\/)assets\/[^"]+\.js)"/.exec(html)?.[1];
|
|
117
|
+
const base = /<base href="([^"]+)"/.exec(html)?.[1] ?? "/admin/";
|
|
117
118
|
assert.equal(shell.headers.get("x-frame-options"), "DENY");
|
|
118
119
|
assert.ok(script, html.slice(0, 300));
|
|
119
|
-
|
|
120
|
+
const scriptUrl = new URL(script, new URL(base, origin));
|
|
121
|
+
assert.equal(scriptUrl.origin, origin);
|
|
122
|
+
assert.ok(scriptUrl.pathname.startsWith("/admin/assets/"));
|
|
123
|
+
assert.equal((await fetch(scriptUrl)).status, 200);
|
|
120
124
|
assert.equal((await fetch(`${origin}/admin/assets/missing.js`)).status, 404);
|
|
121
125
|
// the editor's round trip: it reads the whole entry and writes it back, an unset optional field included as null
|
|
122
126
|
const [tea] = (await call("GET", "/admin/api/entries?collection=items", { cookie: staff })).body.items;
|
|
@@ -42,6 +42,54 @@ passes `bunAuthDatabase(sql)` and `bunDatabaseDriver(sql)` (or the bun:sqlite
|
|
|
42
42
|
|
|
43
43
|
### Local sign-in
|
|
44
44
|
|
|
45
|
+
Install auth and MCP dependencies at the versions declared in the installed
|
|
46
|
+
Core package's `peerDependencies`; the generator prints a versioned install
|
|
47
|
+
command and refuses incompatible installed peers before writing generated files.
|
|
48
|
+
The preset owns convergence; a normal fresh local database needs no manual auth
|
|
49
|
+
migration. `auth.ready` initializes Better Auth's context; auth tables are prepared
|
|
50
|
+
lazily before authenticated operations. Mantle runs Better Auth's explicit schema
|
|
51
|
+
validation after that preparation, including when the schema ledger is current;
|
|
52
|
+
an incompatible existing schema still rejects authentication.
|
|
53
|
+
|
|
54
|
+
#### Upgrading an existing 1.7.0–1.7.2 auth database
|
|
55
|
+
|
|
56
|
+
Those Better Auth versions created a required `account.issuer` column that
|
|
57
|
+
1.7.7 no longer writes. Automatic additive convergence preserves that column;
|
|
58
|
+
it cannot make a required unused column safe for future inserts. Before starting
|
|
59
|
+
the upgraded service, the database owner must migrate this legacy constraint.
|
|
60
|
+
Fresh databases need no such step.
|
|
61
|
+
|
|
62
|
+
For PostgreSQL, first inspect the service's own database/schema and back it up:
|
|
63
|
+
|
|
64
|
+
```sql
|
|
65
|
+
SELECT table_schema, is_nullable, column_default
|
|
66
|
+
FROM information_schema.columns
|
|
67
|
+
WHERE table_name = 'account' AND column_name = 'issuer';
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
If the legacy column is required and has no default, apply this in the service's
|
|
71
|
+
auth schema (the example assumes it is selected by `search_path`):
|
|
72
|
+
|
|
73
|
+
```sql
|
|
74
|
+
BEGIN;
|
|
75
|
+
ALTER TABLE "account" ALTER COLUMN "issuer" DROP NOT NULL;
|
|
76
|
+
COMMIT;
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
This retains every row and existing issuer value. It changes only the obsolete
|
|
80
|
+
constraint; new accounts may leave that column null. Restart the service after
|
|
81
|
+
the migration so Better Auth checks the repaired schema in a fresh context.
|
|
82
|
+
Verify existing users, roles, sessions and content rows, then sign in again.
|
|
83
|
+
Do not drop auth tables or disable schema validation. This applies to native Bun
|
|
84
|
+
PostgreSQL and Cloudflare/Hyperdrive PostgreSQL alike.
|
|
85
|
+
|
|
86
|
+
For D1/SQLite, `ALTER COLUMN` is unavailable. Use a database-owner-reviewed table
|
|
87
|
+
rebuild that retains every column/value, index and foreign-key relationship while
|
|
88
|
+
making the legacy issuer nullable; do not run the PostgreSQL statement there.
|
|
89
|
+
See Better Auth's [1.7 upgrade guide](https://www.better-auth.com/docs/guides/1-7-upgrade-guide).
|
|
90
|
+
Mantle's portable auth facade does not silently perform engine-specific table
|
|
91
|
+
rebuilds or remove historical fields.
|
|
92
|
+
|
|
45
93
|
```sh
|
|
46
94
|
cp .dev.vars.example .dev.vars # ADMIN_EMAIL, a random BETTER_AUTH_SECRET, PUBLIC_ORIGIN=http://127.0.0.1:8787
|
|
47
95
|
pnpm exec wrangler dev --local
|
|
@@ -57,6 +105,17 @@ origin and both secrets exist. Otherwise it uses
|
|
|
57
105
|
`createSetupIncompleteAuth`, which refuses sign-in with a message, so a
|
|
58
106
|
deployed service never prints codes to its log.
|
|
59
107
|
|
|
108
|
+
On Bun, copy `.env.example` to `.env`, set `PUBLIC_ORIGIN=http://127.0.0.1:3000`
|
|
109
|
+
and run `bun src/index.ts`; send the same HTTP requests to port 3000. Codes print
|
|
110
|
+
to the Bun console. Normalize test email addresses to lowercase when matching
|
|
111
|
+
that output. Treat codes and session cookies as secrets in test logs.
|
|
112
|
+
|
|
113
|
+
Local clients share the loopback socket IP and therefore share sign-in limits.
|
|
114
|
+
Multi-user smoke tests must respect the retry window (HTTP 429) rather than
|
|
115
|
+
spoofing forwarding headers or disabling production limits. `rateLimit: {
|
|
116
|
+
window: 60, max: 100 }` changes the general quota, but plugin-specific OTP limits
|
|
117
|
+
still apply; changing it is not a way to bypass those limits.
|
|
118
|
+
|
|
60
119
|
### MCP clients for members
|
|
61
120
|
|
|
62
121
|
`/admin/sign-in` suits staff. When members connect an MCP client to the public
|
|
@@ -75,7 +134,31 @@ const { url } = await res.json();
|
|
|
75
134
|
location.assign(url ?? "/account");
|
|
76
135
|
```
|
|
77
136
|
|
|
78
|
-
|
|
137
|
+
The generated preset does not enable dynamic client registration (DCR).
|
|
138
|
+
An `access_denied` response from `/api/auth/oauth2/register` does not mean
|
|
139
|
+
member OAuth is broken. An owner can register a known local client through
|
|
140
|
+
the public `MantleAuth` API, without opening DCR:
|
|
141
|
+
|
|
142
|
+
```ts
|
|
143
|
+
const client = await auth.registerOAuthClient({
|
|
144
|
+
requestHeaders: ownerRequest.headers,
|
|
145
|
+
clientName: "Local MCP client",
|
|
146
|
+
redirectUris: ["http://127.0.0.1:3456/callback"],
|
|
147
|
+
applicationType: "native",
|
|
148
|
+
tokenEndpointAuthMethod: "none",
|
|
149
|
+
grantTypes: ["authorization_code", "refresh_token"],
|
|
150
|
+
responseTypes: ["code"],
|
|
151
|
+
scope: ["mcp"],
|
|
152
|
+
requirePKCE: true,
|
|
153
|
+
});
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Use a real owner session, keep persisted user consent, and configure the MCP
|
|
157
|
+
client with the returned `clientId`. This belongs in an owner-controlled
|
|
158
|
+
management path, not an anonymous registration handler. Choose DCR separately
|
|
159
|
+
according to the host's registration policy.
|
|
160
|
+
|
|
161
|
+
When DCR is enabled, registration takes a client that names no `application_type`
|
|
79
162
|
and registers only `http` loopback redirects (`localhost`, `127.0.0.1`,
|
|
80
163
|
`[::1]`) as `native` (RFC 8252), which is how local MCP clients register; any
|
|
81
164
|
other registration is checked as Better Auth checks it (`web` needs `https` on a
|
|
@@ -99,10 +99,21 @@ you built (`PLAN_FINGERPRINT_MISMATCH`). The fingerprint is in
|
|
|
99
99
|
|
|
100
100
|
## Mantle Cloud
|
|
101
101
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
102
|
+
Mantle Cloud accepts its pinned 0.2 service contract through host protocol 4. A verified source receipt is required before save.
|
|
103
|
+
Connect Cloud MCP and follow the plugin's `mantle` skill and its
|
|
104
|
+
`references/cloud.md` workflow. Call `cloud_host_contract` for the selected
|
|
105
|
+
project before installing or packing: Cloud returns the exact Core version
|
|
106
|
+
and revision. Do not substitute a moving npm tag or upload a self-hosted
|
|
107
|
+
Worker's platform wiring. Cloud supplies identity and D1 storage; PostgreSQL
|
|
108
|
+
plans are not accepted.
|
|
109
|
+
|
|
110
|
+
The skill's `scripts/mantle-cloud.mjs` helper orchestrates save, paired
|
|
111
|
+
preview and publish through the connected MCP tools. Follow its literal
|
|
112
|
+
`nextAction`, keeping grants on stdin and preserving the project and operation
|
|
113
|
+
IDs on retry. A saved or paired version is not a serving deployment; publish
|
|
114
|
+
only under the user's authorization and verify Cloud's returned serving state.
|
|
115
|
+
Its offline `check` reports `cloud: "not_checked"`, which proves local
|
|
116
|
+
readiness only. Use Cloud's workflow, not `wrangler deploy`, for that target.
|
|
106
117
|
|
|
107
118
|
## Moving data from 0.1.x
|
|
108
119
|
|
|
@@ -117,7 +117,13 @@ The writer comes from the caller, never from an input. See
|
|
|
117
117
|
|
|
118
118
|
Admin's gate admits any staff role, and each Admin route names the least role
|
|
119
119
|
it needs. Admin reads and writes through `runtime.store.as(caller)`, so scope
|
|
120
|
-
|
|
120
|
+
applies to generic entry routes. A View or Procedure's `requires` applies when
|
|
121
|
+
that atom runs, including Admin reports and operations; it does not restrict
|
|
122
|
+
generic entry reads or writes. Root Schema `readOnly: true` blocks generic
|
|
123
|
+
writes, while reads still follow Admin's role gate and Schema scope.
|
|
124
|
+
For an unscoped table shared by members and reviewers, an owner-filtered View
|
|
125
|
+
does not hide its rows from contributors using generic Admin routes. Compose
|
|
126
|
+
a stricter Admin surface in the application when the product requires it. See
|
|
121
127
|
[Customize Admin](../guides/admin-ui.md).
|
|
122
128
|
|
|
123
129
|
## Further reading
|
|
@@ -50,7 +50,7 @@ again.
|
|
|
50
50
|
|
|
51
51
|
`createMantleAuth` runs Better Auth's OAuth provider with `mcpResource:
|
|
52
52
|
{PUBLIC_ORIGIN}/mcp`. An MCP client discovers it from the 401 challenge's
|
|
53
|
-
`resource_metadata` (`/.well-known/oauth-protected-resource/mcp`),
|
|
53
|
+
`resource_metadata` (`/.well-known/oauth-protected-resource/mcp`), uses a registered client,
|
|
54
54
|
sends the user through sign-in and consent (Admin's `/admin/oauth/consent`, or the plain `/oauth/consent`), and calls `/mcp`
|
|
55
55
|
with the token. The resolver (`createCallerResolver(auth, { jwtBearer: { audience, scopes: ["mcp"] } })`)
|
|
56
56
|
verifies it on every request and reads the user's current role; nothing is
|
|
@@ -121,6 +121,35 @@ and manages media, `owner` manages staff, site settings and the developer
|
|
|
121
121
|
console. Operations and staff Views are further limited by their own
|
|
122
122
|
`requires`.
|
|
123
123
|
|
|
124
|
+
Those atom predicates do not restrict generic Schema entry routes. A root
|
|
125
|
+
Schema `readOnly: true` blocks generic writes, not reads. In a service where
|
|
126
|
+
only owner/editor reviewers may read an unscoped table, restrict the Admin
|
|
127
|
+
surface in the application-owned `src/service.ts`:
|
|
128
|
+
|
|
129
|
+
```ts
|
|
130
|
+
// Replace the preset's Admin composition, keeping its existing options.
|
|
131
|
+
const adminSurface = createAdminSurface(runtime, { /* existing Admin options */ });
|
|
132
|
+
const admin = withCaller(resolver, async (request, caller) => {
|
|
133
|
+
if (new URL(request.url).pathname.startsWith("/admin/api/") &&
|
|
134
|
+
caller.kind === "user" && caller.role === "contributor") {
|
|
135
|
+
return Response.json({ error: {
|
|
136
|
+
code: "AUTH_DENIED", message: "Admin access requires an owner or editor role.",
|
|
137
|
+
} }, { status: 403 });
|
|
138
|
+
}
|
|
139
|
+
return adminSurface(request, caller);
|
|
140
|
+
});
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
The preset already imports `withCaller` from `@aotter/mantle`. Reuse its
|
|
144
|
+
resolver so credential validation and the session origin guard run once;
|
|
145
|
+
Admin retains its own gates for members and anonymous callers. Contributors
|
|
146
|
+
can use an application-owned page over an owner-filtered public View. Keep
|
|
147
|
+
sign-in, OAuth consent and UI assets reachable; restricting the whole `/admin`
|
|
148
|
+
prefix would also block member MCP consent at `/admin/oauth/consent`. This is
|
|
149
|
+
host surface composition, not a Procedure `ref` handler or a new Manifest
|
|
150
|
+
permission key. Exercise generic entry reads, reports and operations with
|
|
151
|
+
each role, including after revoking a role in an existing session.
|
|
152
|
+
|
|
124
153
|
## Verify a change
|
|
125
154
|
|
|
126
155
|
1. Run `mantle generate`, then `mantle generate --check`.
|
|
@@ -56,8 +56,13 @@ by hand.
|
|
|
56
56
|
`emit-openapi`, `skills` and `mantle-harness` are removed.
|
|
57
57
|
- **The Admin console** moves to `@aotter/mantle-ui/admin`, served at `/admin`
|
|
58
58
|
by the preset through the service's `ASSETS` binding.
|
|
59
|
-
- **
|
|
60
|
-
|
|
59
|
+
- **Mantle Cloud** uses its pinned Core contract and host protocol 4 through
|
|
60
|
+
the plugin's `mantle` Cloud workflow, requiring a verified source receipt
|
|
61
|
+
before save, with separate preview and publish
|
|
62
|
+
states. Its host contract decides the accepted version; offline readiness
|
|
63
|
+
is not a deployed service.
|
|
64
|
+
- **Not yet in 0.2.0:** Mantle-rendered public pages and the MCP interaction
|
|
65
|
+
App tools.
|
|
61
66
|
|
|
62
67
|
## 0.1.4 — 2026-09-24
|
|
63
68
|
|