hikoutei 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.ja.md +135 -0
- package/README.ko.md +138 -0
- package/README.md +143 -0
- package/apps-script/gateway/Code.gs +412 -0
- package/dist/adapter/persistence/contracts/index.d.ts +3 -0
- package/dist/adapter/persistence/contracts/index.d.ts.map +1 -0
- package/dist/adapter/persistence/contracts/index.js +3 -0
- package/dist/adapter/persistence/contracts/index.js.map +1 -0
- package/dist/adapter/persistence/contracts/sql.d.ts +50 -0
- package/dist/adapter/persistence/contracts/sql.d.ts.map +1 -0
- package/dist/adapter/persistence/contracts/sql.js +9 -0
- package/dist/adapter/persistence/contracts/sql.js.map +1 -0
- package/dist/adapter/persistence/index.d.ts +2 -0
- package/dist/adapter/persistence/index.d.ts.map +1 -0
- package/dist/adapter/persistence/index.js +2 -0
- package/dist/adapter/persistence/index.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts +53 -0
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js +105 -0
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +39 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js +54 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts +38 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js +55 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/index.d.ts +16 -0
- package/dist/adapter/persistence/providers/mikro-orm/index.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/index.js +9 -0
- package/dist/adapter/persistence/providers/mikro-orm/index.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts +27 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +67 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.d.ts +19 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.js +67 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts +78 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js +121 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.d.ts +20 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.js +125 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts +42 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.js +51 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts +22 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/index.js +12 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/index.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts +42 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js +161 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts +3 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js +692 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts +29 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js +538 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts +12 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js +190 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts +23 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js +166 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts +50 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js +60 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.d.ts +44 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.js +40 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts +7 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js +47 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.d.ts +5 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js +54 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.d.ts +5 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.js +2 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts +10 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js +35 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts +67 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js +204 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts +78 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js +343 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js.map +1 -0
- package/dist/application/index.d.ts +4 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +4 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/orm/api/TypedSheetsOrm.d.ts +71 -0
- package/dist/application/orm/api/TypedSheetsOrm.d.ts.map +1 -0
- package/dist/application/orm/api/TypedSheetsOrm.js +116 -0
- package/dist/application/orm/api/TypedSheetsOrm.js.map +1 -0
- package/dist/application/orm/api/contracts.d.ts +118 -0
- package/dist/application/orm/api/contracts.d.ts.map +1 -0
- package/dist/application/orm/api/contracts.js +21 -0
- package/dist/application/orm/api/contracts.js.map +1 -0
- package/dist/application/orm/errors.d.ts +35 -0
- package/dist/application/orm/errors.d.ts.map +1 -0
- package/dist/application/orm/errors.js +35 -0
- package/dist/application/orm/errors.js.map +1 -0
- package/dist/application/orm/index.d.ts +13 -0
- package/dist/application/orm/index.d.ts.map +1 -0
- package/dist/application/orm/index.js +7 -0
- package/dist/application/orm/index.js.map +1 -0
- package/dist/application/orm/mapping/contracts.d.ts +113 -0
- package/dist/application/orm/mapping/contracts.d.ts.map +1 -0
- package/dist/application/orm/mapping/contracts.js +8 -0
- package/dist/application/orm/mapping/contracts.js.map +1 -0
- package/dist/application/orm/mapping/definition.d.ts +16 -0
- package/dist/application/orm/mapping/definition.d.ts.map +1 -0
- package/dist/application/orm/mapping/definition.js +145 -0
- package/dist/application/orm/mapping/definition.js.map +1 -0
- package/dist/application/orm/mapping/entityMapping.d.ts +13 -0
- package/dist/application/orm/mapping/entityMapping.d.ts.map +1 -0
- package/dist/application/orm/mapping/entityMapping.js +13 -0
- package/dist/application/orm/mapping/entityMapping.js.map +1 -0
- package/dist/application/orm/mapping/identity.d.ts +14 -0
- package/dist/application/orm/mapping/identity.d.ts.map +1 -0
- package/dist/application/orm/mapping/identity.js +37 -0
- package/dist/application/orm/mapping/identity.js.map +1 -0
- package/dist/application/orm/mapping/observationMapping.d.ts +42 -0
- package/dist/application/orm/mapping/observationMapping.d.ts.map +1 -0
- package/dist/application/orm/mapping/observationMapping.js +65 -0
- package/dist/application/orm/mapping/observationMapping.js.map +1 -0
- package/dist/application/orm/mapping/projection.d.ts +22 -0
- package/dist/application/orm/mapping/projection.d.ts.map +1 -0
- package/dist/application/orm/mapping/projection.js +74 -0
- package/dist/application/orm/mapping/projection.js.map +1 -0
- package/dist/application/orm/mapping/registry.d.ts +15 -0
- package/dist/application/orm/mapping/registry.d.ts.map +1 -0
- package/dist/application/orm/mapping/registry.js +38 -0
- package/dist/application/orm/mapping/registry.js.map +1 -0
- package/dist/application/orm/mapping/values.d.ts +17 -0
- package/dist/application/orm/mapping/values.d.ts.map +1 -0
- package/dist/application/orm/mapping/values.js +141 -0
- package/dist/application/orm/mapping/values.js.map +1 -0
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +28 -0
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -0
- package/dist/application/orm/persistence/flush/flushCoordinator.js +170 -0
- package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -0
- package/dist/application/orm/persistence/flush/mappedFlushCoordinator.d.ts +9 -0
- package/dist/application/orm/persistence/flush/mappedFlushCoordinator.d.ts.map +1 -0
- package/dist/application/orm/persistence/flush/mappedFlushCoordinator.js +8 -0
- package/dist/application/orm/persistence/flush/mappedFlushCoordinator.js.map +1 -0
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.d.ts +12 -0
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.d.ts.map +1 -0
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js +134 -0
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js.map +1 -0
- package/dist/application/orm/persistence/projection/projectionEffects.d.ts +21 -0
- package/dist/application/orm/persistence/projection/projectionEffects.d.ts.map +1 -0
- package/dist/application/orm/persistence/projection/projectionEffects.js +203 -0
- package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -0
- package/dist/application/orm/persistence/support/businessKeys.d.ts +17 -0
- package/dist/application/orm/persistence/support/businessKeys.d.ts.map +1 -0
- package/dist/application/orm/persistence/support/businessKeys.js +72 -0
- package/dist/application/orm/persistence/support/businessKeys.js.map +1 -0
- package/dist/application/orm/persistence/support/canonicalState.d.ts +22 -0
- package/dist/application/orm/persistence/support/canonicalState.d.ts.map +1 -0
- package/dist/application/orm/persistence/support/canonicalState.js +88 -0
- package/dist/application/orm/persistence/support/canonicalState.js.map +1 -0
- package/dist/application/orm/persistence/support/contracts.d.ts +139 -0
- package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -0
- package/dist/application/orm/persistence/support/contracts.js +93 -0
- package/dist/application/orm/persistence/support/contracts.js.map +1 -0
- package/dist/application/orm/persistence/support/helpers.d.ts +32 -0
- package/dist/application/orm/persistence/support/helpers.d.ts.map +1 -0
- package/dist/application/orm/persistence/support/helpers.js +66 -0
- package/dist/application/orm/persistence/support/helpers.js.map +1 -0
- package/dist/application/orm/persistence/support/timing.d.ts +20 -0
- package/dist/application/orm/persistence/support/timing.d.ts.map +1 -0
- package/dist/application/orm/persistence/support/timing.js +55 -0
- package/dist/application/orm/persistence/support/timing.js.map +1 -0
- package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts +46 -0
- package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts.map +1 -0
- package/dist/application/sync/gateway/SyncGatewayBootstrap.js +93 -0
- package/dist/application/sync/gateway/SyncGatewayBootstrap.js.map +1 -0
- package/dist/application/sync/gateway/constants.d.ts +65 -0
- package/dist/application/sync/gateway/constants.d.ts.map +1 -0
- package/dist/application/sync/gateway/constants.js +57 -0
- package/dist/application/sync/gateway/constants.js.map +1 -0
- package/dist/application/sync/gateway/errors.d.ts +15 -0
- package/dist/application/sync/gateway/errors.d.ts.map +1 -0
- package/dist/application/sync/gateway/errors.js +16 -0
- package/dist/application/sync/gateway/errors.js.map +1 -0
- package/dist/application/sync/gateway/syncGateway.d.ts +313 -0
- package/dist/application/sync/gateway/syncGateway.d.ts.map +1 -0
- package/dist/application/sync/gateway/syncGateway.js +202 -0
- package/dist/application/sync/gateway/syncGateway.js.map +1 -0
- package/dist/application/sync/gateway/validation.d.ts +17 -0
- package/dist/application/sync/gateway/validation.d.ts.map +1 -0
- package/dist/application/sync/gateway/validation.js +60 -0
- package/dist/application/sync/gateway/validation.js.map +1 -0
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts +72 -0
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts.map +1 -0
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.js +272 -0
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.js.map +1 -0
- package/dist/application/sync/index.d.ts +16 -0
- package/dist/application/sync/index.d.ts.map +1 -0
- package/dist/application/sync/index.js +9 -0
- package/dist/application/sync/index.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +106 -0
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +297 -0
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts +100 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js +345 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +46 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +63 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts +20 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +102 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts +19 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js +32 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts +30 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +202 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts +17 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js +80 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts +13 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +205 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +1 -0
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts +81 -0
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts.map +1 -0
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js +245 -0
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js.map +1 -0
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts +77 -0
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -0
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +518 -0
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -0
- package/dist/application/sync/telemetry/syncTiming.d.ts +50 -0
- package/dist/application/sync/telemetry/syncTiming.d.ts.map +1 -0
- package/dist/application/sync/telemetry/syncTiming.js +22 -0
- package/dist/application/sync/telemetry/syncTiming.js.map +1 -0
- package/dist/domain/conflict/errors.d.ts +42 -0
- package/dist/domain/conflict/errors.d.ts.map +1 -0
- package/dist/domain/conflict/errors.js +36 -0
- package/dist/domain/conflict/errors.js.map +1 -0
- package/dist/domain/conflict/index.d.ts +5 -0
- package/dist/domain/conflict/index.d.ts.map +1 -0
- package/dist/domain/conflict/index.js +3 -0
- package/dist/domain/conflict/index.js.map +1 -0
- package/dist/domain/conflict/transitions.d.ts +52 -0
- package/dist/domain/conflict/transitions.d.ts.map +1 -0
- package/dist/domain/conflict/transitions.js +115 -0
- package/dist/domain/conflict/transitions.js.map +1 -0
- package/dist/domain/errors/evaluation.d.ts +13 -0
- package/dist/domain/errors/evaluation.d.ts.map +1 -0
- package/dist/domain/errors/evaluation.js +14 -0
- package/dist/domain/errors/evaluation.js.map +1 -0
- package/dist/domain/errors/identity.d.ts +12 -0
- package/dist/domain/errors/identity.d.ts.map +1 -0
- package/dist/domain/errors/identity.js +15 -0
- package/dist/domain/errors/identity.js.map +1 -0
- package/dist/domain/errors/index.d.ts +7 -0
- package/dist/domain/errors/index.d.ts.map +1 -0
- package/dist/domain/errors/index.js +5 -0
- package/dist/domain/errors/index.js.map +1 -0
- package/dist/domain/errors/stableEncoding.d.ts +7 -0
- package/dist/domain/errors/stableEncoding.d.ts.map +1 -0
- package/dist/domain/errors/stableEncoding.js +8 -0
- package/dist/domain/errors/stableEncoding.js.map +1 -0
- package/dist/domain/errors/types.d.ts +20 -0
- package/dist/domain/errors/types.d.ts.map +1 -0
- package/dist/domain/errors/types.js +18 -0
- package/dist/domain/errors/types.js.map +1 -0
- package/dist/domain/evaluate/constants.d.ts +55 -0
- package/dist/domain/evaluate/constants.d.ts.map +1 -0
- package/dist/domain/evaluate/constants.js +41 -0
- package/dist/domain/evaluate/constants.js.map +1 -0
- package/dist/domain/evaluate/contracts.d.ts +125 -0
- package/dist/domain/evaluate/contracts.d.ts.map +1 -0
- package/dist/domain/evaluate/contracts.js +8 -0
- package/dist/domain/evaluate/contracts.js.map +1 -0
- package/dist/domain/evaluate/evaluateBatch.d.ts +11 -0
- package/dist/domain/evaluate/evaluateBatch.d.ts.map +1 -0
- package/dist/domain/evaluate/evaluateBatch.js +91 -0
- package/dist/domain/evaluate/evaluateBatch.js.map +1 -0
- package/dist/domain/evaluate/fieldEvaluation.d.ts +14 -0
- package/dist/domain/evaluate/fieldEvaluation.d.ts.map +1 -0
- package/dist/domain/evaluate/fieldEvaluation.js +133 -0
- package/dist/domain/evaluate/fieldEvaluation.js.map +1 -0
- package/dist/domain/evaluate/identity.d.ts +21 -0
- package/dist/domain/evaluate/identity.d.ts.map +1 -0
- package/dist/domain/evaluate/identity.js +72 -0
- package/dist/domain/evaluate/identity.js.map +1 -0
- package/dist/domain/evaluate/index.d.ts +4 -0
- package/dist/domain/evaluate/index.d.ts.map +1 -0
- package/dist/domain/evaluate/index.js +3 -0
- package/dist/domain/evaluate/index.js.map +1 -0
- package/dist/domain/evaluate/preconditions.d.ts +30 -0
- package/dist/domain/evaluate/preconditions.d.ts.map +1 -0
- package/dist/domain/evaluate/preconditions.js +389 -0
- package/dist/domain/evaluate/preconditions.js.map +1 -0
- package/dist/domain/evaluate/quarantine.d.ts +15 -0
- package/dist/domain/evaluate/quarantine.d.ts.map +1 -0
- package/dist/domain/evaluate/quarantine.js +185 -0
- package/dist/domain/evaluate/quarantine.js.map +1 -0
- package/dist/domain/index.d.ts +7 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +7 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/model/constants.d.ts +73 -0
- package/dist/domain/model/constants.d.ts.map +1 -0
- package/dist/domain/model/constants.js +59 -0
- package/dist/domain/model/constants.js.map +1 -0
- package/dist/domain/model/index.d.ts +3 -0
- package/dist/domain/model/index.d.ts.map +1 -0
- package/dist/domain/model/index.js +2 -0
- package/dist/domain/model/index.js.map +1 -0
- package/dist/domain/model/types.d.ts +330 -0
- package/dist/domain/model/types.d.ts.map +1 -0
- package/dist/domain/model/types.js +8 -0
- package/dist/domain/model/types.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/index.d.ts +3 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +3 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/storage/constants.d.ts +4 -0
- package/dist/infrastructure/storage/constants.d.ts.map +1 -0
- package/dist/infrastructure/storage/constants.js +4 -0
- package/dist/infrastructure/storage/constants.js.map +1 -0
- package/dist/infrastructure/storage/errors.d.ts +55 -0
- package/dist/infrastructure/storage/errors.d.ts.map +1 -0
- package/dist/infrastructure/storage/errors.js +58 -0
- package/dist/infrastructure/storage/errors.js.map +1 -0
- package/dist/infrastructure/storage/index.d.ts +23 -0
- package/dist/infrastructure/storage/index.d.ts.map +1 -0
- package/dist/infrastructure/storage/index.js +13 -0
- package/dist/infrastructure/storage/index.js.map +1 -0
- package/dist/infrastructure/storage/recovery/restoreRecovery.d.ts +64 -0
- package/dist/infrastructure/storage/recovery/restoreRecovery.d.ts.map +1 -0
- package/dist/infrastructure/storage/recovery/restoreRecovery.js +148 -0
- package/dist/infrastructure/storage/recovery/restoreRecovery.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/schema.d.ts +49 -0
- package/dist/infrastructure/storage/sqlite/schema.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/schema.js +529 -0
- package/dist/infrastructure/storage/sqlite/schema.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/schemaTypes.d.ts +5 -0
- package/dist/infrastructure/storage/sqlite/schemaTypes.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/schemaTypes.js +2 -0
- package/dist/infrastructure/storage/sqlite/schemaTypes.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlScript.d.ts +9 -0
- package/dist/infrastructure/storage/sqlite/sqlScript.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlScript.js +122 -0
- package/dist/infrastructure/storage/sqlite/sqlScript.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlState.d.ts +6 -0
- package/dist/infrastructure/storage/sqlite/sqlState.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlState.js +14 -0
- package/dist/infrastructure/storage/sqlite/sqlState.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlTransaction.d.ts +6 -0
- package/dist/infrastructure/storage/sqlite/sqlTransaction.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlTransaction.js +24 -0
- package/dist/infrastructure/storage/sqlite/sqlTransaction.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqliteBridge.d.ts +44 -0
- package/dist/infrastructure/storage/sqlite/sqliteBridge.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqliteBridge.js +66 -0
- package/dist/infrastructure/storage/sqlite/sqliteBridge.js.map +1 -0
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts +101 -0
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.js +417 -0
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationAudit.d.ts +16 -0
- package/dist/infrastructure/storage/state/observation/observationAudit.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationAudit.js +85 -0
- package/dist/infrastructure/storage/state/observation/observationAudit.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts +31 -0
- package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationCanonical.js +439 -0
- package/dist/infrastructure/storage/state/observation/observationCanonical.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationConstants.d.ts +53 -0
- package/dist/infrastructure/storage/state/observation/observationConstants.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationConstants.js +41 -0
- package/dist/infrastructure/storage/state/observation/observationConstants.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationLedger.d.ts +49 -0
- package/dist/infrastructure/storage/state/observation/observationLedger.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationLedger.js +537 -0
- package/dist/infrastructure/storage/state/observation/observationLedger.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts +15 -0
- package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationQuarantine.js +100 -0
- package/dist/infrastructure/storage/state/observation/observationQuarantine.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.d.ts +124 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.js +13 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationValidation.d.ts +28 -0
- package/dist/infrastructure/storage/state/observation/observationValidation.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationValidation.js +223 -0
- package/dist/infrastructure/storage/state/observation/observationValidation.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationWriter.d.ts +28 -0
- package/dist/infrastructure/storage/state/observation/observationWriter.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationWriter.js +293 -0
- package/dist/infrastructure/storage/state/observation/observationWriter.js.map +1 -0
- package/dist/infrastructure/storage/state/readonly/readOnlyObservation.d.ts +58 -0
- package/dist/infrastructure/storage/state/readonly/readOnlyObservation.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/readonly/readOnlyObservation.js +195 -0
- package/dist/infrastructure/storage/state/readonly/readOnlyObservation.js.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts +31 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.js +563 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.js.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts +118 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.js +18 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.js.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts +23 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js +84 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts +16 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js +97 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +137 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +396 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +101 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js +9 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +21 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +184 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts +25 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js +158 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js.map +1 -0
- package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts +69 -0
- package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/shared/syncRegistry.js +272 -0
- package/dist/infrastructure/storage/sync/shared/syncRegistry.js.map +1 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.d.ts +90 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.js +282 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.js.map +1 -0
- package/dist/shared/constants.d.ts +8 -0
- package/dist/shared/constants.d.ts.map +1 -0
- package/dist/shared/constants.js +8 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/encoding/constants.d.ts +45 -0
- package/dist/shared/encoding/constants.d.ts.map +1 -0
- package/dist/shared/encoding/constants.js +37 -0
- package/dist/shared/encoding/constants.js.map +1 -0
- package/dist/shared/encoding/index.d.ts +6 -0
- package/dist/shared/encoding/index.d.ts.map +1 -0
- package/dist/shared/encoding/index.js +4 -0
- package/dist/shared/encoding/index.js.map +1 -0
- package/dist/shared/encoding/stableEncode.d.ts +34 -0
- package/dist/shared/encoding/stableEncode.d.ts.map +1 -0
- package/dist/shared/encoding/stableEncode.js +210 -0
- package/dist/shared/encoding/stableEncode.js.map +1 -0
- package/dist/shared/encoding/typeGuards.d.ts +15 -0
- package/dist/shared/encoding/typeGuards.d.ts.map +1 -0
- package/dist/shared/encoding/typeGuards.js +11 -0
- package/dist/shared/encoding/typeGuards.js.map +1 -0
- package/dist/shared/encoding/types.d.ts +52 -0
- package/dist/shared/encoding/types.d.ts.map +1 -0
- package/dist/shared/encoding/types.js +8 -0
- package/dist/shared/encoding/types.js.map +1 -0
- package/dist/shared/index.d.ts +6 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +6 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/state/constants.d.ts +16 -0
- package/dist/shared/state/constants.d.ts.map +1 -0
- package/dist/shared/state/constants.js +16 -0
- package/dist/shared/state/constants.js.map +1 -0
- package/dist/shared/state/index.d.ts +3 -0
- package/dist/shared/state/index.d.ts.map +1 -0
- package/dist/shared/state/index.js +2 -0
- package/dist/shared/state/index.js.map +1 -0
- package/dist/shared/state/types.d.ts +23 -0
- package/dist/shared/state/types.d.ts.map +1 -0
- package/dist/shared/state/types.js +2 -0
- package/dist/shared/state/types.js.map +1 -0
- package/dist/shared/validation.d.ts +9 -0
- package/dist/shared/validation.d.ts.map +1 -0
- package/dist/shared/validation.js +25 -0
- package/dist/shared/validation.js.map +1 -0
- package/docs/architecture.md +72 -0
- package/docs/code-guidelines.md +256 -0
- package/docs/development.md +48 -0
- package/docs/git-workflow.md +224 -0
- package/docs/mikro-orm-adapter-spike.md +248 -0
- package/docs/quick-start.md +102 -0
- package/docs/sql-layer-plan.md +59 -0
- package/docs/sync-bulk-write-benchmark.md +1036 -0
- package/docs/sync-observability.md +71 -0
- package/docs/task-queue-write-model.md +640 -0
- package/docs/typed-sheets-mvp-scope-2026-06-29.md +490 -0
- package/docs/typed-sheets-plan.md +417 -0
- package/docs/write-and-synchronization-flow.md +71 -0
- package/package.json +68 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { CoreError } from "../errors/types.js";
|
|
2
|
+
import type { Presence } from "../../shared/state/types.js";
|
|
3
|
+
/** Stable rejection codes returned by conflict-resolution CAS decisions. */
|
|
4
|
+
export type ConflictResolutionErrorCode = "unsupported_action" | "invalid_role" | "conflict_id_mismatch" | "already_resolved";
|
|
5
|
+
interface ConflictResolutionErrorBase extends CoreError {
|
|
6
|
+
readonly domain: "conflict_resolution";
|
|
7
|
+
}
|
|
8
|
+
/** Resolution action was not supported by this core version. */
|
|
9
|
+
export interface UnsupportedResolutionActionError extends ConflictResolutionErrorBase {
|
|
10
|
+
readonly code: "unsupported_action";
|
|
11
|
+
readonly action: string;
|
|
12
|
+
}
|
|
13
|
+
/** The actor role cannot submit the requested resolution action. */
|
|
14
|
+
export interface InvalidResolutionRoleError extends ConflictResolutionErrorBase {
|
|
15
|
+
readonly code: "invalid_role";
|
|
16
|
+
readonly role: string;
|
|
17
|
+
}
|
|
18
|
+
/** The command targets a different conflict than the one being transitioned. */
|
|
19
|
+
export interface ConflictIdMismatchError extends ConflictResolutionErrorBase {
|
|
20
|
+
readonly code: "conflict_id_mismatch";
|
|
21
|
+
readonly targetConflictId: string;
|
|
22
|
+
readonly actualConflictId: string;
|
|
23
|
+
}
|
|
24
|
+
/** A different command already resolved the conflict. */
|
|
25
|
+
export interface AlreadyResolvedError extends ConflictResolutionErrorBase {
|
|
26
|
+
readonly code: "already_resolved";
|
|
27
|
+
readonly conflictId: string;
|
|
28
|
+
readonly existingResolutionCommandId: Presence<string>;
|
|
29
|
+
readonly commandId: string;
|
|
30
|
+
}
|
|
31
|
+
/** Structured rejection details for a conflict-resolution command. */
|
|
32
|
+
export type ConflictResolutionError = UnsupportedResolutionActionError | InvalidResolutionRoleError | ConflictIdMismatchError | AlreadyResolvedError;
|
|
33
|
+
/** Creates a stable error value for an unsupported resolution action. */
|
|
34
|
+
export declare function createUnsupportedResolutionActionError(action: string): UnsupportedResolutionActionError;
|
|
35
|
+
/** Creates a stable error value for an unauthorized resolution role. */
|
|
36
|
+
export declare function createInvalidResolutionRoleError(role: string): InvalidResolutionRoleError;
|
|
37
|
+
/** Creates a stable error value when a command targets another conflict. */
|
|
38
|
+
export declare function createConflictIdMismatchError(targetConflictId: string, actualConflictId: string): ConflictIdMismatchError;
|
|
39
|
+
/** Creates a stable error value when another command already resolved a conflict. */
|
|
40
|
+
export declare function createAlreadyResolvedError(conflictId: string, existingResolutionCommandId: Presence<string>, commandId: string): AlreadyResolvedError;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/domain/conflict/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAE5D,4EAA4E;AAC5E,MAAM,MAAM,2BAA2B,GACnC,oBAAoB,GACpB,cAAc,GACd,sBAAsB,GACtB,kBAAkB,CAAC;AAEvB,UAAU,2BAA4B,SAAQ,SAAS;IACrD,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;CACxC;AAED,gEAAgE;AAChE,MAAM,WAAW,gCAAiC,SAAQ,2BAA2B;IACnF,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,oEAAoE;AACpE,MAAM,WAAW,0BAA2B,SAAQ,2BAA2B;IAC7E,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,gFAAgF;AAChF,MAAM,WAAW,uBAAwB,SAAQ,2BAA2B;IAC1E,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,yDAAyD;AACzD,MAAM,WAAW,oBAAqB,SAAQ,2BAA2B;IACvE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,sEAAsE;AACtE,MAAM,MAAM,uBAAuB,GAC/B,gCAAgC,GAChC,0BAA0B,GAC1B,uBAAuB,GACvB,oBAAoB,CAAC;AAEzB,yEAAyE;AACzE,wBAAgB,sCAAsC,CACpD,MAAM,EAAE,MAAM,GACb,gCAAgC,CAMlC;AAED,wEAAwE;AACxE,wBAAgB,gCAAgC,CAAC,IAAI,EAAE,MAAM,GAAG,0BAA0B,CAMzF;AAED,4EAA4E;AAC5E,wBAAgB,6BAA6B,CAC3C,gBAAgB,EAAE,MAAM,EACxB,gBAAgB,EAAE,MAAM,GACvB,uBAAuB,CAOzB;AAED,qFAAqF;AACrF,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC7C,SAAS,EAAE,MAAM,GAChB,oBAAoB,CAQtB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Creates a stable error value for an unsupported resolution action. */
|
|
2
|
+
export function createUnsupportedResolutionActionError(action) {
|
|
3
|
+
return {
|
|
4
|
+
domain: "conflict_resolution",
|
|
5
|
+
code: "unsupported_action",
|
|
6
|
+
action,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
/** Creates a stable error value for an unauthorized resolution role. */
|
|
10
|
+
export function createInvalidResolutionRoleError(role) {
|
|
11
|
+
return {
|
|
12
|
+
domain: "conflict_resolution",
|
|
13
|
+
code: "invalid_role",
|
|
14
|
+
role,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/** Creates a stable error value when a command targets another conflict. */
|
|
18
|
+
export function createConflictIdMismatchError(targetConflictId, actualConflictId) {
|
|
19
|
+
return {
|
|
20
|
+
domain: "conflict_resolution",
|
|
21
|
+
code: "conflict_id_mismatch",
|
|
22
|
+
targetConflictId,
|
|
23
|
+
actualConflictId,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/** Creates a stable error value when another command already resolved a conflict. */
|
|
27
|
+
export function createAlreadyResolvedError(conflictId, existingResolutionCommandId, commandId) {
|
|
28
|
+
return {
|
|
29
|
+
domain: "conflict_resolution",
|
|
30
|
+
code: "already_resolved",
|
|
31
|
+
conflictId,
|
|
32
|
+
existingResolutionCommandId,
|
|
33
|
+
commandId,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/domain/conflict/errors.ts"],"names":[],"mappings":"AAgDA,yEAAyE;AACzE,MAAM,UAAU,sCAAsC,CACpD,MAAc;IAEd,OAAO;QACL,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,oBAAoB;QAC1B,MAAM;KACP,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,gCAAgC,CAAC,IAAY;IAC3D,OAAO;QACL,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,cAAc;QACpB,IAAI;KACL,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,6BAA6B,CAC3C,gBAAwB,EACxB,gBAAwB;IAExB,OAAO;QACL,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,sBAAsB;QAC5B,gBAAgB;QAChB,gBAAgB;KACjB,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,0BAA0B,CACxC,UAAkB,EAClB,2BAA6C,EAC7C,SAAiB;IAEjB,OAAO;QACL,MAAM,EAAE,qBAAqB;QAC7B,IAAI,EAAE,kBAAkB;QACxB,UAAU;QACV,2BAA2B;QAC3B,SAAS;KACV,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { CONFLICT_TRANSITION_KINDS, shouldRebaseConflict, applyResolution, } from "./transitions.js";
|
|
2
|
+
export type { ConflictTransitionKind, ConflictTransitionResult, } from "./transitions.js";
|
|
3
|
+
export { createAlreadyResolvedError, createConflictIdMismatchError, createInvalidResolutionRoleError, createUnsupportedResolutionActionError, } from "./errors.js";
|
|
4
|
+
export type { ConflictResolutionError, ConflictResolutionErrorCode, UnsupportedResolutionActionError, InvalidResolutionRoleError, ConflictIdMismatchError, AlreadyResolvedError, } from "./errors.js";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/conflict/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,gCAAgC,EAChC,sCAAsC,GACvC,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,gCAAgC,EAChC,0BAA0B,EAC1B,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { CONFLICT_TRANSITION_KINDS, shouldRebaseConflict, applyResolution, } from "./transitions.js";
|
|
2
|
+
export { createAlreadyResolvedError, createConflictIdMismatchError, createInvalidResolutionRoleError, createUnsupportedResolutionActionError, } from "./errors.js";
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/conflict/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,gCAAgC,EAChC,sCAAsC,GACvC,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conflict lifecycle transitions.
|
|
3
|
+
*
|
|
4
|
+
* Per design: conflict status is OPEN, NEEDS_REBASE, RESOLVED only.
|
|
5
|
+
* SUPERSEDED is not a conflict status.
|
|
6
|
+
*
|
|
7
|
+
* - OPEN: initial state when a stale field is detected
|
|
8
|
+
* - NEEDS_REBASE: same field's canonical value advanced while conflict is open
|
|
9
|
+
* - RESOLVED: user submitted acknowledge_system with matching revision/hash CAS
|
|
10
|
+
*/
|
|
11
|
+
import type { NormalizedCell } from "../../shared/encoding/types.js";
|
|
12
|
+
import type { ConflictResolutionError } from "./errors.js";
|
|
13
|
+
import type { ResolutionCommand, SyncConflict } from "../model/types.js";
|
|
14
|
+
import type { LookupResult } from "../../shared/state/types.js";
|
|
15
|
+
/** Runtime values for the discriminated conflict transition result. */
|
|
16
|
+
export declare const CONFLICT_TRANSITION_KINDS: {
|
|
17
|
+
readonly RESOLVED: "resolved";
|
|
18
|
+
readonly STALE: "stale";
|
|
19
|
+
readonly REJECTED: "rejected";
|
|
20
|
+
};
|
|
21
|
+
/** Closed set of outcomes produced by a conflict transition. */
|
|
22
|
+
export type ConflictTransitionKind = (typeof CONFLICT_TRANSITION_KINDS)[keyof typeof CONFLICT_TRANSITION_KINDS];
|
|
23
|
+
/** Result of attempting to transition a conflict via a resolution command. */
|
|
24
|
+
export type ConflictTransitionResult = {
|
|
25
|
+
readonly kind: typeof CONFLICT_TRANSITION_KINDS.RESOLVED;
|
|
26
|
+
readonly conflict: SyncConflict;
|
|
27
|
+
} | {
|
|
28
|
+
readonly kind: typeof CONFLICT_TRANSITION_KINDS.STALE;
|
|
29
|
+
readonly conflict: SyncConflict;
|
|
30
|
+
} | {
|
|
31
|
+
readonly kind: typeof CONFLICT_TRANSITION_KINDS.REJECTED;
|
|
32
|
+
readonly error: ConflictResolutionError;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Determines whether a canonical commit should trigger NEEDS_REBASE.
|
|
36
|
+
*
|
|
37
|
+
* Called within the same SQLite transaction that commits the canonical change.
|
|
38
|
+
* If the same field has an OPEN or NEEDS_REBASE conflict, the conflict's
|
|
39
|
+
* current canonical projection is updated and status set to NEEDS_REBASE.
|
|
40
|
+
*/
|
|
41
|
+
export declare function shouldRebaseConflict(conflict: SyncConflict, changedFieldName: string, newCanonicalRevision: number, newCanonicalValue: NormalizedCell): LookupResult<SyncConflict>;
|
|
42
|
+
/**
|
|
43
|
+
* Applies a resolution command to a conflict via compare-and-set.
|
|
44
|
+
*
|
|
45
|
+
* The command's expected revision, active candidate hash, and candidate epoch
|
|
46
|
+
* must match the conflict's current state. The epoch prevents an old request
|
|
47
|
+
* from resolving an ABA retry that returned to the same candidate value. If
|
|
48
|
+
* any CAS input does not match, the conflict stays at its current status
|
|
49
|
+
* (NEEDS_REBASE if canonical has advanced) and the checkbox is reset.
|
|
50
|
+
*/
|
|
51
|
+
export declare function applyResolution(conflict: SyncConflict, command: ResolutionCommand): ConflictTransitionResult;
|
|
52
|
+
//# sourceMappingURL=transitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transitions.d.ts","sourceRoot":"","sources":["../../../src/domain/conflict/transitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAOrE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAE3D,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,uEAAuE;AACvE,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC;AAEX,gEAAgE;AAChE,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,yBAAyB,CAAC,CAAC,MAAM,OAAO,yBAAyB,CAAC,CAAC;AAE7E,8EAA8E;AAC9E,MAAM,MAAM,wBAAwB,GAChC;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC;IACzD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,yBAAyB,CAAC,KAAK,CAAC;IACtD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;CACjC,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,yBAAyB,CAAC,QAAQ,CAAC;IACzD,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;CACzC,CAAC;AAEN;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,YAAY,EACtB,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,EAAE,MAAM,EAC5B,iBAAiB,EAAE,cAAc,GAChC,YAAY,CAAC,YAAY,CAAC,CAoB5B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,iBAAiB,GACzB,wBAAwB,CAgE1B"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Conflict lifecycle transitions.
|
|
3
|
+
*
|
|
4
|
+
* Per design: conflict status is OPEN, NEEDS_REBASE, RESOLVED only.
|
|
5
|
+
* SUPERSEDED is not a conflict status.
|
|
6
|
+
*
|
|
7
|
+
* - OPEN: initial state when a stale field is detected
|
|
8
|
+
* - NEEDS_REBASE: same field's canonical value advanced while conflict is open
|
|
9
|
+
* - RESOLVED: user submitted acknowledge_system with matching revision/hash CAS
|
|
10
|
+
*/
|
|
11
|
+
import { stableHash } from "../../shared/encoding/stableEncode.js";
|
|
12
|
+
import { createAlreadyResolvedError, createConflictIdMismatchError, createInvalidResolutionRoleError, createUnsupportedResolutionActionError, } from "./errors.js";
|
|
13
|
+
import { CONFLICT_STATUSES } from "../model/constants.js";
|
|
14
|
+
import { LOOKUP_RESULT_KINDS, PRESENCE_KINDS } from "../../shared/state/constants.js";
|
|
15
|
+
/** Runtime values for the discriminated conflict transition result. */
|
|
16
|
+
export const CONFLICT_TRANSITION_KINDS = {
|
|
17
|
+
RESOLVED: "resolved",
|
|
18
|
+
STALE: "stale",
|
|
19
|
+
REJECTED: "rejected",
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Determines whether a canonical commit should trigger NEEDS_REBASE.
|
|
23
|
+
*
|
|
24
|
+
* Called within the same SQLite transaction that commits the canonical change.
|
|
25
|
+
* If the same field has an OPEN or NEEDS_REBASE conflict, the conflict's
|
|
26
|
+
* current canonical projection is updated and status set to NEEDS_REBASE.
|
|
27
|
+
*/
|
|
28
|
+
export function shouldRebaseConflict(conflict, changedFieldName, newCanonicalRevision, newCanonicalValue) {
|
|
29
|
+
if (conflict.fieldName !== changedFieldName) {
|
|
30
|
+
return { kind: LOOKUP_RESULT_KINDS.NOT_FOUND };
|
|
31
|
+
}
|
|
32
|
+
if (conflict.status === CONFLICT_STATUSES.RESOLVED) {
|
|
33
|
+
return { kind: LOOKUP_RESULT_KINDS.NOT_FOUND };
|
|
34
|
+
}
|
|
35
|
+
if (newCanonicalRevision <= conflict.currentCanonicalRevision) {
|
|
36
|
+
return { kind: LOOKUP_RESULT_KINDS.NOT_FOUND };
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
kind: LOOKUP_RESULT_KINDS.FOUND,
|
|
40
|
+
value: {
|
|
41
|
+
...conflict,
|
|
42
|
+
currentCanonicalValue: newCanonicalValue,
|
|
43
|
+
currentCanonicalRevision: newCanonicalRevision,
|
|
44
|
+
status: CONFLICT_STATUSES.NEEDS_REBASE,
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Applies a resolution command to a conflict via compare-and-set.
|
|
50
|
+
*
|
|
51
|
+
* The command's expected revision, active candidate hash, and candidate epoch
|
|
52
|
+
* must match the conflict's current state. The epoch prevents an old request
|
|
53
|
+
* from resolving an ABA retry that returned to the same candidate value. If
|
|
54
|
+
* any CAS input does not match, the conflict stays at its current status
|
|
55
|
+
* (NEEDS_REBASE if canonical has advanced) and the checkbox is reset.
|
|
56
|
+
*/
|
|
57
|
+
export function applyResolution(conflict, command) {
|
|
58
|
+
if (command.action !== "acknowledge_system") {
|
|
59
|
+
return {
|
|
60
|
+
kind: CONFLICT_TRANSITION_KINDS.REJECTED,
|
|
61
|
+
error: createUnsupportedResolutionActionError(command.action),
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
if (command.role !== "sheet_editor") {
|
|
65
|
+
return {
|
|
66
|
+
kind: CONFLICT_TRANSITION_KINDS.REJECTED,
|
|
67
|
+
error: createInvalidResolutionRoleError(command.role),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
if (command.targetConflictId !== conflict.conflictId) {
|
|
71
|
+
return {
|
|
72
|
+
kind: CONFLICT_TRANSITION_KINDS.REJECTED,
|
|
73
|
+
error: createConflictIdMismatchError(command.targetConflictId, conflict.conflictId),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
if (conflict.status === CONFLICT_STATUSES.RESOLVED) {
|
|
77
|
+
return conflict.resolutionCommandId.kind === PRESENCE_KINDS.PRESENT &&
|
|
78
|
+
conflict.resolutionCommandId.value === command.commandId
|
|
79
|
+
? { kind: CONFLICT_TRANSITION_KINDS.RESOLVED, conflict }
|
|
80
|
+
: {
|
|
81
|
+
kind: CONFLICT_TRANSITION_KINDS.REJECTED,
|
|
82
|
+
error: createAlreadyResolvedError(conflict.conflictId, conflict.resolutionCommandId, command.commandId),
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
const revisionMatches = command.expectedRevision === conflict.currentCanonicalRevision;
|
|
86
|
+
const hashMatches = command.activeCandidateHash === candidateHash(conflict);
|
|
87
|
+
const epochMatches = command.expectedCandidateEpoch === conflict.candidateEpoch;
|
|
88
|
+
if (!revisionMatches || !hashMatches || !epochMatches) {
|
|
89
|
+
return {
|
|
90
|
+
kind: CONFLICT_TRANSITION_KINDS.STALE,
|
|
91
|
+
conflict: conflict.status === CONFLICT_STATUSES.OPEN
|
|
92
|
+
? { ...conflict, status: CONFLICT_STATUSES.NEEDS_REBASE }
|
|
93
|
+
: conflict,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return {
|
|
97
|
+
kind: CONFLICT_TRANSITION_KINDS.RESOLVED,
|
|
98
|
+
conflict: {
|
|
99
|
+
...conflict,
|
|
100
|
+
status: CONFLICT_STATUSES.RESOLVED,
|
|
101
|
+
resolutionCommandId: {
|
|
102
|
+
kind: PRESENCE_KINDS.PRESENT,
|
|
103
|
+
value: command.commandId,
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/** Computes the active candidate hash for CAS comparison. */
|
|
109
|
+
function candidateHash(conflict) {
|
|
110
|
+
return stableHash({
|
|
111
|
+
value: conflict.userValue,
|
|
112
|
+
revision: conflict.userBaseRevision,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=transitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transitions.js","sourceRoot":"","sources":["../../../src/domain/conflict/transitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAEnE,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,gCAAgC,EAChC,sCAAsC,GACvC,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGtF,uEAAuE;AACvE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE,UAAU;CACZ,CAAC;AAqBX;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAClC,QAAsB,EACtB,gBAAwB,EACxB,oBAA4B,EAC5B,iBAAiC;IAEjC,IAAI,QAAQ,CAAC,SAAS,KAAK,gBAAgB,EAAE,CAAC;QAC5C,OAAO,EAAE,IAAI,EAAE,mBAAmB,CAAC,SAAS,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,EAAE,IAAI,EAAE,mBAAmB,CAAC,SAAS,EAAE,CAAC;IACjD,CAAC;IACD,IAAI,oBAAoB,IAAI,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QAC9D,OAAO,EAAE,IAAI,EAAE,mBAAmB,CAAC,SAAS,EAAE,CAAC;IACjD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,mBAAmB,CAAC,KAAK;QAC/B,KAAK,EAAE;YACL,GAAG,QAAQ;YACX,qBAAqB,EAAE,iBAAiB;YACxC,wBAAwB,EAAE,oBAAoB;YAC9C,MAAM,EAAE,iBAAiB,CAAC,YAAY;SACvC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAsB,EACtB,OAA0B;IAE1B,IAAI,OAAO,CAAC,MAAM,KAAK,oBAAoB,EAAE,CAAC;QAC5C,OAAO;YACL,IAAI,EAAE,yBAAyB,CAAC,QAAQ;YACxC,KAAK,EAAE,sCAAsC,CAAC,OAAO,CAAC,MAAM,CAAC;SAC9D,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QACpC,OAAO;YACL,IAAI,EAAE,yBAAyB,CAAC,QAAQ;YACxC,KAAK,EAAE,gCAAgC,CAAC,OAAO,CAAC,IAAI,CAAC;SACtD,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,gBAAgB,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACrD,OAAO;YACL,IAAI,EAAE,yBAAyB,CAAC,QAAQ;YACxC,KAAK,EAAE,6BAA6B,CAClC,OAAO,CAAC,gBAAgB,EACxB,QAAQ,CAAC,UAAU,CACpB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;YACjE,QAAQ,CAAC,mBAAmB,CAAC,KAAK,KAAK,OAAO,CAAC,SAAS;YACxD,CAAC,CAAC,EAAE,IAAI,EAAE,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE;YACxD,CAAC,CAAC;gBACE,IAAI,EAAE,yBAAyB,CAAC,QAAQ;gBACxC,KAAK,EAAE,0BAA0B,CAC/B,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,mBAAmB,EAC5B,OAAO,CAAC,SAAS,CAClB;aACF,CAAC;IACR,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,gBAAgB,KAAK,QAAQ,CAAC,wBAAwB,CAAC;IACvF,MAAM,WAAW,GAAG,OAAO,CAAC,mBAAmB,KAAK,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,OAAO,CAAC,sBAAsB,KAAK,QAAQ,CAAC,cAAc,CAAC;IAEhF,IAAI,CAAC,eAAe,IAAI,CAAC,WAAW,IAAI,CAAC,YAAY,EAAE,CAAC;QACtD,OAAO;YACL,IAAI,EAAE,yBAAyB,CAAC,KAAK;YACrC,QAAQ,EACN,QAAQ,CAAC,MAAM,KAAK,iBAAiB,CAAC,IAAI;gBACxC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,iBAAiB,CAAC,YAAY,EAAE;gBACzD,CAAC,CAAC,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,yBAAyB,CAAC,QAAQ;QACxC,QAAQ,EAAE;YACR,GAAG,QAAQ;YACX,MAAM,EAAE,iBAAiB,CAAC,QAAQ;YAClC,mBAAmB,EAAE;gBACnB,IAAI,EAAE,cAAc,CAAC,OAAO;gBAC5B,KAAK,EAAE,OAAO,CAAC,SAAS;aACzB;SACF;KACF,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,SAAS,aAAa,CAAC,QAAsB;IAC3C,OAAO,UAAU,CAAC;QAChB,KAAK,EAAE,QAAQ,CAAC,SAAS;QACzB,QAAQ,EAAE,QAAQ,CAAC,gBAAgB;KACpC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CoreErrorException } from "./types.js";
|
|
2
|
+
/** Stable error codes for evaluator contract violations. */
|
|
3
|
+
export declare const EVALUATION_ERROR_CODES: {
|
|
4
|
+
readonly CANONICAL_STATE_REQUIRED: "canonical_state_required";
|
|
5
|
+
readonly CANONICAL_FIELD_REQUIRED: "canonical_field_required";
|
|
6
|
+
readonly BASE_FIELD_REVISION_REQUIRED: "base_field_revision_required";
|
|
7
|
+
};
|
|
8
|
+
export type EvaluationErrorCode = (typeof EVALUATION_ERROR_CODES)[keyof typeof EVALUATION_ERROR_CODES];
|
|
9
|
+
/** Raised when an internal evaluator contract cannot produce a valid result. */
|
|
10
|
+
export declare class EvaluationContractError extends CoreErrorException<"evaluation", EvaluationErrorCode> {
|
|
11
|
+
constructor(code: EvaluationErrorCode, message: string);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=evaluation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluation.d.ts","sourceRoot":"","sources":["../../../src/domain/errors/evaluation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAC;AAEX,MAAM,MAAM,mBAAmB,GAC7B,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,OAAO,sBAAsB,CAAC,CAAC;AAEvE,gFAAgF;AAChF,qBAAa,uBAAwB,SAAQ,kBAAkB,CAC7D,YAAY,EACZ,mBAAmB,CACpB;gBACa,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM;CAGvD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CoreErrorException } from "./types.js";
|
|
2
|
+
/** Stable error codes for evaluator contract violations. */
|
|
3
|
+
export const EVALUATION_ERROR_CODES = {
|
|
4
|
+
CANONICAL_STATE_REQUIRED: "canonical_state_required",
|
|
5
|
+
CANONICAL_FIELD_REQUIRED: "canonical_field_required",
|
|
6
|
+
BASE_FIELD_REVISION_REQUIRED: "base_field_revision_required",
|
|
7
|
+
};
|
|
8
|
+
/** Raised when an internal evaluator contract cannot produce a valid result. */
|
|
9
|
+
export class EvaluationContractError extends CoreErrorException {
|
|
10
|
+
constructor(code, message) {
|
|
11
|
+
super("evaluation", code, message);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=evaluation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluation.js","sourceRoot":"","sources":["../../../src/domain/errors/evaluation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,4DAA4D;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,wBAAwB,EAAE,0BAA0B;IACpD,wBAAwB,EAAE,0BAA0B;IACpD,4BAA4B,EAAE,8BAA8B;CACpD,CAAC;AAKX,gFAAgF;AAChF,MAAM,OAAO,uBAAwB,SAAQ,kBAG5C;IACC,YAAY,IAAyB,EAAE,OAAe;QACpD,KAAK,CAAC,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CoreErrorException } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Raised when one event contains the same changed field more than once.
|
|
4
|
+
*
|
|
5
|
+
* A duplicate field would make the event identity ambiguous, so callers must
|
|
6
|
+
* reject or quarantine the observation instead of generating an event key.
|
|
7
|
+
*/
|
|
8
|
+
export declare class DuplicateChangedFieldError extends CoreErrorException<"event_identity", "duplicate_changed_field"> {
|
|
9
|
+
readonly fieldName: string;
|
|
10
|
+
constructor(fieldName: string);
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=identity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/domain/errors/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,kBAAkB,CAChE,gBAAgB,EAChB,yBAAyB,CAC1B;IACC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAEf,SAAS,EAAE,MAAM;CAQ9B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CoreErrorException } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Raised when one event contains the same changed field more than once.
|
|
4
|
+
*
|
|
5
|
+
* A duplicate field would make the event identity ambiguous, so callers must
|
|
6
|
+
* reject or quarantine the observation instead of generating an event key.
|
|
7
|
+
*/
|
|
8
|
+
export class DuplicateChangedFieldError extends CoreErrorException {
|
|
9
|
+
fieldName;
|
|
10
|
+
constructor(fieldName) {
|
|
11
|
+
super("event_identity", "duplicate_changed_field", `event key cannot contain duplicate field ${fieldName}`);
|
|
12
|
+
this.fieldName = fieldName;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/domain/errors/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,kBAG/C;IACU,SAAS,CAAS;IAE3B,YAAY,SAAiB;QAC3B,KAAK,CACH,gBAAgB,EAChB,yBAAyB,EACzB,4CAA4C,SAAS,EAAE,CACxD,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { CoreErrorException } from "./types.js";
|
|
2
|
+
export type { CoreError } from "./types.js";
|
|
3
|
+
export { DuplicateChangedFieldError } from "./identity.js";
|
|
4
|
+
export { EVALUATION_ERROR_CODES, EvaluationContractError, } from "./evaluation.js";
|
|
5
|
+
export type { EvaluationErrorCode } from "./evaluation.js";
|
|
6
|
+
export { StableEncodingError } from "./stableEncoding.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { CoreErrorException } from "./types.js";
|
|
2
|
+
export { DuplicateChangedFieldError } from "./identity.js";
|
|
3
|
+
export { EVALUATION_ERROR_CODES, EvaluationContractError, } from "./evaluation.js";
|
|
4
|
+
export { StableEncodingError } from "./stableEncoding.js";
|
|
5
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/errors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { StableEncodingErrorCode } from "../../shared/encoding/constants.js";
|
|
2
|
+
import { CoreErrorException } from "./types.js";
|
|
3
|
+
/** A structured failure raised when stable encoding cannot produce bytes. */
|
|
4
|
+
export declare class StableEncodingError extends CoreErrorException<"stable_encode", StableEncodingErrorCode> {
|
|
5
|
+
constructor(code: StableEncodingErrorCode, message: string);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=stableEncoding.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stableEncoding.d.ts","sourceRoot":"","sources":["../../../src/domain/errors/stableEncoding.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,6EAA6E;AAC7E,qBAAa,mBAAoB,SAAQ,kBAAkB,CACzD,eAAe,EACf,uBAAuB,CACxB;gBACa,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM;CAG3D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CoreErrorException } from "./types.js";
|
|
2
|
+
/** A structured failure raised when stable encoding cannot produce bytes. */
|
|
3
|
+
export class StableEncodingError extends CoreErrorException {
|
|
4
|
+
constructor(code, message) {
|
|
5
|
+
super("stable_encode", code, message);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=stableEncoding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stableEncoding.js","sourceRoot":"","sources":["../../../src/domain/errors/stableEncoding.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,6EAA6E;AAC7E,MAAM,OAAO,mBAAoB,SAAQ,kBAGxC;IACC,YAAY,IAA6B,EAAE,OAAe;QACxD,KAAK,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Structured error value shared by pure core decisions. */
|
|
2
|
+
export interface CoreError {
|
|
3
|
+
/** Stable domain namespace used by callers instead of parsing messages. */
|
|
4
|
+
readonly domain: string;
|
|
5
|
+
/** Stable machine-readable error code. */
|
|
6
|
+
readonly code: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Base class for core helpers that must abort with a structured exception.
|
|
10
|
+
*
|
|
11
|
+
* Decision functions should generally return `CoreError` values. This class is
|
|
12
|
+
* for invalid inputs that make a helper's success value impossible to produce
|
|
13
|
+
* while preserving normal `Error` stack/message behavior for callers.
|
|
14
|
+
*/
|
|
15
|
+
export declare class CoreErrorException<TDomain extends string = string, TCode extends string = string> extends Error implements CoreError {
|
|
16
|
+
readonly domain: TDomain;
|
|
17
|
+
readonly code: TCode;
|
|
18
|
+
protected constructor(domain: TDomain, code: TCode, message: string);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/domain/errors/types.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,MAAM,WAAW,SAAS;IACxB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,qBAAa,kBAAkB,CAC7B,OAAO,SAAS,MAAM,GAAG,MAAM,EAC/B,KAAK,SAAS,MAAM,GAAG,MAAM,CAC7B,SAAQ,KAAM,YAAW,SAAS;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAErB,SAAS,aAAa,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM;CAMpE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base class for core helpers that must abort with a structured exception.
|
|
3
|
+
*
|
|
4
|
+
* Decision functions should generally return `CoreError` values. This class is
|
|
5
|
+
* for invalid inputs that make a helper's success value impossible to produce
|
|
6
|
+
* while preserving normal `Error` stack/message behavior for callers.
|
|
7
|
+
*/
|
|
8
|
+
export class CoreErrorException extends Error {
|
|
9
|
+
domain;
|
|
10
|
+
code;
|
|
11
|
+
constructor(domain, code, message) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = new.target.name;
|
|
14
|
+
this.domain = domain;
|
|
15
|
+
this.code = code;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/domain/errors/types.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,MAAM,OAAO,kBAGX,SAAQ,KAAK;IACJ,MAAM,CAAU;IAChB,IAAI,CAAQ;IAErB,YAAsB,MAAe,EAAE,IAAW,EAAE,OAAe;QACjE,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/** Runtime values for row evaluation outcomes. */
|
|
2
|
+
export declare const ROW_OUTCOMES: {
|
|
3
|
+
readonly ACCEPTED: "accepted";
|
|
4
|
+
readonly PARTIALLY_ACCEPTED: "partially_accepted";
|
|
5
|
+
readonly CONFLICT: "conflict";
|
|
6
|
+
readonly QUARANTINE: "quarantine";
|
|
7
|
+
};
|
|
8
|
+
/** Closed set of row evaluation outcome values. */
|
|
9
|
+
export type RowOutcome = (typeof ROW_OUTCOMES)[keyof typeof ROW_OUTCOMES];
|
|
10
|
+
/** Prefix used for deterministic quarantine identifiers. */
|
|
11
|
+
export declare const QUARANTINE_ID_PREFIX: "q-";
|
|
12
|
+
/** Identifier shape returned for a quarantined row. */
|
|
13
|
+
export type QuarantineId = `${typeof QUARANTINE_ID_PREFIX}${string}`;
|
|
14
|
+
/** Keys used to encode values that cannot be represented directly. */
|
|
15
|
+
export declare const QUARANTINE_FINGERPRINT_KEYS: {
|
|
16
|
+
readonly INVALID_NUMBER: "invalidNumber";
|
|
17
|
+
readonly INVALID_TYPE: "invalidType";
|
|
18
|
+
readonly INVALID_BIGINT: "invalidBigInt";
|
|
19
|
+
readonly INVALID_SYMBOL: "invalidSymbol";
|
|
20
|
+
readonly INVALID_FUNCTION: "invalidFunction";
|
|
21
|
+
readonly INVALID_OBJECT: "invalidObject";
|
|
22
|
+
};
|
|
23
|
+
/** Closed set of invalid-value fingerprint keys. */
|
|
24
|
+
export type QuarantineFingerprintKey = (typeof QUARANTINE_FINGERPRINT_KEYS)[keyof typeof QUARANTINE_FINGERPRINT_KEYS];
|
|
25
|
+
/** Fixed marker values used inside invalid-value fingerprints. */
|
|
26
|
+
export declare const QUARANTINE_FINGERPRINT_MARKERS: {
|
|
27
|
+
readonly UNDEFINED: "undefined";
|
|
28
|
+
readonly ANONYMOUS_FUNCTION: "anonymous";
|
|
29
|
+
readonly CYCLE: "cycle";
|
|
30
|
+
readonly PLAIN_OBJECT_TAG: "[object Object]";
|
|
31
|
+
};
|
|
32
|
+
/** Closed set of fixed quarantine fingerprint markers. */
|
|
33
|
+
export type QuarantineFingerprintMarker = (typeof QUARANTINE_FINGERPRINT_MARKERS)[keyof typeof QUARANTINE_FINGERPRINT_MARKERS];
|
|
34
|
+
/** Runtime values for the repair decision attached to a quarantined row. */
|
|
35
|
+
export declare const QUARANTINE_REPAIR_STATUSES: {
|
|
36
|
+
readonly NOT_PLANNED: "not_planned";
|
|
37
|
+
readonly PLANNED: "planned";
|
|
38
|
+
};
|
|
39
|
+
/** Closed set of quarantine repair decision statuses. */
|
|
40
|
+
export type QuarantineRepairStatus = (typeof QUARANTINE_REPAIR_STATUSES)[keyof typeof QUARANTINE_REPAIR_STATUSES];
|
|
41
|
+
/** Reasons why a quarantined row has no repair plan. */
|
|
42
|
+
export declare const QUARANTINE_REPAIR_NOT_PLANNED_REASONS: {
|
|
43
|
+
readonly QUARANTINE_ONLY: "quarantine_only";
|
|
44
|
+
readonly CANONICAL_UNAVAILABLE: "canonical_unavailable";
|
|
45
|
+
};
|
|
46
|
+
/** Closed set of reasons for an unplanned quarantine repair. */
|
|
47
|
+
export type QuarantineRepairNotPlannedReason = (typeof QUARANTINE_REPAIR_NOT_PLANNED_REASONS)[keyof typeof QUARANTINE_REPAIR_NOT_PLANNED_REASONS];
|
|
48
|
+
/** Internal outcomes from attempting to build a system-field repair plan. */
|
|
49
|
+
export declare const REPAIR_PLAN_BUILD_STATUSES: {
|
|
50
|
+
readonly UNAVAILABLE: "unavailable";
|
|
51
|
+
readonly PLANNED: "planned";
|
|
52
|
+
};
|
|
53
|
+
/** Closed set of internal repair-plan build outcomes. */
|
|
54
|
+
export type RepairPlanBuildStatus = (typeof REPAIR_PLAN_BUILD_STATUSES)[keyof typeof REPAIR_PLAN_BUILD_STATUSES];
|
|
55
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/domain/evaluate/constants.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,mDAAmD;AACnD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE1E,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB,EAAG,IAAa,CAAC;AAElD,uDAAuD;AACvD,MAAM,MAAM,YAAY,GAAG,GAAG,OAAO,oBAAoB,GAAG,MAAM,EAAE,CAAC;AAErE,sEAAsE;AACtE,eAAO,MAAM,2BAA2B;;;;;;;CAO9B,CAAC;AAEX,oDAAoD;AACpD,MAAM,MAAM,wBAAwB,GAClC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC;AAEjF,kEAAkE;AAClE,eAAO,MAAM,8BAA8B;;;;;CAKjC,CAAC;AAEX,0DAA0D;AAC1D,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,OAAO,8BAA8B,CAAC,CAAC;AAEvF,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B;;;CAG7B,CAAC;AAEX,yDAAyD;AACzD,MAAM,MAAM,sBAAsB,GAChC,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,OAAO,0BAA0B,CAAC,CAAC;AAE/E,wDAAwD;AACxD,eAAO,MAAM,qCAAqC;;;CAGxC,CAAC;AAEX,gEAAgE;AAChE,MAAM,MAAM,gCAAgC,GAC1C,CAAC,OAAO,qCAAqC,CAAC,CAAC,MAAM,OAAO,qCAAqC,CAAC,CAAC;AAErG,6EAA6E;AAC7E,eAAO,MAAM,0BAA0B;;;CAG7B,CAAC;AAEX,yDAAyD;AACzD,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,OAAO,0BAA0B,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/** Runtime values for row evaluation outcomes. */
|
|
2
|
+
export const ROW_OUTCOMES = {
|
|
3
|
+
ACCEPTED: "accepted",
|
|
4
|
+
PARTIALLY_ACCEPTED: "partially_accepted",
|
|
5
|
+
CONFLICT: "conflict",
|
|
6
|
+
QUARANTINE: "quarantine",
|
|
7
|
+
};
|
|
8
|
+
/** Prefix used for deterministic quarantine identifiers. */
|
|
9
|
+
export const QUARANTINE_ID_PREFIX = "q-";
|
|
10
|
+
/** Keys used to encode values that cannot be represented directly. */
|
|
11
|
+
export const QUARANTINE_FINGERPRINT_KEYS = {
|
|
12
|
+
INVALID_NUMBER: "invalidNumber",
|
|
13
|
+
INVALID_TYPE: "invalidType",
|
|
14
|
+
INVALID_BIGINT: "invalidBigInt",
|
|
15
|
+
INVALID_SYMBOL: "invalidSymbol",
|
|
16
|
+
INVALID_FUNCTION: "invalidFunction",
|
|
17
|
+
INVALID_OBJECT: "invalidObject",
|
|
18
|
+
};
|
|
19
|
+
/** Fixed marker values used inside invalid-value fingerprints. */
|
|
20
|
+
export const QUARANTINE_FINGERPRINT_MARKERS = {
|
|
21
|
+
UNDEFINED: "undefined",
|
|
22
|
+
ANONYMOUS_FUNCTION: "anonymous",
|
|
23
|
+
CYCLE: "cycle",
|
|
24
|
+
PLAIN_OBJECT_TAG: "[object Object]",
|
|
25
|
+
};
|
|
26
|
+
/** Runtime values for the repair decision attached to a quarantined row. */
|
|
27
|
+
export const QUARANTINE_REPAIR_STATUSES = {
|
|
28
|
+
NOT_PLANNED: "not_planned",
|
|
29
|
+
PLANNED: "planned",
|
|
30
|
+
};
|
|
31
|
+
/** Reasons why a quarantined row has no repair plan. */
|
|
32
|
+
export const QUARANTINE_REPAIR_NOT_PLANNED_REASONS = {
|
|
33
|
+
QUARANTINE_ONLY: "quarantine_only",
|
|
34
|
+
CANONICAL_UNAVAILABLE: "canonical_unavailable",
|
|
35
|
+
};
|
|
36
|
+
/** Internal outcomes from attempting to build a system-field repair plan. */
|
|
37
|
+
export const REPAIR_PLAN_BUILD_STATUSES = {
|
|
38
|
+
UNAVAILABLE: "unavailable",
|
|
39
|
+
PLANNED: QUARANTINE_REPAIR_STATUSES.PLANNED,
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/domain/evaluate/constants.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,UAAU;IACpB,kBAAkB,EAAE,oBAAoB;IACxC,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;CAChB,CAAC;AAKX,4DAA4D;AAC5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAa,CAAC;AAKlD,sEAAsE;AACtE,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,cAAc,EAAE,eAAe;IAC/B,YAAY,EAAE,aAAa;IAC3B,cAAc,EAAE,eAAe;IAC/B,cAAc,EAAE,eAAe;IAC/B,gBAAgB,EAAE,iBAAiB;IACnC,cAAc,EAAE,eAAe;CACvB,CAAC;AAMX,kEAAkE;AAClE,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,SAAS,EAAE,WAAW;IACtB,kBAAkB,EAAE,WAAW;IAC/B,KAAK,EAAE,OAAO;IACd,gBAAgB,EAAE,iBAAiB;CAC3B,CAAC;AAMX,4EAA4E;AAC5E,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;CACV,CAAC;AAMX,wDAAwD;AACxD,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,eAAe,EAAE,iBAAiB;IAClC,qBAAqB,EAAE,uBAAuB;CACtC,CAAC;AAMX,6EAA6E;AAC7E,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,0BAA0B,CAAC,OAAO;CACnC,CAAC"}
|