@xemahq/biome-database-nest 0.37.0 → 1.0.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.
Files changed (58) hide show
  1. package/README.md +58 -0
  2. package/dist/index.d.ts +9 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +29 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/biome-migrations.d.ts +11 -0
  7. package/dist/lib/biome-migrations.d.ts.map +1 -0
  8. package/dist/lib/biome-migrations.js +51 -0
  9. package/dist/lib/biome-migrations.js.map +1 -0
  10. package/dist/lib/bootstrap.d.ts +4 -1
  11. package/dist/lib/bootstrap.d.ts.map +1 -1
  12. package/dist/lib/bootstrap.js +27 -17
  13. package/dist/lib/bootstrap.js.map +1 -1
  14. package/dist/lib/credential-client.d.ts +5 -1
  15. package/dist/lib/credential-client.d.ts.map +1 -1
  16. package/dist/lib/credential-client.js +7 -2
  17. package/dist/lib/credential-client.js.map +1 -1
  18. package/dist/lib/ledger-rows.d.ts +14 -0
  19. package/dist/lib/ledger-rows.d.ts.map +1 -0
  20. package/dist/lib/ledger-rows.js +44 -0
  21. package/dist/lib/ledger-rows.js.map +1 -0
  22. package/dist/lib/nest/biome-database.module.d.ts +5 -0
  23. package/dist/lib/nest/biome-database.module.d.ts.map +1 -1
  24. package/dist/lib/nest/biome-database.module.js +53 -6
  25. package/dist/lib/nest/biome-database.module.js.map +1 -1
  26. package/dist/lib/nest/sdk-owned-contribution.d.ts +25 -0
  27. package/dist/lib/nest/sdk-owned-contribution.d.ts.map +1 -0
  28. package/dist/lib/nest/sdk-owned-contribution.js +71 -0
  29. package/dist/lib/nest/sdk-owned-contribution.js.map +1 -0
  30. package/dist/lib/operator-migration-ledger.d.ts +4 -2
  31. package/dist/lib/operator-migration-ledger.d.ts.map +1 -1
  32. package/dist/lib/operator-migration-ledger.js +78 -20
  33. package/dist/lib/operator-migration-ledger.js.map +1 -1
  34. package/dist/lib/operator-migration.d.ts +4 -8
  35. package/dist/lib/operator-migration.d.ts.map +1 -1
  36. package/dist/lib/operator-migration.js +16 -44
  37. package/dist/lib/operator-migration.js.map +1 -1
  38. package/dist/lib/owned-table-shape.d.ts +33 -0
  39. package/dist/lib/owned-table-shape.d.ts.map +1 -0
  40. package/dist/lib/owned-table-shape.js +137 -0
  41. package/dist/lib/owned-table-shape.js.map +1 -0
  42. package/dist/lib/sdk-owned-errors.d.ts +24 -0
  43. package/dist/lib/sdk-owned-errors.d.ts.map +1 -0
  44. package/dist/lib/sdk-owned-errors.js +58 -0
  45. package/dist/lib/sdk-owned-errors.js.map +1 -0
  46. package/dist/lib/sdk-owned-migration-set.d.ts +19 -0
  47. package/dist/lib/sdk-owned-migration-set.d.ts.map +1 -0
  48. package/dist/lib/sdk-owned-migration-set.js +81 -0
  49. package/dist/lib/sdk-owned-migration-set.js.map +1 -0
  50. package/dist/lib/sdk-owned-migrations.d.ts +5 -0
  51. package/dist/lib/sdk-owned-migrations.d.ts.map +1 -0
  52. package/dist/lib/sdk-owned-migrations.js +58 -0
  53. package/dist/lib/sdk-owned-migrations.js.map +1 -0
  54. package/dist/lib/service-migration-scan.d.ts +3 -0
  55. package/dist/lib/service-migration-scan.d.ts.map +1 -0
  56. package/dist/lib/service-migration-scan.js +164 -0
  57. package/dist/lib/service-migration-scan.js.map +1 -0
  58. package/package.json +8 -8
package/README.md CHANGED
@@ -61,6 +61,61 @@ cutovers that require an operator between expansion and contraction.
61
61
  the deployment's privileged bootstrap, and an absent one refuses the boot
62
62
  with a message naming the extension, the database and the remedy.
63
63
 
64
+ ## Tables this SDK owns
65
+
66
+ This SDK owns `xema_operator_migrations`, the ledger of the migration runner
67
+ (the way Prisma owns `_prisma_migrations`). It is the table's only creator, and
68
+ the ledger records its own creation. Consumers never declare it in
69
+ `schema.prisma` or in a migration.
70
+
71
+ Other SDKs' persistent tables (for example the authorization-facts outbox) are
72
+ created by **SDK-owned versioned migrations**. The owning SDK declares a
73
+ `SdkOwnedMigrationSet` (`owner`, versioned `migrations`, each naming the tables
74
+ it `creates`, and the `tables` shapes), and its Nest module lists
75
+ `contributeSdkOwnedMigrations(set)` in its `providers`. `BiomeDatabaseModule`
76
+ collects every contribution in the graph (one set per owner, ordered by owner)
77
+ and applies them in the migration phase. That is the only way a set reaches the
78
+ phase: a biome wires nothing by hand.
79
+
80
+ `runBiomeMigrations` is the one migration phase (the bootstrap runs it, and so
81
+ does `pg-test-harness`). Under a per-schema lock it:
82
+
83
+ 1. reads the service's own migrations and refuses one that names an SDK-owned
84
+ table outside a PL/pgSQL function body;
85
+ 2. runs `prisma migrate deploy` (first, so a fresh schema is still empty for
86
+ Prisma);
87
+ 3. creates the ledger, or verifies that this SDK created it;
88
+ 4. applies each SDK-owned migration once, records it in the ledger with the
89
+ sha256 of its SQL, and verifies every owned table's shape.
90
+
91
+ A table is never adopted. Every refusal below fails the boot with a coded error:
92
+
93
+ | Code | When |
94
+ | --- | --- |
95
+ | `SDK_OWNED_TABLE_NOT_CREATED_BY_OWNER` | An owned table exists and the ledger has no record of its owner creating it (a service migration, a `schema.prisma` model or manual DDL created it). |
96
+ | `SDK_OWNED_TABLE_SHAPE_MISMATCH` | An owned table differs from the shape its SDK declares. |
97
+ | `SDK_OWNED_MIGRATION_CHANGED` | An applied migration's SQL is not the SQL this image ships. |
98
+ | `SDK_OWNED_MIGRATIONS_UNKNOWN_TO_IMAGE` | The ledger records an SDK-owned migration this image does not ship (the database is newer, or the image dropped an SDK). |
99
+ | `SERVICE_MIGRATION_TOUCHES_SDK_OWNED_TABLE` | A service migration names an SDK-owned table at migration time. |
100
+ | `SDK_OWNED_MIGRATION_SET_INVALID` | A set is malformed (for example its SQL uses `IF NOT EXISTS`, or two owners claim one table). |
101
+ | `SDK_OWNED_MIGRATIONS_NOT_APPLIED` | A module that owns tables is mounted in a graph with no migration phase. |
102
+ | `SDK_OWNED_MIGRATIONS_CONFLICT` | Two different sets are contributed for one owner. |
103
+
104
+ The remedy for the first three is a reset of the database schema, so the owning
105
+ SDK creates and records its tables. The ledger is never edited by hand.
106
+
107
+ The shape check compares each column's name, type, nullability and default, the
108
+ primary key, every CHECK constraint (name and expression) and every index (name,
109
+ uniqueness, key columns, predicate), and refuses a foreign key, exclusion
110
+ constraint or constraint trigger on an owned table. It does not compare an
111
+ index's access method, operator classes, collations or INCLUDE columns, ordinary
112
+ triggers, row-security policies, privileges, the table owner or storage
113
+ parameters.
114
+
115
+ A released migration is immutable; a change is a new version. The package that
116
+ owns a set pins `sdkOwnedMigrationDigests(set)` in a spec, so an edit fails
117
+ there rather than at the boot of every deployed schema.
118
+
64
119
  ## Installation
65
120
 
66
121
  ```bash
@@ -87,6 +142,9 @@ BiomeDatabaseModule.forRoot({
87
142
  biomeId: 'example',
88
143
  migrationMode: BiomeDatabaseMigrationMode.ApplicationManaged,
89
144
  databases: [{ workspaceDir: process.cwd() }],
145
+ // The service's own grant for the org-database-pool, built from the injected
146
+ // identity service (a service gets this from `XemaDatabaseModule`).
147
+ credentialGrant: (identity) => poolGrantFor(identity),
90
148
  });
91
149
  ```
92
150
 
package/dist/index.d.ts CHANGED
@@ -6,13 +6,20 @@ export { assertDatabaseSessionUtc, DatabaseSessionPath, DatabaseSessionTimeZoneE
6
6
  export { createBiomePrismaAdapter, createBiomePrismaAdapterFromEnv, resolveBiomePrismaAdapter, } from './lib/adapter';
7
7
  export { BIOME_PROCESS_CONCURRENCY, biomeDatabasePoolCeilingFromEnv, type BiomeDatabasePoolCeiling, BiomeDatabasePoolOptionsError, clearDeclaredBiomeDatabasePools, PLATFORM_CONNECTION_HEADROOM, publishDeclaredBiomeDatabasePool, readDeclaredBiomeDatabasePool, resolveBiomeDatabasePoolMax, resolveBiomeDatabasePoolOptions, validateBiomeDatabasePoolOptions, type BiomeDatabasePoolOptions, type BiomeProcessConcurrency, } from './lib/pool-sizing';
8
8
  export { clearResolvedBiomeConnections, publishResolvedBiomeConnection, readResolvedBiomeConnection, type ResolvedBiomeConnection, } from './lib/resolved-connection';
9
- export { DatabaseCredentialMode, DatabaseCredentialPurpose, fetchDatabaseCredential, logicalNameForDatabase, SERVICE_BINDING_SCOPE, type DatabaseCredentialRequest, type IssuedDatabaseCredential, } from './lib/credential-client';
9
+ export { DatabaseCredentialMode, DatabaseCredentialPurpose, fetchDatabaseCredential, logicalNameForDatabase, SERVICE_BINDING_SCOPE, type CredentialGrantSource, type DatabaseCredentialRequest, type IssuedDatabaseCredential, } from './lib/credential-client';
10
10
  export { assertBiomeDatabaseLeasesLive, DatabaseCredentialExpiredError, DatabaseCredentialLease, expiredBiomeDatabaseLeases, leasedClientClass, stopBiomeDatabaseLeases, type CredentialLeaseLogger, type DatabaseCredentialLeaseOptions, } from './lib/credential-lease';
11
11
  export { resolveControlPlaneBaseUrl, ORG_DATABASE_POOL_SERVICE_NAME, type ControlPlaneDiscoveryOptions, } from './lib/control-plane-discovery';
12
12
  export { bootstrapBiomeDatabases, type BiomeDatabaseDeclaration, type BiomeDatabasePreMigrationCheck, type BiomeDatabasePreMigrationContext, type BootstrapBiomeDatabasesOptions, } from './lib/bootstrap';
13
13
  export type { PrismaMigrationHistoryPolicy } from './lib/migration-history';
14
14
  export { BiomeDatabaseMigrationMode } from './lib/migration-mode';
15
15
  export { contractOperatorMigration, openOperatorMigrationClient, OperatorMigrationMode, OperatorMigrationPhase, parseOperatorMigrationMode, runOperatorMigration, verifyOperatorMigration, withOperatorMigrationLock, type ContractOperatorMigrationOptions, type OpenOperatorMigrationClientOptions, type OperatorMigrationDatabase, type RunOperatorMigrationOptions, type VerifyOperatorMigrationOptions, type WithOperatorMigrationLockOptions, } from './lib/operator-migration';
16
+ export { ensureOperatorMigrationLedger, OPERATOR_MIGRATION_LEDGER_TABLE, operatorMigrationLedgerMigrations, } from './lib/operator-migration-ledger';
17
+ export { assertOwnedTableShape, SdkOwnedTableShapeError, type OwnedCheckShape, type OwnedColumnShape, type OwnedIndexShape, type OwnedTableShape, } from './lib/owned-table-shape';
18
+ export { SdkOwnedMigrationChangedError, SdkOwnedMigrationsUnknownToImageError, SdkOwnedTableNotCreatedByOwnerError, ServiceMigrationTouchesSdkOwnedTableError, } from './lib/sdk-owned-errors';
19
+ export { sdkOwnedMigrationDigests, sdkOwnedMigrationId, SdkOwnedMigrationSetInvalidError, type SdkOwnedMigration, type SdkOwnedMigrationSet, } from './lib/sdk-owned-migration-set';
20
+ export { applySdkOwnedMigrations } from './lib/sdk-owned-migrations';
21
+ export { APPLIED_SDK_OWNED_MIGRATIONS, contributeSdkOwnedMigrations, mergeSdkOwnedMigrations, SdkOwnedMigrationsConflictError, SdkOwnedMigrationsNotAppliedError, type AppliedSdkOwnedMigrations, } from './lib/nest/sdk-owned-contribution';
22
+ export { runBiomeMigrations, type RunBiomeMigrationsOptions, } from './lib/biome-migrations';
16
23
  export { defaultLeaseHolderId, ExpiringLeaseStore, type ExpiringLeaseClient, type ExpiringLeaseLogger, type ExpiringLeaseOutcome, type ExpiringLeaseStoreOptions, } from './lib/expiring-lease';
17
24
  export { BiomeDatabaseModule, BIOME_DATABASE_READY, type ApplicationManagedBiomeDatabaseModuleOptions, type BiomeDatabaseModuleOptions, } from './lib/nest/biome-database.module';
18
25
  export { runBiomeDatabasePreflight, type RunBiomeDatabasePreflightOptions, } from './lib/nest/database-preflight';
@@ -25,6 +32,6 @@ export { assertUnscopedModelsDeclared, collectUnscopableModels, formatUnscopedMo
25
32
  export { assertOrgErasureMatchesModels, eraseOrgData, OrgErasureBlockedError, OrgErasureMatchesNothingError, type EraseOrgDataOptions, } from './lib/tenant-isolation/org-erasure';
26
33
  export { eraseOwnedAuthoredResourceGraph, type AuthoredResourceGraphErasureClient, type AuthoredResourceGraphNames, } from './lib/tenant-isolation/authored-resource-org-erasure';
27
34
  export { OrgErasureModule, type OrgErasureModuleOptions, } from './lib/nest/org-erasure.module';
28
- export { assertOrgNotProtected, IdentityOrgProtectionProbe, IDENTITY_SERVICE_NAME, ORG_DATA_ERASURE_CAPABILITY, ORG_ERASURE_ROUTE_PATH, ORG_ERASURE_RUNNER, ORGANIZATION_PROTECTED_ERROR_CODE, OrgErasureController, OrgProtectionGuard, OrgProtectionUnavailableError, ProtectedOrgErasureRefusedError, type OrgErasureReport, type OrgErasureRunner, type OrgProtectionProbe, } from '@xemahq/org-erasure-nest';
35
+ export { assertOrgNotProtected, IdentityOrgProtectionProbe, IDENTITY_SERVICE_NAME, ORG_DATA_ERASURE_CAPABILITY, ORG_ERASURE_ROUTE_PATH, ORG_ERASURE_RUNNER, ORG_PROTECTION_GRANT, ORGANIZATION_PROTECTED_ERROR_CODE, OrgErasureController, OrgProtectionGuard, OrgProtectionUnavailableError, ProtectedOrgErasureRefusedError, type OrgErasureReport, type OrgErasureRunner, type OrgProtectionGrant, type OrgProtectionProbe, } from '@xemahq/org-erasure-nest';
29
36
  export { BiomeDatabaseBootMode, biomeDatabaseBootModeFromEnv, } from './lib/boot-mode';
30
37
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.contractOperatorMigration = exports.BiomeDatabaseMigrationMode = exports.bootstrapBiomeDatabases = exports.ORG_DATABASE_POOL_SERVICE_NAME = exports.resolveControlPlaneBaseUrl = exports.stopBiomeDatabaseLeases = exports.leasedClientClass = exports.expiredBiomeDatabaseLeases = exports.DatabaseCredentialLease = exports.DatabaseCredentialExpiredError = exports.assertBiomeDatabaseLeasesLive = exports.SERVICE_BINDING_SCOPE = exports.logicalNameForDatabase = exports.fetchDatabaseCredential = exports.DatabaseCredentialPurpose = exports.DatabaseCredentialMode = exports.readResolvedBiomeConnection = exports.publishResolvedBiomeConnection = exports.clearResolvedBiomeConnections = exports.validateBiomeDatabasePoolOptions = exports.resolveBiomeDatabasePoolOptions = exports.resolveBiomeDatabasePoolMax = exports.readDeclaredBiomeDatabasePool = exports.publishDeclaredBiomeDatabasePool = exports.PLATFORM_CONNECTION_HEADROOM = exports.clearDeclaredBiomeDatabasePools = exports.BiomeDatabasePoolOptionsError = exports.biomeDatabasePoolCeilingFromEnv = exports.BIOME_PROCESS_CONCURRENCY = exports.resolveBiomePrismaAdapter = exports.createBiomePrismaAdapterFromEnv = exports.createBiomePrismaAdapter = exports.DatabaseSessionTimeZoneError = exports.DatabaseSessionPath = exports.assertDatabaseSessionUtc = exports.resolveBiomeDatabaseConfigFromEnv = exports.SCHEMA_ROLE_SUFFIX_LENGTH = exports.SCHEMA_ROLE_BASE_MAX_LENGTH = exports.SchemaRoleKind = exports.schemaRoleName = exports.schemaRoleBase = exports.rolesForSchema = exports.sanitizeIdentifierSegment = exports.sanitizeIdentifierChars = exports.POSTGRES_MAX_IDENTIFIER_LENGTH = exports.IDENTIFIER_HASH_LENGTH = exports.fitIdentifier = exports.composeIdentifier = exports.deriveBiomeSchemaName = exports.DEFAULT_BIOME_DB_KEY = void 0;
4
- exports.biomeDatabaseBootModeFromEnv = exports.BiomeDatabaseBootMode = exports.ProtectedOrgErasureRefusedError = exports.OrgProtectionUnavailableError = exports.OrgProtectionGuard = exports.OrgErasureController = exports.ORGANIZATION_PROTECTED_ERROR_CODE = exports.ORG_ERASURE_RUNNER = exports.ORG_ERASURE_ROUTE_PATH = exports.ORG_DATA_ERASURE_CAPABILITY = exports.IDENTITY_SERVICE_NAME = exports.IdentityOrgProtectionProbe = exports.assertOrgNotProtected = exports.OrgErasureModule = exports.eraseOwnedAuthoredResourceGraph = exports.OrgErasureMatchesNothingError = exports.OrgErasureBlockedError = exports.eraseOrgData = exports.assertOrgErasureMatchesModels = exports.UndeclaredUnscopedModelsError = exports.normalizeUnscopedModelDeclarations = exports.formatUnscopedModelReport = exports.collectUnscopableModels = exports.assertUnscopedModelsDeclared = exports.readRuntimeModels = exports.createTenantIsolationExtension = exports.collectOrgScopedModels = exports.DEFAULT_ORG_FIELD = exports.scopeArgsToOrg = exports.PrismaModelOperation = exports.formatTenantIsolationViolation = exports.TenantIsolationViolationKind = exports.TenantIsolationError = exports.resolveTenantIsolationMode = exports.TENANT_ISOLATION_MODE_ENV_VAR = exports.TenantIsolationMode = exports.createBiomePrismaService = exports.runBiomeDatabasePreflight = exports.BIOME_DATABASE_READY = exports.BiomeDatabaseModule = exports.ExpiringLeaseStore = exports.defaultLeaseHolderId = exports.withOperatorMigrationLock = exports.verifyOperatorMigration = exports.runOperatorMigration = exports.parseOperatorMigrationMode = exports.OperatorMigrationPhase = exports.OperatorMigrationMode = exports.openOperatorMigrationClient = void 0;
4
+ exports.assertOrgErasureMatchesModels = exports.UndeclaredUnscopedModelsError = exports.normalizeUnscopedModelDeclarations = exports.formatUnscopedModelReport = exports.collectUnscopableModels = exports.assertUnscopedModelsDeclared = exports.readRuntimeModels = exports.createTenantIsolationExtension = exports.collectOrgScopedModels = exports.DEFAULT_ORG_FIELD = exports.scopeArgsToOrg = exports.PrismaModelOperation = exports.formatTenantIsolationViolation = exports.TenantIsolationViolationKind = exports.TenantIsolationError = exports.resolveTenantIsolationMode = exports.TENANT_ISOLATION_MODE_ENV_VAR = exports.TenantIsolationMode = exports.createBiomePrismaService = exports.runBiomeDatabasePreflight = exports.BIOME_DATABASE_READY = exports.BiomeDatabaseModule = exports.ExpiringLeaseStore = exports.defaultLeaseHolderId = exports.runBiomeMigrations = exports.SdkOwnedMigrationsNotAppliedError = exports.SdkOwnedMigrationsConflictError = exports.mergeSdkOwnedMigrations = exports.contributeSdkOwnedMigrations = exports.APPLIED_SDK_OWNED_MIGRATIONS = exports.applySdkOwnedMigrations = exports.SdkOwnedMigrationSetInvalidError = exports.sdkOwnedMigrationId = exports.sdkOwnedMigrationDigests = exports.ServiceMigrationTouchesSdkOwnedTableError = exports.SdkOwnedTableNotCreatedByOwnerError = exports.SdkOwnedMigrationsUnknownToImageError = exports.SdkOwnedMigrationChangedError = exports.SdkOwnedTableShapeError = exports.assertOwnedTableShape = exports.operatorMigrationLedgerMigrations = exports.OPERATOR_MIGRATION_LEDGER_TABLE = exports.ensureOperatorMigrationLedger = exports.withOperatorMigrationLock = exports.verifyOperatorMigration = exports.runOperatorMigration = exports.parseOperatorMigrationMode = exports.OperatorMigrationPhase = exports.OperatorMigrationMode = exports.openOperatorMigrationClient = void 0;
5
+ exports.biomeDatabaseBootModeFromEnv = exports.BiomeDatabaseBootMode = exports.ProtectedOrgErasureRefusedError = exports.OrgProtectionUnavailableError = exports.OrgProtectionGuard = exports.OrgErasureController = exports.ORGANIZATION_PROTECTED_ERROR_CODE = exports.ORG_PROTECTION_GRANT = exports.ORG_ERASURE_RUNNER = exports.ORG_ERASURE_ROUTE_PATH = exports.ORG_DATA_ERASURE_CAPABILITY = exports.IDENTITY_SERVICE_NAME = exports.IdentityOrgProtectionProbe = exports.assertOrgNotProtected = exports.OrgErasureModule = exports.eraseOwnedAuthoredResourceGraph = exports.OrgErasureMatchesNothingError = exports.OrgErasureBlockedError = exports.eraseOrgData = void 0;
5
6
  var schema_name_1 = require("./lib/schema-name");
6
7
  Object.defineProperty(exports, "DEFAULT_BIOME_DB_KEY", { enumerable: true, get: function () { return schema_name_1.DEFAULT_BIOME_DB_KEY; } });
7
8
  Object.defineProperty(exports, "deriveBiomeSchemaName", { enumerable: true, get: function () { return schema_name_1.deriveBiomeSchemaName; } });
@@ -73,6 +74,32 @@ Object.defineProperty(exports, "parseOperatorMigrationMode", { enumerable: true,
73
74
  Object.defineProperty(exports, "runOperatorMigration", { enumerable: true, get: function () { return operator_migration_1.runOperatorMigration; } });
74
75
  Object.defineProperty(exports, "verifyOperatorMigration", { enumerable: true, get: function () { return operator_migration_1.verifyOperatorMigration; } });
75
76
  Object.defineProperty(exports, "withOperatorMigrationLock", { enumerable: true, get: function () { return operator_migration_1.withOperatorMigrationLock; } });
77
+ var operator_migration_ledger_1 = require("./lib/operator-migration-ledger");
78
+ Object.defineProperty(exports, "ensureOperatorMigrationLedger", { enumerable: true, get: function () { return operator_migration_ledger_1.ensureOperatorMigrationLedger; } });
79
+ Object.defineProperty(exports, "OPERATOR_MIGRATION_LEDGER_TABLE", { enumerable: true, get: function () { return operator_migration_ledger_1.OPERATOR_MIGRATION_LEDGER_TABLE; } });
80
+ Object.defineProperty(exports, "operatorMigrationLedgerMigrations", { enumerable: true, get: function () { return operator_migration_ledger_1.operatorMigrationLedgerMigrations; } });
81
+ var owned_table_shape_1 = require("./lib/owned-table-shape");
82
+ Object.defineProperty(exports, "assertOwnedTableShape", { enumerable: true, get: function () { return owned_table_shape_1.assertOwnedTableShape; } });
83
+ Object.defineProperty(exports, "SdkOwnedTableShapeError", { enumerable: true, get: function () { return owned_table_shape_1.SdkOwnedTableShapeError; } });
84
+ var sdk_owned_errors_1 = require("./lib/sdk-owned-errors");
85
+ Object.defineProperty(exports, "SdkOwnedMigrationChangedError", { enumerable: true, get: function () { return sdk_owned_errors_1.SdkOwnedMigrationChangedError; } });
86
+ Object.defineProperty(exports, "SdkOwnedMigrationsUnknownToImageError", { enumerable: true, get: function () { return sdk_owned_errors_1.SdkOwnedMigrationsUnknownToImageError; } });
87
+ Object.defineProperty(exports, "SdkOwnedTableNotCreatedByOwnerError", { enumerable: true, get: function () { return sdk_owned_errors_1.SdkOwnedTableNotCreatedByOwnerError; } });
88
+ Object.defineProperty(exports, "ServiceMigrationTouchesSdkOwnedTableError", { enumerable: true, get: function () { return sdk_owned_errors_1.ServiceMigrationTouchesSdkOwnedTableError; } });
89
+ var sdk_owned_migration_set_1 = require("./lib/sdk-owned-migration-set");
90
+ Object.defineProperty(exports, "sdkOwnedMigrationDigests", { enumerable: true, get: function () { return sdk_owned_migration_set_1.sdkOwnedMigrationDigests; } });
91
+ Object.defineProperty(exports, "sdkOwnedMigrationId", { enumerable: true, get: function () { return sdk_owned_migration_set_1.sdkOwnedMigrationId; } });
92
+ Object.defineProperty(exports, "SdkOwnedMigrationSetInvalidError", { enumerable: true, get: function () { return sdk_owned_migration_set_1.SdkOwnedMigrationSetInvalidError; } });
93
+ var sdk_owned_migrations_1 = require("./lib/sdk-owned-migrations");
94
+ Object.defineProperty(exports, "applySdkOwnedMigrations", { enumerable: true, get: function () { return sdk_owned_migrations_1.applySdkOwnedMigrations; } });
95
+ var sdk_owned_contribution_1 = require("./lib/nest/sdk-owned-contribution");
96
+ Object.defineProperty(exports, "APPLIED_SDK_OWNED_MIGRATIONS", { enumerable: true, get: function () { return sdk_owned_contribution_1.APPLIED_SDK_OWNED_MIGRATIONS; } });
97
+ Object.defineProperty(exports, "contributeSdkOwnedMigrations", { enumerable: true, get: function () { return sdk_owned_contribution_1.contributeSdkOwnedMigrations; } });
98
+ Object.defineProperty(exports, "mergeSdkOwnedMigrations", { enumerable: true, get: function () { return sdk_owned_contribution_1.mergeSdkOwnedMigrations; } });
99
+ Object.defineProperty(exports, "SdkOwnedMigrationsConflictError", { enumerable: true, get: function () { return sdk_owned_contribution_1.SdkOwnedMigrationsConflictError; } });
100
+ Object.defineProperty(exports, "SdkOwnedMigrationsNotAppliedError", { enumerable: true, get: function () { return sdk_owned_contribution_1.SdkOwnedMigrationsNotAppliedError; } });
101
+ var biome_migrations_1 = require("./lib/biome-migrations");
102
+ Object.defineProperty(exports, "runBiomeMigrations", { enumerable: true, get: function () { return biome_migrations_1.runBiomeMigrations; } });
76
103
  var expiring_lease_1 = require("./lib/expiring-lease");
77
104
  Object.defineProperty(exports, "defaultLeaseHolderId", { enumerable: true, get: function () { return expiring_lease_1.defaultLeaseHolderId; } });
78
105
  Object.defineProperty(exports, "ExpiringLeaseStore", { enumerable: true, get: function () { return expiring_lease_1.ExpiringLeaseStore; } });
@@ -121,6 +148,7 @@ Object.defineProperty(exports, "IDENTITY_SERVICE_NAME", { enumerable: true, get:
121
148
  Object.defineProperty(exports, "ORG_DATA_ERASURE_CAPABILITY", { enumerable: true, get: function () { return org_erasure_nest_1.ORG_DATA_ERASURE_CAPABILITY; } });
122
149
  Object.defineProperty(exports, "ORG_ERASURE_ROUTE_PATH", { enumerable: true, get: function () { return org_erasure_nest_1.ORG_ERASURE_ROUTE_PATH; } });
123
150
  Object.defineProperty(exports, "ORG_ERASURE_RUNNER", { enumerable: true, get: function () { return org_erasure_nest_1.ORG_ERASURE_RUNNER; } });
151
+ Object.defineProperty(exports, "ORG_PROTECTION_GRANT", { enumerable: true, get: function () { return org_erasure_nest_1.ORG_PROTECTION_GRANT; } });
124
152
  Object.defineProperty(exports, "ORGANIZATION_PROTECTED_ERROR_CODE", { enumerable: true, get: function () { return org_erasure_nest_1.ORGANIZATION_PROTECTED_ERROR_CODE; } });
125
153
  Object.defineProperty(exports, "OrgErasureController", { enumerable: true, get: function () { return org_erasure_nest_1.OrgErasureController; } });
126
154
  Object.defineProperty(exports, "OrgProtectionGuard", { enumerable: true, get: function () { return org_erasure_nest_1.OrgProtectionGuard; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { OperatorMigrationDatabase } from './ledger-rows';
2
+ import type { SdkOwnedMigrationSet } from './sdk-owned-migration-set';
3
+ export interface RunBiomeMigrationsOptions {
4
+ readonly database: OperatorMigrationDatabase;
5
+ readonly workspaceDir: string;
6
+ readonly connectionUrl: string;
7
+ readonly label: string;
8
+ readonly sdkOwnedMigrations?: readonly SdkOwnedMigrationSet[];
9
+ }
10
+ export declare function runBiomeMigrations(options: RunBiomeMigrationsOptions): Promise<void>;
11
+ //# sourceMappingURL=biome-migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"biome-migrations.d.ts","sourceRoot":"","sources":["../../src/lib/biome-migrations.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,MAAM,WAAW,yBAAyB;IAExC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAC;IAE7C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAE9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAE/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC/D;AAuBD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runBiomeMigrations = runBiomeMigrations;
4
+ const migration_runner_prisma_1 = require("@xemahq/migration-runner-prisma");
5
+ const operator_migration_ledger_1 = require("./operator-migration-ledger");
6
+ const sdk_owned_migrations_1 = require("./sdk-owned-migrations");
7
+ const service_migration_scan_1 = require("./service-migration-scan");
8
+ const BOOTSTRAP_LOCK_SQL = `SELECT pg_advisory_lock(hashtextextended('xema:biome-migrations:' || current_schema(), 0))`;
9
+ const BOOTSTRAP_UNLOCK_SQL = `SELECT pg_advisory_unlock(hashtextextended('xema:biome-migrations:' || current_schema(), 0)) AS released`;
10
+ async function runBiomeMigrations(options) {
11
+ const { database } = options;
12
+ const sets = options.sdkOwnedMigrations ?? [];
13
+ const ownerOfTable = (0, sdk_owned_migrations_1.sdkOwnedTableOwners)(sets);
14
+ await database.query(BOOTSTRAP_LOCK_SQL);
15
+ let failure;
16
+ try {
17
+ await (0, service_migration_scan_1.assertServiceMigrationsLeaveSdkOwnedTablesAlone)(options.workspaceDir, ownerOfTable);
18
+ const result = await new migration_runner_prisma_1.PrismaMigrationRunner().run({
19
+ workspaceDir: options.workspaceDir,
20
+ connectionUrl: options.connectionUrl,
21
+ env: {},
22
+ });
23
+ if (result.exitCode !== 0) {
24
+ throw new Error(`${options.label}: migrations failed (exit ${result.exitCode}):\n${result.output}`);
25
+ }
26
+ await (0, operator_migration_ledger_1.ensureOperatorMigrationLedger)(database);
27
+ await (0, sdk_owned_migrations_1.applySdkOwnedMigrations)(database, sets);
28
+ }
29
+ catch (error) {
30
+ failure = error;
31
+ throw error;
32
+ }
33
+ finally {
34
+ await releaseBootstrapLock(database, failure);
35
+ }
36
+ }
37
+ async function releaseBootstrapLock(database, workError) {
38
+ try {
39
+ const released = await database.query(BOOTSTRAP_UNLOCK_SQL);
40
+ if (released.rows[0]?.released !== true) {
41
+ throw new Error('Database reported that the bootstrap lock was not held.');
42
+ }
43
+ }
44
+ catch (unlockError) {
45
+ if (workError !== undefined) {
46
+ throw new AggregateError([workError, unlockError], 'Biome migrations failed and the bootstrap lock could not be released.');
47
+ }
48
+ throw unlockError;
49
+ }
50
+ }
51
+ //# sourceMappingURL=biome-migrations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"biome-migrations.js","sourceRoot":"","sources":["../../src/lib/biome-migrations.ts"],"names":[],"mappings":";;AA8CA,gDA+BC;AA7ED,6EAAwE;AAExE,2EAA4E;AAC5E,iEAGgC;AAChC,qEAA2F;AAkB3F,MAAM,kBAAkB,GAAG,4FAA4F,CAAC;AACxH,MAAM,oBAAoB,GAAG,0GAA0G,CAAC;AAoBjI,KAAK,UAAU,kBAAkB,CACtC,OAAkC;IAElC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,IAAA,0CAAmB,EAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACzC,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,IAAA,wEAA+C,EACnD,OAAO,CAAC,YAAY,EACpB,YAAY,CACb,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,+CAAqB,EAAE,CAAC,GAAG,CAAC;YACnD,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,GAAG,EAAE,EAAE;SACR,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,CAAC,KAAK,6BAA6B,MAAM,CAAC,QAAQ,OAAO,MAAM,CAAC,MAAM,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,MAAM,IAAA,yDAA6B,EAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,IAAA,8CAAuB,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,GAAG,KAAK,CAAC;QAChB,MAAM,KAAK,CAAC;IACd,CAAC;YAAS,CAAC;QACT,MAAM,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAAmC,EACnC,SAAkB;IAElB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CACnC,oBAAoB,CACrB,CAAC;QACF,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAAC,OAAO,WAAW,EAAE,CAAC;QACrB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,cAAc,CACtB,CAAC,SAAS,EAAE,WAAW,CAAC,EACxB,uEAAuE,CACxE,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,CAAC;IACpB,CAAC;AACH,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { type QueryResultRow } from 'pg';
2
2
  import { type ControlPlaneDiscoveryOptions } from './control-plane-discovery';
3
+ import { type CredentialGrantSource } from './credential-client';
3
4
  import { type PrismaMigrationHistoryPolicy } from './migration-history';
4
5
  import type { BiomeDatabaseConfig } from './config';
5
6
  import type { BiomeDatabaseMigrationMode } from './migration-mode';
6
7
  import type { BiomeProcessConcurrency } from './pool-sizing';
8
+ import type { SdkOwnedMigrationSet } from './sdk-owned-migration-set';
7
9
  import type { KernelState } from '@xemahq/contracts/kernel-state';
8
10
  export interface BiomeDatabasePreMigrationContext {
9
11
  readonly biomeId: string;
@@ -22,7 +24,7 @@ interface BootstrapBiomeDatabasesCommonOptions {
22
24
  readonly biomeId: string;
23
25
  readonly concurrency: BiomeProcessConcurrency;
24
26
  readonly env?: () => NodeJS.ProcessEnv;
25
- readonly serviceToken?: string | (() => Promise<string>);
27
+ readonly credentialGrant?: CredentialGrantSource;
26
28
  readonly kernelState: KernelState;
27
29
  readonly controlPlaneDiscovery?: ControlPlaneDiscoveryOptions;
28
30
  }
@@ -30,6 +32,7 @@ export interface ApplicationManagedBootstrapOptions extends BootstrapBiomeDataba
30
32
  readonly migrationMode: BiomeDatabaseMigrationMode.ApplicationManaged;
31
33
  readonly databases: readonly BiomeDatabaseDeclaration[];
32
34
  readonly requiredExtensions?: readonly string[];
35
+ readonly sdkOwnedMigrations?: readonly SdkOwnedMigrationSet[];
33
36
  }
34
37
  export type BootstrapBiomeDatabasesOptions = ApplicationManagedBootstrapOptions;
35
38
  export declare enum SchemaPosture {
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/lib/bootstrap.ts"],"names":[],"mappings":"AAYA,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,IAAI,CAAC;AAGjD,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,2BAA2B,CAAC;AAYnC,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,qBAAqB,CAAC;AAY7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EACV,uBAAuB,EACxB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AASlE,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,IAAI,SAAS,cAAc,GAAG,cAAc,EAChD,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;CAC7B;AAED,MAAM,MAAM,8BAA8B,GAAG,CAC3C,OAAO,EAAE,gCAAgC,KACtC,OAAO,CAAC,IAAI,CAAC,CAAC;AAGnB,MAAM,WAAW,wBAAwB;IAEvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAO9B,QAAQ,CAAC,aAAa,CAAC,EAAE,4BAA4B,CAAC;IAWtD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,8BAA8B,CAAC;CAC7D;AAGD,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAMzB,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IA6B9C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC,UAAU,CAAC;IAMvC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAOzD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,4BAA4B,CAAC;CAC/D;AAED,MAAM,WAAW,kCACf,SAAQ,oCAAoC;IAC5C,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC,kBAAkB,CAAC;IACtE,QAAQ,CAAC,SAAS,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAqBxD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAGD,MAAM,MAAM,8BAA8B,GACxC,kCAAkC,CAAC;AA4MrC,oBAAY,aAAa;IACvB,eAAe,sBAAsB;IACrC,UAAU,gBAAgB;CAC3B;AAaD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,OAAO,GAAE,aAA6C,GACrD,OAAO,CAAC,IAAI,CAAC,CAiEf;AA0PD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,8BAA8B,GACnC,OAAO,CAAC,IAAI,CAAC,CAkCf"}
1
+ {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/lib/bootstrap.ts"],"names":[],"mappings":"AAWA,OAAO,EAAU,KAAK,cAAc,EAAE,MAAM,IAAI,CAAC;AAIjD,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAKL,KAAK,qBAAqB,EAE3B,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,qBAAqB,CAAC;AAY7B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EACV,uBAAuB,EACxB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AASlE,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,IAAI,SAAS,cAAc,GAAG,cAAc,EAChD,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,SAAS,OAAO,EAAE,GAC1B,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;CAC7B;AAED,MAAM,MAAM,8BAA8B,GAAG,CAC3C,OAAO,EAAE,gCAAgC,KACtC,OAAO,CAAC,IAAI,CAAC,CAAC;AAGnB,MAAM,WAAW,wBAAwB;IAEvC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAEtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAO9B,QAAQ,CAAC,aAAa,CAAC,EAAE,4BAA4B,CAAC;IAWtD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,8BAA8B,CAAC;CAC7D;AAGD,UAAU,oCAAoC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAMzB,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAAC;IA6B9C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC,UAAU,CAAC;IAOvC,QAAQ,CAAC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IAOjD,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAElC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,4BAA4B,CAAC;CAC/D;AAED,MAAM,WAAW,kCACf,SAAQ,oCAAoC;IAC5C,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC,kBAAkB,CAAC;IACtE,QAAQ,CAAC,SAAS,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAqBxD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAShD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAC/D;AAGD,MAAM,MAAM,8BAA8B,GACxC,kCAAkC,CAAC;AA4MrC,oBAAY,aAAa;IACvB,eAAe,sBAAsB;IACrC,UAAU,gBAAgB;CAC3B;AAaD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,EAAE,SAAS,MAAM,EAAE,EACrC,OAAO,GAAE,aAA6C,GACrD,OAAO,CAAC,IAAI,CAAC,CAiEf;AAgQD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,8BAA8B,GACnC,OAAO,CAAC,IAAI,CAAC,CAkCf"}
@@ -9,9 +9,9 @@ const promises_1 = require("node:fs/promises");
9
9
  const node_os_1 = require("node:os");
10
10
  const node_path_1 = require("node:path");
11
11
  const common_1 = require("@nestjs/common");
12
- const migration_runner_prisma_1 = require("@xemahq/migration-runner-prisma");
13
12
  const platform_common_1 = require("@xemahq/platform-common");
14
13
  const pg_1 = require("pg");
14
+ const biome_migrations_1 = require("./biome-migrations");
15
15
  const config_1 = require("./config");
16
16
  const control_plane_discovery_1 = require("./control-plane-discovery");
17
17
  const credential_client_1 = require("./credential-client");
@@ -25,12 +25,12 @@ const scoped_env_1 = require("./scoped-env");
25
25
  const session_timezone_1 = require("./session-timezone");
26
26
  const LOG_PREFIX = '[biome-database]';
27
27
  const bootstrapLogger = new common_1.Logger('BiomeDatabaseBootstrap');
28
- async function resolveServiceToken(serviceToken) {
29
- if (serviceToken === undefined) {
30
- throw new Error(`${LOG_PREFIX} no local DB_* override and no serviceToken supplied — ` +
28
+ function requireCredentialGrant(grant) {
29
+ if (grant === undefined) {
30
+ throw new Error(`${LOG_PREFIX} no local DB_* override and no credentialGrant supplied — ` +
31
31
  'cannot authenticate to the control plane.');
32
32
  }
33
- return typeof serviceToken === 'function' ? serviceToken() : serviceToken;
33
+ return grant;
34
34
  }
35
35
  function readEnv(opts) {
36
36
  return opts.env?.() ?? (0, scoped_env_1.scopedEnvView)('The biome database bootstrap');
@@ -48,7 +48,7 @@ function resolveLocalOverride(opts, key) {
48
48
  }
49
49
  async function poolCredentials(opts, key, getControlPlaneBaseUrl) {
50
50
  const logicalName = (0, credential_client_1.logicalNameForDatabase)(opts.biomeId, key);
51
- const fetchFor = async (purpose) => (0, credential_client_1.fetchDatabaseCredential)(await getControlPlaneBaseUrl(), await resolveServiceToken(opts.serviceToken), { logicalName, purpose });
51
+ const fetchFor = async (purpose) => (0, credential_client_1.fetchDatabaseCredential)(await getControlPlaneBaseUrl(), requireCredentialGrant(opts.credentialGrant), { logicalName, purpose });
52
52
  return {
53
53
  migration: await fetchFor(credential_client_1.DatabaseCredentialPurpose.Migration),
54
54
  fetchRuntime: () => fetchFor(credential_client_1.DatabaseCredentialPurpose.Runtime),
@@ -163,15 +163,25 @@ function buildDirectConnectionUrl(biomeId, key, config) {
163
163
  }
164
164
  return (0, platform_common_1.ensureBiomeDbSearchPath)(directUrl);
165
165
  }
166
- async function runMigrations(biomeId, key, workspaceDir, migrateUrl) {
167
- bootstrapLogger.log(`${LOG_PREFIX} biome=${biomeId} key=${key}: running prisma migrate deploy (cwd=${workspaceDir})`);
168
- const result = await new migration_runner_prisma_1.PrismaMigrationRunner().run({
169
- workspaceDir,
170
- connectionUrl: migrateUrl,
171
- env: {},
172
- });
173
- if (result.exitCode !== 0) {
174
- throw new Error(`${LOG_PREFIX} biome=${biomeId} key=${key}: migrations failed (exit ${result.exitCode}):\n${result.output}`);
166
+ async function runMigrations(biomeId, key, decl, config, migrateUrl, sdkOwnedMigrations) {
167
+ bootstrapLogger.log(`${LOG_PREFIX} biome=${biomeId} key=${key}: running biome migrations (cwd=${decl.workspaceDir})`);
168
+ const schema = config.schema ?? 'public';
169
+ const client = createDirectPgClient(config);
170
+ await (0, session_timezone_1.connectVerified)(client, session_timezone_1.DatabaseSessionPath.Bootstrap);
171
+ try {
172
+ await client.query(`SELECT set_config('search_path', $1, false)`, [
173
+ `${quotePostgresIdentifier(schema)}, public`,
174
+ ]);
175
+ await (0, biome_migrations_1.runBiomeMigrations)({
176
+ database: client,
177
+ workspaceDir: decl.workspaceDir,
178
+ connectionUrl: migrateUrl,
179
+ label: `${LOG_PREFIX} biome=${biomeId} key=${key}`,
180
+ sdkOwnedMigrations,
181
+ });
182
+ }
183
+ finally {
184
+ await client.end();
175
185
  }
176
186
  }
177
187
  function quotePostgresIdentifier(identifier) {
@@ -294,7 +304,7 @@ async function bootstrapWithOneCredential(opts, key, decl, rawConfig) {
294
304
  const directUrl = buildDirectConnectionUrl(opts.biomeId, key, config);
295
305
  await ensureSchemaExists(opts.biomeId, key, config, opts.requiredExtensions ?? [], SchemaPosture.CreateIfMissing);
296
306
  await runPreMigrationCheck(opts.biomeId, key, decl, config);
297
- await runMigrations(opts.biomeId, key, decl.workspaceDir, directUrl);
307
+ await runMigrations(opts.biomeId, key, decl, config, directUrl, opts.sdkOwnedMigrations ?? []);
298
308
  await assertDatabaseMatchesImage(opts.biomeId, key, decl, config);
299
309
  const runtimeUrl = buildRuntimeUrl(opts.biomeId, key, config, directUrl);
300
310
  publishResolvedConnection(opts, key, config, runtimeUrl);
@@ -305,7 +315,7 @@ async function bootstrapWithPoolCredentials(opts, key, decl, issued) {
305
315
  const migrateUrl = buildDirectConnectionUrl(opts.biomeId, key, migration);
306
316
  await ensureSchemaExists(opts.biomeId, key, migration, opts.requiredExtensions ?? [], SchemaPosture.VerifyOnly);
307
317
  await runPreMigrationCheck(opts.biomeId, key, decl, migration);
308
- await runMigrations(opts.biomeId, key, decl.workspaceDir, migrateUrl);
318
+ await runMigrations(opts.biomeId, key, decl, migration, migrateUrl, opts.sdkOwnedMigrations ?? []);
309
319
  await assertDatabaseMatchesImage(opts.biomeId, key, decl, migration);
310
320
  const runtimeIssued = await issued.fetchRuntime();
311
321
  const runtime = await materializeInlineCaCert(opts.biomeId, key, runtimeIssued);
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/lib/bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/lib/bootstrap.ts"],"names":[],"mappings":";;;AAgaA,gDAuEC;AAgQD,0DAoCC;AA3wBD,6CAAyC;AACzC,qCAAuC;AACvC,+CAA6C;AAC7C,qCAAiC;AACjC,yCAAiC;AAEjC,2CAAwC;AACxC,6DAGiC;AACjC,2BAAiD;AAEjD,yDAAwD;AACxD,qCAA6D;AAC7D,uEAGmC;AACnC,2DAO6B;AAC7B,yDAG4B;AAC5B,2DAI6B;AAC7B,+CAIuB;AACvB,+DAA0E;AAC1E,+DAAuE;AACvE,+CAAqD;AACrD,6CAA6C;AAC7C,yDAA0E;AAyJ1E,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAStC,MAAM,eAAe,GAAG,IAAI,eAAM,CAAC,wBAAwB,CAAC,CAAC;AAE7D,SAAS,sBAAsB,CAC7B,KAAwC;IAExC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,4DAA4D;YACvE,2CAA2C,CAC9C,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAkDD,SAAS,OAAO,CACd,IAAuD;IAEvD,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,IAAA,0BAAa,EAAC,8BAA8B,CAAC,CAAC;AACvE,CAAC;AASD,SAAS,oBAAoB,CAC3B,IAA0C,EAC1C,GAAW;IAEX,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,KAAK,GAAG,IAAA,0CAAiC,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1D,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,YAAY,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,UAAU,IAAI,CAAC,OAAO,QAAQ,GAAG,iCAAiC;YAC7E,+EAA+E;YAC/E,8EAA8E;YAC9E,kEAAkE,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAQD,KAAK,UAAU,eAAe,CAC5B,IAA0C,EAC1C,GAAW,EACX,sBAA6C;IAE7C,MAAM,WAAW,GAAG,IAAA,0CAAsB,EAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,KAAK,EACpB,OAAkC,EACC,EAAE,CACrC,IAAA,2CAAuB,EACrB,MAAM,sBAAsB,EAAE,EAC9B,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,EAC5C,EAAE,WAAW,EAAE,OAAO,EAAE,CACzB,CAAC;IACJ,OAAO;QACL,SAAS,EAAE,MAAM,QAAQ,CAAC,6CAAyB,CAAC,SAAS,CAAC;QAC9D,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,6CAAyB,CAAC,OAAO,CAAC;KAChE,CAAC;AACJ,CAAC;AAQD,KAAK,UAAU,uBAAuB,CACpC,OAAe,EACf,GAAW,EACX,MAA2B;IAE3B,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;QAC9D,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,IAAA,wBAAU,EAAC,QAAQ,CAAC;SAC9B,MAAM,CAAC,GAAG,OAAO,IAAI,GAAG,EAAE,CAAC;SAC3B,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChB,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,IAAA,gBAAM,GAAE,EAAE,oBAAoB,IAAI,MAAM,CAAC,CAAC;IAChE,MAAM,IAAA,oBAAS,EAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACvC,CAAC;IACD,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,6BAA6B,QAAQ,EAAE,CACjF,CAAC;IACF,OAAO,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;AACrD,CAAC;AAYD,SAAS,UAAU,CACjB,MAA2B;IAE3B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,aAAa,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACzC,MAAM,EAAE,GACN,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,sBAAY,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1E,OAAO;QACL,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,kBAAkB,EAAE,MAAM;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAA2B;IACvD,OAAO,IAAI,WAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,QAAQ;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,EAAE,UAAU,CAAC,MAAM,CAAC;KACxB,CAAC,CAAC;AACL,CAAC;AAMD,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,sDAAqC,CAAA;IACrC,2CAA0B,CAAA;AAC5B,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB;AAaM,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,GAAW,EACX,MAA2B,EAC3B,kBAAqC,EACrC,UAAyB,aAAa,CAAC,eAAe;IAEtD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,SAAS,GAAG,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,EAAE,CAAC;IACxD,IAAI,CAAC,SAAS,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,IAAA,kCAAe,EAAC,MAAM,EAAE,sCAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,IAAI,CAAC;QAKH,MAAM,IAAA,uDAAiC,EACrC,MAAM,EACN;YACE,OAAO;YACP,GAAG;YACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;SAClB,EACD,kBAAkB,CACnB,CAAC;QACF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,0BAA0B;gBACjE,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CACzD,CAAC;QACJ,CAAC;QACD,IAAI,SAAS,IAAI,OAAO,KAAK,aAAa,CAAC,UAAU,EAAE,CAAC;YAItD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAC9B,+CAA+C,EAC/C,CAAC,MAAM,CAAC,CACT,CAAC;YACF,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,aAAa,MAAM,mBAAmB;oBAC7E,OAAO,MAAM,CAAC,QAAQ,yDAAyD;oBAC/E,4EAA4E,CAC/E,CAAC;YACJ,CAAC;YACD,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,sBAAsB,MAAM,UAAU,CAChF,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,MAAM,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;gBAC/D,MAAM;aACP,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,gCAAgC,MAAM,GAAG,CAAC,CAAC;YAC9D,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC7B,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,qBAAqB,MAAM,UAAU,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAGD,SAAS,wBAAwB,CAC/B,OAAe,EACf,GAAW,EACX,MAA2B;IAE3B,MAAM,SAAS,GAAG,IAAA,yCAAuB,EAAC;QACxC,IAAI,EAAE,MAAM,CAAC,QAAQ;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC3E,CAAC,CAAC;IACH,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,mDAAmD,CAC7F,CAAC;IACJ,CAAC;IACD,OAAO,IAAA,yCAAuB,EAAC,SAAS,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAAe,EACf,GAAW,EACX,IAA8B,EAC9B,MAA2B,EAC3B,UAAkB,EAClB,kBAAmD;IAEnD,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,mCAAmC,IAAI,CAAC,YAAY,GAAG,CACjG,CAAC;IAUF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;IACzC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,IAAA,kCAAe,EAAC,MAAM,EAAE,sCAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE;YAChE,GAAG,uBAAuB,CAAC,MAAM,CAAC,UAAU;SAC7C,CAAC,CAAC;QACH,MAAM,IAAA,qCAAkB,EAAC;YACvB,QAAQ,EAAE,MAAM;YAChB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,aAAa,EAAE,UAAU;YACzB,KAAK,EAAE,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,EAAE;YAClD,kBAAkB;SACnB,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,UAAkB;IACjD,OAAO,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;AACjD,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAAe,EACf,GAAW,EACX,WAAqC,EACrC,MAA2B;IAE3B,IAAI,WAAW,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;IACzC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,IAAA,kCAAe,EAAC,MAAM,EAAE,sCAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,KAAK,CAChB,6CAA6C,EAC7C,CAAC,GAAG,uBAAuB,CAAC,MAAM,CAAC,UAAU,CAAC,CAC/C,CAAC;QACF,MAAM,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC7D,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,6CAA6C,CACvF,CAAC;QACF,MAAM,WAAW,CAAC,iBAAiB,CAAC;YAClC,OAAO;YACP,GAAG;YACH,MAAM;YACN,KAAK,EAAE,KAAK,EACV,IAAY,EACZ,SAA6B,EAAE,EACL,EAAE;gBAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAO,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;gBAC3D,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;SACF,CAAC,CAAC;QACH,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,4CAA4C,CACtF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAQD,KAAK,UAAU,yBAAyB,CACtC,OAAe,EACf,GAAW,EACX,MAA2B;IAE3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;IACzC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,IAAA,kCAAe,EAAC,MAAM,EAAE,sCAAmB,CAAC,SAAS,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B;gBACU,uBAAuB,CAAC,MAAM,CAAC;;;oCAGX,CAC/B,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,yBAAyB;YAChE,gCAAgC,MAAM,MACpC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,EAAE,EACJ,EAAE,KAAK,EAAE,KAAK,EAAE,CACjB,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,OAAe,EACf,GAAW,EACX,WAAqC,EACrC,MAA2B;IAE3B,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrE,IAAA,iDAA6B,EAAC,WAAW,CAAC,YAAY,CAAC;QACvD,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC;KAChD,CAAC,CAAC;IACH,IAAA,oDAAgC,EAAC;QAC/B,OAAO;QACP,GAAG;QACH,mBAAmB;QACnB,qBAAqB;QACrB,GAAG,CAAC,WAAW,CAAC,aAAa,KAAK,SAAS;YACzC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,EAAE,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE,CAAC;KAClD,CAAC,CAAC;IACH,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,sBAAsB;QAC7D,eAAe,qBAAqB,CAAC,MAAM,WAAW,CACzD,CAAC;AACJ,CAAC;AAiBD,SAAS,eAAe,CACtB,OAAe,EACf,GAAW,EACX,MAA2B,EAC3B,SAAiB;IAEjB,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,KAAK,EAAE,EAAE,CAAC;QAChE,OAAO,IAAA,yCAAuB,EAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,SAAS,GAAG,IAAA,yCAAuB,EAAC;QACxC,IAAI,EAAE,MAAM,CAAC,QAAQ;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,IAAI,EAAE,MAAM,CAAC,UAAU;QACvB,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC;QAC9C,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,SAAS,EAAE,MAAM,CAAC,eAAe,IAAI,iBAAiB;KACvD,CAAC,CAAC;IACH,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,yDAAyD,CACnG,CAAC;IACJ,CAAC;IACD,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,mCAAmC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,EAAE,CACpI,CAAC;IACF,OAAO,IAAA,yCAAuB,EAAC,SAAS,CAAC,CAAC;AAC5C,CAAC;AAeD,SAAS,yBAAyB,CAChC,IAAoC,EACpC,GAAW,EACX,MAA2B,EAC3B,UAAkB,EAClB,KAA+B;IAE/B,IAAA,oDAA8B,EAAC,GAAG,EAAE;QAClC,GAAG,EAAE,UAAU;QACf,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,EAAE;YACrD,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;YAC3B,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,EAAE,IAAA,yCAA2B,EAClC,IAAA,6CAA+B,EAAC,IAAI,CAAC,WAAW,CAAC,EACjD,IAAA,6CAA+B,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CACpD;KACF,CAAC,CAAC;AACL,CAAC;AAWM,KAAK,UAAU,uBAAuB,CAC3C,IAAoC;IAIpC,IAAA,6CAA+B,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAGlD,IAAI,aAAiC,CAAC;IACtC,MAAM,sBAAsB,GAAG,KAAK,IAAqB,EAAE;QACzD,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,aAAa,GAAG,MAAM,IAAA,oDAA0B,EAC9C,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,qBAAqB,CAC3B,CAAC;QACJ,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,kCAAoB,CAAC;QAC7C,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,IAAI,CAAC,OAAO,QAAQ,GAAG,+BAA+B,IAAI,CAAC,aAAa,EAAE,CAClG,CAAC;QACF,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,MAAM,0BAA0B,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACzD,SAAS;QACX,CAAC;QACD,MAAM,4BAA4B,CAChC,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,MAAM,eAAe,CAAC,IAAI,EAAE,GAAG,EAAE,sBAAsB,CAAC,CACzD,CAAC;IACJ,CAAC;AACH,CAAC;AAMD,KAAK,UAAU,0BAA0B,CACvC,IAAoC,EACpC,GAAW,EACX,IAA8B,EAC9B,SAA8B;IAE9B,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,kBAAkB,CACtB,IAAI,CAAC,OAAO,EACZ,GAAG,EACH,MAAM,EACN,IAAI,CAAC,kBAAkB,IAAI,EAAE,EAC7B,aAAa,CAAC,eAAe,CAC9B,CAAC;IACF,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,aAAa,CACjB,IAAI,CAAC,OAAO,EACZ,GAAG,EACH,IAAI,EACJ,MAAM,EACN,SAAS,EACT,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAC9B,CAAC;IACF,MAAM,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACzE,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IACzD,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,IAAI,CAAC,OAAO,QAAQ,GAAG,uCAAuC,CACtF,CAAC;AACJ,CAAC;AAOD,KAAK,UAAU,4BAA4B,CACzC,IAAoC,EACpC,GAAW,EACX,IAA8B,EAC9B,MAA6B;IAE7B,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAC7C,IAAI,CAAC,OAAO,EACZ,GAAG,EACH,MAAM,CAAC,SAAS,CACjB,CAAC;IACF,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,kBAAkB,CACtB,IAAI,CAAC,OAAO,EACZ,GAAG,EACH,SAAS,EACT,IAAI,CAAC,kBAAkB,IAAI,EAAE,EAC7B,aAAa,CAAC,UAAU,CACzB,CAAC;IACF,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC/D,MAAM,aAAa,CACjB,IAAI,CAAC,OAAO,EACZ,GAAG,EACH,IAAI,EACJ,SAAS,EACT,UAAU,EACV,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAC9B,CAAC;IACF,MAAM,0BAA0B,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAErE,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;IAClD,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC;IAChF,IAAI,aAAa,CAAC,cAAc,KAAK,0CAAsB,CAAC,MAAM,EAAE,CAAC;QACnE,MAAM,WAAW,GAAG,IAAA,0CAAsB,EAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,0CAAuB,CAAC;YACxC,WAAW;YACX,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE,MAAM,CAAC,YAAY;YAC1B,MAAM,EAAE,eAAe;SACxB,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAA,6CAA0B,EAAC,KAAK,CAAC,CAAC;QAIlC,MAAM,UAAU,GAAG,eAAe,CAChC,IAAI,CAAC,OAAO,EACZ,GAAG,EACH,EAAE,GAAG,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,QAAQ,EAAE,2BAA2B,EAAE,EACxF,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YAC1C,GAAG,OAAO;YACV,QAAQ,EAAE,uBAAuB;YACjC,QAAQ,EAAE,2BAA2B;SACtC,CAAC,CACH,CAAC;QACF,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACjE,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,IAAI,CAAC,OAAO,QAAQ,GAAG,uBAAuB;YACnE,mCAAmC,KAAK,CAAC,SAAS,GAAG,CACxD,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,aAAa,GAAG,wBAAwB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC9E,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAC1D,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,IAAI,CAAC,OAAO,QAAQ,GAAG,iDAAiD,CAChG,CAAC;AACJ,CAAC;AAOD,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AACzC,MAAM,2BAA2B,GAAG,QAAQ,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import type { BiomeDatabaseConfig } from './config';
2
+ export interface CredentialGrantSource {
3
+ readonly operation: string;
4
+ getAccessToken(): Promise<string>;
5
+ }
2
6
  export declare enum DatabaseCredentialPurpose {
3
7
  Migration = "migration",
4
8
  Runtime = "runtime"
@@ -17,6 +21,6 @@ export interface IssuedDatabaseCredential extends BiomeDatabaseConfig {
17
21
  readonly expiresAt?: string;
18
22
  readonly renewAfter?: string;
19
23
  }
20
- export declare function fetchDatabaseCredential(baseUrl: string, serviceToken: string, request: DatabaseCredentialRequest): Promise<IssuedDatabaseCredential>;
24
+ export declare function fetchDatabaseCredential(baseUrl: string, grant: CredentialGrantSource, request: DatabaseCredentialRequest): Promise<IssuedDatabaseCredential>;
21
25
  export declare function logicalNameForDatabase(biomeId: string, dbKey: string): string;
22
26
  //# sourceMappingURL=credential-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential-client.d.ts","sourceRoot":"","sources":["../../src/lib/credential-client.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGpD,oBAAY,yBAAyB;IACnC,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAGD,oBAAY,sBAAsB;IAEhC,MAAM,WAAW;IAEjB,MAAM,WAAW;CAClB;AAGD,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAE9C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;CAC7C;AAGD,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAEhD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAkBD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CA2BnC;AA0DD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7E"}
1
+ {"version":3,"file":"credential-client.d.ts","sourceRoot":"","sources":["../../src/lib/credential-client.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AASpD,MAAM,WAAW,qBAAqB;IAEpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACnC;AAGD,oBAAY,yBAAyB;IACnC,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAGD,oBAAY,sBAAsB;IAEhC,MAAM,WAAW;IAEjB,MAAM,WAAW;CAClB;AAGD,eAAO,MAAM,qBAAqB,WAAW,CAAC;AAE9C,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;CAC7C;AAGD,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAEhD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAkBD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,qBAAqB,EAC5B,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC,CAkCnC;AA0DD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7E"}
@@ -24,12 +24,17 @@ const REQUIRED_FIELDS = [
24
24
  'schema',
25
25
  'credentialMode',
26
26
  ];
27
- async function fetchDatabaseCredential(baseUrl, serviceToken, request) {
27
+ async function fetchDatabaseCredential(baseUrl, grant, request) {
28
+ const token = await grant.getAccessToken();
29
+ if (typeof token !== 'string' || token === '') {
30
+ throw new Error(`fetchDatabaseCredential: the credential grant (${grant.operation}) ` +
31
+ 'returned no token; an empty bearer would be sent as unauthenticated traffic.');
32
+ }
28
33
  const url = `${baseUrl.replace(/\/$/, '')}/system-databases/credentials`;
29
34
  const response = await fetch(url, {
30
35
  method: 'POST',
31
36
  headers: {
32
- authorization: `Bearer ${serviceToken}`,
37
+ authorization: `Bearer ${token}`,
33
38
  'content-type': 'application/json',
34
39
  },
35
40
  body: JSON.stringify({
@@ -1 +1 @@
1
- {"version":3,"file":"credential-client.js","sourceRoot":"","sources":["../../src/lib/credential-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-client.js","sourceRoot":"","sources":["../../src/lib/credential-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { QueryResult, QueryResultRow } from 'pg';
2
+ export declare enum OperatorMigrationPhase {
3
+ Verified = "verified",
4
+ Contracted = "contracted",
5
+ Applied = "applied"
6
+ }
7
+ export interface OperatorMigrationDatabase {
8
+ query<R extends QueryResultRow = QueryResultRow>(queryText: string, values?: unknown[]): Promise<QueryResult<R>>;
9
+ }
10
+ export declare function recordPhase(database: OperatorMigrationDatabase, migrationId: string, phase: OperatorMigrationPhase, artifactSha256: string): Promise<void>;
11
+ export declare function readPhase(database: OperatorMigrationDatabase, migrationId: string, phase: OperatorMigrationPhase): Promise<string | null>;
12
+ export declare function assertArtifactMatches(migrationId: string, phase: OperatorMigrationPhase, recorded: string, expected: string): void;
13
+ export declare function sha256(value: string): string;
14
+ //# sourceMappingURL=ledger-rows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger-rows.d.ts","sourceRoot":"","sources":["../../src/lib/ledger-rows.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAItD,oBAAY,sBAAsB;IAChC,QAAQ,aAAa;IACrB,UAAU,eAAe;IAEzB,OAAO,YAAY;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC7C,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,OAAO,EAAE,GACjB,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5B;AAED,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,yBAAyB,EACnC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,sBAAsB,EAC7B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAsB,SAAS,CAC7B,QAAQ,EAAE,yBAAyB,EACnC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAcxB;AAED,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,sBAAsB,EAC7B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,IAAI,CAMN;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5C"}