@adminiumjs/manifest 0.2.2-rc.0 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@
6
6
  * server-side installer land in later waves and consume a validated manifest.
7
7
  */
8
8
  export declare const PACKAGE_NAME = "@adminium/manifest";
9
- export { MANIFEST_VERSION, MANIFEST_KINDS, MANIFEST_CATEGORIES, MANIFEST_CAPABILITIES, RESERVED_KEYS, COLUMN_TYPES, COLUMN_SEMANTICS, COLUMN_ROLES, FRONTEND_KINDS, FIRST_PARTY_PUBLISHER_ID, manifestSchema, appManifestSchema, addOnManifestSchema, manifestKindSchema, addOnIssues, isAddOnManifest, identitySchema, compatibilitySchema, requiredSchemaSchema, requiredTableSchema, requiredColumnSchema, pageSchema, roleSchema, settingSchema, seedSchema, frontendSchema, capabilitySchema, categorySchema, publisherSchema, i18nMessageSchema, compareSemver, type Manifest, type AppManifest, type AddOnManifest, type ManifestKind, type AddOnBlock, type Capability, type Publisher, type I18nMessage, } from './schema.js';
9
+ export { MANIFEST_VERSION, MANIFEST_KINDS, MANIFEST_CATEGORIES, MANIFEST_CAPABILITIES, RESERVED_KEYS, COLUMN_TYPES, COLUMN_SEMANTICS, COLUMN_ROLES, FRONTEND_KINDS, FIRST_PARTY_PUBLISHER_ID, manifestSchema, appManifestSchema, addOnManifestSchema, manifestKindSchema, addOnIssues, isAddOnManifest, identitySchema, compatibilitySchema, requiredSchemaSchema, requiredTableSchema, requiredColumnSchema, pageSchema, roleSchema, settingSchema, seedSchema, frontendSchema, capabilitySchema, categorySchema, publisherSchema, i18nMessageSchema, compareSemver, type Manifest, type AppManifest, type AddOnManifest, type ManifestKind, type AddOnBlock, type Capability, type Publisher, type I18nMessage, type RequiredTable, type RequiredColumn, } from './schema.js';
10
10
  export { validateManifest, parseManifest, type ValidateManifestResult, type ValidateManifestOptions, type ManifestIssue, } from './validate.js';
11
+ export { planInstall, type InstallPlan, type PlannedTable, type PlannedColumn, type PlannedReference, type PlanProblem, type SchemaModelView, type TableAction, } from './plan.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,uBAAuB,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,aAAa,EACb,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,uBAAuB,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,aAAa,EACb,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,KAAK,QAAQ,EACb,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -9,4 +9,5 @@
9
9
  export const PACKAGE_NAME = '@adminium/manifest';
10
10
  export { MANIFEST_VERSION, MANIFEST_KINDS, MANIFEST_CATEGORIES, MANIFEST_CAPABILITIES, RESERVED_KEYS, COLUMN_TYPES, COLUMN_SEMANTICS, COLUMN_ROLES, FRONTEND_KINDS, FIRST_PARTY_PUBLISHER_ID, manifestSchema, appManifestSchema, addOnManifestSchema, manifestKindSchema, addOnIssues, isAddOnManifest, identitySchema, compatibilitySchema, requiredSchemaSchema, requiredTableSchema, requiredColumnSchema, pageSchema, roleSchema, settingSchema, seedSchema, frontendSchema, capabilitySchema, categorySchema, publisherSchema, i18nMessageSchema, compareSemver, } from './schema.js';
11
11
  export { validateManifest, parseManifest, } from './validate.js';
12
+ export { planInstall, } from './plan.js';
12
13
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,aAAa,EACb,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,aAAa,GASd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,aAAa,GAId,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAC;AAEjD,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,WAAW,EACX,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,aAAa,EACb,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,aAAa,GAWd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gBAAgB,EAChB,aAAa,GAId,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,WAAW,GAQZ,MAAM,WAAW,CAAC"}
package/dist/plan.d.ts ADDED
@@ -0,0 +1,120 @@
1
+ /**
2
+ * `planInstall` — what installing an add-on would DO to a connected database,
3
+ * decided before anything is done (26-add-on-runtime.md §3, D1, 26-T01).
4
+ *
5
+ * ─── The plan is a user-facing document, not an internal step ───────────────
6
+ *
7
+ * §7's consent dialog is "the security surface, not decoration: it is where a
8
+ * user sees what an add-on may reach before it can reach it". The thing it
9
+ * shows is this plan. So the output is shaped to be READ — every table says
10
+ * whether it will be created or reused, every reused table says which of its
11
+ * columns matched and which are missing, and every problem carries a sentence
12
+ * an operator can act on rather than a code.
13
+ *
14
+ * That is also why nothing here writes: a plan that could not be computed
15
+ * without side effects could not be shown before consent.
16
+ *
17
+ * ─── Add-on scope only (D1) ────────────────────────────────────────────────
18
+ *
19
+ * 13-T03/T04 own the APP install path — `pages`, `roles`, `seeds`, `frontend`,
20
+ * the whole envelope. An add-on manifest has none of those blocks (24 §5.2
21
+ * leaves them off the branch entirely), so this planner reads exactly one
22
+ * field: `requiredSchema`. Three of the six shipped add-ons declare it;
23
+ * `import-canva`, `barcode-labels` and `holiday-calendars` declare none and
24
+ * plan to nothing, which is a real and common case rather than an edge one.
25
+ *
26
+ * ─── The case that makes this non-trivial: a foreign key pointing OUT ──────
27
+ *
28
+ * Two of the three real manifests declare an FK whose target is NOT in their
29
+ * own `requiredSchema`:
30
+ *
31
+ * design-studio artwork_designs.job_id -> jobs
32
+ * personalizer personalization_templates.product_id -> products
33
+ * personalizer personalizations.order_line_id -> order_lines
34
+ *
35
+ * Those tables belong to the HOST app, and an add-on cannot bring them. So a
36
+ * reference resolves in one of three ways, and the difference matters to the
37
+ * operator: to a table the add-on is creating (fine, internal), to a table that
38
+ * already exists in the database (fine, and it is the whole point — the add-on
39
+ * is attaching to the host's data), or to nothing at all (**not** fine, and the
40
+ * install must not proceed). The third case is the one a naive planner would
41
+ * emit DDL for and only discover at `CREATE TABLE`, having already created the
42
+ * other tables — on MySQL, which has no transactional DDL, that leaves a
43
+ * half-installed add-on with no rollback.
44
+ */
45
+ import type { AddOnManifest } from './schema.js';
46
+ /** The existing database, as much of it as planning needs. */
47
+ export interface SchemaModelView {
48
+ /** Every table name that already exists, however it got there. */
49
+ tables: readonly {
50
+ ref: string;
51
+ columns: readonly {
52
+ ref: string;
53
+ }[];
54
+ }[];
55
+ }
56
+ /** What will happen to one table. */
57
+ export type TableAction = 'create' | 'reuse';
58
+ export interface PlannedColumn {
59
+ ref: string;
60
+ type: string;
61
+ /** Absent from an existing table, so the install would have to add it. */
62
+ missing: boolean;
63
+ }
64
+ export interface PlannedTable {
65
+ ref: string;
66
+ action: TableAction;
67
+ columns: PlannedColumn[];
68
+ /**
69
+ * Only on `reuse`: columns the manifest requires that the existing table does
70
+ * not have. A non-empty list is a PARTIAL MATCH — the table is there but does
71
+ * not carry what the add-on needs, which is a different situation from either
72
+ * "create it" or "it fits", and the operator should be told which.
73
+ */
74
+ missingColumns: string[];
75
+ }
76
+ /** Where one declared foreign key ends up pointing. */
77
+ export interface PlannedReference {
78
+ fromTable: string;
79
+ fromColumn: string;
80
+ to: string;
81
+ /**
82
+ * `internal` — the target is another table in this manifest.
83
+ * `host` — the target already exists in the database (the add-on attaching to
84
+ * the host's data, which is the intended shape).
85
+ * `unresolved` — the target exists nowhere, and the plan is not installable.
86
+ */
87
+ resolution: 'internal' | 'host' | 'unresolved';
88
+ }
89
+ /** A reason the plan cannot be applied, phrased for a person. */
90
+ export interface PlanProblem {
91
+ code: 'UNRESOLVED_REFERENCE' | 'COLUMN_TYPE_CONFLICT' | 'RESERVED_TABLE';
92
+ message: string;
93
+ table: string;
94
+ column?: string;
95
+ }
96
+ export interface InstallPlan {
97
+ addOnKey: string;
98
+ version: string;
99
+ /** Tables to create, in declaration order (targets before dependents). */
100
+ create: PlannedTable[];
101
+ /** Tables that already exist and will be reused rather than created. */
102
+ reuse: PlannedTable[];
103
+ references: PlannedReference[];
104
+ problems: PlanProblem[];
105
+ /**
106
+ * `true` when there is nothing standing in the way. A plan with problems is
107
+ * still RETURNED — the consent dialog has to be able to show WHY an add-on
108
+ * cannot be installed here, and an exception would leave it with nothing to
109
+ * render.
110
+ */
111
+ installable: boolean;
112
+ /** No `requiredSchema` at all: install touches no data source. */
113
+ touchesData: boolean;
114
+ }
115
+ /**
116
+ * Diffs an add-on's `requiredSchema` against the database it would install
117
+ * into. Pure: no I/O, no side effects, safe to run for a preview.
118
+ */
119
+ export declare function planInstall(manifest: AddOnManifest, model: SchemaModelView): InstallPlan;
120
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAiC,MAAM,aAAa,CAAC;AAEhF,8DAA8D;AAC9D,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,MAAM,EAAE,SAAS;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,EAAE,SAAS;YAAE,GAAG,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACrC,EAAE,CAAC;CACL;AAED,qCAAqC;AACrC,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB;;;;;OAKG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,uDAAuD;AACvD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX;;;;;OAKG;IACH,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,CAAC;CAChD;AAED,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,sBAAsB,GAAG,sBAAsB,GAAG,gBAAgB,CAAC;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,wEAAwE;IACxE,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB;;;;;OAKG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,kEAAkE;IAClE,WAAW,EAAE,OAAO,CAAC;CACtB;AA0BD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,eAAe,GAAG,WAAW,CAsExF"}
package/dist/plan.js ADDED
@@ -0,0 +1,134 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ /**
3
+ * `planInstall` — what installing an add-on would DO to a connected database,
4
+ * decided before anything is done (26-add-on-runtime.md §3, D1, 26-T01).
5
+ *
6
+ * ─── The plan is a user-facing document, not an internal step ───────────────
7
+ *
8
+ * §7's consent dialog is "the security surface, not decoration: it is where a
9
+ * user sees what an add-on may reach before it can reach it". The thing it
10
+ * shows is this plan. So the output is shaped to be READ — every table says
11
+ * whether it will be created or reused, every reused table says which of its
12
+ * columns matched and which are missing, and every problem carries a sentence
13
+ * an operator can act on rather than a code.
14
+ *
15
+ * That is also why nothing here writes: a plan that could not be computed
16
+ * without side effects could not be shown before consent.
17
+ *
18
+ * ─── Add-on scope only (D1) ────────────────────────────────────────────────
19
+ *
20
+ * 13-T03/T04 own the APP install path — `pages`, `roles`, `seeds`, `frontend`,
21
+ * the whole envelope. An add-on manifest has none of those blocks (24 §5.2
22
+ * leaves them off the branch entirely), so this planner reads exactly one
23
+ * field: `requiredSchema`. Three of the six shipped add-ons declare it;
24
+ * `import-canva`, `barcode-labels` and `holiday-calendars` declare none and
25
+ * plan to nothing, which is a real and common case rather than an edge one.
26
+ *
27
+ * ─── The case that makes this non-trivial: a foreign key pointing OUT ──────
28
+ *
29
+ * Two of the three real manifests declare an FK whose target is NOT in their
30
+ * own `requiredSchema`:
31
+ *
32
+ * design-studio artwork_designs.job_id -> jobs
33
+ * personalizer personalization_templates.product_id -> products
34
+ * personalizer personalizations.order_line_id -> order_lines
35
+ *
36
+ * Those tables belong to the HOST app, and an add-on cannot bring them. So a
37
+ * reference resolves in one of three ways, and the difference matters to the
38
+ * operator: to a table the add-on is creating (fine, internal), to a table that
39
+ * already exists in the database (fine, and it is the whole point — the add-on
40
+ * is attaching to the host's data), or to nothing at all (**not** fine, and the
41
+ * install must not proceed). The third case is the one a naive planner would
42
+ * emit DDL for and only discover at `CREATE TABLE`, having already created the
43
+ * other tables — on MySQL, which has no transactional DDL, that leaves a
44
+ * half-installed add-on with no rollback.
45
+ */
46
+ /**
47
+ * Table names an add-on may never claim, whatever its manifest says.
48
+ *
49
+ * The meta store's own prefix. An add-on that declared `adminium_users` would
50
+ * otherwise plan a `CREATE TABLE` against the operator's data source that
51
+ * shadows the name every meta query uses — and on a deployment where the meta
52
+ * store and the data source are the same database (the SQLite default), that is
53
+ * not a shadow, it is the table.
54
+ */
55
+ const RESERVED_TABLE_PREFIX = 'adminium_';
56
+ function planColumns(table, existing) {
57
+ const have = new Set(existing?.columns.map((c) => c.ref) ?? []);
58
+ const columns = table.columns.map((c) => ({
59
+ ref: c.ref,
60
+ type: c.type,
61
+ missing: existing !== undefined && !have.has(c.ref),
62
+ }));
63
+ return { columns, missingColumns: columns.filter((c) => c.missing).map((c) => c.ref) };
64
+ }
65
+ /**
66
+ * Diffs an add-on's `requiredSchema` against the database it would install
67
+ * into. Pure: no I/O, no side effects, safe to run for a preview.
68
+ */
69
+ export function planInstall(manifest, model) {
70
+ const required = manifest.requiredSchema?.tables ?? [];
71
+ const existingByRef = new Map(model.tables.map((t) => [t.ref, t]));
72
+ const declared = new Set(required.map((t) => t.ref));
73
+ const create = [];
74
+ const reuse = [];
75
+ const references = [];
76
+ const problems = [];
77
+ for (const table of required) {
78
+ if (table.ref.startsWith(RESERVED_TABLE_PREFIX)) {
79
+ problems.push({
80
+ code: 'RESERVED_TABLE',
81
+ table: table.ref,
82
+ message: `"${table.ref}" is in Adminium's own namespace. An add-on cannot declare a table ` +
83
+ `whose name begins with "${RESERVED_TABLE_PREFIX}".`,
84
+ });
85
+ continue;
86
+ }
87
+ const existing = existingByRef.get(table.ref);
88
+ const { columns, missingColumns } = planColumns(table, existing);
89
+ const planned = {
90
+ ref: table.ref,
91
+ action: existing === undefined ? 'create' : 'reuse',
92
+ columns,
93
+ missingColumns,
94
+ };
95
+ (existing === undefined ? create : reuse).push(planned);
96
+ for (const column of table.columns) {
97
+ if (column.type !== 'fk' || column.references === undefined)
98
+ continue;
99
+ const target = column.references;
100
+ const resolution = declared.has(target)
101
+ ? 'internal'
102
+ : existingByRef.has(target)
103
+ ? 'host'
104
+ : 'unresolved';
105
+ references.push({
106
+ fromTable: table.ref,
107
+ fromColumn: column.ref,
108
+ to: target,
109
+ resolution,
110
+ });
111
+ if (resolution === 'unresolved') {
112
+ problems.push({
113
+ code: 'UNRESOLVED_REFERENCE',
114
+ table: table.ref,
115
+ column: column.ref,
116
+ message: `"${table.ref}.${column.ref}" points at a table called "${target}", which this ` +
117
+ `add-on does not create and this database does not have. It is a table the host ` +
118
+ `app is expected to provide, so this add-on cannot be installed here.`,
119
+ });
120
+ }
121
+ }
122
+ }
123
+ return {
124
+ addOnKey: manifest.key,
125
+ version: manifest.version,
126
+ create,
127
+ reuse,
128
+ references,
129
+ problems,
130
+ installable: problems.length === 0,
131
+ touchesData: required.length > 0,
132
+ };
133
+ }
134
+ //# sourceMappingURL=plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -108,9 +108,16 @@ export declare const capabilitySchema: z.ZodEnum<{
108
108
  "oauth-connect": "oauth-connect";
109
109
  }>;
110
110
  export type Capability = z.infer<typeof capabilitySchema>;
111
+ /** The three meta/data engines Adminium can talk to (01-architecture.md §2.3). */
112
+ export declare const MANIFEST_ENGINES: readonly ["postgres", "mysql", "sqlite"];
111
113
  export declare const compatibilitySchema: z.ZodObject<{
112
114
  minAdminiumVersion: z.ZodString;
113
115
  maxAdminiumVersion: z.ZodOptional<z.ZodString>;
116
+ engines: z.ZodOptional<z.ZodArray<z.ZodEnum<{
117
+ postgres: "postgres";
118
+ mysql: "mysql";
119
+ sqlite: "sqlite";
120
+ }>>>;
114
121
  requires: z.ZodOptional<z.ZodArray<z.ZodEnum<{
115
122
  "hosted-only": "hosted-only";
116
123
  "offline-required": "offline-required";
@@ -354,7 +361,20 @@ export declare const frontendEnvVarSchema: z.ZodObject<{
354
361
  required: z.ZodBoolean;
355
362
  example: z.ZodOptional<z.ZodString>;
356
363
  }, z.core.$strict>;
364
+ /**
365
+ * Which of the three sides a frontend is (28-public-surface.md §4).
366
+ *
367
+ * The product rule this exists to make CHECKABLE: a micro-SaaS is the Adminium
368
+ * dashboard (mandatory, and never declared here — it comes from introspection)
369
+ * plus a staff side, a customer side, or both. At least one, or it is not a
370
+ * micro-SaaS but somebody's own build.
371
+ */
372
+ export declare const FRONTEND_SIDES: readonly ["staff", "customer"];
357
373
  export declare const frontendSchema: z.ZodObject<{
374
+ side: z.ZodEnum<{
375
+ staff: "staff";
376
+ customer: "customer";
377
+ }>;
358
378
  kind: z.ZodEnum<{
359
379
  spa: "spa";
360
380
  electron: "electron";
@@ -365,11 +385,17 @@ export declare const frontendSchema: z.ZodObject<{
365
385
  required: z.ZodBoolean;
366
386
  example: z.ZodOptional<z.ZodString>;
367
387
  }, z.core.$strict>>>;
388
+ routes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
368
389
  }, z.core.$strict>;
369
390
  export declare const appManifestSchema: z.ZodObject<{
370
391
  compatibility: z.ZodObject<{
371
392
  minAdminiumVersion: z.ZodString;
372
393
  maxAdminiumVersion: z.ZodOptional<z.ZodString>;
394
+ engines: z.ZodOptional<z.ZodArray<z.ZodEnum<{
395
+ postgres: "postgres";
396
+ mysql: "mysql";
397
+ sqlite: "sqlite";
398
+ }>>>;
373
399
  requires: z.ZodOptional<z.ZodArray<z.ZodEnum<{
374
400
  "hosted-only": "hosted-only";
375
401
  "offline-required": "offline-required";
@@ -532,7 +558,11 @@ export declare const appManifestSchema: z.ZodObject<{
532
558
  "outbound-http": "outbound-http";
533
559
  "oauth-connect": "oauth-connect";
534
560
  }>>>;
535
- frontend: z.ZodObject<{
561
+ frontends: z.ZodArray<z.ZodObject<{
562
+ side: z.ZodEnum<{
563
+ staff: "staff";
564
+ customer: "customer";
565
+ }>;
536
566
  kind: z.ZodEnum<{
537
567
  spa: "spa";
538
568
  electron: "electron";
@@ -543,7 +573,8 @@ export declare const appManifestSchema: z.ZodObject<{
543
573
  required: z.ZodBoolean;
544
574
  example: z.ZodOptional<z.ZodString>;
545
575
  }, z.core.$strict>>>;
546
- }, z.core.$strict>;
576
+ routes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
577
+ }, z.core.$strict>>;
547
578
  categories: z.ZodArray<z.ZodEnum<{
548
579
  commerce: "commerce";
549
580
  hospitality: "hospitality";
@@ -583,6 +614,11 @@ export declare const addOnManifestSchema: z.ZodObject<{
583
614
  compatibility: z.ZodObject<{
584
615
  minAdminiumVersion: z.ZodString;
585
616
  maxAdminiumVersion: z.ZodOptional<z.ZodString>;
617
+ engines: z.ZodOptional<z.ZodArray<z.ZodEnum<{
618
+ postgres: "postgres";
619
+ mysql: "mysql";
620
+ sqlite: "sqlite";
621
+ }>>>;
586
622
  requires: z.ZodOptional<z.ZodArray<z.ZodEnum<{
587
623
  "hosted-only": "hosted-only";
588
624
  "offline-required": "offline-required";
@@ -632,6 +668,7 @@ export declare const addOnManifestSchema: z.ZodObject<{
632
668
  "product.admin.panel": "product.admin.panel";
633
669
  "order.line.actions": "order.line.actions";
634
670
  "record.editor.panel": "record.editor.panel";
671
+ "record.actions": "record.actions";
635
672
  }>;
636
673
  client: z.ZodString;
637
674
  order: z.ZodNumber;
@@ -804,6 +841,11 @@ export declare const manifestSchema: z.ZodPreprocess<z.ZodDiscriminatedUnion<[z.
804
841
  compatibility: z.ZodObject<{
805
842
  minAdminiumVersion: z.ZodString;
806
843
  maxAdminiumVersion: z.ZodOptional<z.ZodString>;
844
+ engines: z.ZodOptional<z.ZodArray<z.ZodEnum<{
845
+ postgres: "postgres";
846
+ mysql: "mysql";
847
+ sqlite: "sqlite";
848
+ }>>>;
807
849
  requires: z.ZodOptional<z.ZodArray<z.ZodEnum<{
808
850
  "hosted-only": "hosted-only";
809
851
  "offline-required": "offline-required";
@@ -966,7 +1008,11 @@ export declare const manifestSchema: z.ZodPreprocess<z.ZodDiscriminatedUnion<[z.
966
1008
  "outbound-http": "outbound-http";
967
1009
  "oauth-connect": "oauth-connect";
968
1010
  }>>>;
969
- frontend: z.ZodObject<{
1011
+ frontends: z.ZodArray<z.ZodObject<{
1012
+ side: z.ZodEnum<{
1013
+ staff: "staff";
1014
+ customer: "customer";
1015
+ }>;
970
1016
  kind: z.ZodEnum<{
971
1017
  spa: "spa";
972
1018
  electron: "electron";
@@ -977,7 +1023,8 @@ export declare const manifestSchema: z.ZodPreprocess<z.ZodDiscriminatedUnion<[z.
977
1023
  required: z.ZodBoolean;
978
1024
  example: z.ZodOptional<z.ZodString>;
979
1025
  }, z.core.$strict>>>;
980
- }, z.core.$strict>;
1026
+ routes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1027
+ }, z.core.$strict>>;
981
1028
  categories: z.ZodArray<z.ZodEnum<{
982
1029
  commerce: "commerce";
983
1030
  hospitality: "hospitality";
@@ -1011,6 +1058,11 @@ export declare const manifestSchema: z.ZodPreprocess<z.ZodDiscriminatedUnion<[z.
1011
1058
  compatibility: z.ZodObject<{
1012
1059
  minAdminiumVersion: z.ZodString;
1013
1060
  maxAdminiumVersion: z.ZodOptional<z.ZodString>;
1061
+ engines: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1062
+ postgres: "postgres";
1063
+ mysql: "mysql";
1064
+ sqlite: "sqlite";
1065
+ }>>>;
1014
1066
  requires: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1015
1067
  "hosted-only": "hosted-only";
1016
1068
  "offline-required": "offline-required";
@@ -1060,6 +1112,7 @@ export declare const manifestSchema: z.ZodPreprocess<z.ZodDiscriminatedUnion<[z.
1060
1112
  "product.admin.panel": "product.admin.panel";
1061
1113
  "order.line.actions": "order.line.actions";
1062
1114
  "record.editor.panel": "record.editor.panel";
1115
+ "record.actions": "record.actions";
1063
1116
  }>;
1064
1117
  client: z.ZodString;
1065
1118
  order: z.ZodNumber;
@@ -1226,6 +1279,10 @@ export declare const manifestSchema: z.ZodPreprocess<z.ZodDiscriminatedUnion<[z.
1226
1279
  }, z.core.$strict>], "kind">>;
1227
1280
  export type AppManifest = z.infer<typeof appManifestSchema>;
1228
1281
  export type AddOnManifest = z.infer<typeof addOnManifestSchema>;
1282
+ /** One table an add-on declares under `requiredSchema` (26 §3). */
1283
+ export type RequiredTable = z.infer<typeof requiredTableSchema>;
1284
+ /** One column of a {@link RequiredTable}. */
1285
+ export type RequiredColumn = z.infer<typeof requiredColumnSchema>;
1229
1286
  export type Manifest = AppManifest | AddOnManifest;
1230
1287
  export type { AddOnBlock };
1231
1288
  /** Narrowing helper — the discriminant is the only thing worth branching on. */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/dist/schema.js CHANGED
@@ -96,10 +96,25 @@ export const MANIFEST_CAPABILITIES = [
96
96
  ];
97
97
  export const capabilitySchema = z.enum(MANIFEST_CAPABILITIES);
98
98
  // ── §2.4 compatibility ───────────────────────────────────────────────────────
99
+ /** The three meta/data engines Adminium can talk to (01-architecture.md §2.3). */
100
+ export const MANIFEST_ENGINES = ['postgres', 'mysql', 'sqlite'];
99
101
  export const compatibilitySchema = z
100
102
  .object({
101
103
  minAdminiumVersion: semver,
102
104
  maxAdminiumVersion: semver.optional(), // exclusive upper bound
105
+ /**
106
+ * Which data engines this app's `requiredSchema` actually works on.
107
+ *
108
+ * ADDED rather than dropped from the manifests (28-T21). Thirteen shipped
109
+ * manifests already carried `engines` and this `.strict()` schema rejected
110
+ * every one — it is a spec field (13 §2.4) that never reached the code. The
111
+ * information is real: an app whose schema uses Postgres-only DDL cannot be
112
+ * installed against SQLite, and deleting the field to satisfy the validator
113
+ * would have thrown away the only place that is written down.
114
+ *
115
+ * Optional and additive, so nothing that validated before stops.
116
+ */
117
+ engines: z.array(z.enum(MANIFEST_ENGINES)).min(1).optional(),
103
118
  requires: z.array(capabilitySchema).optional(),
104
119
  })
105
120
  .strict();
@@ -263,11 +278,36 @@ export const frontendEnvVarSchema = z
263
278
  example: z.string().optional(),
264
279
  })
265
280
  .strict();
281
+ /**
282
+ * Which of the three sides a frontend is (28-public-surface.md §4).
283
+ *
284
+ * The product rule this exists to make CHECKABLE: a micro-SaaS is the Adminium
285
+ * dashboard (mandatory, and never declared here — it comes from introspection)
286
+ * plus a staff side, a customer side, or both. At least one, or it is not a
287
+ * micro-SaaS but somebody's own build.
288
+ */
289
+ export const FRONTEND_SIDES = ['staff', 'customer'];
266
290
  export const frontendSchema = z
267
291
  .object({
292
+ /**
293
+ * REQUIRED, and the whole point of the array form. Without it the split
294
+ * lives only in prose and nothing can enforce §4's rule.
295
+ */
296
+ side: z.enum(FRONTEND_SIDES),
268
297
  kind: z.enum(FRONTEND_KINDS),
269
298
  entry: z.string().min(1).optional(),
270
299
  env: z.record(z.string(), frontendEnvVarSchema).optional(),
300
+ /**
301
+ * The view names this side owns, e.g. `{ book, visits }`.
302
+ *
303
+ * RE-ADMITTED, not newly invented. Eleven shipped manifests already carry
304
+ * this key and the `.strict()` schema rejected every one of them — while
305
+ * being, per the 28-T33 fleet audit, "the only machine-readable record of
306
+ * the staff/customer split anywhere in the fleet". Deleting it during
307
+ * normalization was the tempting move and would have made §4's rule
308
+ * permanently uncheckable.
309
+ */
310
+ routes: z.record(z.string(), z.string()).optional(),
271
311
  })
272
312
  .strict();
273
313
  /** §2.11 — hosted-only and offline-required are mutually exclusive. */
@@ -284,6 +324,27 @@ const WINDOW_MESSAGE = {
284
324
  message: 'maxAdminiumVersion must be greater than minAdminiumVersion',
285
325
  path: ['compatibility'],
286
326
  };
327
+ /**
328
+ * At most one entry per side.
329
+ *
330
+ * Two `customer` frontends is not a richer app; it is an ambiguity — a
331
+ * publishable key is minted against ONE side, so a second entry claiming the
332
+ * same one leaves the installer and the key-minting UI with no way to say which
333
+ * bundle a key belongs to.
334
+ */
335
+ function sidesAreDistinct(m) {
336
+ const seen = new Set();
337
+ for (const f of m.frontends) {
338
+ if (seen.has(f.side))
339
+ return false;
340
+ seen.add(f.side);
341
+ }
342
+ return true;
343
+ }
344
+ const SIDES_MESSAGE = {
345
+ message: 'each side may appear at most once in `frontends`',
346
+ path: ['frontends'],
347
+ };
287
348
  export const appManifestSchema = z
288
349
  .object({
289
350
  kind: z.literal('app'),
@@ -297,11 +358,21 @@ export const appManifestSchema = z
297
358
  seeds: z.array(seedSchema).optional(),
298
359
  widgets: z.array(manifestWidgetSchema).optional(),
299
360
  capabilities: z.array(capabilitySchema).optional(),
300
- frontend: frontendSchema,
361
+ /**
362
+ * ONE OR MORE SIDES (28 §4, D12). Replaces the singular `frontend`.
363
+ *
364
+ * `minItems: 1` is the gate: a manifest declaring no side does not validate,
365
+ * which is what turns "dashboard mandatory, staff optional, customer
366
+ * optional, at least one" from a slogan into something CI can hold. Two
367
+ * repos (factory-ops, hotel-reservations) could never validate under the old
368
+ * required-singular shape however their `requiredSchema` was repaired.
369
+ */
370
+ frontends: z.array(frontendSchema).min(1),
301
371
  })
302
372
  .strict()
303
373
  .refine(capabilitiesNotContradictory, { ...CAPS_MESSAGE, path: [...CAPS_MESSAGE.path] })
304
- .refine(compatibilityWindowOrdered, { ...WINDOW_MESSAGE, path: [...WINDOW_MESSAGE.path] });
374
+ .refine(compatibilityWindowOrdered, { ...WINDOW_MESSAGE, path: [...WINDOW_MESSAGE.path] })
375
+ .refine(sidesAreDistinct, { ...SIDES_MESSAGE, path: [...SIDES_MESSAGE.path] });
305
376
  /**
306
377
  * `pages` and `frontend` are absent from this branch on purpose (24 §5.7 item
307
378
  * 6): an add-on cannot install pages, roles or a frontend, and leaving the
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adminiumjs/manifest",
3
- "version": "0.2.2-rc.0",
3
+ "version": "0.2.3",
4
4
  "license": "AGPL-3.0-only",
5
5
  "repository": {
6
6
  "type": "git",
@@ -20,7 +20,7 @@
20
20
  }
21
21
  },
22
22
  "dependencies": {
23
- "@adminium/add-on-contracts": "npm:@adminiumjs/add-on-contracts@0.2.2-rc.0",
23
+ "@adminium/add-on-contracts": "npm:@adminiumjs/add-on-contracts@0.2.3",
24
24
  "zod": "^4.4.3"
25
25
  },
26
26
  "files": [