@substrat-run/adapter-sqlite 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +238 -23
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -45,6 +45,17 @@ export declare class SqliteScopeHost implements ScopeHost {
|
|
|
45
45
|
private recordAdmin;
|
|
46
46
|
private tenantHoldsEntitlement;
|
|
47
47
|
private buildAdmin;
|
|
48
|
+
/**
|
|
49
|
+
* The directory's own migration path (control-plane.md §7: "the directory
|
|
50
|
+
* becomes a real database, with its own migrations"). It is not a module, so
|
|
51
|
+
* it has no `SqlMigration[]` journal — but a dev directory created before the
|
|
52
|
+
* scope record grew its naming columns must still open. ALTER in what's
|
|
53
|
+
* missing, backfill legacy rows to the same defaults `provisionScope` applies,
|
|
54
|
+
* then add the uniqueness the contract has always claimed ("slug — unique
|
|
55
|
+
* within tenant"). Idempotent: on a fresh directory every column already
|
|
56
|
+
* exists and every UPDATE matches nothing.
|
|
57
|
+
*/
|
|
58
|
+
private ensureDirectoryColumns;
|
|
48
59
|
private loadRoles;
|
|
49
60
|
private operationContext;
|
|
50
61
|
private applyPendingMigrations;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EA0BL,KAAK,eAAe,EACpB,KAAK,WAAW,EAKhB,KAAK,OAAO,EAGZ,KAAK,QAAQ,EAGd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAML,KAAK,SAAS,EACd,KAAK,kBAAkB,EAEvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EAIxB,KAAK,SAAS,EACd,KAAK,SAAS,EAGf,MAAM,sBAAsB,CAAC;AAyB9B,MAAM,WAAW,sBAAsB;IACrC,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;IACZ,gFAAgF;IAChF,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B;AA0FD,qBAAa,eAAgB,YAAW,SAAS;IAC/C,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuD;IAClF,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAC/D,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,gFAAgF;IAChF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkE;IAC7F,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkC;IAC5D,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6B;IAClE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqC;IAC3D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;gBAE9D,OAAO,EAAE,sBAAsB;IA4G3C,cAAc,CAAC,YAAY,EAAE,kBAAkB,GAAG,IAAI;IAmFtD,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI;IAMpE,cAAc,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoEjF,QAAQ,CACZ,SAAS,EAAE,WAAW,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,SAAS,CAAC;YAgFP,SAAS;IAqBjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAYd,QAAQ;IAkDtB,OAAO,CAAC,cAAc;IAoBtB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IA0BnB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,UAAU;IAyclB;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,gBAAgB;YA6EV,sBAAsB;IAgDpC,OAAO,CAAC,OAAO;CAoBhB"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { mkdirSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import Database from 'better-sqlite3';
|
|
4
|
-
import { adminLogEntry, createTenantInput, domainEvent, domainEventInput, eventId, identityLink, instant, moduleManifest, objectRef, principalId, resolvedIdentity, roleDefinition, tenant as tenantSchema, } from '@substrat-run/contracts';
|
|
5
|
-
import { ulid, } from '@substrat-run/kernel';
|
|
4
|
+
import { adminLogEntry, createTenantInput, domainEvent, domainEventInput, eventId, identityLink, instant, moduleManifest, objectRef, principalId, resolvedIdentity, roleDefinition, scope as scopeSchema, tenant as tenantSchema, tenantRole, } from '@substrat-run/contracts';
|
|
5
|
+
import { resolveScopeRecord, ulid, } from '@substrat-run/kernel';
|
|
6
6
|
import { ScopeActor } from './actor.js';
|
|
7
7
|
import { createTupleChecker } from './checker.js';
|
|
8
8
|
const KERNEL_DDL = `
|
|
@@ -77,9 +77,21 @@ export class SqliteScopeHost {
|
|
|
77
77
|
status TEXT NOT NULL DEFAULT 'active',
|
|
78
78
|
created_at TEXT NOT NULL
|
|
79
79
|
);
|
|
80
|
+
-- The scope directory (§3.2). slug/kind/name/vertical are nullable HERE but
|
|
81
|
+
-- required (except vertical) by the scope contract: the column set must be
|
|
82
|
+
-- identical whether the table was created fresh or ALTERed up from the
|
|
83
|
+
-- pre-directory shape (see ensureDirectoryColumns), and SQLite cannot ADD a
|
|
84
|
+
-- NOT NULL column without inventing a default for existing rows. Nothing
|
|
85
|
+
-- writes null — provisionScope always resolves a value, and the backfill
|
|
86
|
+
-- fills legacy rows — so Zod is the enforcement point on read.
|
|
80
87
|
CREATE TABLE IF NOT EXISTS scopes (
|
|
81
88
|
scope_id TEXT PRIMARY KEY,
|
|
82
89
|
tenant_id TEXT NOT NULL,
|
|
90
|
+
parent_scope_id TEXT,
|
|
91
|
+
slug TEXT,
|
|
92
|
+
kind TEXT,
|
|
93
|
+
name TEXT,
|
|
94
|
+
vertical TEXT,
|
|
83
95
|
storage_shape TEXT NOT NULL DEFAULT 'A',
|
|
84
96
|
jurisdiction TEXT,
|
|
85
97
|
status TEXT NOT NULL DEFAULT 'active',
|
|
@@ -136,7 +148,17 @@ export class SqliteScopeHost {
|
|
|
136
148
|
after TEXT,
|
|
137
149
|
at TEXT NOT NULL
|
|
138
150
|
);
|
|
151
|
+
-- Read-path indexes for the console (control-plane.md §4.5). The admin log
|
|
152
|
+
-- is append-only and only grows, so every filter it offers needs one; the
|
|
153
|
+
-- trailing id column makes each a covering index for the ORDER BY.
|
|
154
|
+
CREATE INDEX IF NOT EXISTS _substrat_admin_log_tenant ON _substrat_admin_log (tenant_id, id);
|
|
155
|
+
CREATE INDEX IF NOT EXISTS _substrat_admin_log_scope ON _substrat_admin_log (scope_id, id);
|
|
156
|
+
CREATE INDEX IF NOT EXISTS _substrat_admin_log_actor ON _substrat_admin_log (actor, id);
|
|
157
|
+
CREATE INDEX IF NOT EXISTS _substrat_admin_log_action ON _substrat_admin_log (action, id);
|
|
158
|
+
CREATE INDEX IF NOT EXISTS _substrat_admin_log_at ON _substrat_admin_log (at);
|
|
159
|
+
CREATE INDEX IF NOT EXISTS scopes_tenant ON scopes (tenant_id, scope_id);
|
|
139
160
|
`);
|
|
161
|
+
this.ensureDirectoryColumns();
|
|
140
162
|
this.loadRoles();
|
|
141
163
|
this.checker =
|
|
142
164
|
options.checker ??
|
|
@@ -241,15 +263,35 @@ export class SqliteScopeHost {
|
|
|
241
263
|
if (tenantRow.status !== 'active') {
|
|
242
264
|
throw new Error(`cannot provision scope under non-active tenant (status: ${tenantRow.status}): ${input.tenantId}`);
|
|
243
265
|
}
|
|
244
|
-
const
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
266
|
+
const record = resolveScopeRecord(input);
|
|
267
|
+
// Idempotency is on the scope_id (§3.3: provisioning is idempotent and
|
|
268
|
+
// journaled — safe to re-run), so an existing scope short-circuits before the
|
|
269
|
+
// slug check: re-provisioning does not collide with itself.
|
|
270
|
+
const existing = this.directory.prepare('SELECT 1 FROM scopes WHERE scope_id = ?').get(input.scopeId) !==
|
|
271
|
+
undefined;
|
|
272
|
+
if (!existing) {
|
|
273
|
+
// The `scopes_tenant_slug` UNIQUE index makes this fail closed either way;
|
|
274
|
+
// checking first is what turns a SQLITE_CONSTRAINT into a sentence naming
|
|
275
|
+
// the scope that already holds the slug.
|
|
276
|
+
const slugOwner = this.directory
|
|
277
|
+
.prepare('SELECT scope_id FROM scopes WHERE tenant_id = ? AND slug = ?')
|
|
278
|
+
.get(input.tenantId, record.slug);
|
|
279
|
+
if (slugOwner) {
|
|
280
|
+
throw new Error(`scope slug '${record.slug}' already taken under tenant ${input.tenantId} ` +
|
|
281
|
+
`by ${slugOwner.scope_id} (slugs are unique within a tenant)`);
|
|
282
|
+
}
|
|
283
|
+
this.directory
|
|
284
|
+
.prepare(`INSERT INTO scopes
|
|
285
|
+
(scope_id, tenant_id, parent_scope_id, slug, kind, name, vertical,
|
|
286
|
+
storage_shape, jurisdiction, status, created_at)
|
|
287
|
+
VALUES (?, ?, NULL, ?, ?, ?, ?, ?, ?, 'active', ?)`)
|
|
288
|
+
.run(input.scopeId, input.tenantId, record.slug, record.kind, record.name, record.vertical, record.storageShape, record.jurisdiction, new Date().toISOString());
|
|
289
|
+
}
|
|
248
290
|
const rt = this.runtime(input.tenantId, input.scopeId);
|
|
249
291
|
await this.applyPendingMigrations(rt);
|
|
250
292
|
// Audit a real provision only; an idempotent re-provision changed nothing.
|
|
251
|
-
if (
|
|
252
|
-
this.recordAdmin(actor, 'provisionScope', { tenantId: input.tenantId, scopeId: input.scopeId
|
|
293
|
+
if (!existing) {
|
|
294
|
+
this.recordAdmin(actor, 'provisionScope', { tenantId: input.tenantId, scopeId: input.scopeId, vertical: record.vertical }, null, record);
|
|
253
295
|
}
|
|
254
296
|
}
|
|
255
297
|
async getScope(principal, tenantId, scopeId) {
|
|
@@ -445,13 +487,32 @@ export class SqliteScopeHost {
|
|
|
445
487
|
const r = this.directory.prepare('SELECT * FROM tenants WHERE tenant_id = ?').get(id);
|
|
446
488
|
return r ? mapTenant(r) : undefined;
|
|
447
489
|
};
|
|
490
|
+
// The directory row → the `scope` contract. Parsed, not cast: the columns are
|
|
491
|
+
// nullable in SQLite (ALTER TABLE cannot add NOT NULL to a populated table)
|
|
492
|
+
// while the contract requires them, so this parse is where that gap is held
|
|
493
|
+
// shut. A null slug reaching here means the backfill missed a row — which
|
|
494
|
+
// should fail loudly rather than surface as an untyped hole in the console.
|
|
495
|
+
const mapScope = (r) => scopeSchema.parse({
|
|
496
|
+
id: r.scope_id,
|
|
497
|
+
tenantId: r.tenant_id,
|
|
498
|
+
parentScopeId: r.parent_scope_id,
|
|
499
|
+
slug: r.slug,
|
|
500
|
+
kind: r.kind,
|
|
501
|
+
name: r.name,
|
|
502
|
+
status: r.status,
|
|
503
|
+
storageShape: r.storage_shape,
|
|
504
|
+
jurisdiction: r.jurisdiction,
|
|
505
|
+
vertical: r.vertical,
|
|
506
|
+
schemaVersion: r.schema_version,
|
|
507
|
+
createdAt: r.created_at,
|
|
508
|
+
});
|
|
448
509
|
// Scope lifecycle transition (control-plane.md §4.2): validate ownership,
|
|
449
510
|
// enforce the legal transition graph (fail closed on an illegal one), flip
|
|
450
511
|
// the status, and audit before/after. un-archive is just another entry here
|
|
451
512
|
// — an explicit, audited restore, never a silent flag flip.
|
|
452
513
|
const transitionScope = (actor, action, tenantId, scopeId, from, to) => {
|
|
453
514
|
const row = this.directory
|
|
454
|
-
.prepare('SELECT tenant_id, status FROM scopes WHERE scope_id = ?')
|
|
515
|
+
.prepare('SELECT tenant_id, status, vertical FROM scopes WHERE scope_id = ?')
|
|
455
516
|
.get(scopeId);
|
|
456
517
|
if (!row || row.tenant_id !== tenantId) {
|
|
457
518
|
throw new Error(`unknown scope for tenant: (${tenantId}, ${scopeId})`);
|
|
@@ -461,7 +522,11 @@ export class SqliteScopeHost {
|
|
|
461
522
|
`(allowed from: ${from.join('|')})`);
|
|
462
523
|
}
|
|
463
524
|
this.directory.prepare('UPDATE scopes SET status = ? WHERE scope_id = ?').run(to, scopeId);
|
|
464
|
-
|
|
525
|
+
// The audit target carries the scope's vertical (control-plane.md §4.4:
|
|
526
|
+
// "vertical stays null until §4.2 lifecycle actions that name one"). It is
|
|
527
|
+
// read from the scope rather than passed in, so the trail cannot disagree
|
|
528
|
+
// with the directory about which deployment the action touched.
|
|
529
|
+
this.recordAdmin(actor, action, { tenantId, scopeId, vertical: row.vertical }, { status: row.status }, { status: to });
|
|
465
530
|
};
|
|
466
531
|
const writeTenantTuple = (tenantId, subject, relation, object, expiresAt) => this.directory
|
|
467
532
|
.prepare(`INSERT OR REPLACE INTO _substrat_tenant_tuples
|
|
@@ -499,6 +564,31 @@ export class SqliteScopeHost {
|
|
|
499
564
|
this.roles.set(`${tenantId}/${parsed.key}`, parsed);
|
|
500
565
|
this.recordAdmin(actor, 'defineRole', { tenantId }, before, parsed);
|
|
501
566
|
},
|
|
567
|
+
listRoles: async (filter) => {
|
|
568
|
+
const where = [];
|
|
569
|
+
const params = [];
|
|
570
|
+
if (filter?.tenantId) {
|
|
571
|
+
where.push('tenant_id = ?');
|
|
572
|
+
params.push(filter.tenantId);
|
|
573
|
+
}
|
|
574
|
+
if (filter?.source) {
|
|
575
|
+
where.push('source = ?');
|
|
576
|
+
params.push(filter.source);
|
|
577
|
+
}
|
|
578
|
+
const sql = 'SELECT tenant_id, role_key, permissions, source FROM _substrat_roles' +
|
|
579
|
+
(where.length ? ` WHERE ${where.join(' AND ')}` : '') +
|
|
580
|
+
' ORDER BY tenant_id, role_key';
|
|
581
|
+
const rows = this.directory.prepare(sql).all(...params);
|
|
582
|
+
// Parsed, not cast: `permissions` is a JSON blob in a TEXT column, so the
|
|
583
|
+
// contract is the only thing standing between a corrupted row and the
|
|
584
|
+
// console rendering a role with permissions nobody declared.
|
|
585
|
+
return rows.map((r) => tenantRole.parse({
|
|
586
|
+
tenantId: r.tenant_id,
|
|
587
|
+
key: r.role_key,
|
|
588
|
+
permissions: JSON.parse(r.permissions),
|
|
589
|
+
source: r.source,
|
|
590
|
+
}));
|
|
591
|
+
},
|
|
502
592
|
assignRole: async (actor, assignment) => {
|
|
503
593
|
const subject = `principal:${assignment.principalId}`;
|
|
504
594
|
if (assignment.node.scopeId) {
|
|
@@ -523,14 +613,24 @@ export class SqliteScopeHost {
|
|
|
523
613
|
},
|
|
524
614
|
createTenant: async (actor, input) => {
|
|
525
615
|
const parsed = createTenantInput.parse(input);
|
|
526
|
-
const info = this.directory
|
|
527
|
-
.prepare(`INSERT OR IGNORE INTO tenants (tenant_id, slug, name, status, created_at)
|
|
528
|
-
VALUES (?, ?, ?, 'active', ?)`)
|
|
529
|
-
.run(parsed.id, parsed.slug, parsed.name, new Date().toISOString());
|
|
530
616
|
// Idempotent: re-creating an existing tenant is a no-op, and a no-op is
|
|
531
617
|
// not audited — nothing changed.
|
|
532
|
-
if (
|
|
618
|
+
if (readTenant(parsed.id))
|
|
533
619
|
return;
|
|
620
|
+
// Checked explicitly rather than left to `INSERT OR IGNORE` + the
|
|
621
|
+
// `tenants_slug` UNIQUE index: OR IGNORE would swallow a collision from a
|
|
622
|
+
// DIFFERENT id and return as though the create were idempotent, silently
|
|
623
|
+
// not creating the tenant the caller asked for. Fail closed instead.
|
|
624
|
+
const slugOwner = this.directory
|
|
625
|
+
.prepare('SELECT tenant_id FROM tenants WHERE slug = ?')
|
|
626
|
+
.get(parsed.slug);
|
|
627
|
+
if (slugOwner) {
|
|
628
|
+
throw new Error(`tenant slug '${parsed.slug}' already taken by ${slugOwner.tenant_id} (slugs are unique)`);
|
|
629
|
+
}
|
|
630
|
+
this.directory
|
|
631
|
+
.prepare(`INSERT INTO tenants (tenant_id, slug, name, status, created_at)
|
|
632
|
+
VALUES (?, ?, ?, 'active', ?)`)
|
|
633
|
+
.run(parsed.id, parsed.slug, parsed.name, new Date().toISOString());
|
|
534
634
|
this.recordAdmin(actor, 'createTenant', { tenantId: parsed.id }, null, readTenant(parsed.id));
|
|
535
635
|
},
|
|
536
636
|
setTenantStatus: async (actor, tenantId, status) => {
|
|
@@ -544,6 +644,39 @@ export class SqliteScopeHost {
|
|
|
544
644
|
},
|
|
545
645
|
listTenants: async () => this.directory.prepare('SELECT * FROM tenants ORDER BY tenant_id').all().map(mapTenant),
|
|
546
646
|
getTenant: async (tenantId) => readTenant(tenantId),
|
|
647
|
+
listScopes: async (filter) => {
|
|
648
|
+
const where = [];
|
|
649
|
+
const params = [];
|
|
650
|
+
if (filter?.tenantId) {
|
|
651
|
+
where.push('tenant_id = ?');
|
|
652
|
+
params.push(filter.tenantId);
|
|
653
|
+
}
|
|
654
|
+
if (filter?.status) {
|
|
655
|
+
const statuses = Array.isArray(filter.status) ? filter.status : [filter.status];
|
|
656
|
+
// An empty array means "no status is acceptable" — match nothing, rather
|
|
657
|
+
// than degenerating into an unfiltered read of the whole fleet.
|
|
658
|
+
if (statuses.length === 0)
|
|
659
|
+
return [];
|
|
660
|
+
where.push(`status IN (${statuses.map(() => '?').join(', ')})`);
|
|
661
|
+
params.push(...statuses);
|
|
662
|
+
}
|
|
663
|
+
if (filter?.vertical) {
|
|
664
|
+
where.push('vertical = ?');
|
|
665
|
+
params.push(filter.vertical);
|
|
666
|
+
}
|
|
667
|
+
const sql = 'SELECT * FROM scopes' +
|
|
668
|
+
(where.length ? ` WHERE ${where.join(' AND ')}` : '') +
|
|
669
|
+
' ORDER BY scope_id';
|
|
670
|
+
return this.directory.prepare(sql).all(...params).map(mapScope);
|
|
671
|
+
},
|
|
672
|
+
getScopeRecord: async (tenantId, scopeId) => {
|
|
673
|
+
const r = this.directory.prepare('SELECT * FROM scopes WHERE scope_id = ?').get(scopeId);
|
|
674
|
+
// Cross-check the pair (K-3): a scope that exists under a DIFFERENT tenant
|
|
675
|
+
// reads as absent, never as itself. Same rule as getScope's stub mint.
|
|
676
|
+
if (!r || r.tenant_id !== tenantId)
|
|
677
|
+
return undefined;
|
|
678
|
+
return mapScope(r);
|
|
679
|
+
},
|
|
547
680
|
suspendScope: async (actor, tenantId, scopeId) => transitionScope(actor, 'suspendScope', tenantId, scopeId, ['active'], 'suspended'),
|
|
548
681
|
unsuspendScope: async (actor, tenantId, scopeId) => transitionScope(actor, 'unsuspendScope', tenantId, scopeId, ['suspended'], 'active'),
|
|
549
682
|
archiveScope: async (actor, tenantId, scopeId) => transitionScope(actor, 'archiveScope', tenantId, scopeId, ['active', 'suspended'], 'archived'),
|
|
@@ -595,11 +728,50 @@ export class SqliteScopeHost {
|
|
|
595
728
|
});
|
|
596
729
|
},
|
|
597
730
|
auditLog: async (filter) => {
|
|
598
|
-
const
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
731
|
+
const where = [];
|
|
732
|
+
const params = [];
|
|
733
|
+
if (filter?.tenantId) {
|
|
734
|
+
where.push('tenant_id = ?');
|
|
735
|
+
params.push(filter.tenantId);
|
|
736
|
+
}
|
|
737
|
+
if (filter?.scopeId) {
|
|
738
|
+
where.push('scope_id = ?');
|
|
739
|
+
params.push(filter.scopeId);
|
|
740
|
+
}
|
|
741
|
+
if (filter?.actor) {
|
|
742
|
+
where.push('actor = ?');
|
|
743
|
+
params.push(filter.actor);
|
|
744
|
+
}
|
|
745
|
+
if (filter?.action) {
|
|
746
|
+
const actions = Array.isArray(filter.action) ? filter.action : [filter.action];
|
|
747
|
+
if (actions.length === 0)
|
|
748
|
+
return []; // no action is acceptable — match nothing
|
|
749
|
+
where.push(`action IN (${actions.map(() => '?').join(', ')})`);
|
|
750
|
+
params.push(...actions);
|
|
751
|
+
}
|
|
752
|
+
if (filter?.since) {
|
|
753
|
+
where.push('at >= ?');
|
|
754
|
+
params.push(filter.since);
|
|
755
|
+
}
|
|
756
|
+
if (filter?.until) {
|
|
757
|
+
where.push('at < ?');
|
|
758
|
+
params.push(filter.until);
|
|
759
|
+
}
|
|
760
|
+
const order = filter?.order === 'desc' ? 'DESC' : 'ASC';
|
|
761
|
+
if (filter?.cursor) {
|
|
762
|
+
// ULID order is chronological, so the entry id IS the cursor: page
|
|
763
|
+
// forward past it in asc, backward before it in desc.
|
|
764
|
+
where.push(order === 'DESC' ? 'id < ?' : 'id > ?');
|
|
765
|
+
params.push(filter.cursor);
|
|
766
|
+
}
|
|
767
|
+
let sql = 'SELECT * FROM _substrat_admin_log' +
|
|
768
|
+
(where.length ? ` WHERE ${where.join(' AND ')}` : '') +
|
|
769
|
+
` ORDER BY id ${order}`;
|
|
770
|
+
if (filter?.limit !== undefined) {
|
|
771
|
+
sql += ' LIMIT ?';
|
|
772
|
+
params.push(filter.limit);
|
|
773
|
+
}
|
|
774
|
+
const rows = this.directory.prepare(sql).all(...params);
|
|
603
775
|
return rows.map((r) => adminLogEntry.parse({
|
|
604
776
|
id: r.id,
|
|
605
777
|
actor: r.actor,
|
|
@@ -614,6 +786,40 @@ export class SqliteScopeHost {
|
|
|
614
786
|
},
|
|
615
787
|
};
|
|
616
788
|
}
|
|
789
|
+
/**
|
|
790
|
+
* The directory's own migration path (control-plane.md §7: "the directory
|
|
791
|
+
* becomes a real database, with its own migrations"). It is not a module, so
|
|
792
|
+
* it has no `SqlMigration[]` journal — but a dev directory created before the
|
|
793
|
+
* scope record grew its naming columns must still open. ALTER in what's
|
|
794
|
+
* missing, backfill legacy rows to the same defaults `provisionScope` applies,
|
|
795
|
+
* then add the uniqueness the contract has always claimed ("slug — unique
|
|
796
|
+
* within tenant"). Idempotent: on a fresh directory every column already
|
|
797
|
+
* exists and every UPDATE matches nothing.
|
|
798
|
+
*/
|
|
799
|
+
ensureDirectoryColumns() {
|
|
800
|
+
const existing = new Set(this.directory.prepare('PRAGMA table_info(scopes)').all().map((c) => c.name));
|
|
801
|
+
for (const [column, ddl] of [
|
|
802
|
+
['parent_scope_id', 'parent_scope_id TEXT'],
|
|
803
|
+
['slug', 'slug TEXT'],
|
|
804
|
+
['kind', 'kind TEXT'],
|
|
805
|
+
['name', 'name TEXT'],
|
|
806
|
+
['vertical', 'vertical TEXT'],
|
|
807
|
+
]) {
|
|
808
|
+
if (!existing.has(column))
|
|
809
|
+
this.directory.exec(`ALTER TABLE scopes ADD COLUMN ${ddl}`);
|
|
810
|
+
}
|
|
811
|
+
// A ULID lowercases into a valid slug, so the placeholder is unique by
|
|
812
|
+
// construction — the same default provisionScope resolves.
|
|
813
|
+
this.directory.exec(`
|
|
814
|
+
UPDATE scopes SET slug = lower(scope_id) WHERE slug IS NULL;
|
|
815
|
+
UPDATE scopes SET kind = 'scope' WHERE kind IS NULL;
|
|
816
|
+
UPDATE scopes SET name = slug WHERE name IS NULL;
|
|
817
|
+
`);
|
|
818
|
+
// Created after the backfill: a UNIQUE index over NULL slugs would permit the
|
|
819
|
+
// duplicates it exists to forbid (SQLite treats NULLs as distinct).
|
|
820
|
+
this.directory.exec('CREATE UNIQUE INDEX IF NOT EXISTS scopes_tenant_slug ON scopes (tenant_id, slug)');
|
|
821
|
+
this.directory.exec('CREATE UNIQUE INDEX IF NOT EXISTS tenants_slug ON tenants (slug)');
|
|
822
|
+
}
|
|
617
823
|
loadRoles() {
|
|
618
824
|
const rows = this.directory
|
|
619
825
|
.prepare('SELECT tenant_id, role_key, permissions, source FROM _substrat_roles')
|
|
@@ -677,7 +883,7 @@ export class SqliteScopeHost {
|
|
|
677
883
|
},
|
|
678
884
|
};
|
|
679
885
|
}
|
|
680
|
-
applyPendingMigrations(rt) {
|
|
886
|
+
async applyPendingMigrations(rt) {
|
|
681
887
|
const pending = [];
|
|
682
888
|
for (const mod of this.modules.values()) {
|
|
683
889
|
for (const migration of mod.migrations) {
|
|
@@ -686,9 +892,11 @@ export class SqliteScopeHost {
|
|
|
686
892
|
}
|
|
687
893
|
}
|
|
688
894
|
}
|
|
895
|
+
// Nothing pending → nothing to record. A scope provisioned before any module
|
|
896
|
+
// registers legitimately sits at schema_version '0'.
|
|
689
897
|
if (pending.length === 0)
|
|
690
|
-
return
|
|
691
|
-
|
|
898
|
+
return;
|
|
899
|
+
await rt.actor.enqueue(() => {
|
|
692
900
|
for (const { moduleId, migration } of pending) {
|
|
693
901
|
const key = `${moduleId}@${migration.version}`;
|
|
694
902
|
if (rt.appliedMigrations.has(key))
|
|
@@ -713,6 +921,13 @@ export class SqliteScopeHost {
|
|
|
713
921
|
rt.appliedMigrations.add(key);
|
|
714
922
|
}
|
|
715
923
|
});
|
|
924
|
+
// The scope's migration state, projected into the directory so the fleet
|
|
925
|
+
// question ("which scopes are behind?") is answerable from the index alone —
|
|
926
|
+
// §5.4's "fleet questions never fan out". Written here, at the one place
|
|
927
|
+
// migrations are applied, so it cannot drift from the journal it summarises.
|
|
928
|
+
this.directory
|
|
929
|
+
.prepare('UPDATE scopes SET schema_version = ? WHERE scope_id = ?')
|
|
930
|
+
.run(String(rt.appliedMigrations.size), rt.scopeId);
|
|
716
931
|
}
|
|
717
932
|
runtime(tenantId, scopeId) {
|
|
718
933
|
const key = `${tenantId}/${scopeId}`;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,OAAO,EACP,cAAc,EACd,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,MAAM,IAAI,YAAY,GAqBvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,IAAI,GAcL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AA8BlD,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoClB,CAAC;AAqCF,MAAM,OAAO,eAAe;IACjB,KAAK,CAAY;IACT,GAAG,CAAS;IACZ,OAAO,CAAoB;IAC3B,SAAS,CAAoB;IAC7B,MAAM,GAAG,IAAI,GAAG,EAAwB,CAAC;IACzC,UAAU,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC7C,UAAU,GAAG,IAAI,GAAG,EAA4C,CAAC;IACjE,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC/D,gFAAgF;IAC/D,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC7D,gFAAgF;IAC/D,UAAU,GAAG,IAAI,GAAG,EAAuD,CAAC;IAC7F,2EAA2E;IAC1D,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC,CAAC,iCAAiC;IACxE,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC5D,uEAAuE;IACtD,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC,CAAC,qBAAqB;IAChE,eAAe,GAAgB,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAE1E,YAAY,OAA+B;QACzC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqEnB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,OAAO;YACV,OAAO,CAAC,OAAO;gBACf,kBAAkB,CAAC;oBACjB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE;oBACtD,OAAO,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,GAAG,EAAE,CAAC;iBACjE,CAAC,CAAC;QACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAED,cAAc,CAAC,YAAgC;QAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QACD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9E,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,GAAG,CAChE,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE;YACvB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,CAAC,EAAE,oDAAoD,SAAS,EAAE,CAC9E,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;QAChC,CAAC,CACF,CAAC;QACF,4EAA4E;QAC5E,4EAA4E;QAC5E,yEAAyE;QACzE,4EAA4E;QAC5E,6EAA6E;QAC7E,0EAA0E;QAC1E,yEAAyE;QACzE,2EAA2E;QAC3E,kDAAkD;QAClD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5E,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,0CAA0C,QAAQ,CAAC,MAAM,KAAK,IAAI,qBAAqB,CACxF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACzD,YAAY,CAAC,IAAI,CAAC;gBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,UAAU,EAAE,QAAQ,CAAC,EAAE;aACxB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1E,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,sEAAsE;QACtE,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,2EAA2E;QAC3E,4EAA4E;QAC5E,4EAA4E;QAC5E,oCAAoC;QACpC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC;QAC1E,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,CAAC,EAAE,iCAAiC,IAAI,6DAA6D,CACjH,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;YAC5E,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACpC,0EAA0E;YAC1E,6DAA6D;YAC7D,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,eAAe,CAAO,IAAY,EAAE,OAA+B;QACjE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,8CAA8C;QACpF,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,OAA2C,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,KAAsB,EAAE,KAA0B;QACrE,wEAAwE;QACxE,2EAA2E;QAC3E,yDAAyD;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;aAC7B,OAAO,CAAC,gDAAgD,CAAC;aACzD,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAmC,CAAC;QACzD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CACb,2DAA2D,SAAS,CAAC,MAAM,MAAM,KAAK,CAAC,QAAQ,EAAE,CAClG,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;aACxB,OAAO,CACN;0CACkC,CACnC;aACA,GAAG,CACF,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,YAAY,IAAI,GAAG,EACzB,KAAK,CAAC,YAAY,IAAI,IAAI,EAC1B,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;QACJ,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACtC,2EAA2E;QAC3E,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,WAAW,CACd,KAAK,EACL,gBAAgB,EAChB,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EACpD,IAAI,EACJ,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,IAAI,EAAE,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,SAAsB,EACtB,QAAkB,EAClB,OAAgB;QAEhB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS;aACvB,OAAO,CAAC,yDAAyD,CAAC;aAClE,GAAG,CAAC,OAAO,CAAsD,CAAC;QACrE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAC;QACzE,CAAC;QAED,8EAA8E;QAC9E,yEAAyE;QACzE,2EAA2E;QAC3E,4EAA4E;QAC5E,0EAA0E;QAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS;aAC7B,OAAO,CAAC,gDAAgD,CAAC;aACzD,GAAG,CAAC,QAAQ,CAAmC,CAAC;QACnD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,8BAA8B,SAAS,CAAC,MAAM,MAAM,QAAQ,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,6BAA6B,GAAG,CAAC,MAAM,MAAM,OAAO,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,OAAO;YACL,QAAQ;YACR,OAAO;YACP,MAAM,EAAE,CAAO,SAAiB,EAAE,KAAS,EAAc,EAAE;gBACzD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC1C,IAAI,CAAC,OAAO;oBAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC,CAAC;gBAClF,wEAAwE;gBACxE,0EAA0E;gBAC1E,wEAAwE;gBACxE,2EAA2E;gBAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC7D,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;oBACvE,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,2BAA2B,SAAS,4BAA4B,WAAW,GAAG,CAC/E,CACF,CAAC;gBACJ,CAAC;gBACD,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;oBACjC,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;oBAC3C,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBAC9B,IAAI,MAAS,CAAC;oBACd,IAAI,CAAC;wBACH,qEAAqE;wBACrE,qEAAqE;wBACrE,6DAA6D;wBAC7D,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;wBAClD,MAAM,GAAG,MAAO,OAA8C,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;wBACjF,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvB,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;wBACvB,MAAM,GAAG,CAAC;oBACZ,CAAC;oBACD,sEAAsE;oBACtE,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;oBACxB,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,4EAA4E;IAC5E,oEAAoE;IACpE,4EAA4E;IAC5E,kEAAkE;IAClE,4EAA4E;IAEpE,KAAK,CAAC,SAAS,CACrB,SAAiB,EACjB,GAAqB,EACrB,KAAc;QAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,qEAAqE;gBACrE,oEAAoE;gBACpE,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,CAAC,SAAS,mBAAmB,KAAK,CAAC,UAAU,GAAG;oBAChF,WAAW,SAAS,4DAA4D,CACnF,CAAC;YACJ,CAAC;YACD,MAAM,SAAS,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK;QACT,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YAAE,EAAE,CAAC,KAAK,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAED,4EAA4E;IAC5E,yEAAyE;IACzE,sEAAsE;IACtE,4EAA4E;IAEpE,KAAK,CAAC,QAAQ,CAAC,EAAgB;QACrC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxC,KAAK,MAAM,QAAQ,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;oBACrC,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE;yBACf,OAAO,CACN;;;;;;6BAMe,CAChB;yBACA,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,CAAgB,CAAC;oBAClD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;wBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;wBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE;4BAC1D,MAAM,EAAE,GAAG,CAAC,EAAE;yBACf,CAAC,CAAC;wBACH,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;wBAC9B,IAAI,CAAC;4BACH,MAAM,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;4BACnC,EAAE,CAAC,EAAE;iCACF,OAAO,CACN;oCACkB,CACnB;iCACA,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;4BACnD,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BACrB,YAAY,GAAG,IAAI,CAAC;wBACtB,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BACvB,4DAA4D;4BAC5D,gEAAgE;4BAChE,EAAE,CAAC,EAAE;iCACF,OAAO,CACN;uCACqB,CACtB;iCACA,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;wBAClE,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,CAAC,YAAY;gBAAE,OAAO;QAC5B,CAAC;IACH,CAAC;IAEO,cAAc,CAAC,GAAc;QACnC,OAAO,WAAW,CAAC,KAAK,CAAC;YACvB,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,aAAa,EAAE,GAAG,CAAC,cAAc;YACjC,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B,MAAM,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,SAAS,EAAE;YAChE,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;SACpE,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,4CAA4C;IAC5C,4EAA4E;IAE5E;;;;;;OAMG;IACK,WAAW,CACjB,KAAsB,EACtB,MAAmB,EACnB,MAAkF,EAClF,MAAe,EACf,KAAc;QAEd,IAAI,CAAC,SAAS;aACX,OAAO,CACN;;4CAEoC,CACrC;aACA,GAAG,CACF,IAAI,EAAE,EACN,KAAK,EACL,MAAM,EACN,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,IAAI,IAAI,EACtB,MAAM,CAAC,QAAQ,IAAI,IAAI,EACvB,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAC9C,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAC5C,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;IACN,CAAC;IAEO,sBAAsB,CAAC,QAAkB,EAAE,GAAW;QAC5D,OAAO,CACL,IAAI,CAAC,SAAS;aACX,OAAO,CAAC,kFAAkF,CAAC;aAC3F,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,SAAS,CACpC,CAAC;IACJ,CAAC;IAEO,UAAU;QAChB,MAAM,SAAS,GAAG,CAAC,CAAY,EAAU,EAAE,CACzC,YAAY,CAAC,KAAK,CAAC;YACjB,EAAE,EAAE,CAAC,CAAC,SAAS;YACf,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,CAAC,CAAC,UAAU;SACxB,CAAC,CAAC;QACL,MAAM,UAAU,GAAG,CAAC,EAAY,EAAsB,EAAE;YACtD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,EAAE,CAEvE,CAAC;YACd,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtC,CAAC,CAAC;QAEF,0EAA0E;QAC1E,2EAA2E;QAC3E,4EAA4E;QAC5E,4DAA4D;QAC5D,MAAM,eAAe,GAAG,CACtB,KAAsB,EACtB,MAAmB,EACnB,QAAkB,EAClB,OAAgB,EAChB,IAAmB,EACnB,EAAe,EACf,EAAE;YACF,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS;iBACvB,OAAO,CAAC,yDAAyD,CAAC;iBAClE,GAAG,CAAC,OAAO,CAAsD,CAAC;YACrE,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAC;YACzE,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAqB,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CACb,gCAAgC,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,EAAE,GAAG;oBAC9D,kBAAkB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CACtC,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;YAC3F,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACjG,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,CACvB,QAAgB,EAChB,OAAe,EACf,QAAgB,EAChB,MAAc,EACd,SAAkB,EAClB,EAAE,CACF,IAAI,CAAC,SAAS;aACX,OAAO,CACN;;kCAEwB,CACzB;aACA,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;QAEjE,MAAM,eAAe,GAAG,CACtB,IAAU,EACV,OAAe,EACf,QAAgB,EAChB,MAAc,EACd,SAAkB,EAClB,EAAE;YACF,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACxE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACrD,EAAE,CAAC,EAAE;iBACF,OAAO,CACN;+BACqB,CACtB;iBACA,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,IAAI,IAAI,CAAC,CAAC;QACvD,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,CACjB,OAAe,EACf,UAAyB,EACzB,IAAU,EACV,MAAkB,EAClB,SAAkB,EAClB,EAAE;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,eAAe,CACb,IAAI,EACJ,OAAO,EACP,WAAW,UAAU,EAAE,EACvB,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,EACzC,SAAS,CACV,CAAC;YACJ,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,eAAe,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,UAAU,EAAE,EAAE,SAAS,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;YAC9F,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CACd,IAAI,CAAC,QAAQ,EACb,OAAO,EACP,WAAW,UAAU,EAAE,EACvB,UAAU,IAAI,CAAC,QAAQ,EAAE,EACzB,SAAS,CACV,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QAEF,OAAO;YACL,UAAU,EAAE,KAAK,EAAE,KAAsB,EAAE,QAAkB,EAAE,IAAoB,EAAE,EAAE;gBACrF,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,CAAC;gBACnE,IAAI,CAAC,SAAS;qBACX,OAAO,CACN;iCACqB,CACtB;qBACA,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACxF,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,QAAQ,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;gBACpD,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACtE,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,KAAsB,EAAE,UAA0B,EAAE,EAAE;gBACvE,MAAM,OAAO,GAAG,aAAa,UAAU,CAAC,WAAW,EAAE,CAAC;gBACtD,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;oBAC5B,eAAe,CACb,UAAU,CAAC,IAAI,EACf,OAAO,EACP,QAAQ,UAAU,CAAC,OAAO,EAAE,EAC5B,SAAS,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,CACnC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,gBAAgB,CACd,UAAU,CAAC,IAAI,CAAC,QAAQ,EACxB,OAAO,EACP,QAAQ,UAAU,CAAC,OAAO,EAAE,EAC5B,UAAU,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CACrC,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,WAAW,CACd,KAAK,EACL,YAAY,EACZ,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,EACxE,IAAI,EACJ,UAAU,CACX,CAAC;YACJ,CAAC;YACD,KAAK,EAAE,KAAK,EAAE,KAAsB,EAAE,KAAsB,EAAE,EAAE;gBAC9D,UAAU,CACR,aAAa,KAAK,CAAC,WAAW,EAAE,EAChC,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,SAAS,CAChB,CAAC;gBACF,IAAI,CAAC,WAAW,CACd,KAAK,EACL,OAAO,EACP,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAC9D,IAAI,EACJ,KAAK,CACN,CAAC;YACJ,CAAC;YACD,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;gBAC3D,UAAU,CAAC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC,WAAW,CACd,KAAK,EACL,YAAY,EACZ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,EAClD,IAAI,EACJ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,CACpC,CAAC;YACJ,CAAC;YACD,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE;gBACrD,gBAAgB,CAAC,QAAQ,EAAE,aAAa,SAAS,EAAE,EAAE,QAAQ,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC;gBAC/E,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,YAAY,EAAE,KAAK,EAAE,KAAsB,EAAE,KAAwB,EAAE,EAAE;gBACvE,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;qBACxB,OAAO,CACN;2CAC+B,CAChC;qBACA,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtE,wEAAwE;gBACxE,iCAAiC;gBACjC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC;oBAAE,OAAO;gBAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAChG,CAAC;YACD,eAAe,EAAE,KAAK,EAAE,KAAsB,EAAE,QAAkB,EAAE,MAAoB,EAAE,EAAE;gBAC1F,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;gBAC5D,IAAI,CAAC,SAAS;qBACX,OAAO,CAAC,mDAAmD,CAAC;qBAC5D,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBACzB,IAAI,CAAC,WAAW,CACd,KAAK,EACL,iBAAiB,EACjB,EAAE,QAAQ,EAAE,EACZ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EACzB,EAAE,MAAM,EAAE,CACX,CAAC;YACJ,CAAC;YACD,WAAW,EAAE,KAAK,IAAuB,EAAE,CACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,0CAA0C,CAAC,CAAC,GAAG,EAAkB,CAAC,GAAG,CAC3F,SAAS,CACV;YACH,SAAS,EAAE,KAAK,EAAE,QAAkB,EAA+B,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAC1F,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAC/C,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;YACpF,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CACjD,eAAe,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC;YACtF,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAC/C,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,UAAU,CAAC;YAChG,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CACjD,eAAe,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC;YACrF,gBAAgB,EAAE,KAAK,EAAE,KAAsB,EAAE,QAAkB,EAAE,cAAsB,EAAE,EAAE;gBAC7F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;qBACxB,OAAO,CACN;2BACe,CAChB;qBACA,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACjC,0EAA0E;gBAC1E,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC;oBAAE,OAAO;gBAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,iBAAiB,EAAE,KAAK,EAAE,KAAsB,EAAE,QAAkB,EAAE,cAAsB,EAAE,EAAE;gBAC9F,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;qBACxB,OAAO,CACN,gFAAgF,CACjF;qBACA,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;gBACjC,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC;oBAAE,OAAO,CAAC,gCAAgC;gBAChE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,IAAI,CAAC,CAAC;YACvF,CAAC;YACD,gBAAgB,EAAE,KAAK,EAAE,QAAkB,EAAqB,EAAE,CAE9D,IAAI,CAAC,SAAS;iBACX,OAAO,CACN,iGAAiG,CAClG;iBACA,GAAG,CAAC,QAAQ,CAChB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;YACjC,YAAY,EAAE,KAAK,EAAE,KAAsB,EAAE,KAAmB,EAAE,EAAE;gBAClE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;qBACxB,OAAO,CACN;;uCAE2B,CAC5B;qBACA,GAAG,CACF,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,IAAI,IAAI,EACtB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CACzB,CAAC;gBACJ,gFAAgF;gBAChF,IAAI,IAAI,CAAC,OAAO,KAAK,CAAC;oBAAE,OAAO;gBAC/B,IAAI,CAAC,WAAW,CACd,KAAK,EACL,cAAc,EACd,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,EACtD,IAAI,EACJ,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAC1F,CAAC;YACJ,CAAC;YACD,eAAe,EAAE,KAAK,EACpB,QAAgB,EAChB,UAAkB,EACqB,EAAE;gBACzC,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS;qBACvB,OAAO,CACN;oDACwC,CACzC;qBACA,GAAG,CAAC,QAAQ,EAAE,UAAU,CAEd,CAAC;gBACd,IAAI,CAAC,GAAG;oBAAE,OAAO,SAAS,CAAC;gBAC3B,OAAO,gBAAgB,CAAC,KAAK,CAAC;oBAC5B,SAAS,EAAE,GAAG,CAAC,YAAY;oBAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;oBACvB,OAAO,EAAE,GAAG,CAAC,QAAQ;iBACtB,CAAC,CAAC;YACL,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,MAAgC,EAA4B,EAAE;gBAC7E,MAAM,IAAI,GAAG,CACX,MAAM,EAAE,QAAQ;oBACd,CAAC,CAAC,IAAI,CAAC,SAAS;yBACX,OAAO,CAAC,mEAAmE,CAAC;yBAC5E,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+CAA+C,CAAC,CAAC,GAAG,EAAE,CACjE,CAAC;gBACnB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,aAAa,CAAC,KAAK,CAAC;oBAClB,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,QAAQ,EAAE,CAAC,CAAC,SAAS;oBACrB,OAAO,EAAE,CAAC,CAAC,QAAQ;oBACnB,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;oBACvD,KAAK,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;oBACpD,EAAE,EAAE,CAAC,CAAC,EAAE;iBACT,CAAC,CACH,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,SAAS;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS;aACxB,OAAO,CAAC,sEAAsE,CAAC;aAC/E,GAAG,EAAoF,CAAC;QAC3F,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC7C,GAAG,EAAE,CAAC,CAAC,QAAQ;gBACf,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC;gBACtC,MAAM,EAAE,CAAC,CAAC,MAAM;aACC,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,4EAA4E;IAEpE,gBAAgB,CACtB,EAAgB,EAChB,SAAsB,EACtB,WAAgC;QAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,OAAO;YACL,QAAQ,EAAE,EAAE,CAAC,QAAQ;YACrB,OAAO,EAAE,EAAE,CAAC,OAAO;YACnB,SAAS;YACT,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YACrB,IAAI,EAAE,CAAC,KAAuB,EAAE,EAAE;gBAChC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC;oBAC7B,GAAG,KAAK;oBACR,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;oBACzB,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBACnD,QAAQ,EAAE,EAAE,CAAC,QAAQ;oBACrB,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,KAAK,EAAE,WAAW,IAAI,SAAS;iBAChC,CAAC,CAAC;gBACH,EAAE,CAAC,EAAE;qBACF,OAAO,CACN;;;yDAG6C,CAC9C;qBACA,GAAG,CACF,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAC1B,IAAI,CAAC,MAAM,CAAC,UAAU,EACtB,IAAI,CAAC,MAAM,CAAC,QAAQ,EACpB,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,SAAS,IAAI,IAAI,EACtB,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CACjE,CAAC;YACN,CAAC;YACD,KAAK,EAAE,CAAC,UAAU,EAAE,MAAO,EAAE,EAAE,CAC7B,WAAW;gBACT,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;oBACd,OAAO,EAAE,IAAa;oBACtB,KAAK,EAAE;wBACL;4BACE,OAAO,EAAE,SAAS,CAAC,KAAK,CACtB,UAAU,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,EAAE,CAChE;4BACD,QAAQ,EAAE,WAAW,UAAU,EAAE;4BACjC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC;yBAC/C;qBACF;iBACF,CAAC;gBACJ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC;YAClG,IAAI,EAAE,CAAC,KAAgB,EAAE,MAAiB,EAAE,EAAE;gBAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAChD,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrC,MAAM,IAAI,KAAK,CACb,+BAA+B,KAAK,CAAC,UAAU,MAAM,MAAM,CAAC,UAAU,GAAG;wBACvE,qDAAqD,CACxD,CAAC;gBACJ,CAAC;gBACD,EAAE,CAAC,EAAE;qBACF,OAAO,CACN;qCACyB,CAC1B;qBACA,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7F,CAAC;SACF,CAAC;IACJ,CAAC;IAEO,sBAAsB,CAAC,EAAgB;QAC7C,MAAM,OAAO,GAAoD,EAAE,CAAC;QACpE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACxC,KAAK,MAAM,SAAS,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACvC,IAAI,CAAC,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,EAAE,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oBAChE,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QACnD,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;YAC3B,KAAK,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,OAAO,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBAC/C,IAAI,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC5C,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC9B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE;yBAClB,OAAO,CAAC,wEAAwE,CAAC;yBACjF,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;oBACpC,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;wBAC1B,EAAE,CAAC,EAAE;6BACF,OAAO,CACN,oFAAoF,CACrF;6BACA,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;oBAChE,CAAC;oBACD,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACvB,MAAM,IAAI,KAAK,CACb,wBAAwB,GAAG,0BAA2B,GAAa,CAAC,OAAO,EAAE,CAC9E,CAAC;gBACJ,CAAC;gBACD,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,OAAO,CAAC,QAAkB,EAAE,OAAgB;QAClD,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,OAAO,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,KAAK,OAAO,SAAS,CAAC,CAAC,CAAC;QAC1E,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAChC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpB,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAE7B,EAAE,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC,GAAG,EAItE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAC5C,CAAC;QACF,MAAM,OAAO,GAAiB,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,UAAU,EAAE,EAAE,iBAAiB,EAAE,CAAC;QACpG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,SAAS,SAAS,CAAC,EAAqB;IACtC,OAAO;QACL,KAAK,EAAE,CAAI,GAAW,EAAE,SAA8B,EAAE,EAAO,EAAE,CAC/D,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAQ;QACvC,IAAI,EAAE,CAAC,GAAW,EAAE,SAA8B,EAAE,EAAE,EAAE;YACtD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;YAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/adapter-sqlite",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Pure-SQLite scope host — real kernel semantics with no Cloudflare dependency (D-14): local dev, CI, self-host/escrow",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -23,14 +23,14 @@
|
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
25
|
"better-sqlite3": "^12.0.0",
|
|
26
|
-
"@substrat-run/kernel": "^0.
|
|
27
|
-
"@substrat-run/contracts": "^0.
|
|
26
|
+
"@substrat-run/kernel": "^0.4.0",
|
|
27
|
+
"@substrat-run/contracts": "^0.4.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/better-sqlite3": "^7.6.0",
|
|
31
31
|
"typescript": "^5.6.0",
|
|
32
32
|
"vitest": "^3.0.0",
|
|
33
|
-
"@substrat-run/contract-tests": "^0.
|
|
33
|
+
"@substrat-run/contract-tests": "^0.4.0"
|
|
34
34
|
},
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public"
|