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,273 +0,0 @@
|
|
|
1
|
-
/** Client boundary for invoking the current thin Apps Script `Code.gs`. */
|
|
2
|
-
import { APPS_SCRIPT_OPERATION_NAMES, SYNC_GATEWAY_CLIENT_DEFAULTS, } from "../protocol/constants.js";
|
|
3
|
-
import { createAppsScriptOperationEnvelope, } from "../protocol/codeGsProtocol.js";
|
|
4
|
-
import { SYNC_GATEWAY_PROTOCOL_ERROR_CODES, SyncGatewayProtocolError, AppsScriptSyncGatewayError, SYNC_GATEWAY_CLIENT_ERROR_CODES, } from "../errors.js";
|
|
5
|
-
import { requireSyncJsonValue } from "../protocol/syncProtocol.js";
|
|
6
|
-
import { JAVASCRIPT_TYPE_NAMES } from "../../../../../shared/encoding/constants.js";
|
|
7
|
-
import { isJavaScriptType, isRecord } from "../../../../../shared/encoding/typeGuards.js";
|
|
8
|
-
import { PRESENCE_KINDS } from "../../../../../shared/state/constants.js";
|
|
9
|
-
import { absentValue, presentValue } from "../../../../../shared/state/index.js";
|
|
10
|
-
/** Calls `Code.gs` without exposing its dynamic function executor to the rest of the runtime. */
|
|
11
|
-
export class AppsScriptOperationClient {
|
|
12
|
-
url;
|
|
13
|
-
secret;
|
|
14
|
-
sheetId;
|
|
15
|
-
keyId;
|
|
16
|
-
actorId;
|
|
17
|
-
requestTimeoutMs;
|
|
18
|
-
onRequest;
|
|
19
|
-
constructor(options) {
|
|
20
|
-
let url;
|
|
21
|
-
try {
|
|
22
|
-
url = new URL(options.url);
|
|
23
|
-
}
|
|
24
|
-
catch {
|
|
25
|
-
throw new SyncGatewayProtocolError(SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_CLIENT_OPTIONS, "Apps Script operation URL must be valid");
|
|
26
|
-
}
|
|
27
|
-
if (url.protocol !== "https:") {
|
|
28
|
-
throw new SyncGatewayProtocolError(SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_CLIENT_OPTIONS, "Apps Script operation URL must use HTTPS");
|
|
29
|
-
}
|
|
30
|
-
this.url = url.toString();
|
|
31
|
-
this.secret = requireTextOption(options.secret, "Apps Script operation secret");
|
|
32
|
-
this.sheetId = requireTextOption(options.sheetId, "Apps Script operation sheet ID");
|
|
33
|
-
this.keyId = requireTextOption(options.keyId ?? "typed-sheets-shared-secret-v1", "Apps Script operation key ID");
|
|
34
|
-
this.actorId = requireTextOption(options.actorId ?? "typed-sheets-sync-worker", "Apps Script operation actor ID");
|
|
35
|
-
this.requestTimeoutMs = requireRequestTimeout(options.requestTimeoutMs ?? SYNC_GATEWAY_CLIENT_DEFAULTS.REQUEST_TIMEOUT_MS);
|
|
36
|
-
this.onRequest = options.onRequest;
|
|
37
|
-
}
|
|
38
|
-
/** Sends one signed batch and decodes each result at the caller's boundary. */
|
|
39
|
-
async applyOperations(operations) {
|
|
40
|
-
const payload = {
|
|
41
|
-
operations: operations.map(toWireOperation),
|
|
42
|
-
};
|
|
43
|
-
const envelope = createAppsScriptOperationEnvelope({
|
|
44
|
-
operation: APPS_SCRIPT_OPERATION_NAMES.APPLY_OPERATIONS,
|
|
45
|
-
payload,
|
|
46
|
-
sheetId: this.sheetId,
|
|
47
|
-
secret: this.secret,
|
|
48
|
-
keyId: this.keyId,
|
|
49
|
-
actorId: this.actorId,
|
|
50
|
-
});
|
|
51
|
-
const result = requireOperationBatchResult(await this.post(envelope), operations.length);
|
|
52
|
-
const decoded = operations.map((operation, index) => {
|
|
53
|
-
const value = result[index];
|
|
54
|
-
return operation.decode === undefined ? value : operation.decode(value);
|
|
55
|
-
});
|
|
56
|
-
// The response-length check plus each operation decoder establish the
|
|
57
|
-
// runtime invariant that the mapped tuple type represents.
|
|
58
|
-
return decoded;
|
|
59
|
-
}
|
|
60
|
-
async post(envelope) {
|
|
61
|
-
const startedAt = Date.now();
|
|
62
|
-
const requestBody = JSON.stringify(envelope);
|
|
63
|
-
const controller = new AbortController();
|
|
64
|
-
const timer = setTimeout(() => controller.abort(), this.requestTimeoutMs);
|
|
65
|
-
let httpStatus = null;
|
|
66
|
-
let responseBytes = 0;
|
|
67
|
-
let requestUrl = this.url;
|
|
68
|
-
let requestMethod = "POST";
|
|
69
|
-
let redirectCount = 0;
|
|
70
|
-
try {
|
|
71
|
-
let response;
|
|
72
|
-
while (true) {
|
|
73
|
-
const requestInit = {
|
|
74
|
-
method: requestMethod,
|
|
75
|
-
signal: controller.signal,
|
|
76
|
-
// Validate the target ourselves. Apps Script commonly returns a
|
|
77
|
-
// 302 after executing the POST and exposes the result through a
|
|
78
|
-
// googleusercontent GET; 307/308 are the redirects that preserve
|
|
79
|
-
// the original method and body.
|
|
80
|
-
redirect: "manual",
|
|
81
|
-
...(requestMethod === "POST"
|
|
82
|
-
? {
|
|
83
|
-
headers: { "content-type": "application/json" },
|
|
84
|
-
body: requestBody,
|
|
85
|
-
}
|
|
86
|
-
: {}),
|
|
87
|
-
};
|
|
88
|
-
response = await fetch(requestUrl, requestInit);
|
|
89
|
-
httpStatus = response.status;
|
|
90
|
-
if (!isRedirectStatus(response.status))
|
|
91
|
-
break;
|
|
92
|
-
const location = response.headers.get("location");
|
|
93
|
-
// Release the manual redirect response before opening the next request;
|
|
94
|
-
// a redirect body is never part of the signed gateway protocol.
|
|
95
|
-
try {
|
|
96
|
-
await response.body?.cancel();
|
|
97
|
-
}
|
|
98
|
-
catch {
|
|
99
|
-
// The redirect target is still validated below; a failed body cancel
|
|
100
|
-
// must not turn a malformed Location into an unrelated network error.
|
|
101
|
-
}
|
|
102
|
-
if (redirectCount >= MAX_REDIRECTS) {
|
|
103
|
-
throw invalidRedirectError(`Code.gs redirect limit of ${MAX_REDIRECTS} was exceeded`, httpStatus);
|
|
104
|
-
}
|
|
105
|
-
requestUrl = resolveRedirectUrl(requestUrl, location, httpStatus);
|
|
106
|
-
if (REDIRECT_REWRITE_TO_GET_STATUS_CODES.has(response.status)) {
|
|
107
|
-
requestMethod = "GET";
|
|
108
|
-
}
|
|
109
|
-
redirectCount += 1;
|
|
110
|
-
}
|
|
111
|
-
const responseText = await response.text();
|
|
112
|
-
responseBytes = Buffer.byteLength(responseText, "utf8");
|
|
113
|
-
const decoded = parseCodeGsResponse(responseText, presentValue(httpStatus));
|
|
114
|
-
if (!response.ok) {
|
|
115
|
-
if (decoded.ok) {
|
|
116
|
-
throw new AppsScriptSyncGatewayError(SYNC_GATEWAY_CLIENT_ERROR_CODES.HTTP_ERROR, `Code.gs returned HTTP ${response.status}`, presentValue(httpStatus));
|
|
117
|
-
}
|
|
118
|
-
throw remoteError(decoded.error, presentValue(httpStatus));
|
|
119
|
-
}
|
|
120
|
-
if (!decoded.ok)
|
|
121
|
-
throw remoteError(decoded.error, presentValue(httpStatus));
|
|
122
|
-
this.notifyRequest({
|
|
123
|
-
requestId: envelope.requestId,
|
|
124
|
-
operation: envelope.operation,
|
|
125
|
-
operationCount: envelope.payload.operations.length,
|
|
126
|
-
startedAt,
|
|
127
|
-
durationMs: Date.now() - startedAt,
|
|
128
|
-
ok: true,
|
|
129
|
-
httpStatus,
|
|
130
|
-
requestBytes: Buffer.byteLength(requestBody, "utf8"),
|
|
131
|
-
responseBytes,
|
|
132
|
-
clientErrorCode: null,
|
|
133
|
-
remoteErrorCode: null,
|
|
134
|
-
});
|
|
135
|
-
return decoded.result;
|
|
136
|
-
}
|
|
137
|
-
catch (error) {
|
|
138
|
-
const normalizedError = error instanceof AppsScriptSyncGatewayError
|
|
139
|
-
? error
|
|
140
|
-
: error instanceof Error && error.name === "AbortError"
|
|
141
|
-
? new AppsScriptSyncGatewayError(SYNC_GATEWAY_CLIENT_ERROR_CODES.TIMEOUT, "Code.gs operation request timed out", presentOrAbsent(httpStatus))
|
|
142
|
-
: new AppsScriptSyncGatewayError(SYNC_GATEWAY_CLIENT_ERROR_CODES.NETWORK_ERROR, `Code.gs operation request failed: ${safeMessage(error)}`, presentOrAbsent(httpStatus));
|
|
143
|
-
this.notifyRequest({
|
|
144
|
-
requestId: envelope.requestId,
|
|
145
|
-
operation: envelope.operation,
|
|
146
|
-
operationCount: envelope.payload.operations.length,
|
|
147
|
-
startedAt,
|
|
148
|
-
durationMs: Date.now() - startedAt,
|
|
149
|
-
ok: false,
|
|
150
|
-
httpStatus,
|
|
151
|
-
requestBytes: Buffer.byteLength(requestBody, "utf8"),
|
|
152
|
-
responseBytes,
|
|
153
|
-
clientErrorCode: normalizedError.code,
|
|
154
|
-
remoteErrorCode: normalizedError.remoteCode.kind === PRESENCE_KINDS.PRESENT
|
|
155
|
-
? normalizedError.remoteCode.value
|
|
156
|
-
: null,
|
|
157
|
-
});
|
|
158
|
-
throw normalizedError;
|
|
159
|
-
}
|
|
160
|
-
finally {
|
|
161
|
-
clearTimeout(timer);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
/** Keeps optional request telemetry from changing the operation result. */
|
|
165
|
-
notifyRequest(event) {
|
|
166
|
-
try {
|
|
167
|
-
this.onRequest?.(event);
|
|
168
|
-
}
|
|
169
|
-
catch {
|
|
170
|
-
// Diagnostics must never make a successful remote operation fail.
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
function toWireOperation(operation) {
|
|
175
|
-
if (typeof operation.fn !== "string" || operation.fn.trim().length === 0) {
|
|
176
|
-
throw new SyncGatewayProtocolError(SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_OPERATION_SOURCE, "Apps Script operation fn must be a non-empty function source");
|
|
177
|
-
}
|
|
178
|
-
const args = requireSyncJsonValue(operation.args);
|
|
179
|
-
return { fn: operation.fn, args };
|
|
180
|
-
}
|
|
181
|
-
function requireOperationBatchResult(value, expectedCount) {
|
|
182
|
-
if (!isRecord(value) || !Array.isArray(value.results) || value.results.length !== expectedCount) {
|
|
183
|
-
throw new AppsScriptSyncGatewayError(SYNC_GATEWAY_CLIENT_ERROR_CODES.INVALID_RESPONSE, "Code.gs result must contain one result for every submitted operation", absentValue());
|
|
184
|
-
}
|
|
185
|
-
return value.results;
|
|
186
|
-
}
|
|
187
|
-
function parseCodeGsResponse(responseText, status) {
|
|
188
|
-
let parsed;
|
|
189
|
-
try {
|
|
190
|
-
parsed = JSON.parse(responseText);
|
|
191
|
-
}
|
|
192
|
-
catch {
|
|
193
|
-
throw new AppsScriptSyncGatewayError(SYNC_GATEWAY_CLIENT_ERROR_CODES.INVALID_RESPONSE, "Code.gs response was not valid JSON", status);
|
|
194
|
-
}
|
|
195
|
-
if (!isRecord(parsed) || !isJavaScriptType(parsed.ok, JAVASCRIPT_TYPE_NAMES.BOOLEAN)) {
|
|
196
|
-
throw new AppsScriptSyncGatewayError(SYNC_GATEWAY_CLIENT_ERROR_CODES.INVALID_RESPONSE, "Code.gs response must contain a boolean ok field", status);
|
|
197
|
-
}
|
|
198
|
-
if (parsed.ok)
|
|
199
|
-
return { ok: true, result: parsed.result };
|
|
200
|
-
if (!isRecord(parsed.error) ||
|
|
201
|
-
!isJavaScriptType(parsed.error.code, JAVASCRIPT_TYPE_NAMES.STRING) ||
|
|
202
|
-
!isJavaScriptType(parsed.error.message, JAVASCRIPT_TYPE_NAMES.STRING)) {
|
|
203
|
-
throw new AppsScriptSyncGatewayError(SYNC_GATEWAY_CLIENT_ERROR_CODES.INVALID_RESPONSE, "Code.gs error response is malformed", status);
|
|
204
|
-
}
|
|
205
|
-
return {
|
|
206
|
-
ok: false,
|
|
207
|
-
error: { code: parsed.error.code, message: parsed.error.message },
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
function remoteError(error, status) {
|
|
211
|
-
return new AppsScriptSyncGatewayError(SYNC_GATEWAY_CLIENT_ERROR_CODES.REMOTE_ERROR, error.message, status, presentValue(error.code));
|
|
212
|
-
}
|
|
213
|
-
function requireTextOption(value, label) {
|
|
214
|
-
if (!isJavaScriptType(value, JAVASCRIPT_TYPE_NAMES.STRING) ||
|
|
215
|
-
value.trim().length === 0) {
|
|
216
|
-
throw new SyncGatewayProtocolError(SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_CLIENT_OPTIONS, `${label} is required`);
|
|
217
|
-
}
|
|
218
|
-
return value;
|
|
219
|
-
}
|
|
220
|
-
function requireRequestTimeout(value) {
|
|
221
|
-
if (!isJavaScriptType(value, JAVASCRIPT_TYPE_NAMES.NUMBER) ||
|
|
222
|
-
!Number.isSafeInteger(value) ||
|
|
223
|
-
value < SYNC_GATEWAY_CLIENT_DEFAULTS.MIN_REQUEST_TIMEOUT_MS ||
|
|
224
|
-
value > SYNC_GATEWAY_CLIENT_DEFAULTS.MAX_REQUEST_TIMEOUT_MS) {
|
|
225
|
-
throw new SyncGatewayProtocolError(SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_CLIENT_OPTIONS, "Apps Script operation timeout must be between 1 second and 120 seconds");
|
|
226
|
-
}
|
|
227
|
-
return value;
|
|
228
|
-
}
|
|
229
|
-
const MAX_REDIRECTS = 3;
|
|
230
|
-
const REDIRECT_STATUS_CODES = new Set([301, 302, 303, 307, 308]);
|
|
231
|
-
const REDIRECT_REWRITE_TO_GET_STATUS_CODES = new Set([301, 302, 303]);
|
|
232
|
-
const TRUSTED_REDIRECT_HOSTS = new Set([
|
|
233
|
-
"script.google.com",
|
|
234
|
-
"script.googleusercontent.com",
|
|
235
|
-
]);
|
|
236
|
-
function isRedirectStatus(status) {
|
|
237
|
-
return REDIRECT_STATUS_CODES.has(status);
|
|
238
|
-
}
|
|
239
|
-
function resolveRedirectUrl(currentUrl, location, status) {
|
|
240
|
-
if (location === null || location.trim().length === 0) {
|
|
241
|
-
throw invalidRedirectError("Code.gs redirect did not contain a Location header", status);
|
|
242
|
-
}
|
|
243
|
-
let redirected;
|
|
244
|
-
try {
|
|
245
|
-
redirected = new URL(location, currentUrl);
|
|
246
|
-
}
|
|
247
|
-
catch {
|
|
248
|
-
throw invalidRedirectError("Code.gs redirect Location was not a valid URL", status);
|
|
249
|
-
}
|
|
250
|
-
if (redirected.protocol !== "https:" ||
|
|
251
|
-
redirected.username.length > 0 ||
|
|
252
|
-
redirected.password.length > 0 ||
|
|
253
|
-
redirected.hash.length > 0) {
|
|
254
|
-
throw invalidRedirectError("Code.gs redirect must target an HTTPS URL without credentials or a fragment", status);
|
|
255
|
-
}
|
|
256
|
-
const current = new URL(currentUrl);
|
|
257
|
-
const sameHost = redirected.hostname === current.hostname;
|
|
258
|
-
const trustedGoogleHost = TRUSTED_REDIRECT_HOSTS.has(redirected.hostname);
|
|
259
|
-
if (!sameHost && !trustedGoogleHost) {
|
|
260
|
-
throw invalidRedirectError("Code.gs redirect target is not the configured gateway or a trusted Apps Script host", status);
|
|
261
|
-
}
|
|
262
|
-
return redirected.toString();
|
|
263
|
-
}
|
|
264
|
-
function invalidRedirectError(statusMessage, status) {
|
|
265
|
-
return new AppsScriptSyncGatewayError(SYNC_GATEWAY_CLIENT_ERROR_CODES.INVALID_REDIRECT, statusMessage, presentValue(status));
|
|
266
|
-
}
|
|
267
|
-
function presentOrAbsent(value) {
|
|
268
|
-
return value === null ? absentValue() : presentValue(value);
|
|
269
|
-
}
|
|
270
|
-
function safeMessage(error) {
|
|
271
|
-
return error instanceof Error ? error.message : "Unexpected transport failure";
|
|
272
|
-
}
|
|
273
|
-
//# sourceMappingURL=operationClient.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operationClient.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/transport/operationClient.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,GAE7B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,iCAAiC,GAIlC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,iCAAiC,EACjC,wBAAwB,EACxB,0BAA0B,EAC1B,+BAA+B,GAChC,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,6CAA6C,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAqEjF,iGAAiG;AACjG,MAAM,OAAO,yBAAyB;IACnB,GAAG,CAAS;IACZ,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,OAAO,CAAS;IAChB,gBAAgB,CAAS;IACzB,SAAS,CAAiE;IAE3F,YAAmB,OAAyC;QAC1D,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,wBAAwB,CAChC,iCAAiC,CAAC,sBAAsB,EACxD,yCAAyC,CAC1C,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,wBAAwB,CAChC,iCAAiC,CAAC,sBAAsB,EACxD,0CAA0C,CAC3C,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,8BAA8B,CAAC,CAAC;QAChF,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;QACpF,IAAI,CAAC,KAAK,GAAG,iBAAiB,CAC5B,OAAO,CAAC,KAAK,IAAI,+BAA+B,EAChD,8BAA8B,CAC/B,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,iBAAiB,CAC9B,OAAO,CAAC,OAAO,IAAI,0BAA0B,EAC7C,gCAAgC,CACjC,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,qBAAqB,CAC3C,OAAO,CAAC,gBAAgB,IAAI,4BAA4B,CAAC,kBAAkB,CAC5E,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,+EAA+E;IACxE,KAAK,CAAC,eAAe,CAG1B,UAAsB;QAEtB,MAAM,OAAO,GAA+B;YAC1C,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC;SAC5C,CAAC;QACF,MAAM,QAAQ,GAAG,iCAAiC,CAAC;YACjD,SAAS,EAAE,2BAA2B,CAAC,gBAAgB;YACvD,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,2BAA2B,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACzF,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;YAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5B,OAAO,SAAS,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;QACH,sEAAsE;QACtE,2DAA2D;QAC3D,OAAO,OAAiD,CAAC;IAC3D,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,QAAqC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1E,IAAI,UAAU,GAAkB,IAAI,CAAC;QACrC,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;QAC1B,IAAI,aAAa,GAAmB,MAAM,CAAC;QAC3C,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,IAAI,QAAkB,CAAC;YACvB,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,WAAW,GAAgB;oBAC/B,MAAM,EAAE,aAAa;oBACrB,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,gEAAgE;oBAChE,gEAAgE;oBAChE,iEAAiE;oBACjE,gCAAgC;oBAChC,QAAQ,EAAE,QAAQ;oBAClB,GAAG,CAAC,aAAa,KAAK,MAAM;wBAC1B,CAAC,CAAC;4BACA,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;4BAC/C,IAAI,EAAE,WAAW;yBAClB;wBACD,CAAC,CAAC,EAAE,CAAC;iBACR,CAAC;gBACF,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAChD,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC7B,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAAE,MAAM;gBAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAClD,wEAAwE;gBACxE,gEAAgE;gBAChE,IAAI,CAAC;oBACH,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,qEAAqE;oBACrE,sEAAsE;gBACxE,CAAC;gBACD,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;oBACnC,MAAM,oBAAoB,CACxB,6BAA6B,aAAa,eAAe,EACzD,UAAU,CACX,CAAC;gBACJ,CAAC;gBACD,UAAU,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAClE,IAAI,oCAAoC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9D,aAAa,GAAG,KAAK,CAAC;gBACxB,CAAC;gBACD,aAAa,IAAI,CAAC,CAAC;YACrB,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC3C,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YAE5E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;oBACf,MAAM,IAAI,0BAA0B,CAClC,+BAA+B,CAAC,UAAU,EAC1C,yBAAyB,QAAQ,CAAC,MAAM,EAAE,EAC1C,YAAY,CAAC,UAAU,CAAC,CACzB,CAAC;gBACJ,CAAC;gBACD,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YAC7D,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,EAAE;gBAAE,MAAM,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;YAE5E,IAAI,CAAC,aAAa,CAAC;gBACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM;gBAClD,SAAS;gBACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,EAAE,EAAE,IAAI;gBACR,UAAU;gBACV,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC;gBACpD,aAAa;gBACb,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,IAAI;aACtB,CAAC,CAAC;YACH,OAAO,OAAO,CAAC,MAAM,CAAC;QACxB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,eAAe,GAAG,KAAK,YAAY,0BAA0B;gBACjE,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY;oBACrD,CAAC,CAAC,IAAI,0BAA0B,CAC9B,+BAA+B,CAAC,OAAO,EACvC,qCAAqC,EACrC,eAAe,CAAC,UAAU,CAAC,CAC5B;oBACD,CAAC,CAAC,IAAI,0BAA0B,CAC9B,+BAA+B,CAAC,aAAa,EAC7C,qCAAqC,WAAW,CAAC,KAAK,CAAC,EAAE,EACzD,eAAe,CAAC,UAAU,CAAC,CAC5B,CAAC;YACN,IAAI,CAAC,aAAa,CAAC;gBACjB,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,SAAS,EAAE,QAAQ,CAAC,SAAS;gBAC7B,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM;gBAClD,SAAS;gBACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAClC,EAAE,EAAE,KAAK;gBACT,UAAU;gBACV,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,CAAC;gBACpD,aAAa;gBACb,eAAe,EAAE,eAAe,CAAC,IAAI;gBACrC,eAAe,EAAE,eAAe,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;oBACzE,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK;oBAClC,CAAC,CAAC,IAAI;aACT,CAAC,CAAC;YACH,MAAM,eAAe,CAAC;QACxB,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,2EAA2E;IACnE,aAAa,CAAC,KAAsC;QAC1D,IAAI,CAAC;YACH,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,kEAAkE;QACpE,CAAC;IACH,CAAC;CACF;AAED,SAAS,eAAe,CACtB,SAA2C;IAE3C,IAAI,OAAO,SAAS,CAAC,EAAE,KAAK,QAAQ,IAAI,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzE,MAAM,IAAI,wBAAwB,CAChC,iCAAiC,CAAC,wBAAwB,EAC1D,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,EAAE,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,2BAA2B,CAClC,KAAc,EACd,aAAqB;IAErB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QAChG,MAAM,IAAI,0BAA0B,CAClC,+BAA+B,CAAC,gBAAgB,EAChD,sEAAsE,EACtE,WAAW,EAAE,CACd,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC;AACvB,CAAC;AAMD,SAAS,mBAAmB,CAC1B,YAAoB,EACpB,MAAwB;IAExB,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,0BAA0B,CAClC,+BAA+B,CAAC,gBAAgB,EAChD,qCAAqC,EACrC,MAAM,CACP,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,0BAA0B,CAClC,+BAA+B,CAAC,gBAAgB,EAChD,kDAAkD,EAClD,MAAM,CACP,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IAC1D,IACE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;QACvB,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC;QAClE,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,MAAM,CAAC,EACrE,CAAC;QACD,MAAM,IAAI,0BAA0B,CAClC,+BAA+B,CAAC,gBAAgB,EAChD,qCAAqC,EACrC,MAAM,CACP,CAAC;IACJ,CAAC;IACD,OAAO;QACL,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;KAClE,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAClB,KAA0D,EAC1D,MAAwB;IAExB,OAAO,IAAI,0BAA0B,CACnC,+BAA+B,CAAC,YAAY,EAC5C,KAAK,CAAC,OAAO,EACb,MAAM,EACN,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,KAAa;IACtD,IACE,CAAC,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC;QACtD,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EACzB,CAAC;QACD,MAAM,IAAI,wBAAwB,CAChC,iCAAiC,CAAC,sBAAsB,EACxD,GAAG,KAAK,cAAc,CACvB,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IACE,CAAC,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,CAAC,MAAM,CAAC;QACtD,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;QAC5B,KAAK,GAAG,4BAA4B,CAAC,sBAAsB;QAC3D,KAAK,GAAG,4BAA4B,CAAC,sBAAsB,EAC3D,CAAC;QACD,MAAM,IAAI,wBAAwB,CAChC,iCAAiC,CAAC,sBAAsB,EACxD,wEAAwE,CACzE,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACjE,MAAM,oCAAoC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACtE,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,mBAAmB;IACnB,8BAA8B;CAC/B,CAAC,CAAC;AAEH,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAkB,EAClB,QAAuB,EACvB,MAAc;IAEd,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,oBAAoB,CAAC,oDAAoD,EAAE,MAAM,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,UAAe,CAAC;IACpB,IAAI,CAAC;QACH,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,oBAAoB,CAAC,+CAA+C,EAAE,MAAM,CAAC,CAAC;IACtF,CAAC;IACD,IACE,UAAU,CAAC,QAAQ,KAAK,QAAQ;QAChC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC9B,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC9B,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAC1B,CAAC;QACD,MAAM,oBAAoB,CACxB,6EAA6E,EAC7E,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC;IAC1D,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1E,IAAI,CAAC,QAAQ,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpC,MAAM,oBAAoB,CACxB,qFAAqF,EACrF,MAAM,CACP,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,oBAAoB,CAAC,aAAqB,EAAE,MAAc;IACjE,OAAO,IAAI,0BAA0B,CACnC,+BAA+B,CAAC,gBAAgB,EAChD,aAAa,EACb,YAAY,CAAC,MAAM,CAAC,CACrB,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAoB;IAC3C,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;AACjF,CAAC"}
|
package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime adapter for the thin, generic Apps Script operation gateway.
|
|
3
|
-
*
|
|
4
|
-
* The current Code.gs exposes a generic signed operation dispatcher. Fast
|
|
5
|
-
* append stays on its low-cost operation, while regular effects and recovery
|
|
6
|
-
* reads use separate operations with their own typed decoders.
|
|
7
|
-
*/
|
|
8
|
-
import type { RegisteredSyncProjectionDefinition, SyncGatewayProvisionRoute, SyncGatewayProvisioner } from "../../../../../application/sync/gateway/SyncGatewayBootstrap.js";
|
|
9
|
-
import type { ApplySyncEffectsRequest, ApplySyncEffectsResult, EnsureSyncRowAnchorsRequest, EnsureSyncRowAnchorsResult, FastAppendRowsRequest, FastAppendRowsResult, ReadSyncEffectPostconditionsRequest, ReadSyncTableRowsRequest, ReadSyncSnapshotRequest, SyncEffectPostcondition, SyncGatewayEffect, SyncGatewayEffectPostconditionResult, SyncGatewaySnapshot, SyncObservedSnapshot, SyncSheetGateway, SyncSheetTableReaderGateway, SyncSheetObservationBatchGateway, SyncEffectWorkerFullGateway, SyncTableRowsResult } from "../../../../../application/sync/gateway/syncGateway.js";
|
|
10
|
-
import type { AppsScriptOperationGateway } from "./operationClient.js";
|
|
11
|
-
/** Configuration required to bind the operation client to SQLite projections. */
|
|
12
|
-
export interface AppsScriptOperationSyncGatewayOptions {
|
|
13
|
-
readonly operationGateway: AppsScriptOperationGateway;
|
|
14
|
-
readonly definitions: readonly RegisteredSyncProjectionDefinition[];
|
|
15
|
-
}
|
|
16
|
-
/** Read-only status returned by the operational projection inspection helper. */
|
|
17
|
-
export interface AppsScriptOperationProjectionStatus {
|
|
18
|
-
readonly sheetName: string;
|
|
19
|
-
readonly headers: readonly string[];
|
|
20
|
-
readonly rowCount: number;
|
|
21
|
-
readonly ids: readonly string[];
|
|
22
|
-
}
|
|
23
|
-
type ProvisionedRoute = Omit<SyncGatewayProvisionRoute, "headers">;
|
|
24
|
-
/**
|
|
25
|
-
* Adapts the generic Apps Script operation transport to the sync worker's
|
|
26
|
-
* fast and regular effect gateway boundaries.
|
|
27
|
-
*/
|
|
28
|
-
export declare class AppsScriptOperationSyncGateway implements SyncSheetGateway, SyncSheetTableReaderGateway, SyncSheetObservationBatchGateway, SyncEffectWorkerFullGateway, SyncGatewayProvisioner {
|
|
29
|
-
private readonly operationGateway;
|
|
30
|
-
private readonly definitions;
|
|
31
|
-
constructor(options: AppsScriptOperationSyncGatewayOptions);
|
|
32
|
-
/**
|
|
33
|
-
* Creates or verifies the registered tabs and their header rows remotely.
|
|
34
|
-
*
|
|
35
|
-
* The operation is idempotent: the remote source only creates missing tabs
|
|
36
|
-
* and rejects a nonblank header row that differs from SQLite's schema.
|
|
37
|
-
*/
|
|
38
|
-
provisionRegistry(registrations: readonly SyncGatewayProvisionRoute[]): Promise<{
|
|
39
|
-
readonly registrations: readonly ProvisionedRoute[];
|
|
40
|
-
readonly createdSheets: readonly string[];
|
|
41
|
-
readonly initializedHeaders: readonly string[];
|
|
42
|
-
}>;
|
|
43
|
-
/** Appends route rows through an idempotent built-in-services operation. */
|
|
44
|
-
fastAppendRows(request: FastAppendRowsRequest): Promise<FastAppendRowsResult>;
|
|
45
|
-
/** Reads one registered table with values only; no metadata, lock, or CAS work is performed. */
|
|
46
|
-
readRows(request: ReadSyncTableRowsRequest): Promise<SyncTableRowsResult>;
|
|
47
|
-
/** Reads several registered tables through one signed Apps Script request. */
|
|
48
|
-
readRowsBatch(requests: readonly ReadSyncTableRowsRequest[]): Promise<readonly SyncTableRowsResult[]>;
|
|
49
|
-
/** Applies regular update/delete effects through the full operation path. */
|
|
50
|
-
applyEffects(request: ApplySyncEffectsRequest): Promise<ApplySyncEffectsResult>;
|
|
51
|
-
/** Reads one regular-effect postcondition after an uncertain response. */
|
|
52
|
-
readEffectPostcondition(effect: SyncGatewayEffect): Promise<SyncEffectPostcondition>;
|
|
53
|
-
/** Reads several regular-effect postconditions with one Sheet scan. */
|
|
54
|
-
readEffectPostconditions(request: ReadSyncEffectPostconditionsRequest): Promise<readonly SyncGatewayEffectPostconditionResult[]>;
|
|
55
|
-
/** Assigns missing row anchors through the observation operation. */
|
|
56
|
-
ensureRowAnchors(request: EnsureSyncRowAnchorsRequest): Promise<EnsureSyncRowAnchorsResult>;
|
|
57
|
-
/** Reads a normalized, anchor-aware snapshot for polling and reconciliation. */
|
|
58
|
-
readSnapshot(request: ReadSyncSnapshotRequest): Promise<SyncGatewaySnapshot>;
|
|
59
|
-
/** Assigns anchors and reads one snapshot under one remote lock/request. */
|
|
60
|
-
observeSnapshot(request: ReadSyncSnapshotRequest): Promise<SyncObservedSnapshot>;
|
|
61
|
-
/** Reads several projections through one signed Apps Script request. */
|
|
62
|
-
observeSnapshots(requests: readonly ReadSyncSnapshotRequest[]): Promise<readonly SyncObservedSnapshot[]>;
|
|
63
|
-
/**
|
|
64
|
-
* Reads a projection for setup checks and operational verification.
|
|
65
|
-
*
|
|
66
|
-
* This is intentionally not part of the old SyncSheetGateway contract; it
|
|
67
|
-
* is a small read operation for callers that need to verify row counts.
|
|
68
|
-
*/
|
|
69
|
-
readProjection(sheetName: string): Promise<AppsScriptOperationProjectionStatus>;
|
|
70
|
-
private definitionForPhysicalSheet;
|
|
71
|
-
}
|
|
72
|
-
export {};
|
|
73
|
-
//# sourceMappingURL=operationSyncGateway.d.ts.map
|
package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operationSyncGateway.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.ts"],"names":[],"mappings":"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"}
|