@xemahq/biome-database-nest 0.37.0 → 0.38.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 (53) hide show
  1. package/README.md +55 -0
  2. package/dist/index.d.ts +7 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +28 -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 +2 -0
  11. package/dist/lib/bootstrap.d.ts.map +1 -1
  12. package/dist/lib/bootstrap.js +22 -12
  13. package/dist/lib/bootstrap.js.map +1 -1
  14. package/dist/lib/ledger-rows.d.ts +14 -0
  15. package/dist/lib/ledger-rows.d.ts.map +1 -0
  16. package/dist/lib/ledger-rows.js +44 -0
  17. package/dist/lib/ledger-rows.js.map +1 -0
  18. package/dist/lib/nest/biome-database.module.d.ts.map +1 -1
  19. package/dist/lib/nest/biome-database.module.js +30 -5
  20. package/dist/lib/nest/biome-database.module.js.map +1 -1
  21. package/dist/lib/nest/sdk-owned-contribution.d.ts +25 -0
  22. package/dist/lib/nest/sdk-owned-contribution.d.ts.map +1 -0
  23. package/dist/lib/nest/sdk-owned-contribution.js +71 -0
  24. package/dist/lib/nest/sdk-owned-contribution.js.map +1 -0
  25. package/dist/lib/operator-migration-ledger.d.ts +4 -2
  26. package/dist/lib/operator-migration-ledger.d.ts.map +1 -1
  27. package/dist/lib/operator-migration-ledger.js +78 -20
  28. package/dist/lib/operator-migration-ledger.js.map +1 -1
  29. package/dist/lib/operator-migration.d.ts +4 -8
  30. package/dist/lib/operator-migration.d.ts.map +1 -1
  31. package/dist/lib/operator-migration.js +16 -44
  32. package/dist/lib/operator-migration.js.map +1 -1
  33. package/dist/lib/owned-table-shape.d.ts +33 -0
  34. package/dist/lib/owned-table-shape.d.ts.map +1 -0
  35. package/dist/lib/owned-table-shape.js +137 -0
  36. package/dist/lib/owned-table-shape.js.map +1 -0
  37. package/dist/lib/sdk-owned-errors.d.ts +24 -0
  38. package/dist/lib/sdk-owned-errors.d.ts.map +1 -0
  39. package/dist/lib/sdk-owned-errors.js +58 -0
  40. package/dist/lib/sdk-owned-errors.js.map +1 -0
  41. package/dist/lib/sdk-owned-migration-set.d.ts +19 -0
  42. package/dist/lib/sdk-owned-migration-set.d.ts.map +1 -0
  43. package/dist/lib/sdk-owned-migration-set.js +81 -0
  44. package/dist/lib/sdk-owned-migration-set.js.map +1 -0
  45. package/dist/lib/sdk-owned-migrations.d.ts +5 -0
  46. package/dist/lib/sdk-owned-migrations.d.ts.map +1 -0
  47. package/dist/lib/sdk-owned-migrations.js +58 -0
  48. package/dist/lib/sdk-owned-migrations.js.map +1 -0
  49. package/dist/lib/service-migration-scan.d.ts +3 -0
  50. package/dist/lib/service-migration-scan.d.ts.map +1 -0
  51. package/dist/lib/service-migration-scan.js +164 -0
  52. package/dist/lib/service-migration-scan.js.map +1 -0
  53. package/package.json +7 -7
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
package/dist/index.d.ts CHANGED
@@ -13,6 +13,13 @@ export { bootstrapBiomeDatabases, type BiomeDatabaseDeclaration, type BiomeDatab
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';
@@ -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_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; } });
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"}
@@ -4,6 +4,7 @@ import { type PrismaMigrationHistoryPolicy } from './migration-history';
4
4
  import type { BiomeDatabaseConfig } from './config';
5
5
  import type { BiomeDatabaseMigrationMode } from './migration-mode';
6
6
  import type { BiomeProcessConcurrency } from './pool-sizing';
7
+ import type { SdkOwnedMigrationSet } from './sdk-owned-migration-set';
7
8
  import type { KernelState } from '@xemahq/contracts/kernel-state';
8
9
  export interface BiomeDatabasePreMigrationContext {
9
10
  readonly biomeId: string;
@@ -30,6 +31,7 @@ export interface ApplicationManagedBootstrapOptions extends BootstrapBiomeDataba
30
31
  readonly migrationMode: BiomeDatabaseMigrationMode.ApplicationManaged;
31
32
  readonly databases: readonly BiomeDatabaseDeclaration[];
32
33
  readonly requiredExtensions?: readonly string[];
34
+ readonly sdkOwnedMigrations?: readonly SdkOwnedMigrationSet[];
33
35
  }
34
36
  export type BootstrapBiomeDatabasesOptions = ApplicationManagedBootstrapOptions;
35
37
  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;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,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;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;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");
@@ -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":"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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"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.OperatorMigrationPhase = void 0;
4
+ exports.recordPhase = recordPhase;
5
+ exports.readPhase = readPhase;
6
+ exports.assertArtifactMatches = assertArtifactMatches;
7
+ exports.sha256 = sha256;
8
+ const node_crypto_1 = require("node:crypto");
9
+ const SHA256_PATTERN = /^[a-f0-9]{64}$/u;
10
+ var OperatorMigrationPhase;
11
+ (function (OperatorMigrationPhase) {
12
+ OperatorMigrationPhase["Verified"] = "verified";
13
+ OperatorMigrationPhase["Contracted"] = "contracted";
14
+ OperatorMigrationPhase["Applied"] = "applied";
15
+ })(OperatorMigrationPhase || (exports.OperatorMigrationPhase = OperatorMigrationPhase = {}));
16
+ async function recordPhase(database, migrationId, phase, artifactSha256) {
17
+ const existing = await readPhase(database, migrationId, phase);
18
+ if (existing !== null) {
19
+ assertArtifactMatches(migrationId, phase, existing, artifactSha256);
20
+ return;
21
+ }
22
+ await database.query(`INSERT INTO xema_operator_migrations
23
+ (migration_id, phase, artifact_sha256)
24
+ VALUES ($1, $2, $3)`, [migrationId, phase, artifactSha256]);
25
+ }
26
+ async function readPhase(database, migrationId, phase) {
27
+ const result = await database.query(`SELECT artifact_sha256
28
+ FROM xema_operator_migrations
29
+ WHERE migration_id = $1 AND phase = $2`, [migrationId, phase]);
30
+ const value = result.rows[0]?.artifact_sha256 ?? null;
31
+ if (value !== null && !SHA256_PATTERN.test(value)) {
32
+ throw new Error(`Operator migration ledger contains an invalid artifact hash for ${migrationId}/${phase}.`);
33
+ }
34
+ return value;
35
+ }
36
+ function assertArtifactMatches(migrationId, phase, recorded, expected) {
37
+ if (recorded !== expected) {
38
+ throw new Error(`Operator migration ${migrationId}/${phase} is already recorded for a different artifact.`);
39
+ }
40
+ }
41
+ function sha256(value) {
42
+ return (0, node_crypto_1.createHash)('sha256').update(value).digest('hex');
43
+ }
44
+ //# sourceMappingURL=ledger-rows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger-rows.js","sourceRoot":"","sources":["../../src/lib/ledger-rows.ts"],"names":[],"mappings":";;;AAoBA,kCAiBC;AAED,8BAkBC;AAED,sDAWC;AAED,wBAEC;AA1ED,6CAAyC;AAIzC,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAEzC,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC,+CAAqB,CAAA;IACrB,mDAAyB,CAAA;IAEzB,6CAAmB,CAAA;AACrB,CAAC,EALW,sBAAsB,sCAAtB,sBAAsB,QAKjC;AASM,KAAK,UAAU,WAAW,CAC/B,QAAmC,EACnC,WAAmB,EACnB,KAA6B,EAC7B,cAAsB;IAEtB,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,qBAAqB,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,CAAC,KAAK,CAClB;;yBAEqB,EACrB,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,CACrC,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,SAAS,CAC7B,QAAmC,EACnC,WAAmB,EACnB,KAA6B;IAE7B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,CACjC;;6CAEyC,EACzC,CAAC,WAAW,EAAE,KAAK,CAAC,CACrB,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,IAAI,CAAC;IACtD,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,mEAAmE,WAAW,IAAI,KAAK,GAAG,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,qBAAqB,CACnC,WAAmB,EACnB,KAA6B,EAC7B,QAAgB,EAChB,QAAgB;IAEhB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,sBAAsB,WAAW,IAAI,KAAK,gDAAgD,CAC3F,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAgB,MAAM,CAAC,KAAa;IAClC,OAAO,IAAA,wBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"biome-database.module.d.ts","sourceRoot":"","sources":["../../../src/lib/nest/biome-database.module.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAgC,MAAM,cAAc,CAAC;AAGnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAQ/D,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAY3E,eAAO,MAAM,oBAAoB,eAEhC,CAAC;AAEF,UAAU,gCAAgC;IAExC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAgBzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC,UAAU,CAAC;IAQvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAC3C;AAED,MAAM,WAAW,4CACf,SAAQ,gCAAgC;IACxC,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC,kBAAkB,CAAC;IAKtE,QAAQ,CAAC,SAAS,EAAE,SAAS,wBAAwB,EAAE,CAAC;IASxD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAID,MAAM,MAAM,0BAA0B,GACpC,4CAA4C,CAAC;AAsE/C,qBACa,mBAAoB,YAAW,qBAAqB;IAM/D,qBAAqB,IAAI,IAAI;IAI7B,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,0BAA0B,GAAG,aAAa;CA+EhE"}
1
+ {"version":3,"file":"biome-database.module.d.ts","sourceRoot":"","sources":["../../../src/lib/nest/biome-database.module.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAgC,MAAM,cAAc,CAAC;AAGnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAc/D,OAAO,KAAK,EACV,wBAAwB,EACzB,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAY3E,eAAO,MAAM,oBAAoB,eAEhC,CAAC;AAUF,UAAU,gCAAgC;IAExC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAgBzB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC,UAAU,CAAC;IAQvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAC3C;AAED,MAAM,WAAW,4CACf,SAAQ,gCAAgC;IACxC,QAAQ,CAAC,aAAa,EAAE,0BAA0B,CAAC,kBAAkB,CAAC;IAKtE,QAAQ,CAAC,SAAS,EAAE,SAAS,wBAAwB,EAAE,CAAC;IASxD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjD;AAID,MAAM,MAAM,0BAA0B,GACpC,4CAA4C,CAAC;AAsE/C,qBACa,mBAAoB,YAAW,qBAAqB;IAM/D,qBAAqB,IAAI,IAAI;IAI7B,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,0BAA0B,GAAG,aAAa;CA4GhE"}
@@ -9,6 +9,7 @@ var BiomeDatabaseModule_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.BiomeDatabaseModule = exports.BIOME_DATABASE_READY = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
+ const core_1 = require("@nestjs/core");
12
13
  const identity_client_1 = require("@xemahq/identity-client");
13
14
  const service_registry_nest_1 = require("@xemahq/service-registry-nest");
14
15
  const boot_mode_1 = require("../boot-mode");
@@ -17,7 +18,9 @@ const credential_lease_1 = require("../credential-lease");
17
18
  const migration_mode_1 = require("../migration-mode");
18
19
  const pool_sizing_1 = require("../pool-sizing");
19
20
  const scoped_env_1 = require("../scoped-env");
21
+ const sdk_owned_contribution_1 = require("./sdk-owned-contribution");
20
22
  exports.BIOME_DATABASE_READY = Symbol.for('@xemahq/biome-database-nest:ready');
23
+ const BIOME_DATABASE_BOOT = Symbol('biome-database-boot');
21
24
  function assertBiomeDatabaseModuleOptions(opts) {
22
25
  if (opts === null ||
23
26
  typeof opts !== 'object' ||
@@ -41,17 +44,18 @@ let BiomeDatabaseModule = BiomeDatabaseModule_1 = class BiomeDatabaseModule {
41
44
  return {
42
45
  module: BiomeDatabaseModule_1,
43
46
  global: true,
47
+ imports: [core_1.DiscoveryModule],
44
48
  providers: [
45
49
  {
46
- provide: exports.BIOME_DATABASE_READY,
47
- useFactory: async (identityBootstrap, kernelState, concurrency) => {
50
+ provide: BIOME_DATABASE_BOOT,
51
+ useFactory: async (identityBootstrap, kernelState, concurrency, discovery) => {
48
52
  const bootMode = opts.bootMode ??
49
53
  (0, boot_mode_1.biomeDatabaseBootModeFromEnv)(opts.env?.() ?? (0, scoped_env_1.scopedEnvView)('The biome database module'));
50
54
  if (bootMode === boot_mode_1.BiomeDatabaseBootMode.OpenApiExtraction) {
51
55
  if (concurrency !== undefined) {
52
56
  (0, pool_sizing_1.publishDeclaredBiomeDatabasePool)((0, pool_sizing_1.resolveBiomeDatabasePoolOptions)(concurrency));
53
57
  }
54
- return true;
58
+ return { extraction: true, owners: [] };
55
59
  }
56
60
  const pool = (0, pool_sizing_1.resolveBiomeDatabasePoolOptions)(concurrency);
57
61
  (0, pool_sizing_1.publishDeclaredBiomeDatabasePool)(pool);
@@ -64,28 +68,49 @@ let BiomeDatabaseModule = BiomeDatabaseModule_1 = class BiomeDatabaseModule {
64
68
  `${missing.join(' and ')} provider in the graph. Both are ` +
65
69
  'provided globally by `XemaServiceModule.forBiome(...)`; mount it.');
66
70
  }
71
+ const contributed = discovery
72
+ .getProviders()
73
+ .map((wrapper) => wrapper.instance)
74
+ .filter(sdk_owned_contribution_1.isSdkOwnedMigrationContribution)
75
+ .map((contribution) => contribution.set);
76
+ const sdkOwnedMigrations = (0, sdk_owned_contribution_1.mergeSdkOwnedMigrations)(contributed);
67
77
  await (0, bootstrap_1.bootstrapBiomeDatabases)({
68
78
  biomeId: opts.biomeId,
69
79
  concurrency: pool.concurrency,
70
80
  migrationMode: opts.migrationMode,
71
81
  databases,
72
82
  ...(opts.env !== undefined ? { env: opts.env } : {}),
83
+ sdkOwnedMigrations,
73
84
  ...(opts.requiredExtensions !== undefined
74
85
  ? { requiredExtensions: opts.requiredExtensions }
75
86
  : {}),
76
87
  serviceToken: () => identityBootstrap.getAccessToken(),
77
88
  kernelState,
78
89
  });
79
- return true;
90
+ return {
91
+ extraction: false,
92
+ owners: sdkOwnedMigrations.map((set) => set.owner),
93
+ };
80
94
  },
81
95
  inject: [
82
96
  { token: identity_client_1.IdentityBootstrapService, optional: true },
83
97
  { token: service_registry_nest_1.KERNEL_STATE_TOKEN, optional: true },
84
98
  { token: pool_sizing_1.BIOME_PROCESS_CONCURRENCY, optional: true },
99
+ core_1.DiscoveryService,
85
100
  ],
86
101
  },
102
+ {
103
+ provide: exports.BIOME_DATABASE_READY,
104
+ useFactory: () => true,
105
+ inject: [BIOME_DATABASE_BOOT],
106
+ },
107
+ {
108
+ provide: sdk_owned_contribution_1.APPLIED_SDK_OWNED_MIGRATIONS,
109
+ useFactory: (applied) => applied,
110
+ inject: [BIOME_DATABASE_BOOT],
111
+ },
87
112
  ],
88
- exports: [exports.BIOME_DATABASE_READY],
113
+ exports: [exports.BIOME_DATABASE_READY, sdk_owned_contribution_1.APPLIED_SDK_OWNED_MIGRATIONS],
89
114
  };
90
115
  }
91
116
  };
@@ -1 +1 @@
1
- {"version":3,"file":"biome-database.module.js","sourceRoot":"","sources":["../../../src/lib/nest/biome-database.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"biome-database.module.js","sourceRoot":"","sources":["../../../src/lib/nest/biome-database.module.ts"],"names":[],"mappings":"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"}