@aotter/mantle 0.1.3-alpha.5 → 0.1.3-alpha.6

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/README.md CHANGED
@@ -16,7 +16,7 @@ npx skills add aotter/mantle --skill install
16
16
  ```
17
17
 
18
18
  To depend on this package in an existing project, pin the exact version
19
- from `package.json` (currently `0.1.3-alpha.5`):
19
+ from `package.json` (currently `0.1.3-alpha.6`):
20
20
 
21
21
  ```bash
22
22
  npm install @aotter/mantle
@@ -35,7 +35,7 @@ subpath. Every sub-package also remains directly installable.
35
35
  | `@aotter/mantle/spec` (or root) | Manifest grammar, validators, JSON-Schema→Zod, diagnostic catalog (no env / no IO) |
36
36
  | `@aotter/mantle/runtime` | Hexagonal runtime: domain ports, use cases, infrastructure helpers (no adapter deps) |
37
37
  | `@aotter/mantle/runtime/testing` | Node-only crowded SQLite planner and HTTP sampling helpers |
38
- | `@aotter/mantle/codegen` | Pure linked manifests → typed runtime module emitter (no IO) |
38
+ | `@aotter/mantle/codegen` | Pure linked manifests or compiled plan → typed runtime module emitter (no IO) |
39
39
  | `@aotter/mantle/web` | Optional HTML, Markdown, `llms.txt`, sitemap, SEO, and preview composition (no routes or platform deps) |
40
40
  | `@aotter/mantle/admin` | Optional Admin API, auth routes, and static-asset composition |
41
41
  | `@aotter/mantle/auth` | Optional host-neutral Better Auth identity; adapters own IP headers and storage bindings |
@@ -73,7 +73,15 @@ installed, it also syncs the Admin SPA to `public/_mantle/admin/` (excluding
73
73
  `server.*` package exports). Core-only installs skip that copy. It performs no
74
74
  skill sync, package update, styling, provisioning, or deployment.
75
75
  The same pure emitter is available from `@aotter/mantle/codegen` when a host
76
- wants to own parsing and filesystem IO.
76
+ wants to own parsing and filesystem IO. TypeScript-authored manifests can pass
77
+ their already-compiled `plan` directly:
78
+
79
+ ```ts
80
+ import { emitMantleModule } from "@aotter/mantle/codegen";
81
+
82
+ const emitted = emitMantleModule({ plan });
83
+ if (!emitted.ok) throw new Error(emitted.diagnostics.map(({ message }) => message).join("\n"));
84
+ ```
77
85
 
78
86
  ```ts
79
87
  import { createMantle } from "../.mantle/generated/mantle.js";
@@ -1,8 +1,14 @@
1
1
  import { type Diagnostic, type LinkedManifestSet } from "@aotter/mantle-spec";
2
- export interface EmitMantleModuleRequest {
2
+ import { type RuntimePlan } from "@aotter/mantle-runtime";
3
+ export type EmitMantleModuleRequest = {
3
4
  readonly linked: LinkedManifestSet;
5
+ readonly plan?: never;
4
6
  readonly namespace?: string;
5
- }
7
+ } | {
8
+ readonly plan: RuntimePlan;
9
+ readonly linked?: never;
10
+ readonly namespace?: string;
11
+ };
6
12
  export type EmitMantleModuleResult = {
7
13
  readonly ok: true;
8
14
  readonly source: string;
@@ -1 +1 @@
1
- {"version":3,"file":"emitMantleModule.d.ts","sourceRoot":"","sources":["../../src/codegen/emitMantleModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAoBxE,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAc,GAAG,IAAI,CAIlF;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CAuGzF"}
1
+ {"version":3,"file":"emitMantleModule.d.ts","sourceRoot":"","sources":["../../src/codegen/emitMantleModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE9E,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,GAAG;IACF,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAA;CAAE,CAAC;AAoBxE,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAc,GAAG,IAAI,CAIlF;AAED,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,sBAAsB,CA6HzF"}
@@ -1,4 +1,4 @@
1
- import { EmitTypesUseCase, manifestTypeIdentifier, validateDiagnostic, } from "@aotter/mantle-spec";
1
+ import { emitTypesFromManifests, manifestTypeIdentifier, validateDiagnostic, } from "@aotter/mantle-spec";
2
2
  import { compileRuntimePlan } from "@aotter/mantle-runtime";
3
3
  const GENERATED_NAMES = new Set([
4
4
  "BootMantleRuntimeArgs",
@@ -26,18 +26,41 @@ export function assertMantleNamespace(namespace, label = "namespace") {
26
26
  export function emitMantleModule(request) {
27
27
  const namespace = request.namespace ?? "Mantle";
28
28
  assertMantleNamespace(namespace);
29
- const collision = findIdentifierCollision(request.linked);
29
+ const entries = "linked" in request && request.linked
30
+ ? request.linked
31
+ : request.plan;
32
+ const collision = findIdentifierCollision(entries);
30
33
  if (collision)
31
34
  return { ok: false, diagnostics: [collision] };
32
- const compiled = compileRuntimePlan(request.linked);
33
- if (!compiled.ok)
34
- return { ok: false, diagnostics: compiled.diagnostics };
35
- const plan = compiled.value;
35
+ let plan;
36
+ if ("plan" in request && request.plan) {
37
+ plan = request.plan;
38
+ }
39
+ else {
40
+ const compiled = compileRuntimePlan(request.linked);
41
+ if (!compiled.ok)
42
+ return { ok: false, diagnostics: compiled.diagnostics };
43
+ plan = compiled.value;
44
+ }
36
45
  const schemas = sortedValues(plan.schemas);
37
46
  const views = sortedValues(plan.views);
38
47
  const procedures = sortedValues(plan.procedures);
39
48
  const triggers = sortedValues(plan.triggers);
40
- const generatedTypes = EmitTypesUseCase.run({ linked: request.linked, namespace }).source
49
+ const typeSchemas = "linked" in request && request.linked
50
+ ? request.linked.schemas.map(({ manifest }) => manifest)
51
+ : Object.values(plan.schemas).map(({ manifest }) => manifest);
52
+ const typeProcedures = "linked" in request && request.linked
53
+ ? request.linked.procedures.map(({ manifest }) => manifest)
54
+ : Object.values(plan.procedures).map(({ manifest }) => manifest);
55
+ const typeViews = "linked" in request && request.linked
56
+ ? request.linked.views.map(({ manifest }) => manifest)
57
+ : Object.values(plan.views).map(({ manifest }) => manifest);
58
+ const generatedTypes = emitTypesFromManifests({
59
+ schemas: typeSchemas,
60
+ procedures: typeProcedures,
61
+ views: typeViews,
62
+ namespace,
63
+ }).source
41
64
  .replace(/^\/\/ Generated by `mantle-spec emit-types`\. Do not edit by hand\.\n\n/, "")
42
65
  .trimEnd();
43
66
  const handlerTypes = handlerContractLines(procedures, namespace);
@@ -215,10 +238,10 @@ function handlerContractLines(procedures, namespace) {
215
238
  }
216
239
  function findIdentifierCollision(linked) {
217
240
  const groups = [
218
- ["entries", linked.schemas],
219
- ["views", linked.views],
220
- ["procedures", linked.procedures],
221
- ["triggers", linked.triggers],
241
+ ["entries", values(linked.schemas)],
242
+ ["views", values(linked.views)],
243
+ ["procedures", values(linked.procedures)],
244
+ ["triggers", values(linked.triggers)],
222
245
  ];
223
246
  for (const [group, entries] of groups) {
224
247
  const seen = new Map();
@@ -230,7 +253,11 @@ function findIdentifierCollision(linked) {
230
253
  seen.set(identifier, name);
231
254
  continue;
232
255
  }
233
- const source = { ...entry.source, path: "/metadata/name" };
256
+ const authoredSource = "source" in entry ? entry.source : undefined;
257
+ const source = {
258
+ ...(authoredSource ?? { sourceId: "runtime-plan", documentIndex: 0 }),
259
+ path: "/metadata/name",
260
+ };
234
261
  return validateDiagnostic({
235
262
  code: "CODEGEN_IDENTIFIER_COLLISION",
236
263
  severity: "error",
@@ -245,6 +272,9 @@ function findIdentifierCollision(linked) {
245
272
  }
246
273
  return undefined;
247
274
  }
275
+ function values(entries) {
276
+ return Array.isArray(entries) ? entries : Object.values(entries);
277
+ }
248
278
  function sortedValues(record) {
249
279
  return Object.values(record).sort((a, b) => compareText(a.name, b.name));
250
280
  }
@@ -1 +1 @@
1
- {"version":3,"file":"emitMantleModule.js","sourceRoot":"","sources":["../../src/codegen/emitMantleModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,kBAAkB,GAGnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAoB,MAAM,wBAAwB,CAAC;AAW9E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,uBAAuB;IACvB,mBAAmB;IACnB,qBAAqB;IACrB,iBAAiB;IACjB,aAAa;IACb,kBAAkB;IAClB,gBAAgB;IAChB,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;IAClB,YAAY;IACZ,mBAAmB;IACnB,cAAc;IACd,MAAM;IACN,iBAAiB;CAClB,CAAC,CAAC;AAEH,MAAM,UAAU,qBAAqB,CAAC,SAAiB,EAAE,KAAK,GAAG,WAAW;IAC1E,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACpF,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,sDAAsD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7G,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC;IAChD,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,IAAI,SAAS;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;IAC9D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC1E,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;IAE5B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM;SACtF,OAAO,CAAC,yEAAyE,EAAE,EAAE,CAAC;SACtF,OAAO,EAAE,CAAC;IACb,MAAM,YAAY,GAAG,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAEjE,OAAO;QACL,EAAE,EAAE,IAAI;QACR,MAAM,EAAE;YACN,yDAAyD;YACzD,gFAAgF;YAChF,eAAe;YACf,0BAA0B;YAC1B,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,oBAAoB;gBACpB,mCAAmC;aACpC,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,4CAA4C;YAC5C,kCAAkC;YAClC,uCAAuC;YACvC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,iCAAiC;gBACjC,6BAA6B;gBAC7B,wBAAwB;aACzB,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,oBAAoB;YACpB,oCAAoC;YACpC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBACvB,kEAAkE;gBAClE,EAAE;gBACF,qEAAqE;gBACrE,oDAAoD;gBACpD,yFAAyF;gBACzF,kGAAkG;aACnG,CAAC,CAAC,CAAC,EAAE,CAAC;YACP,EAAE;YACF,uCAAuC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,uCAAuC;YAC3G,EAAE;YACF,cAAc;YACd,EAAE;YACF,sCAAsC;YACtC,2BAA2B;YAC3B,2BAA2B;YAC3B,yCAAyC;YACzC,GAAG;YACH,EAAE;YACF,+CAA+C;YAC/C,GAAG,YAAY;YACf,IAAI;YACJ,EAAE;YACF,kDAAkD;YAClD,4DAA4D;YAC5D,8CAA8C;YAC9C,MAAM;YACN,EAAE;YACF,wFAAwF;YACxF,kEAAkE;YAClE,+BAA+B;YAC/B,GAAG;YACH,EAAE;YACF,0DAA0D;YAC1D,wDAAwD;YACxD,qIAAqI;YACrI,KAAK;YACL,YAAY;YACZ,cAAc;YACd,gBAAgB;YAChB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9H,QAAQ;YACR,cAAc;YACd,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC/D,QAAQ;YACR,mBAAmB;YACnB,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,CAClC,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAC5D;YACD,QAAQ;YACR,iBAAiB;YACjB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1B,SAAS,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC;gBAC1D,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM;gBACpC,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,YAAY,CACf;YACD,QAAQ;YACR,eAAe;YACf,GAAG;YACH,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC;KACb,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,SAAiB,EAAE,UAA6B;IACjF,MAAM,EAAE,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,GAAG,SAAS,UAAU,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;IAClE,6EAA6E;IAC7E,6EAA6E;IAC7E,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM;QAC9B,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrF,CAAC,CAAC,OAAO,CAAC;IACZ,MAAM,KAAK,GAAG,cAAc,MAAM,aAAa,IAAI,EAAE,CAAC;IACtD,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,6IAA6I,IAAI,QAAQ;QACzJ,mEAAmE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gEAAgE;QACvJ,wGAAwG;QACxG,gEAAgE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;QAC1F,mHAAmH;QACnH,mEAAmE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;QAC7F,yHAAyH;QACzH,sEAAsE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;QAChG,+GAA+G;QAC/G,iEAAiE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;QAC3F,2GAA2G;QAC3G,+DAA+D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;QACzF,iHAAiH;QACjH,mEAAmE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;QAC7F,6EAA6E;QAC7E,4EAA4E;QAC5E,8EAA8E;QAC9E,2EAA2E;QAC3E,kEAAkE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yCAAyC,IAAI,YAAY;QAC/I,6BAA6B,KAAK,uIAAuI,IAAI,YAAY;QACzL,uEAAuE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,yCAAyC,IAAI,YAAY;QACpJ,+BAA+B,KAAK,sJAAsJ,IAAI,cAAc;QAC5M,yEAAyE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kDAAkD,IAAI,OAAO;QAC1J,iCAAiC,KAAK,6IAA6I,IAAI,YAAY;QACnM,2EAA2E,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kDAAkD,IAAI,OAAO;QAC5J,8GAA8G;QAC9G,mEAAmE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM;QAC7F,UAAU;KACX,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,IAA8C,EAC9C,SAAiB;IAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAChC,MAAM,cAAc,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACrE,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM;QAClC,CAAC,CAAC,wCAAwC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,eAAe,sBAAsB,CAAC,IAAI,CAAC,IAAI;QAChI,CAAC,CAAC,mBAAmB,CAAC;IACxB,OAAO;QACL,SAAS,iBAAiB,CAAC,IAAI,CAAC,eAAe,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,MAAM;QAChG,+BAA+B,SAAS,YAAY,sBAAsB,CAAC,IAAI,CAAC,KAAK;QACrF,mBAAmB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;QAC1C,6BAA6B;QAC7B,sBAAsB;QACtB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,iCAAiC;QACjC,iCAAiC;QACjC,cAAc;QACd,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,SAAiB;IACrD,MAAM,MAAM,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO;QACL,SAAS,iBAAiB,CAAC,IAAI,CAAC,aAAa,SAAS,cAAc,MAAM,kCAAkC;QAC5G,mCAAmC,SAAS,eAAe,MAAM,KAAK;QACtE,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG;QAC/C,kBAAkB;QAClB,gBAAgB;QAChB,aAAa;KACd,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAC3B,UAAwD,EACxD,SAAiB;IAEjB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC7C,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;QAChD,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK;YAAE,SAAS;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC7B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,CAAC,GAAG,QAAQ,CAAC;SACjB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACrC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,EAAE;QACtB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,SAAS,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,SAAS,eAAe,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnF,OAAO,cAAc,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,sBAAsB,MAAM,KAAK,OAAO,SAAS,CAAC;IAC5F,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB,CAAC,MAAyB;IACxD,MAAM,MAAM,GAAG;QACb,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC;QAC3B,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC;QACjC,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC;KACrB,CAAC;IACX,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;QACvC,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC7C,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAChE,EAAE,CAAC;YACF,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC1C,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACnC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;gBAC3B,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;YAC3D,OAAO,kBAAkB,CAAC;gBACxB,IAAI,EAAE,8BAA8B;gBACpC,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,GAAG,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,aAAa,gBAAgB;gBACjE,MAAM;gBACN,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,KAAK,KAAK,iDAAiD;gBACrE,UAAU,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;gBACzB,OAAO,EAAE,GAAG,KAAK,gBAAgB,KAAK,UAAU,IAAI,oBAAoB,UAAU,IAAI;aACvF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CACnB,MAAmC;IAEnC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACvC,KAAK,KAAK,CAAC;QACT,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAC3C,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACX,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"emitMantleModule.js","sourceRoot":"","sources":["../../src/codegen/emitMantleModule.ts"],"names":[],"mappings":"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"}
@@ -724,7 +724,8 @@ Cloudflare deployments may pass their deployment-owned KV namespace as
724
724
  keeping the canonical session row in D1. OTP verification remains D1-backed
725
725
  and rate limiting remains isolate-local because Workers KV does not provide
726
726
  the atomic consume or increment operations those paths require. Auth keys use
727
- the `better-auth:` prefix so the namespace can also hold Mantle projections.
727
+ the `better-auth:<store-instance-id>:` prefix so replacing D1 makes the old
728
+ store's cached sessions unreachable while the namespace can still hold Mantle projections.
728
729
  Session revocation and user updates use Better Auth's cache invalidation and
729
730
  therefore follow Workers KV's propagation model.
730
731
 
@@ -141,9 +141,11 @@ origin, the only column Analytics Engine filters cheaply. Columns, in order:
141
141
  whatever identity the gate established. Its body goes through the same 1 MiB
142
142
  bounded reader as an admitted call; a denied request whose body is oversized
143
143
  or not JSON is still recorded, with `tool` set to `(unreadable)`, so padding a
144
- body cannot hide a credential probe. `operationId` is the call's `operationId`
145
- argument when present, else empty; it correlates retries of one mutation and
146
- is read the same way on admitted and denied calls. Read it with the
144
+ body cannot hide a credential probe. `operationId` is the string argument whose
145
+ schema declares `x-mcp-hint: idempotency-key`, falling back to the conventional
146
+ `operationId` argument when the tool declares no hint. It is empty when that
147
+ argument is absent and is resolved the same way on admitted and denied calls.
148
+ Read it with the
147
149
  [SQL API](https://developers.cloudflare.com/analytics/analytics-engine/sql-api/):
148
150
 
149
151
  ```sql
@@ -36,6 +36,10 @@ pnpm exec mantle-harness indexes --require-public --format text
36
36
 
37
37
  A required path fails on a required Schema-table scan, a temporary sort or an unindexed data-field predicate. Then dry-run and deploy:
38
38
 
39
+ This local SQLite check intentionally runs without planner statistics. Treat it
40
+ as a conservative preflight; use post-deploy D1 metrics for production cost and
41
+ latency claims.
42
+
39
43
  ```sh
40
44
  wrangler deploy --dry-run
41
45
  wrangler deploy
@@ -165,7 +165,7 @@ The umbrella installs Spec and Runtime only. Web, Admin, Auth, Admin UI, Bun, Ve
165
165
  | `@aotter/mantle-spec` | `/spec` | Manifest grammar, parser, validators, JSON Schema to zod, site-config contract, diagnostic catalog. No environment, no IO. |
166
166
  | `@aotter/mantle-runtime` | `/runtime` | Hexagonal runtime: domain ports, use cases, MCP catalog, storage helpers. No adapter dependencies. |
167
167
  | — | `/runtime/testing` | Node-only crowded-SQLite planner and HTTP sampling helpers used by `mantle-harness`. |
168
- | — | `/codegen` | The pure linked-manifests to typed-module emitter, with no IO. |
168
+ | — | `/codegen` | The pure linked-manifests or compiled-plan to typed-module emitter, with no IO. |
169
169
  | `@aotter/mantle-web` | `/web` | HTML, Markdown, `llms.txt`, sitemap, SEO and preview composition. No routes, no platform dependencies. |
170
170
  | `@aotter/mantle-admin` | `/admin` | Admin API, auth route mounting, OAuth pages, static-asset composition. |
171
171
  | `@aotter/mantle-auth` | `/auth` | Host-neutral Better Auth identity, staff roles, and OAuth 2.1 / MCP authorization. Adapters own IP headers and storage bindings. |
@@ -154,7 +154,7 @@ One statement, read-only, compiled and bound by the runtime.
154
154
  Bound params are passed as positional values; caller input is never interpolated into the statement. SQLite JSON functions are available, so `json_each` and `json_extract` can unnest and project array or object members of `data` — the SQL example above does both.
155
155
 
156
156
  > **Warning**
157
- > `sql` Views are native SQLite. Static validation never executes the statement, so a syntax or column error surfaces only when the View runs. On a storage adapter that does not support the native dialect the View fails at prepare time with `VIEW_DIALECT_UNSUPPORTED`, naming the dialects that adapter does support.
157
+ > `sql` Views are native SQLite. `mantle validate` prepares each statement against an empty SQLite database containing only the declared Schema tables; an undeclared table, syntax error or unknown column is `INVALID_MANIFEST_ENVELOPE` at `/spec/sql`. Programmatic validation runs the same check when the host supplies `sqlViewSandbox`; without that port it is deferred to the host's admission gate. On a storage adapter that does not support the native dialect the View fails at prepare time with `VIEW_DIALECT_UNSUPPORTED`, naming the dialects that adapter does support.
158
158
 
159
159
  ## `params`
160
160
 
@@ -205,6 +205,9 @@ Admin applies search and filters before pagination, rejecting a search term or f
205
205
  |---|---|---|---|
206
206
  | `public` | `GET /api/views/<name>`, plus a catalog at `GET /api/views` | `query_view_<segment>` on `/mcp` | Also mounted at `GET /admin/api/views/<name>` and `/export` behind the staff gate |
207
207
  | `staff` | `GET /admin/api/views/<name>` and `/admin/api/views/<name>/export` — not mounted publicly | `query_view_<segment>` on `/mcp/staff` | Report sidebar |
208
+ | `internal` | Not mounted | Not mounted | Not listed or mounted |
209
+
210
+ An `internal` View remains in the compiled plan for host code to call through `MantleRuntime.executeView`. It is an exposure policy, not an authorization bypass: `requires` and guards still evaluate against the `ctx` supplied by the host. Shared HTTP caching is invalid because no adapter owns an HTTP response for the View.
208
211
 
209
212
  A `public` declarative View over a `publishing` Schema reads **published rows only**, on every transport. The runtime adds `status = published` to the compiled query whether or not the filter spells it out; writing it is allowed and redundant, and comparing `status` to any other value is rejected at validate time (`VIEW_PUBLIC_STATUS_INVALID`). Staff Views see every status. `operational` Schemas create rows as `published`, so nothing is added. SQL Views (`spec.sql`) are the author's own statement and receive no injected predicate. Decision record: ADR-0025.
210
213
 
@@ -55,6 +55,13 @@ data-field predicate/order that does not use a declared Schema index.
55
55
  Projection alone does not require an index. `mantle validate` remains a pure
56
56
  correctness check; no performance grammar or manifest atom was added.
57
57
 
58
+ The fixture follows each Schema lifecycle: operational rows are immediately
59
+ published, while publishing Schemas contain both draft and published rows. The
60
+ harness deliberately does not run `ANALYZE` or `PRAGMA optimize`, so it cannot
61
+ turn an unprepared production plan into a local pass. This is a conservative
62
+ SQLite preflight, not proof of D1 rows-read, Worker CPU, or IndexedDB behavior;
63
+ measure those on the target backend before making a performance claim.
64
+
58
65
  Use the machine report in CI. It includes the compiled SQL and parameters,
59
66
  query-plan details, named indexes, scan/sort flags, result count, SQLite
60
67
  version, fixture row count, and required-failure summary.
@@ -6,7 +6,7 @@ Runtime. This Spec-only path is allowed by
6
6
  [ADR-0019](adr/0019-sealed-manifest-runtime-pipeline.md), not a new adapter,
7
7
  manifest grammar, or fork of Core.
8
8
 
9
- This recipe targets `0.1.3-alpha.5`. Pin the package, record the tested version, and
9
+ This recipe targets `0.1.3-alpha.6`. Pin the package, record the tested version, and
10
10
  rerun compatibility checks when upgrading.
11
11
 
12
12
  ## What stays with the host
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aotter/mantle",
3
- "version": "0.1.3-alpha.5",
3
+ "version": "0.1.3-alpha.6",
4
4
  "description": "Embeddable Mantle Core umbrella with Spec and Runtime; Web, Admin, Auth, Bun, Vercel, Cloudflare, and Admin UI are optional peer packages.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://mantle.tools/",
@@ -83,8 +83,8 @@
83
83
  "README.md"
84
84
  ],
85
85
  "dependencies": {
86
- "@aotter/mantle-runtime": "0.1.3-alpha.5",
87
- "@aotter/mantle-spec": "0.1.3-alpha.5"
86
+ "@aotter/mantle-runtime": "0.1.3-alpha.6",
87
+ "@aotter/mantle-spec": "0.1.3-alpha.6"
88
88
  },
89
89
  "peerDependencies": {
90
90
  "aws4fetch": "^1.0.20",
@@ -92,13 +92,13 @@
92
92
  "hono": "^4.12.0",
93
93
  "@libsql/client": "^0.17.4",
94
94
  "zod": "^4.5.0",
95
- "@aotter/mantle-admin": "0.1.3-alpha.5",
96
- "@aotter/mantle-auth": "0.1.3-alpha.5",
97
- "@aotter/mantle-bun": "0.1.3-alpha.5",
98
- "@aotter/mantle-admin-ui": "0.1.3-alpha.5",
99
- "@aotter/mantle-vercel": "0.1.3-alpha.5",
100
- "@aotter/mantle-cloudflare": "0.1.3-alpha.5",
101
- "@aotter/mantle-web": "0.1.3-alpha.5"
95
+ "@aotter/mantle-admin": "0.1.3-alpha.6",
96
+ "@aotter/mantle-auth": "0.1.3-alpha.6",
97
+ "@aotter/mantle-admin-ui": "0.1.3-alpha.6",
98
+ "@aotter/mantle-bun": "0.1.3-alpha.6",
99
+ "@aotter/mantle-vercel": "0.1.3-alpha.6",
100
+ "@aotter/mantle-cloudflare": "0.1.3-alpha.6",
101
+ "@aotter/mantle-web": "0.1.3-alpha.6"
102
102
  },
103
103
  "peerDependenciesMeta": {
104
104
  "@aotter/mantle-admin": {
@@ -144,13 +144,13 @@
144
144
  "typescript": "^6.0.3",
145
145
  "vitest": "^4.1.11",
146
146
  "zod": "^4.5.4",
147
- "@aotter/mantle-admin-ui": "0.1.3-alpha.5",
148
- "@aotter/mantle-auth": "0.1.3-alpha.5",
149
- "@aotter/mantle-bun": "0.1.3-alpha.5",
150
- "@aotter/mantle-admin": "0.1.3-alpha.5",
151
- "@aotter/mantle-cloudflare": "0.1.3-alpha.5",
152
- "@aotter/mantle-web": "0.1.3-alpha.5",
153
- "@aotter/mantle-vercel": "0.1.3-alpha.5"
147
+ "@aotter/mantle-admin": "0.1.3-alpha.6",
148
+ "@aotter/mantle-admin-ui": "0.1.3-alpha.6",
149
+ "@aotter/mantle-auth": "0.1.3-alpha.6",
150
+ "@aotter/mantle-bun": "0.1.3-alpha.6",
151
+ "@aotter/mantle-cloudflare": "0.1.3-alpha.6",
152
+ "@aotter/mantle-web": "0.1.3-alpha.6",
153
+ "@aotter/mantle-vercel": "0.1.3-alpha.6"
154
154
  },
155
155
  "engines": {
156
156
  "node": ">=22"