@adminiumjs/meta 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/dist/ids.d.ts +2 -0
  2. package/dist/ids.d.ts.map +1 -1
  3. package/dist/ids.js +7 -0
  4. package/dist/ids.js.map +1 -1
  5. package/dist/migrations/0015_connection_tenant_config.d.ts +42 -0
  6. package/dist/migrations/0015_connection_tenant_config.d.ts.map +1 -0
  7. package/dist/migrations/0015_connection_tenant_config.js +53 -0
  8. package/dist/migrations/0015_connection_tenant_config.js.map +1 -0
  9. package/dist/migrations/0016_audit_entity.d.ts +33 -0
  10. package/dist/migrations/0016_audit_entity.d.ts.map +1 -0
  11. package/dist/migrations/0016_audit_entity.js +137 -0
  12. package/dist/migrations/0016_audit_entity.js.map +1 -0
  13. package/dist/migrations/0017_surface_binding.d.ts +23 -0
  14. package/dist/migrations/0017_surface_binding.d.ts.map +1 -0
  15. package/dist/migrations/0017_surface_binding.js +37 -0
  16. package/dist/migrations/0017_surface_binding.js.map +1 -0
  17. package/dist/migrations/0018_connection_timezone_source.d.ts +44 -0
  18. package/dist/migrations/0018_connection_timezone_source.d.ts.map +1 -0
  19. package/dist/migrations/0018_connection_timezone_source.js +51 -0
  20. package/dist/migrations/0018_connection_timezone_source.js.map +1 -0
  21. package/dist/migrations/0019_connection_disabled.d.ts +38 -0
  22. package/dist/migrations/0019_connection_disabled.d.ts.map +1 -0
  23. package/dist/migrations/0019_connection_disabled.js +43 -0
  24. package/dist/migrations/0019_connection_disabled.js.map +1 -0
  25. package/dist/migrations/0020_manifests_add_on.d.ts +71 -0
  26. package/dist/migrations/0020_manifests_add_on.d.ts.map +1 -0
  27. package/dist/migrations/0020_manifests_add_on.js +111 -0
  28. package/dist/migrations/0020_manifests_add_on.js.map +1 -0
  29. package/dist/migrations/0021_add_on_credentials.d.ts +50 -0
  30. package/dist/migrations/0021_add_on_credentials.d.ts.map +1 -0
  31. package/dist/migrations/0021_add_on_credentials.js +80 -0
  32. package/dist/migrations/0021_add_on_credentials.js.map +1 -0
  33. package/dist/migrations/0022_studio_namespace.d.ts +44 -0
  34. package/dist/migrations/0022_studio_namespace.d.ts.map +1 -0
  35. package/dist/migrations/0022_studio_namespace.js +113 -0
  36. package/dist/migrations/0022_studio_namespace.js.map +1 -0
  37. package/dist/migrations/index.d.ts.map +1 -1
  38. package/dist/migrations/index.js +16 -0
  39. package/dist/migrations/index.js.map +1 -1
  40. package/dist/repos/audit.d.ts.map +1 -1
  41. package/dist/repos/audit.js +8 -2
  42. package/dist/repos/audit.js.map +1 -1
  43. package/dist/repos/connections.d.ts +62 -0
  44. package/dist/repos/connections.d.ts.map +1 -1
  45. package/dist/repos/connections.js +104 -0
  46. package/dist/repos/connections.js.map +1 -1
  47. package/dist/repos/index.d.ts +1 -0
  48. package/dist/repos/index.d.ts.map +1 -1
  49. package/dist/repos/index.js +1 -0
  50. package/dist/repos/index.js.map +1 -1
  51. package/dist/repos/manifests.d.ts +139 -0
  52. package/dist/repos/manifests.d.ts.map +1 -0
  53. package/dist/repos/manifests.js +279 -0
  54. package/dist/repos/manifests.js.map +1 -0
  55. package/dist/repos/pages.d.ts +7 -0
  56. package/dist/repos/pages.d.ts.map +1 -1
  57. package/dist/repos/pages.js +39 -8
  58. package/dist/repos/pages.js.map +1 -1
  59. package/dist/repos/public-api.d.ts +24 -0
  60. package/dist/repos/public-api.d.ts.map +1 -1
  61. package/dist/repos/public-api.js +50 -0
  62. package/dist/repos/public-api.js.map +1 -1
  63. package/dist/schema/json-payloads.d.ts +27 -2
  64. package/dist/schema/json-payloads.d.ts.map +1 -1
  65. package/dist/schema/json-payloads.js +41 -2
  66. package/dist/schema/json-payloads.js.map +1 -1
  67. package/dist/schema/settings-registry.d.ts +26 -0
  68. package/dist/schema/settings-registry.d.ts.map +1 -1
  69. package/dist/schema/settings-registry.js +130 -0
  70. package/dist/schema/settings-registry.js.map +1 -1
  71. package/dist/schema/tables.d.ts +89 -1
  72. package/dist/schema/tables.d.ts.map +1 -1
  73. package/dist/schema/tables.js +2 -0
  74. package/dist/schema/tables.js.map +1 -1
  75. package/package.json +1 -1
@@ -0,0 +1,279 @@
1
+ // SPDX-License-Identifier: AGPL-3.0-only
2
+ /**
3
+ * manifestsRepo — `adminium_manifests`, its attachments and its credentials
4
+ * (07-meta-store.md §3.32; 26-add-on-runtime.md §4).
5
+ *
6
+ * The table has existed since migration 0006 and until now had no repo, no
7
+ * writer and zero rows — which is how three planning documents came to record a
8
+ * shipped table as absent. This is the writer.
9
+ *
10
+ * ─── One repo, three tables, because they are one lifecycle ────────────────
11
+ *
12
+ * `adminium_manifests` says what is installed, `adminium_manifest_attachments`
13
+ * which hosts it is mounted on and whether it is on for each, and
14
+ * `adminium_add_on_credentials` what secret it was given. Install writes the
15
+ * first two, connect writes the third, disconnect deletes only the third, and
16
+ * uninstall deletes the first and lets the FKs take the rest (26 D5). Splitting
17
+ * them across three repos would put that sequence in the caller, where it is
18
+ * one forgotten delete away from an orphaned secret.
19
+ *
20
+ * ─── Repos never see key material ─────────────────────────────────────────
21
+ *
22
+ * `CredentialCrypto` is the same closure shape `connectionsRepo` takes for DSNs
23
+ * (01-architecture.md §3/§7): the server builds it from `ADMINIUM_SECRET` and
24
+ * hands it in. Nothing here derives a key, and the ciphertext is the only form
25
+ * a credential takes on this side of the boundary.
26
+ *
27
+ * `licenseKeyEncrypted` is shipped in the table and is never read or written by
28
+ * anything below: 17 defers licences BY NAME, so honouring that costs nothing.
29
+ */
30
+ import { newId } from '../ids.js';
31
+ import { packJson, readJson, readJsonOrNull } from './util.js';
32
+ export function manifestsRepo(meta, crypto) {
33
+ const { db } = meta;
34
+ async function attachmentsFor(manifestId) {
35
+ return db
36
+ .selectFrom('adminium_manifest_attachments')
37
+ .selectAll()
38
+ .where('manifestId', '=', manifestId)
39
+ .orderBy('attachedTo', 'asc')
40
+ .execute();
41
+ }
42
+ function hydrate(row, attachments) {
43
+ return { row, document: readJson(row.manifest), attachments };
44
+ }
45
+ return {
46
+ /**
47
+ * Install: one manifest row plus an attachment per host.
48
+ *
49
+ * NOT a transaction here, deliberately — the meta store's own migrator is
50
+ * the only thing in this package that opens one, and the caller
51
+ * (`applyInstall`) already owns a transaction spanning the DATA-source DDL
52
+ * and these rows. Wrapping again would nest.
53
+ */
54
+ async install(input, at = Date.now()) {
55
+ // Built as the INSERT shape, not as `ManifestRow`: `JsonColumn` is
56
+ // `ColumnType<unknown, string, string>`, so the column reads back as
57
+ // `unknown` and writes as a serialized string. The row returned to the
58
+ // caller carries the parsed document instead (see the return below).
59
+ const values = {
60
+ id: newId('mft'),
61
+ manifestKey: input.manifestKey,
62
+ version: input.version,
63
+ source: input.source,
64
+ manifest: packJson(input.document),
65
+ licenseKeyEncrypted: null,
66
+ connectionId: input.connectionId ?? null,
67
+ status: 'installed',
68
+ kind: input.kind,
69
+ installedBy: input.installedBy ?? null,
70
+ installedAt: at,
71
+ updatedAt: at,
72
+ };
73
+ await db.insertInto('adminium_manifests').values(values).execute();
74
+ const row = values;
75
+ const attachments = [];
76
+ for (const host of input.attachTo ?? []) {
77
+ const attachment = {
78
+ id: newId('mat'),
79
+ manifestId: row.id,
80
+ attachedTo: host,
81
+ disabledAt: null,
82
+ createdAt: at,
83
+ };
84
+ await db.insertInto('adminium_manifest_attachments').values(attachment).execute();
85
+ attachments.push(attachment);
86
+ }
87
+ return { row, document: input.document, attachments };
88
+ },
89
+ async findByKey(manifestKey) {
90
+ const row = await db
91
+ .selectFrom('adminium_manifests')
92
+ .selectAll()
93
+ .where('manifestKey', '=', manifestKey)
94
+ .executeTakeFirst();
95
+ if (row === undefined)
96
+ return null;
97
+ return hydrate(row, await attachmentsFor(row.id));
98
+ },
99
+ async findById(id) {
100
+ const row = await db
101
+ .selectFrom('adminium_manifests')
102
+ .selectAll()
103
+ .where('id', '=', id)
104
+ .executeTakeFirst();
105
+ if (row === undefined)
106
+ return null;
107
+ return hydrate(row, await attachmentsFor(row.id));
108
+ },
109
+ /** Every installed manifest of `kind`, newest first. */
110
+ async list(kind) {
111
+ let q = db.selectFrom('adminium_manifests').selectAll();
112
+ if (kind !== undefined)
113
+ q = q.where('kind', '=', kind);
114
+ const rows = await q.orderBy('installedAt', 'desc').execute();
115
+ const out = [];
116
+ for (const row of rows)
117
+ out.push(hydrate(row, await attachmentsFor(row.id)));
118
+ return out;
119
+ },
120
+ /**
121
+ * The read a HOST makes on every page load: what is attached here and on.
122
+ * Disabled attachments are excluded rather than returned with a flag — a
123
+ * host that has to remember to filter is a host that will forget once.
124
+ */
125
+ async enabledForHost(attachedTo) {
126
+ const rows = await db
127
+ .selectFrom('adminium_manifest_attachments as a')
128
+ .innerJoin('adminium_manifests as m', 'm.id', 'a.manifestId')
129
+ .selectAll('m')
130
+ .where('a.attachedTo', '=', attachedTo)
131
+ .where('a.disabledAt', 'is', null)
132
+ .where('m.kind', '=', 'add-on')
133
+ .where('m.status', '=', 'installed')
134
+ .orderBy('m.manifestKey', 'asc')
135
+ .execute();
136
+ const out = [];
137
+ for (const row of rows)
138
+ out.push(hydrate(row, await attachmentsFor(row.id)));
139
+ return out;
140
+ },
141
+ /** Upgrade in place: a new version and document over the same row (26-T17). */
142
+ async setVersion(id, input, at = Date.now()) {
143
+ await db
144
+ .updateTable('adminium_manifests')
145
+ .set({ version: input.version, manifest: packJson(input.document), updatedAt: at })
146
+ .where('id', '=', id)
147
+ .execute();
148
+ },
149
+ /** Attach to one more host; idempotent (the unique index is the guarantee). */
150
+ async attach(manifestId, attachedTo, at = Date.now()) {
151
+ const existing = await db
152
+ .selectFrom('adminium_manifest_attachments')
153
+ .selectAll()
154
+ .where('manifestId', '=', manifestId)
155
+ .where('attachedTo', '=', attachedTo)
156
+ .executeTakeFirst();
157
+ if (existing !== undefined)
158
+ return existing;
159
+ const row = {
160
+ id: newId('mat'),
161
+ manifestId,
162
+ attachedTo,
163
+ disabledAt: null,
164
+ createdAt: at,
165
+ };
166
+ await db.insertInto('adminium_manifest_attachments').values(row).execute();
167
+ return row;
168
+ },
169
+ /**
170
+ * Enable/disable on ONE host (§5.1's `PATCH`). Per attachment, not per
171
+ * manifest: an add-on can legitimately be live on one host and off on
172
+ * another, and a single flag would make that unrepresentable.
173
+ */
174
+ async setAttachmentEnabled(manifestId, attachedTo, enabled, at = Date.now()) {
175
+ const res = await db
176
+ .updateTable('adminium_manifest_attachments')
177
+ .set({ disabledAt: enabled ? null : at })
178
+ .where('manifestId', '=', manifestId)
179
+ .where('attachedTo', '=', attachedTo)
180
+ .executeTakeFirst();
181
+ return Number(res.numUpdatedRows) === 1;
182
+ },
183
+ /**
184
+ * Uninstall: delete the manifest row. Attachments and credentials follow by
185
+ * FK cascade; every table the add-on BROUGHT stays, because nothing here
186
+ * touches the data source (24 D16 / 26 D5).
187
+ */
188
+ async uninstall(id) {
189
+ const res = await db.deleteFrom('adminium_manifests').where('id', '=', id).executeTakeFirst();
190
+ return Number(res.numDeletedRows) === 1;
191
+ },
192
+ // ─── Credentials ────────────────────────────────────────────────────────
193
+ /**
194
+ * Connect: store the envelope encrypted, one row per add-on.
195
+ *
196
+ * An upsert rather than an insert, because the unique index makes a second
197
+ * connect a violation and a re-connect is an ordinary thing to do (a
198
+ * rotated API key, a re-authorised OAuth grant).
199
+ */
200
+ async setCredential(manifestId, envelope, at = Date.now()) {
201
+ const payload = crypto.encrypt(JSON.stringify(envelope.secret));
202
+ const existing = await db
203
+ .selectFrom('adminium_add_on_credentials')
204
+ .select('id')
205
+ .where('manifestId', '=', manifestId)
206
+ .executeTakeFirst();
207
+ const shared = {
208
+ kind: envelope.kind,
209
+ payload,
210
+ expiresAt: envelope.expiresAt ?? null,
211
+ scopes: envelope.scopes == null ? null : packJson(envelope.scopes),
212
+ updatedAt: at,
213
+ };
214
+ if (existing !== undefined) {
215
+ await db
216
+ .updateTable('adminium_add_on_credentials')
217
+ .set(shared)
218
+ .where('id', '=', existing.id)
219
+ .execute();
220
+ return;
221
+ }
222
+ await db
223
+ .insertInto('adminium_add_on_credentials')
224
+ .values({ id: newId('aoc'), manifestId, createdAt: at, ...shared })
225
+ .execute();
226
+ },
227
+ /**
228
+ * The decrypted envelope, for the server code that is about to make a call
229
+ * with it. Never reached by a route that serves a browser (24 D15).
230
+ */
231
+ async getCredential(manifestId) {
232
+ const row = await db
233
+ .selectFrom('adminium_add_on_credentials')
234
+ .selectAll()
235
+ .where('manifestId', '=', manifestId)
236
+ .executeTakeFirst();
237
+ if (row === undefined)
238
+ return null;
239
+ return {
240
+ kind: row.kind,
241
+ secret: JSON.parse(crypto.decrypt(row.payload)),
242
+ expiresAt: row.expiresAt,
243
+ scopes: readJsonOrNull(row.scopes),
244
+ };
245
+ },
246
+ /**
247
+ * Whether an add-on is connected, and when its grant lapses — WITHOUT
248
+ * decrypting anything. This is what the Studio page and the connect status
249
+ * read, so a list of add-ons never touches key material.
250
+ */
251
+ async credentialStatus(manifestId) {
252
+ const row = await db
253
+ .selectFrom('adminium_add_on_credentials')
254
+ .select(['kind', 'expiresAt', 'scopes'])
255
+ .where('manifestId', '=', manifestId)
256
+ .executeTakeFirst();
257
+ if (row === undefined)
258
+ return null;
259
+ return {
260
+ kind: row.kind,
261
+ expiresAt: row.expiresAt,
262
+ scopes: readJsonOrNull(row.scopes),
263
+ };
264
+ },
265
+ /**
266
+ * Disconnect (D5): the keys go and NOTHING else does. One statement over a
267
+ * table that holds only secrets, which is what makes "keeps your data" a
268
+ * property of the schema rather than of the caller's care.
269
+ */
270
+ async deleteCredential(manifestId) {
271
+ const res = await db
272
+ .deleteFrom('adminium_add_on_credentials')
273
+ .where('manifestId', '=', manifestId)
274
+ .executeTakeFirst();
275
+ return Number(res.numDeletedRows) === 1;
276
+ },
277
+ };
278
+ }
279
+ //# sourceMappingURL=manifests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifests.js","sourceRoot":"","sources":["../../src/repos/manifests.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,13 @@ export interface PageNavRow {
58
58
  navOrder: number;
59
59
  isEnabled: boolean | 0 | 1;
60
60
  updatedAt: number;
61
+ /**
62
+ * The envelope's `source.table` (30-record-pages.md D5): lets clients build
63
+ * the (connectionId, table) → slug map that record pages cross-link
64
+ * through. Null for source-less pages and for envelopes this reader cannot
65
+ * parse — absence degrades a link, never the nav.
66
+ */
67
+ sourceTable: string | null;
61
68
  }
62
69
  /** Row projection for the Studio page manager — every column but `config`. */
63
70
  export interface PageSummary {
@@ -1 +1 @@
1
- {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/repos/pages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../src/repos/pages.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,22 @@
26
26
  import { newId } from '../ids.js';
27
27
  import { MetaValidationError, affected, jsonEquals, packJson, readBool, readJson, writeBool, } from './util.js';
28
28
  export const PAGE_ORIGINS = ['generated', 'user', 'manifest', 'system', 'llm'];
29
+ /** `source.table` off a stored envelope, tolerantly — nav must never throw. */
30
+ function sourceTableOf(config) {
31
+ try {
32
+ const parsed = typeof config === 'string' ? JSON.parse(config) : config;
33
+ if (typeof parsed !== 'object' || parsed === null)
34
+ return null;
35
+ const source = parsed.source;
36
+ if (typeof source !== 'object' || source === null)
37
+ return null;
38
+ const table = source.table;
39
+ return typeof table === 'string' && table.length > 0 ? table : null;
40
+ }
41
+ catch {
42
+ return null;
43
+ }
44
+ }
29
45
  /**
30
46
  * True when a stored generated-origin envelope no longer matches its embedded
31
47
  * `config.generatedHash` — the edited-page signal (human writes update the
@@ -79,13 +95,24 @@ function mergeEnvelopeMeta(stored, next) {
79
95
  order: next.navOrder,
80
96
  slug: next.slug,
81
97
  };
82
- // `nav.group` and `nav.icon` are `z.string().min(1)` — a null row value
83
- // means "unset", which the envelope expresses by omitting the key rather
84
- // than by storing null.
85
- if (next.navGroup === null)
86
- delete navOut['group'];
87
- else
98
+ /*
99
+ * A null row group means HIDDEN, and the document expresses that as
100
+ * `hidden: true` while KEEPING its `group` — the remembered placement
101
+ * "Show in sidebar" restores, and the same vocabulary generation's
102
+ * cascade-child default writes (30-record-pages.md follow-up). This used
103
+ * to DELETE `group`, which left every hidden page's document failing the
104
+ * client's envelope validation — the record page's related tabs silently
105
+ * degraded to derived columns because of it.
106
+ */
107
+ if (next.navGroup === null) {
108
+ navOut['hidden'] = true;
109
+ }
110
+ else {
88
111
  navOut['group'] = next.navGroup;
112
+ delete navOut['hidden'];
113
+ }
114
+ // `nav.icon` is `z.string().min(1)` — a null row value means "unset",
115
+ // which the envelope expresses by omitting the key.
89
116
  if (next.icon === null)
90
117
  delete navOut['icon'];
91
118
  else
@@ -634,10 +661,14 @@ export function pagesRepo(meta) {
634
661
  * groups and derives `configVersion` from max updatedAt).
635
662
  */
636
663
  async navRows() {
637
- return db
664
+ // `config` rides along ONLY to extract `source.table` (30 D5) — the nav
665
+ // projection stays a projection: the raw envelope never leaves this
666
+ // function, and the parse tolerates anything (null on failure).
667
+ const rows = await db
638
668
  .selectFrom('adminium_pages')
639
- .select(['id', 'connectionId', 'slug', 'title', 'icon', 'navGroup', 'navOrder', 'isEnabled', 'updatedAt'])
669
+ .select(['id', 'connectionId', 'slug', 'title', 'icon', 'navGroup', 'navOrder', 'isEnabled', 'updatedAt', 'config'])
640
670
  .execute();
671
+ return rows.map(({ config, ...row }) => ({ ...row, sourceTable: sourceTableOf(config) }));
641
672
  },
642
673
  /** Generated-page counts per connection (connections-hub cards, 09 §8.1). */
643
674
  async countGeneratedByConnection() {
@@ -1 +1 @@
1
- {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/repos/pages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../src/repos/pages.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,MAAM,WAAW,CAAC;AAEnB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAU,CAAC;AA8CxF,+EAA+E;AAC/E,SAAS,aAAa,CAAC,MAAe;IACpC,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjF,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/D,MAAM,MAAM,GAAI,MAA+B,CAAC,MAAM,CAAC;QACvD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAC/D,MAAM,KAAK,GAAI,MAA8B,CAAC,KAAK,CAAC;QACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAqHD;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,MAAe,EACf,YAA2D;IAE3D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAiC,CAAC;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAChE,MAAM,QAAQ,GAAI,MAAkC,CAAC,eAAe,CAAC,CAAC;IACtE,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC/C,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC;AAC7C,CAAC;AAED,qEAAqE;AACrE,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/F,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,SAAS,iBAAiB,CACxB,MAAe,EACf,IAMC;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,MAAM,GAAG,GAA4B,EAAE,GAAG,QAAQ,EAAE,CAAC;IAErD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAI,KAAiC,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACjF,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAA4B;YACtC,GAAI,GAA+B;YACnC,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QACF;;;;;;;;WAQG;QACH,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;YAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QACD,sEAAsE;QACtE,oDAAoD;QACpD,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;;YACzC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAChC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IACtB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,MAAM,CAAC,GAAmC;IACjD,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,YAAY,EAAE,GAAG,CAAC,YAAY;QAC9B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;QAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,uBAAuB,EAAE,GAAG,CAAC,uBAAuB;QACpD,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;QAClC,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,SAAS,EAAE,GAAG,CAAC,SAAS;KACzB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IAEpB,OAAO;QACL;;;;;WAKG;QACH,KAAK,CAAC,eAAe,CACnB,YAAoB,EACpB,KAAoC,EACpC,OAA+B,EAAE;YAEjC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC5C,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,IAAI,mBAAmB,CAAC,0CAA0C,CAAC,CAAC;YAC5E,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBACzB,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC5C,MAAM,QAAQ,GAAG,MAAM,GAAG;qBACvB,UAAU,CAAC,gBAAgB,CAAC;qBAC5B,SAAS,EAAE;qBACX,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC;qBACxC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAE3D,MAAM,MAAM,GAA0B;oBACpC,OAAO,EAAE,CAAC;oBACV,OAAO,EAAE,CAAC;oBACV,SAAS,EAAE,CAAC;oBACZ,MAAM,EAAE,CAAC;oBACT,SAAS,EAAE,EAAE;oBACb,aAAa,EAAE,EAAE;oBACjB,UAAU,EAAE,EAAE;oBACd,YAAY,EAAE,EAAE;iBACjB,CAAC;gBAEF,sDAAsD;gBACtD,EAAE;gBACF,gEAAgE;gBAChE,uEAAuE;gBACvE,wEAAwE;gBACxE,kEAAkE;gBAClE,gBAAgB;gBAChB,oEAAoE;gBACpE,iEAAiE;gBACjE,sEAAsE;gBACtE,uEAAuE;gBACvE,8CAA8C;gBAC9C,EAAE;gBACF,qEAAqE;gBACrE,sEAAsE;gBACtE,2BAA2B;gBAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;gBAC7B,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAC3B,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BAAE,SAAS;wBAC5D,IACE,IAAI,CAAC,YAAY,KAAK,SAAS;4BAC/B,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,EACzD,CAAC;4BACD,+DAA+D;4BAC/D,+DAA+D;4BAC/D,yDAAyD;4BACzD,gEAAgE;4BAChE,8DAA8D;4BAC9D,sDAAsD;4BACtD,uDAAuD;4BACvD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAC/B,SAAS;wBACX,CAAC;wBACD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;gBACjC,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;oBACzB,MAAM,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;oBACtE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;gBACrB,CAAC;gBAED,mEAAmE;gBACnE,iEAAiE;gBACjE,qEAAqE;gBACrE,sEAAsE;gBACtE,8BAA8B;gBAC9B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;gBAC5C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;oBAC3B,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAAE,SAAS;oBACrD,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBAClC,CAAC;gBAED,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;oBAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACtC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9B,iEAAiE;wBACjE,mEAAmE;wBACnE,sDAAsD;wBACtD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC7D,SAAS;oBACX,CAAC;oBACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;oBACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;wBACtB,MAAM,GAAG;6BACN,UAAU,CAAC,gBAAgB,CAAC;6BAC5B,MAAM,CAAC;4BACN,EAAE,EAAE,KAAK,CAAC,EAAE;4BACZ,YAAY;4BACZ,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,KAAK,EAAE,KAAK,CAAC,KAAK;4BAClB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;4BACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;4BAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC;4BAC7B,MAAM,EAAE,MAAM;4BACd,MAAM,EAAE,WAAW;4BACnB,UAAU,EAAE,IAAI;4BAChB,uBAAuB,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;4BAChD,QAAQ,EAAE,CAAC;4BACX,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;4BAChC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI;4BACjC,SAAS,EAAE,EAAE;4BACb,SAAS,EAAE,EAAE;yBACd,CAAC;6BACD,OAAO,EAAE,CAAC;wBACb,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;wBACpB,SAAS;oBACX,CAAC;oBACD,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;wBAC/B,4DAA4D;wBAC5D,4CAA4C;wBAC5C,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC9B,SAAS;oBACX,CAAC;oBACD,qEAAqE;oBACrE,kEAAkE;oBAClE,iEAAiE;oBACjE,MAAM,SAAS,GACb,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;wBAC9C,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;wBACvB,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;wBACvB,GAAG,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;wBACzB,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;wBAC3C,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;wBACnD,GAAG,CAAC,QAAQ,KAAK,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;oBACzC,IAAI,SAAS,EAAE,CAAC;wBACd,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;wBACtB,SAAS;oBACX,CAAC;oBACD,IACE,IAAI,CAAC,YAAY,KAAK,SAAS;wBAC/B,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,EACzD,CAAC;wBACD,kEAAkE;wBAClE,iEAAiE;wBACjE,8DAA8D;wBAC9D,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAClC,SAAS;oBACX,CAAC;oBACD,MAAM,GAAG;yBACN,WAAW,CAAC,gBAAgB,CAAC;yBAC7B,GAAG,CAAC;wBACH,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;wBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;wBAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC;wBAC7B,MAAM,EAAE,MAAM;wBACd,uBAAuB,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI;wBAChD,QAAQ,EAAE,GAAG,CAAC,QAAQ,GAAG,CAAC;wBAC1B,SAAS,EAAE,EAAE;qBACd,CAAC;yBACD,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;yBACxB,OAAO,EAAE,CAAC;oBACb,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;gBACtB,CAAC;gBAED,OAAO,MAAM,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC;QAED;;;;;;;;;;WAUG;QACH,KAAK,CAAC,MAAM,CAAC,KAYZ,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;YACxB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,mBAAmB,CAAC,uBAAuB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,KAAK,CAAC,EAAE,KAAK,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;gBACnD,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACzE,CAAC;YACD,MAAM,GAAG,GAAG;gBACV,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC;gBAC7B,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI;gBACxC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;gBAChC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC;gBAC7B,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC9B,MAAM;gBACN,UAAU,EAAE,IAAI;gBAChB,uBAAuB,EAAE,IAAI;gBAC7B,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC;gBAChC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;gBAClC,SAAS,EAAE,EAAE;gBACb,SAAS,EAAE,EAAE;aACd,CAAC;YACF,MAAM,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC;YAC5D,OAAO,MAAM,CAAC,GAAY,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,EAAU;YACvB,MAAM,GAAG,GAAG,MAAM,EAAE;iBACjB,UAAU,CAAC,gBAAgB,CAAC;iBAC5B,SAAS,EAAE;iBACX,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC;iBACpB,gBAAgB,EAAE,CAAC;YACtB,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;QAED;;;;;;;WAOG;QACH,KAAK,CAAC,OAAO;YACX,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,UAAU,CAAC,gBAAgB,CAAC;iBAC5B,MAAM,CAAC;gBACN,IAAI;gBACJ,cAAc;gBACd,MAAM;gBACN,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,UAAU;gBACV,UAAU;gBACV,QAAQ;gBACR,YAAY;gBACZ,WAAW;gBACX,UAAU;gBACV,WAAW;aACZ,CAAC;iBACD,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;iBAC1B,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;iBACtB,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QAED;;;;;;;;;;;;;;;;;;;;WAoBG;QACH,KAAK,CAAC,UAAU,CACd,MAAc,EACd,KAAoB,EACpB,OAAmD,EAAE;YAErD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,WAAW,CAAC;YACtC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnF,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI;gBAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK;gBAChC,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;gBACvD,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;gBACvE,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;gBACzC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;aAC7C,CAAC;YAEF,uEAAuE;YACvE,wEAAwE;YACxE,8CAA8C;YAC9C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC;YAE3C,MAAM,EAAE;iBACL,WAAW,CAAC,gBAAgB,CAAC;iBAC7B,GAAG,CAAC;gBACH,GAAG,IAAI;gBACP,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;gBACzD,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;gBACjF,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1C,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC;gBAC3B,SAAS,EAAE,EAAE;aACd,CAAC;iBACD,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC;iBACxB,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC;QACtD,CAAC;QAED;;;;;;;;;;WAUG;QACH,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,IAA6B,EAC7B,OAAmD,EAAE;YAErD,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,WAAW,CAAC;YACtC,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnF,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,EAAE;iBACL,WAAW,CAAC,gBAAgB,CAAC;iBAC7B,GAAG,CAAC;gBACH,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC;gBAC3B,SAAS,EAAE,EAAE;aACd,CAAC;iBACD,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC;iBACxB,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,WAAW,CAAC;QACtD,CAAC;QAED;;;;;;;;;;;;WAYG;QACH,KAAK,CAAC,UAAU,CACd,OAA2D,EAC3D,KAAa,IAAI,CAAC,GAAG,EAAE;YAEvB,OAAO,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,CAAC,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,GAAG;qBACnB,UAAU,CAAC,gBAAgB,CAAC;qBAC5B,SAAS,EAAE;qBACX,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;qBACtB,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;gBAEvD,iEAAiE;gBACjE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;gBACnD,IAAI,KAAK,GAAG,CAAC,CAAC;gBACd,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC/B,IAAI,GAAG,KAAK,SAAS;wBAAE,SAAS;oBAChC,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACjD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBACzC,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK;wBAAE,SAAS;oBACxE,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBACzB,MAAM,GAAG;yBACN,WAAW,CAAC,gBAAgB,CAAC;yBAC7B,GAAG,CAAC;wBACH,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,QAAQ,CACd,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE;4BAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,KAAK,EAAE,IAAI,CAAC,KAAK;4BACjB,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,QAAQ,EAAE,KAAK;yBAChB,CAAC,CACH;wBACD,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC;wBAC3B,SAAS,EAAE,EAAE;qBACd,CAAC;yBACD,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;yBAC1B,OAAO,EAAE,CAAC;oBACb,KAAK,IAAI,CAAC,CAAC;gBACb,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;QAED;;;;;;WAMG;QACH,KAAK,CAAC,MAAM,CAAC,MAAc;YACzB,MAAM,MAAM,GAAG,MAAM,EAAE;iBACpB,UAAU,CAAC,gBAAgB,CAAC;iBAC5B,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC;iBACxB,gBAAgB,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC;QAED;;;;;;;;;;;;;WAaG;QACH,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,MAAe,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;YACtE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;gBACrD,CAAC,CAAE,IAAI,CAAC,MAAkC;gBAC1C,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,cAAc,GAClB,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI;gBACnE,CAAC,CAAE,QAAQ,CAAC,QAAQ,CAA6B;gBACjD,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,YAAY,GAAG,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,EAAE,GAAG,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;YAC5E,MAAM,EAAE;iBACL,WAAW,CAAC,gBAAgB,CAAC;iBAC7B,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;iBACnF,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC;iBACxB,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED;;;;;;;;;;;;WAYG;QACH,KAAK,CAAC,aAAa,CACjB,MAAc,EACd,MAAe,EACf,OAAwF,EAAE;YAE1F,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YAC/B,MAAM,EAAE;iBACL,WAAW,CAAC,gBAAgB,CAAC;iBAC7B,GAAG,CAAC;gBACH,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC;gBACxB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC1D,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC;gBAC3B,SAAS,EAAE,EAAE;aACd,CAAC;iBACD,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC;iBACxB,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;QAED;;;;;WAKG;QACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,SAAkB,EAAE,KAAa,IAAI,CAAC,GAAG,EAAE;YAC1E,MAAM,EAAE;iBACL,WAAW,CAAC,gBAAgB,CAAC;iBAC7B,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;iBAC7D,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC;iBACxB,OAAO,EAAE,CAAC;QACf,CAAC;QAED,qEAAqE;QACrE,KAAK,CAAC,UAAU,CAAC,YAA2B,EAAE,IAAY;YACxD,IAAI,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YAC7E,CAAC;gBACC,YAAY,KAAK,IAAI;oBACnB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC;oBACrC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;YACjD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACvC,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,CAAC,iBAAiB,CAAC,YAAoB;YAC1C,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,UAAU,CAAC,gBAAgB,CAAC;iBAC5B,SAAS,EAAE;iBACX,KAAK,CAAC,cAAc,EAAE,GAAG,EAAE,YAAY,CAAC;iBACxC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;iBAC1B,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;iBACtB,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAED;;;;WAIG;QACH,KAAK,CAAC,OAAO;YACX,wEAAwE;YACxE,oEAAoE;YACpE,gEAAgE;YAChE,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,UAAU,CAAC,gBAAgB,CAAC;iBAC5B,MAAM,CAAC,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;iBACnH,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,WAAW,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,6EAA6E;QAC7E,KAAK,CAAC,0BAA0B;YAC9B,MAAM,IAAI,GAAG,MAAM,EAAE;iBAClB,UAAU,CAAC,gBAAgB,CAAC;iBAC5B,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;iBACxB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;iBAC5C,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC;iBACjC,KAAK,CAAC,cAAc,EAAE,QAAQ,EAAE,IAAI,CAAC;iBACrC,OAAO,CAAC,cAAc,CAAC;iBACvB,OAAO,EAAE,CAAC;YACb,MAAM,GAAG,GAA2B,EAAE,CAAC;YACvC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI;oBAAE,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC3E,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QAED,0EAA0E;QAC1E,KAAK,CAAC,aAAa;YACjB,MAAM,GAAG,GAAG,MAAM,EAAE;iBACjB,UAAU,CAAC,gBAAgB,CAAC;iBAC5B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;iBAChD,gBAAgB,EAAE,CAAC;YACtB,OAAO,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -53,6 +53,8 @@ export interface CreatePublicKeyInput {
53
53
  tokenEncrypted: string;
54
54
  scopeId: string;
55
55
  side: string;
56
+ /** Hosted app surface this key is bound to (29 D10), or absent/null. */
57
+ appKey?: string | null;
56
58
  /** JSON array narrowing the instance origin list; `[]` = no narrowing. */
57
59
  origins?: string[];
58
60
  createdBy?: string | null;
@@ -75,6 +77,28 @@ export declare function publicKeysRepo(meta: MetaDb): {
75
77
  findByPrefix(prefix: string): Promise<PublicKey[]>;
76
78
  findById(id: string): Promise<PublicKey | null>;
77
79
  listByScope(scopeId: string): Promise<PublicKey[]>;
80
+ /**
81
+ * The `surface-config.json` lookup (29 D10): the newest key for this app's
82
+ * side that is neither revoked nor expired. Rotation keeps the row (and so
83
+ * the binding); revoking the newest key falls back to the next live one, so
84
+ * an operator can stage a replacement before killing the old key.
85
+ */
86
+ /**
87
+ * The newest live key for an app whose SCOPE points at one connection.
88
+ *
89
+ * What `newestLiveByApp` answers once per app, this answers once per
90
+ * database — the customer half of app instances (29 D9). A customer surface
91
+ * has never named its connection directly and does not start now: its key
92
+ * names a scope and the scope names the connection, so selecting the right
93
+ * key IS selecting the right database, and nothing new has to be kept in
94
+ * sync with anything.
95
+ *
96
+ * A join, not two queries: the pair "newest, and belonging to this
97
+ * connection" has to be decided together, or a scope moved between
98
+ * connections could hand back a key that was newest but no longer relevant.
99
+ */
100
+ newestLiveByAppAndConnection(appKey: string, side: string, connectionId: string, at?: number): Promise<PublicKey | null>;
101
+ newestLiveByApp(appKey: string, side: string, at?: number): Promise<PublicKey | null>;
78
102
  list(): Promise<PublicKey[]>;
79
103
  /** Rotation: a new secret against the same row, keeping scope and origins. */
80
104
  rotate(id: string, next: {
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/repos/public-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"public-api.d.ts","sourceRoot":"","sources":["../../src/repos/public-api.ts"],"names":[],"mappings":"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"}
@@ -118,6 +118,7 @@ export function publicKeysRepo(meta) {
118
118
  tokenEncrypted: input.tokenEncrypted,
119
119
  scopeId: input.scopeId,
120
120
  side: input.side,
121
+ appKey: input.appKey ?? null,
121
122
  origins: JSON.stringify(input.origins ?? []),
122
123
  expiresAt: input.expiresAt ?? null,
123
124
  revokedAt: null,
@@ -164,6 +165,55 @@ export function publicKeysRepo(meta) {
164
165
  .orderBy('createdAt', 'desc')
165
166
  .execute();
166
167
  },
168
+ /**
169
+ * The `surface-config.json` lookup (29 D10): the newest key for this app's
170
+ * side that is neither revoked nor expired. Rotation keeps the row (and so
171
+ * the binding); revoking the newest key falls back to the next live one, so
172
+ * an operator can stage a replacement before killing the old key.
173
+ */
174
+ /**
175
+ * The newest live key for an app whose SCOPE points at one connection.
176
+ *
177
+ * What `newestLiveByApp` answers once per app, this answers once per
178
+ * database — the customer half of app instances (29 D9). A customer surface
179
+ * has never named its connection directly and does not start now: its key
180
+ * names a scope and the scope names the connection, so selecting the right
181
+ * key IS selecting the right database, and nothing new has to be kept in
182
+ * sync with anything.
183
+ *
184
+ * A join, not two queries: the pair "newest, and belonging to this
185
+ * connection" has to be decided together, or a scope moved between
186
+ * connections could hand back a key that was newest but no longer relevant.
187
+ */
188
+ async newestLiveByAppAndConnection(appKey, side, connectionId, at = Date.now()) {
189
+ const row = await db
190
+ .selectFrom('adminium_public_keys')
191
+ .innerJoin('adminium_public_scopes', 'adminium_public_scopes.id', 'adminium_public_keys.scopeId')
192
+ .selectAll('adminium_public_keys')
193
+ .where('adminium_public_keys.appKey', '=', appKey)
194
+ .where('adminium_public_keys.side', '=', side)
195
+ .where('adminium_public_scopes.connectionId', '=', connectionId)
196
+ .where('adminium_public_keys.revokedAt', 'is', null)
197
+ .where((eb) => eb.or([
198
+ eb('adminium_public_keys.expiresAt', 'is', null),
199
+ eb('adminium_public_keys.expiresAt', '>', at),
200
+ ]))
201
+ .orderBy('adminium_public_keys.createdAt', 'desc')
202
+ .executeTakeFirst();
203
+ return row ?? null;
204
+ },
205
+ async newestLiveByApp(appKey, side, at = Date.now()) {
206
+ const row = await db
207
+ .selectFrom('adminium_public_keys')
208
+ .selectAll()
209
+ .where('appKey', '=', appKey)
210
+ .where('side', '=', side)
211
+ .where('revokedAt', 'is', null)
212
+ .where((eb) => eb.or([eb('expiresAt', 'is', null), eb('expiresAt', '>', at)]))
213
+ .orderBy('createdAt', 'desc')
214
+ .executeTakeFirst();
215
+ return row ?? null;
216
+ },
167
217
  async list() {
168
218
  return db.selectFrom('adminium_public_keys').selectAll().orderBy('createdAt', 'desc').execute();
169
219
  },