hikoutei 0.3.4 → 0.3.6
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 +44 -21
- package/README.ko.md +43 -23
- package/README.md +49 -33
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +3 -3
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.d.ts +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js +3 -3
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts +3 -3
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js +15 -15
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.d.ts +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.js +3 -3
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts +5 -5
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js +5 -5
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js +5 -5
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js +3 -3
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js.map +1 -1
- package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.d.ts +156 -0
- package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.js +1112 -0
- package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/constants.d.ts +87 -0
- package/dist/adapter/sheets/providers/google-sheets-api/constants.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/constants.js +97 -0
- package/dist/adapter/sheets/providers/google-sheets-api/constants.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/errors.d.ts +53 -0
- package/dist/adapter/sheets/providers/google-sheets-api/errors.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/errors.js +61 -0
- package/dist/adapter/sheets/providers/google-sheets-api/errors.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/index.d.ts +16 -0
- package/dist/adapter/sheets/providers/google-sheets-api/index.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/index.js +13 -0
- package/dist/adapter/sheets/providers/google-sheets-api/index.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/batchBuilder.d.ts +83 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/batchBuilder.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/batchBuilder.js +413 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/batchBuilder.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/observation.d.ts +86 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/observation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/observation.js +439 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/observation.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/planner.d.ts +115 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/planner.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/planner.js +522 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/planner.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.d.ts +17 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.js +99 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.d.ts +242 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.js +707 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/sheetIdAllocator.d.ts +16 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/sheetIdAllocator.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/sheetIdAllocator.js +29 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/sheetIdAllocator.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.d.ts +26 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.js +57 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/valueNormalization.d.ts +102 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/valueNormalization.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/valueNormalization.js +375 -0
- package/dist/adapter/sheets/providers/google-sheets-api/model/valueNormalization.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.d.ts +168 -0
- package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.js +247 -0
- package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.js.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.d.ts +47 -0
- package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.js +60 -0
- package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.js.map +1 -0
- package/dist/api/Hikoutei.d.ts +1 -1
- package/dist/api/Hikoutei.js +1 -1
- package/dist/api/index.d.ts +2 -2
- package/dist/api/index.js +2 -2
- package/dist/application/orm/mapping/contracts.d.ts +2 -2
- package/dist/application/orm/mapping/contracts.d.ts.map +1 -1
- package/dist/application/orm/mapping/definition.js +5 -5
- package/dist/application/orm/mapping/definition.js.map +1 -1
- package/dist/application/orm/mapping/projection.js +7 -7
- package/dist/application/orm/mapping/projection.js.map +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +3 -3
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.js +2 -2
- package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
- package/dist/application/orm/persistence/projection/projectionEffects.d.ts +1 -1
- package/dist/application/orm/persistence/projection/projectionEffects.js +6 -6
- package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -1
- package/dist/application/orm/persistence/support/contracts.d.ts +2 -2
- package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -1
- package/dist/application/sync/inbound/autoSystemConflictResolution.js +7 -7
- package/dist/application/sync/inbound/autoSystemConflictResolution.js.map +1 -1
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts +3 -3
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts.map +1 -1
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.js +1 -1
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.js.map +1 -1
- package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.d.ts +17 -1
- package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.js +27 -1
- package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +2 -2
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +26 -6
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts +24 -9
- package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js +128 -81
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +31 -14
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +32 -15
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts +13 -9
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +53 -37
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts +29 -19
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +59 -41
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts +4 -4
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js +3 -3
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts +3 -3
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +42 -46
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +1 -1
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts +8 -8
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts.map +1 -1
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js +15 -15
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts +3 -3
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +10 -10
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -1
- package/dist/application/sync/service/SyncPollingSupervisor.d.ts +1 -1
- package/dist/application/sync/service/SyncPollingSupervisor.js +1 -1
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts +29 -19
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -1
- package/dist/application/sync/service/SyncServiceBootstrap.js +103 -78
- package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -1
- package/dist/application/sync/service/errors.d.ts +1 -1
- package/dist/application/sync/service/errors.js +1 -1
- package/dist/application/sync/service/errors.js.map +1 -1
- package/dist/application/sync/sheets/conflictProjection.d.ts.map +1 -0
- package/dist/application/sync/sheets/conflictProjection.js.map +1 -0
- package/dist/application/sync/{gateway → sheets}/conflictProjectionRegistration.d.ts +1 -1
- package/dist/application/sync/sheets/conflictProjectionRegistration.d.ts.map +1 -0
- package/dist/application/sync/{gateway → sheets}/conflictProjectionRegistration.js +3 -3
- package/dist/application/sync/sheets/conflictProjectionRegistration.js.map +1 -0
- package/dist/application/sync/sheets/constants.d.ts +66 -0
- package/dist/application/sync/sheets/constants.d.ts.map +1 -0
- package/dist/application/sync/{gateway → sheets}/constants.js +15 -15
- package/dist/application/sync/sheets/constants.js.map +1 -0
- package/dist/application/sync/sheets/errors.d.ts +15 -0
- package/dist/application/sync/sheets/errors.d.ts.map +1 -0
- package/dist/application/sync/sheets/errors.js +16 -0
- package/dist/application/sync/sheets/errors.js.map +1 -0
- package/dist/application/sync/{gateway/coordinator/CoordinatedSyncGateway.d.ts → sheets/mutationCoordinator/CoordinatedSheetsProvider.d.ts} +29 -28
- package/dist/application/sync/sheets/mutationCoordinator/CoordinatedSheetsProvider.d.ts.map +1 -0
- package/dist/application/sync/{gateway/coordinator/CoordinatedSyncGateway.js → sheets/mutationCoordinator/CoordinatedSheetsProvider.js} +27 -26
- package/dist/application/sync/sheets/mutationCoordinator/CoordinatedSheetsProvider.js.map +1 -0
- package/dist/application/sync/{gateway/coordinator → sheets/mutationCoordinator}/asyncMutex.d.ts +2 -3
- package/dist/application/sync/sheets/mutationCoordinator/asyncMutex.d.ts.map +1 -0
- package/dist/application/sync/sheets/mutationCoordinator/asyncMutex.js.map +1 -0
- package/dist/application/sync/{gateway/coordinator/coordinatorTelemetry.d.ts → sheets/mutationCoordinator/laneTelemetry.d.ts} +4 -4
- package/dist/application/sync/sheets/mutationCoordinator/laneTelemetry.d.ts.map +1 -0
- package/dist/application/sync/{gateway/coordinator/coordinatorTelemetry.js → sheets/mutationCoordinator/laneTelemetry.js} +5 -5
- package/dist/application/sync/sheets/mutationCoordinator/laneTelemetry.js.map +1 -0
- package/dist/application/sync/{gateway/SyncGatewayBootstrap.d.ts → sheets/sheetsProvisioning.d.ts} +14 -14
- package/dist/application/sync/sheets/sheetsProvisioning.d.ts.map +1 -0
- package/dist/application/sync/sheets/sheetsProvisioning.js +95 -0
- package/dist/application/sync/sheets/sheetsProvisioning.js.map +1 -0
- package/dist/application/sync/{gateway/syncGateway.d.ts → sheets/syncSheets.d.ts} +61 -117
- package/dist/application/sync/sheets/syncSheets.d.ts.map +1 -0
- package/dist/application/sync/sheets/syncSheets.js +144 -0
- package/dist/application/sync/sheets/syncSheets.js.map +1 -0
- package/dist/application/sync/{gateway/transportClassification.d.ts → sheets/transportOutcome.d.ts} +23 -22
- package/dist/application/sync/sheets/transportOutcome.d.ts.map +1 -0
- package/dist/application/sync/sheets/transportOutcome.js +97 -0
- package/dist/application/sync/sheets/transportOutcome.js.map +1 -0
- package/dist/application/sync/sheets/validation.d.ts +22 -0
- package/dist/application/sync/sheets/validation.d.ts.map +1 -0
- package/dist/application/sync/sheets/validation.js +79 -0
- package/dist/application/sync/sheets/validation.js.map +1 -0
- package/dist/application/sync/telemetry/syncTiming.d.ts +7 -7
- package/dist/application/sync/telemetry/syncTiming.d.ts.map +1 -1
- package/dist/application/sync/telemetry/syncTiming.js +2 -2
- package/dist/application/sync/telemetry/syncTiming.js.map +1 -1
- package/dist/domain/evaluate/contracts.d.ts +1 -1
- package/dist/domain/evaluate/contracts.js +1 -1
- package/dist/domain/model/constants.d.ts +1 -1
- package/dist/domain/model/constants.d.ts.map +1 -1
- package/dist/domain/model/types.d.ts +1 -1
- package/dist/domain/model/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/storage/index.d.ts +1 -1
- package/dist/infrastructure/storage/index.d.ts.map +1 -1
- package/dist/infrastructure/storage/index.js +1 -1
- package/dist/infrastructure/storage/index.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationAudit.d.ts +1 -1
- package/dist/infrastructure/storage/state/observation/observationAudit.js +1 -1
- package/dist/infrastructure/storage/state/observation/observationTypes.d.ts +3 -3
- package/dist/infrastructure/storage/state/observation/observationTypes.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +13 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +23 -2
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +9 -3
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js +7 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +11 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +44 -3
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +1 -1
- package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts +4 -4
- package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/shared/syncRegistry.js +4 -4
- package/dist/infrastructure/storage/sync/shared/syncRegistry.js.map +1 -1
- package/dist/shared/encoding/types.d.ts +1 -1
- package/docs/architecture.md +52 -23
- package/docs/ci.md +31 -23
- package/docs/code-guidelines.md +10 -18
- package/docs/development.md +37 -11
- package/docs/gateway-removal-inventory.md +147 -0
- package/docs/quick-start.md +36 -26
- package/docs/sync-bulk-write-benchmark.md +561 -0
- package/docs/sync-observability.md +38 -45
- package/docs/write-and-synchronization-flow.md +56 -39
- package/package.json +5 -4
- package/apps-script/gateway/Code.gs +0 -447
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts +0 -43
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.js +0 -52
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts +0 -24
- package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/index.js +0 -13
- package/dist/adapter/sheets/providers/apps-script-gateway/index.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts +0 -44
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js +0 -181
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts +0 -3
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js +0 -810
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts +0 -31
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js +0 -560
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts +0 -12
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js +0 -166
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/shared/appsScriptStableCodecSource.d.ts +0 -8
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/shared/appsScriptStableCodecSource.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/shared/appsScriptStableCodecSource.js +0 -122
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/shared/appsScriptStableCodecSource.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.d.ts +0 -31
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.js +0 -567
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts +0 -19
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js +0 -37
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts +0 -51
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js +0 -60
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.d.ts +0 -44
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.js +0 -40
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts +0 -12
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js +0 -41
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.d.ts +0 -5
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js +0 -53
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.d.ts +0 -4
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.js +0 -2
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts +0 -11
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js +0 -36
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts +0 -68
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js +0 -273
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts +0 -73
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js +0 -363
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts +0 -3
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts.map +0 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.js +0 -10
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.js.map +0 -1
- package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts.map +0 -1
- package/dist/application/sync/gateway/SyncGatewayBootstrap.js +0 -95
- package/dist/application/sync/gateway/SyncGatewayBootstrap.js.map +0 -1
- package/dist/application/sync/gateway/conflictProjection.d.ts.map +0 -1
- package/dist/application/sync/gateway/conflictProjection.js.map +0 -1
- package/dist/application/sync/gateway/conflictProjectionRegistration.d.ts.map +0 -1
- package/dist/application/sync/gateway/conflictProjectionRegistration.js.map +0 -1
- package/dist/application/sync/gateway/constants.d.ts +0 -66
- package/dist/application/sync/gateway/constants.d.ts.map +0 -1
- package/dist/application/sync/gateway/constants.js.map +0 -1
- package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.d.ts.map +0 -1
- package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.js.map +0 -1
- package/dist/application/sync/gateway/coordinator/asyncMutex.d.ts.map +0 -1
- package/dist/application/sync/gateway/coordinator/asyncMutex.js.map +0 -1
- package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.d.ts.map +0 -1
- package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.js.map +0 -1
- package/dist/application/sync/gateway/errors.d.ts +0 -15
- package/dist/application/sync/gateway/errors.d.ts.map +0 -1
- package/dist/application/sync/gateway/errors.js +0 -16
- package/dist/application/sync/gateway/errors.js.map +0 -1
- package/dist/application/sync/gateway/syncGateway.d.ts.map +0 -1
- package/dist/application/sync/gateway/syncGateway.js +0 -191
- package/dist/application/sync/gateway/syncGateway.js.map +0 -1
- package/dist/application/sync/gateway/transportClassification.d.ts.map +0 -1
- package/dist/application/sync/gateway/transportClassification.js +0 -133
- package/dist/application/sync/gateway/transportClassification.js.map +0 -1
- package/dist/application/sync/gateway/validation.d.ts +0 -22
- package/dist/application/sync/gateway/validation.d.ts.map +0 -1
- package/dist/application/sync/gateway/validation.js +0 -79
- package/dist/application/sync/gateway/validation.js.map +0 -1
- /package/dist/application/sync/{gateway → sheets}/conflictProjection.d.ts +0 -0
- /package/dist/application/sync/{gateway → sheets}/conflictProjection.js +0 -0
- /package/dist/application/sync/{gateway/coordinator → sheets/mutationCoordinator}/asyncMutex.js +0 -0
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
/** Durable result transitions for
|
|
1
|
+
/** Durable result transitions for provider responses and response-loss recovery. */
|
|
2
2
|
import { stableHash } from "../../../../domain/index.js";
|
|
3
3
|
import { LOOKUP_RESULT_KINDS, } from "../../../../shared/state/constants.js";
|
|
4
|
-
import {
|
|
4
|
+
import { SYNC_EFFECT_RESULT_STATUSES, SYNC_POSTCONDITION_DISPOSITIONS, } from "../../sheets/constants.js";
|
|
5
5
|
import { OUTBOX_EFFECT_STATUSES, SYNC_EFFECT_KINDS, WORKER_ERROR_CODES, } from "./SyncEffectWorkerConstants.js";
|
|
6
6
|
import { absentValue, presentValue } from "../../../../shared/state/index.js";
|
|
7
7
|
import { applicabilityFromSqlNullable, isPresent, lookupResult, safeErrorMessage, } from "./SyncEffectWorkerHelpers.js";
|
|
8
|
-
import {
|
|
9
|
-
export async function
|
|
10
|
-
if (result.status ===
|
|
11
|
-
result.status ===
|
|
8
|
+
import { groupByPostconditionRequest, isCandidateProtectingUserInputEffect, } from "./SyncEffectWorkerRouting.js";
|
|
9
|
+
export async function completeProviderResult(options, storage, fence, item, result, report) {
|
|
10
|
+
if (result.status === SYNC_EFFECT_RESULT_STATUSES.APPLIED ||
|
|
11
|
+
result.status === SYNC_EFFECT_RESULT_STATUSES.ALREADY_APPLIED) {
|
|
12
12
|
if (!isPresent(result.visibleRevision) || !isPresent(result.visibleHash)) {
|
|
13
|
-
await deferDeliveryUncertain(storage, fence, item, WORKER_ERROR_CODES.POSTCONDITION_APPLIED_WITHOUT_VISIBLE_STATE, "
|
|
13
|
+
await deferDeliveryUncertain(storage, fence, item, WORKER_ERROR_CODES.POSTCONDITION_APPLIED_WITHOUT_VISIBLE_STATE, "Provider applied result did not include receipt-backed visible evidence.", report);
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
16
|
await completeApplied(storage, fence, item, result.visibleRevision, result.visibleHash, report);
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
|
-
if (result.status ===
|
|
19
|
+
if (result.status === SYNC_EFFECT_RESULT_STATUSES.SUPERSEDED) {
|
|
20
20
|
if (await storage.applyEffectResult({
|
|
21
21
|
...fence,
|
|
22
22
|
effectId: item.pending.effect_id,
|
|
23
23
|
claimToken: item.claimToken,
|
|
24
24
|
status: OUTBOX_EFFECT_STATUSES.SUPERSEDED,
|
|
25
|
-
lastErrorCode: presentValue(WORKER_ERROR_CODES.
|
|
25
|
+
lastErrorCode: presentValue(WORKER_ERROR_CODES.PROVIDER_SUPERSEDED),
|
|
26
26
|
lastErrorMessage: result.reason,
|
|
27
27
|
}))
|
|
28
28
|
report.superseded += 1;
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
|
-
if (result.status ===
|
|
32
|
-
const blocked = isPresent(item.
|
|
33
|
-
isCandidateProtectingUserInputEffect(item.
|
|
31
|
+
if (result.status === SYNC_EFFECT_RESULT_STATUSES.GUARD_MISMATCH) {
|
|
32
|
+
const blocked = isPresent(item.providerEffect) &&
|
|
33
|
+
isCandidateProtectingUserInputEffect(item.providerEffect.value);
|
|
34
34
|
const status = blocked
|
|
35
35
|
? OUTBOX_EFFECT_STATUSES.BLOCKED_CANDIDATE
|
|
36
36
|
: OUTBOX_EFFECT_STATUSES.CONFLICT;
|
|
@@ -52,17 +52,17 @@ export async function completeGatewayResult(options, storage, fence, item, resul
|
|
|
52
52
|
}
|
|
53
53
|
return;
|
|
54
54
|
}
|
|
55
|
-
if (result.status ===
|
|
55
|
+
if (result.status === SYNC_EFFECT_RESULT_STATUSES.REPAIR_REOBSERVE) {
|
|
56
56
|
await replanOrFail(options, storage, fence, item, {
|
|
57
57
|
effect: item.pending,
|
|
58
|
-
|
|
58
|
+
providerResult: presentValue(result),
|
|
59
59
|
postcondition: absentValue(),
|
|
60
60
|
}, report);
|
|
61
61
|
return;
|
|
62
62
|
}
|
|
63
|
-
await completeFailure(storage, fence, item, result.status ===
|
|
64
|
-
? WORKER_ERROR_CODES.
|
|
65
|
-
: WORKER_ERROR_CODES.
|
|
63
|
+
await completeFailure(storage, fence, item, result.status === SYNC_EFFECT_RESULT_STATUSES.SCHEMA_ERROR
|
|
64
|
+
? WORKER_ERROR_CODES.PROVIDER_SCHEMA_ERROR
|
|
65
|
+
: WORKER_ERROR_CODES.PROVIDER_RETRYABLE_ERROR, result.reason, report);
|
|
66
66
|
}
|
|
67
67
|
const DURABLE_PROBE_RETRY_DELAY_MS = 1_000;
|
|
68
68
|
export async function recoverUnknownResults(options, storage, fence, items, report) {
|
|
@@ -72,20 +72,16 @@ export async function recoverUnknownResults(options, storage, fence, items, repo
|
|
|
72
72
|
});
|
|
73
73
|
const usable = [];
|
|
74
74
|
for (const item of items) {
|
|
75
|
-
if (isPresent(item.
|
|
75
|
+
if (isPresent(item.providerEffect)) {
|
|
76
76
|
usable.push(item);
|
|
77
77
|
continue;
|
|
78
78
|
}
|
|
79
79
|
await completeFailure(storage, liveFence(), item, WORKER_ERROR_CODES.INVALID_EFFECT_PAYLOAD, item.invalidPayloadError, report);
|
|
80
80
|
}
|
|
81
|
-
const
|
|
82
|
-
for (const group of groupByGatewayPostconditionRequest(usable, {
|
|
83
|
-
epoch: probeAuthority.writerEpoch,
|
|
84
|
-
token: probeAuthority.fencingToken,
|
|
85
|
-
})) {
|
|
81
|
+
for (const group of groupByPostconditionRequest(usable)) {
|
|
86
82
|
let results;
|
|
87
83
|
try {
|
|
88
|
-
results = await options.
|
|
84
|
+
results = await options.provider.readEffectPostconditions(group.request);
|
|
89
85
|
}
|
|
90
86
|
catch (error) {
|
|
91
87
|
for (const item of group.items) {
|
|
@@ -98,7 +94,7 @@ export async function recoverUnknownResults(options, storage, fence, items, repo
|
|
|
98
94
|
const result = lookupResult(byEffectId.get(item.pending.effect_id));
|
|
99
95
|
if (result.kind === LOOKUP_RESULT_KINDS.NOT_FOUND ||
|
|
100
96
|
result.value.payloadHash !== item.pending.payload_hash) {
|
|
101
|
-
await deferDeliveryUncertain(storage, liveFence(), item, WORKER_ERROR_CODES.POSTCONDITION_READ_FAILED, "
|
|
97
|
+
await deferDeliveryUncertain(storage, liveFence(), item, WORKER_ERROR_CODES.POSTCONDITION_READ_FAILED, "Provider postcondition batch did not return the expected effect evidence.", report);
|
|
102
98
|
continue;
|
|
103
99
|
}
|
|
104
100
|
await settleUnknownPostcondition(options, storage, liveFence(), item, result.value.postcondition, report);
|
|
@@ -106,11 +102,11 @@ export async function recoverUnknownResults(options, storage, fence, items, repo
|
|
|
106
102
|
}
|
|
107
103
|
}
|
|
108
104
|
export async function settleUnknownPostcondition(options, storage, fence, item, postcondition, report) {
|
|
109
|
-
if (!isPresent(item.
|
|
105
|
+
if (!isPresent(item.providerEffect)) {
|
|
110
106
|
await completeFailure(storage, fence, item, WORKER_ERROR_CODES.INVALID_EFFECT_PAYLOAD, item.invalidPayloadError, report);
|
|
111
107
|
return;
|
|
112
108
|
}
|
|
113
|
-
if (postcondition.disposition ===
|
|
109
|
+
if (postcondition.disposition === SYNC_POSTCONDITION_DISPOSITIONS.APPLIED &&
|
|
114
110
|
isPresent(postcondition.visibleRevision) &&
|
|
115
111
|
isPresent(postcondition.visibleHash)) {
|
|
116
112
|
if (await completeApplied(storage, fence, item, postcondition.visibleRevision, postcondition.visibleHash, report)) {
|
|
@@ -118,26 +114,26 @@ export async function settleUnknownPostcondition(options, storage, fence, item,
|
|
|
118
114
|
}
|
|
119
115
|
return;
|
|
120
116
|
}
|
|
121
|
-
if (postcondition.disposition ===
|
|
122
|
-
await deferDeliveryUncertain(storage, fence, item, WORKER_ERROR_CODES.POSTCONDITION_APPLIED_WITHOUT_VISIBLE_STATE, "
|
|
117
|
+
if (postcondition.disposition === SYNC_POSTCONDITION_DISPOSITIONS.APPLIED) {
|
|
118
|
+
await deferDeliveryUncertain(storage, fence, item, WORKER_ERROR_CODES.POSTCONDITION_APPLIED_WITHOUT_VISIBLE_STATE, "Provider claimed an applied postcondition without a verified visible revision and hash.", report);
|
|
123
119
|
return;
|
|
124
120
|
}
|
|
125
|
-
if (postcondition.disposition ===
|
|
126
|
-
item.
|
|
121
|
+
if (postcondition.disposition === SYNC_POSTCONDITION_DISPOSITIONS.CHANGED &&
|
|
122
|
+
item.providerEffect.value.effectKind === SYNC_EFFECT_KINDS.SYSTEM_REPAIR) {
|
|
127
123
|
await replanOrFail(options, storage, fence, item, {
|
|
128
124
|
effect: item.pending,
|
|
129
|
-
|
|
125
|
+
providerResult: absentValue(),
|
|
130
126
|
postcondition: presentValue(postcondition),
|
|
131
127
|
}, report);
|
|
132
128
|
return;
|
|
133
129
|
}
|
|
134
|
-
if (postcondition.disposition ===
|
|
130
|
+
if (postcondition.disposition === SYNC_POSTCONDITION_DISPOSITIONS.UNAPPLIED) {
|
|
135
131
|
const requeued = await storage.retryClaimedEffect({
|
|
136
132
|
...fence,
|
|
137
133
|
effectId: item.pending.effect_id,
|
|
138
134
|
claimToken: item.claimToken,
|
|
139
135
|
lastErrorCode: WORKER_ERROR_CODES.POSTCONDITION_UNAPPLIED_REQUIRES_REDRIVE,
|
|
140
|
-
lastErrorMessage: "
|
|
136
|
+
lastErrorMessage: "Provider did not expose the effect as applied; it was returned to pending.",
|
|
141
137
|
nextAttemptAt: fence.now + DURABLE_PROBE_RETRY_DELAY_MS,
|
|
142
138
|
});
|
|
143
139
|
if (requeued) {
|
|
@@ -146,15 +142,15 @@ export async function settleUnknownPostcondition(options, storage, fence, item,
|
|
|
146
142
|
}
|
|
147
143
|
return;
|
|
148
144
|
}
|
|
149
|
-
if (postcondition.disposition ===
|
|
150
|
-
await deferDeliveryUncertain(storage, fence, item, WORKER_ERROR_CODES.POSTCONDITION_UNAVAILABLE, "
|
|
145
|
+
if (postcondition.disposition === SYNC_POSTCONDITION_DISPOSITIONS.UNAVAILABLE) {
|
|
146
|
+
await deferDeliveryUncertain(storage, fence, item, WORKER_ERROR_CODES.POSTCONDITION_UNAVAILABLE, "Provider response was not observed; postcondition=unavailable" +
|
|
151
147
|
(postcondition.reason === undefined ? "" : ", reason=" + postcondition.reason), report);
|
|
152
148
|
return;
|
|
153
149
|
}
|
|
154
|
-
const code = postcondition.disposition ===
|
|
150
|
+
const code = postcondition.disposition === SYNC_POSTCONDITION_DISPOSITIONS.CHANGED
|
|
155
151
|
? WORKER_ERROR_CODES.POSTCONDITION_CHANGED
|
|
156
152
|
: WORKER_ERROR_CODES.POSTCONDITION_UNAPPLIED_REQUIRES_REDRIVE;
|
|
157
|
-
await completeFailure(storage, fence, item, code, presentValue("
|
|
153
|
+
await completeFailure(storage, fence, item, code, presentValue("Provider response was not observed; postcondition=" +
|
|
158
154
|
postcondition.disposition +
|
|
159
155
|
(postcondition.reason === undefined ? "" : ", reason=" + postcondition.reason)), report);
|
|
160
156
|
}
|
|
@@ -172,8 +168,8 @@ async function deferDeliveryUncertain(storage, fence, item, code, message, repor
|
|
|
172
168
|
report.deferred += 1;
|
|
173
169
|
}
|
|
174
170
|
export async function completeApplied(storage, fence, item, visibleRevision, visibleHash, report) {
|
|
175
|
-
const
|
|
176
|
-
if (!isPresent(
|
|
171
|
+
const providerEffect = item.providerEffect;
|
|
172
|
+
if (!isPresent(providerEffect)) {
|
|
177
173
|
await completeFailure(storage, fence, item, WORKER_ERROR_CODES.INVALID_EFFECT_PAYLOAD, item.invalidPayloadError, report);
|
|
178
174
|
return false;
|
|
179
175
|
}
|
|
@@ -181,22 +177,22 @@ export async function completeApplied(storage, fence, item, visibleRevision, vis
|
|
|
181
177
|
await deferDeliveryUncertain(storage, fence, item, WORKER_ERROR_CODES.POSTCONDITION_APPLIED_WITHOUT_VISIBLE_STATE, "Applied effect lacks receipt-backed visible revision and hash evidence.", report);
|
|
182
178
|
return false;
|
|
183
179
|
}
|
|
184
|
-
if (visibleHash.value !==
|
|
185
|
-
await completeFailure(storage, fence, item, WORKER_ERROR_CODES.POSTCONDITION_READ_FAILED, presentValue("
|
|
180
|
+
if (visibleHash.value !== providerEffect.value.payload.targetVisibleHash) {
|
|
181
|
+
await completeFailure(storage, fence, item, WORKER_ERROR_CODES.POSTCONDITION_READ_FAILED, presentValue("Provider postcondition visible hash does not match the effect target."), report);
|
|
186
182
|
return false;
|
|
187
183
|
}
|
|
188
|
-
const confirmation = isPresent(
|
|
189
|
-
isPresent(
|
|
184
|
+
const confirmation = isPresent(providerEffect) &&
|
|
185
|
+
isPresent(providerEffect.value.rowBindingId) &&
|
|
190
186
|
isPresent(visibleRevision) &&
|
|
191
187
|
isPresent(visibleHash)
|
|
192
188
|
? {
|
|
193
189
|
physicalSheetId: item.pending.physical_sheet_id,
|
|
194
190
|
projection: item.pending.projection,
|
|
195
|
-
rowBindingId:
|
|
191
|
+
rowBindingId: providerEffect.value.rowBindingId.value,
|
|
196
192
|
visibleRevision: visibleRevision.value,
|
|
197
193
|
visibleHash: visibleHash.value,
|
|
198
194
|
entityRevision: applicabilityFromSqlNullable(item.pending.target_entity_revision),
|
|
199
|
-
fieldHashes: Object.fromEntries(Object.entries(
|
|
195
|
+
fieldHashes: Object.fromEntries(Object.entries(providerEffect.value.payload.fields)
|
|
200
196
|
.map(([fieldName, value]) => [fieldName, stableHash(value)])),
|
|
201
197
|
}
|
|
202
198
|
: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SyncEffectWorkerTransitions.js","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/effects/SyncEffectWorkerTransitions.ts"],"names":[],"mappings":"AAAA,mFAAmF;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAGzD,OAAO,EACL,mBAAmB,GACpB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EACL,mCAAmC,EACnC,uCAAuC,GACxC,MAAM,4BAA4B,CAAC;AAKpC,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EACL,4BAA4B,EAC5B,SAAS,EACT,YAAY,EACZ,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,kCAAkC,EAClC,oCAAoC,GACrC,MAAM,8BAA8B,CAAC;AAUtC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAoC,EACpC,OAA4B,EAC5B,KAAqB,EACrB,IAAmB,EACnB,MAA+B,EAC/B,MAAqB;IAErB,IACE,MAAM,CAAC,MAAM,KAAK,mCAAmC,CAAC,OAAO;QAC7D,MAAM,CAAC,MAAM,KAAK,mCAAmC,CAAC,eAAe,EACrE,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACzE,MAAM,sBAAsB,CAC1B,OAAO,EACP,KAAK,EACL,IAAI,EACJ,kBAAkB,CAAC,2CAA2C,EAC9D,yEAAyE,EACzE,MAAM,CACP,CAAC;YACF,OAAO;QACT,CAAC;QACD,MAAM,eAAe,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAChG,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,mCAAmC,CAAC,UAAU,EAAE,CAAC;QACrE,IAAI,MAAM,OAAO,CAAC,iBAAiB,CAAC;YAClC,GAAG,KAAK;YACR,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,sBAAsB,CAAC,UAAU;YACzC,aAAa,EAAE,YAAY,CAAC,kBAAkB,CAAC,kBAAkB,CAAC;YAClE,gBAAgB,EAAE,MAAM,CAAC,MAAM;SAChC,CAAC;YAAE,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAC3B,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,mCAAmC,CAAC,cAAc,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC;YAC3C,oCAAoC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,OAAO;YACpB,CAAC,CAAC,sBAAsB,CAAC,iBAAiB;YAC1C,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC;QACpC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC;YAC9C,GAAG,KAAK;YACR,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM;YACN,aAAa,EAAE,YAAY,CACzB,OAAO;gBACL,CAAC,CAAC,kBAAkB,CAAC,wBAAwB;gBAC7C,CAAC,CAAC,kBAAkB,CAAC,sBAAsB,CAC9C;YACD,gBAAgB,EAAE,MAAM,CAAC,MAAM;SAChC,CAAC,CAAC;QACH,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO;gBAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,CAAC;;gBACrC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,mCAAmC,CAAC,gBAAgB,EAAE,CAAC;QAC3E,MAAM,YAAY,CAChB,OAAO,EACP,OAAO,EACP,KAAK,EACL,IAAI,EACJ;YACE,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC;YACnC,aAAa,EAAE,WAAW,EAAE;SAC7B,EACD,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,eAAe,CACnB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,MAAM,CAAC,MAAM,KAAK,mCAAmC,CAAC,YAAY;QAChE,CAAC,CAAC,kBAAkB,CAAC,oBAAoB;QACzC,CAAC,CAAC,kBAAkB,CAAC,uBAAuB,EAC9C,MAAM,CAAC,MAAM,EACb,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,4BAA4B,GAAG,KAAK,CAAC;AAE3C,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAoC,EACpC,OAA4B,EAC5B,KAAqB,EACrB,KAA+B,EAC/B,MAAqB;IAErB,MAAM,SAAS,GAAG,GAAmB,EAAE,CAAC,CAAC;QACvC,GAAG,KAAK;QACR,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,KAAK,CAAC,GAAG;KACpC,CAAC,CAAC;IACH,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,MAAM,eAAe,CACnB,OAAO,EACP,SAAS,EAAE,EACX,IAAI,EACJ,kBAAkB,CAAC,sBAAsB,EACzC,IAAI,CAAC,mBAAmB,EACxB,MAAM,CACP,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,SAAS,EAAE,CAAC;IACnC,KAAK,MAAM,KAAK,IAAI,kCAAkC,CAAC,MAAM,EAAE;QAC7D,KAAK,EAAE,cAAc,CAAC,WAAW;QACjC,KAAK,EAAE,cAAc,CAAC,YAAY;KACnC,CAAC,EAAE,CAAC;QACH,IAAI,OAID,CAAC;QACJ,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,sBAAsB,CAC1B,OAAO,EACP,SAAS,EAAE,EACX,IAAI,EACJ,kBAAkB,CAAC,yBAAyB,EAC5C,gBAAgB,CAAC,KAAK,CAAC,EACvB,MAAM,CACP,CAAC;YACJ,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/E,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACpE,IACE,MAAM,CAAC,IAAI,KAAK,mBAAmB,CAAC,SAAS;gBAC7C,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,OAAO,CAAC,YAAY,EACtD,CAAC;gBACD,MAAM,sBAAsB,CAC1B,OAAO,EACP,SAAS,EAAE,EACX,IAAI,EACJ,kBAAkB,CAAC,yBAAyB,EAC5C,0EAA0E,EAC1E,MAAM,CACP,CAAC;gBACF,SAAS;YACX,CAAC;YACD,MAAM,0BAA0B,CAC9B,OAAO,EACP,OAAO,EACP,SAAS,EAAE,EACX,IAAI,EACJ,MAAM,CAAC,KAAK,CAAC,aAAa,EAC1B,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAoC,EACpC,OAA4B,EAC5B,KAAqB,EACrB,IAAmB,EACnB,aAAsC,EACtC,MAAqB;IAErB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACnC,MAAM,eAAe,CACnB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,kBAAkB,CAAC,sBAAsB,EACzC,IAAI,CAAC,mBAAmB,EACxB,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IACD,IACE,aAAa,CAAC,WAAW,KAAK,uCAAuC,CAAC,OAAO;QAC7E,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC;QACxC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,EACpC,CAAC;QACD,IAAI,MAAM,eAAe,CACvB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,aAAa,CAAC,eAAe,EAC7B,aAAa,CAAC,WAAW,EACzB,MAAM,CACP,EAAE,CAAC;YACF,MAAM,CAAC,qBAAqB,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,aAAa,CAAC,WAAW,KAAK,uCAAuC,CAAC,OAAO,EAAE,CAAC;QAClF,MAAM,sBAAsB,CAC1B,OAAO,EACP,KAAK,EACL,IAAI,EACJ,kBAAkB,CAAC,2CAA2C,EAC9D,wFAAwF,EACxF,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IACD,IACE,aAAa,CAAC,WAAW,KAAK,uCAAuC,CAAC,OAAO;QAC7E,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,KAAK,iBAAiB,CAAC,aAAa,EACvE,CAAC;QACD,MAAM,YAAY,CAChB,OAAO,EACP,OAAO,EACP,KAAK,EACL,IAAI,EACJ;YACE,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,aAAa,EAAE,WAAW,EAAE;YAC5B,aAAa,EAAE,YAAY,CAAC,aAAa,CAAC;SAC3C,EACD,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,aAAa,CAAC,WAAW,KAAK,uCAAuC,CAAC,SAAS,EAAE,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC;YAChD,GAAG,KAAK;YACR,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,kBAAkB,CAAC,wCAAwC;YAC1E,gBAAgB,EAAE,2EAA2E;YAC7F,aAAa,EAAE,KAAK,CAAC,GAAG,GAAG,4BAA4B;SACxD,CAAC,CAAC;QACH,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;YACrB,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;QACvB,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,aAAa,CAAC,WAAW,KAAK,uCAAuC,CAAC,WAAW,EAAE,CAAC;QACtF,MAAM,sBAAsB,CAC1B,OAAO,EACP,KAAK,EACL,IAAI,EACJ,kBAAkB,CAAC,yBAAyB,EAC5C,8DAA8D;YAC5D,CAAC,aAAa,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,EAChF,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,aAAa,CAAC,WAAW,KAAK,uCAAuC,CAAC,OAAO;QACxF,CAAC,CAAC,kBAAkB,CAAC,qBAAqB;QAC1C,CAAC,CAAC,kBAAkB,CAAC,wCAAwC,CAAC;IAChE,MAAM,eAAe,CACnB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,YAAY,CACV,mDAAmD;QACnD,aAAa,CAAC,WAAW;QACzB,CAAC,aAAa,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAC/E,EACD,MAAM,CACP,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAA4B,EAC5B,KAAqB,EACrB,IAAmB,EACnB,IAA+B,EAC/B,OAAe,EACf,MAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC;QACjD,GAAG,KAAK;QACR,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;QAChC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,KAAK,CAAC,GAAG;QACzD,WAAW,EAAE,KAAK,CAAC,GAAG,GAAG,4BAA4B;QACrD,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,OAAO;KAC1B,CAAC,CAAC;IACH,IAAI,MAAM;QAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA4B,EAC5B,KAAqB,EACrB,IAAmB,EACnB,eAAiC,EACjC,WAA6B,EAC7B,MAAqB;IAErB,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACzC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9B,MAAM,eAAe,CACnB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,kBAAkB,CAAC,sBAAsB,EACzC,IAAI,CAAC,mBAAmB,EACxB,MAAM,CACP,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3D,MAAM,sBAAsB,CAC1B,OAAO,EACP,KAAK,EACL,IAAI,EACJ,kBAAkB,CAAC,2CAA2C,EAC9D,yEAAyE,EACzE,MAAM,CACP,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,WAAW,CAAC,KAAK,KAAK,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,iBAAiB,EACnE,CAAC;QACD,MAAM,eAAe,CACnB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,kBAAkB,CAAC,yBAAyB,EAC5C,YAAY,CAAC,sEAAsE,CAAC,EACpF,MAAM,CACP,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,YAAY,GAChB,SAAS,CAAC,aAAa,CAAC;QACxB,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC;QAC3C,SAAS,CAAC,eAAe,CAAC;QAC1B,SAAS,CAAC,WAAW,CAAC;QACtB,CAAC,CAAC;YACA,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB;YAC/C,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU;YACnC,YAAY,EAAE,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK;YACpD,eAAe,EAAE,eAAe,CAAC,KAAK;YACtC,WAAW,EAAE,WAAW,CAAC,KAAK;YAC9B,cAAc,EAAE,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;YACjF,WAAW,EAAE,MAAM,CAAC,WAAW,CAC7B,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;iBAC/C,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAC/D;SACF;QACD,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC;QAC9C,GAAG,KAAK;QACR,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;QAChC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,sBAAsB,CAAC,OAAO;QACtC,aAAa,EAAE,WAAW,EAAE;QAC5B,gBAAgB,EAAE,WAAW,EAAE;QAC/B,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,sBAAsB,EAAE,YAAY,EAAE,CAAC;KAChF,CAAC,CAAC;IACH,IAAI,OAAO;QAAE,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC;IACjC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,OAAoC,EACpC,OAA4B,EAC5B,KAAqB,EACrB,IAAmB,EACnB,OAA4B,EAC5B,MAAqB;IAErB,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,eAAe,CACnB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,kBAAkB,CAAC,uCAAuC,EAC1D,YAAY,CAAC,+EAA+E,CAAC,EAC7F,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,WAAgC,CAAC;IACrC,IAAI,CAAC;QACH,WAAW,GAAG,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,eAAe,CACnB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,kBAAkB,CAAC,oBAAoB,EACvC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EACrC,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;QAC5B,MAAM,eAAe,CACnB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,kBAAkB,CAAC,sBAAsB,EACzC,YAAY,CAAC,4DAA4D,CAAC,EAC1E,MAAM,CACP,CAAC;QACF,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QACnF,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;IACxB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,eAAe,CACnB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,kBAAkB,CAAC,oBAAoB,EACvC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EACrC,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA4B,EAC5B,KAAqB,EACrB,IAAmB,EACnB,IAA+B,EAC/B,OAAyB,EACzB,MAAqB;IAErB,IAAI,MAAM,OAAO,CAAC,iBAAiB,CAAC;QAClC,GAAG,KAAK;QACR,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;QAChC,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,MAAM,EAAE,sBAAsB,CAAC,MAAM;QACrC,aAAa,EAAE,YAAY,CAAC,IAAI,CAAC;QACjC,gBAAgB,EAAE,OAAO;KAC1B,CAAC;QAAE,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"SyncEffectWorkerTransitions.js","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/effects/SyncEffectWorkerTransitions.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
* The public repository never exposes insert/update/delete mechanics here.
|
|
5
5
|
* These helpers translate a writer-approved canonical/candidate/resolution
|
|
6
6
|
* decision into one immutable effect payload; the effect worker later performs
|
|
7
|
-
* the remote compare-and-set through the
|
|
7
|
+
* the remote compare-and-set through the provider.
|
|
8
8
|
*/
|
|
9
9
|
import { type Applicability, type EffectTargetKind, type NormalizedCell, type Presence } from "../../../../domain/index.js";
|
|
10
|
-
import {
|
|
11
|
-
import { type SyncEffectKind, type SyncProjection } from "../../
|
|
10
|
+
import { SYNC_PROJECTIONS } from "../../sheets/constants.js";
|
|
11
|
+
import { type SyncEffectKind, type SyncProjection } from "../../sheets/syncSheets.js";
|
|
12
12
|
import type { NewEffect } from "../../../../infrastructure/storage/index.js";
|
|
13
13
|
/** Common immutable coordinates of a writer-approved projection effect. */
|
|
14
14
|
export interface ProjectionEffectInput {
|
|
@@ -42,15 +42,15 @@ export interface ProjectionEffectInput {
|
|
|
42
42
|
export type SystemProjectionEffectInput = Omit<ProjectionEffectInput, "effectKind">;
|
|
43
43
|
/** Input for a User_Input candidate reconciliation effect. */
|
|
44
44
|
export type CandidateReconcileEffectInput = Omit<ProjectionEffectInput, "effectKind" | "projection"> & {
|
|
45
|
-
readonly projection?: typeof
|
|
45
|
+
readonly projection?: typeof SYNC_PROJECTIONS.USER_INPUT;
|
|
46
46
|
};
|
|
47
47
|
/** Input for a guarded physical deletion from a User_Input projection. */
|
|
48
48
|
export type UserInputDeleteEffectInput = Omit<ProjectionEffectInput, "effectKind" | "projection"> & {
|
|
49
|
-
readonly projection?: typeof
|
|
49
|
+
readonly projection?: typeof SYNC_PROJECTIONS.USER_INPUT;
|
|
50
50
|
};
|
|
51
51
|
/** Shared input for effects projected to the Sync_Conflicts control sheet. */
|
|
52
52
|
export type ResolutionEffectInput = Omit<ProjectionEffectInput, "effectKind" | "projection" | "targetKind"> & {
|
|
53
|
-
readonly projection?: typeof
|
|
53
|
+
readonly projection?: typeof SYNC_PROJECTIONS.SYNC_CONFLICTS;
|
|
54
54
|
};
|
|
55
55
|
/** Builds an immutable outbox row, including stable payload/dedupe identities. */
|
|
56
56
|
export declare function createProjectionEffect(input: ProjectionEffectInput): NewEffect;
|
|
@@ -61,7 +61,7 @@ export declare function createCandidateReconcileEffect(input: CandidateReconcile
|
|
|
61
61
|
/**
|
|
62
62
|
* Creates a full-row, candidate-preserving deletion for one User_Input row.
|
|
63
63
|
*
|
|
64
|
-
* The payload must represent the exact current visible row. The
|
|
64
|
+
* The payload must represent the exact current visible row. The provider can
|
|
65
65
|
* therefore remove only the anchored row that the canonical delete observed,
|
|
66
66
|
* while the worker blocks the effect if an unresolved user candidate exists.
|
|
67
67
|
*/
|
|
@@ -74,7 +74,7 @@ export declare function createResolutionProjectionEffect(input: ResolutionEffect
|
|
|
74
74
|
* Creates a guarded deletion for one resolved system-owned conflict row.
|
|
75
75
|
*
|
|
76
76
|
* The payload carries the full currently visible conflict row as the expected
|
|
77
|
-
* state. The
|
|
77
|
+
* state. The provider therefore deletes only the exact anchored row that the
|
|
78
78
|
* resolver observed; it never deletes by mutable sheet row number.
|
|
79
79
|
*/
|
|
80
80
|
export declare function createResolutionDeleteEffect(input: ResolutionEffectInput): NewEffect;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectionEffectFactory.d.ts","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/projection/ProjectionEffectFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACd,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EAEL,
|
|
1
|
+
{"version":3,"file":"ProjectionEffectFactory.d.ts","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/projection/ProjectionEffectFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,20 +4,20 @@
|
|
|
4
4
|
* The public repository never exposes insert/update/delete mechanics here.
|
|
5
5
|
* These helpers translate a writer-approved canonical/candidate/resolution
|
|
6
6
|
* decision into one immutable effect payload; the effect worker later performs
|
|
7
|
-
* the remote compare-and-set through the
|
|
7
|
+
* the remote compare-and-set through the provider.
|
|
8
8
|
*/
|
|
9
9
|
import { EMPTY_ARRAY_LENGTH_ZERO, EMPTY_STRING_LENGTH_ZERO, NON_NEGATIVE_SAFE_INTEGER_MINIMUM, POSITIVE_SAFE_INTEGER_MINIMUM, stableHash, } from "../../../../domain/index.js";
|
|
10
10
|
import { APPLICABILITY_KINDS, PRESENCE_KINDS, absentValue, applicableValue, notApplicableValue, } from "../../../../shared/state/index.js";
|
|
11
|
-
import {
|
|
12
|
-
import { computeSyncVisibleHash, serializeSyncProjectionEffectPayload, } from "../../
|
|
11
|
+
import { SYNC_DELETE_EFFECT_KINDS, SYNC_PROJECTIONS, } from "../../sheets/constants.js";
|
|
12
|
+
import { computeSyncVisibleHash, serializeSyncProjectionEffectPayload, } from "../../sheets/syncSheets.js";
|
|
13
13
|
import { STORAGE_ERROR_CODES, StorageError, } from "../../../../infrastructure/storage/errors.js";
|
|
14
14
|
const PROJECTION_EFFECT_KINDS = {
|
|
15
15
|
SYSTEM_PROJECTION: "system_projection",
|
|
16
16
|
CANDIDATE_RECONCILE: "candidate_reconcile",
|
|
17
17
|
SYSTEM_REPAIR: "system_repair",
|
|
18
18
|
RESOLUTION_PROJECTION: "resolution_projection",
|
|
19
|
-
RESOLUTION_DELETE:
|
|
20
|
-
USER_INPUT_DELETE:
|
|
19
|
+
RESOLUTION_DELETE: SYNC_DELETE_EFFECT_KINDS.RESOLUTION_DELETE,
|
|
20
|
+
USER_INPUT_DELETE: SYNC_DELETE_EFFECT_KINDS.USER_INPUT_DELETE,
|
|
21
21
|
};
|
|
22
22
|
const PROJECTION_TARGET_KINDS = {
|
|
23
23
|
ENTITY: "entity",
|
|
@@ -85,7 +85,7 @@ export function createProjectionEffect(input) {
|
|
|
85
85
|
}
|
|
86
86
|
/** Creates a canonical System_State projection effect. */
|
|
87
87
|
export function createSystemProjectionEffect(input) {
|
|
88
|
-
if (input.projection !==
|
|
88
|
+
if (input.projection !== SYNC_PROJECTIONS.SYSTEM_STATE) {
|
|
89
89
|
throwEffectError("system projection must target system_state");
|
|
90
90
|
}
|
|
91
91
|
return createProjectionEffect({
|
|
@@ -97,21 +97,21 @@ export function createSystemProjectionEffect(input) {
|
|
|
97
97
|
export function createCandidateReconcileEffect(input) {
|
|
98
98
|
return createProjectionEffect({
|
|
99
99
|
...input,
|
|
100
|
-
projection:
|
|
100
|
+
projection: SYNC_PROJECTIONS.USER_INPUT,
|
|
101
101
|
effectKind: PROJECTION_EFFECT_KINDS.CANDIDATE_RECONCILE,
|
|
102
102
|
});
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
105
105
|
* Creates a full-row, candidate-preserving deletion for one User_Input row.
|
|
106
106
|
*
|
|
107
|
-
* The payload must represent the exact current visible row. The
|
|
107
|
+
* The payload must represent the exact current visible row. The provider can
|
|
108
108
|
* therefore remove only the anchored row that the canonical delete observed,
|
|
109
109
|
* while the worker blocks the effect if an unresolved user candidate exists.
|
|
110
110
|
*/
|
|
111
111
|
export function createUserInputDeleteEffect(input) {
|
|
112
112
|
return createProjectionEffect({
|
|
113
113
|
...input,
|
|
114
|
-
projection:
|
|
114
|
+
projection: SYNC_PROJECTIONS.USER_INPUT,
|
|
115
115
|
effectKind: PROJECTION_EFFECT_KINDS.USER_INPUT_DELETE,
|
|
116
116
|
});
|
|
117
117
|
}
|
|
@@ -129,7 +129,7 @@ export function createResolutionProjectionEffect(input) {
|
|
|
129
129
|
requireConflictTarget(input.conflictId, input.targetId, "resolution projection must target exactly one conflict ID");
|
|
130
130
|
return createProjectionEffect({
|
|
131
131
|
...input,
|
|
132
|
-
projection:
|
|
132
|
+
projection: SYNC_PROJECTIONS.SYNC_CONFLICTS,
|
|
133
133
|
targetKind: PROJECTION_TARGET_KINDS.CONFLICT,
|
|
134
134
|
effectKind: PROJECTION_EFFECT_KINDS.RESOLUTION_PROJECTION,
|
|
135
135
|
});
|
|
@@ -138,14 +138,14 @@ export function createResolutionProjectionEffect(input) {
|
|
|
138
138
|
* Creates a guarded deletion for one resolved system-owned conflict row.
|
|
139
139
|
*
|
|
140
140
|
* The payload carries the full currently visible conflict row as the expected
|
|
141
|
-
* state. The
|
|
141
|
+
* state. The provider therefore deletes only the exact anchored row that the
|
|
142
142
|
* resolver observed; it never deletes by mutable sheet row number.
|
|
143
143
|
*/
|
|
144
144
|
export function createResolutionDeleteEffect(input) {
|
|
145
145
|
requireConflictTarget(input.conflictId, input.targetId, "resolution deletion must target exactly one conflict ID");
|
|
146
146
|
return createProjectionEffect({
|
|
147
147
|
...input,
|
|
148
|
-
projection:
|
|
148
|
+
projection: SYNC_PROJECTIONS.SYNC_CONFLICTS,
|
|
149
149
|
targetKind: PROJECTION_TARGET_KINDS.CONFLICT,
|
|
150
150
|
effectKind: PROJECTION_EFFECT_KINDS.RESOLUTION_DELETE,
|
|
151
151
|
});
|
|
@@ -184,12 +184,12 @@ function validateInput(input) {
|
|
|
184
184
|
throwEffectError("projection effect must contain fields");
|
|
185
185
|
}
|
|
186
186
|
if (input.effectKind === PROJECTION_EFFECT_KINDS.CANDIDATE_RECONCILE &&
|
|
187
|
-
input.projection !==
|
|
187
|
+
input.projection !== SYNC_PROJECTIONS.USER_INPUT) {
|
|
188
188
|
throwEffectError("candidate reconcile must target user_input");
|
|
189
189
|
}
|
|
190
190
|
if ((input.effectKind === PROJECTION_EFFECT_KINDS.RESOLUTION_PROJECTION ||
|
|
191
191
|
input.effectKind === PROJECTION_EFFECT_KINDS.RESOLUTION_DELETE) &&
|
|
192
|
-
input.projection !==
|
|
192
|
+
input.projection !== SYNC_PROJECTIONS.SYNC_CONFLICTS) {
|
|
193
193
|
throwEffectError("resolution projection must target sync_conflicts");
|
|
194
194
|
}
|
|
195
195
|
if (isProjectionDeletionEffect(input.effectKind) &&
|
|
@@ -197,7 +197,7 @@ function validateInput(input) {
|
|
|
197
197
|
throwEffectError("projection deletion requires an existing visible row");
|
|
198
198
|
}
|
|
199
199
|
if (input.effectKind === PROJECTION_EFFECT_KINDS.USER_INPUT_DELETE &&
|
|
200
|
-
(input.projection !==
|
|
200
|
+
(input.projection !== SYNC_PROJECTIONS.USER_INPUT ||
|
|
201
201
|
input.targetKind !== PROJECTION_TARGET_KINDS.PROJECTION_ROW)) {
|
|
202
202
|
throwEffectError("user input deletion must target one User_Input projection row");
|
|
203
203
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectionEffectFactory.js","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/projection/ProjectionEffectFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,iCAAiC,EACjC,6BAA6B,EAC7B,UAAU,GAKX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,WAAW,EACX,eAAe,EACf,kBAAkB,GACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"ProjectionEffectFactory.js","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/projection/ProjectionEffectFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SQLite is the canonical state; the Sheet is a projection that may drift when
|
|
5
5
|
* the fast-append path skips per-effect CAS, when a spreadsheet owner edits a
|
|
6
6
|
* protected tab, or when a response is lost. This scanner compares the durable
|
|
7
|
-
* desired state against one
|
|
7
|
+
* desired state against one provider snapshot per scan and, for every drift, it
|
|
8
8
|
* enqueues a normal system_projection effect on the existing outbox. The effect
|
|
9
9
|
* worker then applies the correction through the same slow path (with CAS) used
|
|
10
10
|
* by regular writes, so reconciliation never writes to the Sheet directly.
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
* responsibility of the candidate/conflict pipeline.
|
|
16
16
|
*/
|
|
17
17
|
import type { SqlStorageAdapter } from "../../../../adapter/persistence/contracts/sql.js";
|
|
18
|
-
import { type
|
|
18
|
+
import { type SyncSheetsProvider } from "../../sheets/syncSheets.js";
|
|
19
19
|
/** Builder used by the scanner to produce fresh effect/commit identifiers. */
|
|
20
20
|
export type ReconciliationIdFactory = () => string;
|
|
21
21
|
/** Construction options for a single reconciliation scan. */
|
|
22
22
|
export interface RunReconciliationScanOptions {
|
|
23
23
|
readonly storage: SqlStorageAdapter;
|
|
24
|
-
readonly
|
|
24
|
+
readonly provider: SyncSheetsProvider;
|
|
25
25
|
/** Physical sheet id of the System_State projection to reconcile. */
|
|
26
26
|
readonly physicalSheetId: string;
|
|
27
27
|
/** Logical sheet id owning the entity row bindings. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReconciliationScanner.d.ts","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/reconciliation/ReconciliationScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAyBH,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,EAIL,KAAK,
|
|
1
|
+
{"version":3,"file":"ReconciliationScanner.d.ts","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/reconciliation/ReconciliationScanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAyBH,OAAO,KAAK,EAAe,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAWpC,8EAA8E;AAC9E,MAAM,MAAM,uBAAuB,GAAG,MAAM,MAAM,CAAC;AAEnD,6DAA6D;AAC7D,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,qEAAqE;IACrE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,uDAAuD;IACvD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IACzC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,wEAAwE;IACxE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IAC5C,sDAAsD;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,8DAA8D;IAC9D,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,wBAAwB,KAAK,IAAI,CAAC;CAChE;AAED,qDAAqD;AACrD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAoED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,wBAAwB,CAAC,CAkCnC;AA0nBD,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SQLite is the canonical state; the Sheet is a projection that may drift when
|
|
5
5
|
* the fast-append path skips per-effect CAS, when a spreadsheet owner edits a
|
|
6
6
|
* protected tab, or when a response is lost. This scanner compares the durable
|
|
7
|
-
* desired state against one
|
|
7
|
+
* desired state against one provider snapshot per scan and, for every drift, it
|
|
8
8
|
* enqueues a normal system_projection effect on the existing outbox. The effect
|
|
9
9
|
* worker then applies the correction through the same slow path (with CAS) used
|
|
10
10
|
* by regular writes, so reconciliation never writes to the Sheet directly.
|
|
@@ -22,8 +22,8 @@ import { isNormalizedCell } from "../../../../shared/encoding/normalizedCell.js"
|
|
|
22
22
|
import { isRecord } from "../../../../shared/encoding/typeGuards.js";
|
|
23
23
|
import { appendPendingEffectsWithAdapter, claimWriterLeaseWithAdapter, requireRegisteredSyncSheetWithAdapter, WRITER_LEASE_CLAIM_RESULT_KINDS, } from "../../../../infrastructure/storage/index.js";
|
|
24
24
|
import { STORAGE_ERROR_CODES, StorageError } from "../../../../infrastructure/storage/errors.js";
|
|
25
|
-
import { computeSyncVisibleHash, observeSyncSnapshot, } from "../../
|
|
26
|
-
import {
|
|
25
|
+
import { computeSyncVisibleHash, observeSyncSnapshot, } from "../../sheets/syncSheets.js";
|
|
26
|
+
import { SYNC_PROJECTIONS, SYNC_SNAPSHOT_READ_MODES, } from "../../sheets/constants.js";
|
|
27
27
|
import { createSystemProjectionEffect } from "../projection/ProjectionEffectFactory.js";
|
|
28
28
|
const DEFAULT_RECONCILIATION_ROLE = "typed-sheets-reconciler";
|
|
29
29
|
const DEFAULT_RECONCILIATION_LEASE_MS = 60_000;
|
|
@@ -76,7 +76,7 @@ export async function runReconciliationScan(options) {
|
|
|
76
76
|
const leaseDurationMs = options.leaseDurationMs ?? DEFAULT_RECONCILIATION_LEASE_MS;
|
|
77
77
|
const report = await scanAndEnqueue({
|
|
78
78
|
storage: options.storage,
|
|
79
|
-
|
|
79
|
+
provider: options.provider,
|
|
80
80
|
physicalSheetId: options.physicalSheetId,
|
|
81
81
|
logicalSheetId: options.logicalSheetId,
|
|
82
82
|
systemFields: options.systemFields,
|
|
@@ -98,20 +98,20 @@ export async function runReconciliationScan(options) {
|
|
|
98
98
|
}
|
|
99
99
|
async function scanAndEnqueue(context) {
|
|
100
100
|
const sheet = await requireRegisteredSyncSheetWithAdapter(context.storage, context.physicalSheetId);
|
|
101
|
-
if (sheet.projection !==
|
|
101
|
+
if (sheet.projection !== SYNC_PROJECTIONS.SYSTEM_STATE) {
|
|
102
102
|
throw new StorageError(STORAGE_ERROR_CODES.INVALID_SYNC_REGISTRATION, "reconciliation scanner only supports the system_state projection");
|
|
103
103
|
}
|
|
104
104
|
const snapshotRequest = {
|
|
105
105
|
physicalSheetId: context.physicalSheetId,
|
|
106
106
|
sheetName: sheet.tabName,
|
|
107
107
|
registeredRange: sheet.registeredRange,
|
|
108
|
-
projection:
|
|
108
|
+
projection: SYNC_PROJECTIONS.SYSTEM_STATE,
|
|
109
109
|
schemaVersion: sheet.schemaVersion,
|
|
110
|
-
readMode:
|
|
110
|
+
readMode: SYNC_SNAPSHOT_READ_MODES.FULL,
|
|
111
111
|
};
|
|
112
112
|
// Fast append intentionally skips metadata. Reconciliation is the lazy
|
|
113
113
|
// repair point that assigns stable anchors before comparing the snapshot.
|
|
114
|
-
const observed = await observeSyncSnapshot(context.
|
|
114
|
+
const observed = await observeSyncSnapshot(context.provider, snapshotRequest);
|
|
115
115
|
const snapshot = observed.snapshot;
|
|
116
116
|
const desired = await readDesiredSystemState(context);
|
|
117
117
|
const drifts = computeDrifts({
|
|
@@ -334,7 +334,7 @@ async function buildCorrectionEffects(context, sheet, drifts) {
|
|
|
334
334
|
physicalSheetId: context.physicalSheetId,
|
|
335
335
|
sheetName: sheet.tabName,
|
|
336
336
|
registeredRange: sheet.registeredRange,
|
|
337
|
-
projection:
|
|
337
|
+
projection: SYNC_PROJECTIONS.SYSTEM_STATE,
|
|
338
338
|
schemaVersion: context.schemaVersion,
|
|
339
339
|
targetKind: "entity",
|
|
340
340
|
targetId: drift.desired.entityId,
|
|
@@ -383,7 +383,7 @@ async function resolveCorrectionBaselineWithSql(sql, context, desired) {
|
|
|
383
383
|
if (expectedHash === computeSyncVisibleHash(desired.fields)) {
|
|
384
384
|
// A canonical write already has an equivalent correction in flight.
|
|
385
385
|
// Do not append another stream item on every periodic scan while the
|
|
386
|
-
// first item is waiting for the
|
|
386
|
+
// first item is waiting for the provider or its recovery read-back.
|
|
387
387
|
return {
|
|
388
388
|
skip: true,
|
|
389
389
|
expectedVisibleRevision: (latestEffect.expected_visible_revision ?? 0) + 1,
|