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.
Files changed (212) hide show
  1. package/README.md +12 -2
  2. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts +2 -0
  3. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts.map +1 -1
  4. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +5 -0
  5. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js.map +1 -1
  6. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts +52 -0
  7. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts.map +1 -1
  8. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js +195 -13
  9. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js.map +1 -1
  10. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.d.ts +24 -0
  11. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.d.ts.map +1 -0
  12. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.js +124 -0
  13. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.js.map +1 -0
  14. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js +1 -1
  15. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js.map +1 -1
  16. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts +15 -2
  17. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts.map +1 -1
  18. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js +27 -3
  19. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js.map +1 -1
  20. package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts +1 -0
  21. package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts.map +1 -1
  22. package/dist/adapter/sheets/providers/apps-script-gateway/errors.js +1 -0
  23. package/dist/adapter/sheets/providers/apps-script-gateway/errors.js.map +1 -1
  24. package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts +2 -0
  25. package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts.map +1 -1
  26. package/dist/adapter/sheets/providers/apps-script-gateway/index.js +1 -0
  27. package/dist/adapter/sheets/providers/apps-script-gateway/index.js.map +1 -1
  28. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts +3 -1
  29. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts.map +1 -1
  30. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js +9 -0
  31. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js.map +1 -1
  32. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts.map +1 -1
  33. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js +137 -20
  34. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js.map +1 -1
  35. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js +82 -34
  36. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js.map +1 -1
  37. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.d.ts +31 -0
  38. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.d.ts.map +1 -0
  39. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.js +567 -0
  40. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.js.map +1 -0
  41. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts +12 -17
  42. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts.map +1 -1
  43. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js +27 -213
  44. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js.map +1 -1
  45. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts.map +1 -1
  46. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js +81 -8
  47. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js.map +1 -1
  48. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts +1 -6
  49. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts.map +1 -1
  50. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js +15 -9
  51. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js.map +1 -1
  52. package/dist/application/orm/mapping/projection.js +1 -1
  53. package/dist/application/orm/mapping/projection.js.map +1 -1
  54. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
  55. package/dist/application/orm/persistence/flush/flushCoordinator.js +1 -0
  56. package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
  57. package/dist/application/orm/persistence/lifecycle/entityLifecycle.js +1 -1
  58. package/dist/application/orm/persistence/lifecycle/entityLifecycle.js.map +1 -1
  59. package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts +3 -1
  60. package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts.map +1 -1
  61. package/dist/application/sync/gateway/SyncGatewayBootstrap.js +3 -1
  62. package/dist/application/sync/gateway/SyncGatewayBootstrap.js.map +1 -1
  63. package/dist/application/sync/gateway/conflictProjection.d.ts +13 -0
  64. package/dist/application/sync/gateway/conflictProjection.d.ts.map +1 -0
  65. package/dist/application/sync/gateway/conflictProjection.js +58 -0
  66. package/dist/application/sync/gateway/conflictProjection.js.map +1 -0
  67. package/dist/application/sync/gateway/conflictProjectionRegistration.d.ts +11 -0
  68. package/dist/application/sync/gateway/conflictProjectionRegistration.d.ts.map +1 -0
  69. package/dist/application/sync/gateway/conflictProjectionRegistration.js +70 -0
  70. package/dist/application/sync/gateway/conflictProjectionRegistration.js.map +1 -0
  71. package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.d.ts +102 -0
  72. package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.d.ts.map +1 -0
  73. package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.js +221 -0
  74. package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.js.map +1 -0
  75. package/dist/application/sync/gateway/coordinator/asyncMutex.d.ts +51 -0
  76. package/dist/application/sync/gateway/coordinator/asyncMutex.d.ts.map +1 -0
  77. package/dist/application/sync/gateway/coordinator/asyncMutex.js +65 -0
  78. package/dist/application/sync/gateway/coordinator/asyncMutex.js.map +1 -0
  79. package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.d.ts +31 -0
  80. package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.d.ts.map +1 -0
  81. package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.js +13 -0
  82. package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.js.map +1 -0
  83. package/dist/application/sync/gateway/syncGateway.d.ts +26 -6
  84. package/dist/application/sync/gateway/syncGateway.d.ts.map +1 -1
  85. package/dist/application/sync/gateway/syncGateway.js +10 -2
  86. package/dist/application/sync/gateway/syncGateway.js.map +1 -1
  87. package/dist/application/sync/gateway/transportClassification.d.ts +62 -0
  88. package/dist/application/sync/gateway/transportClassification.d.ts.map +1 -0
  89. package/dist/application/sync/gateway/transportClassification.js +133 -0
  90. package/dist/application/sync/gateway/transportClassification.js.map +1 -0
  91. package/dist/application/sync/inbound/autoSystemConflictResolution.d.ts +26 -0
  92. package/dist/application/sync/inbound/autoSystemConflictResolution.d.ts.map +1 -0
  93. package/dist/application/sync/inbound/autoSystemConflictResolution.js +335 -0
  94. package/dist/application/sync/inbound/autoSystemConflictResolution.js.map +1 -0
  95. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.d.ts +50 -0
  96. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.d.ts.map +1 -0
  97. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.js +97 -0
  98. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.js.map +1 -0
  99. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +4 -1
  100. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +1 -1
  101. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +35 -1
  102. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +1 -1
  103. package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts +14 -2
  104. package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +1 -1
  105. package/dist/application/sync/outbound/effects/SyncEffectWorker.js +190 -31
  106. package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +1 -1
  107. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +25 -2
  108. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +1 -1
  109. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +25 -2
  110. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +1 -1
  111. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts +14 -7
  112. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +1 -1
  113. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +118 -14
  114. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +1 -1
  115. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts +30 -9
  116. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +1 -1
  117. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +102 -18
  118. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +1 -1
  119. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +1 -1
  120. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +49 -14
  121. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +1 -1
  122. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -1
  123. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +97 -17
  124. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -1
  125. package/dist/application/sync/service/SyncServiceBootstrap.d.ts +17 -0
  126. package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -1
  127. package/dist/application/sync/service/SyncServiceBootstrap.js +125 -10
  128. package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -1
  129. package/dist/application/sync/service/contracts.d.ts +2 -0
  130. package/dist/application/sync/service/contracts.d.ts.map +1 -1
  131. package/dist/application/sync/telemetry/syncTiming.d.ts +6 -0
  132. package/dist/application/sync/telemetry/syncTiming.d.ts.map +1 -1
  133. package/dist/application/sync/telemetry/syncTiming.js +2 -0
  134. package/dist/application/sync/telemetry/syncTiming.js.map +1 -1
  135. package/dist/domain/conflict/index.d.ts +1 -1
  136. package/dist/domain/conflict/index.d.ts.map +1 -1
  137. package/dist/domain/conflict/index.js +1 -1
  138. package/dist/domain/conflict/index.js.map +1 -1
  139. package/dist/domain/conflict/transitions.d.ts +3 -0
  140. package/dist/domain/conflict/transitions.d.ts.map +1 -1
  141. package/dist/domain/conflict/transitions.js +3 -2
  142. package/dist/domain/conflict/transitions.js.map +1 -1
  143. package/dist/domain/model/constants.d.ts +1 -0
  144. package/dist/domain/model/constants.d.ts.map +1 -1
  145. package/dist/domain/model/constants.js +1 -0
  146. package/dist/domain/model/constants.js.map +1 -1
  147. package/dist/infrastructure/storage/index.d.ts +4 -2
  148. package/dist/infrastructure/storage/index.d.ts.map +1 -1
  149. package/dist/infrastructure/storage/index.js +2 -1
  150. package/dist/infrastructure/storage/index.js.map +1 -1
  151. package/dist/infrastructure/storage/sqlite/migrateSchema.d.ts.map +1 -1
  152. package/dist/infrastructure/storage/sqlite/migrateSchema.js +59 -1
  153. package/dist/infrastructure/storage/sqlite/migrateSchema.js.map +1 -1
  154. package/dist/infrastructure/storage/sqlite/schema.d.ts +12 -1
  155. package/dist/infrastructure/storage/sqlite/schema.d.ts.map +1 -1
  156. package/dist/infrastructure/storage/sqlite/schema.js +47 -3
  157. package/dist/infrastructure/storage/sqlite/schema.js.map +1 -1
  158. package/dist/infrastructure/storage/sqlite/schemaTypes.d.ts +2 -2
  159. package/dist/infrastructure/storage/sqlite/schemaTypes.d.ts.map +1 -1
  160. package/dist/infrastructure/storage/state/canonical/canonicalCommit.js +1 -1
  161. package/dist/infrastructure/storage/state/canonical/canonicalCommit.js.map +1 -1
  162. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts +1 -0
  163. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts.map +1 -1
  164. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js +1 -1
  165. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js.map +1 -1
  166. package/dist/infrastructure/storage/state/observation/observationAudit.js +5 -1
  167. package/dist/infrastructure/storage/state/observation/observationAudit.js.map +1 -1
  168. package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts +10 -0
  169. package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts.map +1 -1
  170. package/dist/infrastructure/storage/state/resolution/resolutionWriter.js +106 -20
  171. package/dist/infrastructure/storage/state/resolution/resolutionWriter.js.map +1 -1
  172. package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts +9 -1
  173. package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.d.ts.map +1 -1
  174. package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.js +3 -0
  175. package/dist/infrastructure/storage/state/resolution/resolutionWriterContracts.js.map +1 -1
  176. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts +11 -0
  177. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts.map +1 -1
  178. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js +35 -0
  179. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js.map +1 -1
  180. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +12 -4
  181. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +1 -1
  182. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +46 -15
  183. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +1 -1
  184. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +24 -0
  185. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +1 -1
  186. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js +1 -0
  187. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +1 -1
  188. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +9 -7
  189. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +1 -1
  190. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +44 -8
  191. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +1 -1
  192. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts +3 -1
  193. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts.map +1 -1
  194. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js +35 -2
  195. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js.map +1 -1
  196. package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js +1 -0
  197. package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js.map +1 -1
  198. package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.d.ts +31 -0
  199. package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.d.ts.map +1 -0
  200. package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.js +92 -0
  201. package/dist/infrastructure/storage/sync/shared/spreadsheetAuthority.js.map +1 -0
  202. package/dist/infrastructure/storage/sync/shared/writerLease.js +3 -1
  203. package/dist/infrastructure/storage/sync/shared/writerLease.js.map +1 -1
  204. package/docs/advanced-sheets-gateway-concurrency-problem.md +434 -0
  205. package/docs/architecture.md +53 -11
  206. package/docs/ci.md +31 -14
  207. package/docs/google-sheets-sync-scaling-strategy.md +459 -0
  208. package/docs/quick-start.md +15 -1
  209. package/docs/sync-bulk-write-benchmark.md +520 -0
  210. package/docs/sync-observability.md +39 -3
  211. package/docs/write-and-synchronization-flow.md +76 -17
  212. 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.localeCompare(right))
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 used to find append-only rows without metadata. */
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,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"}
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
- : undefined;
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":"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"}
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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"}