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
package/dist/application/sync/{gateway/SyncGatewayBootstrap.d.ts → sheets/sheetsProvisioning.d.ts}
RENAMED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Trusted setup bridge from SQLite's physical-sheet registry to the
|
|
3
|
-
*
|
|
2
|
+
* Trusted setup bridge from SQLite's physical-sheet registry to the bound
|
|
3
|
+
* spreadsheet through the Google Sheets API sync provider.
|
|
4
4
|
*
|
|
5
5
|
* Runtime data-plane calls can only use a registered route. This helper is the
|
|
6
6
|
* matching owner-side path: callers pass the route returned by SQLite plus its
|
|
7
|
-
* declared header schema, and the
|
|
8
|
-
*
|
|
7
|
+
* declared header schema, and the provider creates or verifies that projection
|
|
8
|
+
* tab and header row in the bound spreadsheet.
|
|
9
9
|
*/
|
|
10
10
|
import type { RegisteredProjection, RegisteredSyncSheet } from "../../../infrastructure/storage/sync/shared/syncRegistry.js";
|
|
11
11
|
/** Exact projection schema that setup must materialize in the bound spreadsheet. */
|
|
@@ -19,8 +19,8 @@ export interface RegisteredSyncProjectionDefinition {
|
|
|
19
19
|
/** Optional user-editable boolean control fields for a Sync_Conflicts tab. */
|
|
20
20
|
readonly checkboxHeaders?: readonly string[];
|
|
21
21
|
}
|
|
22
|
-
/** Serializable route shape accepted by a remote setup/
|
|
23
|
-
export interface
|
|
22
|
+
/** Serializable route shape accepted by a remote setup/provisioning client. */
|
|
23
|
+
export interface SyncSheetsProvisionRoute {
|
|
24
24
|
readonly sheetName: string;
|
|
25
25
|
readonly registeredRange: string;
|
|
26
26
|
readonly projection: RegisteredProjection;
|
|
@@ -30,21 +30,21 @@ export interface SyncGatewayProvisionRoute {
|
|
|
30
30
|
readonly identityField?: string;
|
|
31
31
|
readonly checkboxHeaders?: readonly string[];
|
|
32
32
|
}
|
|
33
|
-
/** Minimal
|
|
34
|
-
export interface
|
|
35
|
-
provisionRegistry(registrations: readonly
|
|
36
|
-
readonly registrations: readonly Omit<
|
|
33
|
+
/** Minimal provisioning boundary; the runtime remains independent of fetch or Google SDK types. */
|
|
34
|
+
export interface SyncSheetsProvisioner {
|
|
35
|
+
provisionRegistry(registrations: readonly SyncSheetsProvisionRoute[]): Promise<{
|
|
36
|
+
readonly registrations: readonly Omit<SyncSheetsProvisionRoute, "headers">[];
|
|
37
37
|
readonly createdSheets: readonly string[];
|
|
38
38
|
readonly initializedHeaders: readonly string[];
|
|
39
39
|
}>;
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* Provisions the complete SQLite-declared projection set without asking an
|
|
43
|
-
* operator to copy tab names, ranges, or schema versions into
|
|
43
|
+
* operator to copy tab names, ranges, or schema versions into the spreadsheet.
|
|
44
44
|
*
|
|
45
45
|
* The caller should invoke this after successful local registry writes and may
|
|
46
|
-
* retry a failed remote call: the
|
|
46
|
+
* retry a failed remote call: the provider only creates missing tabs and never
|
|
47
47
|
* overwrites a nonblank, mismatched header row.
|
|
48
48
|
*/
|
|
49
|
-
export declare function provisionRegisteredSyncSheets(
|
|
50
|
-
//# sourceMappingURL=
|
|
49
|
+
export declare function provisionRegisteredSyncSheets(provider: SyncSheetsProvisioner, definitions: readonly RegisteredSyncProjectionDefinition[]): Promise<Awaited<ReturnType<SyncSheetsProvisioner["provisionRegistry"]>>>;
|
|
50
|
+
//# sourceMappingURL=sheetsProvisioning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheetsProvisioning.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/sheets/sheetsProvisioning.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,6DAA6D,CAAC;AAWrE,oFAAoF;AACpF,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IAClE,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,+EAA+E;AAC/E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,uFAAuF;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,mGAAmG;AACnG,MAAM,WAAW,qBAAqB;IACpC,iBAAiB,CAAC,aAAa,EAAE,SAAS,wBAAwB,EAAE,GAAG,OAAO,CAAC;QAC7E,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,CAAC,wBAAwB,EAAE,SAAS,CAAC,EAAE,CAAC;QAC7E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;QAC1C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;KAChD,CAAC,CAAC;CACJ;AAED;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,qBAAqB,EAC/B,WAAW,EAAE,SAAS,kCAAkC,EAAE,GACzD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAiG1E"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trusted setup bridge from SQLite's physical-sheet registry to the bound
|
|
3
|
+
* spreadsheet through the Google Sheets API sync provider.
|
|
4
|
+
*
|
|
5
|
+
* Runtime data-plane calls can only use a registered route. This helper is the
|
|
6
|
+
* matching owner-side path: callers pass the route returned by SQLite plus its
|
|
7
|
+
* declared header schema, and the provider creates or verifies that projection
|
|
8
|
+
* tab and header row in the bound spreadsheet.
|
|
9
|
+
*/
|
|
10
|
+
import { SYNC_SHEETS_ERROR_CODES, SyncSheetsContractError, } from "./errors.js";
|
|
11
|
+
import { requireSyncSheetsNonEmptyList, requireSyncSheetsPositiveSafeInteger, requireSyncSheetsText, } from "./validation.js";
|
|
12
|
+
/**
|
|
13
|
+
* Provisions the complete SQLite-declared projection set without asking an
|
|
14
|
+
* operator to copy tab names, ranges, or schema versions into the spreadsheet.
|
|
15
|
+
*
|
|
16
|
+
* The caller should invoke this after successful local registry writes and may
|
|
17
|
+
* retry a failed remote call: the provider only creates missing tabs and never
|
|
18
|
+
* overwrites a nonblank, mismatched header row.
|
|
19
|
+
*/
|
|
20
|
+
export async function provisionRegisteredSyncSheets(provider, definitions) {
|
|
21
|
+
requireSyncSheetsNonEmptyList(definitions, "sync provider provisioning definitions", SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
22
|
+
const firstDefinition = definitions[0];
|
|
23
|
+
if (firstDefinition === undefined) {
|
|
24
|
+
throw new SyncSheetsContractError(SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, "sync provider provisioning requires a first projection");
|
|
25
|
+
}
|
|
26
|
+
const spreadsheetId = requireSyncSheetsText(firstDefinition.sheet.spreadsheetId, "sync provider provisioning spreadsheetId", SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
27
|
+
const physicalSheetIds = new Set();
|
|
28
|
+
const tabNames = new Set();
|
|
29
|
+
const registrations = definitions.map((definition) => {
|
|
30
|
+
const physicalSheetId = requireSyncSheetsText(definition.sheet.physicalSheetId, "sync provider provisioning physicalSheetId", SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
31
|
+
const sheetName = requireSyncSheetsText(definition.sheet.tabName, "sync provider provisioning tabName", SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
32
|
+
const registeredRange = requireSyncSheetsText(definition.sheet.registeredRange, "sync provider provisioning registeredRange", SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
33
|
+
const definitionSpreadsheetId = requireSyncSheetsText(definition.sheet.spreadsheetId, "sync provider provisioning spreadsheetId", SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
34
|
+
if (definitionSpreadsheetId !== spreadsheetId) {
|
|
35
|
+
throw new SyncSheetsContractError(SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, "sync provider provisioning definitions must target one spreadsheet");
|
|
36
|
+
}
|
|
37
|
+
if (physicalSheetIds.has(physicalSheetId)) {
|
|
38
|
+
throw new SyncSheetsContractError(SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, "sync provider provisioning cannot repeat a physical sheet ID");
|
|
39
|
+
}
|
|
40
|
+
if (tabNames.has(sheetName)) {
|
|
41
|
+
throw new SyncSheetsContractError(SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, "sync provider provisioning cannot repeat a tab name");
|
|
42
|
+
}
|
|
43
|
+
physicalSheetIds.add(physicalSheetId);
|
|
44
|
+
tabNames.add(sheetName);
|
|
45
|
+
validateHeaders(definition.headers, "sync provider provisioning headers");
|
|
46
|
+
validateCheckboxHeaders(definition.headers, definition.checkboxHeaders);
|
|
47
|
+
const schemaVersion = requireSyncSheetsPositiveSafeInteger(definition.sheet.schemaVersion, "sync provider provisioning schemaVersion", SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
48
|
+
const identityField = definition.sheet.projection === "system_state"
|
|
49
|
+
? requireSyncSheetsText(definition.sheet.businessKeyField, "sync provider provisioning identityField", SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS)
|
|
50
|
+
: definition.sheet.projection === "sync_conflicts"
|
|
51
|
+
? "Conflict_ID"
|
|
52
|
+
: undefined;
|
|
53
|
+
if (identityField !== undefined && !definition.headers.includes(identityField)) {
|
|
54
|
+
throw new SyncSheetsContractError(SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, `sync provider provisioning identityField is not declared: ${identityField}`);
|
|
55
|
+
}
|
|
56
|
+
return {
|
|
57
|
+
sheetName,
|
|
58
|
+
registeredRange,
|
|
59
|
+
projection: definition.sheet.projection,
|
|
60
|
+
schemaVersion,
|
|
61
|
+
headers: definition.headers,
|
|
62
|
+
...(identityField === undefined ? {} : { identityField }),
|
|
63
|
+
...(definition.checkboxHeaders === undefined ? {} : { checkboxHeaders: definition.checkboxHeaders }),
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
return provider.provisionRegistry(registrations);
|
|
67
|
+
}
|
|
68
|
+
function validateHeaders(headers, label) {
|
|
69
|
+
requireSyncSheetsNonEmptyList(headers, label, SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
70
|
+
const seen = new Set();
|
|
71
|
+
headers.forEach((header, index) => {
|
|
72
|
+
const normalizedHeader = requireSyncSheetsText(header, `${label}[${index}]`, SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
73
|
+
if (seen.has(normalizedHeader)) {
|
|
74
|
+
throw new SyncSheetsContractError(SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, `${label} cannot contain duplicate headers: ${normalizedHeader}`);
|
|
75
|
+
}
|
|
76
|
+
seen.add(normalizedHeader);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function validateCheckboxHeaders(headers, checkboxHeaders) {
|
|
80
|
+
if (checkboxHeaders === undefined)
|
|
81
|
+
return;
|
|
82
|
+
const headerSet = new Set(headers);
|
|
83
|
+
const seen = new Set();
|
|
84
|
+
checkboxHeaders.forEach((header, index) => {
|
|
85
|
+
const normalizedHeader = requireSyncSheetsText(header, `sync provider provisioning checkboxHeaders[${index}]`, SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
86
|
+
if (!headerSet.has(normalizedHeader)) {
|
|
87
|
+
throw new SyncSheetsContractError(SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, `sync provider provisioning checkbox header is not declared: ${normalizedHeader}`);
|
|
88
|
+
}
|
|
89
|
+
if (seen.has(normalizedHeader)) {
|
|
90
|
+
throw new SyncSheetsContractError(SYNC_SHEETS_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, `sync provider provisioning cannot repeat a checkbox header: ${normalizedHeader}`);
|
|
91
|
+
}
|
|
92
|
+
seen.add(normalizedHeader);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=sheetsProvisioning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheetsProvisioning.js","sourceRoot":"","sources":["../../../../src/application/sync/sheets/sheetsProvisioning.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Shared
|
|
2
|
+
* Shared provider contract for the SQLite-authoritative sync runtime.
|
|
3
3
|
*
|
|
4
4
|
* The contract deliberately contains normalized values and stable anchors,
|
|
5
|
-
* never Google SDK objects or physical row numbers.
|
|
6
|
-
* the
|
|
7
|
-
* same compare-and-set semantics as a deployed
|
|
5
|
+
* never Google SDK objects or physical row numbers. Both the fake provider and
|
|
6
|
+
* the Google Sheets API provider implement this boundary so fault tests
|
|
7
|
+
* exercise the same compare-and-set semantics as a deployed provider.
|
|
8
8
|
*/
|
|
9
9
|
import { type CellObservation, type EffectKind, type EffectTargetKind, type NormalizedCell } from "../../../domain/index.js";
|
|
10
10
|
import type { Applicability, Presence } from "../../../shared/state/types.js";
|
|
11
11
|
import type { RegisteredProjection } from "../../../infrastructure/storage/sync/shared/syncRegistry.js";
|
|
12
|
-
import { type
|
|
13
|
-
import type {
|
|
14
|
-
/** Projections supported by the v1 sync
|
|
12
|
+
import { type SyncEffectResultStatus, type SyncFastAppendStatus, type SyncPostconditionMode, type SyncPostconditionDisposition, type SyncPostconditionStatus, type SyncProtocolVersion, type SyncSnapshotReadMode } from "./constants.js";
|
|
13
|
+
import type { SyncSheetsTiming } from "../telemetry/syncTiming.js";
|
|
14
|
+
/** Projections supported by the v1 sync provider. */
|
|
15
15
|
export type SyncProjection = RegisteredProjection;
|
|
16
|
-
/**
|
|
17
|
-
export interface SyncGatewayAuthority {
|
|
18
|
-
readonly epoch: number;
|
|
19
|
-
readonly token: string;
|
|
20
|
-
}
|
|
21
|
-
/** Effect classes whose compare-and-set behavior differs at the gateway. */
|
|
16
|
+
/** Effect classes whose compare-and-set behavior differs at the provider. */
|
|
22
17
|
export type SyncEffectKind = EffectKind;
|
|
23
18
|
/** Literal/formula metadata retained by a normalized Sheet snapshot. */
|
|
24
19
|
export interface SyncSnapshotCell extends CellObservation {
|
|
@@ -28,14 +23,14 @@ export interface SyncSnapshotCell extends CellObservation {
|
|
|
28
23
|
export interface SyncSnapshotRow {
|
|
29
24
|
readonly rowNumber: number;
|
|
30
25
|
readonly physicalAnchor: Presence<string>;
|
|
31
|
-
/** Optional compatibility fields; the real
|
|
26
|
+
/** Optional compatibility fields; the real provider leaves visible state to SQLite. */
|
|
32
27
|
readonly visibleRevision: Presence<number>;
|
|
33
28
|
readonly visibleHash: Presence<string>;
|
|
34
29
|
readonly cells: Readonly<Record<string, SyncSnapshotCell>>;
|
|
35
30
|
}
|
|
36
|
-
/** Lock-free normalized snapshot returned by a
|
|
37
|
-
export interface
|
|
38
|
-
readonly protocolVersion:
|
|
31
|
+
/** Lock-free normalized snapshot returned by a provider. */
|
|
32
|
+
export interface SyncSheetsSnapshot {
|
|
33
|
+
readonly protocolVersion: SyncProtocolVersion;
|
|
39
34
|
readonly sheetName: string;
|
|
40
35
|
readonly registeredRange: string;
|
|
41
36
|
readonly projection: SyncProjection;
|
|
@@ -52,7 +47,6 @@ export interface SyncGatewaySnapshot {
|
|
|
52
47
|
/** Request used to assign missing Developer Metadata anchors before a snapshot. */
|
|
53
48
|
export interface EnsureSyncRowAnchorsRequest {
|
|
54
49
|
readonly physicalSheetId: string;
|
|
55
|
-
readonly authority?: SyncGatewayAuthority;
|
|
56
50
|
readonly sheetName: string;
|
|
57
51
|
readonly registeredRange: string;
|
|
58
52
|
readonly projection: SyncProjection;
|
|
@@ -70,26 +64,26 @@ export interface EnsureSyncRowAnchorsResult {
|
|
|
70
64
|
/** Lock-free snapshot request. */
|
|
71
65
|
export interface ReadSyncSnapshotRequest extends EnsureSyncRowAnchorsRequest {
|
|
72
66
|
/** Full metadata for reconciliation, or user-editable values for polling. */
|
|
73
|
-
readonly readMode?:
|
|
67
|
+
readonly readMode?: SyncSnapshotReadMode;
|
|
74
68
|
}
|
|
75
69
|
/** Result of one combined anchor assignment and snapshot read. */
|
|
76
70
|
export interface SyncObservedSnapshot {
|
|
77
71
|
readonly anchors: EnsureSyncRowAnchorsResult;
|
|
78
|
-
readonly snapshot:
|
|
79
|
-
/** Optional diagnostic phases returned by newer observation
|
|
80
|
-
readonly timing?:
|
|
72
|
+
readonly snapshot: SyncSheetsSnapshot;
|
|
73
|
+
/** Optional diagnostic phases returned by newer observation providers. */
|
|
74
|
+
readonly timing?: SyncSheetsTiming;
|
|
81
75
|
}
|
|
82
76
|
/** Optional batch observation capability used to share one remote request. */
|
|
83
|
-
export interface
|
|
77
|
+
export interface SyncSheetsObservationBatchProvider extends SyncSheetsObservationProvider {
|
|
84
78
|
observeSnapshot(request: ReadSyncSnapshotRequest): Promise<SyncObservedSnapshot>;
|
|
85
79
|
observeSnapshots(requests: readonly ReadSyncSnapshotRequest[]): Promise<readonly SyncObservedSnapshot[]>;
|
|
86
80
|
}
|
|
87
|
-
/** Returns whether a
|
|
88
|
-
export declare function
|
|
89
|
-
/** Reads one snapshot with one combined request when the
|
|
90
|
-
export declare function observeSyncSnapshot(
|
|
81
|
+
/** Returns whether a provider supports the one-request observation path. */
|
|
82
|
+
export declare function isSyncSheetsObservationBatchProvider(provider: SyncSheetsObservationProvider): provider is SyncSheetsObservationBatchProvider;
|
|
83
|
+
/** Reads one snapshot with one combined request when the provider supports it. */
|
|
84
|
+
export declare function observeSyncSnapshot(provider: SyncSheetsObservationProvider, request: ReadSyncSnapshotRequest): Promise<SyncObservedSnapshot>;
|
|
91
85
|
/** Reads several snapshots through one remote operation when available. */
|
|
92
|
-
export declare function observeSyncSnapshots(
|
|
86
|
+
export declare function observeSyncSnapshots(provider: SyncSheetsObservationProvider, requests: readonly ReadSyncSnapshotRequest[]): Promise<readonly SyncObservedSnapshot[]>;
|
|
93
87
|
/**
|
|
94
88
|
* Serializable projection values written by one outbox effect.
|
|
95
89
|
*
|
|
@@ -108,8 +102,8 @@ export interface SyncProjectionEffectPayload {
|
|
|
108
102
|
/** A candidate reconcile must fail rather than overwrite an active candidate. */
|
|
109
103
|
readonly expectedCandidateHash: Applicability<string>;
|
|
110
104
|
}
|
|
111
|
-
/**
|
|
112
|
-
export interface
|
|
105
|
+
/** Provider-ready view of one durable outbox row. */
|
|
106
|
+
export interface SyncProjectionEffect {
|
|
113
107
|
readonly effectId: string;
|
|
114
108
|
readonly payloadHash: string;
|
|
115
109
|
readonly effectKind: SyncEffectKind;
|
|
@@ -124,44 +118,43 @@ export interface SyncGatewayEffect {
|
|
|
124
118
|
readonly repairGuardHash: Presence<string>;
|
|
125
119
|
readonly payload: SyncProjectionEffectPayload;
|
|
126
120
|
}
|
|
127
|
-
/** Per-effect terminal/non-terminal
|
|
128
|
-
export interface
|
|
121
|
+
/** Per-effect terminal/non-terminal provider result. */
|
|
122
|
+
export interface SyncEffectResult {
|
|
129
123
|
readonly effectId: string;
|
|
130
124
|
readonly payloadHash: string;
|
|
131
|
-
readonly status:
|
|
125
|
+
readonly status: SyncEffectResultStatus;
|
|
132
126
|
readonly visibleRevision: Presence<number>;
|
|
133
127
|
readonly visibleHash: Presence<string>;
|
|
134
128
|
readonly snapshotHash: Presence<string>;
|
|
135
129
|
readonly reason: Presence<string>;
|
|
136
|
-
readonly postcondition:
|
|
130
|
+
readonly postcondition: SyncPostconditionStatus;
|
|
137
131
|
}
|
|
138
|
-
/**
|
|
132
|
+
/** Batch request. All effects must target the same physical sheet. */
|
|
139
133
|
export interface ApplySyncEffectsRequest {
|
|
140
134
|
readonly physicalSheetId: string;
|
|
141
|
-
readonly authority?: SyncGatewayAuthority;
|
|
142
135
|
readonly sheetName: string;
|
|
143
136
|
readonly registeredRange: string;
|
|
144
137
|
readonly projection: SyncProjection;
|
|
145
138
|
readonly schemaVersion: number;
|
|
146
|
-
readonly effects: readonly
|
|
139
|
+
readonly effects: readonly SyncProjectionEffect[];
|
|
147
140
|
/**
|
|
148
141
|
* Defaults to inline verification for compatibility. The worker explicitly
|
|
149
142
|
* selects deferred verification so recovery/reconciliation owns read-back.
|
|
150
143
|
*/
|
|
151
|
-
readonly postconditionMode?:
|
|
144
|
+
readonly postconditionMode?: SyncPostconditionMode;
|
|
152
145
|
}
|
|
153
146
|
/** A batch may intentionally return only a prefix when its budget is exhausted. */
|
|
154
147
|
export interface ApplySyncEffectsResult {
|
|
155
|
-
readonly results: readonly
|
|
148
|
+
readonly results: readonly SyncEffectResult[];
|
|
156
149
|
readonly snapshotHash: Presence<string>;
|
|
157
|
-
/** True only when the
|
|
150
|
+
/** True only when the provider intentionally stopped before the supplied suffix. */
|
|
158
151
|
readonly hasMore: boolean;
|
|
159
152
|
/** Optional phase timing returned by newer Code.gs deployments. */
|
|
160
|
-
readonly timing?:
|
|
153
|
+
readonly timing?: SyncSheetsTiming;
|
|
161
154
|
}
|
|
162
155
|
/** Read-back classification used after a response is lost or a lease expires. */
|
|
163
156
|
export interface SyncEffectPostcondition {
|
|
164
|
-
readonly disposition:
|
|
157
|
+
readonly disposition: SyncPostconditionDisposition;
|
|
165
158
|
readonly visibleRevision: Presence<number>;
|
|
166
159
|
readonly visibleHash: Presence<string>;
|
|
167
160
|
readonly snapshotHash: Presence<string>;
|
|
@@ -169,14 +162,14 @@ export interface SyncEffectPostcondition {
|
|
|
169
162
|
readonly reason?: string;
|
|
170
163
|
}
|
|
171
164
|
/** One effect identity paired with its read-back result in a recovery batch. */
|
|
172
|
-
export interface
|
|
165
|
+
export interface SyncEffectPostconditionResult {
|
|
173
166
|
readonly effectId: string;
|
|
174
167
|
readonly payloadHash: string;
|
|
175
168
|
readonly postcondition: SyncEffectPostcondition;
|
|
176
169
|
}
|
|
177
170
|
/** One row written through the append-only bulk path.
|
|
178
171
|
*
|
|
179
|
-
* The payload hash lets the
|
|
172
|
+
* The payload hash lets the provider receipt sheet recognize a response-loss
|
|
180
173
|
* replay without appending the same durable effect twice. The optional shape
|
|
181
174
|
* keeps older direct adapter fixtures source-compatible; worker-produced rows
|
|
182
175
|
* always carry the SQLite outbox payload hash.
|
|
@@ -191,16 +184,15 @@ export interface FastAppendRow {
|
|
|
191
184
|
/** Per-effect result for one fast-append row. */
|
|
192
185
|
export interface FastAppendRowResult {
|
|
193
186
|
readonly effectId: string;
|
|
194
|
-
/** The row was included in the
|
|
195
|
-
readonly status:
|
|
196
|
-
/** Receipt-backed evidence returned by the
|
|
187
|
+
/** The row was included in the provider's bulk write. */
|
|
188
|
+
readonly status: SyncFastAppendStatus;
|
|
189
|
+
/** Receipt-backed evidence returned by the provider append operation. */
|
|
197
190
|
readonly visibleHash?: string;
|
|
198
191
|
readonly visibleRevision?: number;
|
|
199
192
|
}
|
|
200
193
|
/** Bounded idempotent append request for one registered projection sheet. */
|
|
201
194
|
export interface FastAppendRowsRequest {
|
|
202
195
|
readonly physicalSheetId: string;
|
|
203
|
-
readonly authority?: SyncGatewayAuthority;
|
|
204
196
|
readonly sheetName: string;
|
|
205
197
|
readonly registeredRange: string;
|
|
206
198
|
readonly projection: SyncProjection;
|
|
@@ -210,45 +202,38 @@ export interface FastAppendRowsRequest {
|
|
|
210
202
|
/** Result of one bounded fast-append batch. */
|
|
211
203
|
export interface FastAppendRowsResult {
|
|
212
204
|
readonly results: readonly FastAppendRowResult[];
|
|
213
|
-
/** True when the
|
|
205
|
+
/** True when the provider intentionally stopped before the supplied suffix. */
|
|
214
206
|
readonly hasMore: boolean;
|
|
215
207
|
/** Optional phase timing returned by newer Code.gs deployments. */
|
|
216
|
-
readonly timing?:
|
|
208
|
+
readonly timing?: SyncSheetsTiming;
|
|
217
209
|
}
|
|
218
210
|
/** Request used to classify several response-loss effects with one Sheet read. */
|
|
219
211
|
export interface ReadSyncEffectPostconditionsRequest {
|
|
220
212
|
readonly physicalSheetId: string;
|
|
221
|
-
readonly authority?: SyncGatewayAuthority;
|
|
222
213
|
readonly sheetName: string;
|
|
223
214
|
readonly registeredRange: string;
|
|
224
215
|
readonly projection: SyncProjection;
|
|
225
216
|
readonly schemaVersion: number;
|
|
226
|
-
readonly effects: readonly
|
|
227
|
-
}
|
|
228
|
-
/** Fast append capability required for new System_State rows. */
|
|
229
|
-
export interface SyncEffectWorkerGateway {
|
|
230
|
-
fastAppendRows(request: FastAppendRowsRequest): Promise<FastAppendRowsResult>;
|
|
217
|
+
readonly effects: readonly SyncProjectionEffect[];
|
|
231
218
|
}
|
|
232
219
|
/**
|
|
233
|
-
* Full effect capability required for regular updates, deletes,
|
|
234
|
-
*
|
|
235
|
-
* A fast-only gateway can still run the worker when its outbox contains only
|
|
236
|
-
* appendable System_State creates; regular effects are rejected explicitly.
|
|
220
|
+
* Full effect capability required for fast append, regular updates, deletes,
|
|
221
|
+
* and recovery.
|
|
237
222
|
*/
|
|
238
|
-
export interface
|
|
223
|
+
export interface SyncEffectWorkerProvider {
|
|
224
|
+
fastAppendRows(request: FastAppendRowsRequest): Promise<FastAppendRowsResult>;
|
|
239
225
|
applyEffects(request: ApplySyncEffectsRequest): Promise<ApplySyncEffectsResult>;
|
|
240
|
-
readEffectPostcondition(effect:
|
|
241
|
-
readEffectPostconditions(request: ReadSyncEffectPostconditionsRequest): Promise<readonly
|
|
226
|
+
readEffectPostcondition(effect: SyncProjectionEffect): Promise<SyncEffectPostcondition>;
|
|
227
|
+
readEffectPostconditions(request: ReadSyncEffectPostconditionsRequest): Promise<readonly SyncEffectPostconditionResult[]>;
|
|
242
228
|
}
|
|
243
|
-
/** Read-only
|
|
244
|
-
export interface
|
|
229
|
+
/** Read-only provider capability used by polling and onEdit observation. */
|
|
230
|
+
export interface SyncSheetsObservationProvider {
|
|
245
231
|
ensureRowAnchors(request: EnsureSyncRowAnchorsRequest): Promise<EnsureSyncRowAnchorsResult>;
|
|
246
|
-
readSnapshot(request: ReadSyncSnapshotRequest): Promise<
|
|
232
|
+
readSnapshot(request: ReadSyncSnapshotRequest): Promise<SyncSheetsSnapshot>;
|
|
247
233
|
}
|
|
248
234
|
/** Request for a lightweight table read used by simple polling. */
|
|
249
235
|
export interface ReadSyncTableRowsRequest {
|
|
250
236
|
readonly physicalSheetId: string;
|
|
251
|
-
readonly authority?: SyncGatewayAuthority;
|
|
252
237
|
readonly sheetName: string;
|
|
253
238
|
readonly registeredRange: string;
|
|
254
239
|
readonly projection: SyncProjection;
|
|
@@ -266,68 +251,27 @@ export interface SyncTableRowsResult {
|
|
|
266
251
|
readonly registeredRange: string;
|
|
267
252
|
readonly headers: readonly string[];
|
|
268
253
|
readonly rows: readonly SyncTableRow[];
|
|
269
|
-
readonly timing?:
|
|
254
|
+
readonly timing?: SyncSheetsTiming;
|
|
270
255
|
}
|
|
271
|
-
/**
|
|
272
|
-
export interface
|
|
256
|
+
/** Capability for reading literal table values without observation metadata. */
|
|
257
|
+
export interface SyncSheetsTableReader {
|
|
273
258
|
readRows(request: ReadSyncTableRowsRequest): Promise<SyncTableRowsResult>;
|
|
274
259
|
readRowsBatch(requests: readonly ReadSyncTableRowsRequest[]): Promise<readonly SyncTableRowsResult[]>;
|
|
275
260
|
}
|
|
276
|
-
/** Returns whether a full observation
|
|
277
|
-
export declare function
|
|
261
|
+
/** Returns whether a full observation provider also exposes the values-only reader. */
|
|
262
|
+
export declare function isSyncSheetsTableReader(provider: SyncSheetsObservationProvider): provider is SyncSheetsObservationProvider & SyncSheetsTableReader;
|
|
278
263
|
/**
|
|
279
|
-
* Full
|
|
264
|
+
* Full provider boundary used by observation and reconciliation.
|
|
280
265
|
*
|
|
281
266
|
* It includes the full effect-worker capabilities plus the metadata/snapshot
|
|
282
267
|
* reads required to observe user edits and repair projection drift.
|
|
283
268
|
*/
|
|
284
|
-
export interface
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Dependencies for a gateway that routes append writes and full observation
|
|
288
|
-
* work to separate remote capabilities.
|
|
289
|
-
*
|
|
290
|
-
* The fast gateway may be the thin operation-based Code.gs deployment, while
|
|
291
|
-
* the full gateway may be a separately deployed observation/reconciliation
|
|
292
|
-
* endpoint. Keeping this composition explicit prevents a fast-only endpoint
|
|
293
|
-
* from being mistaken for a complete sync gateway.
|
|
294
|
-
*/
|
|
295
|
-
export interface SplitSyncGatewayOptions {
|
|
296
|
-
readonly fastGateway: SyncEffectWorkerGateway;
|
|
297
|
-
readonly fullGateway: SyncSheetGateway;
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Combines the low-latency append path with the full observation path.
|
|
301
|
-
*
|
|
302
|
-
* New System_State creates use `fastGateway`. Updates, deletes, response-loss
|
|
303
|
-
* recovery, user-edit observation, and reconciliation use `fullGateway`.
|
|
304
|
-
* Neither delegate is allowed to silently handle the other capability.
|
|
305
|
-
*/
|
|
306
|
-
export declare class SplitSyncGateway implements SyncSheetGateway {
|
|
307
|
-
private readonly fastGateway;
|
|
308
|
-
private readonly fullGateway;
|
|
309
|
-
constructor(options: SplitSyncGatewayOptions);
|
|
310
|
-
/** Sends append-only System_State creates through the thin gateway. */
|
|
311
|
-
fastAppendRows(request: FastAppendRowsRequest): Promise<FastAppendRowsResult>;
|
|
312
|
-
/** Sends regular effect writes through the full gateway. */
|
|
313
|
-
applyEffects(request: ApplySyncEffectsRequest): Promise<ApplySyncEffectsResult>;
|
|
314
|
-
/** Reads one effect postcondition through the full gateway. */
|
|
315
|
-
readEffectPostcondition(effect: SyncGatewayEffect): Promise<SyncEffectPostcondition>;
|
|
316
|
-
/** Reads a batch of effect postconditions through the full gateway. */
|
|
317
|
-
readEffectPostconditions(request: ReadSyncEffectPostconditionsRequest): Promise<readonly SyncGatewayEffectPostconditionResult[]>;
|
|
318
|
-
/** Ensures row anchors through the full observation gateway. */
|
|
319
|
-
ensureRowAnchors(request: EnsureSyncRowAnchorsRequest): Promise<EnsureSyncRowAnchorsResult>;
|
|
320
|
-
/** Reads snapshots through the full observation gateway. */
|
|
321
|
-
readSnapshot(request: ReadSyncSnapshotRequest): Promise<SyncGatewaySnapshot>;
|
|
322
|
-
/** Shares the full gateway's combined observation capability when present. */
|
|
323
|
-
observeSnapshot(request: ReadSyncSnapshotRequest): Promise<SyncObservedSnapshot>;
|
|
324
|
-
/** Shares one remote observation request across the supplied projections. */
|
|
325
|
-
observeSnapshots(requests: readonly ReadSyncSnapshotRequest[]): Promise<readonly SyncObservedSnapshot[]>;
|
|
269
|
+
export interface SyncSheetsProvider extends SyncEffectWorkerProvider, SyncSheetsObservationProvider {
|
|
326
270
|
}
|
|
327
|
-
/** Computes the stable visible-state hash shared by fake and real
|
|
271
|
+
/** Computes the stable visible-state hash shared by fake and real providers. */
|
|
328
272
|
export declare function computeSyncVisibleHash(fields: Readonly<Record<string, NormalizedCell>>): string;
|
|
329
273
|
/** Validates and decodes the projection payload stored in a durable outbox row. */
|
|
330
274
|
export declare function parseSyncProjectionEffectPayload(value: string): SyncProjectionEffectPayload;
|
|
331
275
|
/** Serializes a checked projection payload in a stable key order for outbox use. */
|
|
332
276
|
export declare function serializeSyncProjectionEffectPayload(payload: SyncProjectionEffectPayload): string;
|
|
333
|
-
//# sourceMappingURL=
|
|
277
|
+
//# sourceMappingURL=syncSheets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"syncSheets.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/sheets/syncSheets.ts"],"names":[],"mappings":"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"}
|