@xemahq/biome-database-nest 7.2.0 → 8.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 (103) hide show
  1. package/README.md +57 -0
  2. package/dist/index.d.ts +13 -3
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +43 -3
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/advisory-lock.d.ts +2 -0
  7. package/dist/lib/advisory-lock.d.ts.map +1 -1
  8. package/dist/lib/advisory-lock.js +8 -0
  9. package/dist/lib/advisory-lock.js.map +1 -1
  10. package/dist/lib/biome-migrations.d.ts +2 -0
  11. package/dist/lib/biome-migrations.d.ts.map +1 -1
  12. package/dist/lib/biome-migrations.js +3 -1
  13. package/dist/lib/biome-migrations.js.map +1 -1
  14. package/dist/lib/bootstrap.d.ts +2 -0
  15. package/dist/lib/bootstrap.d.ts.map +1 -1
  16. package/dist/lib/bootstrap.js +4 -3
  17. package/dist/lib/bootstrap.js.map +1 -1
  18. package/dist/lib/ledger-rows.d.ts +1 -0
  19. package/dist/lib/ledger-rows.d.ts.map +1 -1
  20. package/dist/lib/ledger-rows.js +9 -0
  21. package/dist/lib/ledger-rows.js.map +1 -1
  22. package/dist/lib/nest/biome-database.module.d.ts +2 -0
  23. package/dist/lib/nest/biome-database.module.d.ts.map +1 -1
  24. package/dist/lib/nest/biome-database.module.js +5 -0
  25. package/dist/lib/nest/biome-database.module.js.map +1 -1
  26. package/dist/lib/nest/org-erasure.module.d.ts.map +1 -1
  27. package/dist/lib/nest/org-erasure.module.js +4 -6
  28. package/dist/lib/nest/org-erasure.module.js.map +1 -1
  29. package/dist/lib/nest/prisma-service-factory.d.ts.map +1 -1
  30. package/dist/lib/nest/prisma-service-factory.js +23 -13
  31. package/dist/lib/nest/prisma-service-factory.js.map +1 -1
  32. package/dist/lib/org-erasure-coverage/assert-org-erasure-armed.d.ts +4 -0
  33. package/dist/lib/org-erasure-coverage/assert-org-erasure-armed.d.ts.map +1 -0
  34. package/dist/lib/org-erasure-coverage/assert-org-erasure-armed.js +13 -0
  35. package/dist/lib/org-erasure-coverage/assert-org-erasure-armed.js.map +1 -0
  36. package/dist/lib/org-quiesce/org-erasure-isolation-error.d.ts +6 -0
  37. package/dist/lib/org-quiesce/org-erasure-isolation-error.d.ts.map +1 -0
  38. package/dist/lib/org-quiesce/org-erasure-isolation-error.js +16 -0
  39. package/dist/lib/org-quiesce/org-erasure-isolation-error.js.map +1 -0
  40. package/dist/lib/org-quiesce/org-erasure-transaction.d.ts +2 -0
  41. package/dist/lib/org-quiesce/org-erasure-transaction.d.ts.map +1 -0
  42. package/dist/lib/org-quiesce/org-erasure-transaction.js +16 -0
  43. package/dist/lib/org-quiesce/org-erasure-transaction.js.map +1 -0
  44. package/dist/lib/org-quiesce/org-quiesce-marks.d.ts +9 -0
  45. package/dist/lib/org-quiesce/org-quiesce-marks.d.ts.map +1 -0
  46. package/dist/lib/org-quiesce/org-quiesce-marks.js +42 -0
  47. package/dist/lib/org-quiesce/org-quiesce-marks.js.map +1 -0
  48. package/dist/lib/org-quiesce/org-quiesce-marks.migrations.d.ts +4 -0
  49. package/dist/lib/org-quiesce/org-quiesce-marks.migrations.d.ts.map +1 -0
  50. package/dist/lib/org-quiesce/org-quiesce-marks.migrations.js +74 -0
  51. package/dist/lib/org-quiesce/org-quiesce-marks.migrations.js.map +1 -0
  52. package/dist/lib/org-quiesce/org-quiesce-marks.module.d.ts +3 -0
  53. package/dist/lib/org-quiesce/org-quiesce-marks.module.d.ts.map +1 -0
  54. package/dist/lib/org-quiesce/org-quiesce-marks.module.js +21 -0
  55. package/dist/lib/org-quiesce/org-quiesce-marks.module.js.map +1 -0
  56. package/dist/lib/org-quiesce/org-quiesce-refusal-mapping.d.ts +13 -0
  57. package/dist/lib/org-quiesce/org-quiesce-refusal-mapping.d.ts.map +1 -0
  58. package/dist/lib/org-quiesce/org-quiesce-refusal-mapping.js +63 -0
  59. package/dist/lib/org-quiesce/org-quiesce-refusal-mapping.js.map +1 -0
  60. package/dist/lib/org-quiesce/org-quiesce-refusal.d.ts +33 -0
  61. package/dist/lib/org-quiesce/org-quiesce-refusal.d.ts.map +1 -0
  62. package/dist/lib/org-quiesce/org-quiesce-refusal.js +50 -0
  63. package/dist/lib/org-quiesce/org-quiesce-refusal.js.map +1 -0
  64. package/dist/lib/org-quiesce/org-write-fence-apply.d.ts +10 -0
  65. package/dist/lib/org-quiesce/org-write-fence-apply.d.ts.map +1 -0
  66. package/dist/lib/org-quiesce/org-write-fence-apply.js +55 -0
  67. package/dist/lib/org-quiesce/org-write-fence-apply.js.map +1 -0
  68. package/dist/lib/org-quiesce/org-write-fence-coverage.d.ts +18 -0
  69. package/dist/lib/org-quiesce/org-write-fence-coverage.d.ts.map +1 -0
  70. package/dist/lib/org-quiesce/org-write-fence-coverage.js +51 -0
  71. package/dist/lib/org-quiesce/org-write-fence-coverage.js.map +1 -0
  72. package/dist/lib/org-quiesce/org-write-fence-token.sql.d.ts +2 -0
  73. package/dist/lib/org-quiesce/org-write-fence-token.sql.d.ts.map +1 -0
  74. package/dist/lib/org-quiesce/org-write-fence-token.sql.js +80 -0
  75. package/dist/lib/org-quiesce/org-write-fence-token.sql.js.map +1 -0
  76. package/dist/lib/org-quiesce/org-write-fence-triggers.d.ts +48 -0
  77. package/dist/lib/org-quiesce/org-write-fence-triggers.d.ts.map +1 -0
  78. package/dist/lib/org-quiesce/org-write-fence-triggers.js +171 -0
  79. package/dist/lib/org-quiesce/org-write-fence-triggers.js.map +1 -0
  80. package/dist/lib/org-quiesce/org-write-fence.sql.d.ts +2 -0
  81. package/dist/lib/org-quiesce/org-write-fence.sql.d.ts.map +1 -0
  82. package/dist/lib/org-quiesce/org-write-fence.sql.js +132 -0
  83. package/dist/lib/org-quiesce/org-write-fence.sql.js.map +1 -0
  84. package/dist/lib/sdk-owned-migrations.d.ts.map +1 -1
  85. package/dist/lib/sdk-owned-migrations.js +5 -1
  86. package/dist/lib/sdk-owned-migrations.js.map +1 -1
  87. package/dist/lib/service-migration-scan.d.ts +2 -1
  88. package/dist/lib/service-migration-scan.d.ts.map +1 -1
  89. package/dist/lib/service-migration-scan.js +7 -2
  90. package/dist/lib/service-migration-scan.js.map +1 -1
  91. package/dist/lib/session-timezone.d.ts +6 -1
  92. package/dist/lib/session-timezone.d.ts.map +1 -1
  93. package/dist/lib/session-timezone.js +12 -0
  94. package/dist/lib/session-timezone.js.map +1 -1
  95. package/dist/lib/tenant-isolation/authored-resource-org-erasure.d.ts.map +1 -1
  96. package/dist/lib/tenant-isolation/authored-resource-org-erasure.js +22 -19
  97. package/dist/lib/tenant-isolation/authored-resource-org-erasure.js.map +1 -1
  98. package/dist/lib/tenant-isolation/org-erasure.d.ts +1 -0
  99. package/dist/lib/tenant-isolation/org-erasure.d.ts.map +1 -1
  100. package/dist/lib/tenant-isolation/org-erasure.js +9 -7
  101. package/dist/lib/tenant-isolation/org-erasure.js.map +1 -1
  102. package/package.json +12 -11
  103. package/xema-peer-facts.json +7 -7
package/README.md CHANGED
@@ -91,6 +91,63 @@ createBiomePrismaService(PrismaClient, {
91
91
 
92
92
  The org-erasure graph generator and the `prisma generate` client generator must always run together: a client-only regenerate after an `onDelete` change leaves a stale graph that the graph-to-client check cannot detect.
93
93
 
94
+ ## Org write fence
95
+
96
+ While an org is being erased, nothing may write new rows for it. The fence lives in the database: SDK-owned migrations (shipped by `OrgQuiesceMarksModule`, which `OrgErasureModule` imports) create the marks table `org_quiesce_marks`, a concurrency token table `org_write_fence_rows` (an org id and a counter, never a mark, retained like the marks) and the `xema_org_*` SQL functions. A trigger on a guarded table refuses a write for a marked org with SQLSTATE `XQ409` (`ORG_QUIESCING`, the org in DETAIL).
97
+
98
+ ### Declare the guarded tables
99
+
100
+ ```ts
101
+ BiomeDatabaseModule.forRoot({
102
+ // ...
103
+ orgWriteFenceTables: [
104
+ { table: 'sessions', orgColumn: 'org_id' }, // column form
105
+ {
106
+ table: 'session_items', // parent form: the org lives on the parent row
107
+ parent: { fkColumn: 'session_id', table: 'sessions', key: 'id', orgColumn: 'org_id' },
108
+ },
109
+ { table: 'outbox_events', orgColumn: 'org_id', events: 'insert' }, // outbox or drain table
110
+ ],
111
+ });
112
+ ```
113
+
114
+ This is the one place. The SDK's migration phase creates, re-applies, repairs and drops the triggers after the biome's own Prisma tables exist, and records the applied declaration in the operator-migration ledger as `sdk-org-quiesce-write-fence-triggers` (one replaceable row). Table and column names are the database names, so they must be lowercase `[a-z_][a-z0-9_]*`: use `@@map` and `@map` for a model or field whose database name is not. Declaring tables without `OrgQuiesceMarksModule` in the migration phase fails with `ORG_WRITE_FENCE_FUNCTIONS_MISSING`. A biome's test harness gets the same triggers through `orgWriteFenceTables` on `createTestMigrator` and `provisionTestDatabase` of `@xemahq/biome-database-nest-testing`.
115
+
116
+ - Column form: the trigger reads the org from `orgColumn`. A NULL org is not fenced.
117
+ - Parent form: the trigger reads the org from `parent.orgColumn` on the row `parent.key = fkColumn`. It reaches ONE level only: a grandchild must name its own parent that carries the org column, or be declared against the table that does. A row whose parent is missing is refused with `XQ404` (`ORG_FENCE_PARENT_MISSING`, the foreign key in DETAIL). The parameter is cast to the parent key's own type, so a uuid or int key keeps its index.
118
+ - `events: 'all'` (default) fences every INSERT, UPDATE and DELETE. `events: 'insert'` is for outbox and drain tables whose later UPDATEs and DELETEs only advance delivery state: it fences INSERT, and an UPDATE only when the org (or, in the parent form, the foreign key) changes, which covers the UPDATE half of `INSERT ... ON CONFLICT DO UPDATE`. A drain-state UPDATE stays unfenced.
119
+ - Every declared table also refuses TRUNCATE (`XQ410`, `ORG_FENCE_TRUNCATE_REFUSED`, the table in DETAIL), for everyone including the eraser: a TRUNCATE cannot be attributed to an org. A test suite that TRUNCATEs a declared table must DELETE instead.
120
+
121
+ Prove the declaration from a spec with `assertOrgWriteFenceTriggers(db, tables)` (checks every trigger exactly), and prove it covers the erasure sweep with `assertOrgWriteFenceCoversErasureGraph(graph, tables, exempt, { tableOfModel })`. The second is a pure function for a biome spec, not a migration-time check: the erasure graph carries model and field names only, so the biome states each model's table. A swept table must be fenced or listed in `exempt` with a reason (for example a payload-free dead-letter table that must stay writable after the mark); otherwise it throws, naming every gap.
122
+
123
+ ### Errors
124
+
125
+ `XQ409` becomes `OrgQuiescingRefusedError` (HTTP 409), `XQ404` becomes `OrgFenceParentMissingError` (`code` `ORG_FENCE_PARENT_MISSING`, `fkValue`), `XQ410` becomes `OrgFenceTruncateRefusedError`, for model, raw and interactive-transaction operations of a client from `createBiomePrismaService` (`orgFenceRefusalFrom` maps a database error by hand). Each keeps the database error as `cause`. `XQ404` replaces the foreign-key violation (Prisma `P2003`) a caller may have mapped before. `OrgFenceParentMissingError` extends `Error`, not `HttpException`, so unmapped it is a 500: an adopter must map it where it mapped `P2003`. A serialization failure (`40001`, Prisma `P2034`) from the fence is passed through untouched.
126
+
127
+ ### Erasers
128
+
129
+ `beginOrgErasureWithinTx(tx, orgId)` takes the org's exclusive lock and marks the org; the triggers let a transaction that holds that lock write. The generic sweep (`eraseOrgData`) and `eraseOwnedAuthoredResourceGraph` call it, and a biome-owned eraser must call it in each of its erasure transactions. Adopter-visible changes:
130
+
131
+ - Both SDK erasers now mark the org permanently, and need the `xema_org_*` functions: without `OrgQuiesceMarksModule` the erasure fails with `42883` (undefined function). `OrgErasureModule` now imports `OrgQuiesceMarksModule`, so a service that mounts it gets them.
132
+ - `inOrgErasureTransaction(client, orgId, work)` opens its own interactive transaction, always READ COMMITTED whatever the session's `default_transaction_isolation` is, so it refuses a transaction client (one without `$transaction`). `beginOrgErasureWithinTx` checks its transaction is READ COMMITTED and otherwise throws `OrgErasureIsolationError` (`code` `ORG_ERASURE_ISOLATION`): under a fixed snapshot the eraser would not see a row a Read Committed writer commits while it waits for the org lock, and that row would survive the erasure. A biome-owned eraser that opens its own transaction must open it READ COMMITTED.
133
+ - Every client from `createBiomePrismaService` is now a Prisma `$extends` client carrying the refusal extension. `$on` is restored on it (an `$extends` client drops it); `$connect`, `$disconnect`, `$transaction`, `$queryRaw` and the model delegates work as before. A generated Prisma 7 client is not `instanceof PrismaClient` even when raw, so nothing changes there. No consumer in the xema repositories uses `$on`, `$use`, `$extends` or `instanceof PrismaClient`.
134
+
135
+ ### The eraser's exemption
136
+
137
+ `beginOrgErasureWithinTx` marks the org and declares the erasure in the transaction-local setting `xema.org_erasure = '<org>:<txid>'`. For a marked org the fence trusts it only when the org and the txid match, verifies once against `pg_locks` that this backend holds the org's exclusive lock, and records that in `xema.org_erasure_verified`; the rest of the transaction's rows skip the `pg_locks` scan (which takes every lock-manager partition lock). Without a declaration (a biome-owned eraser that took the lock itself) the fence checks `pg_locks` on every row. Both settings are transaction-local and bound to the txid, so they cannot carry to another transaction. Threat model: the fence orders concurrent APPLICATION writers against an erasure; it is not a defence against a client running arbitrary SQL in its own transaction, which could just as well delete the marks. Measured: deleting 5000 rows of a marked org in one erasure transaction cost about 0.4 ms per row before and about 0.1 ms per row after.
138
+
139
+ ### Isolation levels
140
+
141
+ Under Read Committed each statement has a fresh snapshot, so the fence reads the mark after the shared lock and sees every mark committed before it. Under Repeatable Read and Serializable the snapshot is fixed, so a writer also runs `INSERT ... ON CONFLICT DO NOTHING` on the org's `org_write_fence_rows` row (no row lock); the marker upserts that row in the same transaction as the mark. A writer whose snapshot predates the mark gets `40001`; its retry reads the mark and is refused with `XQ409`. A retry stays Serializable, so refusing non-Read-Committed transactions outright would fail forever; instead only a writer racing a mark ever sees `40001`, and callers already retry it. Two writers of a fresh org's first write under Repeatable Read can see one spurious `40001`, and two such writers creating the first token rows of two orgs in opposite order can deadlock once (`40P01`); both are retried. A READ ONLY transaction needs no token and takes none. A writing role needs SELECT and INSERT on `org_write_fence_rows` (checked live: INSERT alone gives 42501), and only for writes outside Read Committed; it needs SELECT on `org_quiesce_marks` in every case.
142
+
143
+ ### Cost and limits
144
+
145
+ The hot path is one shared advisory lock and one indexed read per guarded row write; the `pg_locks` scan that recognises an eraser runs only for a marked org. Measured on a local PostgreSQL, one org, 5000 single-row INSERTs in one transaction: about 0.9 ms per row with no trigger, 1.3 ms with the fence at Read Committed, 1.5 ms at Repeatable Read or Serializable (client round trip included).
146
+
147
+ One shared advisory lock is held per DISTINCT org a transaction writes, until commit, and each counts against `max_locks_per_transaction` (default 64 times `max_connections` lock slots in total). A transaction that writes rows of thousands of orgs can exhaust the lock table: batch per org, or keep cross-org batches small.
148
+
149
+ Every `xema_org_*` function pins `search_path` to the one the migration ran with (`SET search_path FROM CURRENT`), so the fence behaves the same whatever the calling connection's `search_path`.
150
+
94
151
  ## Testing
95
152
 
96
153
  Test helpers (the biome migrator for `@xemahq/pg-test-harness` and the prefix-migration fixture) live in the separate `@xemahq/biome-database-nest-testing` package, so this runtime package never references the test harness. Install that package as a `devDependency`.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { DEFAULT_BIOME_DB_KEY, deriveBiomeSchemaName } from './lib/schema-name';
2
- export { acquireXactAdvisoryLock, releaseAdvisoryLock, tryAcquireAdvisoryLock, tryAcquireXactAdvisoryLock, type AdvisoryLockClient, type AdvisoryLockKey, } from './lib/advisory-lock';
2
+ export { acquireSchemaScopedXactAdvisoryLock, acquireSchemaScopedXactAdvisoryLockShared, acquireXactAdvisoryLock, releaseAdvisoryLock, tryAcquireAdvisoryLock, tryAcquireXactAdvisoryLock, type AdvisoryLockClient, type AdvisoryLockKey, } from './lib/advisory-lock';
3
3
  export { BIOME_DB_SESSION_TIMEZONE, composeBiomeDatabaseUrl, composeBiomeDatabaseUrlFromEnv, ensureBiomeDbSearchPath, type BiomeDatabaseUrlParts, } from './lib/database-url';
4
4
  export { assertIdempotencyRecordPrismaModel, IDEMPOTENCY_CLAIMS_MIGRATION_NAME, IDEMPOTENCY_CLAIMS_MIGRATION_SQL, IDEMPOTENCY_RECORD_CREATE_SQL, IdempotencyRecordConventionError, idempotencyRecordPrismaModel, } from './lib/idempotency-record-schema';
5
5
  export { assertReleaseIntentPrismaModel, ReleaseIntentConventionError, } from './lib/release-intent-schema';
@@ -8,7 +8,7 @@ export { DataStoreIdempotencyService, IDEMPOTENCY_DATA_STORE_CLIENT, type Idempo
8
8
  export { composeIdentifier, fitIdentifier, IDENTIFIER_HASH_LENGTH, POSTGRES_MAX_IDENTIFIER_LENGTH, sanitizeIdentifierChars, sanitizeIdentifierSegment, type ComposeIdentifierInput, type FitIdentifierInput, } from './lib/identifier';
9
9
  export { rolesForSchema, schemaRoleBase, schemaRoleName, SchemaRoleKind, SCHEMA_ROLE_BASE_MAX_LENGTH, SCHEMA_ROLE_SUFFIX_LENGTH, type SchemaRoleNames, } from './lib/role-names';
10
10
  export { resolveBiomeDatabaseConfigFromEnv, type BiomeDatabaseConfig, } from './lib/config';
11
- export { assertDatabaseSessionUtc, DatabaseSessionPath, DatabaseSessionTimeZoneError, type SessionTimeZoneProbe, } from './lib/session-timezone';
11
+ export { assertDatabaseSessionUtc, type ClosableSessionPool, DatabaseSessionPath, DatabaseSessionTimeZoneError, type SessionTimeZoneProbe, verifyPgPoolSessionUtc, } from './lib/session-timezone';
12
12
  export { createBiomePrismaAdapter, createBiomePrismaAdapterFromEnv, resolveBiomePrismaAdapter, } from './lib/adapter';
13
13
  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';
14
14
  export { clearResolvedBiomeConnections, publishResolvedBiomeConnection, readResolvedBiomeConnection, type ResolvedBiomeConnection, } from './lib/resolved-connection';
@@ -35,9 +35,10 @@ export { TenantIsolationError, TenantIsolationViolationKind, formatTenantIsolati
35
35
  export { PrismaModelOperation, scopeArgsToOrg, type OrgScopeOutcome, type OrgScopeRequest, } from './lib/tenant-isolation/org-scope';
36
36
  export { DEFAULT_ORG_FIELD, collectOrgScopedModels, createTenantIsolationExtension, readRuntimeModels, type CreateTenantIsolationExtensionOptions, type RuntimeDataModelField, type RuntimeDataModelModel, type TenantIsolationExtensionDefinition, type TenantIsolationLogger, type TenantIsolationQueryContext, } from './lib/tenant-isolation/tenant-isolation.extension';
37
37
  export { assertUnscopedModelsDeclared, collectUnscopableModels, formatUnscopedModelReport, normalizeUnscopedModelDeclarations, UndeclaredUnscopedModelsError, type AssertUnscopedModelsOptions, type NormalizedUnscopedModelDeclaration, type UnscopedModelDeclaration, type UnscopedModelDeclarations, } from './lib/tenant-isolation/unscoped-models';
38
- export { OrgErasureBlockedError, OrgErasureMatchesNothingError, } from './lib/tenant-isolation/org-erasure';
38
+ export { delegateKeyForModel, OrgErasureBlockedError, OrgErasureMatchesNothingError, } from './lib/tenant-isolation/org-erasure';
39
39
  export { buildOrgErasureGraph } from './lib/org-erasure-coverage/build-org-erasure-graph';
40
40
  export { classifyOrgErasureCoverage } from './lib/org-erasure-coverage/classify-org-erasure-coverage';
41
+ export { assertOrgErasureArmed } from './lib/org-erasure-coverage/assert-org-erasure-armed';
41
42
  export { type OrgErasureCoverage } from './lib/org-erasure-coverage/org-erasure-coverage';
42
43
  export { type OrgErasureCoverageOptions, type OrgErasureSweep, } from './lib/org-erasure-coverage/org-erasure-coverage-options';
43
44
  export { OrgErasureCoverageError, OrgErasureGraphMismatchError, type OrgErasureCoverageProblems, } from './lib/org-erasure-coverage/org-erasure-coverage-errors';
@@ -49,4 +50,13 @@ export { eraseOwnedAuthoredResourceGraph, type AuthoredResourceGraphErasureClien
49
50
  export { OrgErasureModule, type OrgErasureModuleOptions, } from './lib/nest/org-erasure.module';
50
51
  export { assertOrgNotProtected, IdentityOrgProtectionProbe, 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';
51
52
  export { BiomeDatabaseBootMode, biomeDatabaseBootModeFromEnv, } from './lib/boot-mode';
53
+ export { beginOrgErasureWithinTx, isOrgQuiescing, isOrgQuiescingWithinTx, markOrgQuiescingWithinTx, orgNotQuiescingSql, assertOrgNotQuiescingWithinTx, } from './lib/org-quiesce/org-quiesce-marks';
54
+ export { orgQuiesceMarksMigrations } from './lib/org-quiesce/org-quiesce-marks.migrations';
55
+ export { OrgErasureIsolationError } from './lib/org-quiesce/org-erasure-isolation-error';
56
+ export { OrgQuiesceMarksModule } from './lib/org-quiesce/org-quiesce-marks.module';
57
+ export { OrgFenceFailure, OrgFenceParentMissingError, OrgFenceSqlState, OrgFenceTruncateRefusedError, OrgQuiesceRefusal, OrgQuiescingRefusedError, } from './lib/org-quiesce/org-quiesce-refusal';
58
+ export { assertOrgWriteFenceCoversErasureGraph, OrgWriteFenceCoverageError, type OrgWriteFenceCoverageOptions, type OrgWriteFenceExemption, } from './lib/org-quiesce/org-write-fence-coverage';
59
+ export { orgFenceRefusalFrom, orgQuiescingRefusalFrom } from './lib/org-quiesce/org-quiesce-refusal-mapping';
60
+ export { OrgWriteFenceFunctionsMissingError } from './lib/org-quiesce/org-write-fence-apply';
61
+ export { OrgWriteFenceDuplicateTableError, OrgWriteFenceIdentifierError, OrgWriteFenceTriggersMissingError, assertOrgWriteFenceTriggers, type OrgWriteFenceColumnTable, type OrgWriteFenceEvents, type OrgWriteFenceParentTable, type OrgWriteFenceTable, } from './lib/org-quiesce/org-write-fence-triggers';
52
62
  //# 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,12 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- 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.IDEMPOTENCY_DATA_STORE_CLIENT = exports.DataStoreIdempotencyService = exports.stripPrismaComments = exports.extractModelBlock = exports.ReleaseIntentConventionError = exports.assertReleaseIntentPrismaModel = exports.idempotencyRecordPrismaModel = exports.IdempotencyRecordConventionError = exports.IDEMPOTENCY_RECORD_CREATE_SQL = exports.IDEMPOTENCY_CLAIMS_MIGRATION_SQL = exports.IDEMPOTENCY_CLAIMS_MIGRATION_NAME = exports.assertIdempotencyRecordPrismaModel = exports.ensureBiomeDbSearchPath = exports.composeBiomeDatabaseUrlFromEnv = exports.composeBiomeDatabaseUrl = exports.BIOME_DB_SESSION_TIMEZONE = exports.tryAcquireXactAdvisoryLock = exports.tryAcquireAdvisoryLock = exports.releaseAdvisoryLock = exports.acquireXactAdvisoryLock = exports.deriveBiomeSchemaName = exports.DEFAULT_BIOME_DB_KEY = void 0;
4
- 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 = 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 = 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.IdentityOrgProtectionProbe = exports.assertOrgNotProtected = exports.OrgErasureModule = exports.eraseOwnedAuthoredResourceGraph = exports.OrgErasureDisposition = exports.OrgErasureGraphMismatchError = exports.OrgErasureCoverageError = exports.classifyOrgErasureCoverage = exports.buildOrgErasureGraph = exports.OrgErasureMatchesNothingError = exports.OrgErasureBlockedError = 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 = void 0;
3
+ exports.publishDeclaredBiomeDatabasePool = exports.PLATFORM_CONNECTION_HEADROOM = exports.clearDeclaredBiomeDatabasePools = exports.BiomeDatabasePoolOptionsError = exports.biomeDatabasePoolCeilingFromEnv = exports.BIOME_PROCESS_CONCURRENCY = exports.resolveBiomePrismaAdapter = exports.createBiomePrismaAdapterFromEnv = exports.createBiomePrismaAdapter = exports.verifyPgPoolSessionUtc = 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.IDEMPOTENCY_DATA_STORE_CLIENT = exports.DataStoreIdempotencyService = exports.stripPrismaComments = exports.extractModelBlock = exports.ReleaseIntentConventionError = exports.assertReleaseIntentPrismaModel = exports.idempotencyRecordPrismaModel = exports.IdempotencyRecordConventionError = exports.IDEMPOTENCY_RECORD_CREATE_SQL = exports.IDEMPOTENCY_CLAIMS_MIGRATION_SQL = exports.IDEMPOTENCY_CLAIMS_MIGRATION_NAME = exports.assertIdempotencyRecordPrismaModel = exports.ensureBiomeDbSearchPath = exports.composeBiomeDatabaseUrlFromEnv = exports.composeBiomeDatabaseUrl = exports.BIOME_DB_SESSION_TIMEZONE = exports.tryAcquireXactAdvisoryLock = exports.tryAcquireAdvisoryLock = exports.releaseAdvisoryLock = exports.acquireXactAdvisoryLock = exports.acquireSchemaScopedXactAdvisoryLockShared = exports.acquireSchemaScopedXactAdvisoryLock = exports.deriveBiomeSchemaName = exports.DEFAULT_BIOME_DB_KEY = void 0;
4
+ 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 = 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 = void 0;
5
+ exports.markOrgQuiescingWithinTx = exports.isOrgQuiescingWithinTx = exports.isOrgQuiescing = exports.beginOrgErasureWithinTx = 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.IdentityOrgProtectionProbe = exports.assertOrgNotProtected = exports.OrgErasureModule = exports.eraseOwnedAuthoredResourceGraph = exports.OrgErasureDisposition = exports.OrgErasureGraphMismatchError = exports.OrgErasureCoverageError = exports.assertOrgErasureArmed = exports.classifyOrgErasureCoverage = exports.buildOrgErasureGraph = exports.OrgErasureMatchesNothingError = exports.OrgErasureBlockedError = exports.delegateKeyForModel = 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 = void 0;
6
+ exports.assertOrgWriteFenceTriggers = exports.OrgWriteFenceTriggersMissingError = exports.OrgWriteFenceIdentifierError = exports.OrgWriteFenceDuplicateTableError = exports.OrgWriteFenceFunctionsMissingError = exports.orgQuiescingRefusalFrom = exports.orgFenceRefusalFrom = exports.OrgWriteFenceCoverageError = exports.assertOrgWriteFenceCoversErasureGraph = exports.OrgQuiescingRefusedError = exports.OrgQuiesceRefusal = exports.OrgFenceTruncateRefusedError = exports.OrgFenceSqlState = exports.OrgFenceParentMissingError = exports.OrgFenceFailure = exports.OrgQuiesceMarksModule = exports.OrgErasureIsolationError = exports.orgQuiesceMarksMigrations = exports.assertOrgNotQuiescingWithinTx = exports.orgNotQuiescingSql = void 0;
6
7
  var schema_name_1 = require("./lib/schema-name");
7
8
  Object.defineProperty(exports, "DEFAULT_BIOME_DB_KEY", { enumerable: true, get: function () { return schema_name_1.DEFAULT_BIOME_DB_KEY; } });
8
9
  Object.defineProperty(exports, "deriveBiomeSchemaName", { enumerable: true, get: function () { return schema_name_1.deriveBiomeSchemaName; } });
9
10
  var advisory_lock_1 = require("./lib/advisory-lock");
11
+ Object.defineProperty(exports, "acquireSchemaScopedXactAdvisoryLock", { enumerable: true, get: function () { return advisory_lock_1.acquireSchemaScopedXactAdvisoryLock; } });
12
+ Object.defineProperty(exports, "acquireSchemaScopedXactAdvisoryLockShared", { enumerable: true, get: function () { return advisory_lock_1.acquireSchemaScopedXactAdvisoryLockShared; } });
10
13
  Object.defineProperty(exports, "acquireXactAdvisoryLock", { enumerable: true, get: function () { return advisory_lock_1.acquireXactAdvisoryLock; } });
11
14
  Object.defineProperty(exports, "releaseAdvisoryLock", { enumerable: true, get: function () { return advisory_lock_1.releaseAdvisoryLock; } });
12
15
  Object.defineProperty(exports, "tryAcquireAdvisoryLock", { enumerable: true, get: function () { return advisory_lock_1.tryAcquireAdvisoryLock; } });
@@ -52,6 +55,7 @@ var session_timezone_1 = require("./lib/session-timezone");
52
55
  Object.defineProperty(exports, "assertDatabaseSessionUtc", { enumerable: true, get: function () { return session_timezone_1.assertDatabaseSessionUtc; } });
53
56
  Object.defineProperty(exports, "DatabaseSessionPath", { enumerable: true, get: function () { return session_timezone_1.DatabaseSessionPath; } });
54
57
  Object.defineProperty(exports, "DatabaseSessionTimeZoneError", { enumerable: true, get: function () { return session_timezone_1.DatabaseSessionTimeZoneError; } });
58
+ Object.defineProperty(exports, "verifyPgPoolSessionUtc", { enumerable: true, get: function () { return session_timezone_1.verifyPgPoolSessionUtc; } });
55
59
  var adapter_1 = require("./lib/adapter");
56
60
  Object.defineProperty(exports, "createBiomePrismaAdapter", { enumerable: true, get: function () { return adapter_1.createBiomePrismaAdapter; } });
57
61
  Object.defineProperty(exports, "createBiomePrismaAdapterFromEnv", { enumerable: true, get: function () { return adapter_1.createBiomePrismaAdapterFromEnv; } });
@@ -159,12 +163,15 @@ Object.defineProperty(exports, "formatUnscopedModelReport", { enumerable: true,
159
163
  Object.defineProperty(exports, "normalizeUnscopedModelDeclarations", { enumerable: true, get: function () { return unscoped_models_1.normalizeUnscopedModelDeclarations; } });
160
164
  Object.defineProperty(exports, "UndeclaredUnscopedModelsError", { enumerable: true, get: function () { return unscoped_models_1.UndeclaredUnscopedModelsError; } });
161
165
  var org_erasure_1 = require("./lib/tenant-isolation/org-erasure");
166
+ Object.defineProperty(exports, "delegateKeyForModel", { enumerable: true, get: function () { return org_erasure_1.delegateKeyForModel; } });
162
167
  Object.defineProperty(exports, "OrgErasureBlockedError", { enumerable: true, get: function () { return org_erasure_1.OrgErasureBlockedError; } });
163
168
  Object.defineProperty(exports, "OrgErasureMatchesNothingError", { enumerable: true, get: function () { return org_erasure_1.OrgErasureMatchesNothingError; } });
164
169
  var build_org_erasure_graph_1 = require("./lib/org-erasure-coverage/build-org-erasure-graph");
165
170
  Object.defineProperty(exports, "buildOrgErasureGraph", { enumerable: true, get: function () { return build_org_erasure_graph_1.buildOrgErasureGraph; } });
166
171
  var classify_org_erasure_coverage_1 = require("./lib/org-erasure-coverage/classify-org-erasure-coverage");
167
172
  Object.defineProperty(exports, "classifyOrgErasureCoverage", { enumerable: true, get: function () { return classify_org_erasure_coverage_1.classifyOrgErasureCoverage; } });
173
+ var assert_org_erasure_armed_1 = require("./lib/org-erasure-coverage/assert-org-erasure-armed");
174
+ Object.defineProperty(exports, "assertOrgErasureArmed", { enumerable: true, get: function () { return assert_org_erasure_armed_1.assertOrgErasureArmed; } });
168
175
  var org_erasure_coverage_errors_1 = require("./lib/org-erasure-coverage/org-erasure-coverage-errors");
169
176
  Object.defineProperty(exports, "OrgErasureCoverageError", { enumerable: true, get: function () { return org_erasure_coverage_errors_1.OrgErasureCoverageError; } });
170
177
  Object.defineProperty(exports, "OrgErasureGraphMismatchError", { enumerable: true, get: function () { return org_erasure_coverage_errors_1.OrgErasureGraphMismatchError; } });
@@ -189,4 +196,37 @@ Object.defineProperty(exports, "ProtectedOrgErasureRefusedError", { enumerable:
189
196
  var boot_mode_1 = require("./lib/boot-mode");
190
197
  Object.defineProperty(exports, "BiomeDatabaseBootMode", { enumerable: true, get: function () { return boot_mode_1.BiomeDatabaseBootMode; } });
191
198
  Object.defineProperty(exports, "biomeDatabaseBootModeFromEnv", { enumerable: true, get: function () { return boot_mode_1.biomeDatabaseBootModeFromEnv; } });
199
+ var org_quiesce_marks_1 = require("./lib/org-quiesce/org-quiesce-marks");
200
+ Object.defineProperty(exports, "beginOrgErasureWithinTx", { enumerable: true, get: function () { return org_quiesce_marks_1.beginOrgErasureWithinTx; } });
201
+ Object.defineProperty(exports, "isOrgQuiescing", { enumerable: true, get: function () { return org_quiesce_marks_1.isOrgQuiescing; } });
202
+ Object.defineProperty(exports, "isOrgQuiescingWithinTx", { enumerable: true, get: function () { return org_quiesce_marks_1.isOrgQuiescingWithinTx; } });
203
+ Object.defineProperty(exports, "markOrgQuiescingWithinTx", { enumerable: true, get: function () { return org_quiesce_marks_1.markOrgQuiescingWithinTx; } });
204
+ Object.defineProperty(exports, "orgNotQuiescingSql", { enumerable: true, get: function () { return org_quiesce_marks_1.orgNotQuiescingSql; } });
205
+ Object.defineProperty(exports, "assertOrgNotQuiescingWithinTx", { enumerable: true, get: function () { return org_quiesce_marks_1.assertOrgNotQuiescingWithinTx; } });
206
+ var org_quiesce_marks_migrations_1 = require("./lib/org-quiesce/org-quiesce-marks.migrations");
207
+ Object.defineProperty(exports, "orgQuiesceMarksMigrations", { enumerable: true, get: function () { return org_quiesce_marks_migrations_1.orgQuiesceMarksMigrations; } });
208
+ var org_erasure_isolation_error_1 = require("./lib/org-quiesce/org-erasure-isolation-error");
209
+ Object.defineProperty(exports, "OrgErasureIsolationError", { enumerable: true, get: function () { return org_erasure_isolation_error_1.OrgErasureIsolationError; } });
210
+ var org_quiesce_marks_module_1 = require("./lib/org-quiesce/org-quiesce-marks.module");
211
+ Object.defineProperty(exports, "OrgQuiesceMarksModule", { enumerable: true, get: function () { return org_quiesce_marks_module_1.OrgQuiesceMarksModule; } });
212
+ var org_quiesce_refusal_1 = require("./lib/org-quiesce/org-quiesce-refusal");
213
+ Object.defineProperty(exports, "OrgFenceFailure", { enumerable: true, get: function () { return org_quiesce_refusal_1.OrgFenceFailure; } });
214
+ Object.defineProperty(exports, "OrgFenceParentMissingError", { enumerable: true, get: function () { return org_quiesce_refusal_1.OrgFenceParentMissingError; } });
215
+ Object.defineProperty(exports, "OrgFenceSqlState", { enumerable: true, get: function () { return org_quiesce_refusal_1.OrgFenceSqlState; } });
216
+ Object.defineProperty(exports, "OrgFenceTruncateRefusedError", { enumerable: true, get: function () { return org_quiesce_refusal_1.OrgFenceTruncateRefusedError; } });
217
+ Object.defineProperty(exports, "OrgQuiesceRefusal", { enumerable: true, get: function () { return org_quiesce_refusal_1.OrgQuiesceRefusal; } });
218
+ Object.defineProperty(exports, "OrgQuiescingRefusedError", { enumerable: true, get: function () { return org_quiesce_refusal_1.OrgQuiescingRefusedError; } });
219
+ var org_write_fence_coverage_1 = require("./lib/org-quiesce/org-write-fence-coverage");
220
+ Object.defineProperty(exports, "assertOrgWriteFenceCoversErasureGraph", { enumerable: true, get: function () { return org_write_fence_coverage_1.assertOrgWriteFenceCoversErasureGraph; } });
221
+ Object.defineProperty(exports, "OrgWriteFenceCoverageError", { enumerable: true, get: function () { return org_write_fence_coverage_1.OrgWriteFenceCoverageError; } });
222
+ var org_quiesce_refusal_mapping_1 = require("./lib/org-quiesce/org-quiesce-refusal-mapping");
223
+ Object.defineProperty(exports, "orgFenceRefusalFrom", { enumerable: true, get: function () { return org_quiesce_refusal_mapping_1.orgFenceRefusalFrom; } });
224
+ Object.defineProperty(exports, "orgQuiescingRefusalFrom", { enumerable: true, get: function () { return org_quiesce_refusal_mapping_1.orgQuiescingRefusalFrom; } });
225
+ var org_write_fence_apply_1 = require("./lib/org-quiesce/org-write-fence-apply");
226
+ Object.defineProperty(exports, "OrgWriteFenceFunctionsMissingError", { enumerable: true, get: function () { return org_write_fence_apply_1.OrgWriteFenceFunctionsMissingError; } });
227
+ var org_write_fence_triggers_1 = require("./lib/org-quiesce/org-write-fence-triggers");
228
+ Object.defineProperty(exports, "OrgWriteFenceDuplicateTableError", { enumerable: true, get: function () { return org_write_fence_triggers_1.OrgWriteFenceDuplicateTableError; } });
229
+ Object.defineProperty(exports, "OrgWriteFenceIdentifierError", { enumerable: true, get: function () { return org_write_fence_triggers_1.OrgWriteFenceIdentifierError; } });
230
+ Object.defineProperty(exports, "OrgWriteFenceTriggersMissingError", { enumerable: true, get: function () { return org_write_fence_triggers_1.OrgWriteFenceTriggersMissingError; } });
231
+ Object.defineProperty(exports, "assertOrgWriteFenceTriggers", { enumerable: true, get: function () { return org_write_fence_triggers_1.assertOrgWriteFenceTriggers; } });
192
232
  //# sourceMappingURL=index.js.map
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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"}
@@ -4,6 +4,8 @@ export interface AdvisoryLockClient {
4
4
  }
5
5
  export type AdvisoryLockKey = string | bigint;
6
6
  export declare function acquireXactAdvisoryLock(db: AdvisoryLockClient, key: AdvisoryLockKey): Promise<void>;
7
+ export declare function acquireSchemaScopedXactAdvisoryLock(db: AdvisoryLockClient, key: string): Promise<void>;
8
+ export declare function acquireSchemaScopedXactAdvisoryLockShared(db: AdvisoryLockClient, key: string): Promise<void>;
7
9
  export declare function tryAcquireXactAdvisoryLock(db: AdvisoryLockClient, key: AdvisoryLockKey): Promise<boolean>;
8
10
  export declare function tryAcquireAdvisoryLock(db: AdvisoryLockClient, key: AdvisoryLockKey): Promise<boolean>;
9
11
  export declare function releaseAdvisoryLock(db: AdvisoryLockClient, key: AdvisoryLockKey): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"advisory-lock.d.ts","sourceRoot":"","sources":["../../src/lib/advisory-lock.ts"],"names":[],"mappings":"AAiCA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,OAAO,EAC9B,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,OAAO,EAAE,KACjB,OAAO,CAAC,CAAC,CAAC,CAAC;IAChB,QAAQ,CAAC,WAAW,EAAE,CACpB,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,OAAO,EAAE,KACjB,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB;AASD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAa9C,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAqBD,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAoBD,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAWD,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,OAAO,CAAC,CAUlB"}
1
+ {"version":3,"file":"advisory-lock.d.ts","sourceRoot":"","sources":["../../src/lib/advisory-lock.ts"],"names":[],"mappings":"AAiCA,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,OAAO,EAC9B,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,OAAO,EAAE,KACjB,OAAO,CAAC,CAAC,CAAC,CAAC;IAChB,QAAQ,CAAC,WAAW,EAAE,CACpB,OAAO,EAAE,oBAAoB,EAC7B,GAAG,MAAM,EAAE,OAAO,EAAE,KACjB,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB;AASD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC;AAa9C,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAeD,wBAAsB,mCAAmC,CACvD,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAEf;AASD,wBAAsB,yCAAyC,CAC7D,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAEf;AAqBD,wBAAsB,0BAA0B,CAC9C,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAoBD,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAWD,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,kBAAkB,EACtB,GAAG,EAAE,eAAe,GACnB,OAAO,CAAC,OAAO,CAAC,CAUlB"}
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.acquireXactAdvisoryLock = acquireXactAdvisoryLock;
4
+ exports.acquireSchemaScopedXactAdvisoryLock = acquireSchemaScopedXactAdvisoryLock;
5
+ exports.acquireSchemaScopedXactAdvisoryLockShared = acquireSchemaScopedXactAdvisoryLockShared;
4
6
  exports.tryAcquireXactAdvisoryLock = tryAcquireXactAdvisoryLock;
5
7
  exports.tryAcquireAdvisoryLock = tryAcquireAdvisoryLock;
6
8
  exports.releaseAdvisoryLock = releaseAdvisoryLock;
@@ -11,6 +13,12 @@ async function acquireXactAdvisoryLock(db, key) {
11
13
  }
12
14
  await db.$executeRaw `SELECT pg_advisory_xact_lock(hashtext(${key}))`;
13
15
  }
16
+ async function acquireSchemaScopedXactAdvisoryLock(db, key) {
17
+ await db.$executeRaw `SELECT pg_advisory_xact_lock(hashtext(current_schema() || ':' || ${key}::text))`;
18
+ }
19
+ async function acquireSchemaScopedXactAdvisoryLockShared(db, key) {
20
+ await db.$executeRaw `SELECT pg_advisory_xact_lock_shared(hashtext(current_schema() || ':' || ${key}::text))`;
21
+ }
14
22
  async function tryAcquireXactAdvisoryLock(db, key) {
15
23
  const rows = typeof key === 'bigint'
16
24
  ? await db.$queryRaw `SELECT pg_try_advisory_xact_lock(${key}::bigint) AS acquired`
@@ -1 +1 @@
1
- {"version":3,"file":"advisory-lock.js","sourceRoot":"","sources":["../../src/lib/advisory-lock.ts"],"names":[],"mappings":";;AAgEA,0DASC;AAqBD,gEAaC;AAoBD,wDAaC;AAWD,kDAaC;AApGM,KAAK,UAAU,uBAAuB,CAC3C,EAAsB,EACtB,GAAoB;IAEpB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,EAAE,CAAC,WAAW,CAAA,gCAAgC,GAAG,WAAW,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,EAAE,CAAC,WAAW,CAAA,yCAAyC,GAAG,IAAI,CAAC;AACvE,CAAC;AAqBM,KAAK,UAAU,0BAA0B,CAC9C,EAAsB,EACtB,GAAoB;IAEpB,MAAM,IAAI,GACR,OAAO,GAAG,KAAK,QAAQ;QACrB,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,oCAAoC,GAAG,uBAAuB;QACjE,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,6CAA6C,GAAG,gBAAgB,CAAC;IACxE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;AACpC,CAAC;AAoBM,KAAK,UAAU,sBAAsB,CAC1C,EAAsB,EACtB,GAAoB;IAEpB,MAAM,IAAI,GACR,OAAO,GAAG,KAAK,QAAQ;QACrB,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,+BAA+B,GAAG,uBAAuB;QAC5D,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,wCAAwC,GAAG,gBAAgB,CAAC;IACnE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;AACpC,CAAC;AAWM,KAAK,UAAU,mBAAmB,CACvC,EAAsB,EACtB,GAAoB;IAEpB,MAAM,IAAI,GACR,OAAO,GAAG,KAAK,QAAQ;QACrB,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,6BAA6B,GAAG,uBAAuB;QAC1D,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,sCAAsC,GAAG,gBAAgB,CAAC;IACjE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"advisory-lock.js","sourceRoot":"","sources":["../../src/lib/advisory-lock.ts"],"names":[],"mappings":";;AAgEA,0DASC;AAeD,kFAKC;AASD,8FAKC;AAqBD,gEAaC;AAoBD,wDAaC;AAWD,kDAaC;AAtIM,KAAK,UAAU,uBAAuB,CAC3C,EAAsB,EACtB,GAAoB;IAEpB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,EAAE,CAAC,WAAW,CAAA,gCAAgC,GAAG,WAAW,CAAC;QACnE,OAAO;IACT,CAAC;IACD,MAAM,EAAE,CAAC,WAAW,CAAA,yCAAyC,GAAG,IAAI,CAAC;AACvE,CAAC;AAeM,KAAK,UAAU,mCAAmC,CACvD,EAAsB,EACtB,GAAW;IAEX,MAAM,EAAE,CAAC,WAAW,CAAA,oEAAoE,GAAG,UAAU,CAAC;AACxG,CAAC;AASM,KAAK,UAAU,yCAAyC,CAC7D,EAAsB,EACtB,GAAW;IAEX,MAAM,EAAE,CAAC,WAAW,CAAA,2EAA2E,GAAG,UAAU,CAAC;AAC/G,CAAC;AAqBM,KAAK,UAAU,0BAA0B,CAC9C,EAAsB,EACtB,GAAoB;IAEpB,MAAM,IAAI,GACR,OAAO,GAAG,KAAK,QAAQ;QACrB,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,oCAAoC,GAAG,uBAAuB;QACjE,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,6CAA6C,GAAG,gBAAgB,CAAC;IACxE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;AACpC,CAAC;AAoBM,KAAK,UAAU,sBAAsB,CAC1C,EAAsB,EACtB,GAAoB;IAEpB,MAAM,IAAI,GACR,OAAO,GAAG,KAAK,QAAQ;QACrB,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,+BAA+B,GAAG,uBAAuB;QAC5D,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,wCAAwC,GAAG,gBAAgB,CAAC;IACnE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;AACpC,CAAC;AAWM,KAAK,UAAU,mBAAmB,CACvC,EAAsB,EACtB,GAAoB;IAEpB,MAAM,IAAI,GACR,OAAO,GAAG,KAAK,QAAQ;QACrB,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,6BAA6B,GAAG,uBAAuB;QAC1D,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAEjB,sCAAsC,GAAG,gBAAgB,CAAC;IACjE,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAK,IAAI,CAAC;AACpC,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { OperatorMigrationDatabase } from './ledger-rows';
2
+ import type { OrgWriteFenceTable } from './org-quiesce/org-write-fence-triggers';
2
3
  import type { SdkOwnedMigrationSet } from './sdk-owned-migration-set';
3
4
  export interface RunBiomeMigrationsOptions {
4
5
  readonly database: OperatorMigrationDatabase;
@@ -6,6 +7,7 @@ export interface RunBiomeMigrationsOptions {
6
7
  readonly connectionUrl: string;
7
8
  readonly label: string;
8
9
  readonly sdkOwnedMigrations?: readonly SdkOwnedMigrationSet[];
10
+ readonly orgWriteFenceTables?: readonly OrgWriteFenceTable[];
9
11
  }
10
12
  export declare function runBiomeMigrations(options: RunBiomeMigrationsOptions): Promise<void>;
11
13
  //# sourceMappingURL=biome-migrations.d.ts.map
@@ -1 +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;AAyBD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
1
+ {"version":3,"file":"biome-migrations.d.ts","sourceRoot":"","sources":["../../src/lib/biome-migrations.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,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;IAK9D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC9D;AA4BD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,IAAI,CAAC,CAmCf"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.runBiomeMigrations = runBiomeMigrations;
4
4
  const migration_runner_prisma_1 = require("@xemahq/migration-runner-prisma");
5
5
  const operator_migration_ledger_1 = require("./operator-migration-ledger");
6
+ const org_write_fence_apply_1 = require("./org-quiesce/org-write-fence-apply");
6
7
  const sdk_owned_migrations_1 = require("./sdk-owned-migrations");
7
8
  const service_migration_scan_1 = require("./service-migration-scan");
8
9
  const BOOTSTRAP_LOCK_SQL = `SELECT pg_advisory_lock(hashtextextended('xema:biome-migrations:' || current_schema(), 0))`;
@@ -14,7 +15,7 @@ async function runBiomeMigrations(options) {
14
15
  await database.query(BOOTSTRAP_LOCK_SQL);
15
16
  let failure;
16
17
  try {
17
- await (0, service_migration_scan_1.assertServiceMigrationsLeaveSdkOwnedTablesAlone)(options.workspaceDir, ownerOfTable);
18
+ await (0, service_migration_scan_1.assertServiceMigrationsLeaveSdkOwnedTablesAlone)(options.workspaceDir, ownerOfTable, sets.flatMap((set) => set.priorCreators ?? []));
18
19
  const result = await new migration_runner_prisma_1.PrismaMigrationRunner().run({
19
20
  workspaceDir: options.workspaceDir,
20
21
  connectionUrl: options.connectionUrl,
@@ -25,6 +26,7 @@ async function runBiomeMigrations(options) {
25
26
  }
26
27
  await (0, operator_migration_ledger_1.ensureOperatorMigrationLedger)(database);
27
28
  await (0, sdk_owned_migrations_1.applySdkOwnedMigrations)(database, sets);
29
+ await (0, org_write_fence_apply_1.applyOrgWriteFenceTriggers)(database, options.orgWriteFenceTables ?? [], sets);
28
30
  }
29
31
  catch (error) {
30
32
  failure = error;
@@ -1 +1 @@
1
- {"version":3,"file":"biome-migrations.js","sourceRoot":"","sources":["../../src/lib/biome-migrations.ts"],"names":[],"mappings":";;AAgDA,gDA+BC;AA/ED,6EAAwE;AAExE,2EAA4E;AAC5E,iEAGgC;AAChC,qEAA2F;AAkB3F,MAAM,kBAAkB,GAAG,4FAA4F,CAAC;AACxH,MAAM,oBAAoB,GAAG,0GAA0G,CAAC;AAsBjI,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
+ {"version":3,"file":"biome-migrations.js","sourceRoot":"","sources":["../../src/lib/biome-migrations.ts"],"names":[],"mappings":";;AA0DA,gDAqCC;AA/FD,6EAAwE;AAExE,2EAA4E;AAC5E,+EAAiF;AACjF,iEAGgC;AAChC,qEAA2F;AAwB3F,MAAM,kBAAkB,GAAG,4FAA4F,CAAC;AACxH,MAAM,oBAAoB,GAAG,0GAA0G,CAAC;AAyBjI,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,EACZ,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAC/C,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;QAC9C,MAAM,IAAA,kDAA0B,EAC9B,QAAQ,EACR,OAAO,CAAC,mBAAmB,IAAI,EAAE,EACjC,IAAI,CACL,CAAC;IACJ,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 CredentialGrantSource } from './credential-client';
4
4
  import { type PrismaMigrationHistoryPolicy } from './migration-history';
5
5
  import type { BiomeDatabaseConfig } from './config';
6
6
  import type { BiomeDatabaseMigrationMode } from './migration-mode';
7
+ import type { OrgWriteFenceTable } from './org-quiesce/org-write-fence-triggers';
7
8
  import type { BiomeProcessConcurrency } from './pool-sizing';
8
9
  import type { SdkOwnedMigrationSet } from './sdk-owned-migration-set';
9
10
  import type { KernelState } from '@xemahq/contracts/kernel-state';
@@ -33,6 +34,7 @@ export interface ApplicationManagedBootstrapOptions extends BootstrapBiomeDataba
33
34
  readonly databases: readonly BiomeDatabaseDeclaration[];
34
35
  readonly requiredExtensions?: readonly string[];
35
36
  readonly sdkOwnedMigrations?: readonly SdkOwnedMigrationSet[];
37
+ readonly orgWriteFenceTables?: readonly OrgWriteFenceTable[];
36
38
  }
37
39
  export type BootstrapBiomeDatabasesOptions = ApplicationManagedBootstrapOptions;
38
40
  export declare enum SchemaPosture {
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/lib/bootstrap.ts"],"names":[],"mappings":"AAOA,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;AAM7B,OAAO,EAIL,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;AA6RD,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":"AAOA,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;AAM7B,OAAO,EAIL,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,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AACjF,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;IAE9D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAC9D;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;AA+RD,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,8BAA8B,GACnC,OAAO,CAAC,IAAI,CAAC,CAkCf"}
@@ -163,7 +163,7 @@ function buildDirectConnectionUrl(biomeId, key, config) {
163
163
  }
164
164
  return (0, database_url_1.ensureBiomeDbSearchPath)(directUrl);
165
165
  }
166
- async function runMigrations(biomeId, key, decl, config, migrateUrl, sdkOwnedMigrations) {
166
+ async function runMigrations(biomeId, key, decl, config, migrateUrl, sdkOwnedMigrations, orgWriteFenceTables) {
167
167
  bootstrapLogger.log(`${LOG_PREFIX} biome=${biomeId} key=${key}: running biome migrations (cwd=${decl.workspaceDir})`);
168
168
  const schema = config.schema ?? 'public';
169
169
  const client = createDirectPgClient(config);
@@ -178,6 +178,7 @@ async function runMigrations(biomeId, key, decl, config, migrateUrl, sdkOwnedMig
178
178
  connectionUrl: migrateUrl,
179
179
  label: `${LOG_PREFIX} biome=${biomeId} key=${key}`,
180
180
  sdkOwnedMigrations,
181
+ orgWriteFenceTables,
181
182
  });
182
183
  }
183
184
  finally {
@@ -316,7 +317,7 @@ async function bootstrapWithOneCredential(opts, key, decl, rawConfig) {
316
317
  await ensureSchemaExists(opts.biomeId, key, config, opts.requiredExtensions ?? [], SchemaPosture.CreateIfMissing);
317
318
  await runPreMigrationCheck(opts.biomeId, key, decl, config);
318
319
  await assertDatabaseHistoryCompatibleWithImage(opts.biomeId, key, decl, config);
319
- await runMigrations(opts.biomeId, key, decl, config, directUrl, opts.sdkOwnedMigrations ?? []);
320
+ await runMigrations(opts.biomeId, key, decl, config, directUrl, opts.sdkOwnedMigrations ?? [], opts.orgWriteFenceTables ?? []);
320
321
  await assertDatabaseMatchesImage(opts.biomeId, key, decl, config);
321
322
  const runtimeUrl = buildRuntimeUrl(opts.biomeId, key, config, directUrl);
322
323
  publishResolvedConnection(opts, key, config, runtimeUrl);
@@ -328,7 +329,7 @@ async function bootstrapWithPoolCredentials(opts, key, decl, issued) {
328
329
  await ensureSchemaExists(opts.biomeId, key, migration, opts.requiredExtensions ?? [], SchemaPosture.VerifyOnly);
329
330
  await runPreMigrationCheck(opts.biomeId, key, decl, migration);
330
331
  await assertDatabaseHistoryCompatibleWithImage(opts.biomeId, key, decl, migration);
331
- await runMigrations(opts.biomeId, key, decl, migration, migrateUrl, opts.sdkOwnedMigrations ?? []);
332
+ await runMigrations(opts.biomeId, key, decl, migration, migrateUrl, opts.sdkOwnedMigrations ?? [], opts.orgWriteFenceTables ?? []);
332
333
  await assertDatabaseMatchesImage(opts.biomeId, key, decl, migration);
333
334
  const runtimeIssued = await issued.fetchRuntime();
334
335
  const runtime = await materializeInlineCaCert(opts.biomeId, key, runtimeIssued);
@@ -1 +1 @@
1
- {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/lib/bootstrap.ts"],"names":[],"mappings":";;;AA8ZA,gDAuEC;AA6RD,0DAoCC;AAtyBD,6CAAyC;AACzC,qCAAuC;AACvC,+CAA6C;AAC7C,qCAAiC;AACjC,yCAAiC;AAEjC,2CAAwC;AACxC,2BAAiD;AAEjD,yDAAwD;AACxD,qCAA6D;AAC7D,uEAGmC;AACnC,2DAO6B;AAC7B,yDAG4B;AAC5B,iDAAkF;AAClF,2DAK6B;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,sCAAuB,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,sCAAuB,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,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAC9B,+CAA+C,EAC/C,CAAC,GAAG,uBAAuB,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAC5D,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,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,gBAAgB,CAC7B,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,OAAO;QACL,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;AACJ,CAAC;AAGD,KAAK,UAAU,wCAAwC,CACrD,OAAe,EACf,GAAW,EACX,WAAqC,EACrC,MAA2B;IAE3B,IAAA,2DAAuC,EACrC,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAC1D,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,OAAe,EACf,GAAW,EACX,WAAqC,EACrC,MAA2B;IAE3B,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACxE,IAAA,oDAAgC,EAAC,KAAK,CAAC,CAAC;IACxC,eAAe,CAAC,GAAG,CACjB,GAAG,UAAU,UAAU,OAAO,QAAQ,GAAG,sBAAsB;QAC7D,eAAe,KAAK,CAAC,qBAAqB,CAAC,MAAM,WAAW,CAC/D,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,sCAAuB,EAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,SAAS,GAAG,IAAA,sCAAuB,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,sCAAuB,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,wCAAwC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAChF,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,wCAAwC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACnF,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
+ {"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/lib/bootstrap.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ export interface OperatorMigrationDatabase {
8
8
  query<R extends QueryResultRow = QueryResultRow>(queryText: string, values?: unknown[]): Promise<QueryResult<R>>;
9
9
  }
10
10
  export declare function recordPhase(database: OperatorMigrationDatabase, migrationId: string, phase: OperatorMigrationPhase, artifactSha256: string): Promise<void>;
11
+ export declare function replacePhase(database: OperatorMigrationDatabase, migrationId: string, phase: OperatorMigrationPhase, artifactSha256: string): Promise<void>;
11
12
  export declare function readPhase(database: OperatorMigrationDatabase, migrationId: string, phase: OperatorMigrationPhase): Promise<string | null>;
12
13
  export declare function assertArtifactMatches(migrationId: string, phase: OperatorMigrationPhase, recorded: string, expected: string): void;
13
14
  export declare function sha256(value: string): string;
@@ -1 +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"}
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;AAQD,wBAAsB,YAAY,CAChC,QAAQ,EAAE,yBAAyB,EACnC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,sBAAsB,EAC7B,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAUf;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"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OperatorMigrationPhase = void 0;
4
4
  exports.recordPhase = recordPhase;
5
+ exports.replacePhase = replacePhase;
5
6
  exports.readPhase = readPhase;
6
7
  exports.assertArtifactMatches = assertArtifactMatches;
7
8
  exports.sha256 = sha256;
@@ -23,6 +24,14 @@ async function recordPhase(database, migrationId, phase, artifactSha256) {
23
24
  (migration_id, phase, artifact_sha256)
24
25
  VALUES ($1, $2, $3)`, [migrationId, phase, artifactSha256]);
25
26
  }
27
+ async function replacePhase(database, migrationId, phase, artifactSha256) {
28
+ const updated = await database.query(`UPDATE xema_operator_migrations
29
+ SET artifact_sha256 = $3, completed_at = CURRENT_TIMESTAMP
30
+ WHERE migration_id = $1 AND phase = $2`, [migrationId, phase, artifactSha256]);
31
+ if ((updated.rowCount ?? 0) === 0) {
32
+ await recordPhase(database, migrationId, phase, artifactSha256);
33
+ }
34
+ }
26
35
  async function readPhase(database, migrationId, phase) {
27
36
  const result = await database.query(`SELECT artifact_sha256
28
37
  FROM xema_operator_migrations
@@ -1 +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
+ {"version":3,"file":"ledger-rows.js","sourceRoot":"","sources":["../../src/lib/ledger-rows.ts"],"names":[],"mappings":";;;AAoBA,kCAiBC;AAQD,oCAeC;AAED,8BAkBC;AAED,sDAWC;AAED,wBAEC;AAjGD,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;AAQM,KAAK,UAAU,YAAY,CAChC,QAAmC,EACnC,WAAmB,EACnB,KAA6B,EAC7B,cAAsB;IAEtB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,KAAK,CAClC;;6CAEyC,EACzC,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,CACrC,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAClE,CAAC;AACH,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"}