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,51 +0,0 @@
|
|
|
1
|
-
/** Signed request protocol implemented by the current thin `Code.gs` file. */
|
|
2
|
-
import { type AppsScriptOperationName } from "./constants.js";
|
|
3
|
-
import type { HikouteiRequestId } from "../../../../../shared/identity/types.js";
|
|
4
|
-
import type { SyncJsonValue } from "./types.js";
|
|
5
|
-
/** The thin dispatcher reuses the data-plane protocol version. */
|
|
6
|
-
export declare const APPS_SCRIPT_OPERATION_PROTOCOL_VERSION: "typed-sheets-sync-v1";
|
|
7
|
-
/** One function call that `Code.gs` restores and invokes with `(spreadsheet, args)`. */
|
|
8
|
-
export interface AppsScriptOperationWire {
|
|
9
|
-
readonly fn: string;
|
|
10
|
-
readonly args: SyncJsonValue;
|
|
11
|
-
}
|
|
12
|
-
/** Payload accepted by `Code.gs`'s `applyOperations` handler. */
|
|
13
|
-
export interface AppsScriptOperationPayload {
|
|
14
|
-
readonly operations: readonly AppsScriptOperationWire[];
|
|
15
|
-
}
|
|
16
|
-
/** Fields authenticated by the current `Code.gs` implementation. */
|
|
17
|
-
export interface AppsScriptOperationSigningFields {
|
|
18
|
-
readonly protocolVersion: typeof APPS_SCRIPT_OPERATION_PROTOCOL_VERSION;
|
|
19
|
-
readonly requestId: HikouteiRequestId;
|
|
20
|
-
readonly operation: AppsScriptOperationName;
|
|
21
|
-
readonly keyId: string;
|
|
22
|
-
readonly issuedAt: number;
|
|
23
|
-
readonly expiresAt: number;
|
|
24
|
-
readonly sheetId: string;
|
|
25
|
-
readonly actorId: string;
|
|
26
|
-
readonly bodyHash: string;
|
|
27
|
-
}
|
|
28
|
-
/** Signed envelope accepted by the current thin `Code.gs` handler. */
|
|
29
|
-
export interface AppsScriptOperationEnvelope extends AppsScriptOperationSigningFields {
|
|
30
|
-
readonly signature: string;
|
|
31
|
-
readonly payload: AppsScriptOperationPayload;
|
|
32
|
-
}
|
|
33
|
-
/** Inputs for deterministic operation-envelope creation and protocol tests. */
|
|
34
|
-
export interface CreateAppsScriptOperationEnvelopeOptions {
|
|
35
|
-
readonly operation: AppsScriptOperationName;
|
|
36
|
-
readonly payload: AppsScriptOperationPayload;
|
|
37
|
-
readonly sheetId: string;
|
|
38
|
-
readonly secret: string;
|
|
39
|
-
readonly keyId?: string;
|
|
40
|
-
readonly actorId?: string;
|
|
41
|
-
readonly requestId?: string;
|
|
42
|
-
readonly issuedAt?: number;
|
|
43
|
-
readonly expiresInMs?: number;
|
|
44
|
-
}
|
|
45
|
-
/** Exact signing input used by `Code.gs` (there is no registered range field). */
|
|
46
|
-
export declare function appsScriptOperationSigningInput(input: AppsScriptOperationSigningFields): string;
|
|
47
|
-
/** Computes the URL-safe HMAC signature verified by `Code.gs`. */
|
|
48
|
-
export declare function signAppsScriptOperationEnvelope(input: AppsScriptOperationSigningFields, secret: string): string;
|
|
49
|
-
/** Creates a signed request matching the current `Code.gs` wire contract. */
|
|
50
|
-
export declare function createAppsScriptOperationEnvelope(options: CreateAppsScriptOperationEnvelopeOptions): AppsScriptOperationEnvelope;
|
|
51
|
-
//# sourceMappingURL=codeGsProtocol.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codeGsProtocol.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAG9E,OAAO,EAML,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AAYxB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,kEAAkE;AAClE,eAAO,MAAM,sCAAsC,wBAAsC,CAAC;AAE1F,wFAAwF;AACxF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;CAC9B;AAED,iEAAiE;AACjE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,UAAU,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACzD;AAED,oEAAoE;AACpE,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,eAAe,EAAE,OAAO,sCAAsC,CAAC;IACxE,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,sEAAsE;AACtE,MAAM,WAAW,2BAA4B,SAAQ,gCAAgC;IACnF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;CAC9C;AAED,+EAA+E;AAC/E,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,kFAAkF;AAClF,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,gCAAgC,GACtC,MAAM,CAYR;AAED,kEAAkE;AAClE,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,gCAAgC,EACvC,MAAM,EAAE,MAAM,GACb,MAAM,CASR;AAED,6EAA6E;AAC7E,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,wCAAwC,GAChD,2BAA2B,CA+C7B"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/** Signed request protocol implemented by the current thin `Code.gs` file. */
|
|
2
|
-
import { createHmac, randomUUID } from "node:crypto";
|
|
3
|
-
import { APPS_SCRIPT_OPERATION_NAMES, SYNC_GATEWAY_DEFAULTS, SYNC_GATEWAY_ENCODINGS, SYNC_GATEWAY_HASH_ALGORITHMS, SYNC_GATEWAY_PROTOCOL_VERSIONS, } from "./constants.js";
|
|
4
|
-
import { SYNC_GATEWAY_PROTOCOL_ERROR_CODES, SyncGatewayProtocolError, } from "../errors.js";
|
|
5
|
-
import { requireSyncGatewayExpiry, requireSyncGatewayIssuedAt, requireSyncGatewayRequestId, requireSyncGatewayText, } from "./validation.js";
|
|
6
|
-
import { canonicalSyncJson, syncSha256Hex } from "./syncProtocol.js";
|
|
7
|
-
/** The thin dispatcher reuses the data-plane protocol version. */
|
|
8
|
-
export const APPS_SCRIPT_OPERATION_PROTOCOL_VERSION = SYNC_GATEWAY_PROTOCOL_VERSIONS.DATA;
|
|
9
|
-
/** Exact signing input used by `Code.gs` (there is no registered range field). */
|
|
10
|
-
export function appsScriptOperationSigningInput(input) {
|
|
11
|
-
return [
|
|
12
|
-
input.protocolVersion,
|
|
13
|
-
input.requestId,
|
|
14
|
-
input.operation,
|
|
15
|
-
input.keyId,
|
|
16
|
-
String(input.issuedAt),
|
|
17
|
-
String(input.expiresAt),
|
|
18
|
-
input.sheetId,
|
|
19
|
-
input.actorId,
|
|
20
|
-
input.bodyHash,
|
|
21
|
-
].join("\n");
|
|
22
|
-
}
|
|
23
|
-
/** Computes the URL-safe HMAC signature verified by `Code.gs`. */
|
|
24
|
-
export function signAppsScriptOperationEnvelope(input, secret) {
|
|
25
|
-
const validSecret = requireSyncGatewayText(secret, "Apps Script operation secret", SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_SECRET);
|
|
26
|
-
return createHmac(SYNC_GATEWAY_HASH_ALGORITHMS.SHA256, validSecret)
|
|
27
|
-
.update(appsScriptOperationSigningInput(input), SYNC_GATEWAY_ENCODINGS.UTF8)
|
|
28
|
-
.digest(SYNC_GATEWAY_ENCODINGS.BASE64URL);
|
|
29
|
-
}
|
|
30
|
-
/** Creates a signed request matching the current `Code.gs` wire contract. */
|
|
31
|
-
export function createAppsScriptOperationEnvelope(options) {
|
|
32
|
-
const issuedAt = requireSyncGatewayIssuedAt(options.issuedAt ?? Date.now());
|
|
33
|
-
const expiresInMs = requireSyncGatewayExpiry(options.expiresInMs ?? SYNC_GATEWAY_DEFAULTS.EXPIRY_MS);
|
|
34
|
-
const sheetId = requireSyncGatewayText(options.sheetId, "Apps Script operation sheetId", SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_SHEET_ID);
|
|
35
|
-
const actorId = requireSyncGatewayText(options.actorId ?? SYNC_GATEWAY_DEFAULTS.DATA_ACTOR_ID, "Apps Script operation actorId", SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_ACTOR_ID);
|
|
36
|
-
const keyId = requireSyncGatewayText(options.keyId ?? SYNC_GATEWAY_DEFAULTS.KEY_ID, "Apps Script operation keyId", SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_KEY_ID);
|
|
37
|
-
const requestId = requireSyncGatewayRequestId(options.requestId ?? randomUUID());
|
|
38
|
-
if (options.operation !== APPS_SCRIPT_OPERATION_NAMES.APPLY_OPERATIONS) {
|
|
39
|
-
throw new SyncGatewayProtocolError(SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_OPERATION, "Apps Script operation is not supported by Code.gs");
|
|
40
|
-
}
|
|
41
|
-
// canonicalSyncJson validates every args value before the request is sent.
|
|
42
|
-
const bodyHash = syncSha256Hex(canonicalSyncJson(options.payload));
|
|
43
|
-
const unsigned = {
|
|
44
|
-
protocolVersion: APPS_SCRIPT_OPERATION_PROTOCOL_VERSION,
|
|
45
|
-
requestId,
|
|
46
|
-
operation: options.operation,
|
|
47
|
-
keyId,
|
|
48
|
-
issuedAt,
|
|
49
|
-
expiresAt: issuedAt + expiresInMs,
|
|
50
|
-
sheetId,
|
|
51
|
-
actorId,
|
|
52
|
-
bodyHash,
|
|
53
|
-
};
|
|
54
|
-
return {
|
|
55
|
-
...unsigned,
|
|
56
|
-
signature: signAppsScriptOperationEnvelope(unsigned, options.secret),
|
|
57
|
-
payload: options.payload,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
//# sourceMappingURL=codeGsProtocol.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codeGsProtocol.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/** Protocol version used by the thin Apps Script operation dispatcher. */
|
|
2
|
-
export declare const SYNC_GATEWAY_PROTOCOL_VERSIONS: {
|
|
3
|
-
readonly DATA: "typed-sheets-sync-v1";
|
|
4
|
-
};
|
|
5
|
-
export type SyncGatewayProtocolVersion = (typeof SYNC_GATEWAY_PROTOCOL_VERSIONS)[keyof typeof SYNC_GATEWAY_PROTOCOL_VERSIONS];
|
|
6
|
-
/** Data-plane protocol version used by signed sync requests. */
|
|
7
|
-
export type SyncGatewayDataProtocolVersion = (typeof SYNC_GATEWAY_PROTOCOL_VERSIONS)["DATA"];
|
|
8
|
-
/** Operation names accepted by the thin Code.gs function dispatcher. */
|
|
9
|
-
export declare const APPS_SCRIPT_OPERATION_NAMES: {
|
|
10
|
-
readonly APPLY_OPERATIONS: "applyOperations";
|
|
11
|
-
};
|
|
12
|
-
export type AppsScriptOperationName = (typeof APPS_SCRIPT_OPERATION_NAMES)[keyof typeof APPS_SCRIPT_OPERATION_NAMES];
|
|
13
|
-
/** Shared defaults for signed gateway envelopes. */
|
|
14
|
-
export declare const SYNC_GATEWAY_DEFAULTS: {
|
|
15
|
-
readonly DATA_ACTOR_ID: "typed-sheets-sync-worker";
|
|
16
|
-
readonly KEY_ID: "typed-sheets-shared-secret-v1";
|
|
17
|
-
readonly EXPIRY_MS: 60000;
|
|
18
|
-
readonly MIN_EXPIRY_MS: 1000;
|
|
19
|
-
readonly MAX_EXPIRY_MS: number;
|
|
20
|
-
};
|
|
21
|
-
/** Request timeout bounds for the Node-side Apps Script client. */
|
|
22
|
-
export declare const SYNC_GATEWAY_CLIENT_DEFAULTS: {
|
|
23
|
-
readonly REQUEST_TIMEOUT_MS: 30000;
|
|
24
|
-
readonly MIN_REQUEST_TIMEOUT_MS: 1000;
|
|
25
|
-
readonly MAX_REQUEST_TIMEOUT_MS: 120000;
|
|
26
|
-
};
|
|
27
|
-
/** Cryptographic algorithm used by both gateway envelope types. */
|
|
28
|
-
export declare const SYNC_GATEWAY_HASH_ALGORITHMS: {
|
|
29
|
-
readonly SHA256: "sha256";
|
|
30
|
-
};
|
|
31
|
-
/** Encodings used by the Node crypto boundary. */
|
|
32
|
-
export declare const SYNC_GATEWAY_ENCODINGS: {
|
|
33
|
-
readonly UTF8: "utf8";
|
|
34
|
-
readonly BASE64URL: "base64url";
|
|
35
|
-
};
|
|
36
|
-
/** Canonical JSON tokens emitted for primitive literal values. */
|
|
37
|
-
export declare const SYNC_JSON_LITERAL_TOKENS: {
|
|
38
|
-
readonly NULL: "null";
|
|
39
|
-
readonly TRUE: "true";
|
|
40
|
-
readonly FALSE: "false";
|
|
41
|
-
};
|
|
42
|
-
/** Request IDs must remain short and safe to carry through the gateway. */
|
|
43
|
-
export declare const SYNC_GATEWAY_REQUEST_ID_PATTERN: RegExp;
|
|
44
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/constants.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,eAAO,MAAM,8BAA8B;;CAEjC,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,OAAO,8BAA8B,CAAC,CAAC;AAEvF,gEAAgE;AAChE,MAAM,MAAM,8BAA8B,GACxC,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElD,wEAAwE;AACxE,eAAO,MAAM,2BAA2B;;CAE9B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC;AAEjF,oDAAoD;AACpD,eAAO,MAAM,qBAAqB;;;;;;CAMxB,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,4BAA4B;;;;CAI/B,CAAC;AAEX,mEAAmE;AACnE,eAAO,MAAM,4BAA4B;;CAE/B,CAAC;AAEX,kDAAkD;AAClD,eAAO,MAAM,sBAAsB;;;CAGzB,CAAC;AAEX,kEAAkE;AAClE,eAAO,MAAM,wBAAwB;;;;CAI3B,CAAC;AAEX,2EAA2E;AAC3E,eAAO,MAAM,+BAA+B,QAA6B,CAAC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/** Protocol version used by the thin Apps Script operation dispatcher. */
|
|
2
|
-
export const SYNC_GATEWAY_PROTOCOL_VERSIONS = {
|
|
3
|
-
DATA: "typed-sheets-sync-v1",
|
|
4
|
-
};
|
|
5
|
-
/** Operation names accepted by the thin Code.gs function dispatcher. */
|
|
6
|
-
export const APPS_SCRIPT_OPERATION_NAMES = {
|
|
7
|
-
APPLY_OPERATIONS: "applyOperations",
|
|
8
|
-
};
|
|
9
|
-
/** Shared defaults for signed gateway envelopes. */
|
|
10
|
-
export const SYNC_GATEWAY_DEFAULTS = {
|
|
11
|
-
DATA_ACTOR_ID: "typed-sheets-sync-worker",
|
|
12
|
-
KEY_ID: "typed-sheets-shared-secret-v1",
|
|
13
|
-
EXPIRY_MS: 60_000,
|
|
14
|
-
MIN_EXPIRY_MS: 1_000,
|
|
15
|
-
MAX_EXPIRY_MS: 10 * 60_000,
|
|
16
|
-
};
|
|
17
|
-
/** Request timeout bounds for the Node-side Apps Script client. */
|
|
18
|
-
export const SYNC_GATEWAY_CLIENT_DEFAULTS = {
|
|
19
|
-
REQUEST_TIMEOUT_MS: 30_000,
|
|
20
|
-
MIN_REQUEST_TIMEOUT_MS: 1_000,
|
|
21
|
-
MAX_REQUEST_TIMEOUT_MS: 120_000,
|
|
22
|
-
};
|
|
23
|
-
/** Cryptographic algorithm used by both gateway envelope types. */
|
|
24
|
-
export const SYNC_GATEWAY_HASH_ALGORITHMS = {
|
|
25
|
-
SHA256: "sha256",
|
|
26
|
-
};
|
|
27
|
-
/** Encodings used by the Node crypto boundary. */
|
|
28
|
-
export const SYNC_GATEWAY_ENCODINGS = {
|
|
29
|
-
UTF8: "utf8",
|
|
30
|
-
BASE64URL: "base64url",
|
|
31
|
-
};
|
|
32
|
-
/** Canonical JSON tokens emitted for primitive literal values. */
|
|
33
|
-
export const SYNC_JSON_LITERAL_TOKENS = {
|
|
34
|
-
NULL: "null",
|
|
35
|
-
TRUE: "true",
|
|
36
|
-
FALSE: "false",
|
|
37
|
-
};
|
|
38
|
-
/** Request IDs must remain short and safe to carry through the gateway. */
|
|
39
|
-
export const SYNC_GATEWAY_REQUEST_ID_PATTERN = /^[A-Za-z0-9._:-]{8,128}$/;
|
|
40
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/constants.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,IAAI,EAAE,sBAAsB;CACpB,CAAC;AASX,wEAAwE;AACxE,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,gBAAgB,EAAE,iBAAiB;CAC3B,CAAC;AAKX,oDAAoD;AACpD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,aAAa,EAAE,0BAA0B;IACzC,MAAM,EAAE,+BAA+B;IACvC,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,KAAK;IACpB,aAAa,EAAE,EAAE,GAAG,MAAM;CAClB,CAAC;AAEX,mEAAmE;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,kBAAkB,EAAE,MAAM;IAC1B,sBAAsB,EAAE,KAAK;IAC7B,sBAAsB,EAAE,OAAO;CACvB,CAAC;AAEX,mEAAmE;AACnE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,kDAAkD;AAClD,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,WAAW;CACd,CAAC;AAEX,kEAAkE;AAClE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;CACN,CAAC;AAEX,2EAA2E;AAC3E,MAAM,CAAC,MAAM,+BAA+B,GAAG,0BAA0B,CAAC"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/** Canonical JSON and hashing helpers shared by the thin operation protocol. */
|
|
2
|
-
import type { SyncJsonValue } from "./types.js";
|
|
3
|
-
export type { SyncJsonValue } from "./types.js";
|
|
4
|
-
/** Checks whether an unknown value is safe to send through the signed JSON boundary. */
|
|
5
|
-
export declare function isSyncJsonValue(value: unknown): value is SyncJsonValue;
|
|
6
|
-
/** Promotes a JSON-compatible value or throws the protocol error used by signing. */
|
|
7
|
-
export declare function requireSyncJsonValue(value: unknown): SyncJsonValue;
|
|
8
|
-
/** Canonical JSON used for payload hashes and cross-runtime HMAC inputs. */
|
|
9
|
-
export declare function canonicalSyncJson(value: unknown): string;
|
|
10
|
-
/** SHA-256 helper shared by envelope and effect payload verification. */
|
|
11
|
-
export declare function syncSha256Hex(value: string): string;
|
|
12
|
-
//# sourceMappingURL=syncProtocol.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"syncProtocol.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAiBhF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED,qFAAqF;AACrF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,aAAa,CAQlE;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAMxD;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAInD"}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
/** Canonical JSON and hashing helpers shared by the thin operation protocol. */
|
|
2
|
-
import { createHash } from "node:crypto";
|
|
3
|
-
import { canonicalJson, isCanonicalJsonValue, CANONICAL_CODEC_ERROR_CODES, CanonicalCodecError, } from "@hikoutei/kohkai";
|
|
4
|
-
import { SYNC_GATEWAY_ENCODINGS, SYNC_GATEWAY_HASH_ALGORITHMS, } from "./constants.js";
|
|
5
|
-
import { SYNC_GATEWAY_PROTOCOL_ERROR_CODES, SyncGatewayProtocolError, } from "../errors.js";
|
|
6
|
-
/** Checks whether an unknown value is safe to send through the signed JSON boundary. */
|
|
7
|
-
export function isSyncJsonValue(value) {
|
|
8
|
-
return isCanonicalJsonValue(value);
|
|
9
|
-
}
|
|
10
|
-
/** Promotes a JSON-compatible value or throws the protocol error used by signing. */
|
|
11
|
-
export function requireSyncJsonValue(value) {
|
|
12
|
-
if (!isSyncJsonValue(value)) {
|
|
13
|
-
throw new SyncGatewayProtocolError(SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_JSON_VALUE, "sync gateway payload must contain JSON values only");
|
|
14
|
-
}
|
|
15
|
-
return value;
|
|
16
|
-
}
|
|
17
|
-
/** Canonical JSON used for payload hashes and cross-runtime HMAC inputs. */
|
|
18
|
-
export function canonicalSyncJson(value) {
|
|
19
|
-
try {
|
|
20
|
-
return canonicalJson(value);
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
throwProtocolCodecError(error);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
/** SHA-256 helper shared by envelope and effect payload verification. */
|
|
27
|
-
export function syncSha256Hex(value) {
|
|
28
|
-
return createHash(SYNC_GATEWAY_HASH_ALGORITHMS.SHA256)
|
|
29
|
-
.update(value, SYNC_GATEWAY_ENCODINGS.UTF8)
|
|
30
|
-
.digest("hex");
|
|
31
|
-
}
|
|
32
|
-
function throwProtocolCodecError(error) {
|
|
33
|
-
if (error instanceof CanonicalCodecError) {
|
|
34
|
-
const code = error.code === CANONICAL_CODEC_ERROR_CODES.NON_FINITE_NUMBER
|
|
35
|
-
? SYNC_GATEWAY_PROTOCOL_ERROR_CODES.NON_FINITE_NUMBER
|
|
36
|
-
: SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_JSON_VALUE;
|
|
37
|
-
throw new SyncGatewayProtocolError(code, error.message);
|
|
38
|
-
}
|
|
39
|
-
throw error;
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=syncProtocol.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"syncProtocol.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,GACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,sBAAsB,EACtB,4BAA4B,GAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,iCAAiC,EACjC,wBAAwB,GACzB,MAAM,cAAc,CAAC;AAItB,wFAAwF;AACxF,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,oBAAoB,CAAC,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,wBAAwB,CAChC,iCAAiC,CAAC,kBAAkB,EACpD,oDAAoD,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,UAAU,CAAC,4BAA4B,CAAC,MAAM,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,IAAI,CAAC;SAC1C,MAAM,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,2BAA2B,CAAC,iBAAiB;YACvE,CAAC,CAAC,iCAAiC,CAAC,iBAAiB;YACrD,CAAC,CAAC,iCAAiC,CAAC,kBAAkB,CAAC;QACzD,MAAM,IAAI,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IACD,MAAM,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/** Runtime decoder for optional phase timing returned by Code.gs. */
|
|
2
|
-
import { type SyncGatewayTiming } from "../../../../../application/sync/telemetry/syncTiming.js";
|
|
3
|
-
/** Promotes an untrusted gateway timing object into the typed diagnostics contract. */
|
|
4
|
-
export declare function decodeOptionalSyncGatewayTiming(value: unknown, label: string): SyncGatewayTiming | undefined;
|
|
5
|
-
//# sourceMappingURL=timing.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/timing.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAErE,OAAO,EAEL,KAAK,iBAAiB,EAEvB,MAAM,yDAAyD,CAAC;AASjE,uFAAuF;AACvF,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,GACZ,iBAAiB,GAAG,SAAS,CAiD/B"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/** Runtime decoder for optional phase timing returned by Code.gs. */
|
|
2
|
-
import { SYNC_TIMING_OPERATION_KINDS, } from "../../../../../application/sync/telemetry/syncTiming.js";
|
|
3
|
-
import { SYNC_GATEWAY_ERROR_CODES } from "../../../../../application/sync/gateway/errors.js";
|
|
4
|
-
import { requireSyncGatewayNonNegativeSafeInteger, requireSyncGatewayText, } from "../../../../../application/sync/gateway/validation.js";
|
|
5
|
-
import { requireOperationRecord } from "../validation.js";
|
|
6
|
-
import { invalidOperationResponse } from "../errors.js";
|
|
7
|
-
/** Promotes an untrusted gateway timing object into the typed diagnostics contract. */
|
|
8
|
-
export function decodeOptionalSyncGatewayTiming(value, label) {
|
|
9
|
-
if (value === undefined)
|
|
10
|
-
return undefined;
|
|
11
|
-
const record = requireRecord(value, label);
|
|
12
|
-
if (!Array.isArray(record.operationKinds) || !Array.isArray(record.phases)) {
|
|
13
|
-
return invalidOperationResponse("Apps Script timing", label + " must contain operationKinds and phases");
|
|
14
|
-
}
|
|
15
|
-
const operationKinds = record.operationKinds.map((kind, index) => {
|
|
16
|
-
const text = requireSyncGatewayText(kind, label + ".operationKinds[" + index + "]", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE);
|
|
17
|
-
if (!isTimingOperationKind(text)) {
|
|
18
|
-
return invalidOperationResponse("Apps Script timing", label + " contains an unsupported operation kind");
|
|
19
|
-
}
|
|
20
|
-
return text;
|
|
21
|
-
});
|
|
22
|
-
const counts = requireRecord(record.operationCounts, label + ".operationCounts");
|
|
23
|
-
const operationCounts = {
|
|
24
|
-
append: requireCount(counts.append, label + ".operationCounts.append"),
|
|
25
|
-
update: requireCount(counts.update, label + ".operationCounts.update"),
|
|
26
|
-
delete: requireCount(counts.delete, label + ".operationCounts.delete"),
|
|
27
|
-
};
|
|
28
|
-
const phases = record.phases.map((phase, index) => {
|
|
29
|
-
const phaseRecord = requireRecord(phase, label + ".phases[" + index + "]");
|
|
30
|
-
return {
|
|
31
|
-
phase: requireSyncGatewayText(phaseRecord.phase, label + ".phases[" + index + "].phase", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
|
|
32
|
-
durationMs: requireCount(phaseRecord.durationMs, label + ".phases[" + index + "].durationMs"),
|
|
33
|
-
};
|
|
34
|
-
});
|
|
35
|
-
return {
|
|
36
|
-
operationKinds,
|
|
37
|
-
operationCounts,
|
|
38
|
-
durationMs: requireCount(record.durationMs, label + ".durationMs"),
|
|
39
|
-
phases,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
function requireCount(value, label) {
|
|
43
|
-
return requireSyncGatewayNonNegativeSafeInteger(value, label, SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE);
|
|
44
|
-
}
|
|
45
|
-
function isTimingOperationKind(value) {
|
|
46
|
-
return value === SYNC_TIMING_OPERATION_KINDS.APPEND ||
|
|
47
|
-
value === SYNC_TIMING_OPERATION_KINDS.UPDATE ||
|
|
48
|
-
value === SYNC_TIMING_OPERATION_KINDS.DELETE;
|
|
49
|
-
}
|
|
50
|
-
function requireRecord(value, label) {
|
|
51
|
-
return requireOperationRecord(value, label, "Apps Script timing");
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=timing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/timing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,sDAAsD;AACtD,MAAM,MAAM,aAAa,GAAG,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { HikouteiRequestId } from "../../../../../shared/identity/types.js";
|
|
2
|
-
import { type SyncGatewayProtocolErrorCode } from "../errors.js";
|
|
3
|
-
/** Requires a non-empty text value for a protocol field. */
|
|
4
|
-
export declare function requireSyncGatewayText(value: unknown, label: string, errorCode: SyncGatewayProtocolErrorCode): string;
|
|
5
|
-
/** Requires a positive safe integer for a protocol timestamp. */
|
|
6
|
-
export declare function requireSyncGatewayIssuedAt(value: unknown): number;
|
|
7
|
-
/** Requires an expiry duration within the protocol's bounded window. */
|
|
8
|
-
export declare function requireSyncGatewayExpiry(value: unknown): number;
|
|
9
|
-
/** Requires a request ID accepted by both gateway implementations. */
|
|
10
|
-
export declare function requireSyncGatewayRequestId(value: unknown): HikouteiRequestId;
|
|
11
|
-
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/validation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAKjF,OAAO,EAGL,KAAK,4BAA4B,EAClC,MAAM,cAAc,CAAC;AAEtB,4DAA4D;AAC5D,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,4BAA4B,GACtC,MAAM,CAKR;AAED,iEAAiE;AACjE,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQjE;AAED,wEAAwE;AACxE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAY/D;AAED,sEAAsE;AACtE,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAa7E"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { isNonEmptyString, isPositiveSafeInteger, } from "../../../../../shared/validation.js";
|
|
2
|
-
import { requireSemanticString } from "../../../../../shared/identity/types.js";
|
|
3
|
-
import { SYNC_GATEWAY_DEFAULTS, SYNC_GATEWAY_REQUEST_ID_PATTERN, } from "./constants.js";
|
|
4
|
-
import { SYNC_GATEWAY_PROTOCOL_ERROR_CODES, SyncGatewayProtocolError, } from "../errors.js";
|
|
5
|
-
/** Requires a non-empty text value for a protocol field. */
|
|
6
|
-
export function requireSyncGatewayText(value, label, errorCode) {
|
|
7
|
-
if (!isNonEmptyString(value)) {
|
|
8
|
-
throw new SyncGatewayProtocolError(errorCode, `${label} is required`);
|
|
9
|
-
}
|
|
10
|
-
return value;
|
|
11
|
-
}
|
|
12
|
-
/** Requires a positive safe integer for a protocol timestamp. */
|
|
13
|
-
export function requireSyncGatewayIssuedAt(value) {
|
|
14
|
-
if (!isPositiveSafeInteger(value)) {
|
|
15
|
-
throw new SyncGatewayProtocolError(SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_ISSUED_AT, "sync gateway issuedAt must be a positive safe integer");
|
|
16
|
-
}
|
|
17
|
-
return value;
|
|
18
|
-
}
|
|
19
|
-
/** Requires an expiry duration within the protocol's bounded window. */
|
|
20
|
-
export function requireSyncGatewayExpiry(value) {
|
|
21
|
-
if (!isPositiveSafeInteger(value) ||
|
|
22
|
-
value < SYNC_GATEWAY_DEFAULTS.MIN_EXPIRY_MS ||
|
|
23
|
-
value > SYNC_GATEWAY_DEFAULTS.MAX_EXPIRY_MS) {
|
|
24
|
-
throw new SyncGatewayProtocolError(SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_EXPIRY, "sync gateway expiry must be between 1 second and 10 minutes");
|
|
25
|
-
}
|
|
26
|
-
return value;
|
|
27
|
-
}
|
|
28
|
-
/** Requires a request ID accepted by both gateway implementations. */
|
|
29
|
-
export function requireSyncGatewayRequestId(value) {
|
|
30
|
-
const requestId = requireSyncGatewayText(value, "sync gateway requestId", SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_REQUEST_ID);
|
|
31
|
-
if (!SYNC_GATEWAY_REQUEST_ID_PATTERN.test(requestId)) {
|
|
32
|
-
throw new SyncGatewayProtocolError(SYNC_GATEWAY_PROTOCOL_ERROR_CODES.INVALID_REQUEST_ID, "sync gateway requestId must be 8-128 URL-safe characters");
|
|
33
|
-
}
|
|
34
|
-
return requireSemanticString(requestId, "sync gateway requestId");
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/protocol/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAEhF,OAAO,EACL,qBAAqB,EACrB,+BAA+B,GAChC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,iCAAiC,EACjC,wBAAwB,GAEzB,MAAM,cAAc,CAAC;AAEtB,4DAA4D;AAC5D,MAAM,UAAU,sBAAsB,CACpC,KAAc,EACd,KAAa,EACb,SAAuC;IAEvC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,wBAAwB,CAAC,SAAS,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;IACxE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,wBAAwB,CAChC,iCAAiC,CAAC,iBAAiB,EACnD,uDAAuD,CACxD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,IACE,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAC7B,KAAK,GAAG,qBAAqB,CAAC,aAAa;QAC3C,KAAK,GAAG,qBAAqB,CAAC,aAAa,EAC3C,CAAC;QACD,MAAM,IAAI,wBAAwB,CAChC,iCAAiC,CAAC,cAAc,EAChD,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,MAAM,SAAS,GAAG,sBAAsB,CACtC,KAAK,EACL,wBAAwB,EACxB,iCAAiC,CAAC,kBAAkB,CACrD,CAAC;IACF,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,wBAAwB,CAChC,iCAAiC,CAAC,kBAAkB,EACpD,0DAA0D,CAC3D,CAAC;IACJ,CAAC;IACD,OAAO,qBAAqB,CAAe,SAAS,EAAE,wBAAwB,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/** Client boundary for invoking the current thin Apps Script `Code.gs`. */
|
|
2
|
-
import { type AppsScriptOperationName } from "../protocol/constants.js";
|
|
3
|
-
import type { SyncJsonValue } from "../protocol/types.js";
|
|
4
|
-
import type { HikouteiRequestId } from "../../../../../shared/identity/types.js";
|
|
5
|
-
/** One self-contained function call serialized for `Code.gs`. */
|
|
6
|
-
export interface AppsScriptOperationDefinition<Args = SyncJsonValue, Result = unknown> {
|
|
7
|
-
/** Function source with `(spreadsheet, args)` parameters and no external closure. */
|
|
8
|
-
readonly fn: string;
|
|
9
|
-
readonly args: Args;
|
|
10
|
-
/** Promotes the untrusted JSON result into a checked application value. */
|
|
11
|
-
readonly decode?: (value: unknown) => Result;
|
|
12
|
-
}
|
|
13
|
-
/** Erased operation shape used only to accept heterogeneous typed operations. */
|
|
14
|
-
export type AnyAppsScriptOperationDefinition = AppsScriptOperationDefinition<unknown, unknown>;
|
|
15
|
-
/** Result type selected by one operation's optional decoder. */
|
|
16
|
-
export type AppsScriptOperationResult<Operation> = Operation extends {
|
|
17
|
-
readonly decode?: (value: unknown) => infer Result;
|
|
18
|
-
} ? Result : unknown;
|
|
19
|
-
/** Tuple of decoded results that preserves the input operation order. */
|
|
20
|
-
export type AppsScriptOperationResults<Operations extends readonly AnyAppsScriptOperationDefinition[]> = {
|
|
21
|
-
readonly [Index in keyof Operations]: AppsScriptOperationResult<Operations[Index]>;
|
|
22
|
-
};
|
|
23
|
-
/** Adapter-neutral boundary for a batch of thin Apps Script operations. */
|
|
24
|
-
export interface AppsScriptOperationGateway {
|
|
25
|
-
applyOperations<Operations extends readonly AnyAppsScriptOperationDefinition[]>(operations: Operations): Promise<AppsScriptOperationResults<Operations>>;
|
|
26
|
-
}
|
|
27
|
-
/** Settings for the signed client that calls the deployed `Code.gs` web app. */
|
|
28
|
-
export interface AppsScriptOperationClientOptions {
|
|
29
|
-
readonly url: string;
|
|
30
|
-
readonly secret: string;
|
|
31
|
-
readonly sheetId: string;
|
|
32
|
-
readonly keyId?: string;
|
|
33
|
-
readonly actorId?: string;
|
|
34
|
-
readonly requestTimeoutMs?: number;
|
|
35
|
-
/** Receives request timing without operation arguments or returned values. */
|
|
36
|
-
readonly onRequest?: (event: AppsScriptOperationRequestEvent) => void;
|
|
37
|
-
}
|
|
38
|
-
/** Redacted transport event for diagnosing a Code.gs invocation. */
|
|
39
|
-
export interface AppsScriptOperationRequestEvent {
|
|
40
|
-
readonly requestId: HikouteiRequestId;
|
|
41
|
-
readonly operation: AppsScriptOperationName;
|
|
42
|
-
readonly operationCount: number;
|
|
43
|
-
readonly startedAt: number;
|
|
44
|
-
readonly durationMs: number;
|
|
45
|
-
readonly ok: boolean;
|
|
46
|
-
readonly httpStatus: number | null;
|
|
47
|
-
readonly requestBytes: number;
|
|
48
|
-
readonly responseBytes: number;
|
|
49
|
-
readonly clientErrorCode: string | null;
|
|
50
|
-
readonly remoteErrorCode: string | null;
|
|
51
|
-
}
|
|
52
|
-
/** Calls `Code.gs` without exposing its dynamic function executor to the rest of the runtime. */
|
|
53
|
-
export declare class AppsScriptOperationClient implements AppsScriptOperationGateway {
|
|
54
|
-
private readonly url;
|
|
55
|
-
private readonly secret;
|
|
56
|
-
private readonly sheetId;
|
|
57
|
-
private readonly keyId;
|
|
58
|
-
private readonly actorId;
|
|
59
|
-
private readonly requestTimeoutMs;
|
|
60
|
-
private readonly onRequest;
|
|
61
|
-
constructor(options: AppsScriptOperationClientOptions);
|
|
62
|
-
/** Sends one signed batch and decodes each result at the caller's boundary. */
|
|
63
|
-
applyOperations<Operations extends readonly AnyAppsScriptOperationDefinition[]>(operations: Operations): Promise<AppsScriptOperationResults<Operations>>;
|
|
64
|
-
private post;
|
|
65
|
-
/** Keeps optional request telemetry from changing the operation result. */
|
|
66
|
-
private notifyRequest;
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=operationClient.d.ts.map
|
package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"operationClient.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/sheets/providers/apps-script-gateway/transport/operationClient.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAE3E,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,0BAA0B,CAAC;AAclC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,iEAAiE;AACjE,MAAM,WAAW,6BAA6B,CAC5C,IAAI,GAAG,aAAa,EACpB,MAAM,GAAG,OAAO;IAEhB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CAC9C;AAED,iFAAiF;AACjF,MAAM,MAAM,gCAAgC,GAAG,6BAA6B,CAC1E,OAAO,EACP,OAAO,CACR,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,yBAAyB,CAAC,SAAS,IAC7C,SAAS,SAAS;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,MAAM,CAAA;CAAE,GACpE,MAAM,GACN,OAAO,CAAC;AAEd,yEAAyE;AACzE,MAAM,MAAM,0BAA0B,CACpC,UAAU,SAAS,SAAS,gCAAgC,EAAE,IAC5D;IACF,QAAQ,EAAE,KAAK,IAAI,MAAM,UAAU,GAAG,yBAAyB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;CACnF,CAAC;AAEF,2EAA2E;AAC3E,MAAM,WAAW,0BAA0B;IACzC,eAAe,CAAC,UAAU,SAAS,SAAS,gCAAgC,EAAE,EAC5E,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC,CAAC;CACpD;AAED,gFAAgF;AAChF,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,+BAA+B,KAAK,IAAI,CAAC;CACvE;AAED,oEAAoE;AACpE,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,iGAAiG;AACjG,qBAAa,yBAA0B,YAAW,0BAA0B;IAC1E,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiE;gBAExE,OAAO,EAAE,gCAAgC;IAkC5D,+EAA+E;IAClE,eAAe,CAC1B,UAAU,SAAS,SAAS,gCAAgC,EAAE,EAE9D,UAAU,EAAE,UAAU,GACrB,OAAO,CAAC,0BAA0B,CAAC,UAAU,CAAC,CAAC;YAsBpC,IAAI;IAuHlB,2EAA2E;IAC3E,OAAO,CAAC,aAAa;CAOtB"}
|