hikoutei 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +13 -21
- package/README.ko.md +14 -22
- package/README.md +25 -29
- package/dist/adapter/persistence/contracts/sql.d.ts +16 -2
- package/dist/adapter/persistence/contracts/sql.d.ts.map +1 -1
- package/dist/adapter/persistence/contracts/sql.js +11 -1
- package/dist/adapter/persistence/contracts/sql.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js +40 -14
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts +2 -0
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js +23 -8
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +13 -4
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js +12 -2
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.d.ts +21 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js +59 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.d.ts +14 -13
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js +43 -64
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js +4 -2
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +1 -2
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts +61 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js +186 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts +56 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js +275 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts +11 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js +345 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.d.ts +65 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js +51 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.d.ts +36 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.js +126 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts +11 -2
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js +39 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js +46 -35
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js +22 -4
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts +2 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js +47 -54
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js +6 -30
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js +79 -22
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts +2 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts +5 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js +19 -4
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js +5 -6
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts +2 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js +2 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts +2 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js +15 -19
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js +44 -30
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts +3 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.js +10 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.js.map +1 -0
- package/dist/api/Hikoutei.d.ts +17 -50
- package/dist/api/Hikoutei.d.ts.map +1 -1
- package/dist/api/Hikoutei.js +46 -105
- package/dist/api/Hikoutei.js.map +1 -1
- package/dist/api/entity.d.ts +9 -10
- package/dist/api/entity.d.ts.map +1 -1
- package/dist/api/entity.js +20 -26
- package/dist/api/entity.js.map +1 -1
- package/dist/api/errors.d.ts +0 -6
- package/dist/api/errors.d.ts.map +1 -1
- package/dist/api/errors.js +0 -6
- package/dist/api/errors.js.map +1 -1
- package/dist/api/index.d.ts +4 -4
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -2
- package/dist/api/index.js.map +1 -1
- package/dist/api/internalEntityManager.d.ts.map +1 -1
- package/dist/api/internalEntityManager.js +33 -19
- package/dist/api/internalEntityManager.js.map +1 -1
- package/dist/application/orm/mapping/contracts.d.ts +16 -6
- package/dist/application/orm/mapping/contracts.d.ts.map +1 -1
- package/dist/application/orm/mapping/definition.d.ts.map +1 -1
- package/dist/application/orm/mapping/definition.js +47 -8
- package/dist/application/orm/mapping/definition.js.map +1 -1
- package/dist/application/orm/mapping/identity.js +1 -1
- package/dist/application/orm/mapping/identity.js.map +1 -1
- package/dist/application/orm/mapping/projection.d.ts.map +1 -1
- package/dist/application/orm/mapping/projection.js +10 -2
- package/dist/application/orm/mapping/projection.js.map +1 -1
- package/dist/application/orm/mapping/values.d.ts.map +1 -1
- package/dist/application/orm/mapping/values.js +5 -35
- package/dist/application/orm/mapping/values.js.map +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +3 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.js +4 -3
- package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js +2 -1
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js.map +1 -1
- package/dist/application/orm/persistence/projection/projectionEffects.d.ts +3 -1
- package/dist/application/orm/persistence/projection/projectionEffects.d.ts.map +1 -1
- package/dist/application/orm/persistence/projection/projectionEffects.js +14 -16
- package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -1
- package/dist/application/orm/persistence/scalar/unitOfWork.d.ts +6 -6
- package/dist/application/orm/persistence/scalar/unitOfWork.d.ts.map +1 -1
- package/dist/application/orm/persistence/scalar/unitOfWork.js +28 -28
- package/dist/application/orm/persistence/scalar/unitOfWork.js.map +1 -1
- package/dist/application/orm/persistence/support/businessKeys.d.ts.map +1 -1
- package/dist/application/orm/persistence/support/businessKeys.js +6 -24
- package/dist/application/orm/persistence/support/businessKeys.js.map +1 -1
- package/dist/application/orm/persistence/support/canonicalState.d.ts.map +1 -1
- package/dist/application/orm/persistence/support/canonicalState.js +9 -25
- package/dist/application/orm/persistence/support/canonicalState.js.map +1 -1
- package/dist/application/orm/persistence/support/contracts.d.ts +0 -57
- package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -1
- package/dist/application/orm/persistence/support/contracts.js +0 -68
- package/dist/application/orm/persistence/support/contracts.js.map +1 -1
- package/dist/application/orm/persistence/support/helpers.d.ts +1 -11
- package/dist/application/orm/persistence/support/helpers.d.ts.map +1 -1
- package/dist/application/orm/persistence/support/helpers.js +1 -21
- package/dist/application/orm/persistence/support/helpers.js.map +1 -1
- package/dist/application/sync/gateway/constants.d.ts +2 -1
- package/dist/application/sync/gateway/constants.d.ts.map +1 -1
- package/dist/application/sync/gateway/constants.js +4 -3
- package/dist/application/sync/gateway/constants.js.map +1 -1
- package/dist/application/sync/gateway/syncGateway.d.ts.map +1 -1
- package/dist/application/sync/gateway/syncGateway.js +9 -28
- package/dist/application/sync/gateway/syncGateway.js.map +1 -1
- package/dist/application/sync/gateway/validation.d.ts +5 -0
- package/dist/application/sync/gateway/validation.d.ts.map +1 -1
- package/dist/application/sync/gateway/validation.js +22 -3
- package/dist/application/sync/gateway/validation.js.map +1 -1
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts.map +1 -1
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.js +3 -23
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +2 -0
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +24 -6
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js +35 -34
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +0 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +8 -37
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +2 -2
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts +0 -5
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js +3 -10
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +13 -21
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +15 -3
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +1 -1
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts.map +1 -1
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js +1 -10
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +5 -9
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -1
- package/dist/application/sync/service/SyncPollingSupervisor.d.ts +45 -0
- package/dist/application/sync/service/SyncPollingSupervisor.d.ts.map +1 -0
- package/dist/application/sync/service/SyncPollingSupervisor.js +142 -0
- package/dist/application/sync/service/SyncPollingSupervisor.js.map +1 -0
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts +63 -0
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -0
- package/dist/application/sync/service/SyncServiceBootstrap.js +223 -0
- package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -0
- package/dist/application/sync/service/contracts.d.ts +25 -0
- package/dist/application/sync/service/contracts.d.ts.map +1 -0
- package/dist/application/sync/service/contracts.js +3 -0
- package/dist/application/sync/service/contracts.js.map +1 -0
- package/dist/application/sync/service/errors.d.ts +15 -0
- package/dist/application/sync/service/errors.d.ts.map +1 -0
- package/dist/application/sync/service/errors.js +16 -0
- package/dist/application/sync/service/errors.js.map +1 -0
- package/dist/domain/errors/types.d.ts +1 -1
- package/dist/domain/errors/types.d.ts.map +1 -1
- package/dist/domain/errors/types.js +2 -2
- package/dist/domain/errors/types.js.map +1 -1
- package/dist/domain/evaluate/constants.d.ts +1 -1
- package/dist/domain/evaluate/constants.d.ts.map +1 -1
- package/dist/domain/evaluate/constants.js.map +1 -1
- package/dist/domain/evaluate/preconditions.d.ts.map +1 -1
- package/dist/domain/evaluate/preconditions.js +25 -32
- package/dist/domain/evaluate/preconditions.js.map +1 -1
- package/dist/domain/evaluate/quarantine.js +4 -1
- package/dist/domain/evaluate/quarantine.js.map +1 -1
- package/dist/domain/model/constants.d.ts +48 -0
- package/dist/domain/model/constants.d.ts.map +1 -1
- package/dist/domain/model/constants.js +38 -0
- package/dist/domain/model/constants.js.map +1 -1
- package/dist/domain/model/index.d.ts +2 -2
- package/dist/domain/model/index.d.ts.map +1 -1
- package/dist/domain/model/index.js +1 -1
- package/dist/domain/model/index.js.map +1 -1
- package/dist/domain/model/types.d.ts +13 -10
- package/dist/domain/model/types.d.ts.map +1 -1
- package/dist/infrastructure/storage/constants.d.ts +1 -1
- package/dist/infrastructure/storage/constants.d.ts.map +1 -1
- package/dist/infrastructure/storage/constants.js.map +1 -1
- package/dist/infrastructure/storage/errors.d.ts +2 -2
- package/dist/infrastructure/storage/errors.d.ts.map +1 -1
- package/dist/infrastructure/storage/errors.js +3 -5
- package/dist/infrastructure/storage/errors.js.map +1 -1
- package/dist/infrastructure/storage/index.d.ts +9 -5
- package/dist/infrastructure/storage/index.d.ts.map +1 -1
- package/dist/infrastructure/storage/index.js +3 -1
- package/dist/infrastructure/storage/index.js.map +1 -1
- package/dist/infrastructure/storage/sqlite/migrateSchema.js +9 -4
- package/dist/infrastructure/storage/sqlite/migrateSchema.js.map +1 -1
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts +9 -0
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.js +35 -36
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.js.map +1 -1
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts +8 -1
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js +14 -0
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationAudit.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationAudit.js +4 -1
- package/dist/infrastructure/storage/state/observation/observationAudit.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts +11 -1
- package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationCanonical.js +108 -0
- package/dist/infrastructure/storage/state/observation/observationCanonical.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts +36 -1
- package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationQuarantine.js +55 -0
- package/dist/infrastructure/storage/state/observation/observationQuarantine.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationTypes.d.ts +22 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationTypes.js +5 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationValidation.d.ts +1 -1
- package/dist/infrastructure/storage/state/observation/observationValidation.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationValidation.js +26 -0
- package/dist/infrastructure/storage/state/observation/observationValidation.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationWriter.d.ts +1 -1
- package/dist/infrastructure/storage/state/observation/observationWriter.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationWriter.js +5 -1
- package/dist/infrastructure/storage/state/observation/observationWriter.js.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.js +3 -2
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.js.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts +1 -5
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js +3 -43
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js +2 -4
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +2 -2
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +20 -10
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +33 -18
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +2 -4
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts +6 -2
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js +157 -14
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/reconciliationSql.d.ts +1 -1
- package/dist/infrastructure/storage/sync/outbound/reconciliationSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js +14 -1
- package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js.map +1 -1
- package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts +2 -1
- package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/shared/syncRegistry.js +4 -1
- package/dist/infrastructure/storage/sync/shared/syncRegistry.js.map +1 -1
- package/dist/infrastructure/storage/sync/shared/writerLease.d.ts +4 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/shared/writerLease.js +9 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.js.map +1 -1
- package/dist/shared/constants.d.ts +4 -4
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/encoding/index.d.ts +1 -0
- package/dist/shared/encoding/index.d.ts.map +1 -1
- package/dist/shared/encoding/index.js +1 -0
- package/dist/shared/encoding/index.js.map +1 -1
- package/dist/shared/encoding/normalizedCell.d.ts +4 -0
- package/dist/shared/encoding/normalizedCell.d.ts.map +1 -0
- package/dist/shared/encoding/normalizedCell.js +29 -0
- package/dist/shared/encoding/normalizedCell.js.map +1 -0
- package/dist/shared/encoding/stableEncode.d.ts +2 -1
- package/dist/shared/encoding/stableEncode.d.ts.map +1 -1
- package/dist/shared/encoding/stableEncode.js +6 -12
- package/dist/shared/encoding/stableEncode.js.map +1 -1
- package/dist/shared/identity/index.d.ts +3 -0
- package/dist/shared/identity/index.d.ts.map +1 -0
- package/dist/shared/identity/index.js +2 -0
- package/dist/shared/identity/index.js.map +1 -0
- package/dist/shared/identity/types.d.ts +41 -0
- package/dist/shared/identity/types.d.ts.map +1 -0
- package/dist/shared/identity/types.js +34 -0
- package/dist/shared/identity/types.js.map +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/state/constructors.d.ts +10 -0
- package/dist/shared/state/constructors.d.ts.map +1 -0
- package/dist/shared/state/constructors.js +18 -0
- package/dist/shared/state/constructors.js.map +1 -0
- package/dist/shared/state/index.d.ts +1 -0
- package/dist/shared/state/index.d.ts.map +1 -1
- package/dist/shared/state/index.js +1 -0
- package/dist/shared/state/index.js.map +1 -1
- package/dist/shared/validation.d.ts +2 -0
- package/dist/shared/validation.d.ts.map +1 -1
- package/dist/shared/validation.js +9 -0
- package/dist/shared/validation.js.map +1 -1
- package/docs/architecture.md +108 -103
- package/docs/ci.md +184 -61
- package/docs/mikro-orm-adapter-spike.md +55 -214
- package/docs/quick-start.md +58 -96
- package/docs/write-and-synchronization-flow.md +70 -39
- package/package.json +1 -1
|
@@ -13,6 +13,7 @@ import { fromSqlNullable, toSqlNullable } from "../../sqlite/sqlState.js";
|
|
|
13
13
|
import { CANONICAL_COMMIT_RESULT_KINDS, commitCanonicalChangesWithSql, } from "../canonical/canonicalCommit.js";
|
|
14
14
|
import { auditJson } from "./observationAudit.js";
|
|
15
15
|
import { candidateHash, readActiveCandidateWithSql, } from "./observationLedger.js";
|
|
16
|
+
import { OBSERVED_PROJECTION_EVIDENCE_SOURCES, } from "./observationTypes.js";
|
|
16
17
|
import { CanonicalStaleError, FenceLostError } from "./observationTypes.js";
|
|
17
18
|
const INITIAL_CANDIDATE_EPOCH = 0;
|
|
18
19
|
const CONFLICT_ID_PREFIX = "conflict:";
|
|
@@ -38,6 +39,44 @@ const UPSERT_VISIBLE_FIELD_STATE_SQL = `
|
|
|
38
39
|
candidate_epoch = excluded.candidate_epoch,
|
|
39
40
|
last_observed_field_hash = excluded.last_observed_field_hash
|
|
40
41
|
`;
|
|
42
|
+
const READ_CONFIRMED_VISIBLE_STATE_SQL = `
|
|
43
|
+
SELECT confirmed_snapshot_hash, confirmed_visible_revision
|
|
44
|
+
FROM sheet_visible_state
|
|
45
|
+
WHERE physical_sheet_id = ? AND projection = ? AND row_binding_id = ?
|
|
46
|
+
`;
|
|
47
|
+
const CONFIRM_SYNTHETIC_VISIBLE_STATE_SQL = `
|
|
48
|
+
UPDATE sheet_visible_state
|
|
49
|
+
SET confirmed_snapshot_hash = ?, confirmed_visible_revision = ?,
|
|
50
|
+
confirmed_entity_revision = ?, last_observed_hash = ?
|
|
51
|
+
WHERE physical_sheet_id = ? AND projection = ? AND row_binding_id = ?
|
|
52
|
+
AND confirmed_visible_revision = ? AND confirmed_snapshot_hash = ?
|
|
53
|
+
`;
|
|
54
|
+
const CONFIRM_OBSERVED_VISIBLE_STATE_SQL = `
|
|
55
|
+
INSERT INTO sheet_visible_state (
|
|
56
|
+
physical_sheet_id, projection, row_binding_id, confirmed_snapshot_hash,
|
|
57
|
+
confirmed_visible_revision, confirmed_entity_revision, last_observed_hash
|
|
58
|
+
) VALUES (?, ?, ?, ?, ?, ?, ?)
|
|
59
|
+
ON CONFLICT(physical_sheet_id, projection, row_binding_id)
|
|
60
|
+
DO UPDATE SET
|
|
61
|
+
confirmed_snapshot_hash = excluded.confirmed_snapshot_hash,
|
|
62
|
+
confirmed_visible_revision = excluded.confirmed_visible_revision,
|
|
63
|
+
confirmed_entity_revision = excluded.confirmed_entity_revision,
|
|
64
|
+
last_observed_hash = excluded.last_observed_hash
|
|
65
|
+
WHERE sheet_visible_state.confirmed_visible_revision <= excluded.confirmed_visible_revision
|
|
66
|
+
`;
|
|
67
|
+
const CONFIRM_OBSERVED_VISIBLE_FIELD_STATE_SQL = `
|
|
68
|
+
INSERT INTO sheet_visible_field_state (
|
|
69
|
+
physical_sheet_id, projection, row_binding_id, field_name,
|
|
70
|
+
confirmed_field_hash, confirmed_visible_revision, candidate_epoch,
|
|
71
|
+
last_observed_field_hash
|
|
72
|
+
) VALUES (?, ?, ?, ?, ?, ?, 0, ?)
|
|
73
|
+
ON CONFLICT(physical_sheet_id, projection, row_binding_id, field_name)
|
|
74
|
+
DO UPDATE SET
|
|
75
|
+
confirmed_field_hash = excluded.confirmed_field_hash,
|
|
76
|
+
confirmed_visible_revision = excluded.confirmed_visible_revision,
|
|
77
|
+
last_observed_field_hash = excluded.last_observed_field_hash
|
|
78
|
+
WHERE sheet_visible_field_state.confirmed_visible_revision <= excluded.confirmed_visible_revision
|
|
79
|
+
`;
|
|
41
80
|
const ADVANCE_ROW_BINDING_CANDIDATE_EPOCH_SQL = `
|
|
42
81
|
UPDATE row_binding
|
|
43
82
|
SET candidate_epoch = CASE
|
|
@@ -128,6 +167,75 @@ export async function applyCanonicalMutationWithSql(sql, fence, input, row, bind
|
|
|
128
167
|
await rebaseActiveConflictsWithSql(sql, input, row, mutation, result);
|
|
129
168
|
return { kind: PRESENCE_KINDS.PRESENT, value: result };
|
|
130
169
|
}
|
|
170
|
+
/** Rejects synthetic evidence when the exact baseline read by polling changed. */
|
|
171
|
+
export async function assertObservedProjectionBaselineWithSql(sql, input, row) {
|
|
172
|
+
const evidence = input.observedProjection;
|
|
173
|
+
if (evidence?.source !== OBSERVED_PROJECTION_EVIDENCE_SOURCES.SYNTHETIC ||
|
|
174
|
+
evidence.baseline === undefined)
|
|
175
|
+
return;
|
|
176
|
+
const current = await sql.get(READ_CONFIRMED_VISIBLE_STATE_SQL, [
|
|
177
|
+
input.physicalSheetId,
|
|
178
|
+
input.batch.projection,
|
|
179
|
+
row.rowBindingId,
|
|
180
|
+
]);
|
|
181
|
+
if (current === undefined ||
|
|
182
|
+
current.confirmed_visible_revision !== evidence.baseline.visibleRevision ||
|
|
183
|
+
current.confirmed_snapshot_hash !== evidence.baseline.visibleHash) {
|
|
184
|
+
throw new CanonicalStaleError();
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Advances the confirmed visible baseline after an accepted observation.
|
|
189
|
+
*
|
|
190
|
+
* Without this confirmation, the next User_Input edit appears older than the
|
|
191
|
+
* canonical entity revision and is forced into a false conflict. Candidate
|
|
192
|
+
* columns are deliberately preserved; only accepted observed fields advance.
|
|
193
|
+
*/
|
|
194
|
+
export async function confirmObservedProjectionWithSql(sql, input, row, entityRevision) {
|
|
195
|
+
const evidence = input.observedProjection;
|
|
196
|
+
if (evidence === undefined)
|
|
197
|
+
return;
|
|
198
|
+
const rowResult = evidence.source === OBSERVED_PROJECTION_EVIDENCE_SOURCES.SYNTHETIC &&
|
|
199
|
+
evidence.baseline !== undefined
|
|
200
|
+
? await sql.run(CONFIRM_SYNTHETIC_VISIBLE_STATE_SQL, [
|
|
201
|
+
evidence.visibleHash,
|
|
202
|
+
evidence.visibleRevision,
|
|
203
|
+
entityRevision,
|
|
204
|
+
evidence.visibleHash,
|
|
205
|
+
input.physicalSheetId,
|
|
206
|
+
input.batch.projection,
|
|
207
|
+
row.rowBindingId,
|
|
208
|
+
evidence.baseline.visibleRevision,
|
|
209
|
+
evidence.baseline.visibleHash,
|
|
210
|
+
])
|
|
211
|
+
: await sql.run(CONFIRM_OBSERVED_VISIBLE_STATE_SQL, [
|
|
212
|
+
input.physicalSheetId,
|
|
213
|
+
input.batch.projection,
|
|
214
|
+
row.rowBindingId,
|
|
215
|
+
evidence.visibleHash,
|
|
216
|
+
evidence.visibleRevision,
|
|
217
|
+
entityRevision,
|
|
218
|
+
evidence.visibleHash,
|
|
219
|
+
]);
|
|
220
|
+
if (rowResult.changes !== 1)
|
|
221
|
+
return;
|
|
222
|
+
const acceptedFields = new Set(input.evaluation.acceptedFields.map((field) => field.fieldName));
|
|
223
|
+
for (const field of row.fields) {
|
|
224
|
+
if (!acceptedFields.has(field.fieldName))
|
|
225
|
+
continue;
|
|
226
|
+
const fieldResult = await sql.run(CONFIRM_OBSERVED_VISIBLE_FIELD_STATE_SQL, [
|
|
227
|
+
input.physicalSheetId,
|
|
228
|
+
input.batch.projection,
|
|
229
|
+
row.rowBindingId,
|
|
230
|
+
field.fieldName,
|
|
231
|
+
stableHash(field.nextValue),
|
|
232
|
+
evidence.visibleRevision,
|
|
233
|
+
stableHash(field.nextValue),
|
|
234
|
+
]);
|
|
235
|
+
if (fieldResult.changes !== 1)
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
131
239
|
/** Writes new field candidates through the active async SQL transaction. */
|
|
132
240
|
export async function persistConflictAttemptsWithSql(sql, input, row, binding, eventId) {
|
|
133
241
|
if (input.evaluation.conflicts.length === EMPTY_ARRAY_LENGTH_ZERO)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observationCanonical.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationCanonical.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,UAAU,GAKX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,GACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EACL,uBAAuB,EACvB,gCAAgC,GACjC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EACL,6BAA6B,EAC7B,6BAA6B,GAE9B,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EACL,aAAa,EACb,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAOhC,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5E,MAAM,uBAAuB,GAAG,CAAC,CAAC;AAClC,MAAM,kBAAkB,GAAG,WAAoB,CAAC;AAEhD,MAAM,wBAAwB,GAAG;;;;;;yDAMwB,iBAAiB,CAAC,IAAI;CAC9E,CAAC;AAEF,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;CAatC,CAAC;AAEF,MAAM,uCAAuC,GAAG;;;;;;;CAO/C,CAAC;AAEF,MAAM,iCAAiC,GAAG;;gCAEV,kBAAkB,CAAC,MAAM;;mBAEtC,kBAAkB,CAAC,SAAS;CAC9C,CAAC;AAEF,MAAM,iCAAiC,GAAG;;iBAEzB,kBAAkB,CAAC,UAAU;;mBAE3B,kBAAkB,CAAC,MAAM;CAC3C,CAAC;AAEF,MAAM,mCAAmC,GAAG;;;;CAI3C,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;CAK/B,CAAC;AAEF,MAAM,4BAA4B,GAAG;;;;CAIpC,CAAC;AAEF,MAAM,8BAA8B,GAAG;;;;CAItC,CAAC;AAEF,MAAM,0BAA0B,GAAG;;;kBAGjB,iBAAiB,CAAC,YAAY;;sBAE1B,iBAAiB,CAAC,IAAI,OAAO,iBAAiB,CAAC,YAAY;CAChF,CAAC;AAEF,MAAM,4BAA4B,GAAG;;;;CAIpC,CAAC;AAYF,sFAAsF;AACtF,SAAS,cAAc,CACrB,OAAe,EACf,YAAoB,EACpB,SAAiB,EACjB,cAAsB;IAEtB,OAAO,GAAG,kBAAkB,GAAG,UAAU,CAAC;QACxC,OAAO;QACP,YAAY;QACZ,SAAS;QACT,cAAc;KACf,CAAC,EAAE,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,GAAgB,EAChB,KAAqB,EACrB,KAA8B,EAC9B,GAAsB,EACtB,OAAsB;IAEtB,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAC/D,CAAC,GAAG,CAAC,SAAS,KAAK,cAAc,CAAC,MAAM;YACtC,KAAK,CAAC,UAAU,CAAC,OAAO,KAAK,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,cAAc;QAAE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC;IAE5D,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;QACnD,MAAM,IAAI,YAAY,CACpB,mBAAmB,CAAC,yBAAyB,EAC7C,iDAAiD,CAClD,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC;IACvC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,6BAA6B,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAChF,IAAI,MAAM,CAAC,IAAI,KAAK,6BAA6B,CAAC,UAAU;QAAE,MAAM,IAAI,cAAc,EAAE,CAAC;IACzF,IAAI,MAAM,CAAC,IAAI,KAAK,6BAA6B,CAAC,KAAK;QAAE,MAAM,IAAI,mBAAmB,EAAE,CAAC;IACzF,IAAI,MAAM,CAAC,IAAI,KAAK,6BAA6B,CAAC,OAAO,EAAE,CAAC;QAC1D,MAAM,IAAI,YAAY,CACpB,mBAAmB,CAAC,yBAAyB,EAC7C,mCAAmC,MAAM,CAAC,MAAM,EAAE,CACnD,CAAC;IACJ,CAAC;IAED,MAAM,4CAA4C,CAChD,GAAG,EACH,KAAK,CAAC,KAAK,CAAC,OAAO,EACnB,GAAG,CAAC,YAAY,EAChB,QAAQ,CAAC,MAAM,CAChB,CAAC;IACF,MAAM,8BAA8B,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACzE,MAAM,4BAA4B,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtE,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACzD,CAAC;AAED,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,GAAgB,EAChB,KAA8B,EAC9B,GAAsB,EACtB,OAAsB,EACtB,OAAe;IAEf,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,uBAAuB;QAAE,OAAO,EAAE,CAAC;IAC7E,IACE,OAAO,CAAC,KAAK,KAAK,kBAAkB,CAAC,MAAM;QAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO,EACjD,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,mBAAmB,CAAC,gCAAgC,EACpD,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,eAAe,GAAqB,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAC7E,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,kBAAkB,OAAO,EAAE,EAAE;QACtE,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC;IACpC,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAC7C,GAAG,EACH,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,KAAK,CAAC,UAAU,EACtB,GAAG,CAAC,YAAY,EAChB,QAAQ,CAAC,SAAS,CACnB,CAAC;QACF,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrC,IACE,MAAM,CAAC,IAAI,KAAK,mBAAmB,CAAC,KAAK;YACzC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,IAAI;gBAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,YAAY,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,IAAI,EAC3C,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAC5B,MAAM,CAAC,IAAI,KAAK,mBAAmB,CAAC,KAAK;YACvC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe;YAC9B,CAAC,CAAC,uBAAuB,EAC3B,MAAM,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,CAC1E,CAAC;QACF,MAAM,cAAc,GAAG,aAAa,GAAG,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,cAAc,CAC/B,OAAO,EACP,GAAG,CAAC,YAAY,EAChB,QAAQ,CAAC,SAAS,EAClB,cAAc,CACf,CAAC;QACF,MAAM,GAAG,CAAC,GAAG,CAAC,wBAAwB,EAAE;YACtC,UAAU;YACV,aAAa,CAAC,eAAe,CAAC;YAC9B,OAAO;YACP,KAAK,CAAC,KAAK,CAAC,OAAO;YACnB,OAAO,CAAC,SAAS,CAAC,KAAK;YACvB,GAAG,CAAC,YAAY;YAChB,QAAQ,CAAC,SAAS;YAClB,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;YAC7B,QAAQ,CAAC,gBAAgB;YACzB,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC;YAClC,QAAQ,CAAC,iBAAiB;YAC1B,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC;YAClC,QAAQ,CAAC,iBAAiB;YAC1B,cAAc;YACd,KAAK,CAAC,WAAW,CAAC,UAAU;YAC5B,KAAK,CAAC,WAAW,CAAC,UAAU;SAC7B,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE;YAC5C,KAAK,CAAC,eAAe;YACrB,KAAK,CAAC,KAAK,CAAC,UAAU;YACtB,GAAG,CAAC,YAAY;YAChB,QAAQ,CAAC,SAAS;YAClB,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;YACnC,GAAG,CAAC,mBAAmB;YACvB,UAAU;YACV,IAAI;YACJ,cAAc;YACd,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;SAC/B,CAAC,CAAC;QACH,MAAM,GAAG,CAAC,GAAG,CAAC,uCAAuC,EAAE;YACrD,cAAc;YACd,cAAc;YACd,GAAG,CAAC,YAAY;YAChB,KAAK,CAAC,KAAK,CAAC,OAAO;SACpB,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,uBAAuB,CACrC,UAA+B;IAE/B,IAAI,UAAU,CAAC,OAAO,KAAK,YAAY,CAAC,UAAU,EAAE,CAAC;QACnD,MAAM,IAAI,YAAY,CACpB,mBAAmB,CAAC,yBAAyB,EAC7C,mEAAmE,CACpE,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC,OAAO,CAAC;AAC5B,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAsB,EAAE,MAA4B;IAClF,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1C,IACE,OAAO,CAAC,KAAK,KAAK,kBAAkB,CAAC,SAAS;YAC9C,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM,EAChD,CAAC;YACD,MAAM,IAAI,mBAAmB,EAAE,CAAC;QAClC,CAAC;QACD,OAAO;IACT,CAAC;IACD,IACE,OAAO,CAAC,KAAK,KAAK,kBAAkB,CAAC,MAAM;QAC3C,OAAO,CAAC,SAAS,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;QACjD,OAAO,CAAC,SAAS,CAAC,KAAK,KAAK,MAAM,CAAC,QAAQ,EAC3C,CAAC;QACD,MAAM,IAAI,mBAAmB,EAAE,CAAC;IAClC,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,KAAK,UAAU,4CAA4C,CACzD,GAAgB,EAChB,cAAsB,EACtB,YAAoB,EACpB,MAA4B;IAE5B,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM;QAAE,OAAO;IAClD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM;QAClD,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QACnG,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,iCAAiC,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtG,IAAI,MAAM,CAAC,OAAO,KAAK,gCAAgC,EAAE,CAAC;QACxD,MAAM,IAAI,mBAAmB,EAAE,CAAC;IAClC,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,KAAK,UAAU,8BAA8B,CAC3C,GAAgB,EAChB,cAAsB,EACtB,QAA8B;IAE9B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;QAC1C,MAAM,GAAG,CAAC,GAAG,CAAC,mCAAmC,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QACjD,IACE,MAAM,CAAC,qBAAqB,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;YAC5D,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM;gBACtD,MAAM,CAAC,qBAAqB,CAAC,KAAK,KAAK,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,EACxE,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,uBAAuB,EAAE;gBACrD,cAAc;gBACd,MAAM,CAAC,SAAS;gBAChB,MAAM,CAAC,qBAAqB,CAAC,KAAK;gBAClC,MAAM,CAAC,QAAQ;aAChB,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,OAAO,KAAK,gCAAgC,EAAE,CAAC;gBACzD,MAAM,IAAI,mBAAmB,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,iBAAiB,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,8BAA8B,CAClC,GAAG,EACH,cAAc,EACd,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAC9B,MAAM,CAAC,QAAQ,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,yFAAyF;AACzF,KAAK,UAAU,8BAA8B,CAC3C,GAAgB,EAChB,cAAsB,EACtB,SAAiB,EACjB,aAAqB,EACrB,QAAgB;IAEhB,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,GAAG,CAAuB,4BAA4B,EAAE;QACjF,cAAc;QACd,SAAS;QACT,aAAa;KACd,CAAC,CAAC;IACH,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,SAAS,KAAK,QAAQ;YAAE,MAAM,IAAI,mBAAmB,EAAE,CAAC;QACrE,OAAO;IACT,CAAC;IACD,MAAM,GAAG,CAAC,GAAG,CAAC,8BAA8B,EAAE;QAC5C,cAAc;QACd,SAAS;QACT,aAAa;QACb,QAAQ;KACT,CAAC,CAAC;AACL,CAAC;AAED,6FAA6F;AAC7F,KAAK,UAAU,4BAA4B,CACzC,GAAgB,EAChB,KAA8B,EAC9B,GAAsB,EACtB,QAA8B,EAC9B,MAA8B;IAE9B,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,MAAM;QAAE,OAAO;IAC3D,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,YAAY,KAAK,SAAS;YAAE,SAAS;QACzC,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAC7C,GAAG,EACH,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,KAAK,CAAC,UAAU,EACtB,GAAG,CAAC,YAAY,EAChB,KAAK,CAAC,SAAS,CAChB,CAAC;QACF,IACE,MAAM,CAAC,IAAI,KAAK,mBAAmB,CAAC,SAAS;YAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,iBAAiB,CAAC,QAAQ;YAClD,SAAS;QACX,MAAM,GAAG,CAAC,GAAG,CAAC,0BAA0B,EAAE;YACxC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;YACtB,YAAY;YACZ,QAAQ,CAAC,QAAQ;YACjB,KAAK,CAAC,WAAW,CAAC,UAAU;YAC5B,MAAM,CAAC,KAAK,CAAC,4BAA4B;SAC1C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,2FAA2F;AAC3F,KAAK,UAAU,wBAAwB,CACrC,GAAgB,EAChB,YAAoB,EACpB,SAAiB;IAEjB,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAuB,4BAA4B,EAAE;QAC5E,YAAY;QACZ,SAAS;KACV,CAAC,CAAC;IACH,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,IAAI,YAAY,CACpB,mBAAmB,CAAC,gCAAgC,EACpD,iDAAiD,CAClD,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;QAC7C,CAAC,CAAC,QAAQ,CAAC,KAAK;QAChB,CAAC,CAAC,uBAAuB,CAAC;AAC9B,CAAC"}
|
|
1
|
+
{"version":3,"file":"observationCanonical.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationCanonical.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,45 @@
|
|
|
1
1
|
/** Quarantine persistence for invalid or unresolvable observed rows. */
|
|
2
|
-
import { type ObservedRowChange, type Presence, type QuarantinePlan } from "../../../../domain/index.js";
|
|
2
|
+
import { type ObservedRowChange, type Presence, type QuarantinePlan, type QuarantineReason } from "../../../../domain/index.js";
|
|
3
3
|
import type { SqlExecutor } from "../../../../adapter/persistence/contracts/sql.js";
|
|
4
|
+
import { type FencingContext } from "../../sync/shared/writerLease.js";
|
|
4
5
|
import type { ObservationIntegrityDiscriminator } from "./observationConstants.js";
|
|
5
6
|
import type { PersistObservedRowInput } from "./observationTypes.js";
|
|
7
|
+
export declare const POLLING_QUARANTINE_WRITE_RESULT_KINDS: {
|
|
8
|
+
readonly INSERTED: "inserted";
|
|
9
|
+
readonly DUPLICATE: "duplicate";
|
|
10
|
+
readonly FENCED_OUT: "fenced_out";
|
|
11
|
+
};
|
|
12
|
+
export type PollingQuarantineWriteResult = {
|
|
13
|
+
readonly kind: typeof POLLING_QUARANTINE_WRITE_RESULT_KINDS.INSERTED;
|
|
14
|
+
readonly quarantineId: string;
|
|
15
|
+
} | {
|
|
16
|
+
readonly kind: typeof POLLING_QUARANTINE_WRITE_RESULT_KINDS.DUPLICATE;
|
|
17
|
+
readonly quarantineId: string;
|
|
18
|
+
} | {
|
|
19
|
+
readonly kind: typeof POLLING_QUARANTINE_WRITE_RESULT_KINDS.FENCED_OUT;
|
|
20
|
+
};
|
|
6
21
|
/** Persists an integrity quarantine through the active async SQL transaction. */
|
|
7
22
|
export declare function persistIntegrityQuarantineWithSql(sql: SqlExecutor, input: PersistObservedRowInput, row: ObservedRowChange, eventId: Presence<string>, discriminator: ObservationIntegrityDiscriminator): Promise<string>;
|
|
8
23
|
/** Inserts a core-provided quarantine plan through the active async SQL transaction. */
|
|
9
24
|
export declare function persistQuarantineWithSql(sql: SqlExecutor, input: PersistObservedRowInput, quarantine: QuarantinePlan, eventId: Presence<string>): Promise<string>;
|
|
25
|
+
/** Raw invalid polling evidence that cannot enter the evaluator. */
|
|
26
|
+
export interface PollingQuarantineInput {
|
|
27
|
+
readonly logicalSheetId: string;
|
|
28
|
+
readonly physicalSheetId: string;
|
|
29
|
+
readonly rowBindingId: string;
|
|
30
|
+
/** Row-local evidence used for idempotent invalid-row deduplication. */
|
|
31
|
+
readonly rowEvidenceHash: string;
|
|
32
|
+
readonly reason: QuarantineReason;
|
|
33
|
+
readonly beforeRowJson: string | null;
|
|
34
|
+
readonly afterRowJson: string | null;
|
|
35
|
+
readonly fieldsJson: string;
|
|
36
|
+
readonly payloadJson: string;
|
|
37
|
+
readonly detectedAt: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Persists invalid polling evidence without pretending that it was an entity
|
|
41
|
+
* event. This path is fenced like normal observation writes but has no event
|
|
42
|
+
* identity or canonical mutation because the row never passed normalization.
|
|
43
|
+
*/
|
|
44
|
+
export declare function persistPollingQuarantineWithSql(sql: SqlExecutor, fence: FencingContext, input: PollingQuarantineInput): Promise<PollingQuarantineWriteResult>;
|
|
10
45
|
//# sourceMappingURL=observationQuarantine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observationQuarantine.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"observationQuarantine.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AAQrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAqBrE,eAAO,MAAM,qCAAqC;;;;CAIxC,CAAC;AAEX,MAAM,MAAM,4BAA4B,GACpC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,QAAQ,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACvG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,SAAS,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,UAAU,CAAA;CAAE,CAAC;AAE/E,iFAAiF;AACjF,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,uBAAuB,EAC9B,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,aAAa,EAAE,iCAAiC,GAC/C,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wFAAwF;AACxF,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,uBAAuB,EAC9B,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED,oEAAoE;AACpE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,4BAA4B,CAAC,CAkCvC"}
|
|
@@ -3,6 +3,7 @@ import { stableHash, } from "../../../../domain/index.js";
|
|
|
3
3
|
import { QUARANTINE_ID_PREFIX, QUARANTINE_REPAIR_STATUSES, ROW_OUTCOMES, } from "../../../../domain/evaluate/constants.js";
|
|
4
4
|
import { QUARANTINE_REASONS, ROW_OPERATIONS } from "../../../../domain/model/constants.js";
|
|
5
5
|
import { toSqlNullable } from "../../sqlite/sqlState.js";
|
|
6
|
+
import { FENCE_EXISTS_SQL, fenceParameters, isFencingValidWithSql, } from "../../sync/shared/writerLease.js";
|
|
6
7
|
import { auditJson } from "./observationAudit.js";
|
|
7
8
|
const INSERT_QUARANTINE_RECORD_SQL = `
|
|
8
9
|
INSERT INTO quarantine_record (
|
|
@@ -12,6 +13,20 @@ const INSERT_QUARANTINE_RECORD_SQL = `
|
|
|
12
13
|
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
|
|
13
14
|
ON CONFLICT(quarantine_id) DO NOTHING
|
|
14
15
|
`;
|
|
16
|
+
const INSERT_POLLING_QUARANTINE_RECORD_SQL = `
|
|
17
|
+
INSERT INTO quarantine_record (
|
|
18
|
+
quarantine_id, event_id, observation_id, logical_sheet_id, row_binding_id,
|
|
19
|
+
reason, before_row_json, after_row_json, fields_json, repair_fields_json,
|
|
20
|
+
repair_state, candidate_payload_json, created_at, updated_at
|
|
21
|
+
) SELECT ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
|
|
22
|
+
WHERE EXISTS (${FENCE_EXISTS_SQL})
|
|
23
|
+
ON CONFLICT(quarantine_id) DO NOTHING
|
|
24
|
+
`;
|
|
25
|
+
export const POLLING_QUARANTINE_WRITE_RESULT_KINDS = {
|
|
26
|
+
INSERTED: "inserted",
|
|
27
|
+
DUPLICATE: "duplicate",
|
|
28
|
+
FENCED_OUT: "fenced_out",
|
|
29
|
+
};
|
|
15
30
|
/** Persists an integrity quarantine through the active async SQL transaction. */
|
|
16
31
|
export async function persistIntegrityQuarantineWithSql(sql, input, row, eventId, discriminator) {
|
|
17
32
|
const quarantine = makeIntegrityQuarantine(input, row, discriminator);
|
|
@@ -47,6 +62,46 @@ export async function persistQuarantineWithSql(sql, input, quarantine, eventId)
|
|
|
47
62
|
]);
|
|
48
63
|
return quarantine.quarantineId;
|
|
49
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Persists invalid polling evidence without pretending that it was an entity
|
|
67
|
+
* event. This path is fenced like normal observation writes but has no event
|
|
68
|
+
* identity or canonical mutation because the row never passed normalization.
|
|
69
|
+
*/
|
|
70
|
+
export async function persistPollingQuarantineWithSql(sql, fence, input) {
|
|
71
|
+
if (!(await isFencingValidWithSql(sql, fence))) {
|
|
72
|
+
return { kind: POLLING_QUARANTINE_WRITE_RESULT_KINDS.FENCED_OUT };
|
|
73
|
+
}
|
|
74
|
+
const quarantineId = `${QUARANTINE_ID_PREFIX}${stableHash({
|
|
75
|
+
logicalSheetId: input.logicalSheetId,
|
|
76
|
+
physicalSheetId: input.physicalSheetId,
|
|
77
|
+
rowBindingId: input.rowBindingId,
|
|
78
|
+
rowEvidenceHash: input.rowEvidenceHash,
|
|
79
|
+
reason: input.reason,
|
|
80
|
+
})}`;
|
|
81
|
+
const result = await sql.run(INSERT_POLLING_QUARANTINE_RECORD_SQL, [
|
|
82
|
+
quarantineId,
|
|
83
|
+
null,
|
|
84
|
+
null,
|
|
85
|
+
input.logicalSheetId,
|
|
86
|
+
input.rowBindingId,
|
|
87
|
+
input.reason,
|
|
88
|
+
input.beforeRowJson,
|
|
89
|
+
input.afterRowJson,
|
|
90
|
+
input.fieldsJson,
|
|
91
|
+
"[]",
|
|
92
|
+
null,
|
|
93
|
+
input.payloadJson,
|
|
94
|
+
input.detectedAt,
|
|
95
|
+
input.detectedAt,
|
|
96
|
+
...fenceParameters(fence),
|
|
97
|
+
]);
|
|
98
|
+
if (result.changes === 1) {
|
|
99
|
+
return { kind: POLLING_QUARANTINE_WRITE_RESULT_KINDS.INSERTED, quarantineId };
|
|
100
|
+
}
|
|
101
|
+
return (await isFencingValidWithSql(sql, fence))
|
|
102
|
+
? { kind: POLLING_QUARANTINE_WRITE_RESULT_KINDS.DUPLICATE, quarantineId }
|
|
103
|
+
: { kind: POLLING_QUARANTINE_WRITE_RESULT_KINDS.FENCED_OUT };
|
|
104
|
+
}
|
|
50
105
|
/** Builds an operation-specific quarantine plan for an identity collision. */
|
|
51
106
|
function makeIntegrityQuarantine(input, row, discriminator) {
|
|
52
107
|
const common = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observationQuarantine.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,OAAO,EACL,UAAU,
|
|
1
|
+
{"version":3,"file":"observationQuarantine.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,10 +41,32 @@ export interface CanonicalRowMutation {
|
|
|
41
41
|
readonly commit: CanonicalCommitInput;
|
|
42
42
|
readonly businessKeyChanges: readonly BusinessKeyChange[];
|
|
43
43
|
}
|
|
44
|
+
/** Remote visible-state evidence captured with one observed row. */
|
|
45
|
+
export declare const OBSERVED_PROJECTION_EVIDENCE_SOURCES: {
|
|
46
|
+
readonly REMOTE: "remote";
|
|
47
|
+
readonly SYNTHETIC: "synthetic";
|
|
48
|
+
};
|
|
49
|
+
export type ObservedProjectionEvidenceSource = (typeof OBSERVED_PROJECTION_EVIDENCE_SOURCES)[keyof typeof OBSERVED_PROJECTION_EVIDENCE_SOURCES];
|
|
50
|
+
export interface ObservedProjectionBaseline {
|
|
51
|
+
readonly visibleRevision: number;
|
|
52
|
+
readonly visibleHash: string;
|
|
53
|
+
}
|
|
54
|
+
export interface ObservedProjectionEvidence {
|
|
55
|
+
/** Remote row revision, or the next monotonic local revision when unavailable. */
|
|
56
|
+
readonly visibleRevision: number;
|
|
57
|
+
/** Stable hash of the complete visible row returned by the gateway. */
|
|
58
|
+
readonly visibleHash: string;
|
|
59
|
+
/** Legacy callers omit this and retain the original monotonic behavior. */
|
|
60
|
+
readonly source?: ObservedProjectionEvidenceSource;
|
|
61
|
+
/** Exact prior baseline required before accepting synthetic evidence. */
|
|
62
|
+
readonly baseline?: ObservedProjectionBaseline;
|
|
63
|
+
}
|
|
44
64
|
/** Input for exactly one row of an observed batch. */
|
|
45
65
|
export interface PersistObservedRowInput {
|
|
46
66
|
readonly physicalSheetId: string;
|
|
47
67
|
readonly batch: ObservedEditBatch;
|
|
68
|
+
/** Optional for legacy callers that do not have visible revision evidence. */
|
|
69
|
+
readonly observedProjection?: ObservedProjectionEvidence;
|
|
48
70
|
readonly rowIndex: number;
|
|
49
71
|
readonly observation: ObservationAttemptInput;
|
|
50
72
|
readonly event: Presence<EventIdentityInput>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observationTypes.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"observationTypes.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
* The input is already normalized and evaluated by pure core. Storage owns
|
|
5
5
|
* only idempotent receipts, canonical commits, conflict records, and effects.
|
|
6
6
|
*/
|
|
7
|
+
/** Remote visible-state evidence captured with one observed row. */
|
|
8
|
+
export const OBSERVED_PROJECTION_EVIDENCE_SOURCES = {
|
|
9
|
+
REMOTE: "remote",
|
|
10
|
+
SYNTHETIC: "synthetic",
|
|
11
|
+
};
|
|
7
12
|
/** Signals that the writer lease changed inside an outer transaction. */
|
|
8
13
|
export class FenceLostError extends Error {
|
|
9
14
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observationTypes.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"observationTypes.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyDH,oEAAoE;AACpE,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;CACd,CAAC;AAgGX,yEAAyE;AACzE,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AAE5C,oEAAoE;AACpE,MAAM,OAAO,mBAAoB,SAAQ,KAAK;CAAG"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import type { ObservedEditBatch } from "../../../../domain/index.js";
|
|
8
8
|
import type { NewEffect } from "../../sync/outbound/effectOutbox.js";
|
|
9
9
|
import type { SqlExecutor } from "../../../../adapter/persistence/contracts/sql.js";
|
|
10
|
-
import type
|
|
10
|
+
import { type PersistObservedRowInput } from "./observationTypes.js";
|
|
11
11
|
/** Validates one complete writer submission before durable mutation begins. */
|
|
12
12
|
export declare function validatePersistObservedRowInput(input: PersistObservedRowInput): void;
|
|
13
13
|
/** Requires a valid row index and returns its observed row. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observationValidation.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationValidation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAUrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"observationValidation.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationValidation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAUrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAwB/B,+EAA+E;AAC/E,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,CA8FpF;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,2DAezE;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,iBAAiB,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED,oFAAoF;AACpF,wBAAsB,oCAAoC,CACxD,GAAG,EAAE,WAAW,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,SAAS,SAAS,EAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CAiBf"}
|
|
@@ -10,6 +10,7 @@ import { ROW_OUTCOMES } from "../../../../domain/evaluate/constants.js";
|
|
|
10
10
|
import { ROW_OPERATIONS } from "../../../../domain/model/constants.js";
|
|
11
11
|
import { EMPTY_STRING_LENGTH_ZERO } from "../../constants.js";
|
|
12
12
|
import { STORAGE_ERROR_CODES, StorageError } from "../../errors.js";
|
|
13
|
+
import { OBSERVED_PROJECTION_EVIDENCE_SOURCES, } from "./observationTypes.js";
|
|
13
14
|
const READ_REGISTERED_PROJECTION_SQL = `
|
|
14
15
|
SELECT logical_sheet_id, projection, enabled
|
|
15
16
|
FROM physical_sheet_registry
|
|
@@ -30,6 +31,31 @@ export function validatePersistObservedRowInput(input) {
|
|
|
30
31
|
input.batch.batchId.length === EMPTY_STRING_LENGTH_ZERO) {
|
|
31
32
|
throw new StorageError(STORAGE_ERROR_CODES.INVALID_OBSERVATION_INPUT, "logical sheet ID and batch ID are required");
|
|
32
33
|
}
|
|
34
|
+
if (input.observedProjection !== undefined) {
|
|
35
|
+
const evidence = input.observedProjection;
|
|
36
|
+
const validSource = evidence.source === undefined ||
|
|
37
|
+
evidence.source === OBSERVED_PROJECTION_EVIDENCE_SOURCES.REMOTE ||
|
|
38
|
+
evidence.source === OBSERVED_PROJECTION_EVIDENCE_SOURCES.SYNTHETIC;
|
|
39
|
+
const validEvidence = Number.isSafeInteger(evidence.visibleRevision) &&
|
|
40
|
+
evidence.visibleRevision >= 0 &&
|
|
41
|
+
evidence.visibleHash.length > EMPTY_STRING_LENGTH_ZERO &&
|
|
42
|
+
validSource;
|
|
43
|
+
const validBaseline = evidence.baseline !== undefined &&
|
|
44
|
+
Number.isSafeInteger(evidence.baseline.visibleRevision) &&
|
|
45
|
+
evidence.baseline.visibleRevision >= 0 &&
|
|
46
|
+
evidence.baseline.visibleHash.length > EMPTY_STRING_LENGTH_ZERO;
|
|
47
|
+
const baselineMatchesRow = evidence.source !== OBSERVED_PROJECTION_EVIDENCE_SOURCES.SYNTHETIC || (evidence.baseline !== undefined &&
|
|
48
|
+
row.baseVisibleHash !== undefined &&
|
|
49
|
+
evidence.baseline.visibleRevision === row.baseVisibleRevision &&
|
|
50
|
+
evidence.baseline.visibleHash === row.baseVisibleHash);
|
|
51
|
+
if (!validEvidence ||
|
|
52
|
+
(evidence.source === OBSERVED_PROJECTION_EVIDENCE_SOURCES.SYNTHETIC
|
|
53
|
+
? !validBaseline
|
|
54
|
+
: evidence.baseline !== undefined && !validBaseline) ||
|
|
55
|
+
!baselineMatchesRow) {
|
|
56
|
+
throw new StorageError(STORAGE_ERROR_CODES.INVALID_OBSERVATION_INPUT, "observed projection evidence must contain valid revision, hash, and baseline data");
|
|
57
|
+
}
|
|
58
|
+
}
|
|
33
59
|
if (input.evaluation.rowBindingId !== row.rowBindingId) {
|
|
34
60
|
throw new StorageError(STORAGE_ERROR_CODES.INVALID_OBSERVATION_INPUT, "evaluation row binding does not match the observed row");
|
|
35
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observationValidation.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationValidation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,EACL,mBAAmB,EACnB,cAAc,GACf,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"observationValidation.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
import { type FencingContext } from "../../sync/shared/writerLease.js";
|
|
9
9
|
import { type PersistObservedRowInput, type PersistObservedRowResult } from "./observationTypes.js";
|
|
10
10
|
import type { SqlExecutor, SqlStorageAdapter } from "../../../../adapter/persistence/contracts/sql.js";
|
|
11
|
-
export type { ObservationAttemptInput, EventIdentityInput, BusinessKeyChange, CanonicalRowMutation, PersistObservedRowInput, PersistObservedRowResult, } from "./observationTypes.js";
|
|
11
|
+
export type { ObservationAttemptInput, EventIdentityInput, BusinessKeyChange, CanonicalRowMutation, ObservedProjectionEvidence, PersistObservedRowInput, PersistObservedRowResult, } from "./observationTypes.js";
|
|
12
12
|
/**
|
|
13
13
|
* Persists one normalized row outcome inside an already-active async SQL
|
|
14
14
|
* transaction. It lets the caller keep a user entity mutation and its sync
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observationWriter.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationWriter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"observationWriter.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationWriter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AA4B1C,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC9B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAUvG,YAAY,EACV,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAiOnC;AAED,iEAAiE;AACjE,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAEnC"}
|
|
@@ -12,7 +12,7 @@ import { STORAGE_ERROR_CODES, StorageError } from "../../errors.js";
|
|
|
12
12
|
import { appendPendingEffectsWithSql } from "../../sync/outbound/effectOutbox.js";
|
|
13
13
|
import { withSqlSavepoint } from "../../sqlite/sqlTransaction.js";
|
|
14
14
|
import { isFencingValidWithSql, } from "../../sync/shared/writerLease.js";
|
|
15
|
-
import { applyCanonicalMutationWithSql, persistConflictAttemptsWithSql, requirePersistedOutcome, } from "./observationCanonical.js";
|
|
15
|
+
import { applyCanonicalMutationWithSql, assertObservedProjectionBaselineWithSql, confirmObservedProjectionWithSql, persistConflictAttemptsWithSql, requirePersistedOutcome, } from "./observationCanonical.js";
|
|
16
16
|
import { appendObservationWithSql, completeObservationWithSql, createEventWithSql, findEventByKeyWithSql, findMatchingCandidateEventIdWithSql, persistObservedHashesWithSql, requireKnownBindingWithSql, } from "./observationLedger.js";
|
|
17
17
|
import { persistIntegrityQuarantineWithSql, persistQuarantineWithSql, } from "./observationQuarantine.js";
|
|
18
18
|
import { OBSERVATION_APPEND_RESULT_KINDS, OBSERVATION_COMPLETION_STATES, OBSERVATION_DUPLICATE_REASONS, OBSERVATION_INTEGRITY_DISCRIMINATORS, OBSERVATION_WRITE_RESULT_KINDS, } from "./observationConstants.js";
|
|
@@ -95,8 +95,12 @@ export async function persistObservedRowWithSql(sql, fence, input) {
|
|
|
95
95
|
const quarantineId = await persistQuarantineWithSql(sql, input, input.evaluation.quarantine, presentEventId(createdEvent.eventId));
|
|
96
96
|
return completeQuarantineWithSql(sql, fence, input, quarantineId, presentEventId(createdEvent.eventId), input.effects);
|
|
97
97
|
}
|
|
98
|
+
await assertObservedProjectionBaselineWithSql(sql, input, row);
|
|
98
99
|
const canonicalResult = await applyCanonicalMutationWithSql(sql, fence, input, row, binding);
|
|
99
100
|
const conflictIds = await persistConflictAttemptsWithSql(sql, input, row, binding, createdEvent.eventId);
|
|
101
|
+
if (canonicalResult.kind === PRESENCE_KINDS.PRESENT) {
|
|
102
|
+
await confirmObservedProjectionWithSql(sql, input, row, canonicalResult.value.entityRevision);
|
|
103
|
+
}
|
|
100
104
|
await appendAdditionalEffectsOrThrowWithSql(sql, fence, input.effects);
|
|
101
105
|
const eventStatus = input.evaluation.conflicts.length === EMPTY_ARRAY_LENGTH_ZERO
|
|
102
106
|
? ROW_OUTCOMES.ACCEPTED
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observationWriter.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationWriter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,GAGf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,0CAA0C,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAElF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,qBAAqB,GAEtB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,qBAAqB,EACrB,mCAAmC,EACnC,4BAA4B,EAC5B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,iCAAiC,EACjC,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,+BAA+B,EAC/B,6BAA6B,EAC7B,6BAA6B,EAC7B,oCAAoC,EACpC,8BAA8B,GAC/B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,mBAAmB,EACnB,cAAc,GAGf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,oCAAoC,EACpC,iCAAiC,EACjC,eAAe,EACf,+BAA+B,GAChC,MAAM,4BAA4B,CAAC;AAGpC,MAAM,uBAAuB,GAAG;;;;CAI/B,CAAC;AAEF,MAAM,eAAe,GAAqB,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"observationWriter.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationWriter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolutionWriter.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/resolution/resolutionWriter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"resolutionWriter.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/resolution/resolutionWriter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAqBH,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAKvG,OAAO,KAAK,EAKV,6BAA6B,EAC7B,8BAA8B,EAE/B,MAAM,gCAAgC,CAAC;AAuBxC,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,gCAAgC,CAAC;AAExC;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CA8EzC;AAED,uEAAuE;AACvE,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CAEzC"}
|
|
@@ -11,11 +11,12 @@ import { CONFLICT_TRANSITION_KINDS } from "../../../../domain/conflict/transitio
|
|
|
11
11
|
import { LOOKUP_RESULT_KINDS, PRESENCE_KINDS, } from "../../../../shared/state/constants.js";
|
|
12
12
|
import { STORAGE_ERROR_CODES, StorageError } from "../../errors.js";
|
|
13
13
|
import { appendPendingEffectsWithSql, } from "../../sync/outbound/effectOutbox.js";
|
|
14
|
+
import { fromSqlNullable } from "../../sqlite/sqlState.js";
|
|
14
15
|
import { withSqlSavepoint } from "../../sqlite/sqlTransaction.js";
|
|
15
|
-
import { isFencingValidWithSql, } from "../../sync/shared/writerLease.js";
|
|
16
|
+
import { fenceParameters, isFencingValidWithSql, } from "../../sync/shared/writerLease.js";
|
|
16
17
|
import { PERSIST_RESOLUTION_RESULT_KINDS, RESOLUTION_COMMAND_STATUSES, } from "./resolutionWriterContracts.js";
|
|
17
18
|
import { ADVANCE_ROW_BINDING_CANDIDATE_EPOCH_SQL, CLEAR_ACTIVE_CANDIDATE_POINTER_SQL, FIND_EXISTING_COMMAND_SQL, INSERT_PROCESSING_COMMAND_SQL, MARK_COMMAND_APPLIED_SQL, MARK_COMMAND_REJECTED_SQL, MARK_COMMAND_STALE_SQL, MARK_CONFLICT_RESOLVED_SQL, MARK_CONFLICT_STALE_SQL, READ_ACTIVE_CANDIDATE_POINTER_SQL, READ_CONFLICT_SQL, READ_EFFECT_DEDUPE_SQL, READ_REGISTERED_PROJECTION_SQL, } from "./resolutionWriterSql.js";
|
|
18
|
-
import { assertCurrentFenceWithSql, FenceLostError,
|
|
19
|
+
import { assertCurrentFenceWithSql, FenceLostError, parseNormalizedCell, requireConflictStatus, } from "./resolutionWriterHelpers.js";
|
|
19
20
|
export { PERSIST_RESOLUTION_RESULT_KINDS, RESOLUTION_COMMAND_STATUSES, } from "./resolutionWriterContracts.js";
|
|
20
21
|
/**
|
|
21
22
|
* Persists one trusted resolution command through an already-active async SQL
|