hikoutei 0.3.0 → 0.3.1
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 +13 -21
- package/README.ko.md +14 -22
- package/README.md +25 -29
- package/dist/adapter/persistence/contracts/sql.d.ts +16 -2
- package/dist/adapter/persistence/contracts/sql.d.ts.map +1 -1
- package/dist/adapter/persistence/contracts/sql.js +11 -1
- package/dist/adapter/persistence/contracts/sql.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js +40 -14
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts +2 -0
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js +23 -8
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +13 -4
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js +12 -2
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.d.ts +21 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js +59 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.d.ts +14 -13
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js +43 -64
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js +4 -2
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +1 -2
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts +61 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js +186 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts +56 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js +275 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts +11 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js +345 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.d.ts +65 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js +51 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.d.ts +36 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.js +126 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts +11 -2
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js +39 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js +46 -35
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js +22 -4
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts +2 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js +47 -54
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js +6 -30
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js +79 -22
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts +2 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts +5 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js +19 -4
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js +5 -6
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts +2 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js +2 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts +2 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js +15 -19
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js +44 -30
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts +3 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.js +10 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/validation.js.map +1 -0
- package/dist/api/Hikoutei.d.ts +17 -50
- package/dist/api/Hikoutei.d.ts.map +1 -1
- package/dist/api/Hikoutei.js +46 -105
- package/dist/api/Hikoutei.js.map +1 -1
- package/dist/api/entity.d.ts +9 -10
- package/dist/api/entity.d.ts.map +1 -1
- package/dist/api/entity.js +20 -26
- package/dist/api/entity.js.map +1 -1
- package/dist/api/errors.d.ts +0 -6
- package/dist/api/errors.d.ts.map +1 -1
- package/dist/api/errors.js +0 -6
- package/dist/api/errors.js.map +1 -1
- package/dist/api/index.d.ts +4 -4
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +2 -2
- package/dist/api/index.js.map +1 -1
- package/dist/api/internalEntityManager.d.ts.map +1 -1
- package/dist/api/internalEntityManager.js +33 -19
- package/dist/api/internalEntityManager.js.map +1 -1
- package/dist/application/orm/mapping/contracts.d.ts +16 -6
- package/dist/application/orm/mapping/contracts.d.ts.map +1 -1
- package/dist/application/orm/mapping/definition.d.ts.map +1 -1
- package/dist/application/orm/mapping/definition.js +47 -8
- package/dist/application/orm/mapping/definition.js.map +1 -1
- package/dist/application/orm/mapping/identity.js +1 -1
- package/dist/application/orm/mapping/identity.js.map +1 -1
- package/dist/application/orm/mapping/projection.d.ts.map +1 -1
- package/dist/application/orm/mapping/projection.js +10 -2
- package/dist/application/orm/mapping/projection.js.map +1 -1
- package/dist/application/orm/mapping/values.d.ts.map +1 -1
- package/dist/application/orm/mapping/values.js +5 -35
- package/dist/application/orm/mapping/values.js.map +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +3 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.js +4 -3
- package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js +2 -1
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js.map +1 -1
- package/dist/application/orm/persistence/projection/projectionEffects.d.ts +3 -1
- package/dist/application/orm/persistence/projection/projectionEffects.d.ts.map +1 -1
- package/dist/application/orm/persistence/projection/projectionEffects.js +14 -16
- package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -1
- package/dist/application/orm/persistence/scalar/unitOfWork.d.ts +6 -6
- package/dist/application/orm/persistence/scalar/unitOfWork.d.ts.map +1 -1
- package/dist/application/orm/persistence/scalar/unitOfWork.js +28 -28
- package/dist/application/orm/persistence/scalar/unitOfWork.js.map +1 -1
- package/dist/application/orm/persistence/support/businessKeys.d.ts.map +1 -1
- package/dist/application/orm/persistence/support/businessKeys.js +6 -24
- package/dist/application/orm/persistence/support/businessKeys.js.map +1 -1
- package/dist/application/orm/persistence/support/canonicalState.d.ts.map +1 -1
- package/dist/application/orm/persistence/support/canonicalState.js +9 -25
- package/dist/application/orm/persistence/support/canonicalState.js.map +1 -1
- package/dist/application/orm/persistence/support/contracts.d.ts +0 -57
- package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -1
- package/dist/application/orm/persistence/support/contracts.js +0 -68
- package/dist/application/orm/persistence/support/contracts.js.map +1 -1
- package/dist/application/orm/persistence/support/helpers.d.ts +1 -11
- package/dist/application/orm/persistence/support/helpers.d.ts.map +1 -1
- package/dist/application/orm/persistence/support/helpers.js +1 -21
- package/dist/application/orm/persistence/support/helpers.js.map +1 -1
- package/dist/application/sync/gateway/constants.d.ts +2 -1
- package/dist/application/sync/gateway/constants.d.ts.map +1 -1
- package/dist/application/sync/gateway/constants.js +4 -3
- package/dist/application/sync/gateway/constants.js.map +1 -1
- package/dist/application/sync/gateway/syncGateway.d.ts.map +1 -1
- package/dist/application/sync/gateway/syncGateway.js +9 -28
- package/dist/application/sync/gateway/syncGateway.js.map +1 -1
- package/dist/application/sync/gateway/validation.d.ts +5 -0
- package/dist/application/sync/gateway/validation.d.ts.map +1 -1
- package/dist/application/sync/gateway/validation.js +22 -3
- package/dist/application/sync/gateway/validation.js.map +1 -1
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts.map +1 -1
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.js +3 -23
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +2 -0
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +24 -6
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js +35 -34
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +0 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +8 -37
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +2 -2
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts +0 -5
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js +3 -10
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +13 -21
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +15 -3
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +1 -1
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts.map +1 -1
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js +1 -10
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +5 -9
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -1
- package/dist/application/sync/service/SyncPollingSupervisor.d.ts +45 -0
- package/dist/application/sync/service/SyncPollingSupervisor.d.ts.map +1 -0
- package/dist/application/sync/service/SyncPollingSupervisor.js +142 -0
- package/dist/application/sync/service/SyncPollingSupervisor.js.map +1 -0
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts +63 -0
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -0
- package/dist/application/sync/service/SyncServiceBootstrap.js +223 -0
- package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -0
- package/dist/application/sync/service/contracts.d.ts +25 -0
- package/dist/application/sync/service/contracts.d.ts.map +1 -0
- package/dist/application/sync/service/contracts.js +3 -0
- package/dist/application/sync/service/contracts.js.map +1 -0
- package/dist/application/sync/service/errors.d.ts +15 -0
- package/dist/application/sync/service/errors.d.ts.map +1 -0
- package/dist/application/sync/service/errors.js +16 -0
- package/dist/application/sync/service/errors.js.map +1 -0
- package/dist/domain/errors/types.d.ts +1 -1
- package/dist/domain/errors/types.d.ts.map +1 -1
- package/dist/domain/errors/types.js +2 -2
- package/dist/domain/errors/types.js.map +1 -1
- package/dist/domain/evaluate/constants.d.ts +1 -1
- package/dist/domain/evaluate/constants.d.ts.map +1 -1
- package/dist/domain/evaluate/constants.js.map +1 -1
- package/dist/domain/evaluate/preconditions.d.ts.map +1 -1
- package/dist/domain/evaluate/preconditions.js +25 -32
- package/dist/domain/evaluate/preconditions.js.map +1 -1
- package/dist/domain/evaluate/quarantine.js +4 -1
- package/dist/domain/evaluate/quarantine.js.map +1 -1
- package/dist/domain/model/constants.d.ts +48 -0
- package/dist/domain/model/constants.d.ts.map +1 -1
- package/dist/domain/model/constants.js +38 -0
- package/dist/domain/model/constants.js.map +1 -1
- package/dist/domain/model/index.d.ts +2 -2
- package/dist/domain/model/index.d.ts.map +1 -1
- package/dist/domain/model/index.js +1 -1
- package/dist/domain/model/index.js.map +1 -1
- package/dist/domain/model/types.d.ts +13 -10
- package/dist/domain/model/types.d.ts.map +1 -1
- package/dist/infrastructure/storage/constants.d.ts +1 -1
- package/dist/infrastructure/storage/constants.d.ts.map +1 -1
- package/dist/infrastructure/storage/constants.js.map +1 -1
- package/dist/infrastructure/storage/errors.d.ts +2 -2
- package/dist/infrastructure/storage/errors.d.ts.map +1 -1
- package/dist/infrastructure/storage/errors.js +3 -5
- package/dist/infrastructure/storage/errors.js.map +1 -1
- package/dist/infrastructure/storage/index.d.ts +9 -5
- package/dist/infrastructure/storage/index.d.ts.map +1 -1
- package/dist/infrastructure/storage/index.js +3 -1
- package/dist/infrastructure/storage/index.js.map +1 -1
- package/dist/infrastructure/storage/sqlite/migrateSchema.js +9 -4
- package/dist/infrastructure/storage/sqlite/migrateSchema.js.map +1 -1
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts +9 -0
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.js +35 -36
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.js.map +1 -1
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts +8 -1
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js +14 -0
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationAudit.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationAudit.js +4 -1
- package/dist/infrastructure/storage/state/observation/observationAudit.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts +11 -1
- package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationCanonical.js +108 -0
- package/dist/infrastructure/storage/state/observation/observationCanonical.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts +36 -1
- package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationQuarantine.js +55 -0
- package/dist/infrastructure/storage/state/observation/observationQuarantine.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationTypes.d.ts +22 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationTypes.js +5 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationValidation.d.ts +1 -1
- package/dist/infrastructure/storage/state/observation/observationValidation.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationValidation.js +26 -0
- package/dist/infrastructure/storage/state/observation/observationValidation.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationWriter.d.ts +1 -1
- package/dist/infrastructure/storage/state/observation/observationWriter.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationWriter.js +5 -1
- package/dist/infrastructure/storage/state/observation/observationWriter.js.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.js +3 -2
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.js.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts +1 -5
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js +3 -43
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js +2 -4
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +2 -2
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +20 -10
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +33 -18
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +2 -4
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts +6 -2
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js +157 -14
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/reconciliationSql.d.ts +1 -1
- package/dist/infrastructure/storage/sync/outbound/reconciliationSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js +14 -1
- package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js.map +1 -1
- package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts +2 -1
- package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/shared/syncRegistry.js +4 -1
- package/dist/infrastructure/storage/sync/shared/syncRegistry.js.map +1 -1
- package/dist/infrastructure/storage/sync/shared/writerLease.d.ts +4 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/shared/writerLease.js +9 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.js.map +1 -1
- package/dist/shared/constants.d.ts +4 -4
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/encoding/index.d.ts +1 -0
- package/dist/shared/encoding/index.d.ts.map +1 -1
- package/dist/shared/encoding/index.js +1 -0
- package/dist/shared/encoding/index.js.map +1 -1
- package/dist/shared/encoding/normalizedCell.d.ts +4 -0
- package/dist/shared/encoding/normalizedCell.d.ts.map +1 -0
- package/dist/shared/encoding/normalizedCell.js +29 -0
- package/dist/shared/encoding/normalizedCell.js.map +1 -0
- package/dist/shared/encoding/stableEncode.d.ts +2 -1
- package/dist/shared/encoding/stableEncode.d.ts.map +1 -1
- package/dist/shared/encoding/stableEncode.js +6 -12
- package/dist/shared/encoding/stableEncode.js.map +1 -1
- package/dist/shared/identity/index.d.ts +3 -0
- package/dist/shared/identity/index.d.ts.map +1 -0
- package/dist/shared/identity/index.js +2 -0
- package/dist/shared/identity/index.js.map +1 -0
- package/dist/shared/identity/types.d.ts +41 -0
- package/dist/shared/identity/types.d.ts.map +1 -0
- package/dist/shared/identity/types.js +34 -0
- package/dist/shared/identity/types.js.map +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/state/constructors.d.ts +10 -0
- package/dist/shared/state/constructors.d.ts.map +1 -0
- package/dist/shared/state/constructors.js +18 -0
- package/dist/shared/state/constructors.js.map +1 -0
- package/dist/shared/state/index.d.ts +1 -0
- package/dist/shared/state/index.d.ts.map +1 -1
- package/dist/shared/state/index.js +1 -0
- package/dist/shared/state/index.js.map +1 -1
- package/dist/shared/validation.d.ts +2 -0
- package/dist/shared/validation.d.ts.map +1 -1
- package/dist/shared/validation.js +9 -0
- package/dist/shared/validation.js.map +1 -1
- package/docs/architecture.md +108 -103
- package/docs/ci.md +184 -61
- package/docs/mikro-orm-adapter-spike.md +55 -214
- package/docs/quick-start.md +58 -96
- package/docs/write-and-synchronization-flow.md +70 -39
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/** Thin-Gateway operations for anchors and normalized Sheet snapshots. */
|
|
2
|
-
import { CELL_OBSERVATION_KINDS,
|
|
3
|
-
import {
|
|
4
|
-
import { isRecord } from "../../../../../../shared/encoding/typeGuards.js";
|
|
2
|
+
import { CELL_OBSERVATION_KINDS, } from "../../../../../../shared/encoding/constants.js";
|
|
3
|
+
import { isNormalizedCell } from "../../../../../../shared/encoding/normalizedCell.js";
|
|
5
4
|
import { SYNC_GATEWAY_ERROR_CODES, } from "../../../../../../application/sync/gateway/errors.js";
|
|
6
5
|
import { SYNC_GATEWAY_PROJECTIONS, SYNC_GATEWAY_PROTOCOL_VERSIONS, SYNC_GATEWAY_SNAPSHOT_READ_MODES, } from "../../../../../../application/sync/gateway/constants.js";
|
|
7
|
-
import { requireSyncGatewayNonNegativeSafeInteger, requireSyncGatewayPositiveSafeInteger, requireSyncGatewayProjection, requireSyncGatewaySnapshotReadMode, requireSyncGatewayText, } from "../../../../../../application/sync/gateway/validation.js";
|
|
6
|
+
import { decodeSyncGatewayPresenceNonNegativeSafeInteger as decodePresenceNonNegativeInteger, decodeSyncGatewayPresenceString as decodePresenceString, requireSyncGatewayNonNegativeSafeInteger, requireSyncGatewayPositiveSafeInteger, requireSyncGatewayProjection, requireSyncGatewaySnapshotReadMode, requireSyncGatewayText, } from "../../../../../../application/sync/gateway/validation.js";
|
|
8
7
|
import { decodeOptionalSyncGatewayTiming } from "../../protocol/timing.js";
|
|
9
8
|
import { invalidOperationRequest, invalidOperationResponse, } from "../../errors.js";
|
|
9
|
+
import { requireOperationRecord } from "../../validation.js";
|
|
10
10
|
const OBSERVATION_OPERATION_MODES = {
|
|
11
11
|
ENSURE_ANCHORS: "ensureRowAnchors",
|
|
12
12
|
READ_SNAPSHOT: "readSnapshot",
|
|
@@ -15,28 +15,31 @@ const OBSERVATION_OPERATION_MODES = {
|
|
|
15
15
|
/** Builds the metadata-anchor assignment operation used before observation. */
|
|
16
16
|
export function createEnsureRowAnchorsOperation(request) {
|
|
17
17
|
validateObservationRequest(request);
|
|
18
|
+
const { expectedHeaders: _expectedHeaders, ...wireRequest } = request;
|
|
18
19
|
return {
|
|
19
20
|
fn: OBSERVATION_OPERATION_SOURCE,
|
|
20
|
-
args: { mode: OBSERVATION_OPERATION_MODES.ENSURE_ANCHORS, ...
|
|
21
|
+
args: { mode: OBSERVATION_OPERATION_MODES.ENSURE_ANCHORS, ...wireRequest },
|
|
21
22
|
decode: decodeEnsureRowAnchorsResult,
|
|
22
23
|
};
|
|
23
24
|
}
|
|
24
25
|
/** Builds the normalized, read-only Sheet snapshot operation. */
|
|
25
26
|
export function createReadSnapshotOperation(request) {
|
|
26
27
|
validateObservationRequest(request);
|
|
28
|
+
const { expectedHeaders, ...wireRequest } = request;
|
|
27
29
|
return {
|
|
28
30
|
fn: OBSERVATION_OPERATION_SOURCE,
|
|
29
|
-
args: { mode: OBSERVATION_OPERATION_MODES.READ_SNAPSHOT, ...
|
|
30
|
-
decode: decodeSnapshot,
|
|
31
|
+
args: { mode: OBSERVATION_OPERATION_MODES.READ_SNAPSHOT, ...wireRequest },
|
|
32
|
+
decode: (value) => decodeSnapshot(value, request, expectedHeaders),
|
|
31
33
|
};
|
|
32
34
|
}
|
|
33
35
|
/** Builds one operation that assigns anchors and reads the snapshot under one lock. */
|
|
34
36
|
export function createObserveSnapshotOperation(request) {
|
|
35
37
|
validateObservationRequest(request);
|
|
38
|
+
const { expectedHeaders, ...wireRequest } = request;
|
|
36
39
|
return {
|
|
37
40
|
fn: OBSERVATION_OPERATION_SOURCE,
|
|
38
|
-
args: { mode: OBSERVATION_OPERATION_MODES.OBSERVE_SNAPSHOT, ...
|
|
39
|
-
decode: decodeObservedSnapshot,
|
|
41
|
+
args: { mode: OBSERVATION_OPERATION_MODES.OBSERVE_SNAPSHOT, ...wireRequest },
|
|
42
|
+
decode: (value) => decodeObservedSnapshot(value, request, expectedHeaders),
|
|
40
43
|
};
|
|
41
44
|
}
|
|
42
45
|
function validateObservationRequest(request) {
|
|
@@ -64,24 +67,35 @@ function decodeEnsureRowAnchorsResult(value) {
|
|
|
64
67
|
duplicateAnchors: decodeDuplicateAnchors(record.duplicateAnchors),
|
|
65
68
|
};
|
|
66
69
|
}
|
|
67
|
-
function decodeObservedSnapshot(value) {
|
|
70
|
+
function decodeObservedSnapshot(value, expectedRoute, expectedHeaders) {
|
|
68
71
|
const record = requireRecord(value, "combined observation result");
|
|
69
72
|
const timing = decodeOptionalSyncGatewayTiming(record.timing, "observation timing");
|
|
70
73
|
const result = {
|
|
71
74
|
anchors: decodeEnsureRowAnchorsResult(record.anchors),
|
|
72
|
-
snapshot: decodeSnapshot(record.snapshot),
|
|
75
|
+
snapshot: decodeSnapshot(record.snapshot, expectedRoute, expectedHeaders),
|
|
73
76
|
};
|
|
74
77
|
return timing === undefined ? result : { ...result, timing };
|
|
75
78
|
}
|
|
76
|
-
function decodeSnapshot(value) {
|
|
79
|
+
function decodeSnapshot(value, expectedRoute, expectedHeaders) {
|
|
77
80
|
const record = requireRecord(value, "snapshot result");
|
|
78
81
|
const protocolVersion = requireSyncGatewayText(record.protocolVersion, "snapshot protocolVersion", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE);
|
|
79
82
|
if (protocolVersion !== SYNC_GATEWAY_PROTOCOL_VERSIONS.V1) {
|
|
80
83
|
return invalidOperationResponse("Apps Script observation operation", "snapshot protocolVersion is unsupported");
|
|
81
84
|
}
|
|
82
85
|
const projection = requireSyncGatewayProjection(record.projection, "snapshot projection", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE);
|
|
86
|
+
if (expectedRoute !== undefined &&
|
|
87
|
+
(record.sheetName !== expectedRoute.sheetName ||
|
|
88
|
+
record.registeredRange !== expectedRoute.registeredRange ||
|
|
89
|
+
record.projection !== expectedRoute.projection ||
|
|
90
|
+
record.schemaVersion !== expectedRoute.schemaVersion)) {
|
|
91
|
+
return invalidOperationResponse("Apps Script observation operation", "snapshot route does not match the requested registered projection");
|
|
92
|
+
}
|
|
83
93
|
const headers = decodeStringArray(record.headers, "snapshot headers");
|
|
84
|
-
|
|
94
|
+
if (expectedHeaders !== undefined &&
|
|
95
|
+
(headers.length !== expectedHeaders.length || headers.some((header, index) => header !== expectedHeaders[index]))) {
|
|
96
|
+
return invalidOperationResponse("Apps Script observation operation", "snapshot headers do not match the registered schema");
|
|
97
|
+
}
|
|
98
|
+
const rows = decodeSnapshotRows(record.rows, expectedHeaders);
|
|
85
99
|
return {
|
|
86
100
|
protocolVersion,
|
|
87
101
|
sheetName: requireSyncGatewayText(record.sheetName, "snapshot sheetName", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
|
|
@@ -95,7 +109,7 @@ function decodeSnapshot(value) {
|
|
|
95
109
|
duplicateAnchors: decodeDuplicateAnchors(record.duplicateAnchors),
|
|
96
110
|
};
|
|
97
111
|
}
|
|
98
|
-
function decodeSnapshotRows(value) {
|
|
112
|
+
function decodeSnapshotRows(value, expectedHeaders) {
|
|
99
113
|
if (!Array.isArray(value)) {
|
|
100
114
|
return invalidOperationResponse("Apps Script observation operation", "snapshot rows must be an array");
|
|
101
115
|
}
|
|
@@ -106,12 +120,19 @@ function decodeSnapshotRows(value) {
|
|
|
106
120
|
physicalAnchor: decodePresenceString(record.physicalAnchor, "snapshot row[" + index + "].physicalAnchor"),
|
|
107
121
|
visibleRevision: decodePresenceNonNegativeInteger(record.visibleRevision, "snapshot row[" + index + "].visibleRevision"),
|
|
108
122
|
visibleHash: decodePresenceString(record.visibleHash, "snapshot row[" + index + "].visibleHash"),
|
|
109
|
-
cells: decodeSnapshotCells(record.cells, index),
|
|
123
|
+
cells: decodeSnapshotCells(record.cells, index, expectedHeaders),
|
|
110
124
|
};
|
|
111
125
|
});
|
|
112
126
|
}
|
|
113
|
-
function decodeSnapshotCells(value, rowIndex) {
|
|
127
|
+
function decodeSnapshotCells(value, rowIndex, expectedHeaders) {
|
|
114
128
|
const record = requireRecord(value, "snapshot row[" + rowIndex + "].cells");
|
|
129
|
+
if (expectedHeaders !== undefined) {
|
|
130
|
+
const expected = new Set(expectedHeaders);
|
|
131
|
+
const actual = Object.keys(record);
|
|
132
|
+
if (actual.length !== expected.size || actual.some((fieldName) => !expected.has(fieldName))) {
|
|
133
|
+
return invalidOperationResponse("Apps Script observation operation", "snapshot row[" + rowIndex + "].cells do not match the registered schema");
|
|
134
|
+
}
|
|
135
|
+
}
|
|
115
136
|
const cells = {};
|
|
116
137
|
for (const [fieldName, rawCell] of Object.entries(record)) {
|
|
117
138
|
const cell = requireRecord(rawCell, "snapshot cell " + fieldName);
|
|
@@ -131,40 +152,10 @@ function decodeSnapshotCells(value, rowIndex) {
|
|
|
131
152
|
return cells;
|
|
132
153
|
}
|
|
133
154
|
function decodeNormalizedCell(value, label) {
|
|
134
|
-
if (value
|
|
135
|
-
return
|
|
136
|
-
const record = requireRecord(value, label + " normalizedCell");
|
|
137
|
-
const kind = requireSyncGatewayText(record.kind, label + ".kind", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE);
|
|
138
|
-
if (kind === NORMALIZED_CELL_KINDS.STRING && typeof record.value === "string") {
|
|
139
|
-
return { kind: NORMALIZED_CELL_KINDS.STRING, value: record.value };
|
|
140
|
-
}
|
|
141
|
-
if (kind === NORMALIZED_CELL_KINDS.NUMBER && typeof record.value === "number" && Number.isFinite(record.value)) {
|
|
142
|
-
return { kind: NORMALIZED_CELL_KINDS.NUMBER, value: record.value };
|
|
143
|
-
}
|
|
144
|
-
if (kind === NORMALIZED_CELL_KINDS.BOOLEAN && typeof record.value === "boolean") {
|
|
145
|
-
return { kind: NORMALIZED_CELL_KINDS.BOOLEAN, value: record.value };
|
|
146
|
-
}
|
|
147
|
-
if (kind === NORMALIZED_CELL_KINDS.DATE && typeof record.value === "string") {
|
|
148
|
-
return { kind: NORMALIZED_CELL_KINDS.DATE, value: record.value };
|
|
149
|
-
}
|
|
155
|
+
if (isNormalizedCell(value))
|
|
156
|
+
return value;
|
|
150
157
|
return invalidOperationResponse("Apps Script observation operation", label + " normalizedCell is invalid");
|
|
151
158
|
}
|
|
152
|
-
function decodePresenceString(value, label) {
|
|
153
|
-
if (value === null)
|
|
154
|
-
return { kind: PRESENCE_KINDS.ABSENT };
|
|
155
|
-
return {
|
|
156
|
-
kind: PRESENCE_KINDS.PRESENT,
|
|
157
|
-
value: requireSyncGatewayText(value, label, SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
|
-
function decodePresenceNonNegativeInteger(value, label) {
|
|
161
|
-
if (value === null)
|
|
162
|
-
return { kind: PRESENCE_KINDS.ABSENT };
|
|
163
|
-
return {
|
|
164
|
-
kind: PRESENCE_KINDS.PRESENT,
|
|
165
|
-
value: requireSyncGatewayNonNegativeSafeInteger(value, label, SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE),
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
159
|
function decodeDuplicateAnchors(value) {
|
|
169
160
|
if (!Array.isArray(value)) {
|
|
170
161
|
return invalidOperationResponse("Apps Script observation operation", "duplicateAnchors must be an array");
|
|
@@ -194,13 +185,14 @@ function decodeStringArray(value, label) {
|
|
|
194
185
|
return values;
|
|
195
186
|
}
|
|
196
187
|
function isCellObservationKind(value) {
|
|
197
|
-
return
|
|
188
|
+
return value === CELL_OBSERVATION_KINDS.BLANK ||
|
|
189
|
+
value === CELL_OBSERVATION_KINDS.LITERAL ||
|
|
190
|
+
value === CELL_OBSERVATION_KINDS.FORMULA ||
|
|
191
|
+
value === CELL_OBSERVATION_KINDS.MERGED ||
|
|
192
|
+
value === CELL_OBSERVATION_KINDS.ERROR;
|
|
198
193
|
}
|
|
199
194
|
function requireRecord(value, label) {
|
|
200
|
-
|
|
201
|
-
return invalidOperationResponse("Apps Script observation operation", label + " must be an object");
|
|
202
|
-
}
|
|
203
|
-
return value;
|
|
195
|
+
return requireOperationRecord(value, label, "Apps Script observation operation");
|
|
204
196
|
}
|
|
205
197
|
/**
|
|
206
198
|
* Self-contained V8 operation source. Observation only reads the registered
|
|
@@ -509,6 +501,7 @@ const OBSERVATION_OPERATION_SOURCE = String.raw `function (spreadsheet, args) {
|
|
|
509
501
|
|
|
510
502
|
function isDisplayedSheetError_(value) { return typeof value === "string" && /^#(REF!|DIV\/0!|N\/A|VALUE!|NAME\?|NUM!|ERROR!|NULL!)$/.test(value); }
|
|
511
503
|
function isDate_(value) { return Object.prototype.toString.call(value) === "[object Date]" && !isNaN(value.getTime()); }
|
|
504
|
+
function isCanonicalDate_(value) { if (typeof value !== "string" || !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(value)) return false; var parsed = new Date(value); return !isNaN(parsed.getTime()) && parsed.toISOString() === value; }
|
|
512
505
|
function isObject_(value) { return value !== null && typeof value === "object" && !Array.isArray(value); }
|
|
513
506
|
function requireObject_(value, label) { if (!isObject_(value)) throw new Error(label + " must be an object"); return value; }
|
|
514
507
|
function normalizeScalarString_(value) { return value.normalize("NFC"); }
|
|
@@ -520,7 +513,7 @@ const OBSERVATION_OPERATION_SOURCE = String.raw `function (spreadsheet, args) {
|
|
|
520
513
|
if (value === false) return "b0";
|
|
521
514
|
if (typeof value === "number") return stableEncodeNumber_(value);
|
|
522
515
|
if (typeof value === "string") return stableEncodeString_(value);
|
|
523
|
-
if (isObject_(value) && value.kind === "date" &&
|
|
516
|
+
if (isObject_(value) && value.kind === "date" && isCanonicalDate_(value.value)) return "d24:" + value.value;
|
|
524
517
|
if (Array.isArray(value)) return "a" + value.length + "[" + value.map(stableEncode_).join("") + "]";
|
|
525
518
|
if (isObject_(value)) {
|
|
526
519
|
var entries = Object.keys(value).map(function (key) { var normalized = normalizeScalarString_(key); return { key: normalized, bytes: utf8Bytes_(normalized), value: value[key] }; });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observationOperation.js","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAS1E,OAAO,EACL,sBAAsB,
|
|
1
|
+
{"version":3,"file":"observationOperation.js","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableReadOperation.d.ts","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.ts"],"names":[],"mappings":"AAAA,qEAAqE;
|
|
1
|
+
{"version":3,"file":"tableReadOperation.d.ts","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAWrE,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,2DAA2D,CAAC;AACnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oCAAoC,CAAC;AAKxF,qDAAqD;AACrD,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,+EAA+E;AAC/E,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,8BAA8B,GACtC,6BAA6B,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,CAOpF"}
|
package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/** Lightweight table reads for polling user-visible Sheet values. */
|
|
2
|
-
import {
|
|
3
|
-
import { isRecord } from "../../../../../../shared/encoding/typeGuards.js";
|
|
2
|
+
import { isNormalizedCell } from "../../../../../../shared/encoding/normalizedCell.js";
|
|
4
3
|
import { SYNC_GATEWAY_ERROR_CODES, } from "../../../../../../application/sync/gateway/errors.js";
|
|
5
4
|
import { requireSyncGatewayPositiveSafeInteger, requireSyncGatewayText, } from "../../../../../../application/sync/gateway/validation.js";
|
|
6
5
|
import { decodeOptionalSyncGatewayTiming } from "../../protocol/timing.js";
|
|
7
6
|
import { invalidOperationRequest, invalidOperationResponse } from "../../errors.js";
|
|
7
|
+
import { requireOperationRecord } from "../../validation.js";
|
|
8
8
|
/** Builds a read-only operation that performs one range `getValues()` call. */
|
|
9
9
|
export function createReadTableRowsOperation(request) {
|
|
10
10
|
validateRequest(request);
|
|
@@ -150,30 +150,9 @@ function decodeRow(value, index, headers) {
|
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
152
|
function decodeCell(value, header, rowIndex) {
|
|
153
|
-
if (value
|
|
154
|
-
return
|
|
155
|
-
|
|
156
|
-
const kind = requireSyncGatewayText(record.kind, "table read cell kind", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE);
|
|
157
|
-
if (kind === NORMALIZED_CELL_KINDS.STRING || kind === NORMALIZED_CELL_KINDS.DATE) {
|
|
158
|
-
const textValue = requireSyncGatewayText(record.value, "table read cell value", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE);
|
|
159
|
-
return kind === NORMALIZED_CELL_KINDS.STRING
|
|
160
|
-
? { kind: NORMALIZED_CELL_KINDS.STRING, value: textValue }
|
|
161
|
-
: { kind: NORMALIZED_CELL_KINDS.DATE, value: textValue };
|
|
162
|
-
}
|
|
163
|
-
if (kind === NORMALIZED_CELL_KINDS.NUMBER) {
|
|
164
|
-
const number = record.value;
|
|
165
|
-
if (typeof number !== "number" || !Number.isFinite(number)) {
|
|
166
|
-
return invalidOperationResponse("Apps Script table read", "table read number cell is invalid");
|
|
167
|
-
}
|
|
168
|
-
return { kind, value: number };
|
|
169
|
-
}
|
|
170
|
-
if (kind === NORMALIZED_CELL_KINDS.BOOLEAN) {
|
|
171
|
-
if (typeof record.value !== "boolean") {
|
|
172
|
-
return invalidOperationResponse("Apps Script table read", "table read boolean cell is invalid");
|
|
173
|
-
}
|
|
174
|
-
return { kind, value: record.value };
|
|
175
|
-
}
|
|
176
|
-
return invalidOperationResponse("Apps Script table read", "table read cell kind is unsupported");
|
|
153
|
+
if (isNormalizedCell(value))
|
|
154
|
+
return value;
|
|
155
|
+
return invalidOperationResponse("Apps Script table read", "table read row[" + rowIndex + "]." + header + " is not a normalized cell");
|
|
177
156
|
}
|
|
178
157
|
function decodeHeaders(value) {
|
|
179
158
|
if (!Array.isArray(value)) {
|
|
@@ -182,9 +161,6 @@ function decodeHeaders(value) {
|
|
|
182
161
|
return value.map((header, index) => requireSyncGatewayText(header, "table read headers[" + index + "]", SYNC_GATEWAY_ERROR_CODES.INVALID_GATEWAY_RESPONSE));
|
|
183
162
|
}
|
|
184
163
|
function requireRecord(value, label) {
|
|
185
|
-
|
|
186
|
-
return invalidOperationResponse("Apps Script table read", label + " must be an object");
|
|
187
|
-
}
|
|
188
|
-
return value;
|
|
164
|
+
return requireOperationRecord(value, label, "Apps Script table read");
|
|
189
165
|
}
|
|
190
166
|
//# sourceMappingURL=tableReadOperation.js.map
|
package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableReadOperation.js","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.ts"],"names":[],"mappings":"AAAA,qEAAqE;AAGrE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tableReadOperation.js","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { AppsScriptOperationDefinition } from "../../transport/operationCli
|
|
|
4
4
|
/** Arguments sent to the self-contained fast-append function in `Code.gs`. */
|
|
5
5
|
export type AppsScriptFastAppendOperationArgs = {
|
|
6
6
|
readonly sheetName: string;
|
|
7
|
+
readonly registeredRange: string;
|
|
7
8
|
readonly headers: readonly string[];
|
|
8
9
|
readonly rows: readonly FastAppendRow[];
|
|
9
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fastAppendOperation.d.ts","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EACnB,MAAM,2DAA2D,CAAC;AAEnE,OAAO,KAAK,EACV,6BAA6B,EAC9B,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"fastAppendOperation.d.ts","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAE1E,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,aAAa,EACnB,MAAM,2DAA2D,CAAC;AAEnE,OAAO,KAAK,EACV,6BAA6B,EAC9B,MAAM,oCAAoC,CAAC;AAS5C,8EAA8E;AAC9E,MAAM,MAAM,iCAAiC,GAAG;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,CAAC;CACzC,CAAC;AAEF,uEAAuE;AACvE,MAAM,WAAW,oCACf,SAAQ,iCAAiC;CAAG;AAE9C,yEAAyE;AACzE,MAAM,MAAM,6BAA6B,GAAG,6BAA6B,CACvE,iCAAiC,EACjC,oBAAoB,CACrB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oCAAoC,GAC5C,6BAA6B,CAO/B"}
|
package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { SYNC_GATEWAY_FAST_APPEND_STATUSES } from "../../../../../../application/sync/gateway/constants.js";
|
|
3
3
|
import { decodeOptionalSyncGatewayTiming } from "../../protocol/timing.js";
|
|
4
4
|
import { invalidOperationRequest, invalidOperationResponse, } from "../../errors.js";
|
|
5
|
-
import {
|
|
5
|
+
import { isNormalizedCell } from "../../../../../../shared/encoding/normalizedCell.js";
|
|
6
6
|
import { isRecord } from "../../../../../../shared/encoding/typeGuards.js";
|
|
7
7
|
/**
|
|
8
8
|
* Builds one operation that appends all supplied rows with one `setValues()`.
|
|
@@ -16,7 +16,7 @@ export function createFastAppendRowsOperation(request) {
|
|
|
16
16
|
return {
|
|
17
17
|
fn: FAST_APPEND_OPERATION_SOURCE,
|
|
18
18
|
args: request,
|
|
19
|
-
decode: (value) => decodeFastAppendResult(value, request.rows
|
|
19
|
+
decode: (value) => decodeFastAppendResult(value, request.rows),
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
/** Self-contained V8 function source restored by `Code.gs` with `eval`. */
|
|
@@ -27,12 +27,19 @@ const FAST_APPEND_OPERATION_SOURCE = `function (spreadsheet, args) {
|
|
|
27
27
|
if (!args || typeof args.sheetName !== "string" || args.sheetName.length === 0) {
|
|
28
28
|
throw new Error("fast append sheetName is required");
|
|
29
29
|
}
|
|
30
|
+
if (typeof args.registeredRange !== "string" || !/^[A-Z]+:[A-Z]+$/.test(args.registeredRange)) {
|
|
31
|
+
throw new Error("fast append registeredRange must be an uppercase whole-column range");
|
|
32
|
+
}
|
|
30
33
|
if (!Array.isArray(args.headers) || args.headers.length === 0) {
|
|
31
34
|
throw new Error("fast append headers are required");
|
|
32
35
|
}
|
|
33
36
|
if (!Array.isArray(args.rows)) {
|
|
34
37
|
throw new Error("fast append rows must be an array");
|
|
35
38
|
}
|
|
39
|
+
var range = parseRange_(args.registeredRange);
|
|
40
|
+
if (range.columnCount !== args.headers.length) {
|
|
41
|
+
throw new Error("fast append headers do not match registeredRange");
|
|
42
|
+
}
|
|
36
43
|
phase_("validate_input", validationStartedAt);
|
|
37
44
|
|
|
38
45
|
var sheetLookupStartedAt = Date.now();
|
|
@@ -49,6 +56,13 @@ const FAST_APPEND_OPERATION_SOURCE = `function (spreadsheet, args) {
|
|
|
49
56
|
if (!row.fields || typeof row.fields !== "object") {
|
|
50
57
|
throw new Error("fast append fields are required");
|
|
51
58
|
}
|
|
59
|
+
var fieldNames = Object.keys(row.fields).sort();
|
|
60
|
+
var expectedFieldNames = args.headers.slice().sort();
|
|
61
|
+
if (fieldNames.length !== expectedFieldNames.length || fieldNames.some(function (field, index) {
|
|
62
|
+
return field !== expectedFieldNames[index];
|
|
63
|
+
})) {
|
|
64
|
+
throw new Error("fast append row fields do not match headers");
|
|
65
|
+
}
|
|
52
66
|
return args.headers.map(function (header) {
|
|
53
67
|
return toSheetValue_(row.fields[header]);
|
|
54
68
|
});
|
|
@@ -59,7 +73,7 @@ const FAST_APPEND_OPERATION_SOURCE = `function (spreadsheet, args) {
|
|
|
59
73
|
var startRow = Math.max(sheet.getLastRow() + 1, 2);
|
|
60
74
|
phase_("append_range_lookup", rangeStartedAt);
|
|
61
75
|
var writeStartedAt = Date.now();
|
|
62
|
-
sheet.getRange(startRow,
|
|
76
|
+
sheet.getRange(startRow, range.startColumn, values.length, range.columnCount).setValues(values);
|
|
63
77
|
phase_("set_values", writeStartedAt);
|
|
64
78
|
return result_(args.rows.map(function (row) {
|
|
65
79
|
return { effectId: row.effectId, status: "applied" };
|
|
@@ -80,6 +94,26 @@ const FAST_APPEND_OPERATION_SOURCE = `function (spreadsheet, args) {
|
|
|
80
94
|
return result;
|
|
81
95
|
}
|
|
82
96
|
|
|
97
|
+
function parseRange_(value) {
|
|
98
|
+
var parts = value.split(":");
|
|
99
|
+
var startColumn = columnNumber_(parts[0]);
|
|
100
|
+
var endColumn = columnNumber_(parts[1]);
|
|
101
|
+
if (endColumn < startColumn) throw new Error("fast append range end precedes start");
|
|
102
|
+
return { startColumn: startColumn, columnCount: endColumn - startColumn + 1 };
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function columnNumber_(letters) {
|
|
106
|
+
var value = 0;
|
|
107
|
+
for (var index = 0; index < letters.length; index += 1) value = value * 26 + letters.charCodeAt(index) - 64;
|
|
108
|
+
return value;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
function isCanonicalDate_(value) {
|
|
112
|
+
if (typeof value !== "string" || !/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/.test(value)) return false;
|
|
113
|
+
var parsed = new Date(value);
|
|
114
|
+
return !isNaN(parsed.getTime()) && parsed.toISOString() === value;
|
|
115
|
+
}
|
|
116
|
+
|
|
83
117
|
function phase_(name, phaseStartedAt) {
|
|
84
118
|
phases.push({ phase: name, durationMs: Date.now() - phaseStartedAt });
|
|
85
119
|
}
|
|
@@ -89,10 +123,14 @@ const FAST_APPEND_OPERATION_SOURCE = `function (spreadsheet, args) {
|
|
|
89
123
|
if (typeof cell !== "object" || typeof cell.kind !== "string") {
|
|
90
124
|
throw new Error("fast append cell is invalid");
|
|
91
125
|
}
|
|
92
|
-
if (cell.kind === "string"
|
|
126
|
+
if (cell.kind === "string") {
|
|
93
127
|
if (typeof cell.value !== "string") throw new Error("fast append text cell is invalid");
|
|
94
128
|
return cell.value;
|
|
95
129
|
}
|
|
130
|
+
if (cell.kind === "date") {
|
|
131
|
+
if (!isCanonicalDate_(cell.value)) throw new Error("fast append date cell is invalid");
|
|
132
|
+
return new Date(cell.value);
|
|
133
|
+
}
|
|
96
134
|
if (cell.kind === "number") {
|
|
97
135
|
if (typeof cell.value !== "number" || !isFinite(cell.value)) {
|
|
98
136
|
throw new Error("fast append number cell is invalid");
|
|
@@ -110,35 +148,65 @@ function validateFastAppendRequest(request) {
|
|
|
110
148
|
if (request.sheetName.trim().length === 0) {
|
|
111
149
|
invalidOperationRequest("fast append operation", "sheetName is required");
|
|
112
150
|
}
|
|
151
|
+
if (!/^[A-Z]+:[A-Z]+$/.test(request.registeredRange)) {
|
|
152
|
+
invalidOperationRequest("fast append operation", "registeredRange must be an uppercase whole-column range");
|
|
153
|
+
}
|
|
113
154
|
if (request.headers.length === 0 || request.headers.some((header) => header.trim().length === 0)) {
|
|
114
155
|
invalidOperationRequest("fast append operation", "headers must contain non-empty names");
|
|
115
156
|
}
|
|
116
157
|
if (new Set(request.headers).size !== request.headers.length) {
|
|
117
158
|
invalidOperationRequest("fast append operation", "headers must not contain duplicates");
|
|
118
159
|
}
|
|
160
|
+
const [start, end] = request.registeredRange.split(":");
|
|
161
|
+
if (columnNumber(end) < columnNumber(start) || columnNumber(end) - columnNumber(start) + 1 !== request.headers.length) {
|
|
162
|
+
invalidOperationRequest("fast append operation", "headers must match registeredRange");
|
|
163
|
+
}
|
|
164
|
+
const effectIds = new Set();
|
|
119
165
|
for (const row of request.rows) {
|
|
120
166
|
if (row.effectId.trim().length === 0) {
|
|
121
167
|
invalidOperationRequest("fast append operation", "every row needs an effectId");
|
|
122
168
|
}
|
|
169
|
+
if (effectIds.has(row.effectId)) {
|
|
170
|
+
invalidOperationRequest("fast append operation", "row effectIds must be unique");
|
|
171
|
+
}
|
|
172
|
+
effectIds.add(row.effectId);
|
|
173
|
+
const fieldNames = Object.keys(row.fields).sort();
|
|
174
|
+
const expectedFieldNames = [...request.headers].sort();
|
|
175
|
+
if (fieldNames.length !== expectedFieldNames.length || fieldNames.some((field, index) => field !== expectedFieldNames[index])) {
|
|
176
|
+
invalidOperationRequest("fast append operation", "every row must contain exactly the registered headers");
|
|
177
|
+
}
|
|
123
178
|
for (const cell of Object.values(row.fields)) {
|
|
124
|
-
if (!
|
|
179
|
+
if (!isNormalizedCell(cell)) {
|
|
125
180
|
invalidOperationRequest("fast append operation", "rows contain an unsupported normalized cell");
|
|
126
181
|
}
|
|
127
182
|
}
|
|
128
183
|
}
|
|
129
184
|
}
|
|
130
|
-
function
|
|
185
|
+
function columnNumber(value) {
|
|
186
|
+
if (value === undefined || value.length === 0)
|
|
187
|
+
return 0;
|
|
188
|
+
let result = 0;
|
|
189
|
+
for (const letter of value)
|
|
190
|
+
result = result * 26 + letter.charCodeAt(0) - 64;
|
|
191
|
+
return result;
|
|
192
|
+
}
|
|
193
|
+
function decodeFastAppendResult(value, expectedRows) {
|
|
131
194
|
if (!isRecord(value) ||
|
|
132
195
|
!Array.isArray(value.results) ||
|
|
133
|
-
value.results.length !==
|
|
196
|
+
value.results.length !== expectedRows.length ||
|
|
134
197
|
value.hasMore !== false) {
|
|
135
198
|
invalidOperationResponse("fast append operation", "result must contain results and hasMore=false");
|
|
136
199
|
}
|
|
137
200
|
const timing = decodeOptionalSyncGatewayTiming(value.timing, "fast append timing");
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
201
|
+
const results = value.results.map(decodeFastAppendRowResult);
|
|
202
|
+
const expectedEffectIds = new Set(expectedRows.map((row) => row.effectId));
|
|
203
|
+
const actualEffectIds = new Set(results.map((row) => row.effectId));
|
|
204
|
+
if (actualEffectIds.size !== results.length ||
|
|
205
|
+
actualEffectIds.size !== expectedEffectIds.size ||
|
|
206
|
+
results.some((row) => !expectedEffectIds.has(row.effectId))) {
|
|
207
|
+
return invalidOperationResponse("fast append operation", "result effectIds do not match the submitted rows");
|
|
208
|
+
}
|
|
209
|
+
const result = { results, hasMore: false };
|
|
142
210
|
return timing === undefined ? result : { ...result, timing };
|
|
143
211
|
}
|
|
144
212
|
function decodeFastAppendRowResult(value) {
|
|
@@ -152,15 +220,4 @@ function decodeFastAppendRowResult(value) {
|
|
|
152
220
|
status: SYNC_GATEWAY_FAST_APPEND_STATUSES.APPLIED,
|
|
153
221
|
};
|
|
154
222
|
}
|
|
155
|
-
function isSupportedNormalizedCell(value) {
|
|
156
|
-
if (value === null)
|
|
157
|
-
return true;
|
|
158
|
-
if (value.kind === NORMALIZED_CELL_KINDS.STRING || value.kind === NORMALIZED_CELL_KINDS.DATE) {
|
|
159
|
-
return typeof value.value === "string";
|
|
160
|
-
}
|
|
161
|
-
if (value.kind === NORMALIZED_CELL_KINDS.NUMBER) {
|
|
162
|
-
return Number.isFinite(value.value);
|
|
163
|
-
}
|
|
164
|
-
return value.kind === NORMALIZED_CELL_KINDS.BOOLEAN && typeof value.value === "boolean";
|
|
165
|
-
}
|
|
166
223
|
//# sourceMappingURL=fastAppendOperation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fastAppendOperation.js","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAO1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,yDAAyD,CAAC;AAI5G,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"fastAppendOperation.js","sourceRoot":"","sources":["../../../../../../../src/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAO1E,OAAO,EAAE,iCAAiC,EAAE,MAAM,yDAAyD,CAAC;AAI5G,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAC;AAC3E,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AACvF,OAAO,EAAE,QAAQ,EAAE,MAAM,iDAAiD,CAAC;AAoB3E;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,OAA6C;IAE7C,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACnC,OAAO;QACL,EAAE,EAAE,4BAA4B;QAChC,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,MAAM,4BAA4B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2HnC,CAAC;AAEH,SAAS,yBAAyB,CAAC,OAA6C;IAC9E,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,uBAAuB,CAAC,uBAAuB,EAAE,uBAAuB,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACrD,uBAAuB,CACrB,uBAAuB,EACvB,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACjG,uBAAuB,CACrB,uBAAuB,EACvB,sCAAsC,CACvC,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC7D,uBAAuB,CAAC,uBAAuB,EAAE,qCAAqC,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACtH,uBAAuB,CAAC,uBAAuB,EAAE,oCAAoC,CAAC,CAAC;IACzF,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,uBAAuB,CAAC,uBAAuB,EAAE,6BAA6B,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,uBAAuB,CAAC,uBAAuB,EAAE,8BAA8B,CAAC,CAAC;QACnF,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAClD,MAAM,kBAAkB,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;QACvD,IAAI,UAAU,CAAC,MAAM,KAAK,kBAAkB,CAAC,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9H,uBAAuB,CAAC,uBAAuB,EAAE,uDAAuD,CAAC,CAAC;QAC5G,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5B,uBAAuB,CACrB,uBAAuB,EACvB,6CAA6C,CAC9C,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAyB;IAC7C,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACxD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,MAAM,IAAI,KAAK;QAAE,MAAM,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAC7E,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAc,EACd,YAAsC;IAEtC,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC7B,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM;QAC5C,KAAK,CAAC,OAAO,KAAK,KAAK,EACvB,CAAC;QACD,wBAAwB,CACtB,uBAAuB,EACvB,+CAA+C,CAChD,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,+BAA+B,CAAC,KAAK,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpE,IACE,eAAe,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM;QACvC,eAAe,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI;QAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAC3D,CAAC;QACD,OAAO,wBAAwB,CAC7B,uBAAuB,EACvB,kDAAkD,CACnD,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAyB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACjE,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC;AAC/D,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAChB,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QAClC,KAAK,CAAC,MAAM,KAAK,iCAAiC,CAAC,OAAO,EAC1D,CAAC;QACD,wBAAwB,CACtB,uBAAuB,EACvB,4CAA4C,CAC7C,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,MAAM,EAAE,iCAAiC,CAAC,OAAO;KAClD,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Signed request protocol implemented by the current thin `Code.gs` file. */
|
|
2
2
|
import { type AppsScriptOperationName } from "./constants.js";
|
|
3
|
+
import type { HikouteiRequestId } from "../../../../../shared/identity/types.js";
|
|
3
4
|
import type { SyncJsonValue } from "./types.js";
|
|
4
5
|
/** The thin dispatcher reuses the data-plane protocol version. */
|
|
5
6
|
export declare const APPS_SCRIPT_OPERATION_PROTOCOL_VERSION: "typed-sheets-sync-v1";
|
|
@@ -15,7 +16,7 @@ export interface AppsScriptOperationPayload {
|
|
|
15
16
|
/** Fields authenticated by the current `Code.gs` implementation. */
|
|
16
17
|
export interface AppsScriptOperationSigningFields {
|
|
17
18
|
readonly protocolVersion: typeof APPS_SCRIPT_OPERATION_PROTOCOL_VERSION;
|
|
18
|
-
readonly requestId:
|
|
19
|
+
readonly requestId: HikouteiRequestId;
|
|
19
20
|
readonly operation: AppsScriptOperationName;
|
|
20
21
|
readonly keyId: string;
|
|
21
22
|
readonly issuedAt: number;
|
|
@@ -1 +1 @@
|
|
|
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,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,
|
|
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"}
|