@aotter/mantle 0.2.0-alpha.4 → 0.2.0-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.
Files changed (181) hide show
  1. package/README.md +2 -2
  2. package/dist/admin/createAdminSurface.d.ts +3 -0
  3. package/dist/admin/createAdminSurface.d.ts.map +1 -1
  4. package/dist/admin/createAdminSurface.js +51 -8
  5. package/dist/admin/createAdminSurface.js.map +1 -1
  6. package/dist/admin/extensions.d.ts +290 -0
  7. package/dist/admin/extensions.d.ts.map +1 -0
  8. package/dist/admin/extensions.js +532 -0
  9. package/dist/admin/extensions.js.map +1 -0
  10. package/dist/admin/index.d.ts +1 -0
  11. package/dist/admin/index.d.ts.map +1 -1
  12. package/dist/admin/index.js +1 -0
  13. package/dist/admin/index.js.map +1 -1
  14. package/dist/auth/buildAuth.d.ts +3 -1
  15. package/dist/auth/buildAuth.d.ts.map +1 -1
  16. package/dist/auth/buildAuth.js +3 -2
  17. package/dist/auth/buildAuth.js.map +1 -1
  18. package/dist/auth/callerResolver.d.ts +4 -0
  19. package/dist/auth/callerResolver.d.ts.map +1 -1
  20. package/dist/auth/callerResolver.js +4 -1
  21. package/dist/auth/callerResolver.js.map +1 -1
  22. package/dist/auth/createMantleAuth.d.ts.map +1 -1
  23. package/dist/auth/createMantleAuth.js +3 -2
  24. package/dist/auth/createMantleAuth.js.map +1 -1
  25. package/dist/auth/db.d.ts +1 -0
  26. package/dist/auth/db.d.ts.map +1 -1
  27. package/dist/auth/db.js +6 -3
  28. package/dist/auth/db.js.map +1 -1
  29. package/dist/bun/index.d.ts +0 -44
  30. package/dist/bun/index.d.ts.map +1 -1
  31. package/dist/bun/index.js +0 -84
  32. package/dist/bun/index.js.map +1 -1
  33. package/dist/cli/generate.js +3 -3
  34. package/dist/cli/generate.js.map +1 -1
  35. package/dist/cli/preset.d.ts.map +1 -1
  36. package/dist/cli/preset.js +80 -28
  37. package/dist/cli/preset.js.map +1 -1
  38. package/dist/cloudflare/index.d.ts +4 -0
  39. package/dist/cloudflare/index.d.ts.map +1 -1
  40. package/dist/cloudflare/index.js +2 -0
  41. package/dist/cloudflare/index.js.map +1 -1
  42. package/dist/core/dialect.d.ts +13 -1
  43. package/dist/core/dialect.d.ts.map +1 -1
  44. package/dist/core/driver.d.ts +7 -0
  45. package/dist/core/driver.d.ts.map +1 -1
  46. package/dist/core/runtime/createRuntime.js +1 -1
  47. package/dist/core/runtime/createRuntime.js.map +1 -1
  48. package/dist/core/sessionUser.d.ts +14 -0
  49. package/dist/core/sessionUser.d.ts.map +1 -0
  50. package/dist/core/sessionUser.js +4 -0
  51. package/dist/core/sessionUser.js.map +1 -0
  52. package/dist/core/sql/allowlist.d.ts +2 -0
  53. package/dist/core/sql/allowlist.d.ts.map +1 -1
  54. package/dist/core/sql/allowlist.js +43 -11
  55. package/dist/core/sql/allowlist.js.map +1 -1
  56. package/dist/core/sql/ast.js +1 -1
  57. package/dist/core/sql/ast.js.map +1 -1
  58. package/dist/core/sql/compile.js +1 -1
  59. package/dist/core/sql/compile.js.map +1 -1
  60. package/dist/core/sql/policy.d.ts +2 -0
  61. package/dist/core/sql/policy.d.ts.map +1 -1
  62. package/dist/core/sql/policy.js +25 -6
  63. package/dist/core/sql/policy.js.map +1 -1
  64. package/dist/core/sql/run.d.ts +0 -8
  65. package/dist/core/sql/run.d.ts.map +1 -1
  66. package/dist/core/sql/run.js +152 -35
  67. package/dist/core/sql/run.js.map +1 -1
  68. package/dist/d1/executor.d.ts +2 -0
  69. package/dist/d1/executor.d.ts.map +1 -1
  70. package/dist/d1/executor.js +6 -1
  71. package/dist/d1/executor.js.map +1 -1
  72. package/dist/mcp/createMcpSurface.d.ts +5 -2
  73. package/dist/mcp/createMcpSurface.d.ts.map +1 -1
  74. package/dist/mcp/createMcpSurface.js +14 -3
  75. package/dist/mcp/createMcpSurface.js.map +1 -1
  76. package/dist/mcp/media.d.ts +9 -0
  77. package/dist/mcp/media.d.ts.map +1 -0
  78. package/dist/mcp/media.js +33 -0
  79. package/dist/mcp/media.js.map +1 -0
  80. package/dist/postgres/adapter.d.ts +5 -2
  81. package/dist/postgres/adapter.d.ts.map +1 -1
  82. package/dist/postgres/adapter.js +7 -1
  83. package/dist/postgres/adapter.js.map +1 -1
  84. package/dist/postgres/compile/index.d.ts +1 -1
  85. package/dist/postgres/compile/index.js +1 -1
  86. package/dist/postgres/driver.d.ts +38 -21
  87. package/dist/postgres/driver.d.ts.map +1 -1
  88. package/dist/postgres/driver.js +100 -24
  89. package/dist/postgres/driver.js.map +1 -1
  90. package/dist/postgres/executor.d.ts +8 -0
  91. package/dist/postgres/executor.d.ts.map +1 -1
  92. package/dist/postgres/executor.js +40 -13
  93. package/dist/postgres/executor.js.map +1 -1
  94. package/dist/postgres/index.d.ts +2 -1
  95. package/dist/postgres/index.d.ts.map +1 -1
  96. package/dist/postgres/index.js +1 -0
  97. package/dist/postgres/index.js.map +1 -1
  98. package/dist/postgres/lower.d.ts.map +1 -1
  99. package/dist/postgres/lower.js +3 -8
  100. package/dist/postgres/lower.js.map +1 -1
  101. package/dist/postgres/print.d.ts.map +1 -1
  102. package/dist/postgres/print.js +2 -15
  103. package/dist/postgres/print.js.map +1 -1
  104. package/dist/postgres/session.d.ts +9 -0
  105. package/dist/postgres/session.d.ts.map +1 -0
  106. package/dist/postgres/session.js +111 -0
  107. package/dist/postgres/session.js.map +1 -0
  108. package/dist/postgres/storage.d.ts +14 -1
  109. package/dist/postgres/storage.d.ts.map +1 -1
  110. package/dist/postgres/storage.js +136 -54
  111. package/dist/postgres/storage.js.map +1 -1
  112. package/dist/postgres/validator.d.ts +4 -3
  113. package/dist/postgres/validator.d.ts.map +1 -1
  114. package/dist/postgres/validator.js +13 -6
  115. package/dist/postgres/validator.js.map +1 -1
  116. package/dist/spec/domain/model/ManifestGrammar.d.ts +4 -0
  117. package/dist/spec/domain/model/ManifestGrammar.d.ts.map +1 -1
  118. package/dist/spec/domain/model/ManifestGrammar.js +4 -0
  119. package/dist/spec/domain/model/ManifestGrammar.js.map +1 -1
  120. package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts +2 -0
  121. package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts.map +1 -1
  122. package/dist/spec/domain/service/SchemaAdminUiChecker.js +50 -6
  123. package/dist/spec/domain/service/SchemaAdminUiChecker.js.map +1 -1
  124. package/dist/spec/domain/service/ViewAdminUiChecker.d.ts +1 -1
  125. package/dist/spec/domain/service/ViewAdminUiChecker.d.ts.map +1 -1
  126. package/dist/spec/domain/service/ViewAdminUiChecker.js +7 -2
  127. package/dist/spec/domain/service/ViewAdminUiChecker.js.map +1 -1
  128. package/dist/spec/infrastructure/sql/compilePlan.d.ts.map +1 -1
  129. package/dist/spec/infrastructure/sql/compilePlan.js +5 -0
  130. package/dist/spec/infrastructure/sql/compilePlan.js.map +1 -1
  131. package/dist/spec/kernel/diagnostic.d.ts +1 -1
  132. package/dist/spec/kernel/diagnostic.d.ts.map +1 -1
  133. package/dist/spec/kernel/diagnostic.js +5 -0
  134. package/dist/spec/kernel/diagnostic.js.map +1 -1
  135. package/dist/testing/cases/corpus.d.ts +2 -0
  136. package/dist/testing/cases/corpus.d.ts.map +1 -1
  137. package/dist/testing/cases/corpus.js +7 -5
  138. package/dist/testing/cases/corpus.js.map +1 -1
  139. package/dist/testing/cases/policy.d.ts +14 -1
  140. package/dist/testing/cases/policy.d.ts.map +1 -1
  141. package/dist/testing/cases/policy.js +3 -2
  142. package/dist/testing/cases/policy.js.map +1 -1
  143. package/dist/testing/cases/printer.d.ts.map +1 -1
  144. package/dist/testing/cases/printer.js +3 -1
  145. package/dist/testing/cases/printer.js.map +1 -1
  146. package/dist/testing/cases/report-view.d.ts.map +1 -1
  147. package/dist/testing/cases/report-view.js +18 -0
  148. package/dist/testing/cases/report-view.js.map +1 -1
  149. package/docs/adr/0031-host-cloud-core-contract.md +62 -1
  150. package/docs/adr/0032-store-centric-core-and-service-contract.md +17 -0
  151. package/docs/adr/0037-postgresql-is-the-reference-dialect.md +2 -1
  152. package/docs/adr/0039-postgresql-is-native.md +130 -0
  153. package/docs/adr/README.md +2 -0
  154. package/docs/adr/adr-lite-1376-admin-extensions.md +330 -0
  155. package/docs/examples/commerce-inventory.md +18 -1
  156. package/docs/examples/reference-service/package.json +2 -2
  157. package/docs/handbook/cloudflare/authentication.md +3 -3
  158. package/docs/handbook/cloudflare/deploy-and-operate.md +4 -1
  159. package/docs/handbook/cloudflare/media-r2.md +59 -8
  160. package/docs/handbook/concepts/mcp-and-agents.md +12 -4
  161. package/docs/handbook/concepts/runtime-and-adapters.md +74 -33
  162. package/docs/handbook/concepts/views.md +1 -1
  163. package/docs/handbook/guides/admin-extensions.md +191 -0
  164. package/docs/handbook/guides/admin-ui.md +2 -1
  165. package/docs/handbook/navigation.json +2 -1
  166. package/docs/handbook/reference/diagnostics.md +1 -0
  167. package/docs/handbook/reference/procedure.md +2 -1
  168. package/docs/handbook/reference/schema.md +6 -3
  169. package/docs/handbook/reference/surface.md +6 -2
  170. package/docs/handbook/reference/view.md +7 -5
  171. package/docs/handbook/releases/index.md +78 -4
  172. package/docs/handbook/start/project-and-cli.md +20 -12
  173. package/docs/skills/develop/SKILL.md +8 -2
  174. package/docs/skills/provision/SKILL.md +4 -1
  175. package/docs/skills/update/SKILL.md +3 -0
  176. package/docs/upgrade-0.1-to-0.2.md +1 -1
  177. package/package.json +6 -5
  178. package/dist/postgres/textRows.d.ts +0 -10
  179. package/dist/postgres/textRows.d.ts.map +0 -1
  180. package/dist/postgres/textRows.js +0 -44
  181. package/dist/postgres/textRows.js.map +0 -1
@@ -5,7 +5,7 @@
5
5
  * leaves rows that predate it alone, as D1's trigger does.
6
6
  */
7
7
  import { checkShapeProblem, storageColumns } from "../spec/domain/index.js";
8
- import { query, transaction } from "./driver.js";
8
+ import { query, sqlState } from "./driver.js";
9
9
  import { pgType } from "./codec.js";
10
10
  import { print, typed } from "./print.js";
11
11
  const q = (id) => `"${id.replace(/"/g, '""')}"`;
@@ -13,30 +13,25 @@ const q = (id) => `"${id.replace(/"/g, '""')}"`;
13
13
  const ident = (n) => (new TextEncoder().encode(n).length <= 63 ? n : `${n.slice(0, 50)}_${fnv(n)}`);
14
14
  /** FNV-1a, 32 bits, as hex: a stable suffix that needs no crypto module. */
15
15
  const fnv = (s) => [...s].reduce((h, c) => Math.imul(h ^ c.codePointAt(0), 16777619) >>> 0, 2166136261).toString(16).padStart(8, "0");
16
- /** Mantle's functions the lowering calls. Each is plain SQL, so the planner inlines it. */
16
+ /** The SQLSTATE `_mantle_expect` raises; the executor reads it as CONFLICT. */
17
+ export const EXPECT_STATE = "MX409";
18
+ /**
19
+ * Mantle's one function. ADR-0039 removed the SQLite emulations that used to sit beside it (`_mantle_jget`, `_mantle_bool`,
20
+ * `_mantle_json_each`); a database booted before keeps them, unreferenced and harmless, and no DROP is issued: an older release
21
+ * still running during a rolling deploy calls them, and a dropped function would fail its queries.
22
+ */
17
23
  const FUNCTIONS = [
18
- // x ->> k as SQLite reads it: a key, an index or a `$` path, over jsonb, json or JSON text
19
- // a `$` path is read strict and silent, as SQLite reads it: `$.a` of an array is NULL, not the array's members' `a`
20
- `CREATE OR REPLACE FUNCTION _mantle_jget(j jsonb, k text) RETURNS text LANGUAGE sql IMMUTABLE PARALLEL SAFE AS $f$SELECT CASE WHEN left(k, 1) = '$' THEN jsonb_path_query_first(j, ('strict ' || k)::jsonpath, '{}', true) #>> '{}' ELSE j ->> k END$f$`,
21
- `CREATE OR REPLACE FUNCTION _mantle_jget(j jsonb, k int8) RETURNS text LANGUAGE sql IMMUTABLE PARALLEL SAFE AS $f$SELECT j ->> k::int4$f$`,
22
- ...["text", "json"].flatMap((t) => ["text", "int8"].map((k) => `CREATE OR REPLACE FUNCTION _mantle_jget(j ${t}, k ${k}) RETURNS text LANGUAGE sql IMMUTABLE PARALLEL SAFE AS $f$SELECT _mantle_jget(j::jsonb, k)$f$`)),
23
- // CAST(x AS bool) by PostgreSQL's own rules for every type the subset has (PostgreSQL itself has no bigint -> bool cast)
24
- `CREATE OR REPLACE FUNCTION _mantle_bool(x bool) RETURNS bool LANGUAGE sql IMMUTABLE PARALLEL SAFE AS $f$SELECT x$f$`,
25
- `CREATE OR REPLACE FUNCTION _mantle_bool(x text) RETURNS bool LANGUAGE sql IMMUTABLE PARALLEL SAFE AS $f$SELECT x::bool$f$`,
26
- ...["int4", "int8", "float8", "numeric"].map((t) => `CREATE OR REPLACE FUNCTION _mantle_bool(x ${t}) RETURNS bool LANGUAGE sql IMMUTABLE PARALLEL SAFE AS $f$SELECT x <> 0$f$`),
27
- // json_each with SQLite's columns: a scalar's value is its SQL text, an object's or array's its JSON text; id orders the elements
28
- `CREATE OR REPLACE FUNCTION _mantle_json_each(j jsonb) RETURNS TABLE (key text, value text, type text, atom text, id int8) LANGUAGE sql IMMUTABLE PARALLEL SAFE AS $f$
29
- SELECT e.k,
30
- CASE WHEN jsonb_typeof(e.v) IN ('object', 'array') THEN e.v::text ELSE e.v #>> '{}' END,
31
- CASE jsonb_typeof(e.v) WHEN 'string' THEN 'text' WHEN 'boolean' THEN e.v::text WHEN 'number' THEN CASE WHEN e.v::text ~ '^-?[0-9]+$' THEN 'integer' ELSE 'real' END ELSE jsonb_typeof(e.v) END,
32
- CASE WHEN jsonb_typeof(e.v) IN ('object', 'array') THEN NULL ELSE e.v #>> '{}' END,
33
- e.n
34
- FROM (SELECT (a.n - 1)::text AS k, a.v, a.n FROM jsonb_array_elements(CASE WHEN jsonb_typeof(j) = 'array' THEN j ELSE '[]' END) WITH ORDINALITY a(v, n)
35
- UNION ALL SELECT o.k, o.v, o.n FROM jsonb_each(CASE WHEN jsonb_typeof(j) = 'object' THEN j ELSE '{}' END) WITH ORDINALITY o(k, v, n)) e$f$`,
24
+ // a write's `expect`, checked where it ran: a different count fails the statement, and with it the transaction
25
+ `CREATE OR REPLACE FUNCTION _mantle_expect(actual int8, expected int8) RETURNS bool LANGUAGE plpgsql VOLATILE AS $f$BEGIN
26
+ IF actual <> expected THEN RAISE EXCEPTION USING ERRCODE = '${EXPECT_STATE}', MESSAGE = format('the write matched %s rows, not %s', actual, expected); END IF;
27
+ RETURN true;
28
+ END$f$`,
36
29
  ];
37
30
  const SYSTEM_DDL = [
38
31
  "CREATE TABLE IF NOT EXISTS _mantle_boot_state (key text PRIMARY KEY, value text NOT NULL)",
39
32
  "CREATE TABLE IF NOT EXISTS _mantle_schema_tables (name text PRIMARY KEY)",
33
+ // the target an `expect` guard inserts into; its HAVING never lets a row through (executor.ts)
34
+ "CREATE TABLE IF NOT EXISTS _mantle_assert (ok boolean)",
40
35
  ];
41
36
  /** One convergence at a time per database: the others wait, then find the work done. */
42
37
  const LOCK = { text: "SELECT pg_advisory_xact_lock(4471522036519061)::text AS locked" };
@@ -57,6 +52,9 @@ function indexes(name, s) {
57
52
  return [
58
53
  ...(s.unique ?? []).map((u, i) => ({ name: `_mantle_uq_${name}_${i}`, unique: true, columns: s.scope && u[0] !== s.scope ? [s.scope, ...u] : [...u] })),
59
54
  ...(s.indexes ?? []).map((cols, i) => ({ name: `_mantle_ix_${name}_${i}`, unique: false, columns: [...cols] })),
55
+ // Admin's default list order (updated_at descending, then the id tiebreak), served by a backward scan (ADR-0039 decision 2)
56
+ // ponytail: every Schema pays this index on UPDATE; a write-hot table that is never listed could opt out once one is measured; a large existing table is better served by CREATE INDEX CONCURRENTLY (outside the convergence transaction) with the same name and columns, which is the upgrade path
57
+ { name: `_mantle_ix_${name}_updated`, unique: false, columns: [...(s.scope ? [s.scope] : []), "updated_at", "id"] },
60
58
  ].map((i) => ({ ...i, name: ident(i.name), sql: `CREATE ${i.unique ? "UNIQUE " : ""}INDEX IF NOT EXISTS ${q(ident(i.name))} ON ${q(name)} (${i.columns.map(q).join(", ")})` }));
61
59
  }
62
60
  /** A check's expression as PostgreSQL prints it, over the row's own columns. */
@@ -70,7 +68,13 @@ function checkText(expr, s) {
70
68
  export function checkMessages(plan) {
71
69
  return new Map(Object.entries(plan).flatMap(([name, s]) => (s.checks ?? []).map((c, i) => [ident(`_mantle_chk_${name}_${i}`), `${name}: ${checkText(c, s)}`])));
72
70
  }
73
- /** Text compares and sorts by code point, as on D1, whatever collation the database was created with. */
71
+ /**
72
+ * Text compares and sorts by code point, whatever collation the database was created with.
73
+ * ponytail: this began as D1 emulation (ADR-0039 keeps the tiebreak in the column's own collation, so indexes still serve it). Dropping it
74
+ * only changes tables created from now on and leaves the earlier ones in "C", so one Schema family would sort text two ways by age
75
+ * (and a database whose collation is en_US sorts ids and names by locale); the upgrade is a deliberate rebuild of text columns and
76
+ * their indexes in one release, which needs the migration this PR avoids. Tracked as a follow-up issue.
77
+ */
74
78
  const ddlType = (type) => (type === "text" ? 'text COLLATE "C"' : type);
75
79
  const createTable = (name, s) => `CREATE TABLE ${q(name)} (${[
76
80
  "_rid bigint GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY", `id ${ddlType("text")} NOT NULL UNIQUE`, "version int8 NOT NULL DEFAULT 1",
@@ -80,20 +84,29 @@ const createTable = (name, s) => `CREATE TABLE ${q(name)} (${[
80
84
  const tooLong = (n) => new TextEncoder().encode(n).length > 63;
81
85
  /** `information_schema`'s spelling of a column type, to compare with the plan's. */
82
86
  const spelled = (r) => r.udt_name === "numeric" && r.numeric_precision !== null ? `numeric(${r.numeric_precision}, ${r.numeric_scale})` : r.udt_name;
83
- async function diff(connect, plan) {
87
+ /** One at a time: node-postgres deprecates a query issued while another is in flight (`Promise.all`), and pipelining is the driver's own business. */
88
+ async function sequentially(items, f) {
89
+ const out = [];
90
+ for (const i of items)
91
+ out.push(await f(i));
92
+ return out;
93
+ }
94
+ /** The catalog reads and the plan's differences, over the client that holds the convergence lock. */
95
+ async function diff(client, plan) {
84
96
  const statements = [];
85
97
  const blocked = [];
86
98
  const undeclared = [];
87
99
  const block = (schema, message, code = "STORAGE_CHANGE_BLOCKED") => blocked.push({ schema, code, message });
88
- const [tables, owned, cols, idx, chk] = (await transaction(connect, [
89
- { text: "SELECT table_name AS name FROM information_schema.tables WHERE table_schema = current_schema()" },
90
- { text: "SELECT name FROM _mantle_schema_tables" },
91
- { text: "SELECT table_name, column_name, udt_name, numeric_precision, numeric_scale FROM information_schema.columns WHERE table_schema = current_schema()" },
92
- { text: `SELECT t.relname AS tbl, i.relname AS name, ix.indisunique AS uniq, ix.indisprimary AS pk, ix.indpred IS NOT NULL AS partial,
100
+ const [tables, owned, cols, idx, chk] = (await sequentially([
101
+ "SELECT table_name AS name FROM information_schema.tables WHERE table_schema = current_schema()",
102
+ "SELECT name FROM _mantle_schema_tables",
103
+ "SELECT table_name, column_name, udt_name, numeric_precision, numeric_scale FROM information_schema.columns WHERE table_schema = current_schema()",
104
+ `SELECT t.relname AS tbl, i.relname AS name, ix.indisunique AS uniq, ix.indisprimary AS pk, ix.indpred IS NOT NULL AS partial,
93
105
  (SELECT string_agg(a.attname, ',' ORDER BY k.ord) FROM unnest(ix.indkey) WITH ORDINALITY k(attnum, ord) JOIN pg_attribute a ON a.attrelid = ix.indrelid AND a.attnum = k.attnum) AS cols
94
- FROM pg_index ix JOIN pg_class i ON i.oid = ix.indexrelid JOIN pg_class t ON t.oid = ix.indrelid WHERE t.relnamespace = current_schema()::regnamespace` },
95
- { text: "SELECT t.relname AS tbl, c.conname AS name FROM pg_constraint c JOIN pg_class t ON t.oid = c.conrelid WHERE c.contype = 'c' AND t.relnamespace = current_schema()::regnamespace" },
96
- ])).map((o) => o.rows);
106
+ FROM pg_index ix JOIN pg_class i ON i.oid = ix.indexrelid JOIN pg_class t ON t.oid = ix.indrelid WHERE t.relnamespace = current_schema()::regnamespace`,
107
+ // the comment is the expression Mantle added the check from (CHECK_MARK): PostgreSQL prints a constraint in its own normal form, which is not the plan's
108
+ "SELECT t.relname AS tbl, c.conname AS name, obj_description(c.oid, 'pg_constraint') AS comment FROM pg_constraint c JOIN pg_class t ON t.oid = c.conrelid WHERE c.contype = 'c' AND t.relnamespace = current_schema()::regnamespace",
109
+ ], (text) => client.query({ text }))).map((o) => o.rows);
97
110
  const existing = new Set(tables.map((r) => String(r.name)));
98
111
  const ownedNames = new Set(owned.map((r) => String(r.name)));
99
112
  for (const [name, schema] of Object.entries(plan)) {
@@ -158,44 +171,113 @@ async function diff(connect, plan) {
158
171
  undeclared.push({ schema: name, code: "STORAGE_UNDECLARED_INDEX", message: schema.scope && n === ident(`_mantle_scope_${name}`) ? `index ${n} is redundant: a declared index leads with ${schema.scope}; drop it by hand` : `index ${n} is in the database and not in the plan; it is kept` });
159
172
  }
160
173
  }
161
- // Mantle's checks are rebuilt from the plan: dropped, then added NOT VALID (a check binds writes, not old rows)
162
- for (const r of chk)
163
- if (r.tbl === name && String(r.name).startsWith("_mantle_chk_"))
174
+ // Mantle's checks follow the plan: one whose expression is unchanged is left alone (a DROP and ADD takes ACCESS EXCLUSIVE on a
175
+ // table live traffic reads), the rest are dropped and added NOT VALID (a check binds writes, not old rows)
176
+ // ponytail: checks are named by position, so inserting one mid-list rebuilds the later ones; naming by expression hash avoids it
177
+ const wantChecks = new Map((schema.checks ?? []).map((c, i) => [ident(`_mantle_chk_${name}_${i}`), checkText(c, schema)]));
178
+ const kept = new Set();
179
+ for (const r of chk) {
180
+ if (r.tbl !== name || !String(r.name).startsWith("_mantle_chk_"))
181
+ continue;
182
+ const text = wantChecks.get(String(r.name));
183
+ if (text !== undefined && r.comment === CHECK_MARK + text)
184
+ kept.add(String(r.name));
185
+ else
164
186
  statements.push({ text: `ALTER TABLE ${t} DROP CONSTRAINT IF EXISTS ${q(String(r.name))}` });
165
- (schema.checks ?? []).forEach((c, i) => statements.push({ text: `ALTER TABLE ${t} ADD CONSTRAINT ${q(ident(`_mantle_chk_${name}_${i}`))} CHECK (${checkText(c, schema)}) NOT VALID` }));
187
+ }
188
+ for (const [n, text] of wantChecks) {
189
+ if (kept.has(n))
190
+ continue;
191
+ statements.push({ text: `ALTER TABLE ${t} ADD CONSTRAINT ${q(n)} CHECK (${text}) NOT VALID` }, { text: `COMMENT ON CONSTRAINT ${q(n)} ON ${t} IS '${(CHECK_MARK + text).replace(/'/g, "''")}'` });
192
+ }
166
193
  }
167
194
  return { statements, blocked, undeclared };
168
195
  }
169
- /** Converge storage to the plan. Blocked differences are reported and applied to nothing; a matching fingerprint reads nothing else. */
196
+ /** Bump whenever `indexes()` or `createTable()` output changes for an unchanged plan: the boot state includes it, so a booted database converges again. */
197
+ const LAYOUT = "2";
198
+ /** Prefixes the comment on a Mantle check: the expression it was added from, so the next boot can tell whether the plan changed it. */
199
+ const CHECK_MARK = "mantle:";
200
+ /** How long a boot that gave up on a lock fails fast. ponytail: per process and per `connect`; a shared record (a _mantle_boot_state row) would also quiet other isolates. */
201
+ const COOL_DOWN_MS = 10_000;
202
+ const COOL_DOWN = new WeakMap();
203
+ const BOOTED = "SELECT value FROM _mantle_boot_state WHERE key = 'fingerprint'";
204
+ /**
205
+ * Converge storage to the plan. Blocked differences are reported and applied to nothing; a matching fingerprint reads nothing else.
206
+ *
207
+ * Every isolate of a deploy boots at once, so the work is one transaction under the advisory lock, in READ COMMITTED: a waiter
208
+ * wakes to a fresh snapshot, reads the fingerprint again, and finds the winner's work done (a SERIALIZABLE snapshot would predate
209
+ * it). The DDL runs under `lock_timeout`: ALTER TABLE queues for ACCESS EXCLUSIVE and every read after it queues behind it, so
210
+ * it gives up after `lockTimeoutMs`, rolls back, and tries again, rather than stalling live traffic behind a long query.
211
+ */
170
212
  export async function convergeStorage(connect, plan, options) {
171
213
  // the plan and Mantle's functions: a release that changes a function re-creates it on the next boot
172
- const state = `${options.fingerprint}|${fnv(FUNCTIONS.join("\n"))}`;
173
- const booted = await query(connect, { text: "SELECT value FROM _mantle_boot_state WHERE key = 'fingerprint'" }).catch(() => undefined);
174
- if (booted?.rows[0]?.value === state)
214
+ const state = `${options.fingerprint}|${fnv(FUNCTIONS.join("\n"))}|${LAYOUT}`;
215
+ const booted = options.booted !== undefined ? options.booted : (await query(connect, { text: BOOTED }).catch(() => undefined))?.rows[0]?.value;
216
+ if (booted === state)
175
217
  return { skipped: true, blocked: [], undeclared: [] };
176
- await transaction(connect, [LOCK, ...SYSTEM_DDL.map((text) => ({ text })), ...FUNCTIONS.map((text) => ({ text })),
177
- { text: "INSERT INTO _mantle_boot_state (key, value) VALUES ('instance', $1) ON CONFLICT DO NOTHING", values: [crypto.randomUUID()] }], undefined, 0);
178
- for (let attempt = 0;; attempt++) {
179
- const { statements, blocked, undeclared } = await diff(connect, plan);
180
- if (blocked.length)
181
- return { skipped: false, blocked, undeclared };
182
- statements.push({ text: "INSERT INTO _mantle_boot_state (key, value) VALUES ('fingerprint', $1) ON CONFLICT (key) DO UPDATE SET value = excluded.value", values: [state] });
218
+ // a boot that gave up on a lock is not retried by every request of every isolate: for `cooldownMs` it fails fast with the same report
219
+ const cool = COOL_DOWN.get(connect);
220
+ if (cool && cool.state === state && cool.until > Date.now())
221
+ return cool.report;
222
+ const lockTimeout = Math.max(1, Math.floor(options.lockTimeoutMs ?? 1000));
223
+ const attempts = options.attempts ?? 5;
224
+ for (let attempt = 1;; attempt++) {
225
+ const client = await connect();
183
226
  try {
184
- // convergence builds indexes on tables that may be large: no statement timeout
185
- await transaction(connect, [LOCK, ...statements], undefined, 0);
186
- return { skipped: false, blocked: [], undeclared };
227
+ return await locked(client, plan, state, lockTimeout);
187
228
  }
188
229
  catch (e) {
189
- const state = e.code;
190
- // another isolate converged while this one diffed: diff again against what it left
191
- if ((state === "42P07" || state === "42701" || state === "42710") && attempt < 2)
192
- continue;
193
- if (state === "23505") {
230
+ await client.query({ text: "ROLLBACK" }).catch(() => undefined);
231
+ const code = sqlState(e);
232
+ if (code === "55P03") {
233
+ if (attempt < attempts) {
234
+ await new Promise((r) => setTimeout(r, Math.random() * 100 * attempt));
235
+ continue;
236
+ }
237
+ const why = e instanceof Error ? e.message : String(e);
238
+ const report = { skipped: false, undeclared: [], blocked: [{ schema: "*", code: "STORAGE_CHANGE_BLOCKED", message: `storage could not be converged: a lock stayed held for ${attempts} tries of ${lockTimeout} ms (${why}); ${e.advisoryLock ? "another boot is still converging this database; boot again once it finishes" : "a long transaction or query is using a table the plan changes; end it, or boot again when traffic is lower"}. Nothing was applied (not retried for ${(options.cooldownMs ?? COOL_DOWN_MS) / 1000} s)` }] };
239
+ COOL_DOWN.set(connect, { state, until: Date.now() + (options.cooldownMs ?? COOL_DOWN_MS), report });
240
+ return report;
241
+ }
242
+ if (code === "23505") {
194
243
  const msg = e instanceof Error ? e.message : String(e);
195
- return { skipped: false, blocked: [{ schema: "*", code: "STORAGE_CHANGE_BLOCKED", message: `a unique index cannot be created: existing rows break it (${msg}); dedupe the data, then rerun` }], undeclared };
244
+ return { skipped: false, undeclared: [], blocked: [{ schema: "*", code: "STORAGE_CHANGE_BLOCKED", message: `a unique index cannot be created: existing rows break it (${msg}); dedupe the data, then rerun` }] };
196
245
  }
197
246
  throw e;
198
247
  }
248
+ finally {
249
+ await client.end().catch(() => undefined);
250
+ }
251
+ }
252
+ }
253
+ async function locked(client, plan, state, lockTimeoutMs) {
254
+ const run = (s) => client.query({ text: s.text, ...(s.values ? { values: [...s.values] } : {}) });
255
+ // convergence builds indexes on tables that may be large: no statement timeout. The lock wait below has none either: a waiter is behind the winner's work
256
+ // lock_timeout comes first so the advisory wait is bounded too: a herd gives up together, not one isolate after another
257
+ // ponytail: a winner building a large index outlasts that bound and the waiters report a blocked boot; a longer advisory wait than DDL wait is the upgrade once it is measured
258
+ await client.query({ text: `BEGIN ISOLATION LEVEL READ COMMITTED; SET LOCAL statement_timeout = 0; SET LOCAL lock_timeout = ${lockTimeoutMs}` });
259
+ // a lock timeout here is the advisory lock (another boot converging); the caller words its diagnostic by it
260
+ await run(LOCK).catch((e) => { if (sqlState(e) === "55P03")
261
+ Object.assign(e, { advisoryLock: true }); throw e; });
262
+ for (const text of SYSTEM_DDL)
263
+ await run({ text });
264
+ // another isolate may have converged while this one waited for the lock: this read, after it, sees its commit
265
+ if ((await run({ text: BOOTED })).rows[0]?.value === state) {
266
+ await client.query({ text: "COMMIT" });
267
+ return { skipped: true, blocked: [], undeclared: [] };
268
+ }
269
+ for (const text of FUNCTIONS)
270
+ await run({ text });
271
+ await run({ text: "INSERT INTO _mantle_boot_state (key, value) VALUES ('instance', $1) ON CONFLICT DO NOTHING", values: [crypto.randomUUID()] });
272
+ const { statements, blocked, undeclared } = await diff(client, plan);
273
+ if (blocked.length) {
274
+ await client.query({ text: "COMMIT" });
275
+ return { skipped: false, blocked, undeclared };
199
276
  }
277
+ for (const s of statements)
278
+ await run(s);
279
+ await run({ text: "INSERT INTO _mantle_boot_state (key, value) VALUES ('fingerprint', $1) ON CONFLICT (key) DO UPDATE SET value = excluded.value", values: [state] });
280
+ await client.query({ text: "COMMIT" });
281
+ return { skipped: false, blocked: [], undeclared };
200
282
  }
201
283
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/postgres/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/postgres/storage.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  /**
2
- * What the PostgreSQL dialect accepts: Mantle SQL's reference profile (ADR-0037 decision 1), less SQLite's own functions,
3
- * which the base profile carries for D1 and PostgreSQL has no faithful spelling of. Pure JavaScript: the runtime imports it.
2
+ * What the PostgreSQL dialect accepts: Mantle SQL's reference profile (ADR-0037 decision 1), less SQLite's own vocabulary,
3
+ * which the base profile carries for D1 (ADR-0039): a construct that means something else here is refused with its position and
4
+ * the PostgreSQL spelling to use. Pure JavaScript: the runtime imports it.
4
5
  */
5
6
  import type { SqlContext, SqlDiagnostic, SqlNode as N, SqlPlan } from "../spec/domain/model/SqlIr.js";
6
- /** The compile side: the reference profile, then PostgreSQL's refusals, each with its source offset. */
7
+ /** The compile side: PostgreSQL's refusals first, so a SQLite spelling is answered with its PostgreSQL one, then the reference profile. */
7
8
  export declare function validateProgram(stmts: N[], ctx: SqlContext & {
8
9
  source?: string;
9
10
  }, locs?: (number | undefined)[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/postgres/validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AA2BtG,wGAAwG;AACxG,wBAAgB,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,GAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAO,GAAG,IAAI,CAG1H;AAED,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,aAAa,EAAE,CASnF"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/postgres/validator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAkCtG,2IAA2I;AAC3I,wBAAgB,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,UAAU,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,GAAE,CAAC,MAAM,GAAG,SAAS,CAAC,EAAO,GAAG,IAAI,CAG1H;AAED,iDAAiD;AACjD,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,GAAG,SAAS,aAAa,EAAE,CASnF"}
@@ -1,18 +1,25 @@
1
1
  import { SqlRefusal } from "../spec/domain/service/SqlRefusal.js";
2
2
  import { PROFILES, validateIr as referenceIr, validateProgram as referenceProgram } from "../core/sql/allowlist.js";
3
- /** SQLite's own functions, which PostgreSQL has no faithful spelling of. */
3
+ /** SQLite's own functions, and the PostgreSQL spelling of each where there is one. */
4
4
  const REFUSED = {
5
5
  typeof: "typeof() is SQLite's; PostgreSQL has pg_typeof() with other names",
6
- hex: "hex() is SQLite's",
7
- json_extract: "json_extract() is SQLite's: write x ->> '$.path'",
8
- json_set: "json_set() is SQLite's", json_insert: "json_insert() is SQLite's", json_remove: "json_remove() is SQLite's",
6
+ hex: "hex() is SQLite's; PostgreSQL's encode() is not on the allowlist",
7
+ json_each: "json_each() is SQLite's: use jsonb_array_elements_text(x) WITH ORDINALITY AS j(value, n) for an array, or jsonb_each_text(x) WITH ORDINALITY AS j(key, value, n) for an object, in FROM",
8
+ json_extract: "json_extract() is SQLite's: use x ->> 'key', x ->> 0 or x #>> '{a,b}'",
9
+ json_set: "json_set() is SQLite's: build the value with jsonb_build_object() or jsonb_build_array()", json_insert: "json_insert() is SQLite's: build the value with jsonb_build_object() or jsonb_build_array()", json_remove: "json_remove() is SQLite's: use x - 'key' to drop a key",
9
10
  };
11
+ /** A `$` path as ->>'s key: SQLite reads it as a path, PostgreSQL as a key named `$.a`, silently NULL. */
12
+ const DOLLAR_PATH = /^\$(?:[.[]|$)/;
10
13
  function refuse(stmts) {
11
14
  const walk = (v) => {
12
15
  if (Array.isArray(v))
13
16
  return v.forEach(walk);
14
17
  if (!v || typeof v !== "object")
15
18
  return;
19
+ const a = v.A_Expr;
20
+ const key = a?.rexpr?.A_Const?.sval?.sval;
21
+ if (a?.kind === "AEXPR_OP" && ["->>", "->"].includes(a.name?.at(-1)?.String?.sval) && typeof key === "string" && DOLLAR_PATH.test(key))
22
+ throw new SqlRefusal("SQL_UNSUPPORTED", `'${key}' is a SQLite JSON path: PostgreSQL reads it as a key named ${key}. Use x ->> 'key', x ->> 0 or x #>> '{a,b}'`, a.rexpr.A_Const.location ?? a.location);
16
23
  const f = v.FuncCall;
17
24
  if (f) {
18
25
  const name = f.funcname.map((x) => x.String?.sval).join(".").replace(/^pg_catalog\./, "");
@@ -25,10 +32,10 @@ function refuse(stmts) {
25
32
  };
26
33
  walk(stmts);
27
34
  }
28
- /** The compile side: the reference profile, then PostgreSQL's refusals, each with its source offset. */
35
+ /** The compile side: PostgreSQL's refusals first, so a SQLite spelling is answered with its PostgreSQL one, then the reference profile. */
29
36
  export function validateProgram(stmts, ctx, locs = []) {
30
- referenceProgram(stmts, ctx, locs, PROFILES.reference);
31
37
  refuse(stmts);
38
+ referenceProgram(stmts, ctx, locs, PROFILES.reference);
32
39
  }
33
40
  /** The runtime's check of every program's IR. */
34
41
  export function validateIr(plan, ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/postgres/validator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,UAAU,IAAI,WAAW,EAAE,eAAe,IAAI,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEpH,4EAA4E;AAC5E,MAAM,OAAO,GAA2B;IACtC,MAAM,EAAE,mEAAmE;IAC3E,GAAG,EAAE,mBAAmB;IACxB,YAAY,EAAE,kDAAkD;IAChE,QAAQ,EAAE,wBAAwB,EAAE,WAAW,EAAE,2BAA2B,EAAE,WAAW,EAAE,2BAA2B;CACvH,CAAC;AAEF,SAAS,MAAM,CAAC,KAAU;IACxB,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,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;QACrB,IAAI,CAAC,EAAE,CAAC;YACN,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAC7F,IAAI,OAAO,CAAC,IAAI,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACnF,IAAI,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,cAAc,EAAE,sDAAsD,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACrK,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,CAAC;AACd,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,eAAe,CAAC,KAAU,EAAE,GAAqC,EAAE,OAA+B,EAAE;IAClH,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,CAAC,KAAK,CAAC,CAAC;AAChB,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,UAAU,CAAC,IAAa,EAAE,GAAe;IACvD,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,KAAY,CAAC,CAAC;QAC1B,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,EAAE,IAAI,EAAG,CAAgB,CAAC,IAAI,IAAI,iBAAiB,EAAE,OAAO,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;IAChG,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"validator.js","sourceRoot":"","sources":["../../src/postgres/validator.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,10 @@ export type ApiVersion = typeof API_VERSION;
18
18
  /** Media-shaped `x-mcp-hint` values — the subset marking a field as
19
19
  * holding a media asset URL. */
20
20
  export type MediaMcpHint = "media" | "media-image" | "media-video" | "media-file";
21
+ /** `<extension>/<contribution>`: how `uiSchema` names an Admin extension contribution (ADR-lite 1376). Whether it exists is
22
+ * checked where the plan meets the extensions, in `createAdminSurface`. */
23
+ export declare const UI_EXTENSION_REF: RegExp;
24
+ export declare const isUiExtensionRef: (value: unknown) => value is string;
21
25
  export declare function isMediaMcpHint(value: unknown): value is MediaMcpHint;
22
26
  /** Loose JSON Schema shape — we don't constrain it at the type level.
23
27
  * Manifest authoring stays JSON Schema; runtime validators translate
@@ -1 +1 @@
1
- {"version":3,"file":"ManifestGrammar.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/model/ManifestGrammar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ManifestGrammar.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/model/ManifestGrammar.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@
14
14
  * Future syntax is added only with its implementation.
15
15
  */
16
16
  export const API_VERSION = "cms.mantle.aotter.net/v2";
17
+ /** `<extension>/<contribution>`: how `uiSchema` names an Admin extension contribution (ADR-lite 1376). Whether it exists is
18
+ * checked where the plan meets the extensions, in `createAdminSurface`. */
19
+ export const UI_EXTENSION_REF = /^([a-z][a-z0-9-]{0,62})\/([a-z][a-z0-9-]{0,62})$/;
20
+ export const isUiExtensionRef = (value) => typeof value === "string" && UI_EXTENSION_REF.test(value);
17
21
  export function isMediaMcpHint(value) {
18
22
  return (value === "media" ||
19
23
  value === "media-image" ||
@@ -1 +1 @@
1
- {"version":3,"file":"ManifestGrammar.js","sourceRoot":"","sources":["../../../../src/spec/domain/model/ManifestGrammar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ManifestGrammar.js","sourceRoot":"","sources":["../../../../src/spec/domain/model/ManifestGrammar.ts"],"names":[],"mappings":"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"}
@@ -39,4 +39,6 @@ export declare function requiredMantleRefFields(schema: SchemaManifest): readonl
39
39
  export declare function isRequiredMantleRefField(schema: SchemaManifest, field: string): boolean;
40
40
  /** Graph-time: standalone parent collection must exist and not be a translates child. */
41
41
  export declare function checkSchemaNavTargets(schema: SchemaManifest, schemasByName: ReadonlyMap<string, SchemaManifest>): SchemaAdminUiProblem | null;
42
+ /** `list.cells`: field -> a `field.cell/v1` contribution. Shared with View, whose keys are its outputs (checked at compile). */
43
+ export declare function checkCells(cells: unknown, known: (field: string) => boolean, owner: "Schema" | "View", expected: string): SchemaAdminUiProblem | null;
42
44
  //# sourceMappingURL=SchemaAdminUiChecker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaAdminUiChecker.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/SchemaAdminUiChecker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAQD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,MAAM,EAAE,CAO9E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG;IAC1D,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACpD,CAqHA;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,QAAQ,GAAG,WAAW,GAC5B,SAAS,oBAAoB,EAAE,CAsFjC;AAmMD;;sEAEsE;AACtE,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,GACrB,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,CAYpE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvF;AAED,yFAAyF;AACzF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,GACjD,oBAAoB,GAAG,IAAI,CAoB7B"}
1
+ {"version":3,"file":"SchemaAdminUiChecker.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/SchemaAdminUiChecker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAQD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,MAAM,EAAE,CAO9E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG;IAC1D,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,QAAQ,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACpD,CA0HA;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,QAAQ,GAAG,WAAW,GAC5B,SAAS,oBAAoB,EAAE,CAoHjC;AAmMD;;sEAEsE;AACtE,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,cAAc,GACrB,SAAS;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,CAYpE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvF;AAED,yFAAyF;AACzF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,cAAc,EACtB,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,GACjD,oBAAoB,GAAG,IAAI,CAoB7B;AAeD,gIAAgI;AAChI,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EACjC,KAAK,EAAE,QAAQ,GAAG,MAAM,EACxB,QAAQ,EAAE,MAAM,GACf,oBAAoB,GAAG,IAAI,CAU7B"}