hikoutei 0.2.0
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/LICENSE +21 -0
- package/README.ja.md +135 -0
- package/README.ko.md +138 -0
- package/README.md +143 -0
- package/apps-script/gateway/Code.gs +412 -0
- package/dist/adapter/persistence/contracts/index.d.ts +3 -0
- package/dist/adapter/persistence/contracts/index.d.ts.map +1 -0
- package/dist/adapter/persistence/contracts/index.js +3 -0
- package/dist/adapter/persistence/contracts/index.js.map +1 -0
- package/dist/adapter/persistence/contracts/sql.d.ts +50 -0
- package/dist/adapter/persistence/contracts/sql.d.ts.map +1 -0
- package/dist/adapter/persistence/contracts/sql.js +9 -0
- package/dist/adapter/persistence/contracts/sql.js.map +1 -0
- package/dist/adapter/persistence/index.d.ts +2 -0
- package/dist/adapter/persistence/index.d.ts.map +1 -0
- package/dist/adapter/persistence/index.js +2 -0
- package/dist/adapter/persistence/index.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts +53 -0
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js +105 -0
- package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +39 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js +54 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts +38 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js +55 -0
- package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/index.d.ts +16 -0
- package/dist/adapter/persistence/providers/mikro-orm/index.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/index.js +9 -0
- package/dist/adapter/persistence/providers/mikro-orm/index.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts +27 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +67 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.d.ts +19 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.js +67 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmFlushChanges.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts +78 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js +121 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.d.ts +20 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.js +125 -0
- package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteSchema.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts +42 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.js +51 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts +22 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/index.js +12 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/index.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts +42 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js +161 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts +3 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js +692 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts +29 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js +538 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts +12 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js +190 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts +23 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js +166 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts +50 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js +60 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.d.ts +44 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.js +40 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts +7 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js +47 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.d.ts +5 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js +54 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.d.ts +5 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.js +2 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts +10 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js +35 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts +67 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js +204 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts +78 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js +343 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js.map +1 -0
- package/dist/application/index.d.ts +4 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +4 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/orm/api/TypedSheetsOrm.d.ts +71 -0
- package/dist/application/orm/api/TypedSheetsOrm.d.ts.map +1 -0
- package/dist/application/orm/api/TypedSheetsOrm.js +116 -0
- package/dist/application/orm/api/TypedSheetsOrm.js.map +1 -0
- package/dist/application/orm/api/contracts.d.ts +118 -0
- package/dist/application/orm/api/contracts.d.ts.map +1 -0
- package/dist/application/orm/api/contracts.js +21 -0
- package/dist/application/orm/api/contracts.js.map +1 -0
- package/dist/application/orm/errors.d.ts +35 -0
- package/dist/application/orm/errors.d.ts.map +1 -0
- package/dist/application/orm/errors.js +35 -0
- package/dist/application/orm/errors.js.map +1 -0
- package/dist/application/orm/index.d.ts +13 -0
- package/dist/application/orm/index.d.ts.map +1 -0
- package/dist/application/orm/index.js +7 -0
- package/dist/application/orm/index.js.map +1 -0
- package/dist/application/orm/mapping/contracts.d.ts +113 -0
- package/dist/application/orm/mapping/contracts.d.ts.map +1 -0
- package/dist/application/orm/mapping/contracts.js +8 -0
- package/dist/application/orm/mapping/contracts.js.map +1 -0
- package/dist/application/orm/mapping/definition.d.ts +16 -0
- package/dist/application/orm/mapping/definition.d.ts.map +1 -0
- package/dist/application/orm/mapping/definition.js +145 -0
- package/dist/application/orm/mapping/definition.js.map +1 -0
- package/dist/application/orm/mapping/entityMapping.d.ts +13 -0
- package/dist/application/orm/mapping/entityMapping.d.ts.map +1 -0
- package/dist/application/orm/mapping/entityMapping.js +13 -0
- package/dist/application/orm/mapping/entityMapping.js.map +1 -0
- package/dist/application/orm/mapping/identity.d.ts +14 -0
- package/dist/application/orm/mapping/identity.d.ts.map +1 -0
- package/dist/application/orm/mapping/identity.js +37 -0
- package/dist/application/orm/mapping/identity.js.map +1 -0
- package/dist/application/orm/mapping/observationMapping.d.ts +42 -0
- package/dist/application/orm/mapping/observationMapping.d.ts.map +1 -0
- package/dist/application/orm/mapping/observationMapping.js +65 -0
- package/dist/application/orm/mapping/observationMapping.js.map +1 -0
- package/dist/application/orm/mapping/projection.d.ts +22 -0
- package/dist/application/orm/mapping/projection.d.ts.map +1 -0
- package/dist/application/orm/mapping/projection.js +74 -0
- package/dist/application/orm/mapping/projection.js.map +1 -0
- package/dist/application/orm/mapping/registry.d.ts +15 -0
- package/dist/application/orm/mapping/registry.d.ts.map +1 -0
- package/dist/application/orm/mapping/registry.js +38 -0
- package/dist/application/orm/mapping/registry.js.map +1 -0
- package/dist/application/orm/mapping/values.d.ts +17 -0
- package/dist/application/orm/mapping/values.d.ts.map +1 -0
- package/dist/application/orm/mapping/values.js +141 -0
- package/dist/application/orm/mapping/values.js.map +1 -0
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +28 -0
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -0
- package/dist/application/orm/persistence/flush/flushCoordinator.js +170 -0
- package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -0
- package/dist/application/orm/persistence/flush/mappedFlushCoordinator.d.ts +9 -0
- package/dist/application/orm/persistence/flush/mappedFlushCoordinator.d.ts.map +1 -0
- package/dist/application/orm/persistence/flush/mappedFlushCoordinator.js +8 -0
- package/dist/application/orm/persistence/flush/mappedFlushCoordinator.js.map +1 -0
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.d.ts +12 -0
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.d.ts.map +1 -0
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js +134 -0
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js.map +1 -0
- package/dist/application/orm/persistence/projection/projectionEffects.d.ts +21 -0
- package/dist/application/orm/persistence/projection/projectionEffects.d.ts.map +1 -0
- package/dist/application/orm/persistence/projection/projectionEffects.js +203 -0
- package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -0
- package/dist/application/orm/persistence/support/businessKeys.d.ts +17 -0
- package/dist/application/orm/persistence/support/businessKeys.d.ts.map +1 -0
- package/dist/application/orm/persistence/support/businessKeys.js +72 -0
- package/dist/application/orm/persistence/support/businessKeys.js.map +1 -0
- package/dist/application/orm/persistence/support/canonicalState.d.ts +22 -0
- package/dist/application/orm/persistence/support/canonicalState.d.ts.map +1 -0
- package/dist/application/orm/persistence/support/canonicalState.js +88 -0
- package/dist/application/orm/persistence/support/canonicalState.js.map +1 -0
- package/dist/application/orm/persistence/support/contracts.d.ts +139 -0
- package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -0
- package/dist/application/orm/persistence/support/contracts.js +93 -0
- package/dist/application/orm/persistence/support/contracts.js.map +1 -0
- package/dist/application/orm/persistence/support/helpers.d.ts +32 -0
- package/dist/application/orm/persistence/support/helpers.d.ts.map +1 -0
- package/dist/application/orm/persistence/support/helpers.js +66 -0
- package/dist/application/orm/persistence/support/helpers.js.map +1 -0
- package/dist/application/orm/persistence/support/timing.d.ts +20 -0
- package/dist/application/orm/persistence/support/timing.d.ts.map +1 -0
- package/dist/application/orm/persistence/support/timing.js +55 -0
- package/dist/application/orm/persistence/support/timing.js.map +1 -0
- package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts +46 -0
- package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts.map +1 -0
- package/dist/application/sync/gateway/SyncGatewayBootstrap.js +93 -0
- package/dist/application/sync/gateway/SyncGatewayBootstrap.js.map +1 -0
- package/dist/application/sync/gateway/constants.d.ts +65 -0
- package/dist/application/sync/gateway/constants.d.ts.map +1 -0
- package/dist/application/sync/gateway/constants.js +57 -0
- package/dist/application/sync/gateway/constants.js.map +1 -0
- package/dist/application/sync/gateway/errors.d.ts +15 -0
- package/dist/application/sync/gateway/errors.d.ts.map +1 -0
- package/dist/application/sync/gateway/errors.js +16 -0
- package/dist/application/sync/gateway/errors.js.map +1 -0
- package/dist/application/sync/gateway/syncGateway.d.ts +313 -0
- package/dist/application/sync/gateway/syncGateway.d.ts.map +1 -0
- package/dist/application/sync/gateway/syncGateway.js +202 -0
- package/dist/application/sync/gateway/syncGateway.js.map +1 -0
- package/dist/application/sync/gateway/validation.d.ts +17 -0
- package/dist/application/sync/gateway/validation.d.ts.map +1 -0
- package/dist/application/sync/gateway/validation.js +60 -0
- package/dist/application/sync/gateway/validation.js.map +1 -0
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts +72 -0
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts.map +1 -0
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.js +272 -0
- package/dist/application/sync/inbound/polling/SimpleSheetPolling.js.map +1 -0
- package/dist/application/sync/index.d.ts +16 -0
- package/dist/application/sync/index.d.ts.map +1 -0
- package/dist/application/sync/index.js +9 -0
- package/dist/application/sync/index.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +106 -0
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +297 -0
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts +100 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js +345 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +46 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +63 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts +20 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +102 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts +19 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js +32 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts +30 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +202 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts +17 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js +80 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts +13 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +205 -0
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +1 -0
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts +81 -0
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts.map +1 -0
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js +245 -0
- package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js.map +1 -0
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts +77 -0
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -0
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +518 -0
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -0
- package/dist/application/sync/telemetry/syncTiming.d.ts +50 -0
- package/dist/application/sync/telemetry/syncTiming.d.ts.map +1 -0
- package/dist/application/sync/telemetry/syncTiming.js +22 -0
- package/dist/application/sync/telemetry/syncTiming.js.map +1 -0
- package/dist/domain/conflict/errors.d.ts +42 -0
- package/dist/domain/conflict/errors.d.ts.map +1 -0
- package/dist/domain/conflict/errors.js +36 -0
- package/dist/domain/conflict/errors.js.map +1 -0
- package/dist/domain/conflict/index.d.ts +5 -0
- package/dist/domain/conflict/index.d.ts.map +1 -0
- package/dist/domain/conflict/index.js +3 -0
- package/dist/domain/conflict/index.js.map +1 -0
- package/dist/domain/conflict/transitions.d.ts +52 -0
- package/dist/domain/conflict/transitions.d.ts.map +1 -0
- package/dist/domain/conflict/transitions.js +115 -0
- package/dist/domain/conflict/transitions.js.map +1 -0
- package/dist/domain/errors/evaluation.d.ts +13 -0
- package/dist/domain/errors/evaluation.d.ts.map +1 -0
- package/dist/domain/errors/evaluation.js +14 -0
- package/dist/domain/errors/evaluation.js.map +1 -0
- package/dist/domain/errors/identity.d.ts +12 -0
- package/dist/domain/errors/identity.d.ts.map +1 -0
- package/dist/domain/errors/identity.js +15 -0
- package/dist/domain/errors/identity.js.map +1 -0
- package/dist/domain/errors/index.d.ts +7 -0
- package/dist/domain/errors/index.d.ts.map +1 -0
- package/dist/domain/errors/index.js +5 -0
- package/dist/domain/errors/index.js.map +1 -0
- package/dist/domain/errors/stableEncoding.d.ts +7 -0
- package/dist/domain/errors/stableEncoding.d.ts.map +1 -0
- package/dist/domain/errors/stableEncoding.js +8 -0
- package/dist/domain/errors/stableEncoding.js.map +1 -0
- package/dist/domain/errors/types.d.ts +20 -0
- package/dist/domain/errors/types.d.ts.map +1 -0
- package/dist/domain/errors/types.js +18 -0
- package/dist/domain/errors/types.js.map +1 -0
- package/dist/domain/evaluate/constants.d.ts +55 -0
- package/dist/domain/evaluate/constants.d.ts.map +1 -0
- package/dist/domain/evaluate/constants.js +41 -0
- package/dist/domain/evaluate/constants.js.map +1 -0
- package/dist/domain/evaluate/contracts.d.ts +125 -0
- package/dist/domain/evaluate/contracts.d.ts.map +1 -0
- package/dist/domain/evaluate/contracts.js +8 -0
- package/dist/domain/evaluate/contracts.js.map +1 -0
- package/dist/domain/evaluate/evaluateBatch.d.ts +11 -0
- package/dist/domain/evaluate/evaluateBatch.d.ts.map +1 -0
- package/dist/domain/evaluate/evaluateBatch.js +91 -0
- package/dist/domain/evaluate/evaluateBatch.js.map +1 -0
- package/dist/domain/evaluate/fieldEvaluation.d.ts +14 -0
- package/dist/domain/evaluate/fieldEvaluation.d.ts.map +1 -0
- package/dist/domain/evaluate/fieldEvaluation.js +133 -0
- package/dist/domain/evaluate/fieldEvaluation.js.map +1 -0
- package/dist/domain/evaluate/identity.d.ts +21 -0
- package/dist/domain/evaluate/identity.d.ts.map +1 -0
- package/dist/domain/evaluate/identity.js +72 -0
- package/dist/domain/evaluate/identity.js.map +1 -0
- package/dist/domain/evaluate/index.d.ts +4 -0
- package/dist/domain/evaluate/index.d.ts.map +1 -0
- package/dist/domain/evaluate/index.js +3 -0
- package/dist/domain/evaluate/index.js.map +1 -0
- package/dist/domain/evaluate/preconditions.d.ts +30 -0
- package/dist/domain/evaluate/preconditions.d.ts.map +1 -0
- package/dist/domain/evaluate/preconditions.js +389 -0
- package/dist/domain/evaluate/preconditions.js.map +1 -0
- package/dist/domain/evaluate/quarantine.d.ts +15 -0
- package/dist/domain/evaluate/quarantine.d.ts.map +1 -0
- package/dist/domain/evaluate/quarantine.js +185 -0
- package/dist/domain/evaluate/quarantine.js.map +1 -0
- package/dist/domain/index.d.ts +7 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +7 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/model/constants.d.ts +73 -0
- package/dist/domain/model/constants.d.ts.map +1 -0
- package/dist/domain/model/constants.js +59 -0
- package/dist/domain/model/constants.js.map +1 -0
- package/dist/domain/model/index.d.ts +3 -0
- package/dist/domain/model/index.d.ts.map +1 -0
- package/dist/domain/model/index.js +2 -0
- package/dist/domain/model/index.js.map +1 -0
- package/dist/domain/model/types.d.ts +330 -0
- package/dist/domain/model/types.d.ts.map +1 -0
- package/dist/domain/model/types.js +8 -0
- package/dist/domain/model/types.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/infrastructure/index.d.ts +3 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +3 -0
- package/dist/infrastructure/index.js.map +1 -0
- package/dist/infrastructure/storage/constants.d.ts +4 -0
- package/dist/infrastructure/storage/constants.d.ts.map +1 -0
- package/dist/infrastructure/storage/constants.js +4 -0
- package/dist/infrastructure/storage/constants.js.map +1 -0
- package/dist/infrastructure/storage/errors.d.ts +55 -0
- package/dist/infrastructure/storage/errors.d.ts.map +1 -0
- package/dist/infrastructure/storage/errors.js +58 -0
- package/dist/infrastructure/storage/errors.js.map +1 -0
- package/dist/infrastructure/storage/index.d.ts +23 -0
- package/dist/infrastructure/storage/index.d.ts.map +1 -0
- package/dist/infrastructure/storage/index.js +13 -0
- package/dist/infrastructure/storage/index.js.map +1 -0
- package/dist/infrastructure/storage/recovery/restoreRecovery.d.ts +64 -0
- package/dist/infrastructure/storage/recovery/restoreRecovery.d.ts.map +1 -0
- package/dist/infrastructure/storage/recovery/restoreRecovery.js +148 -0
- package/dist/infrastructure/storage/recovery/restoreRecovery.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/schema.d.ts +49 -0
- package/dist/infrastructure/storage/sqlite/schema.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/schema.js +529 -0
- package/dist/infrastructure/storage/sqlite/schema.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/schemaTypes.d.ts +5 -0
- package/dist/infrastructure/storage/sqlite/schemaTypes.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/schemaTypes.js +2 -0
- package/dist/infrastructure/storage/sqlite/schemaTypes.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlScript.d.ts +9 -0
- package/dist/infrastructure/storage/sqlite/sqlScript.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlScript.js +122 -0
- package/dist/infrastructure/storage/sqlite/sqlScript.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlState.d.ts +6 -0
- package/dist/infrastructure/storage/sqlite/sqlState.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlState.js +14 -0
- package/dist/infrastructure/storage/sqlite/sqlState.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlTransaction.d.ts +6 -0
- package/dist/infrastructure/storage/sqlite/sqlTransaction.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqlTransaction.js +24 -0
- package/dist/infrastructure/storage/sqlite/sqlTransaction.js.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqliteBridge.d.ts +44 -0
- package/dist/infrastructure/storage/sqlite/sqliteBridge.d.ts.map +1 -0
- package/dist/infrastructure/storage/sqlite/sqliteBridge.js +66 -0
- package/dist/infrastructure/storage/sqlite/sqliteBridge.js.map +1 -0
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts +101 -0
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.js +417 -0
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationAudit.d.ts +16 -0
- package/dist/infrastructure/storage/state/observation/observationAudit.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationAudit.js +85 -0
- package/dist/infrastructure/storage/state/observation/observationAudit.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts +31 -0
- package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationCanonical.js +439 -0
- package/dist/infrastructure/storage/state/observation/observationCanonical.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationConstants.d.ts +53 -0
- package/dist/infrastructure/storage/state/observation/observationConstants.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationConstants.js +41 -0
- package/dist/infrastructure/storage/state/observation/observationConstants.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationLedger.d.ts +49 -0
- package/dist/infrastructure/storage/state/observation/observationLedger.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationLedger.js +537 -0
- package/dist/infrastructure/storage/state/observation/observationLedger.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts +15 -0
- package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationQuarantine.js +100 -0
- package/dist/infrastructure/storage/state/observation/observationQuarantine.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.d.ts +124 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.js +13 -0
- package/dist/infrastructure/storage/state/observation/observationTypes.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationValidation.d.ts +28 -0
- package/dist/infrastructure/storage/state/observation/observationValidation.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationValidation.js +223 -0
- package/dist/infrastructure/storage/state/observation/observationValidation.js.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationWriter.d.ts +28 -0
- package/dist/infrastructure/storage/state/observation/observationWriter.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/observation/observationWriter.js +293 -0
- package/dist/infrastructure/storage/state/observation/observationWriter.js.map +1 -0
- package/dist/infrastructure/storage/state/readonly/readOnlyObservation.d.ts +58 -0
- package/dist/infrastructure/storage/state/readonly/readOnlyObservation.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/readonly/readOnlyObservation.js +195 -0
- package/dist/infrastructure/storage/state/readonly/readOnlyObservation.js.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts +31 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.js +563 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.js.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts +118 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.js +18 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.js.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts +23 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js +84 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts +16 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts.map +1 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js +97 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +137 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +396 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +101 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js +9 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +21 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +184 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts +25 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js +158 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js.map +1 -0
- package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts +69 -0
- package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/shared/syncRegistry.js +272 -0
- package/dist/infrastructure/storage/sync/shared/syncRegistry.js.map +1 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.d.ts +90 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.js +282 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.js.map +1 -0
- package/dist/shared/constants.d.ts +8 -0
- package/dist/shared/constants.d.ts.map +1 -0
- package/dist/shared/constants.js +8 -0
- package/dist/shared/constants.js.map +1 -0
- package/dist/shared/encoding/constants.d.ts +45 -0
- package/dist/shared/encoding/constants.d.ts.map +1 -0
- package/dist/shared/encoding/constants.js +37 -0
- package/dist/shared/encoding/constants.js.map +1 -0
- package/dist/shared/encoding/index.d.ts +6 -0
- package/dist/shared/encoding/index.d.ts.map +1 -0
- package/dist/shared/encoding/index.js +4 -0
- package/dist/shared/encoding/index.js.map +1 -0
- package/dist/shared/encoding/stableEncode.d.ts +34 -0
- package/dist/shared/encoding/stableEncode.d.ts.map +1 -0
- package/dist/shared/encoding/stableEncode.js +210 -0
- package/dist/shared/encoding/stableEncode.js.map +1 -0
- package/dist/shared/encoding/typeGuards.d.ts +15 -0
- package/dist/shared/encoding/typeGuards.d.ts.map +1 -0
- package/dist/shared/encoding/typeGuards.js +11 -0
- package/dist/shared/encoding/typeGuards.js.map +1 -0
- package/dist/shared/encoding/types.d.ts +52 -0
- package/dist/shared/encoding/types.d.ts.map +1 -0
- package/dist/shared/encoding/types.js +8 -0
- package/dist/shared/encoding/types.js.map +1 -0
- package/dist/shared/index.d.ts +6 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +6 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/state/constants.d.ts +16 -0
- package/dist/shared/state/constants.d.ts.map +1 -0
- package/dist/shared/state/constants.js +16 -0
- package/dist/shared/state/constants.js.map +1 -0
- package/dist/shared/state/index.d.ts +3 -0
- package/dist/shared/state/index.d.ts.map +1 -0
- package/dist/shared/state/index.js +2 -0
- package/dist/shared/state/index.js.map +1 -0
- package/dist/shared/state/types.d.ts +23 -0
- package/dist/shared/state/types.d.ts.map +1 -0
- package/dist/shared/state/types.js +2 -0
- package/dist/shared/state/types.js.map +1 -0
- package/dist/shared/validation.d.ts +9 -0
- package/dist/shared/validation.d.ts.map +1 -0
- package/dist/shared/validation.js +25 -0
- package/dist/shared/validation.js.map +1 -0
- package/docs/architecture.md +72 -0
- package/docs/code-guidelines.md +256 -0
- package/docs/development.md +48 -0
- package/docs/git-workflow.md +224 -0
- package/docs/mikro-orm-adapter-spike.md +248 -0
- package/docs/quick-start.md +102 -0
- package/docs/sql-layer-plan.md +59 -0
- package/docs/sync-bulk-write-benchmark.md +1036 -0
- package/docs/sync-observability.md +71 -0
- package/docs/task-queue-write-model.md +640 -0
- package/docs/typed-sheets-mvp-scope-2026-06-29.md +490 -0
- package/docs/typed-sheets-plan.md +417 -0
- package/docs/write-and-synchronization-flow.md +71 -0
- package/package.json +68 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timing helpers for mapped persistence diagnostics.
|
|
3
|
+
*
|
|
4
|
+
* Timing callbacks are deliberately best-effort: observability failures must
|
|
5
|
+
* never abort the entity transaction they describe.
|
|
6
|
+
*/
|
|
7
|
+
import { SYNC_TIMING_OPERATION_KINDS, } from "../../../sync/telemetry/syncTiming.js";
|
|
8
|
+
import { TYPED_SHEETS_ENTITY_CHANGE_KINDS, } from "../../api/contracts.js";
|
|
9
|
+
/** Stable translation from entity lifecycle states to timing operation states. */
|
|
10
|
+
const SYNC_TIMING_OPERATION_BY_ENTITY_CHANGE_KIND = {
|
|
11
|
+
[TYPED_SHEETS_ENTITY_CHANGE_KINDS.CREATE]: SYNC_TIMING_OPERATION_KINDS.APPEND,
|
|
12
|
+
[TYPED_SHEETS_ENTITY_CHANGE_KINDS.UPDATE]: SYNC_TIMING_OPERATION_KINDS.UPDATE,
|
|
13
|
+
[TYPED_SHEETS_ENTITY_CHANGE_KINDS.DELETE]: SYNC_TIMING_OPERATION_KINDS.DELETE,
|
|
14
|
+
};
|
|
15
|
+
/** Converts public entity lifecycle kinds into timing operation kinds. */
|
|
16
|
+
export function timingOperationKind(value) {
|
|
17
|
+
return SYNC_TIMING_OPERATION_BY_ENTITY_CHANGE_KIND[value];
|
|
18
|
+
}
|
|
19
|
+
/** Counts one lifecycle operation for aggregate diagnostics. */
|
|
20
|
+
export function countsForOperationKind(operationKind) {
|
|
21
|
+
return {
|
|
22
|
+
append: operationKind === SYNC_TIMING_OPERATION_KINDS.APPEND ? 1 : 0,
|
|
23
|
+
update: operationKind === SYNC_TIMING_OPERATION_KINDS.UPDATE ? 1 : 0,
|
|
24
|
+
delete: operationKind === SYNC_TIMING_OPERATION_KINDS.DELETE ? 1 : 0,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
/** Counts all mapped lifecycle plans in one flush. */
|
|
28
|
+
export function countsForPlans(plans) {
|
|
29
|
+
return plans.reduce((counts, plan) => {
|
|
30
|
+
const operationKind = timingOperationKind(plan.change.kind);
|
|
31
|
+
return {
|
|
32
|
+
append: counts.append + (operationKind === SYNC_TIMING_OPERATION_KINDS.APPEND ? 1 : 0),
|
|
33
|
+
update: counts.update + (operationKind === SYNC_TIMING_OPERATION_KINDS.UPDATE ? 1 : 0),
|
|
34
|
+
delete: counts.delete + (operationKind === SYNC_TIMING_OPERATION_KINDS.DELETE ? 1 : 0),
|
|
35
|
+
};
|
|
36
|
+
}, { append: 0, update: 0, delete: 0 });
|
|
37
|
+
}
|
|
38
|
+
/** Lists only operation kinds represented by the supplied aggregate counts. */
|
|
39
|
+
export function operationKindsForCounts(counts) {
|
|
40
|
+
return [
|
|
41
|
+
...(counts.append > 0 ? [SYNC_TIMING_OPERATION_KINDS.APPEND] : []),
|
|
42
|
+
...(counts.update > 0 ? [SYNC_TIMING_OPERATION_KINDS.UPDATE] : []),
|
|
43
|
+
...(counts.delete > 0 ? [SYNC_TIMING_OPERATION_KINDS.DELETE] : []),
|
|
44
|
+
];
|
|
45
|
+
}
|
|
46
|
+
/** Emits diagnostics without allowing a faulty sink to affect persistence. */
|
|
47
|
+
export function emitTiming(writer, event) {
|
|
48
|
+
try {
|
|
49
|
+
writer.onTiming?.(event);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Diagnostics must never abort the entity transaction.
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=timing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../../../../../src/application/orm/persistence/support/timing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,2BAA2B,GAI5B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,gCAAgC,GAGjC,MAAM,wBAAwB,CAAC;AAMhC,kFAAkF;AAClF,MAAM,2CAA2C,GAAG;IAClD,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC,MAAM;IAC7E,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC,MAAM;IAC7E,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAE,2BAA2B,CAAC,MAAM;CACE,CAAC;AAElF,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CACjC,KAAsC;IAEtC,OAAO,2CAA2C,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,sBAAsB,CACpC,aAAsC;IAEtC,OAAO;QACL,MAAM,EAAE,aAAa,KAAK,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,EAAE,aAAa,KAAK,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,MAAM,EAAE,aAAa,KAAK,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACrE,CAAC;AACJ,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,cAAc,CAAC,KAAkC;IAC/D,OAAO,KAAK,CAAC,MAAM,CAA4B,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QAC9D,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,aAAa,KAAK,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,aAAa,KAAK,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,aAAa,KAAK,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvF,CAAC;IACJ,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,uBAAuB,CACrC,MAAiC;IAEjC,OAAO;QACL,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,UAAU,CACxB,MAA6B,EAC7B,KAAoC;IAEpC,IAAI,CAAC;QACH,MAAM,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trusted setup bridge from SQLite's physical-sheet registry to the Apps Script
|
|
3
|
+
* control plane.
|
|
4
|
+
*
|
|
5
|
+
* Runtime data-plane calls can only use a registered route. This helper is the
|
|
6
|
+
* matching owner-side path: callers pass the route returned by SQLite plus its
|
|
7
|
+
* declared header schema, and the gateway creates or verifies that projection
|
|
8
|
+
* before atomically replacing its remote allowlist.
|
|
9
|
+
*/
|
|
10
|
+
import type { RegisteredProjection, RegisteredSyncSheet } from "../../../infrastructure/storage/sync/shared/syncRegistry.js";
|
|
11
|
+
/** Exact projection schema that setup must materialize in the bound spreadsheet. */
|
|
12
|
+
export interface RegisteredSyncProjectionDefinition {
|
|
13
|
+
readonly sheet: RegisteredSyncSheet;
|
|
14
|
+
readonly headers: readonly string[];
|
|
15
|
+
/** Optional user-editable boolean control fields for a Sync_Conflicts tab. */
|
|
16
|
+
readonly checkboxHeaders?: readonly string[];
|
|
17
|
+
}
|
|
18
|
+
/** Serializable route shape accepted by a remote setup/control-plane client. */
|
|
19
|
+
export interface SyncGatewayProvisionRoute {
|
|
20
|
+
readonly sheetName: string;
|
|
21
|
+
readonly registeredRange: string;
|
|
22
|
+
readonly projection: RegisteredProjection;
|
|
23
|
+
readonly schemaVersion: number;
|
|
24
|
+
readonly headers: readonly string[];
|
|
25
|
+
/** Business-key header used to find append-only rows without metadata. */
|
|
26
|
+
readonly identityField?: string;
|
|
27
|
+
readonly checkboxHeaders?: readonly string[];
|
|
28
|
+
}
|
|
29
|
+
/** Minimal control-plane boundary; the runtime remains independent of fetch or Google SDK types. */
|
|
30
|
+
export interface SyncGatewayProvisioner {
|
|
31
|
+
provisionRegistry(registrations: readonly SyncGatewayProvisionRoute[]): Promise<{
|
|
32
|
+
readonly registrations: readonly Omit<SyncGatewayProvisionRoute, "headers">[];
|
|
33
|
+
readonly createdSheets: readonly string[];
|
|
34
|
+
readonly initializedHeaders: readonly string[];
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Provisions the complete SQLite-declared projection set without asking an
|
|
39
|
+
* operator to copy tab names, ranges, or schema versions into Apps Script.
|
|
40
|
+
*
|
|
41
|
+
* The caller should invoke this after successful local registry writes and may
|
|
42
|
+
* retry a failed remote call: the gateway only creates missing tabs and never
|
|
43
|
+
* overwrites a nonblank, mismatched header row.
|
|
44
|
+
*/
|
|
45
|
+
export declare function provisionRegisteredSyncSheets(gateway: SyncGatewayProvisioner, definitions: readonly RegisteredSyncProjectionDefinition[]): Promise<Awaited<ReturnType<SyncGatewayProvisioner["provisionRegistry"]>>>;
|
|
46
|
+
//# sourceMappingURL=SyncGatewayBootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncGatewayBootstrap.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/gateway/SyncGatewayBootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,6DAA6D,CAAC;AAWrE,oFAAoF;AACpF,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,gFAAgF;AAChF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,oGAAoG;AACpG,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,aAAa,EAAE,SAAS,yBAAyB,EAAE,GAAG,OAAO,CAAC;QAC9E,QAAQ,CAAC,aAAa,EAAE,SAAS,IAAI,CAAC,yBAAyB,EAAE,SAAS,CAAC,EAAE,CAAC;QAC9E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;QAC1C,QAAQ,CAAC,kBAAkB,EAAE,SAAS,MAAM,EAAE,CAAC;KAChD,CAAC,CAAC;CACJ;AAED;;;;;;;GAOG;AACH,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,sBAAsB,EAC/B,WAAW,EAAE,SAAS,kCAAkC,EAAE,GACzD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CA+F3E"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trusted setup bridge from SQLite's physical-sheet registry to the Apps Script
|
|
3
|
+
* control plane.
|
|
4
|
+
*
|
|
5
|
+
* Runtime data-plane calls can only use a registered route. This helper is the
|
|
6
|
+
* matching owner-side path: callers pass the route returned by SQLite plus its
|
|
7
|
+
* declared header schema, and the gateway creates or verifies that projection
|
|
8
|
+
* before atomically replacing its remote allowlist.
|
|
9
|
+
*/
|
|
10
|
+
import { SYNC_GATEWAY_ERROR_CODES, SyncGatewayContractError, } from "./errors.js";
|
|
11
|
+
import { requireSyncGatewayNonEmptyList, requireSyncGatewayPositiveSafeInteger, requireSyncGatewayText, } from "./validation.js";
|
|
12
|
+
/**
|
|
13
|
+
* Provisions the complete SQLite-declared projection set without asking an
|
|
14
|
+
* operator to copy tab names, ranges, or schema versions into Apps Script.
|
|
15
|
+
*
|
|
16
|
+
* The caller should invoke this after successful local registry writes and may
|
|
17
|
+
* retry a failed remote call: the gateway only creates missing tabs and never
|
|
18
|
+
* overwrites a nonblank, mismatched header row.
|
|
19
|
+
*/
|
|
20
|
+
export async function provisionRegisteredSyncSheets(gateway, definitions) {
|
|
21
|
+
requireSyncGatewayNonEmptyList(definitions, "sync gateway provisioning definitions", SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
22
|
+
const firstDefinition = definitions[0];
|
|
23
|
+
if (firstDefinition === undefined) {
|
|
24
|
+
throw new SyncGatewayContractError(SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, "sync gateway provisioning requires a first projection");
|
|
25
|
+
}
|
|
26
|
+
const spreadsheetId = requireSyncGatewayText(firstDefinition.sheet.spreadsheetId, "sync gateway provisioning spreadsheetId", SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
27
|
+
const physicalSheetIds = new Set();
|
|
28
|
+
const tabNames = new Set();
|
|
29
|
+
const registrations = definitions.map((definition) => {
|
|
30
|
+
const physicalSheetId = requireSyncGatewayText(definition.sheet.physicalSheetId, "sync gateway provisioning physicalSheetId", SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
31
|
+
const sheetName = requireSyncGatewayText(definition.sheet.tabName, "sync gateway provisioning tabName", SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
32
|
+
const registeredRange = requireSyncGatewayText(definition.sheet.registeredRange, "sync gateway provisioning registeredRange", SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
33
|
+
const definitionSpreadsheetId = requireSyncGatewayText(definition.sheet.spreadsheetId, "sync gateway provisioning spreadsheetId", SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
34
|
+
if (definitionSpreadsheetId !== spreadsheetId) {
|
|
35
|
+
throw new SyncGatewayContractError(SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, "sync gateway provisioning definitions must target one spreadsheet");
|
|
36
|
+
}
|
|
37
|
+
if (physicalSheetIds.has(physicalSheetId)) {
|
|
38
|
+
throw new SyncGatewayContractError(SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, "sync gateway provisioning cannot repeat a physical sheet ID");
|
|
39
|
+
}
|
|
40
|
+
if (tabNames.has(sheetName)) {
|
|
41
|
+
throw new SyncGatewayContractError(SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, "sync gateway provisioning cannot repeat a tab name");
|
|
42
|
+
}
|
|
43
|
+
physicalSheetIds.add(physicalSheetId);
|
|
44
|
+
tabNames.add(sheetName);
|
|
45
|
+
validateHeaders(definition.headers, "sync gateway provisioning headers");
|
|
46
|
+
validateCheckboxHeaders(definition.headers, definition.checkboxHeaders);
|
|
47
|
+
const schemaVersion = requireSyncGatewayPositiveSafeInteger(definition.sheet.schemaVersion, "sync gateway provisioning schemaVersion", SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
48
|
+
const identityField = definition.sheet.projection === "system_state"
|
|
49
|
+
? requireSyncGatewayText(definition.sheet.businessKeyField, "sync gateway provisioning identityField", SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS)
|
|
50
|
+
: undefined;
|
|
51
|
+
if (identityField !== undefined && !definition.headers.includes(identityField)) {
|
|
52
|
+
throw new SyncGatewayContractError(SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, `sync gateway provisioning identityField is not declared: ${identityField}`);
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
sheetName,
|
|
56
|
+
registeredRange,
|
|
57
|
+
projection: definition.sheet.projection,
|
|
58
|
+
schemaVersion,
|
|
59
|
+
headers: definition.headers,
|
|
60
|
+
...(identityField === undefined ? {} : { identityField }),
|
|
61
|
+
...(definition.checkboxHeaders === undefined ? {} : { checkboxHeaders: definition.checkboxHeaders }),
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
return gateway.provisionRegistry(registrations);
|
|
65
|
+
}
|
|
66
|
+
function validateHeaders(headers, label) {
|
|
67
|
+
requireSyncGatewayNonEmptyList(headers, label, SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
68
|
+
const seen = new Set();
|
|
69
|
+
headers.forEach((header, index) => {
|
|
70
|
+
const normalizedHeader = requireSyncGatewayText(header, `${label}[${index}]`, SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
71
|
+
if (seen.has(normalizedHeader)) {
|
|
72
|
+
throw new SyncGatewayContractError(SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, `${label} cannot contain duplicate headers: ${normalizedHeader}`);
|
|
73
|
+
}
|
|
74
|
+
seen.add(normalizedHeader);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
function validateCheckboxHeaders(headers, checkboxHeaders) {
|
|
78
|
+
if (checkboxHeaders === undefined)
|
|
79
|
+
return;
|
|
80
|
+
const headerSet = new Set(headers);
|
|
81
|
+
const seen = new Set();
|
|
82
|
+
checkboxHeaders.forEach((header, index) => {
|
|
83
|
+
const normalizedHeader = requireSyncGatewayText(header, `sync gateway provisioning checkboxHeaders[${index}]`, SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
84
|
+
if (!headerSet.has(normalizedHeader)) {
|
|
85
|
+
throw new SyncGatewayContractError(SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, `sync gateway provisioning checkbox header is not declared: ${normalizedHeader}`);
|
|
86
|
+
}
|
|
87
|
+
if (seen.has(normalizedHeader)) {
|
|
88
|
+
throw new SyncGatewayContractError(SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, `sync gateway provisioning cannot repeat a checkbox header: ${normalizedHeader}`);
|
|
89
|
+
}
|
|
90
|
+
seen.add(normalizedHeader);
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=SyncGatewayBootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncGatewayBootstrap.js","sourceRoot":"","sources":["../../../../src/application/sync/gateway/SyncGatewayBootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EACL,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,8BAA8B,EAC9B,qCAAqC,EACrC,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AA+BzB;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,OAA+B,EAC/B,WAA0D;IAE1D,8BAA8B,CAC5B,WAAW,EACX,uCAAuC,EACvC,wBAAwB,CAAC,gCAAgC,CAC1D,CAAC;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACvC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,CAAC,gCAAgC,EACzD,uDAAuD,CACxD,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,sBAAsB,CAC1C,eAAe,CAAC,KAAK,CAAC,aAAa,EACnC,yCAAyC,EACzC,wBAAwB,CAAC,gCAAgC,CAC1D,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IACnC,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;QACnD,MAAM,eAAe,GAAG,sBAAsB,CAC5C,UAAU,CAAC,KAAK,CAAC,eAAe,EAChC,2CAA2C,EAC3C,wBAAwB,CAAC,gCAAgC,CAC1D,CAAC;QACF,MAAM,SAAS,GAAG,sBAAsB,CACtC,UAAU,CAAC,KAAK,CAAC,OAAO,EACxB,mCAAmC,EACnC,wBAAwB,CAAC,gCAAgC,CAC1D,CAAC;QACF,MAAM,eAAe,GAAG,sBAAsB,CAC5C,UAAU,CAAC,KAAK,CAAC,eAAe,EAChC,2CAA2C,EAC3C,wBAAwB,CAAC,gCAAgC,CAC1D,CAAC;QACF,MAAM,uBAAuB,GAAG,sBAAsB,CACpD,UAAU,CAAC,KAAK,CAAC,aAAa,EAC9B,yCAAyC,EACzC,wBAAwB,CAAC,gCAAgC,CAC1D,CAAC;QACF,IAAI,uBAAuB,KAAK,aAAa,EAAE,CAAC;YAC9C,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,CAAC,gCAAgC,EACzD,mEAAmE,CACpE,CAAC;QACJ,CAAC;QACD,IAAI,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,CAAC,gCAAgC,EACzD,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,CAAC,gCAAgC,EACzD,oDAAoD,CACrD,CAAC;QACJ,CAAC;QACD,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACtC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxB,eAAe,CAAC,UAAU,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;QACzE,uBAAuB,CAAC,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,qCAAqC,CACzD,UAAU,CAAC,KAAK,CAAC,aAAa,EAC9B,yCAAyC,EACzC,wBAAwB,CAAC,gCAAgC,CAC1D,CAAC;QACF,MAAM,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC,UAAU,KAAK,cAAc;YAClE,CAAC,CAAC,sBAAsB,CACtB,UAAU,CAAC,KAAK,CAAC,gBAAgB,EACjC,yCAAyC,EACzC,wBAAwB,CAAC,gCAAgC,CAC1D;YACD,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,aAAa,KAAK,SAAS,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/E,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,CAAC,gCAAgC,EACzD,4DAA4D,aAAa,EAAE,CAC5E,CAAC;QACJ,CAAC;QACD,OAAO;YACL,SAAS;YACT,eAAe;YACf,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU;YACvC,aAAa;YACb,OAAO,EAAE,UAAU,CAAC,OAAO;YAC3B,GAAG,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC;YACzD,GAAG,CAAC,UAAU,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC;SACrG,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,eAAe,CAAC,OAA0B,EAAE,KAAa;IAChE,8BAA8B,CAC5B,OAAO,EACP,KAAK,EACL,wBAAwB,CAAC,gCAAgC,CAC1D,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QAChC,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,MAAM,EACN,GAAG,KAAK,IAAI,KAAK,GAAG,EACpB,wBAAwB,CAAC,gCAAgC,CAC1D,CAAC;QACF,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,CAAC,gCAAgC,EACzD,GAAG,KAAK,sCAAsC,gBAAgB,EAAE,CACjE,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB,CAC9B,OAA0B,EAC1B,eAA8C;IAE9C,IAAI,eAAe,KAAK,SAAS;QAAE,OAAO;IAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACxC,MAAM,gBAAgB,GAAG,sBAAsB,CAC7C,MAAM,EACN,6CAA6C,KAAK,GAAG,EACrD,wBAAwB,CAAC,gCAAgC,CAC1D,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,CAAC,gCAAgC,EACzD,8DAA8D,gBAAgB,EAAE,CACjF,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,wBAAwB,CAChC,wBAAwB,CAAC,gCAAgC,EACzD,8DAA8D,gBAAgB,EAAE,CACjF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/** Protocol versions understood by the sync gateway contract. */
|
|
2
|
+
export declare const SYNC_GATEWAY_PROTOCOL_VERSIONS: {
|
|
3
|
+
readonly V1: "typed-sheets-sync-v1";
|
|
4
|
+
};
|
|
5
|
+
export type SyncGatewayProtocolVersion = (typeof SYNC_GATEWAY_PROTOCOL_VERSIONS)[keyof typeof SYNC_GATEWAY_PROTOCOL_VERSIONS];
|
|
6
|
+
/** Projection labels accepted by the runtime gateway contract. */
|
|
7
|
+
export declare const SYNC_GATEWAY_PROJECTIONS: {
|
|
8
|
+
readonly USER_INPUT: "user_input";
|
|
9
|
+
readonly SYSTEM_STATE: "system_state";
|
|
10
|
+
readonly SYNC_CONFLICTS: "sync_conflicts";
|
|
11
|
+
};
|
|
12
|
+
export type SyncGatewayProjection = (typeof SYNC_GATEWAY_PROJECTIONS)[keyof typeof SYNC_GATEWAY_PROJECTIONS];
|
|
13
|
+
/** Detail level used by normalized Sheet observation reads. */
|
|
14
|
+
export declare const SYNC_GATEWAY_SNAPSHOT_READ_MODES: {
|
|
15
|
+
/** Reads formula, merge, error, and stable-cell metadata for reconciliation. */
|
|
16
|
+
readonly FULL: "full";
|
|
17
|
+
/** Reads only user-editable literal values and row identity for polling. */
|
|
18
|
+
readonly USER_INPUT: "user_input";
|
|
19
|
+
};
|
|
20
|
+
export type SyncGatewaySnapshotReadMode = (typeof SYNC_GATEWAY_SNAPSHOT_READ_MODES)[keyof typeof SYNC_GATEWAY_SNAPSHOT_READ_MODES];
|
|
21
|
+
/** Effect kinds that require special handling at the Apps Script boundary. */
|
|
22
|
+
export declare const SYNC_GATEWAY_EFFECT_KINDS: {
|
|
23
|
+
readonly RESOLUTION_DELETE: "resolution_delete";
|
|
24
|
+
readonly USER_INPUT_DELETE: "user_input_delete";
|
|
25
|
+
};
|
|
26
|
+
/** Terminal and retryable statuses returned for one gateway effect. */
|
|
27
|
+
export declare const SYNC_GATEWAY_EFFECT_RESULT_STATUSES: {
|
|
28
|
+
readonly APPLIED: "applied";
|
|
29
|
+
readonly ALREADY_APPLIED: "already_applied";
|
|
30
|
+
readonly SUPERSEDED: "superseded";
|
|
31
|
+
readonly GUARD_MISMATCH: "guard_mismatch";
|
|
32
|
+
readonly REPAIR_REOBSERVE: "repair_reobserve";
|
|
33
|
+
readonly SCHEMA_ERROR: "schema_error";
|
|
34
|
+
readonly RETRYABLE_ERROR: "retryable_error";
|
|
35
|
+
};
|
|
36
|
+
export type SyncGatewayEffectResultStatus = (typeof SYNC_GATEWAY_EFFECT_RESULT_STATUSES)[keyof typeof SYNC_GATEWAY_EFFECT_RESULT_STATUSES];
|
|
37
|
+
/** Result label returned when a fast-append row was accepted for writing. */
|
|
38
|
+
export declare const SYNC_GATEWAY_FAST_APPEND_STATUSES: {
|
|
39
|
+
readonly APPLIED: "applied";
|
|
40
|
+
};
|
|
41
|
+
export type SyncGatewayFastAppendStatus = (typeof SYNC_GATEWAY_FAST_APPEND_STATUSES)[keyof typeof SYNC_GATEWAY_FAST_APPEND_STATUSES];
|
|
42
|
+
/** How much remote read-back the gateway performs before returning a write result. */
|
|
43
|
+
export declare const SYNC_GATEWAY_POSTCONDITION_MODES: {
|
|
44
|
+
/** Read changed rows after the write and verify their target hashes inline. */
|
|
45
|
+
readonly INLINE: "inline";
|
|
46
|
+
/** Return after the batched write is flushed; recovery reads verify later. */
|
|
47
|
+
readonly DEFERRED: "deferred";
|
|
48
|
+
};
|
|
49
|
+
export type SyncGatewayPostconditionMode = (typeof SYNC_GATEWAY_POSTCONDITION_MODES)[keyof typeof SYNC_GATEWAY_POSTCONDITION_MODES];
|
|
50
|
+
/** Evidence level attached to a successful gateway write result. */
|
|
51
|
+
export declare const SYNC_GATEWAY_POSTCONDITION_STATUSES: {
|
|
52
|
+
readonly VERIFIED: "verified";
|
|
53
|
+
readonly ACKNOWLEDGED: "acknowledged";
|
|
54
|
+
readonly UNAVAILABLE: "unavailable";
|
|
55
|
+
};
|
|
56
|
+
export type SyncGatewayPostconditionStatus = (typeof SYNC_GATEWAY_POSTCONDITION_STATUSES)[keyof typeof SYNC_GATEWAY_POSTCONDITION_STATUSES];
|
|
57
|
+
/** Read-back classification after a lost response or expired lease. */
|
|
58
|
+
export declare const SYNC_GATEWAY_POSTCONDITION_DISPOSITIONS: {
|
|
59
|
+
readonly APPLIED: "applied";
|
|
60
|
+
readonly UNAPPLIED: "unapplied";
|
|
61
|
+
readonly CHANGED: "changed";
|
|
62
|
+
readonly UNAVAILABLE: "unavailable";
|
|
63
|
+
};
|
|
64
|
+
export type SyncGatewayPostconditionDisposition = (typeof SYNC_GATEWAY_POSTCONDITION_DISPOSITIONS)[keyof typeof SYNC_GATEWAY_POSTCONDITION_DISPOSITIONS];
|
|
65
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/gateway/constants.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,eAAO,MAAM,8BAA8B;;CAEjC,CAAC;AAEX,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,OAAO,8BAA8B,CAAC,CAAC;AAEvF,kEAAkE;AAClE,eAAO,MAAM,wBAAwB;;;;CAI3B,CAAC;AAEX,MAAM,MAAM,qBAAqB,GAC/B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE3E,+DAA+D;AAC/D,eAAO,MAAM,gCAAgC;IAC3C,gFAAgF;;IAEhF,4EAA4E;;CAEpE,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,OAAO,gCAAgC,CAAC,CAAC;AAE3F,8EAA8E;AAC9E,eAAO,MAAM,yBAAyB;;;CAG5B,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,mCAAmC;;;;;;;;CAQtC,CAAC;AAEX,MAAM,MAAM,6BAA6B,GACvC,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,OAAO,mCAAmC,CAAC,CAAC;AAEjG,6EAA6E;AAC7E,eAAO,MAAM,iCAAiC;;CAEpC,CAAC;AAEX,MAAM,MAAM,2BAA2B,GACrC,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,OAAO,iCAAiC,CAAC,CAAC;AAE7F,sFAAsF;AACtF,eAAO,MAAM,gCAAgC;IAC3C,+EAA+E;;IAE/E,8EAA8E;;CAEtE,CAAC;AAEX,MAAM,MAAM,4BAA4B,GACtC,CAAC,OAAO,gCAAgC,CAAC,CAAC,MAAM,OAAO,gCAAgC,CAAC,CAAC;AAE3F,oEAAoE;AACpE,eAAO,MAAM,mCAAmC;;;;CAItC,CAAC;AAEX,MAAM,MAAM,8BAA8B,GACxC,CAAC,OAAO,mCAAmC,CAAC,CAAC,MAAM,OAAO,mCAAmC,CAAC,CAAC;AAEjG,uEAAuE;AACvE,eAAO,MAAM,uCAAuC;;;;;CAK1C,CAAC;AAEX,MAAM,MAAM,mCAAmC,GAC7C,CAAC,OAAO,uCAAuC,CAAC,CAAC,MAAM,OAAO,uCAAuC,CAAC,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/** Protocol versions understood by the sync gateway contract. */
|
|
2
|
+
export const SYNC_GATEWAY_PROTOCOL_VERSIONS = {
|
|
3
|
+
V1: "typed-sheets-sync-v1",
|
|
4
|
+
};
|
|
5
|
+
/** Projection labels accepted by the runtime gateway contract. */
|
|
6
|
+
export const SYNC_GATEWAY_PROJECTIONS = {
|
|
7
|
+
USER_INPUT: "user_input",
|
|
8
|
+
SYSTEM_STATE: "system_state",
|
|
9
|
+
SYNC_CONFLICTS: "sync_conflicts",
|
|
10
|
+
};
|
|
11
|
+
/** Detail level used by normalized Sheet observation reads. */
|
|
12
|
+
export const SYNC_GATEWAY_SNAPSHOT_READ_MODES = {
|
|
13
|
+
/** Reads formula, merge, error, and stable-cell metadata for reconciliation. */
|
|
14
|
+
FULL: "full",
|
|
15
|
+
/** Reads only user-editable literal values and row identity for polling. */
|
|
16
|
+
USER_INPUT: "user_input",
|
|
17
|
+
};
|
|
18
|
+
/** Effect kinds that require special handling at the Apps Script boundary. */
|
|
19
|
+
export const SYNC_GATEWAY_EFFECT_KINDS = {
|
|
20
|
+
RESOLUTION_DELETE: "resolution_delete",
|
|
21
|
+
USER_INPUT_DELETE: "user_input_delete",
|
|
22
|
+
};
|
|
23
|
+
/** Terminal and retryable statuses returned for one gateway effect. */
|
|
24
|
+
export const SYNC_GATEWAY_EFFECT_RESULT_STATUSES = {
|
|
25
|
+
APPLIED: "applied",
|
|
26
|
+
ALREADY_APPLIED: "already_applied",
|
|
27
|
+
SUPERSEDED: "superseded",
|
|
28
|
+
GUARD_MISMATCH: "guard_mismatch",
|
|
29
|
+
REPAIR_REOBSERVE: "repair_reobserve",
|
|
30
|
+
SCHEMA_ERROR: "schema_error",
|
|
31
|
+
RETRYABLE_ERROR: "retryable_error",
|
|
32
|
+
};
|
|
33
|
+
/** Result label returned when a fast-append row was accepted for writing. */
|
|
34
|
+
export const SYNC_GATEWAY_FAST_APPEND_STATUSES = {
|
|
35
|
+
APPLIED: "applied",
|
|
36
|
+
};
|
|
37
|
+
/** How much remote read-back the gateway performs before returning a write result. */
|
|
38
|
+
export const SYNC_GATEWAY_POSTCONDITION_MODES = {
|
|
39
|
+
/** Read changed rows after the write and verify their target hashes inline. */
|
|
40
|
+
INLINE: "inline",
|
|
41
|
+
/** Return after the batched write is flushed; recovery reads verify later. */
|
|
42
|
+
DEFERRED: "deferred",
|
|
43
|
+
};
|
|
44
|
+
/** Evidence level attached to a successful gateway write result. */
|
|
45
|
+
export const SYNC_GATEWAY_POSTCONDITION_STATUSES = {
|
|
46
|
+
VERIFIED: "verified",
|
|
47
|
+
ACKNOWLEDGED: "acknowledged",
|
|
48
|
+
UNAVAILABLE: "unavailable",
|
|
49
|
+
};
|
|
50
|
+
/** Read-back classification after a lost response or expired lease. */
|
|
51
|
+
export const SYNC_GATEWAY_POSTCONDITION_DISPOSITIONS = {
|
|
52
|
+
APPLIED: "applied",
|
|
53
|
+
UNAPPLIED: "unapplied",
|
|
54
|
+
CHANGED: "changed",
|
|
55
|
+
UNAVAILABLE: "unavailable",
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/application/sync/gateway/constants.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,EAAE,EAAE,sBAAsB;CAClB,CAAC;AAKX,kEAAkE;AAClE,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,UAAU,EAAE,YAAY;IACxB,YAAY,EAAE,cAAc;IAC5B,cAAc,EAAE,gBAAgB;CACxB,CAAC;AAKX,+DAA+D;AAC/D,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,gFAAgF;IAChF,IAAI,EAAE,MAAM;IACZ,4EAA4E;IAC5E,UAAU,EAAE,YAAY;CAChB,CAAC;AAKX,8EAA8E;AAC9E,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,iBAAiB,EAAE,mBAAmB;IACtC,iBAAiB,EAAE,mBAAmB;CAC9B,CAAC;AAEX,uEAAuE;AACvE,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,OAAO,EAAE,SAAS;IAClB,eAAe,EAAE,iBAAiB;IAClC,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,gBAAgB;IAChC,gBAAgB,EAAE,kBAAkB;IACpC,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAKX,6EAA6E;AAC7E,MAAM,CAAC,MAAM,iCAAiC,GAAG;IAC/C,OAAO,EAAE,SAAS;CACV,CAAC;AAKX,sFAAsF;AACtF,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,+EAA+E;IAC/E,MAAM,EAAE,QAAQ;IAChB,8EAA8E;IAC9E,QAAQ,EAAE,UAAU;CACZ,CAAC;AAKX,oEAAoE;AACpE,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,QAAQ,EAAE,UAAU;IACpB,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;CAClB,CAAC;AAKX,uEAAuE;AACvE,MAAM,CAAC,MAAM,uCAAuC,GAAG;IACrD,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;CAClB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CoreErrorException } from "../../../domain/errors/index.js";
|
|
2
|
+
/** Stable error categories emitted by the runtime sync gateway contract. */
|
|
3
|
+
export declare const SYNC_GATEWAY_ERROR_CODES: {
|
|
4
|
+
readonly INVALID_EFFECT_PAYLOAD: "invalid_sync_effect_payload";
|
|
5
|
+
readonly INVALID_PROVISIONING_DEFINITIONS: "invalid_sync_gateway_provisioning";
|
|
6
|
+
readonly INVALID_CLIENT_OPTIONS: "invalid_sync_gateway_client_options";
|
|
7
|
+
readonly INVALID_GATEWAY_RESPONSE: "invalid_sync_gateway_response";
|
|
8
|
+
readonly INVALID_FAKE_GATEWAY_INPUT: "invalid_fake_sync_gateway_input";
|
|
9
|
+
};
|
|
10
|
+
export type SyncGatewayErrorCode = (typeof SYNC_GATEWAY_ERROR_CODES)[keyof typeof SYNC_GATEWAY_ERROR_CODES];
|
|
11
|
+
/** Error raised when a gateway payload or provisioning contract is invalid. */
|
|
12
|
+
export declare class SyncGatewayContractError extends CoreErrorException<"runtime.sync_gateway", SyncGatewayErrorCode> {
|
|
13
|
+
constructor(code: SyncGatewayErrorCode, message: string);
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/gateway/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,4EAA4E;AAC5E,eAAO,MAAM,wBAAwB;;;;;;CAM3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,OAAO,wBAAwB,CAAC,CAAC;AAE3E,+EAA+E;AAC/E,qBAAa,wBAAyB,SAAQ,kBAAkB,CAC9D,sBAAsB,EACtB,oBAAoB,CACrB;gBACa,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM;CAGxD"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CoreErrorException } from "../../../domain/errors/index.js";
|
|
2
|
+
/** Stable error categories emitted by the runtime sync gateway contract. */
|
|
3
|
+
export const SYNC_GATEWAY_ERROR_CODES = {
|
|
4
|
+
INVALID_EFFECT_PAYLOAD: "invalid_sync_effect_payload",
|
|
5
|
+
INVALID_PROVISIONING_DEFINITIONS: "invalid_sync_gateway_provisioning",
|
|
6
|
+
INVALID_CLIENT_OPTIONS: "invalid_sync_gateway_client_options",
|
|
7
|
+
INVALID_GATEWAY_RESPONSE: "invalid_sync_gateway_response",
|
|
8
|
+
INVALID_FAKE_GATEWAY_INPUT: "invalid_fake_sync_gateway_input",
|
|
9
|
+
};
|
|
10
|
+
/** Error raised when a gateway payload or provisioning contract is invalid. */
|
|
11
|
+
export class SyncGatewayContractError extends CoreErrorException {
|
|
12
|
+
constructor(code, message) {
|
|
13
|
+
super("runtime.sync_gateway", code, message);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/application/sync/gateway/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,4EAA4E;AAC5E,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,sBAAsB,EAAE,6BAA6B;IACrD,gCAAgC,EAAE,mCAAmC;IACrE,sBAAsB,EAAE,qCAAqC;IAC7D,wBAAwB,EAAE,+BAA+B;IACzD,0BAA0B,EAAE,iCAAiC;CACrD,CAAC;AAKX,+EAA+E;AAC/E,MAAM,OAAO,wBAAyB,SAAQ,kBAG7C;IACC,YAAY,IAA0B,EAAE,OAAe;QACrD,KAAK,CAAC,sBAAsB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;CACF"}
|