hikoutei 0.3.2 → 0.3.4
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.md +12 -2
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts +2 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +5 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts +52 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js +195 -13
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.d.ts +24 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.d.ts.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.js +124 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.js.map +1 -0
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts +15 -2
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts.map +1 -1
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js +27 -3
- package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.js +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/errors.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts +2 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/index.js +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/index.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts +3 -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 +9 -0
- 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 +137 -20
- 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.js +82 -34
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js.map +1 -1
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.d.ts +31 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.d.ts.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.js +567 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.js.map +1 -0
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts +12 -17
- 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 +27 -213
- package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js.map +1 -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 +81 -8
- 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 +1 -6
- 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 +15 -9
- package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js.map +1 -1
- package/dist/application/orm/mapping/projection.js +1 -1
- package/dist/application/orm/mapping/projection.js.map +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
- package/dist/application/orm/persistence/flush/flushCoordinator.js +1 -0
- package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js +1 -1
- package/dist/application/orm/persistence/lifecycle/entityLifecycle.js.map +1 -1
- package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts +3 -1
- package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts.map +1 -1
- package/dist/application/sync/gateway/SyncGatewayBootstrap.js +3 -1
- package/dist/application/sync/gateway/SyncGatewayBootstrap.js.map +1 -1
- package/dist/application/sync/gateway/conflictProjection.d.ts +13 -0
- package/dist/application/sync/gateway/conflictProjection.d.ts.map +1 -0
- package/dist/application/sync/gateway/conflictProjection.js +58 -0
- package/dist/application/sync/gateway/conflictProjection.js.map +1 -0
- package/dist/application/sync/gateway/conflictProjectionRegistration.d.ts +11 -0
- package/dist/application/sync/gateway/conflictProjectionRegistration.d.ts.map +1 -0
- package/dist/application/sync/gateway/conflictProjectionRegistration.js +70 -0
- package/dist/application/sync/gateway/conflictProjectionRegistration.js.map +1 -0
- package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.d.ts +102 -0
- package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.d.ts.map +1 -0
- package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.js +221 -0
- package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.js.map +1 -0
- package/dist/application/sync/gateway/coordinator/asyncMutex.d.ts +51 -0
- package/dist/application/sync/gateway/coordinator/asyncMutex.d.ts.map +1 -0
- package/dist/application/sync/gateway/coordinator/asyncMutex.js +65 -0
- package/dist/application/sync/gateway/coordinator/asyncMutex.js.map +1 -0
- package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.d.ts +31 -0
- package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.d.ts.map +1 -0
- package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.js +13 -0
- package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.js.map +1 -0
- package/dist/application/sync/gateway/syncGateway.d.ts +26 -6
- package/dist/application/sync/gateway/syncGateway.d.ts.map +1 -1
- package/dist/application/sync/gateway/syncGateway.js +10 -2
- package/dist/application/sync/gateway/syncGateway.js.map +1 -1
- package/dist/application/sync/gateway/transportClassification.d.ts +62 -0
- package/dist/application/sync/gateway/transportClassification.d.ts.map +1 -0
- package/dist/application/sync/gateway/transportClassification.js +133 -0
- package/dist/application/sync/gateway/transportClassification.js.map +1 -0
- package/dist/application/sync/inbound/autoSystemConflictResolution.d.ts +26 -0
- package/dist/application/sync/inbound/autoSystemConflictResolution.d.ts.map +1 -0
- package/dist/application/sync/inbound/autoSystemConflictResolution.js +335 -0
- package/dist/application/sync/inbound/autoSystemConflictResolution.js.map +1 -0
- package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.d.ts +50 -0
- package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.d.ts.map +1 -0
- package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.js +97 -0
- package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.js.map +1 -0
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +4 -1
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +35 -1
- package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts +14 -2
- package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js +190 -31
- package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +25 -2
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +25 -2
- package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts +14 -7
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +118 -14
- package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts +30 -9
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +102 -18
- package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +1 -1
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +49 -14
- package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -1
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +97 -17
- package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -1
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts +17 -0
- package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -1
- package/dist/application/sync/service/SyncServiceBootstrap.js +125 -10
- package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -1
- package/dist/application/sync/service/contracts.d.ts +2 -0
- package/dist/application/sync/service/contracts.d.ts.map +1 -1
- package/dist/application/sync/telemetry/syncTiming.d.ts +6 -0
- package/dist/application/sync/telemetry/syncTiming.d.ts.map +1 -1
- package/dist/application/sync/telemetry/syncTiming.js +2 -0
- package/dist/application/sync/telemetry/syncTiming.js.map +1 -1
- package/dist/domain/conflict/index.d.ts +1 -1
- package/dist/domain/conflict/index.d.ts.map +1 -1
- package/dist/domain/conflict/index.js +1 -1
- package/dist/domain/conflict/index.js.map +1 -1
- package/dist/domain/conflict/transitions.d.ts +3 -0
- package/dist/domain/conflict/transitions.d.ts.map +1 -1
- package/dist/domain/conflict/transitions.js +3 -2
- package/dist/domain/conflict/transitions.js.map +1 -1
- package/dist/domain/model/constants.d.ts +1 -0
- package/dist/domain/model/constants.d.ts.map +1 -1
- package/dist/domain/model/constants.js +1 -0
- package/dist/domain/model/constants.js.map +1 -1
- package/dist/infrastructure/storage/index.d.ts +4 -2
- package/dist/infrastructure/storage/index.d.ts.map +1 -1
- package/dist/infrastructure/storage/index.js +2 -1
- package/dist/infrastructure/storage/index.js.map +1 -1
- package/dist/infrastructure/storage/sqlite/migrateSchema.d.ts.map +1 -1
- package/dist/infrastructure/storage/sqlite/migrateSchema.js +59 -1
- package/dist/infrastructure/storage/sqlite/migrateSchema.js.map +1 -1
- package/dist/infrastructure/storage/sqlite/schema.d.ts +12 -1
- package/dist/infrastructure/storage/sqlite/schema.d.ts.map +1 -1
- package/dist/infrastructure/storage/sqlite/schema.js +47 -3
- package/dist/infrastructure/storage/sqlite/schema.js.map +1 -1
- package/dist/infrastructure/storage/sqlite/schemaTypes.d.ts +2 -2
- package/dist/infrastructure/storage/sqlite/schemaTypes.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.js +1 -1
- package/dist/infrastructure/storage/state/canonical/canonicalCommit.js.map +1 -1
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts +1 -0
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js +1 -1
- package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js.map +1 -1
- package/dist/infrastructure/storage/state/observation/observationAudit.js +5 -1
- package/dist/infrastructure/storage/state/observation/observationAudit.js.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts +10 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.js +106 -20
- package/dist/infrastructure/storage/state/resolution/resolutionWriter.js.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts +9 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.js +3 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.js.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts +11 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js +35 -0
- package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +12 -4
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +46 -15
- package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +24 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js +1 -0
- package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +9 -7
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +44 -8
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts +3 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js +35 -2
- package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js.map +1 -1
- package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js +1 -0
- package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js.map +1 -1
- package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.d.ts +31 -0
- package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.d.ts.map +1 -0
- package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.js +92 -0
- package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.js.map +1 -0
- package/dist/infrastructure/storage/sync/shared/writerLease.js +3 -1
- package/dist/infrastructure/storage/sync/shared/writerLease.js.map +1 -1
- package/docs/advanced-sheets-gateway-concurrency-problem.md +434 -0
- package/docs/architecture.md +53 -11
- package/docs/ci.md +31 -14
- package/docs/google-sheets-sync-scaling-strategy.md +459 -0
- package/docs/quick-start.md +15 -1
- package/docs/sync-bulk-write-benchmark.md +520 -0
- package/docs/sync-observability.md +39 -3
- package/docs/write-and-synchronization-flow.md +76 -17
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flushCoordinator.js","sourceRoot":"","sources":["../../../../../src/application/orm/persistence/flush/flushCoordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flushCoordinator.js","sourceRoot":"","sources":["../../../../../src/application/orm/persistence/flush/flushCoordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,7 +132,7 @@ function acceptedSnapshotHash(entityId, fields) {
|
|
|
132
132
|
return presentValue(stableHash({
|
|
133
133
|
entityId,
|
|
134
134
|
fields: Object.entries(fields)
|
|
135
|
-
.sort(([left], [right]) => left
|
|
135
|
+
.sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0))
|
|
136
136
|
.map(([fieldName, value]) => ({ fieldName, value })),
|
|
137
137
|
}));
|
|
138
138
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityLifecycle.js","sourceRoot":"","sources":["../../../../../src/application/orm/persistence/lifecycle/entityLifecycle.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"entityLifecycle.js","sourceRoot":"","sources":["../../../../../src/application/orm/persistence/lifecycle/entityLifecycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,8 @@ import type { RegisteredProjection, RegisteredSyncSheet } from "../../../infrast
|
|
|
12
12
|
export interface RegisteredSyncProjectionDefinition {
|
|
13
13
|
readonly sheet: RegisteredSyncSheet;
|
|
14
14
|
readonly headers: readonly string[];
|
|
15
|
+
/** Header used to detect duplicate append identities before a remote write. */
|
|
16
|
+
readonly identityField?: string;
|
|
15
17
|
/** Converts a visible business key into the canonical entity identity. */
|
|
16
18
|
readonly entityIdForBusinessKey?: (businessKey: string) => string;
|
|
17
19
|
/** Optional user-editable boolean control fields for a Sync_Conflicts tab. */
|
|
@@ -24,7 +26,7 @@ export interface SyncGatewayProvisionRoute {
|
|
|
24
26
|
readonly projection: RegisteredProjection;
|
|
25
27
|
readonly schemaVersion: number;
|
|
26
28
|
readonly headers: readonly string[];
|
|
27
|
-
/** Business-key header
|
|
29
|
+
/** Business-key header retained for append identity validation and fallback lookup. */
|
|
28
30
|
readonly identityField?: string;
|
|
29
31
|
readonly checkboxHeaders?: readonly string[];
|
|
30
32
|
}
|
|
@@ -1 +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,0EAA0E;IAC1E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IAClE,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,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,
|
|
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,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,0EAA0E;IAC1E,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IAClE,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9C;AAED,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,uFAAuF;IACvF,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,CAiG3E"}
|
|
@@ -47,7 +47,9 @@ export async function provisionRegisteredSyncSheets(gateway, definitions) {
|
|
|
47
47
|
const schemaVersion = requireSyncGatewayPositiveSafeInteger(definition.sheet.schemaVersion, "sync gateway provisioning schemaVersion", SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS);
|
|
48
48
|
const identityField = definition.sheet.projection === "system_state"
|
|
49
49
|
? requireSyncGatewayText(definition.sheet.businessKeyField, "sync gateway provisioning identityField", SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS)
|
|
50
|
-
:
|
|
50
|
+
: definition.sheet.projection === "sync_conflicts"
|
|
51
|
+
? "Conflict_ID"
|
|
52
|
+
: undefined;
|
|
51
53
|
if (identityField !== undefined && !definition.headers.includes(identityField)) {
|
|
52
54
|
throw new SyncGatewayContractError(SYNC_GATEWAY_ERROR_CODES.INVALID_PROVISIONING_DEFINITIONS, `sync gateway provisioning identityField is not declared: ${identityField}`);
|
|
53
55
|
}
|
|
@@ -1 +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;
|
|
1
|
+
{"version":3,"file":"SyncGatewayBootstrap.js","sourceRoot":"","sources":["../../../../src/application/sync/gateway/SyncGatewayBootstrap.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Stable Sync_Conflicts audit projection schema and row materialization helpers. */
|
|
2
|
+
import type { SyncConflict, NormalizedCell } from "../../../domain/index.js";
|
|
3
|
+
/** Fixed audit headers shared by every entity-specific Sync_Conflicts tab. */
|
|
4
|
+
export declare const SYNC_CONFLICT_PROJECTION_HEADERS: readonly ["Conflict_ID", "Conflict_Group_ID", "Event_ID", "Entity_ID", "Field_Name", "User_Value", "User_Base_Revision", "Canonical_Value_At_Detection", "Canonical_Revision_At_Detection", "Current_Canonical_Value", "Current_Canonical_Revision", "Candidate_Epoch", "Status", "Resolution", "Resolution_Command_ID"];
|
|
5
|
+
/** Registered range covering the fixed Sync_Conflicts audit schema. */
|
|
6
|
+
export declare const SYNC_CONFLICT_PROJECTION_REGISTERED_RANGE = "A:O";
|
|
7
|
+
/** Resolution value written when the canonical SQLite value wins automatically. */
|
|
8
|
+
export declare const SYNC_CONFLICT_RESOLUTIONS: {
|
|
9
|
+
readonly SYSTEM_WINS: "system_wins";
|
|
10
|
+
};
|
|
11
|
+
/** Builds the system-owned audit row for one automatically resolved conflict. */
|
|
12
|
+
export declare function syncConflictProjectionFields(conflict: SyncConflict, resolution: keyof typeof SYNC_CONFLICT_RESOLUTIONS): Readonly<Record<string, NormalizedCell>>;
|
|
13
|
+
//# sourceMappingURL=conflictProjection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflictProjection.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/gateway/conflictProjection.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAI7E,8EAA8E;AAC9E,eAAO,MAAM,gCAAgC,0TAgBnC,CAAC;AAEX,uEAAuE;AACvE,eAAO,MAAM,yCAAyC,QAAQ,CAAC;AAE/D,mFAAmF;AACnF,eAAO,MAAM,yBAAyB;;CAE5B,CAAC;AAEX,iFAAiF;AACjF,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,YAAY,EACtB,UAAU,EAAE,MAAM,OAAO,yBAAyB,GACjD,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAsB1C"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/** Stable Sync_Conflicts audit projection schema and row materialization helpers. */
|
|
2
|
+
import { NORMALIZED_CELL_KINDS } from "../../../shared/encoding/constants.js";
|
|
3
|
+
import { PRESENCE_KINDS } from "../../../shared/state/constants.js";
|
|
4
|
+
/** Fixed audit headers shared by every entity-specific Sync_Conflicts tab. */
|
|
5
|
+
export const SYNC_CONFLICT_PROJECTION_HEADERS = [
|
|
6
|
+
"Conflict_ID",
|
|
7
|
+
"Conflict_Group_ID",
|
|
8
|
+
"Event_ID",
|
|
9
|
+
"Entity_ID",
|
|
10
|
+
"Field_Name",
|
|
11
|
+
"User_Value",
|
|
12
|
+
"User_Base_Revision",
|
|
13
|
+
"Canonical_Value_At_Detection",
|
|
14
|
+
"Canonical_Revision_At_Detection",
|
|
15
|
+
"Current_Canonical_Value",
|
|
16
|
+
"Current_Canonical_Revision",
|
|
17
|
+
"Candidate_Epoch",
|
|
18
|
+
"Status",
|
|
19
|
+
"Resolution",
|
|
20
|
+
"Resolution_Command_ID",
|
|
21
|
+
];
|
|
22
|
+
/** Registered range covering the fixed Sync_Conflicts audit schema. */
|
|
23
|
+
export const SYNC_CONFLICT_PROJECTION_REGISTERED_RANGE = "A:O";
|
|
24
|
+
/** Resolution value written when the canonical SQLite value wins automatically. */
|
|
25
|
+
export const SYNC_CONFLICT_RESOLUTIONS = {
|
|
26
|
+
SYSTEM_WINS: "system_wins",
|
|
27
|
+
};
|
|
28
|
+
/** Builds the system-owned audit row for one automatically resolved conflict. */
|
|
29
|
+
export function syncConflictProjectionFields(conflict, resolution) {
|
|
30
|
+
return {
|
|
31
|
+
Conflict_ID: stringCell(conflict.conflictId),
|
|
32
|
+
Conflict_Group_ID: conflict.conflictGroupId.kind === PRESENCE_KINDS.PRESENT
|
|
33
|
+
? stringCell(conflict.conflictGroupId.value)
|
|
34
|
+
: null,
|
|
35
|
+
Event_ID: stringCell(conflict.eventId),
|
|
36
|
+
Entity_ID: stringCell(conflict.entityId),
|
|
37
|
+
Field_Name: stringCell(conflict.fieldName),
|
|
38
|
+
User_Value: conflict.userValue,
|
|
39
|
+
User_Base_Revision: numberCell(conflict.userBaseRevision),
|
|
40
|
+
Canonical_Value_At_Detection: conflict.canonicalValueAtDetection,
|
|
41
|
+
Canonical_Revision_At_Detection: numberCell(conflict.canonicalRevisionAtDetection),
|
|
42
|
+
Current_Canonical_Value: conflict.currentCanonicalValue,
|
|
43
|
+
Current_Canonical_Revision: numberCell(conflict.currentCanonicalRevision),
|
|
44
|
+
Candidate_Epoch: numberCell(conflict.candidateEpoch),
|
|
45
|
+
Status: stringCell(conflict.status),
|
|
46
|
+
Resolution: stringCell(SYNC_CONFLICT_RESOLUTIONS[resolution]),
|
|
47
|
+
Resolution_Command_ID: conflict.resolutionCommandId.kind === PRESENCE_KINDS.PRESENT
|
|
48
|
+
? stringCell(conflict.resolutionCommandId.value)
|
|
49
|
+
: null,
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function stringCell(value) {
|
|
53
|
+
return { kind: NORMALIZED_CELL_KINDS.STRING, value };
|
|
54
|
+
}
|
|
55
|
+
function numberCell(value) {
|
|
56
|
+
return { kind: NORMALIZED_CELL_KINDS.NUMBER, value };
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=conflictProjection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflictProjection.js","sourceRoot":"","sources":["../../../../src/application/sync/gateway/conflictProjection.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAGrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpE,8EAA8E;AAC9E,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,aAAa;IACb,mBAAmB;IACnB,UAAU;IACV,WAAW;IACX,YAAY;IACZ,YAAY;IACZ,oBAAoB;IACpB,8BAA8B;IAC9B,iCAAiC;IACjC,yBAAyB;IACzB,4BAA4B;IAC5B,iBAAiB;IACjB,QAAQ;IACR,YAAY;IACZ,uBAAuB;CACf,CAAC;AAEX,uEAAuE;AACvE,MAAM,CAAC,MAAM,yCAAyC,GAAG,KAAK,CAAC;AAE/D,mFAAmF;AACnF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,WAAW,EAAE,aAAa;CAClB,CAAC;AAEX,iFAAiF;AACjF,MAAM,UAAU,4BAA4B,CAC1C,QAAsB,EACtB,UAAkD;IAElD,OAAO;QACL,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC5C,iBAAiB,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;YACzE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC;YAC5C,CAAC,CAAC,IAAI;QACR,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtC,SAAS,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;QAC1C,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,kBAAkB,EAAE,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QACzD,4BAA4B,EAAE,QAAQ,CAAC,yBAAyB;QAChE,+BAA+B,EAAE,UAAU,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QAClF,uBAAuB,EAAE,QAAQ,CAAC,qBAAqB;QACvD,0BAA0B,EAAE,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACzE,eAAe,EAAE,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;QACpD,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnC,UAAU,EAAE,UAAU,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QAC7D,qBAAqB,EAAE,QAAQ,CAAC,mBAAmB,CAAC,IAAI,KAAK,cAAc,CAAC,OAAO;YACjF,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,KAAK,CAAC;YAChD,CAAC,CAAC,IAAI;KACT,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;AACvD,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Registers and provisions the mandatory entity-specific Sync_Conflicts routes. */
|
|
2
|
+
import { type RegisteredSyncSheet } from "../../../infrastructure/storage/index.js";
|
|
3
|
+
import type { SqlStorageAdapter } from "../../../adapter/persistence/contracts/sql.js";
|
|
4
|
+
import type { RegisteredTypedSheetsMappedProjection, TypedSheetsEntityWriterOptions } from "../../orm/persistence/support/contracts.js";
|
|
5
|
+
import type { InternalSyncProjectionConfig } from "../service/contracts.js";
|
|
6
|
+
import type { RegisteredSyncProjectionDefinition } from "./SyncGatewayBootstrap.js";
|
|
7
|
+
/** Registers all conflict routes under one writer fence for a mapped runtime. */
|
|
8
|
+
export declare function registerSyncConflictProjectionRoutes(storage: SqlStorageAdapter, registrations: readonly RegisteredTypedSheetsMappedProjection[], projections: InternalSyncProjectionConfig, writerInput: TypedSheetsEntityWriterOptions): Promise<readonly RegisteredSyncProjectionDefinition[]>;
|
|
9
|
+
/** Returns the registered conflict route for one logical entity sheet. */
|
|
10
|
+
export declare function conflictProjectionSheet(definitions: readonly RegisteredSyncProjectionDefinition[], logicalSheetId: string): RegisteredSyncSheet;
|
|
11
|
+
//# sourceMappingURL=conflictProjectionRegistration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflictProjectionRegistration.d.ts","sourceRoot":"","sources":["../../../../src/application/sync/gateway/conflictProjectionRegistration.ts"],"names":[],"mappings":"AAAA,oFAAoF;AAEpF,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAQvF,OAAO,KAAK,EACV,qCAAqC,EACrC,8BAA8B,EAC/B,MAAM,4CAA4C,CAAC;AAIpD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAO5E,OAAO,KAAK,EACV,kCAAkC,EACnC,MAAM,2BAA2B,CAAC;AAEnC,iFAAiF;AACjF,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,iBAAiB,EAC1B,aAAa,EAAE,SAAS,qCAAqC,EAAE,EAC/D,WAAW,EAAE,4BAA4B,EACzC,WAAW,EAAE,8BAA8B,GAC1C,OAAO,CAAC,SAAS,kCAAkC,EAAE,CAAC,CA6DxD;AAED,0EAA0E;AAC1E,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,SAAS,kCAAkC,EAAE,EAC1D,cAAc,EAAE,MAAM,GACrB,mBAAmB,CAYrB"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/** Registers and provisions the mandatory entity-specific Sync_Conflicts routes. */
|
|
2
|
+
import { claimWriterLeaseWithSql, registerSyncSheetWithSql, WRITER_LEASE_CLAIM_RESULT_KINDS, } from "../../../infrastructure/storage/index.js";
|
|
3
|
+
import { TYPED_SHEETS_ORM_ERROR_CODES, TypedSheetsOrmError, } from "../../orm/errors.js";
|
|
4
|
+
import { serializeTypedSheetsEntityOwnershipManifest, } from "../../orm/mapping/projection.js";
|
|
5
|
+
import { resolveTypedSheetsEntityWriterOptions, } from "../../orm/persistence/flush/flushCoordinator.js";
|
|
6
|
+
import { SYNC_GATEWAY_PROJECTIONS, } from "./constants.js";
|
|
7
|
+
import { SYNC_CONFLICT_PROJECTION_HEADERS, } from "./conflictProjection.js";
|
|
8
|
+
/** Registers all conflict routes under one writer fence for a mapped runtime. */
|
|
9
|
+
export async function registerSyncConflictProjectionRoutes(storage, registrations, projections, writerInput) {
|
|
10
|
+
const writer = resolveTypedSheetsEntityWriterOptions(writerInput);
|
|
11
|
+
const uniqueMappings = new Map();
|
|
12
|
+
for (const registration of registrations) {
|
|
13
|
+
uniqueMappings.set(registration.mapping.logicalSheetId, registration);
|
|
14
|
+
}
|
|
15
|
+
return storage.transaction(async ({ sql }) => {
|
|
16
|
+
const claim = await claimWriterLeaseWithSql(sql, {
|
|
17
|
+
role: writer.role,
|
|
18
|
+
writerId: writer.writerId,
|
|
19
|
+
leaseDurationMs: writer.leaseDurationMs,
|
|
20
|
+
now: writer.now(),
|
|
21
|
+
});
|
|
22
|
+
if (claim.kind !== WRITER_LEASE_CLAIM_RESULT_KINDS.CLAIMED) {
|
|
23
|
+
throw new TypedSheetsOrmError(TYPED_SHEETS_ORM_ERROR_CODES.WRITER_LEASE_UNAVAILABLE, `conflict projection registration lease is unavailable: ${claim.reason}.`);
|
|
24
|
+
}
|
|
25
|
+
const fence = {
|
|
26
|
+
role: claim.lease.role,
|
|
27
|
+
writerEpoch: claim.lease.writerEpoch,
|
|
28
|
+
fencingToken: claim.lease.fencingToken,
|
|
29
|
+
now: writer.now(),
|
|
30
|
+
};
|
|
31
|
+
const definitions = [];
|
|
32
|
+
for (const registration of uniqueMappings.values()) {
|
|
33
|
+
const config = projections.entities[registration.mapping.entityName];
|
|
34
|
+
if (config === undefined) {
|
|
35
|
+
throw new TypedSheetsOrmError(TYPED_SHEETS_ORM_ERROR_CODES.INVALID_ENTITY_MAPPING, `sync configuration is missing entity ${registration.mapping.entityName}.`);
|
|
36
|
+
}
|
|
37
|
+
const input = {
|
|
38
|
+
logicalSheetId: registration.mapping.logicalSheetId,
|
|
39
|
+
physicalSheetId: `${registration.mapping.logicalSheetId}:sync_conflicts`,
|
|
40
|
+
spreadsheetId: projections.spreadsheetId,
|
|
41
|
+
tabName: config.syncConflicts.tabName,
|
|
42
|
+
registeredRange: config.syncConflicts.registeredRange,
|
|
43
|
+
projection: SYNC_GATEWAY_PROJECTIONS.SYNC_CONFLICTS,
|
|
44
|
+
schemaVersion: registration.mapping.schemaVersion,
|
|
45
|
+
ownershipManifestJson: serializeTypedSheetsEntityOwnershipManifest(registration.mapping),
|
|
46
|
+
businessKeyField: registration.mapping.businessKey.fieldName,
|
|
47
|
+
};
|
|
48
|
+
const result = await registerSyncSheetWithSql(sql, fence, input);
|
|
49
|
+
if (result.kind !== "registered") {
|
|
50
|
+
throw new TypedSheetsOrmError(TYPED_SHEETS_ORM_ERROR_CODES.WRITER_LEASE_UNAVAILABLE, `writer lease was lost while registering ${input.physicalSheetId}.`);
|
|
51
|
+
}
|
|
52
|
+
definitions.push({
|
|
53
|
+
sheet: result.sheet,
|
|
54
|
+
headers: SYNC_CONFLICT_PROJECTION_HEADERS,
|
|
55
|
+
identityField: "Conflict_ID",
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return definitions;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/** Returns the registered conflict route for one logical entity sheet. */
|
|
62
|
+
export function conflictProjectionSheet(definitions, logicalSheetId) {
|
|
63
|
+
const definition = definitions.find((candidate) => candidate.sheet.logicalSheetId === logicalSheetId &&
|
|
64
|
+
candidate.sheet.projection === SYNC_GATEWAY_PROJECTIONS.SYNC_CONFLICTS);
|
|
65
|
+
if (definition === undefined) {
|
|
66
|
+
throw new TypedSheetsOrmError(TYPED_SHEETS_ORM_ERROR_CODES.INVALID_ENTITY_MAPPING, `no Sync_Conflicts projection is registered for ${logicalSheetId}.`);
|
|
67
|
+
}
|
|
68
|
+
return definition.sheet;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=conflictProjectionRegistration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conflictProjectionRegistration.js","sourceRoot":"","sources":["../../../../src/application/sync/gateway/conflictProjectionRegistration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-spreadsheet Gateway coordinator that serializes remote mutations.
|
|
3
|
+
*
|
|
4
|
+
* The deployed Apps Script Gateway guards every data-plane operation with one
|
|
5
|
+
* global `LockService.getScriptLock()`. Before this coordinator, the outbound
|
|
6
|
+
* effect worker, the User_Input polling supervisor, provisioning, and test
|
|
7
|
+
* controls each called the Gateway directly, so several in-flight requests
|
|
8
|
+
* competed for the same script lock and the same Sheet context at once. Under
|
|
9
|
+
* load that produced lock-acquisition failures, duplicate-row races, and tail
|
|
10
|
+
* latency dominated by lock waits.
|
|
11
|
+
*
|
|
12
|
+
* The coordinator is a transparent decorator: it implements the same gateway
|
|
13
|
+
* boundary the worker and polling already use, so no caller changes are
|
|
14
|
+
* required. It routes every mutation and recovery barrier through one
|
|
15
|
+
* per-spreadsheet FIFO lane (default total concurrency 1) while leaving
|
|
16
|
+
* lock-free value reads untouched. SQLite outbox, leases, receipts, CAS, and
|
|
17
|
+
* fencing remain the durable authority; the coordinator only prevents the Node
|
|
18
|
+
* side from issuing competing mutations.
|
|
19
|
+
*
|
|
20
|
+
* Invariants preserved:
|
|
21
|
+
* - Total mutation concurrency is 1 per lane by default, matching the global
|
|
22
|
+
* Apps Script script lock for single-spreadsheet deployments.
|
|
23
|
+
* - Lock-free reads (`readSnapshot`, `readRows`, `readRowsBatch`) never wait on
|
|
24
|
+
* the mutation lane.
|
|
25
|
+
* - Recovery barriers (`readEffectPostcondition(s)`) use the mutation lane so a
|
|
26
|
+
* postcondition probe proves an earlier timed-out critical section ended.
|
|
27
|
+
* - Batch mutation (`observeSnapshots`) acquires every involved lane in a
|
|
28
|
+
* stable sorted order, so it cannot deadlock with single-sheet mutations.
|
|
29
|
+
* - Provisioning uses a dedicated lane so setup never races an append/write.
|
|
30
|
+
* - A failing or throwing mutation releases the lane, so it never deadlocks.
|
|
31
|
+
*/
|
|
32
|
+
import type { ApplySyncEffectsRequest, ApplySyncEffectsResult, EnsureSyncRowAnchorsRequest, EnsureSyncRowAnchorsResult, FastAppendRowsRequest, FastAppendRowsResult, ReadSyncEffectPostconditionsRequest, ReadSyncSnapshotRequest, ReadSyncTableRowsRequest, SyncEffectPostcondition, SyncGatewayEffect, SyncGatewayEffectPostconditionResult, SyncGatewaySnapshot, SyncObservedSnapshot, SyncSheetGateway, SyncSheetObservationBatchGateway, SyncSheetTableReaderGateway, SyncTableRowsResult } from "../syncGateway.js";
|
|
33
|
+
import { AsyncMutex } from "./asyncMutex.js";
|
|
34
|
+
import { type CoordinatorLaneEvent } from "./coordinatorTelemetry.js";
|
|
35
|
+
/** Gateway boundary the coordinator wraps (effect + observation + table read). */
|
|
36
|
+
export type CoordinatedGatewayInner = SyncSheetGateway & SyncSheetTableReaderGateway;
|
|
37
|
+
/** Options for constructing a per-spreadsheet coordinator. */
|
|
38
|
+
export interface CoordinatedSyncGatewayOptions<TInner extends CoordinatedGatewayInner> {
|
|
39
|
+
readonly inner: TInner;
|
|
40
|
+
/**
|
|
41
|
+
* Derives the mutation-lane key for one physical sheet. Defaults to a
|
|
42
|
+
* constant key, giving total mutation concurrency 1 across the process. Pass
|
|
43
|
+
* a per-spreadsheet resolver when one coordinator serves multiple
|
|
44
|
+
* spreadsheets so unrelated sheets do not serialize against each other.
|
|
45
|
+
*/
|
|
46
|
+
readonly mutationKeyForPhysicalSheet?: (physicalSheetId: string) => string;
|
|
47
|
+
/** Diagnostic lane observer; failures are swallowed and never alter results. */
|
|
48
|
+
readonly onLaneEvent?: (event: CoordinatorLaneEvent) => void;
|
|
49
|
+
/** Injectable clock used by deterministic telemetry tests. */
|
|
50
|
+
readonly clock?: () => number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Serializes Gateway mutations per lane while keeping value reads lock-free.
|
|
54
|
+
*
|
|
55
|
+
* Implements the full gateway, table-reader, observation-batch, and provisioner
|
|
56
|
+
* boundary, so it can wrap both the real Apps Script gateway and fakes. When
|
|
57
|
+
* the inner gateway lacks the one-request observation path, observation is
|
|
58
|
+
* routed through `ensureRowAnchors` + `readSnapshot` inside the same held lane.
|
|
59
|
+
*/
|
|
60
|
+
export declare class CoordinatedSyncGateway<TInner extends CoordinatedGatewayInner> implements SyncSheetGateway, SyncSheetTableReaderGateway, SyncSheetObservationBatchGateway {
|
|
61
|
+
private readonly inner;
|
|
62
|
+
private readonly resolveKey;
|
|
63
|
+
private readonly onLaneEvent;
|
|
64
|
+
private readonly now;
|
|
65
|
+
private readonly lanes;
|
|
66
|
+
constructor(options: CoordinatedSyncGatewayOptions<TInner>);
|
|
67
|
+
/** Returns a snapshot of all known lane metrics; diagnostic only. */
|
|
68
|
+
laneMetrics(): ReadonlyMap<string, ReturnType<AsyncMutex["metrics"]>>;
|
|
69
|
+
/**
|
|
70
|
+
* Runs an internal control-plane operation on the same mutation lane as
|
|
71
|
+
* effects and anchor writes. Test/admin controls use this to avoid issuing a
|
|
72
|
+
* competing Apps Script request outside the coordinator.
|
|
73
|
+
*/
|
|
74
|
+
runSerializedControl<T>(physicalSheetId: string, operation: string, task: () => Promise<T>): Promise<T>;
|
|
75
|
+
fastAppendRows(request: FastAppendRowsRequest): Promise<FastAppendRowsResult>;
|
|
76
|
+
applyEffects(request: ApplySyncEffectsRequest): Promise<ApplySyncEffectsResult>;
|
|
77
|
+
readEffectPostcondition(effect: SyncGatewayEffect): Promise<SyncEffectPostcondition>;
|
|
78
|
+
readEffectPostconditions(request: ReadSyncEffectPostconditionsRequest): Promise<readonly SyncGatewayEffectPostconditionResult[]>;
|
|
79
|
+
ensureRowAnchors(request: EnsureSyncRowAnchorsRequest): Promise<EnsureSyncRowAnchorsResult>;
|
|
80
|
+
observeSnapshot(request: ReadSyncSnapshotRequest): Promise<SyncObservedSnapshot>;
|
|
81
|
+
observeSnapshots(requests: readonly ReadSyncSnapshotRequest[]): Promise<readonly SyncObservedSnapshot[]>;
|
|
82
|
+
/** Lock-free snapshot read; never waits on the mutation lane. */
|
|
83
|
+
readSnapshot(request: ReadSyncSnapshotRequest): Promise<SyncGatewaySnapshot>;
|
|
84
|
+
/** Lock-free values-only read; never waits on the mutation lane. */
|
|
85
|
+
readRows(request: ReadSyncTableRowsRequest): Promise<SyncTableRowsResult>;
|
|
86
|
+
/** Lock-free batched values-only read; never waits on the mutation lane. */
|
|
87
|
+
readRowsBatch(requests: readonly ReadSyncTableRowsRequest[]): Promise<readonly SyncTableRowsResult[]>;
|
|
88
|
+
/**
|
|
89
|
+
* Observes one snapshot through the inner gateway, using its single-request
|
|
90
|
+
* capability when present and falling back to ensure+read otherwise. Both
|
|
91
|
+
* calls run inside the caller's already-held lane, so observation stays
|
|
92
|
+
* serialized against competing mutations.
|
|
93
|
+
*/
|
|
94
|
+
private observeOneInner;
|
|
95
|
+
private laneFor;
|
|
96
|
+
private runMutation;
|
|
97
|
+
private runInLanes;
|
|
98
|
+
private emitSuccess;
|
|
99
|
+
private emitFailure;
|
|
100
|
+
private emit;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=CoordinatedSyncGateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CoordinatedSyncGateway.d.ts","sourceRoot":"","sources":["../../../../../src/application/sync/gateway/coordinator/CoordinatedSyncGateway.ts"],"names":[],"mappings":"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"}
|