@adminiumjs/meta 0.2.2-rc.0 → 0.2.2

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/ids.d.ts CHANGED
@@ -46,6 +46,10 @@ export declare const ID_PREFIXES: {
46
46
  readonly mft: "adminium_manifests";
47
47
  readonly loc: "adminium_locales";
48
48
  readonly trn: "adminium_translations";
49
+ readonly pbk: "adminium_public_keys";
50
+ readonly psc: "adminium_public_scopes";
51
+ readonly pss: "adminium_public_sessions";
52
+ readonly pch: "adminium_public_challenges";
49
53
  };
50
54
  export type IdPrefix = keyof typeof ID_PREFIXES;
51
55
  /** Maximum column width every id must fit (07-meta-store.md §2.1). */
package/dist/ids.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAQH,QAAA,MAAM,QAAQ,QAAsB,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6Bd,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,WAAW,CAAC;AAOhD,sEAAsE;AACtE,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,qBAAa,cAAe,SAAQ,KAAK;IAC9B,IAAI,SAAoB;CAClC;AAiDD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAc9C;AAED,MAAM,WAAW,QAAQ;IACvB,qCAAqC;IACrC,MAAM,EAAE,QAAQ,CAAC;IACjB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8FAA8F;AAC9F,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAY5C;AAED,uFAAuF;AACvF,wBAAgB,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAQ5D;AAED,yDAAyD;AACzD,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED,2CAA2C;AAC3C,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;GAWG;AAQH,QAAA,MAAM,QAAQ,QAAsB,CAAC;AAErC;;;;;GAKG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCd,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,WAAW,CAAC;AAOhD,sEAAsE;AACtE,eAAO,MAAM,aAAa,KAAK,CAAC;AAEhC,qBAAa,cAAe,SAAQ,KAAK;IAC9B,IAAI,SAAoB;CAClC;AAiDD;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAc9C;AAED,MAAM,WAAW,QAAQ;IACvB,qCAAqC;IACrC,MAAM,EAAE,QAAQ,CAAC;IACjB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8FAA8F;AAC9F,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,CAY5C;AAED,uFAAuF;AACvF,wBAAgB,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAQ5D;AAED,yDAAyD;AACzD,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED,2CAA2C;AAC3C,wBAAgB,aAAa,IAAI,IAAI,CAGpC;AAED,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,CAAC"}
package/dist/ids.js CHANGED
@@ -52,6 +52,13 @@ export const ID_PREFIXES = {
52
52
  mft: 'adminium_manifests',
53
53
  loc: 'adminium_locales',
54
54
  trn: 'adminium_translations',
55
+ // 28-public-surface.md §3.3 — the public surface. `pbk` is deliberately not
56
+ // `key`: a publishable key is never an RbacPrincipal (28 D3) and sharing an
57
+ // id space with `adminium_api_keys` would blur exactly that boundary.
58
+ pbk: 'adminium_public_keys',
59
+ psc: 'adminium_public_scopes',
60
+ pss: 'adminium_public_sessions',
61
+ pch: 'adminium_public_challenges',
55
62
  };
56
63
  const PREFIX_SET = new Set(Object.keys(ID_PREFIXES));
57
64
  /** `<prefix>_<26 Crockford chars>` — Crockford charset excludes I, L, O, U. */
package/dist/ids.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ids.js","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ids.js","sourceRoot":"","sources":["../src/ids.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Wave 0014 — the public surface (28-public-surface.md §3).
3
+ *
4
+ * Four tables behind the scoped, off-by-default `/api/v1/public` namespace:
5
+ * the browser-safe key kind, the scope document that says what a key may reach,
6
+ * the end-customer session a `claim` mints, and the one-time challenge the
7
+ * `email-code` claim tier needs.
8
+ *
9
+ * WHY THESE ARE NOT `adminium_api_keys` ROWS WITH A `kind` COLUMN (28 §3.3).
10
+ * Two properties diverge and both are load-bearing:
11
+ *
12
+ * 1. The secret is RE-READABLE by an admin. `adminium_api_keys` reveals once
13
+ * and never again, which is right for a server-side credential a human
14
+ * copies into a deployment. An `adm_pub_` secret lives in a public bundle
15
+ * and has to survive a rebuild months later, so the row keeps a reversible
16
+ * copy alongside the hash.
17
+ * 2. A publishable key is NEVER an `RbacPrincipal` (28 D3). `parseBearerApiKey`
18
+ * gates on the `adm_sk_` prefix, so a token from this table cannot resolve
19
+ * through the rbac plugin at all — which is what makes it inert on every
20
+ * other route BY CONSTRUCTION rather than by an allow-list somebody has to
21
+ * maintain. Sharing a table would invite exactly the `kind`-check-per-route
22
+ * that property exists to avoid.
23
+ *
24
+ * NO SETTINGS TABLE HERE, deliberately (28 D20). Tenant configuration is
25
+ * hybrid: the only key Adminium must own is the `timezone` it needs to
26
+ * interpret its own `timestamptz` values, and that rides on the SCOPE document
27
+ * below — already per-connection, already operator-authored, already served on
28
+ * `/public/config`. A global settings key would be one line cheaper and wrong
29
+ * the moment an instance holds two connections for businesses in different
30
+ * zones. Everything else an app needs (tax rates, tip presets, opening hours)
31
+ * stays in the app's own tables, where the generated dashboard edits it for
32
+ * free.
33
+ *
34
+ * `0013_connection_last_error_hint` is the latest applied migration; never edit
35
+ * a shipped one (the one-time checksum exception in `index.ts` was pre-release).
36
+ */
37
+ import type { Kysely } from 'kysely';
38
+ import type { ColumnHelpers } from '../columns.js';
39
+ export declare function up(db: Kysely<unknown>, c: ColumnHelpers): Promise<void>;
40
+ //# sourceMappingURL=0014_public_surface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0014_public_surface.d.ts","sourceRoot":"","sources":["../../src/migrations/0014_public_surface.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,wBAAsB,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA6L7E"}
@@ -0,0 +1,186 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ /**
3
+ * Wave 0014 — the public surface (28-public-surface.md §3).
4
+ *
5
+ * Four tables behind the scoped, off-by-default `/api/v1/public` namespace:
6
+ * the browser-safe key kind, the scope document that says what a key may reach,
7
+ * the end-customer session a `claim` mints, and the one-time challenge the
8
+ * `email-code` claim tier needs.
9
+ *
10
+ * WHY THESE ARE NOT `adminium_api_keys` ROWS WITH A `kind` COLUMN (28 §3.3).
11
+ * Two properties diverge and both are load-bearing:
12
+ *
13
+ * 1. The secret is RE-READABLE by an admin. `adminium_api_keys` reveals once
14
+ * and never again, which is right for a server-side credential a human
15
+ * copies into a deployment. An `adm_pub_` secret lives in a public bundle
16
+ * and has to survive a rebuild months later, so the row keeps a reversible
17
+ * copy alongside the hash.
18
+ * 2. A publishable key is NEVER an `RbacPrincipal` (28 D3). `parseBearerApiKey`
19
+ * gates on the `adm_sk_` prefix, so a token from this table cannot resolve
20
+ * through the rbac plugin at all — which is what makes it inert on every
21
+ * other route BY CONSTRUCTION rather than by an allow-list somebody has to
22
+ * maintain. Sharing a table would invite exactly the `kind`-check-per-route
23
+ * that property exists to avoid.
24
+ *
25
+ * NO SETTINGS TABLE HERE, deliberately (28 D20). Tenant configuration is
26
+ * hybrid: the only key Adminium must own is the `timezone` it needs to
27
+ * interpret its own `timestamptz` values, and that rides on the SCOPE document
28
+ * below — already per-connection, already operator-authored, already served on
29
+ * `/public/config`. A global settings key would be one line cheaper and wrong
30
+ * the moment an instance holds two connections for businesses in different
31
+ * zones. Everything else an app needs (tax rates, tip presets, opening hours)
32
+ * stays in the app's own tables, where the generated dashboard edits it for
33
+ * free.
34
+ *
35
+ * `0013_connection_last_error_hint` is the latest applied migration; never edit
36
+ * a shipped one (the one-time checksum exception in `index.ts` was pre-release).
37
+ */
38
+ import { metaTable } from '../prefix.js';
39
+ export async function up(db, c) {
40
+ /*
41
+ * The scope document. One row per (connection, side) the operator publishes.
42
+ *
43
+ * `document` is the compiled-from JSON: resources, their logical refs, the
44
+ * `expose` column allow-list, `filterable`/`searchable`/`orderable`, the
45
+ * mandatory `where` predicate, and the claim strategy. It is validated by
46
+ * `compileScope` on every write and on every boot — never trusted from disk.
47
+ *
48
+ * `timezone` is a COLUMN rather than a field inside `document` because it is
49
+ * the one datum the SERIALIZER needs, not the caller: a reader has to reach it
50
+ * without parsing and validating the whole document first.
51
+ *
52
+ * `proposed_from_manifest` records whether this row was seeded from a
53
+ * manifest's `publicApi.propose` block (O2 option b) or authored from scratch
54
+ * in Studio (option c). It exists so widening past a publisher's proposal can
55
+ * be audited, and it is nullable because option (c) is unblocked today and
56
+ * option (b) is not yet ruled.
57
+ */
58
+ await db.schema
59
+ .createTable(metaTable('public_scopes'))
60
+ .ifNotExists()
61
+ .addColumn('id', c.id, (col) => col.primaryKey())
62
+ .addColumn('connection_id', c.id, (col) => col.notNull())
63
+ .addColumn('side', c.str(16), (col) => col.notNull())
64
+ .addColumn('name', c.str(80), (col) => col.notNull())
65
+ /** IANA zone, e.g. `Europe/London`. Required — see 28 D20. */
66
+ .addColumn('timezone', c.str(64), (col) => col.notNull())
67
+ .addColumn('document', c.json, (col) => col.notNull())
68
+ .addColumn('proposed_from_manifest', c.str(80))
69
+ .addColumn('created_by', c.id)
70
+ .addColumn('created_at', c.ts, (col) => col.notNull())
71
+ .addColumn('updated_at', c.ts, (col) => col.notNull())
72
+ .addForeignKeyConstraint('fk_adminium_public_scopes_connection', ['connection_id'], metaTable('connections'), ['id'], (cb) => cb.onDelete('cascade'))
73
+ .addForeignKeyConstraint('fk_adminium_public_scopes_created_by', ['created_by'], metaTable('users'), ['id'], (cb) => cb.onDelete('set null'))
74
+ .execute();
75
+ await db.schema
76
+ .createIndex('ix_adminium_public_scopes_connection')
77
+ .on(metaTable('public_scopes'))
78
+ .columns(['connection_id'])
79
+ .execute();
80
+ /*
81
+ * The publishable key.
82
+ *
83
+ * `token_hash` is what a request is verified against. `token_encrypted` is the
84
+ * reversible copy that makes the secret re-readable (see the header) — it uses
85
+ * the same `dsnCryptoFromSecret` envelope as connection DSNs, so it is
86
+ * unreadable without `ADMINIUM_SECRET` and it never leaves the server except
87
+ * through an authenticated reveal.
88
+ *
89
+ * `origins` is a JSON array narrowing the instance-wide
90
+ * `ADMINIUM_PUBLIC_API_ORIGINS` allow-list for this one key. Empty array means
91
+ * "no narrowing" — it does NOT mean "any origin", because the env var is
92
+ * always the outer bound.
93
+ *
94
+ * `scope_id` is `restrict` on delete, not `cascade`: deleting a scope out from
95
+ * under a live key would silently turn a working public surface into a 500,
96
+ * so the operator has to revoke the key first and see what they are breaking.
97
+ */
98
+ await db.schema
99
+ .createTable(metaTable('public_keys'))
100
+ .ifNotExists()
101
+ .addColumn('id', c.id, (col) => col.primaryKey())
102
+ .addColumn('name', c.str(80), (col) => col.notNull())
103
+ /** Display fragment, e.g. `adm_pub_4f2a91cd`. */
104
+ .addColumn('prefix', c.str(32), (col) => col.notNull())
105
+ .addColumn('token_hash', c.str(128), (col) => col.notNull())
106
+ .addColumn('token_encrypted', c.text, (col) => col.notNull())
107
+ .addColumn('scope_id', c.id, (col) => col.notNull())
108
+ .addColumn('side', c.str(16), (col) => col.notNull())
109
+ .addColumn('origins', c.json, (col) => col.notNull())
110
+ .addColumn('expires_at', c.ts)
111
+ .addColumn('revoked_at', c.ts)
112
+ .addColumn('last_used_at', c.ts)
113
+ .addColumn('created_by', c.id)
114
+ .addColumn('created_at', c.ts, (col) => col.notNull())
115
+ .addColumn('updated_at', c.ts, (col) => col.notNull())
116
+ .addForeignKeyConstraint('fk_adminium_public_keys_scope', ['scope_id'], metaTable('public_scopes'), ['id'], (cb) => cb.onDelete('restrict'))
117
+ .addForeignKeyConstraint('fk_adminium_public_keys_created_by', ['created_by'], metaTable('users'), ['id'], (cb) => cb.onDelete('set null'))
118
+ .execute();
119
+ /* Lookup is by prefix on every public request — the hot path of this wave. */
120
+ await db.schema
121
+ .createIndex('ix_adminium_public_keys_prefix')
122
+ .on(metaTable('public_keys'))
123
+ .columns(['prefix'])
124
+ .execute();
125
+ /*
126
+ * The end-customer session minted by `POST /public/claim` (28 §3.4).
127
+ *
128
+ * `grants` is the resolved claim — the mandatory predicate later requests are
129
+ * filtered by, e.g. "patient_id = 41". It is stored RESOLVED rather than
130
+ * re-derived per request so that editing a scope cannot retroactively widen a
131
+ * session that is already in someone's browser.
132
+ *
133
+ * There is no `user_id`. An end customer is deliberately NOT an
134
+ * `adminium_users` row (28 §3.4) — Adminium grows no second identity system,
135
+ * and this table is the whole of what a claimed customer is.
136
+ */
137
+ await db.schema
138
+ .createTable(metaTable('public_sessions'))
139
+ .ifNotExists()
140
+ .addColumn('id', c.id, (col) => col.primaryKey())
141
+ .addColumn('key_id', c.id, (col) => col.notNull())
142
+ .addColumn('token_hash', c.str(128), (col) => col.notNull())
143
+ .addColumn('grants', c.json, (col) => col.notNull())
144
+ .addColumn('expires_at', c.ts, (col) => col.notNull())
145
+ .addColumn('created_at', c.ts, (col) => col.notNull())
146
+ .addColumn('last_seen_at', c.ts)
147
+ .addForeignKeyConstraint('fk_adminium_public_sessions_key', ['key_id'], metaTable('public_keys'), ['id'], (cb) => cb.onDelete('cascade'))
148
+ .execute();
149
+ await db.schema
150
+ .createIndex('ix_adminium_public_sessions_token_hash')
151
+ .on(metaTable('public_sessions'))
152
+ .columns(['token_hash'])
153
+ .execute();
154
+ /*
155
+ * One-time challenges for the `email-code` claim tier (28 D11/D17).
156
+ *
157
+ * `attempts` is on the row rather than in a counter elsewhere because the
158
+ * containment property this tier is bought for — a low-entropy code is only
159
+ * safe if guesses are bounded — has to survive a process restart, and the
160
+ * rate limiter is an in-process `Map` that does not.
161
+ *
162
+ * `destination_hash` rather than the address itself: a challenge table is a
163
+ * list of customer email addresses otherwise, which is a needless standing
164
+ * disclosure for a row whose whole life is five minutes.
165
+ */
166
+ await db.schema
167
+ .createTable(metaTable('public_challenges'))
168
+ .ifNotExists()
169
+ .addColumn('id', c.id, (col) => col.primaryKey())
170
+ .addColumn('key_id', c.id, (col) => col.notNull())
171
+ .addColumn('ref', c.str(64), (col) => col.notNull())
172
+ .addColumn('destination_hash', c.str(128), (col) => col.notNull())
173
+ .addColumn('code_hash', c.str(128), (col) => col.notNull())
174
+ .addColumn('attempts', c.int, (col) => col.notNull().defaultTo(0))
175
+ .addColumn('consumed_at', c.ts)
176
+ .addColumn('expires_at', c.ts, (col) => col.notNull())
177
+ .addColumn('created_at', c.ts, (col) => col.notNull())
178
+ .addForeignKeyConstraint('fk_adminium_public_challenges_key', ['key_id'], metaTable('public_keys'), ['id'], (cb) => cb.onDelete('cascade'))
179
+ .execute();
180
+ await db.schema
181
+ .createIndex('ix_adminium_public_challenges_key_ref')
182
+ .on(metaTable('public_challenges'))
183
+ .columns(['key_id', 'ref'])
184
+ .execute();
185
+ }
186
+ //# sourceMappingURL=0014_public_surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0014_public_surface.js","sourceRoot":"","sources":["../../src/migrations/0014_public_surface.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAenD,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,aAAa,EAclD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAgBnD,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvE;AAED,eAAO,MAAM,cAAc,EAAE,SAAS,aAAa,EAelD,CAAC"}
@@ -32,6 +32,7 @@ import { up as up0010 } from './0010_llm_prompt_version_width.js';
32
32
  import { up as up0011 } from './0011_i18n_runtime.js';
33
33
  import { up as up0012 } from './0012_locale_width.js';
34
34
  import { up as up0013 } from './0013_connection_last_error_hint.js';
35
+ import { up as up0014 } from './0014_public_surface.js';
35
36
  export const ALL_MIGRATIONS = [
36
37
  { name: '0001_core_auth', up: up0001 },
37
38
  { name: '0002_rbac', up: up0002 },
@@ -46,5 +47,6 @@ export const ALL_MIGRATIONS = [
46
47
  { name: '0011_i18n_runtime', up: up0011 },
47
48
  { name: '0012_locale_width', up: up0012 },
48
49
  { name: '0013_connection_last_error_hint', up: up0013 },
50
+ { name: '0014_public_surface', up: up0014 },
49
51
  ];
50
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAQpE,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE;IACtC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE;IACjC,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,EAAE,MAAM,EAAE;IAC/C,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE;IACxC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE;IAChC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE;IACrC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE;IACrC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,EAAE;IAC1C,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE;IACvC,EAAE,IAAI,EAAE,+BAA+B,EAAE,EAAE,EAAE,MAAM,EAAE;IACrD,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,EAAE;IACzC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,EAAE;IACzC,EAAE,IAAI,EAAE,iCAAiC,EAAE,EAAE,EAAE,MAAM,EAAE;CACxD,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/migrations/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;;;;;;;;;;;;;;;;GAmBG;AAKH,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAQxD,MAAM,CAAC,MAAM,cAAc,GAA6B;IACtD,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,MAAM,EAAE;IACtC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE;IACjC,EAAE,IAAI,EAAE,yBAAyB,EAAE,EAAE,EAAE,MAAM,EAAE;IAC/C,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE;IACxC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE;IAChC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE;IACrC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,EAAE;IACrC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,EAAE;IAC1C,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE,EAAE,MAAM,EAAE;IACvC,EAAE,IAAI,EAAE,+BAA+B,EAAE,EAAE,EAAE,MAAM,EAAE;IACrD,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,EAAE;IACzC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,EAAE;IACzC,EAAE,IAAI,EAAE,iCAAiC,EAAE,EAAE,EAAE,MAAM,EAAE;IACvD,EAAE,IAAI,EAAE,qBAAqB,EAAE,EAAE,EAAE,MAAM,EAAE;CAC5C,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * ── WHY THIS IS NOT `export-zip` / `import-zip` ─────────────────────────────
6
6
  * The export bundle carries CONFIGURATION — settings, roles, rolePermissions,
7
7
  * connections, snapshots, overrides, pages, views. Eight resources out of the
8
- * thirty-four tables in {@link META_TABLE_NAMES}. That is the right content for
8
+ * tables in {@link META_TABLE_NAMES}. That is the right content for
9
9
  * "replay this instance's setup somewhere else", and exactly the wrong content
10
10
  * for "this instance is now living in a different database": it carries no
11
11
  * users, no sessions and no user_roles, so a relocation built on it would log
package/dist/relocate.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * ── WHY THIS IS NOT `export-zip` / `import-zip` ─────────────────────────────
7
7
  * The export bundle carries CONFIGURATION — settings, roles, rolePermissions,
8
8
  * connections, snapshots, overrides, pages, views. Eight resources out of the
9
- * thirty-four tables in {@link META_TABLE_NAMES}. That is the right content for
9
+ * tables in {@link META_TABLE_NAMES}. That is the right content for
10
10
  * "replay this instance's setup somewhere else", and exactly the wrong content
11
11
  * for "this instance is now living in a different database": it carries no
12
12
  * users, no sessions and no user_roles, so a relocation built on it would log
@@ -7,6 +7,7 @@ export * from './settings.js';
7
7
  export * from './user-prefs.js';
8
8
  export * from './audit.js';
9
9
  export * from './api-keys.js';
10
+ export * from './public-api.js';
10
11
  export * from './password-resets.js';
11
12
  export * from './jobs.js';
12
13
  export * from './connections.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repos/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/repos/index.ts"],"names":[],"mappings":"AACA,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
@@ -8,6 +8,7 @@ export * from './settings.js';
8
8
  export * from './user-prefs.js';
9
9
  export * from './audit.js';
10
10
  export * from './api-keys.js';
11
+ export * from './public-api.js';
11
12
  export * from './password-resets.js';
12
13
  export * from './jobs.js';
13
14
  export * from './connections.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repos/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/repos/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * publicScopesRepo / publicKeysRepo — the public surface's meta rows
3
+ * (28-public-surface.md §3.2–§3.3, migration `0014_public_surface`).
4
+ *
5
+ * Deliberately NOT part of `apiKeysRepo`. A publishable key differs from an
6
+ * `adm_sk_` key in two ways that both reach the storage layer: its secret is
7
+ * re-readable, and it must never be resolvable as an `RbacPrincipal` (D3).
8
+ * Sharing a repo would put both kinds one `where` clause apart, which is how a
9
+ * later "unify the key lookup" change would quietly break the property the
10
+ * whole off switch rests on.
11
+ */
12
+ import type { Selectable } from 'kysely';
13
+ import type { MetaDb } from '../connect.js';
14
+ import type { AdminiumPublicKeysTable, AdminiumPublicScopesTable, AdminiumPublicSessionsTable } from '../schema/tables.js';
15
+ export type PublicScope = Selectable<AdminiumPublicScopesTable>;
16
+ export type PublicKey = Selectable<AdminiumPublicKeysTable>;
17
+ export type PublicSession = Selectable<AdminiumPublicSessionsTable>;
18
+ export interface CreatePublicScopeInput {
19
+ connectionId: string;
20
+ side: string;
21
+ name: string;
22
+ /** Canonical IANA zone; the compiler refuses anything else. */
23
+ timezone: string;
24
+ /** The scope document, already serialized. */
25
+ document: string;
26
+ proposedFromManifest?: string | null;
27
+ createdBy?: string | null;
28
+ }
29
+ export declare function publicScopesRepo(meta: MetaDb): {
30
+ create(input: CreatePublicScopeInput, at?: number): Promise<PublicScope>;
31
+ findById(id: string): Promise<PublicScope | null>;
32
+ list(): Promise<PublicScope[]>;
33
+ listByConnection(connectionId: string): Promise<PublicScope[]>;
34
+ update(id: string, patch: {
35
+ name?: string;
36
+ timezone?: string;
37
+ document?: string;
38
+ }, at?: number): Promise<boolean>;
39
+ /**
40
+ * Deleting a scope is refused while a key points at it — the FK is
41
+ * `restrict`, so this surfaces the constraint as `false` rather than as a
42
+ * driver error. Revoking the key first is the intended order, because it
43
+ * makes the operator see what they are about to break.
44
+ */
45
+ remove(id: string): Promise<boolean>;
46
+ };
47
+ export interface CreatePublicKeyInput {
48
+ name: string;
49
+ /** Display/lookup fragment, e.g. `adm_pub_4f2a91cd`. */
50
+ prefix: string;
51
+ tokenHash: string;
52
+ /** AES-GCM envelope of the full token — the re-readable copy. */
53
+ tokenEncrypted: string;
54
+ scopeId: string;
55
+ side: string;
56
+ /** JSON array narrowing the instance origin list; `[]` = no narrowing. */
57
+ origins?: string[];
58
+ createdBy?: string | null;
59
+ expiresAt?: number | null;
60
+ }
61
+ export declare function publicKeysRepo(meta: MetaDb): {
62
+ create(input: CreatePublicKeyInput, at?: number): Promise<PublicKey>;
63
+ /**
64
+ * The AUTH lookup, by prefix.
65
+ *
66
+ * Returns every candidate rather than filtering on the hash in SQL, because
67
+ * the caller compares hashes in CONSTANT TIME. A `where tokenHash = ?`
68
+ * makes the database do a byte comparison whose timing an attacker can
69
+ * measure; the prefix is a public display fragment and leaks nothing.
70
+ *
71
+ * Revocation and expiry are NOT filtered here either — the caller decides,
72
+ * so it can answer every failure identically on the wire (§3.2) instead of
73
+ * letting "no row" and "revoked row" take different code paths.
74
+ */
75
+ findByPrefix(prefix: string): Promise<PublicKey[]>;
76
+ findById(id: string): Promise<PublicKey | null>;
77
+ listByScope(scopeId: string): Promise<PublicKey[]>;
78
+ list(): Promise<PublicKey[]>;
79
+ /** Rotation: a new secret against the same row, keeping scope and origins. */
80
+ rotate(id: string, next: {
81
+ prefix: string;
82
+ tokenHash: string;
83
+ tokenEncrypted: string;
84
+ }, at?: number): Promise<boolean>;
85
+ revoke(id: string, at?: number): Promise<boolean>;
86
+ /** Throttled by the caller, like session and api-key touches. */
87
+ touchLastUsed(id: string, at?: number): Promise<void>;
88
+ };
89
+ export interface CreatePublicSessionInput {
90
+ keyId: string;
91
+ tokenHash: string;
92
+ /** The RESOLVED claim — see the table comment on why it is not re-derived. */
93
+ grants: string;
94
+ expiresAt: number;
95
+ }
96
+ export declare function publicSessionsRepo(meta: MetaDb): {
97
+ create(input: CreatePublicSessionInput, at?: number): Promise<PublicSession>;
98
+ /**
99
+ * Resolve a session token.
100
+ *
101
+ * Unlike `publicKeysRepo.findByPrefix`, matching on the hash in SQL is fine
102
+ * here: a session token has no public display fragment to look up by, so
103
+ * there is nothing to narrow on first. Expiry IS filtered, because an
104
+ * expired session and an unknown one are the same thing to the caller and
105
+ * there is no reason to carry the difference back up.
106
+ */
107
+ findValid(tokenHash: string, at?: number): Promise<PublicSession | null>;
108
+ touch(id: string, at?: number): Promise<void>;
109
+ remove(tokenHash: string): Promise<boolean>;
110
+ /** Housekeeping: drop everything that has lapsed. */
111
+ purgeExpired(at?: number): Promise<number>;
112
+ };
113
+ export type PublicSessionsRepo = ReturnType<typeof publicSessionsRepo>;
114
+ export type PublicScopesRepo = ReturnType<typeof publicScopesRepo>;
115
+ export type PublicKeysRepo = ReturnType<typeof publicKeysRepo>;
116
+ //# sourceMappingURL=public-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/repos/public-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,249 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ /**
3
+ * publicScopesRepo / publicKeysRepo — the public surface's meta rows
4
+ * (28-public-surface.md §3.2–§3.3, migration `0014_public_surface`).
5
+ *
6
+ * Deliberately NOT part of `apiKeysRepo`. A publishable key differs from an
7
+ * `adm_sk_` key in two ways that both reach the storage layer: its secret is
8
+ * re-readable, and it must never be resolvable as an `RbacPrincipal` (D3).
9
+ * Sharing a repo would put both kinds one `where` clause apart, which is how a
10
+ * later "unify the key lookup" change would quietly break the property the
11
+ * whole off switch rests on.
12
+ */
13
+ import { newId } from '../ids.js';
14
+ /**
15
+ * A `json` column does not come back the same shape on every store.
16
+ *
17
+ * postgres and mysql hand back a PARSED value; sqlite hands back the text it
18
+ * stored. `PublicScope.document` is declared `string` and every caller treats
19
+ * it as one — `resolve.ts` calls `JSON.parse` on it, and the admin route
20
+ * returns it under a `z.string()` response schema — so on the two production
21
+ * stores that parse threw and that response failed validation, while the whole
22
+ * suite stayed green on sqlite. Found by CI, which runs all three; the local
23
+ * run skipped 334 store-gated tests.
24
+ *
25
+ * Normalising here rather than at each caller is the point of a repo layer:
26
+ * the driver difference is this file's business and nobody else's.
27
+ */
28
+ function jsonText(value) {
29
+ return typeof value === "string" ? value : JSON.stringify(value);
30
+ }
31
+ /** One scope row, with its document normalised to text whatever the store did. */
32
+ function scopeRow(row) {
33
+ return { ...row, document: jsonText(row.document) };
34
+ }
35
+ export function publicScopesRepo(meta) {
36
+ const { db } = meta;
37
+ return {
38
+ async create(input, at = Date.now()) {
39
+ const row = {
40
+ id: newId('psc'),
41
+ connectionId: input.connectionId,
42
+ side: input.side,
43
+ name: input.name,
44
+ timezone: input.timezone,
45
+ document: input.document,
46
+ proposedFromManifest: input.proposedFromManifest ?? null,
47
+ createdBy: input.createdBy ?? null,
48
+ createdAt: at,
49
+ updatedAt: at,
50
+ };
51
+ await db.insertInto('adminium_public_scopes').values(row).execute();
52
+ return row;
53
+ },
54
+ async findById(id) {
55
+ const row = await db
56
+ .selectFrom('adminium_public_scopes')
57
+ .selectAll()
58
+ .where('id', '=', id)
59
+ .executeTakeFirst();
60
+ return row === undefined ? null : scopeRow(row);
61
+ },
62
+ async list() {
63
+ const rows = await db
64
+ .selectFrom('adminium_public_scopes')
65
+ .selectAll()
66
+ .orderBy('createdAt', 'desc')
67
+ .execute();
68
+ return rows.map(scopeRow);
69
+ },
70
+ async listByConnection(connectionId) {
71
+ const rows = await db
72
+ .selectFrom('adminium_public_scopes')
73
+ .selectAll()
74
+ .where('connectionId', '=', connectionId)
75
+ .orderBy('createdAt', 'desc')
76
+ .execute();
77
+ return rows.map(scopeRow);
78
+ },
79
+ async update(id, patch, at = Date.now()) {
80
+ const res = await db
81
+ .updateTable('adminium_public_scopes')
82
+ .set({ ...patch, updatedAt: at })
83
+ .where('id', '=', id)
84
+ .executeTakeFirst();
85
+ return Number(res.numUpdatedRows) === 1;
86
+ },
87
+ /**
88
+ * Deleting a scope is refused while a key points at it — the FK is
89
+ * `restrict`, so this surfaces the constraint as `false` rather than as a
90
+ * driver error. Revoking the key first is the intended order, because it
91
+ * makes the operator see what they are about to break.
92
+ */
93
+ async remove(id) {
94
+ const attached = await db
95
+ .selectFrom('adminium_public_keys')
96
+ .select('id')
97
+ .where('scopeId', '=', id)
98
+ .executeTakeFirst();
99
+ if (attached !== undefined)
100
+ return false;
101
+ const res = await db
102
+ .deleteFrom('adminium_public_scopes')
103
+ .where('id', '=', id)
104
+ .executeTakeFirst();
105
+ return Number(res.numDeletedRows) === 1;
106
+ },
107
+ };
108
+ }
109
+ export function publicKeysRepo(meta) {
110
+ const { db } = meta;
111
+ return {
112
+ async create(input, at = Date.now()) {
113
+ const row = {
114
+ id: newId('pbk'),
115
+ name: input.name,
116
+ prefix: input.prefix,
117
+ tokenHash: input.tokenHash,
118
+ tokenEncrypted: input.tokenEncrypted,
119
+ scopeId: input.scopeId,
120
+ side: input.side,
121
+ origins: JSON.stringify(input.origins ?? []),
122
+ expiresAt: input.expiresAt ?? null,
123
+ revokedAt: null,
124
+ lastUsedAt: null,
125
+ createdBy: input.createdBy ?? null,
126
+ createdAt: at,
127
+ updatedAt: at,
128
+ };
129
+ await db.insertInto('adminium_public_keys').values(row).execute();
130
+ return row;
131
+ },
132
+ /**
133
+ * The AUTH lookup, by prefix.
134
+ *
135
+ * Returns every candidate rather than filtering on the hash in SQL, because
136
+ * the caller compares hashes in CONSTANT TIME. A `where tokenHash = ?`
137
+ * makes the database do a byte comparison whose timing an attacker can
138
+ * measure; the prefix is a public display fragment and leaks nothing.
139
+ *
140
+ * Revocation and expiry are NOT filtered here either — the caller decides,
141
+ * so it can answer every failure identically on the wire (§3.2) instead of
142
+ * letting "no row" and "revoked row" take different code paths.
143
+ */
144
+ async findByPrefix(prefix) {
145
+ return db
146
+ .selectFrom('adminium_public_keys')
147
+ .selectAll()
148
+ .where('prefix', '=', prefix)
149
+ .execute();
150
+ },
151
+ async findById(id) {
152
+ const row = await db
153
+ .selectFrom('adminium_public_keys')
154
+ .selectAll()
155
+ .where('id', '=', id)
156
+ .executeTakeFirst();
157
+ return row ?? null;
158
+ },
159
+ async listByScope(scopeId) {
160
+ return db
161
+ .selectFrom('adminium_public_keys')
162
+ .selectAll()
163
+ .where('scopeId', '=', scopeId)
164
+ .orderBy('createdAt', 'desc')
165
+ .execute();
166
+ },
167
+ async list() {
168
+ return db.selectFrom('adminium_public_keys').selectAll().orderBy('createdAt', 'desc').execute();
169
+ },
170
+ /** Rotation: a new secret against the same row, keeping scope and origins. */
171
+ async rotate(id, next, at = Date.now()) {
172
+ const res = await db
173
+ .updateTable('adminium_public_keys')
174
+ .set({ ...next, updatedAt: at })
175
+ .where('id', '=', id)
176
+ .where('revokedAt', 'is', null)
177
+ .executeTakeFirst();
178
+ return Number(res.numUpdatedRows) === 1;
179
+ },
180
+ async revoke(id, at = Date.now()) {
181
+ const res = await db
182
+ .updateTable('adminium_public_keys')
183
+ .set({ revokedAt: at, updatedAt: at })
184
+ .where('id', '=', id)
185
+ .where('revokedAt', 'is', null)
186
+ .executeTakeFirst();
187
+ return Number(res.numUpdatedRows) === 1;
188
+ },
189
+ /** Throttled by the caller, like session and api-key touches. */
190
+ async touchLastUsed(id, at = Date.now()) {
191
+ await db.updateTable('adminium_public_keys').set({ lastUsedAt: at }).where('id', '=', id).execute();
192
+ },
193
+ };
194
+ }
195
+ export function publicSessionsRepo(meta) {
196
+ const { db } = meta;
197
+ return {
198
+ async create(input, at = Date.now()) {
199
+ const row = {
200
+ id: newId('pss'),
201
+ keyId: input.keyId,
202
+ tokenHash: input.tokenHash,
203
+ grants: input.grants,
204
+ expiresAt: input.expiresAt,
205
+ createdAt: at,
206
+ lastSeenAt: null,
207
+ };
208
+ await db.insertInto('adminium_public_sessions').values(row).execute();
209
+ return row;
210
+ },
211
+ /**
212
+ * Resolve a session token.
213
+ *
214
+ * Unlike `publicKeysRepo.findByPrefix`, matching on the hash in SQL is fine
215
+ * here: a session token has no public display fragment to look up by, so
216
+ * there is nothing to narrow on first. Expiry IS filtered, because an
217
+ * expired session and an unknown one are the same thing to the caller and
218
+ * there is no reason to carry the difference back up.
219
+ */
220
+ async findValid(tokenHash, at = Date.now()) {
221
+ const row = await db
222
+ .selectFrom('adminium_public_sessions')
223
+ .selectAll()
224
+ .where('tokenHash', '=', tokenHash)
225
+ .where('expiresAt', '>', at)
226
+ .executeTakeFirst();
227
+ return row ?? null;
228
+ },
229
+ async touch(id, at = Date.now()) {
230
+ await db.updateTable('adminium_public_sessions').set({ lastSeenAt: at }).where('id', '=', id).execute();
231
+ },
232
+ async remove(tokenHash) {
233
+ const res = await db
234
+ .deleteFrom('adminium_public_sessions')
235
+ .where('tokenHash', '=', tokenHash)
236
+ .executeTakeFirst();
237
+ return Number(res.numDeletedRows) > 0;
238
+ },
239
+ /** Housekeeping: drop everything that has lapsed. */
240
+ async purgeExpired(at = Date.now()) {
241
+ const res = await db
242
+ .deleteFrom('adminium_public_sessions')
243
+ .where('expiresAt', '<=', at)
244
+ .executeTakeFirst();
245
+ return Number(res.numDeletedRows);
246
+ },
247
+ };
248
+ }
249
+ //# sourceMappingURL=public-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../src/repos/public-api.ts"],"names":[],"mappings":"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"}
@@ -88,8 +88,47 @@ export declare const SETTINGS_REGISTRY: {
88
88
  readonly 'branding.showVersion': SettingDef<boolean>;
89
89
  readonly 'branding.faviconFileId': SettingDef<string | null>;
90
90
  readonly 'auth.sessionTtlHours': SettingDef<number>;
91
+ /**
92
+ * ADVISORY, NOT A PERIMETER — the name overpromises, so read this before
93
+ * relying on it. Exactly two things in the product read this flag:
94
+ *
95
+ * 1. `apps/server/src/routes/auth/handlers.ts` — `needsTwoFactorSetup` puts
96
+ * `twoFactorSetupRequired` on the login reply and on `GET /auth/session`
97
+ * when the account has no TOTP. That is a SIGNAL for the client to route
98
+ * into the enroll flow, deliberately not a denial: `/auth/2fa/enroll` and
99
+ * `/auth/2fa/activate` are themselves `requireAuth`, so refusing the
100
+ * session would leave the user no door to enroll through.
101
+ * 2. Same file, `disable2faHandler` — `POST /auth/2fa/disable` throws
102
+ * ForbiddenError while the flag is on, so an account that IS enrolled
103
+ * cannot opt back out.
104
+ *
105
+ * NOTHING ELSE READS IT. In as many words: no server-side preHandler blocks
106
+ * an un-enrolled principal. A caller that simply ignores the signal — any
107
+ * API client that is not our dashboard — holds a full session and can call
108
+ * every route without ever enrolling. API-key principals are outside the
109
+ * question structurally: `apps/server/src/plugins/auth.ts` resolves an
110
+ * `Authorization: Bearer adm_…` key and returns before a session exists, so
111
+ * no session-conditioned gate could reach them even if one were added. What
112
+ * this flag hardens is enrollment (you cannot leave once in), not access.
113
+ *
114
+ * Marked `P`, so a config bundle carries it: `adminium import-zip` replays
115
+ * settings through `settingsRepo.set` (see the import service under
116
+ * `apps/server/src/export/`), which can land `true` on an instance where
117
+ * nobody has TOTP enrolled. Survivable precisely BECAUSE it is not a
118
+ * perimeter — everyone can still log in — so the recovery is to turn it off
119
+ * at Settings → Security (`PUT /settings/security`, needs `settings.manage`).
120
+ * If no admin UI is reachable, the floor is SQL; there is no
121
+ * `adminium settings` subcommand to do it with:
122
+ *
123
+ * DELETE FROM adminium_settings WHERE key = 'auth.require2fa';
124
+ *
125
+ * Deleting the row suffices — `packages/meta/src/repos/settings.ts` `get()`
126
+ * returns the registry default when no row exists, and that default is
127
+ * `false`.
128
+ */
91
129
  readonly 'auth.require2fa': SettingDef<boolean>;
92
130
  readonly 'auth.allowSignup': SettingDef<boolean>;
131
+ readonly 'publicApi.enabled': SettingDef<boolean>;
93
132
  readonly 'auth.passwordMinLength': SettingDef<number>;
94
133
  readonly 'email.smtp': SettingDef<{
95
134
  host: string;
@@ -1 +1 @@
1
- {"version":3,"file":"settings-registry.d.ts","sourceRoot":"","sources":["../../src/schema/settings-registry.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC;IACX,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAwCD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AACH,eAAO,MAAM,sBAAsB;;;;kBAAiC,CAAC;AAErE,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,iBAAiB;;;;;IAK5B;;;;;;;;;;;;;OAaG;;;;IAIH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAkCH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;;IAEH;;;;;;;;;;;;;;OAcG;;;;;;;;IAQH;;;;;;;;;;OAUG;;IAEH;;;;;;OAMG;;CAEK,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,OAAO,iBAAiB,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;AAChD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,UAAU,IAAI,gBAAgB,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE7G,eAAO,MAAM,YAAY,EAAqC,UAAU,EAAE,CAAC;AAE3E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,UAAU,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAE7D"}
1
+ {"version":3,"file":"settings-registry.d.ts","sourceRoot":"","sources":["../../src/schema/settings-registry.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC;IACX,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAwCD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AACH,eAAO,MAAM,sBAAsB;;;;kBAAiC,CAAC;AAErE,mEAAmE;AACnE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,iBAAiB;;;;;IAK5B;;;;;;;;;;;;;OAaG;;;;IAIH;;;;OAIG;;;;IAIH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+CH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;;IAEH;;;;;;;;;;;;;;OAcG;;;;;;;;IAQH;;;;;;;;;;OAUG;;IAEH;;;;;;OAMG;;CAEK,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,OAAO,iBAAiB,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC;AAChD,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,UAAU,IAAI,gBAAgB,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE7G,eAAO,MAAM,YAAY,EAAqC,UAAU,EAAE,CAAC;AAE3E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,UAAU,CAE3D;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAE7D"}
@@ -82,8 +82,61 @@ export const SETTINGS_REGISTRY = {
82
82
  'branding.showVersion': def(z.boolean(), true, 'Show the app version in the sidebar', P),
83
83
  'branding.faviconFileId': def(z.string().nullable(), null, 'Favicon file id', P),
84
84
  'auth.sessionTtlHours': def(z.number().int().min(1).max(8760), 720, 'Session lifetime in hours', P),
85
+ /**
86
+ * ADVISORY, NOT A PERIMETER — the name overpromises, so read this before
87
+ * relying on it. Exactly two things in the product read this flag:
88
+ *
89
+ * 1. `apps/server/src/routes/auth/handlers.ts` — `needsTwoFactorSetup` puts
90
+ * `twoFactorSetupRequired` on the login reply and on `GET /auth/session`
91
+ * when the account has no TOTP. That is a SIGNAL for the client to route
92
+ * into the enroll flow, deliberately not a denial: `/auth/2fa/enroll` and
93
+ * `/auth/2fa/activate` are themselves `requireAuth`, so refusing the
94
+ * session would leave the user no door to enroll through.
95
+ * 2. Same file, `disable2faHandler` — `POST /auth/2fa/disable` throws
96
+ * ForbiddenError while the flag is on, so an account that IS enrolled
97
+ * cannot opt back out.
98
+ *
99
+ * NOTHING ELSE READS IT. In as many words: no server-side preHandler blocks
100
+ * an un-enrolled principal. A caller that simply ignores the signal — any
101
+ * API client that is not our dashboard — holds a full session and can call
102
+ * every route without ever enrolling. API-key principals are outside the
103
+ * question structurally: `apps/server/src/plugins/auth.ts` resolves an
104
+ * `Authorization: Bearer adm_…` key and returns before a session exists, so
105
+ * no session-conditioned gate could reach them even if one were added. What
106
+ * this flag hardens is enrollment (you cannot leave once in), not access.
107
+ *
108
+ * Marked `P`, so a config bundle carries it: `adminium import-zip` replays
109
+ * settings through `settingsRepo.set` (see the import service under
110
+ * `apps/server/src/export/`), which can land `true` on an instance where
111
+ * nobody has TOTP enrolled. Survivable precisely BECAUSE it is not a
112
+ * perimeter — everyone can still log in — so the recovery is to turn it off
113
+ * at Settings → Security (`PUT /settings/security`, needs `settings.manage`).
114
+ * If no admin UI is reachable, the floor is SQL; there is no
115
+ * `adminium settings` subcommand to do it with:
116
+ *
117
+ * DELETE FROM adminium_settings WHERE key = 'auth.require2fa';
118
+ *
119
+ * Deleting the row suffices — `packages/meta/src/repos/settings.ts` `get()`
120
+ * returns the registry default when no row exists, and that default is
121
+ * `false`.
122
+ */
85
123
  'auth.require2fa': def(z.boolean(), false, 'Require TOTP for all users', P),
86
124
  'auth.allowSignup': def(z.boolean(), false, 'Allow self-signup (default invite-only)', P),
125
+ /*
126
+ * The public API's runtime off switch (28-public-surface.md §3.5 level 2).
127
+ *
128
+ * DEFAULT FALSE, and deliberately NOT `portable`. It is an instance-level
129
+ * decision about whether this database is reachable from the internet, and
130
+ * carrying it in a config bundle would turn "I replayed my setup on a new
131
+ * box" into "I published a database I had not scoped yet". That is the same
132
+ * class of mistake as `system.superAdminCreatedAt` travelling in a bundle,
133
+ * which is the incident this file's `portable` comment was written for.
134
+ *
135
+ * Level 1 (`ADMINIUM_PUBLIC_API_ORIGINS`) still gates registration, so this
136
+ * key does nothing on an instance that never opted in — two independent
137
+ * switches, both of which must be on.
138
+ */
139
+ 'publicApi.enabled': def(z.boolean(), false, 'Serve the scoped public API at /api/v1/public'),
87
140
  'auth.passwordMinLength': def(z.number().int().min(8).max(128), 10, 'Minimum password length', P),
88
141
  'email.smtp': def(smtpSchema, null, 'SMTP transport; email features degrade gracefully when unset', { secret: true, portable: true }),
89
142
  'llm.provider': def(llmProviderSchema, null, 'LLM provider (06-llm-assist.md §3.1)', P),
@@ -1 +1 @@
1
- {"version":3,"file":"settings-registry.js","sourceRoot":"","sources":["../../src/schema/settings-registry.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAkC5F,SAAS,GAAG,CACV,MAAoB,EACpB,IAAO,EACP,WAAmB,EACnB,OAAmB,EAAE;IAErB,OAAO;QACL,MAAM;QACN,OAAO,EAAE,IAAI;QACb,WAAW;QACX,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,GAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAEzC,MAAM,UAAU,GAAG,CAAC;KACjB,MAAM,CAAC;IACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;IACzB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;CACpB,CAAC;KACD,QAAQ,EAAE,CAAC;AAEd,MAAM,iBAAiB,GAAG,CAAC;KACxB,IAAI,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC;KAChF,QAAQ,EAAE,CAAC;AAEd;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACtC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CAC1C,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;AAKrE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,kBAAkB,EAAE,GAAG,CAA8B,WAAW,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAClG,mBAAmB,EAAE,GAAG,CAA+B,YAAY,EAAE,QAAQ,EAAE,sBAAsB,EAAE,CAAC,CAAC;IACzG,oBAAoB,EAAE,GAAG,CAAgC,aAAa,EAAE,aAAa,EAAE,wBAAwB,EAAE,CAAC,CAAC;IACnH,gBAAgB,EAAE,GAAG,CAA+B,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC/F;;;;;;;;;;;;;OAaG;IACH,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,mCAAmC,CAAC;IACpF,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,0BAA0B,EAAE,CAAC,CAAC;IAC7F,qBAAqB,EAAE,GAAG,CAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;IACzF;;;;OAIG;IACH,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,qCAAqC,EAAE,CAAC,CAAC;IACxF,wBAAwB,EAAE,GAAG,CAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC/F,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACnG,iBAAiB,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAC,CAAC;IAC3E,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,yCAAyC,EAAE,CAAC,CAAC;IACzF,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,yBAAyB,EAAE,CAAC,CAAC;IACjG,YAAY,EAAE,GAAG,CAA6B,UAAU,EAAE,IAAI,EAAE,8DAA8D,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACjK,cAAc,EAAE,GAAG,CAAoC,iBAAiB,EAAE,IAAI,EAAE,sCAAsC,EAAE,CAAC,CAAC;IAC1H,YAAY,EAAE,GAAG,CAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvH,WAAW,EAAE,GAAG,CAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,8CAA8C,EAAE,CAAC,CAAC;IAC/G,aAAa,EAAE,GAAG,CAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,yCAAyC,EAAE,CAAC,CAAC;IAC5G,qBAAqB,EAAE,GAAG,CAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,6CAA6C,EAAE,CAAC,CAAC;IACzI,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,6BAA6B,EAAE,CAAC,CAAC;IACxG,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,mCAAmC,EAAE,CAAC,CAAC;IAC1G,iCAAiC,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,wCAAwC,EAAE,CAAC,CAAC;IAChH,8BAA8B,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,kCAAkC,EAAE,CAAC,CAAC;IACvG,6BAA6B,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,qCAAqC,EAAE,CAAC,CAAC;IACzG,uBAAuB,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,qCAAqC,EAAE,CAAC,CAAC;IACnG,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,gCAAgC,EAAE,CAAC,CAAC;IAC3F,wBAAwB,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,yDAAyD,EAAE,CAAC,CAAC;IAC/G,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,8BAA8B,EAAE,CAAC,CAAC;IAC/E,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,0DAA0D;IAC1D,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,+CAA+C,EAAE,CAAC,CAAC;IACnG,6EAA6E;IAC7E,4EAA4E;IAC5E,wEAAwE;IACxE,6EAA6E;IAC7E,+EAA+E;IAC/E,2EAA2E;IAC3E,yBAAyB;IACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,0DAA0D,CAAC;IACzG;;;;;;;;;;;;;;OAcG;IACH,0BAA0B,EAAE,GAAG,CAC7B,sBAAsB,EACtB,EAAE,EACF,2DAA2D,CAC5D;IACD,mBAAmB,EAAE,GAAG,CAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,gDAAgD,CAAC;IACtH,uBAAuB,EAAE,GAAG,CAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,gCAAgC,CAAC;IAC1G;;;;;;;;;;OAUG;IACH,4BAA4B,EAAE,GAAG,CAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,8CAA8C,CAAC;IAC7H;;;;;;OAMG;IACH,sBAAsB,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,8BAA8B,CAAC;CAC/E,CAAC;AAMX,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAiB,CAAC;AAE3E,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,GAAe;IAChD,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAe;IAClD,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"settings-registry.js","sourceRoot":"","sources":["../../src/schema/settings-registry.ts"],"names":[],"mappings":"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"}
@@ -574,6 +574,90 @@ export interface AdminiumChangelogSeenTable {
574
574
  version: string;
575
575
  seenAt: Ts;
576
576
  }
577
+ /**
578
+ * 28-public-surface.md §3.2 — the scope document.
579
+ *
580
+ * One row per (connection, side) the operator publishes. `document` holds the
581
+ * resources, their logical refs, the `expose` allow-list and the mandatory
582
+ * predicate; it is re-validated by `compileScope` on every read from disk and
583
+ * never trusted.
584
+ */
585
+ export interface AdminiumPublicScopesTable {
586
+ id: Id;
587
+ connectionId: Id;
588
+ /** `staff` | `customer` — the `frontends[]` side this scope serves (§4). */
589
+ side: string;
590
+ name: string;
591
+ /**
592
+ * IANA zone. A COLUMN rather than a `document` field because the serializer
593
+ * needs it without parsing the whole document first (28 D20).
594
+ */
595
+ timezone: string;
596
+ document: string;
597
+ /** Manifest key this was seeded from, or null when authored in Studio (O2). */
598
+ proposedFromManifest: string | null;
599
+ createdBy: Id | null;
600
+ createdAt: Ts;
601
+ updatedAt: Ts;
602
+ }
603
+ /**
604
+ * 28-public-surface.md §3.3 — the publishable key.
605
+ *
606
+ * Separate from `adminium_api_keys` on two load-bearing properties: the secret
607
+ * is re-readable (it lives in a public bundle and must survive a rebuild), and
608
+ * a token from this table is never an `RbacPrincipal` (28 D3), which is what
609
+ * makes it inert on every other route by construction.
610
+ */
611
+ export interface AdminiumPublicKeysTable {
612
+ id: Id;
613
+ name: string;
614
+ /** Display fragment, e.g. `adm_pub_4f2a91cd`. */
615
+ prefix: string;
616
+ tokenHash: string;
617
+ /** AES-GCM envelope — the re-readable copy. Never leaves the server as-is. */
618
+ tokenEncrypted: string;
619
+ scopeId: Id;
620
+ side: string;
621
+ /** JSON string array narrowing `ADMINIUM_PUBLIC_API_ORIGINS`; `[]` = no narrowing. */
622
+ origins: string;
623
+ expiresAt: Ts | null;
624
+ revokedAt: Ts | null;
625
+ lastUsedAt: Ts | null;
626
+ createdBy: Id | null;
627
+ createdAt: Ts;
628
+ updatedAt: Ts;
629
+ }
630
+ /**
631
+ * 28-public-surface.md §3.4 — the end-customer session.
632
+ *
633
+ * There is deliberately no `userId`: an end customer is not an
634
+ * `adminium_users` row, and this table is the whole of what a claimed customer
635
+ * is. `grants` is stored RESOLVED so editing a scope cannot retroactively widen
636
+ * a session already in someone's browser.
637
+ */
638
+ export interface AdminiumPublicSessionsTable {
639
+ id: Id;
640
+ keyId: Id;
641
+ tokenHash: string;
642
+ grants: string;
643
+ expiresAt: Ts;
644
+ createdAt: Ts;
645
+ lastSeenAt: Ts | null;
646
+ }
647
+ /** 28-public-surface.md §3.4 — one-time challenge for the `email-code` tier. */
648
+ export interface AdminiumPublicChallengesTable {
649
+ id: Id;
650
+ keyId: Id;
651
+ ref: string;
652
+ /** Hashed, not stored plain — a challenge table is otherwise a customer address list. */
653
+ destinationHash: string;
654
+ codeHash: string;
655
+ /** On the row, not in the in-process limiter, so the bound survives a restart. */
656
+ attempts: number;
657
+ consumedAt: Ts | null;
658
+ expiresAt: Ts;
659
+ createdAt: Ts;
660
+ }
577
661
  /** The full meta-store database — every adminium_* table (BRIEF §6). */
578
662
  export interface MetaDB {
579
663
  adminium_migrations: AdminiumMigrationsTable;
@@ -610,7 +694,11 @@ export interface MetaDB {
610
694
  adminium_changelog_seen: AdminiumChangelogSeenTable;
611
695
  adminium_locales: AdminiumLocalesTable;
612
696
  adminium_translations: AdminiumTranslationsTable;
697
+ adminium_public_scopes: AdminiumPublicScopesTable;
698
+ adminium_public_keys: AdminiumPublicKeysTable;
699
+ adminium_public_sessions: AdminiumPublicSessionsTable;
700
+ adminium_public_challenges: AdminiumPublicChallengesTable;
613
701
  }
614
702
  /** Every physical table name, in dependency-safe creation order. */
615
- export declare const META_TABLE_NAMES: readonly ["adminium_migrations", "adminium_users", "adminium_user_prefs", "adminium_sessions", "adminium_password_resets", "adminium_settings", "adminium_roles", "adminium_role_permissions", "adminium_user_roles", "adminium_api_keys", "adminium_files", "adminium_connections", "adminium_schema_snapshots", "adminium_schema_overrides", "adminium_pages", "adminium_views", "adminium_jobs", "adminium_audit_log", "adminium_notifications", "adminium_notification_prefs", "adminium_llm_runs", "adminium_automations", "adminium_automation_runs", "adminium_scheduled_reports", "adminium_exports", "adminium_imports", "adminium_email_templates", "adminium_webhooks", "adminium_webhook_deliveries", "adminium_feature_flags", "adminium_manifests", "adminium_changelog_seen", "adminium_locales", "adminium_translations"];
703
+ export declare const META_TABLE_NAMES: readonly ["adminium_migrations", "adminium_users", "adminium_user_prefs", "adminium_sessions", "adminium_password_resets", "adminium_settings", "adminium_roles", "adminium_role_permissions", "adminium_user_roles", "adminium_api_keys", "adminium_files", "adminium_connections", "adminium_schema_snapshots", "adminium_schema_overrides", "adminium_pages", "adminium_views", "adminium_jobs", "adminium_audit_log", "adminium_notifications", "adminium_notification_prefs", "adminium_llm_runs", "adminium_automations", "adminium_automation_runs", "adminium_scheduled_reports", "adminium_exports", "adminium_imports", "adminium_email_templates", "adminium_webhooks", "adminium_webhook_deliveries", "adminium_feature_flags", "adminium_manifests", "adminium_changelog_seen", "adminium_locales", "adminium_translations", "adminium_public_scopes", "adminium_public_keys", "adminium_public_sessions", "adminium_public_challenges"];
616
704
  //# sourceMappingURL=tables.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/schema/tables.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../src/schema/tables.ts"],"names":[],"mappings":"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"}
@@ -50,5 +50,9 @@ export const META_TABLE_NAMES = [
50
50
  'adminium_changelog_seen',
51
51
  'adminium_locales',
52
52
  'adminium_translations',
53
+ 'adminium_public_scopes',
54
+ 'adminium_public_keys',
55
+ 'adminium_public_sessions',
56
+ 'adminium_public_challenges',
53
57
  ];
54
58
  //# sourceMappingURL=tables.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../src/schema/tables.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;;;;;;;;;;;GAcG;AA0pBH,oEAAoE;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,qBAAqB;IACrB,gBAAgB;IAChB,qBAAqB;IACrB,mBAAmB;IACnB,0BAA0B;IAC1B,mBAAmB;IACnB,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,2BAA2B;IAC3B,2BAA2B;IAC3B,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,oBAAoB;IACpB,wBAAwB;IACxB,6BAA6B;IAC7B,mBAAmB;IACnB,sBAAsB;IACtB,0BAA0B;IAC1B,4BAA4B;IAC5B,kBAAkB;IAClB,kBAAkB;IAClB,0BAA0B;IAC1B,mBAAmB;IACnB,6BAA6B;IAC7B,wBAAwB;IACxB,oBAAoB;IACpB,yBAAyB;IACzB,kBAAkB;IAClB,uBAAuB;CACqB,CAAC"}
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../src/schema/tables.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;;;;;;;;;;;GAcG;AAsvBH,oEAAoE;AACpE,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,qBAAqB;IACrB,gBAAgB;IAChB,qBAAqB;IACrB,mBAAmB;IACnB,0BAA0B;IAC1B,mBAAmB;IACnB,gBAAgB;IAChB,2BAA2B;IAC3B,qBAAqB;IACrB,mBAAmB;IACnB,gBAAgB;IAChB,sBAAsB;IACtB,2BAA2B;IAC3B,2BAA2B;IAC3B,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,oBAAoB;IACpB,wBAAwB;IACxB,6BAA6B;IAC7B,mBAAmB;IACnB,sBAAsB;IACtB,0BAA0B;IAC1B,4BAA4B;IAC5B,kBAAkB;IAClB,kBAAkB;IAClB,0BAA0B;IAC1B,mBAAmB;IACnB,6BAA6B;IAC7B,wBAAwB;IACxB,oBAAoB;IACpB,yBAAyB;IACzB,kBAAkB;IAClB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,0BAA0B;IAC1B,4BAA4B;CACgB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adminiumjs/meta",
3
- "version": "0.2.2-rc.0",
3
+ "version": "0.2.2",
4
4
  "license": "AGPL-3.0-only",
5
5
  "repository": {
6
6
  "type": "git",