@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.
Files changed (50) hide show
  1. package/dist/admin/design.d.ts +7 -0
  2. package/dist/admin/design.d.ts.map +1 -0
  3. package/dist/admin/design.js +18 -0
  4. package/dist/admin/design.js.map +1 -0
  5. package/dist/admin/developerConsole.d.ts +1 -0
  6. package/dist/admin/developerConsole.d.ts.map +1 -1
  7. package/dist/admin/developerConsole.js.map +1 -1
  8. package/dist/admin/index.d.ts +2 -0
  9. package/dist/admin/index.d.ts.map +1 -1
  10. package/dist/admin/index.js +2 -0
  11. package/dist/admin/index.js.map +1 -1
  12. package/dist/auth/buildAuth.d.ts +6 -5
  13. package/dist/auth/buildAuth.d.ts.map +1 -1
  14. package/dist/auth/buildAuth.js +5 -1
  15. package/dist/auth/buildAuth.js.map +1 -1
  16. package/dist/auth/createMantleAuth.d.ts.map +1 -1
  17. package/dist/auth/createMantleAuth.js +6 -11
  18. package/dist/auth/createMantleAuth.js.map +1 -1
  19. package/dist/cli/generate.d.ts.map +1 -1
  20. package/dist/cli/generate.js +38 -2
  21. package/dist/cli/generate.js.map +1 -1
  22. package/dist/core/withCaller.js +1 -1
  23. package/dist/core/withCaller.js.map +1 -1
  24. package/dist/spec/infrastructure/sql/PgQueryParser.js +1 -1
  25. package/dist/spec/infrastructure/sql/PgQueryParser.js.map +1 -1
  26. package/dist/spec/infrastructure/sql/compileSql.js +2 -2
  27. package/dist/spec/infrastructure/sql/compileSql.js.map +1 -1
  28. package/dist/web/createRestSurface.d.ts.map +1 -1
  29. package/dist/web/createRestSurface.js +5 -3
  30. package/dist/web/createRestSurface.js.map +1 -1
  31. package/docs/adr/0014-auth-better-auth-and-multi-tenant-mcp.md +20 -0
  32. package/docs/adr/0031-host-cloud-core-contract.md +17 -1
  33. package/docs/adr/README.md +1 -1
  34. package/docs/examples/procurement.md +12 -1
  35. package/docs/examples/reference-service/package.json +6 -6
  36. package/docs/examples/reference-service/smoke.mjs +6 -2
  37. package/docs/handbook/cloudflare/authentication.md +84 -1
  38. package/docs/handbook/cloudflare/deploy-and-operate.md +15 -4
  39. package/docs/handbook/concepts/authorization.md +7 -1
  40. package/docs/handbook/concepts/mcp-and-agents.md +1 -1
  41. package/docs/handbook/guides/admin-ui.md +29 -0
  42. package/docs/handbook/releases/index.md +7 -2
  43. package/docs/handbook/start/overview.md +1 -1
  44. package/docs/handbook/start/project-and-cli.md +7 -0
  45. package/docs/handbook/start/quickstart-worker.md +5 -4
  46. package/docs/skills/develop/SKILL.md +10 -0
  47. package/docs/skills/develop/mcp-app.md +1 -1
  48. package/docs/skills/provision/SKILL.md +4 -3
  49. package/docs/skills/update/SKILL.md +6 -0
  50. package/package.json +14 -12
@@ -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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"}
@@ -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;AAUjM;;;;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"}
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" ? Buffer.byteLength(sql.slice(0, at)) : undefined);
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,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAChK,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"}
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 = Buffer.from(source, "utf8").subarray(0, byteOffset).toString("utf8");
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, Buffer.byteLength(source.slice(0, at.index))), token: at[0] };
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":"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"}
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;AAG/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
+ {"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":"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"}
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 protocol 2.
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.
@@ -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 same pin through grants and the frontend kit. | Accepted |
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 a `before_update` hook that checks the transition.
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.2",
12
- "@aotter/mantle-ui": "0.2.0-alpha.2",
13
- "@better-auth/cimd": "1.7.2",
14
- "@better-auth/mcp": "1.7.2",
15
- "@better-auth/oauth-provider": "1.7.2",
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.2"
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="(\/admin\/assets\/[^"]+\.js)"/.exec(html)?.[1];
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
- assert.equal((await fetch(`${origin}${script}`)).status, 200);
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
- Dynamic client registration takes a client that names no `application_type`
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
- Deploying a 0.2.0 service to Mantle Cloud needs Cloud's host protocol 3, which
103
- uploads the compiled plan and the service entry. Mantle Cloud does not accept
104
- 0.2.0 services yet. The plugin's `mantle` skill and its helper script check
105
- the plan and the installed Core version so a project is ready when it does.
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
- and `requires` apply to staff exactly as to anyone. See
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`), registers,
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
- - **Not yet in 0.2.0:** Mantle-rendered public pages, the MCP interaction App
60
- tools, and deploying to Mantle Cloud.
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