hikoutei 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/README.ja.md +13 -21
  2. package/README.ko.md +14 -22
  3. package/README.md +25 -29
  4. package/dist/adapter/persistence/contracts/sql.d.ts +16 -2
  5. package/dist/adapter/persistence/contracts/sql.d.ts.map +1 -1
  6. package/dist/adapter/persistence/contracts/sql.js +11 -1
  7. package/dist/adapter/persistence/contracts/sql.js.map +1 -1
  8. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts +1 -1
  9. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.d.ts.map +1 -1
  10. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js +40 -14
  11. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmScalarPersistenceProvider.js.map +1 -1
  12. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts +2 -0
  13. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.d.ts.map +1 -1
  14. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js +23 -8
  15. package/dist/adapter/persistence/providers/mikro-orm/api/MikroOrmTypedSheetsEntityManager.js.map +1 -1
  16. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +13 -4
  17. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +1 -1
  18. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js +12 -2
  19. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js.map +1 -1
  20. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.d.ts +21 -0
  21. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.d.ts.map +1 -0
  22. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js +59 -0
  23. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js.map +1 -0
  24. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.d.ts +14 -13
  25. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.d.ts.map +1 -1
  26. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js +43 -64
  27. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js.map +1 -1
  28. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.d.ts.map +1 -1
  29. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js +4 -2
  30. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmTypedSheetsEngine.js.map +1 -1
  31. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.d.ts.map +1 -1
  32. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js +1 -2
  33. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.js.map +1 -1
  34. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts +61 -0
  35. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts.map +1 -0
  36. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js +186 -0
  37. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js.map +1 -0
  38. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts +56 -0
  39. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts.map +1 -0
  40. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js +275 -0
  41. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js.map +1 -0
  42. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts +11 -0
  43. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts.map +1 -0
  44. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js +345 -0
  45. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js.map +1 -0
  46. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.d.ts +65 -0
  47. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.d.ts.map +1 -0
  48. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js +51 -0
  49. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js.map +1 -0
  50. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.d.ts +36 -0
  51. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.d.ts.map +1 -0
  52. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.js +126 -0
  53. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingState.js.map +1 -0
  54. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts +11 -2
  55. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.d.ts.map +1 -1
  56. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js +39 -0
  57. package/dist/adapter/persistence/providers/mikro-orm/storage/MikroOrmSqliteAdapter.js.map +1 -1
  58. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts.map +1 -1
  59. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js +46 -35
  60. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js.map +1 -1
  61. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts.map +1 -1
  62. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js +22 -4
  63. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js.map +1 -1
  64. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts +2 -0
  65. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts.map +1 -1
  66. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js +47 -54
  67. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js.map +1 -1
  68. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts.map +1 -1
  69. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js +6 -30
  70. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js.map +1 -1
  71. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts +1 -0
  72. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts.map +1 -1
  73. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js +79 -22
  74. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js.map +1 -1
  75. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts +2 -1
  76. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts.map +1 -1
  77. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js.map +1 -1
  78. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts +5 -0
  79. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts.map +1 -1
  80. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js +19 -4
  81. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js.map +1 -1
  82. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js +5 -6
  83. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js.map +1 -1
  84. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts +2 -1
  85. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts.map +1 -1
  86. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js +2 -1
  87. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js.map +1 -1
  88. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts +2 -1
  89. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts.map +1 -1
  90. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js +15 -19
  91. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js.map +1 -1
  92. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts.map +1 -1
  93. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js +44 -30
  94. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js.map +1 -1
  95. package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts +3 -0
  96. package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts.map +1 -0
  97. package/dist/adapter/sheets/providers/apps-script-gateway/validation.js +10 -0
  98. package/dist/adapter/sheets/providers/apps-script-gateway/validation.js.map +1 -0
  99. package/dist/api/Hikoutei.d.ts +17 -50
  100. package/dist/api/Hikoutei.d.ts.map +1 -1
  101. package/dist/api/Hikoutei.js +46 -105
  102. package/dist/api/Hikoutei.js.map +1 -1
  103. package/dist/api/entity.d.ts +9 -10
  104. package/dist/api/entity.d.ts.map +1 -1
  105. package/dist/api/entity.js +20 -26
  106. package/dist/api/entity.js.map +1 -1
  107. package/dist/api/errors.d.ts +0 -6
  108. package/dist/api/errors.d.ts.map +1 -1
  109. package/dist/api/errors.js +0 -6
  110. package/dist/api/errors.js.map +1 -1
  111. package/dist/api/index.d.ts +4 -4
  112. package/dist/api/index.d.ts.map +1 -1
  113. package/dist/api/index.js +2 -2
  114. package/dist/api/index.js.map +1 -1
  115. package/dist/api/internalEntityManager.d.ts.map +1 -1
  116. package/dist/api/internalEntityManager.js +33 -19
  117. package/dist/api/internalEntityManager.js.map +1 -1
  118. package/dist/application/orm/mapping/contracts.d.ts +16 -6
  119. package/dist/application/orm/mapping/contracts.d.ts.map +1 -1
  120. package/dist/application/orm/mapping/definition.d.ts.map +1 -1
  121. package/dist/application/orm/mapping/definition.js +47 -8
  122. package/dist/application/orm/mapping/definition.js.map +1 -1
  123. package/dist/application/orm/mapping/identity.js +1 -1
  124. package/dist/application/orm/mapping/identity.js.map +1 -1
  125. package/dist/application/orm/mapping/projection.d.ts.map +1 -1
  126. package/dist/application/orm/mapping/projection.js +10 -2
  127. package/dist/application/orm/mapping/projection.js.map +1 -1
  128. package/dist/application/orm/mapping/values.d.ts.map +1 -1
  129. package/dist/application/orm/mapping/values.js +5 -35
  130. package/dist/application/orm/mapping/values.js.map +1 -1
  131. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +3 -1
  132. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
  133. package/dist/application/orm/persistence/flush/flushCoordinator.js +4 -3
  134. package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
  135. package/dist/application/orm/persistence/lifecycle/entityLifecycle.js +2 -1
  136. package/dist/application/orm/persistence/lifecycle/entityLifecycle.js.map +1 -1
  137. package/dist/application/orm/persistence/projection/projectionEffects.d.ts +3 -1
  138. package/dist/application/orm/persistence/projection/projectionEffects.d.ts.map +1 -1
  139. package/dist/application/orm/persistence/projection/projectionEffects.js +14 -16
  140. package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -1
  141. package/dist/application/orm/persistence/scalar/unitOfWork.d.ts +6 -6
  142. package/dist/application/orm/persistence/scalar/unitOfWork.d.ts.map +1 -1
  143. package/dist/application/orm/persistence/scalar/unitOfWork.js +28 -28
  144. package/dist/application/orm/persistence/scalar/unitOfWork.js.map +1 -1
  145. package/dist/application/orm/persistence/support/businessKeys.d.ts.map +1 -1
  146. package/dist/application/orm/persistence/support/businessKeys.js +6 -24
  147. package/dist/application/orm/persistence/support/businessKeys.js.map +1 -1
  148. package/dist/application/orm/persistence/support/canonicalState.d.ts.map +1 -1
  149. package/dist/application/orm/persistence/support/canonicalState.js +9 -25
  150. package/dist/application/orm/persistence/support/canonicalState.js.map +1 -1
  151. package/dist/application/orm/persistence/support/contracts.d.ts +0 -57
  152. package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -1
  153. package/dist/application/orm/persistence/support/contracts.js +0 -68
  154. package/dist/application/orm/persistence/support/contracts.js.map +1 -1
  155. package/dist/application/orm/persistence/support/helpers.d.ts +1 -11
  156. package/dist/application/orm/persistence/support/helpers.d.ts.map +1 -1
  157. package/dist/application/orm/persistence/support/helpers.js +1 -21
  158. package/dist/application/orm/persistence/support/helpers.js.map +1 -1
  159. package/dist/application/sync/gateway/constants.d.ts +2 -1
  160. package/dist/application/sync/gateway/constants.d.ts.map +1 -1
  161. package/dist/application/sync/gateway/constants.js +4 -3
  162. package/dist/application/sync/gateway/constants.js.map +1 -1
  163. package/dist/application/sync/gateway/syncGateway.d.ts.map +1 -1
  164. package/dist/application/sync/gateway/syncGateway.js +9 -28
  165. package/dist/application/sync/gateway/syncGateway.js.map +1 -1
  166. package/dist/application/sync/gateway/validation.d.ts +5 -0
  167. package/dist/application/sync/gateway/validation.d.ts.map +1 -1
  168. package/dist/application/sync/gateway/validation.js +22 -3
  169. package/dist/application/sync/gateway/validation.js.map +1 -1
  170. package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts.map +1 -1
  171. package/dist/application/sync/inbound/polling/SimpleSheetPolling.js +3 -23
  172. package/dist/application/sync/inbound/polling/SimpleSheetPolling.js.map +1 -1
  173. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +2 -0
  174. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +1 -1
  175. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +24 -6
  176. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +1 -1
  177. package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +1 -1
  178. package/dist/application/sync/outbound/effects/SyncEffectWorker.js +35 -34
  179. package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +1 -1
  180. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +0 -1
  181. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +1 -1
  182. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +8 -37
  183. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +1 -1
  184. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +1 -1
  185. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +2 -2
  186. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +1 -1
  187. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts +0 -5
  188. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.d.ts.map +1 -1
  189. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js +3 -10
  190. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js.map +1 -1
  191. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +1 -1
  192. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +13 -21
  193. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +1 -1
  194. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts +1 -1
  195. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +1 -1
  196. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +15 -3
  197. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +1 -1
  198. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts.map +1 -1
  199. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js +1 -10
  200. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js.map +1 -1
  201. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -1
  202. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +5 -9
  203. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -1
  204. package/dist/application/sync/service/SyncPollingSupervisor.d.ts +45 -0
  205. package/dist/application/sync/service/SyncPollingSupervisor.d.ts.map +1 -0
  206. package/dist/application/sync/service/SyncPollingSupervisor.js +142 -0
  207. package/dist/application/sync/service/SyncPollingSupervisor.js.map +1 -0
  208. package/dist/application/sync/service/SyncServiceBootstrap.d.ts +63 -0
  209. package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -0
  210. package/dist/application/sync/service/SyncServiceBootstrap.js +223 -0
  211. package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -0
  212. package/dist/application/sync/service/contracts.d.ts +25 -0
  213. package/dist/application/sync/service/contracts.d.ts.map +1 -0
  214. package/dist/application/sync/service/contracts.js +3 -0
  215. package/dist/application/sync/service/contracts.js.map +1 -0
  216. package/dist/application/sync/service/errors.d.ts +15 -0
  217. package/dist/application/sync/service/errors.d.ts.map +1 -0
  218. package/dist/application/sync/service/errors.js +16 -0
  219. package/dist/application/sync/service/errors.js.map +1 -0
  220. package/dist/domain/errors/types.d.ts +1 -1
  221. package/dist/domain/errors/types.d.ts.map +1 -1
  222. package/dist/domain/errors/types.js +2 -2
  223. package/dist/domain/errors/types.js.map +1 -1
  224. package/dist/domain/evaluate/constants.d.ts +1 -1
  225. package/dist/domain/evaluate/constants.d.ts.map +1 -1
  226. package/dist/domain/evaluate/constants.js.map +1 -1
  227. package/dist/domain/evaluate/preconditions.d.ts.map +1 -1
  228. package/dist/domain/evaluate/preconditions.js +25 -32
  229. package/dist/domain/evaluate/preconditions.js.map +1 -1
  230. package/dist/domain/evaluate/quarantine.js +4 -1
  231. package/dist/domain/evaluate/quarantine.js.map +1 -1
  232. package/dist/domain/model/constants.d.ts +48 -0
  233. package/dist/domain/model/constants.d.ts.map +1 -1
  234. package/dist/domain/model/constants.js +38 -0
  235. package/dist/domain/model/constants.js.map +1 -1
  236. package/dist/domain/model/index.d.ts +2 -2
  237. package/dist/domain/model/index.d.ts.map +1 -1
  238. package/dist/domain/model/index.js +1 -1
  239. package/dist/domain/model/index.js.map +1 -1
  240. package/dist/domain/model/types.d.ts +13 -10
  241. package/dist/domain/model/types.d.ts.map +1 -1
  242. package/dist/infrastructure/storage/constants.d.ts +1 -1
  243. package/dist/infrastructure/storage/constants.d.ts.map +1 -1
  244. package/dist/infrastructure/storage/constants.js.map +1 -1
  245. package/dist/infrastructure/storage/errors.d.ts +2 -2
  246. package/dist/infrastructure/storage/errors.d.ts.map +1 -1
  247. package/dist/infrastructure/storage/errors.js +3 -5
  248. package/dist/infrastructure/storage/errors.js.map +1 -1
  249. package/dist/infrastructure/storage/index.d.ts +9 -5
  250. package/dist/infrastructure/storage/index.d.ts.map +1 -1
  251. package/dist/infrastructure/storage/index.js +3 -1
  252. package/dist/infrastructure/storage/index.js.map +1 -1
  253. package/dist/infrastructure/storage/sqlite/migrateSchema.js +9 -4
  254. package/dist/infrastructure/storage/sqlite/migrateSchema.js.map +1 -1
  255. package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts +9 -0
  256. package/dist/infrastructure/storage/state/canonical/canonicalCommit.d.ts.map +1 -1
  257. package/dist/infrastructure/storage/state/canonical/canonicalCommit.js +35 -36
  258. package/dist/infrastructure/storage/state/canonical/canonicalCommit.js.map +1 -1
  259. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts +8 -1
  260. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.d.ts.map +1 -1
  261. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js +14 -0
  262. package/dist/infrastructure/storage/state/mapped/mappedPersistenceSql.js.map +1 -1
  263. package/dist/infrastructure/storage/state/observation/observationAudit.d.ts.map +1 -1
  264. package/dist/infrastructure/storage/state/observation/observationAudit.js +4 -1
  265. package/dist/infrastructure/storage/state/observation/observationAudit.js.map +1 -1
  266. package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts +11 -1
  267. package/dist/infrastructure/storage/state/observation/observationCanonical.d.ts.map +1 -1
  268. package/dist/infrastructure/storage/state/observation/observationCanonical.js +108 -0
  269. package/dist/infrastructure/storage/state/observation/observationCanonical.js.map +1 -1
  270. package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts +36 -1
  271. package/dist/infrastructure/storage/state/observation/observationQuarantine.d.ts.map +1 -1
  272. package/dist/infrastructure/storage/state/observation/observationQuarantine.js +55 -0
  273. package/dist/infrastructure/storage/state/observation/observationQuarantine.js.map +1 -1
  274. package/dist/infrastructure/storage/state/observation/observationTypes.d.ts +22 -0
  275. package/dist/infrastructure/storage/state/observation/observationTypes.d.ts.map +1 -1
  276. package/dist/infrastructure/storage/state/observation/observationTypes.js +5 -0
  277. package/dist/infrastructure/storage/state/observation/observationTypes.js.map +1 -1
  278. package/dist/infrastructure/storage/state/observation/observationValidation.d.ts +1 -1
  279. package/dist/infrastructure/storage/state/observation/observationValidation.d.ts.map +1 -1
  280. package/dist/infrastructure/storage/state/observation/observationValidation.js +26 -0
  281. package/dist/infrastructure/storage/state/observation/observationValidation.js.map +1 -1
  282. package/dist/infrastructure/storage/state/observation/observationWriter.d.ts +1 -1
  283. package/dist/infrastructure/storage/state/observation/observationWriter.d.ts.map +1 -1
  284. package/dist/infrastructure/storage/state/observation/observationWriter.js +5 -1
  285. package/dist/infrastructure/storage/state/observation/observationWriter.js.map +1 -1
  286. package/dist/infrastructure/storage/state/resolution/resolutionWriter.d.ts.map +1 -1
  287. package/dist/infrastructure/storage/state/resolution/resolutionWriter.js +3 -2
  288. package/dist/infrastructure/storage/state/resolution/resolutionWriter.js.map +1 -1
  289. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts +1 -5
  290. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.d.ts.map +1 -1
  291. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js +3 -43
  292. package/dist/infrastructure/storage/state/resolution/resolutionWriterHelpers.js.map +1 -1
  293. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts +1 -1
  294. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.d.ts.map +1 -1
  295. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js +2 -4
  296. package/dist/infrastructure/storage/state/resolution/resolutionWriterSql.js.map +1 -1
  297. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +2 -2
  298. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +1 -1
  299. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +20 -10
  300. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +1 -1
  301. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +33 -18
  302. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +1 -1
  303. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +1 -1
  304. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +1 -1
  305. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +1 -1
  306. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +2 -4
  307. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +1 -1
  308. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts +6 -2
  309. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.d.ts.map +1 -1
  310. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js +157 -14
  311. package/dist/infrastructure/storage/sync/outbound/effectOutboxSupport.js.map +1 -1
  312. package/dist/infrastructure/storage/sync/outbound/reconciliationSql.d.ts +1 -1
  313. package/dist/infrastructure/storage/sync/outbound/reconciliationSql.d.ts.map +1 -1
  314. package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js +14 -1
  315. package/dist/infrastructure/storage/sync/outbound/reconciliationSql.js.map +1 -1
  316. package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts +2 -1
  317. package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts.map +1 -1
  318. package/dist/infrastructure/storage/sync/shared/syncRegistry.js +4 -1
  319. package/dist/infrastructure/storage/sync/shared/syncRegistry.js.map +1 -1
  320. package/dist/infrastructure/storage/sync/shared/writerLease.d.ts +4 -0
  321. package/dist/infrastructure/storage/sync/shared/writerLease.d.ts.map +1 -1
  322. package/dist/infrastructure/storage/sync/shared/writerLease.js +9 -0
  323. package/dist/infrastructure/storage/sync/shared/writerLease.js.map +1 -1
  324. package/dist/shared/constants.d.ts +4 -4
  325. package/dist/shared/constants.d.ts.map +1 -1
  326. package/dist/shared/constants.js.map +1 -1
  327. package/dist/shared/encoding/index.d.ts +1 -0
  328. package/dist/shared/encoding/index.d.ts.map +1 -1
  329. package/dist/shared/encoding/index.js +1 -0
  330. package/dist/shared/encoding/index.js.map +1 -1
  331. package/dist/shared/encoding/normalizedCell.d.ts +4 -0
  332. package/dist/shared/encoding/normalizedCell.d.ts.map +1 -0
  333. package/dist/shared/encoding/normalizedCell.js +29 -0
  334. package/dist/shared/encoding/normalizedCell.js.map +1 -0
  335. package/dist/shared/encoding/stableEncode.d.ts +2 -1
  336. package/dist/shared/encoding/stableEncode.d.ts.map +1 -1
  337. package/dist/shared/encoding/stableEncode.js +6 -12
  338. package/dist/shared/encoding/stableEncode.js.map +1 -1
  339. package/dist/shared/identity/index.d.ts +3 -0
  340. package/dist/shared/identity/index.d.ts.map +1 -0
  341. package/dist/shared/identity/index.js +2 -0
  342. package/dist/shared/identity/index.js.map +1 -0
  343. package/dist/shared/identity/types.d.ts +41 -0
  344. package/dist/shared/identity/types.d.ts.map +1 -0
  345. package/dist/shared/identity/types.js +34 -0
  346. package/dist/shared/identity/types.js.map +1 -0
  347. package/dist/shared/index.d.ts +1 -0
  348. package/dist/shared/index.d.ts.map +1 -1
  349. package/dist/shared/index.js +1 -0
  350. package/dist/shared/index.js.map +1 -1
  351. package/dist/shared/state/constructors.d.ts +10 -0
  352. package/dist/shared/state/constructors.d.ts.map +1 -0
  353. package/dist/shared/state/constructors.js +18 -0
  354. package/dist/shared/state/constructors.js.map +1 -0
  355. package/dist/shared/state/index.d.ts +1 -0
  356. package/dist/shared/state/index.d.ts.map +1 -1
  357. package/dist/shared/state/index.js +1 -0
  358. package/dist/shared/state/index.js.map +1 -1
  359. package/dist/shared/validation.d.ts +2 -0
  360. package/dist/shared/validation.d.ts.map +1 -1
  361. package/dist/shared/validation.js +9 -0
  362. package/dist/shared/validation.js.map +1 -1
  363. package/docs/architecture.md +108 -103
  364. package/docs/ci.md +184 -61
  365. package/docs/mikro-orm-adapter-spike.md +55 -214
  366. package/docs/quick-start.md +58 -96
  367. package/docs/write-and-synchronization-flow.md +70 -39
  368. package/package.json +1 -1
@@ -13,6 +13,7 @@ import { fromSqlNullable, toSqlNullable } from "../../sqlite/sqlState.js";
13
13
  import { CANONICAL_COMMIT_RESULT_KINDS, commitCanonicalChangesWithSql, } from "../canonical/canonicalCommit.js";
14
14
  import { auditJson } from "./observationAudit.js";
15
15
  import { candidateHash, readActiveCandidateWithSql, } from "./observationLedger.js";
16
+ import { OBSERVED_PROJECTION_EVIDENCE_SOURCES, } from "./observationTypes.js";
16
17
  import { CanonicalStaleError, FenceLostError } from "./observationTypes.js";
17
18
  const INITIAL_CANDIDATE_EPOCH = 0;
18
19
  const CONFLICT_ID_PREFIX = "conflict:";
@@ -38,6 +39,44 @@ const UPSERT_VISIBLE_FIELD_STATE_SQL = `
38
39
  candidate_epoch = excluded.candidate_epoch,
39
40
  last_observed_field_hash = excluded.last_observed_field_hash
40
41
  `;
42
+ const READ_CONFIRMED_VISIBLE_STATE_SQL = `
43
+ SELECT confirmed_snapshot_hash, confirmed_visible_revision
44
+ FROM sheet_visible_state
45
+ WHERE physical_sheet_id = ? AND projection = ? AND row_binding_id = ?
46
+ `;
47
+ const CONFIRM_SYNTHETIC_VISIBLE_STATE_SQL = `
48
+ UPDATE sheet_visible_state
49
+ SET confirmed_snapshot_hash = ?, confirmed_visible_revision = ?,
50
+ confirmed_entity_revision = ?, last_observed_hash = ?
51
+ WHERE physical_sheet_id = ? AND projection = ? AND row_binding_id = ?
52
+ AND confirmed_visible_revision = ? AND confirmed_snapshot_hash = ?
53
+ `;
54
+ const CONFIRM_OBSERVED_VISIBLE_STATE_SQL = `
55
+ INSERT INTO sheet_visible_state (
56
+ physical_sheet_id, projection, row_binding_id, confirmed_snapshot_hash,
57
+ confirmed_visible_revision, confirmed_entity_revision, last_observed_hash
58
+ ) VALUES (?, ?, ?, ?, ?, ?, ?)
59
+ ON CONFLICT(physical_sheet_id, projection, row_binding_id)
60
+ DO UPDATE SET
61
+ confirmed_snapshot_hash = excluded.confirmed_snapshot_hash,
62
+ confirmed_visible_revision = excluded.confirmed_visible_revision,
63
+ confirmed_entity_revision = excluded.confirmed_entity_revision,
64
+ last_observed_hash = excluded.last_observed_hash
65
+ WHERE sheet_visible_state.confirmed_visible_revision <= excluded.confirmed_visible_revision
66
+ `;
67
+ const CONFIRM_OBSERVED_VISIBLE_FIELD_STATE_SQL = `
68
+ INSERT INTO sheet_visible_field_state (
69
+ physical_sheet_id, projection, row_binding_id, field_name,
70
+ confirmed_field_hash, confirmed_visible_revision, candidate_epoch,
71
+ last_observed_field_hash
72
+ ) VALUES (?, ?, ?, ?, ?, ?, 0, ?)
73
+ ON CONFLICT(physical_sheet_id, projection, row_binding_id, field_name)
74
+ DO UPDATE SET
75
+ confirmed_field_hash = excluded.confirmed_field_hash,
76
+ confirmed_visible_revision = excluded.confirmed_visible_revision,
77
+ last_observed_field_hash = excluded.last_observed_field_hash
78
+ WHERE sheet_visible_field_state.confirmed_visible_revision <= excluded.confirmed_visible_revision
79
+ `;
41
80
  const ADVANCE_ROW_BINDING_CANDIDATE_EPOCH_SQL = `
42
81
  UPDATE row_binding
43
82
  SET candidate_epoch = CASE
@@ -128,6 +167,75 @@ export async function applyCanonicalMutationWithSql(sql, fence, input, row, bind
128
167
  await rebaseActiveConflictsWithSql(sql, input, row, mutation, result);
129
168
  return { kind: PRESENCE_KINDS.PRESENT, value: result };
130
169
  }
170
+ /** Rejects synthetic evidence when the exact baseline read by polling changed. */
171
+ export async function assertObservedProjectionBaselineWithSql(sql, input, row) {
172
+ const evidence = input.observedProjection;
173
+ if (evidence?.source !== OBSERVED_PROJECTION_EVIDENCE_SOURCES.SYNTHETIC ||
174
+ evidence.baseline === undefined)
175
+ return;
176
+ const current = await sql.get(READ_CONFIRMED_VISIBLE_STATE_SQL, [
177
+ input.physicalSheetId,
178
+ input.batch.projection,
179
+ row.rowBindingId,
180
+ ]);
181
+ if (current === undefined ||
182
+ current.confirmed_visible_revision !== evidence.baseline.visibleRevision ||
183
+ current.confirmed_snapshot_hash !== evidence.baseline.visibleHash) {
184
+ throw new CanonicalStaleError();
185
+ }
186
+ }
187
+ /**
188
+ * Advances the confirmed visible baseline after an accepted observation.
189
+ *
190
+ * Without this confirmation, the next User_Input edit appears older than the
191
+ * canonical entity revision and is forced into a false conflict. Candidate
192
+ * columns are deliberately preserved; only accepted observed fields advance.
193
+ */
194
+ export async function confirmObservedProjectionWithSql(sql, input, row, entityRevision) {
195
+ const evidence = input.observedProjection;
196
+ if (evidence === undefined)
197
+ return;
198
+ const rowResult = evidence.source === OBSERVED_PROJECTION_EVIDENCE_SOURCES.SYNTHETIC &&
199
+ evidence.baseline !== undefined
200
+ ? await sql.run(CONFIRM_SYNTHETIC_VISIBLE_STATE_SQL, [
201
+ evidence.visibleHash,
202
+ evidence.visibleRevision,
203
+ entityRevision,
204
+ evidence.visibleHash,
205
+ input.physicalSheetId,
206
+ input.batch.projection,
207
+ row.rowBindingId,
208
+ evidence.baseline.visibleRevision,
209
+ evidence.baseline.visibleHash,
210
+ ])
211
+ : await sql.run(CONFIRM_OBSERVED_VISIBLE_STATE_SQL, [
212
+ input.physicalSheetId,
213
+ input.batch.projection,
214
+ row.rowBindingId,
215
+ evidence.visibleHash,
216
+ evidence.visibleRevision,
217
+ entityRevision,
218
+ evidence.visibleHash,
219
+ ]);
220
+ if (rowResult.changes !== 1)
221
+ return;
222
+ const acceptedFields = new Set(input.evaluation.acceptedFields.map((field) => field.fieldName));
223
+ for (const field of row.fields) {
224
+ if (!acceptedFields.has(field.fieldName))
225
+ continue;
226
+ const fieldResult = await sql.run(CONFIRM_OBSERVED_VISIBLE_FIELD_STATE_SQL, [
227
+ input.physicalSheetId,
228
+ input.batch.projection,
229
+ row.rowBindingId,
230
+ field.fieldName,
231
+ stableHash(field.nextValue),
232
+ evidence.visibleRevision,
233
+ stableHash(field.nextValue),
234
+ ]);
235
+ if (fieldResult.changes !== 1)
236
+ return;
237
+ }
238
+ }
131
239
  /** Writes new field candidates through the active async SQL transaction. */
132
240
  export async function persistConflictAttemptsWithSql(sql, input, row, binding, eventId) {
133
241
  if (input.evaluation.conflicts.length === EMPTY_ARRAY_LENGTH_ZERO)
@@ -1 +1 @@
1
- {"version":3,"file":"observationCanonical.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationCanonical.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observationCanonical.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationCanonical.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,45 @@
1
1
  /** Quarantine persistence for invalid or unresolvable observed rows. */
2
- import { type ObservedRowChange, type Presence, type QuarantinePlan } from "../../../../domain/index.js";
2
+ import { type ObservedRowChange, type Presence, type QuarantinePlan, type QuarantineReason } from "../../../../domain/index.js";
3
3
  import type { SqlExecutor } from "../../../../adapter/persistence/contracts/sql.js";
4
+ import { type FencingContext } from "../../sync/shared/writerLease.js";
4
5
  import type { ObservationIntegrityDiscriminator } from "./observationConstants.js";
5
6
  import type { PersistObservedRowInput } from "./observationTypes.js";
7
+ export declare const POLLING_QUARANTINE_WRITE_RESULT_KINDS: {
8
+ readonly INSERTED: "inserted";
9
+ readonly DUPLICATE: "duplicate";
10
+ readonly FENCED_OUT: "fenced_out";
11
+ };
12
+ export type PollingQuarantineWriteResult = {
13
+ readonly kind: typeof POLLING_QUARANTINE_WRITE_RESULT_KINDS.INSERTED;
14
+ readonly quarantineId: string;
15
+ } | {
16
+ readonly kind: typeof POLLING_QUARANTINE_WRITE_RESULT_KINDS.DUPLICATE;
17
+ readonly quarantineId: string;
18
+ } | {
19
+ readonly kind: typeof POLLING_QUARANTINE_WRITE_RESULT_KINDS.FENCED_OUT;
20
+ };
6
21
  /** Persists an integrity quarantine through the active async SQL transaction. */
7
22
  export declare function persistIntegrityQuarantineWithSql(sql: SqlExecutor, input: PersistObservedRowInput, row: ObservedRowChange, eventId: Presence<string>, discriminator: ObservationIntegrityDiscriminator): Promise<string>;
8
23
  /** Inserts a core-provided quarantine plan through the active async SQL transaction. */
9
24
  export declare function persistQuarantineWithSql(sql: SqlExecutor, input: PersistObservedRowInput, quarantine: QuarantinePlan, eventId: Presence<string>): Promise<string>;
25
+ /** Raw invalid polling evidence that cannot enter the evaluator. */
26
+ export interface PollingQuarantineInput {
27
+ readonly logicalSheetId: string;
28
+ readonly physicalSheetId: string;
29
+ readonly rowBindingId: string;
30
+ /** Row-local evidence used for idempotent invalid-row deduplication. */
31
+ readonly rowEvidenceHash: string;
32
+ readonly reason: QuarantineReason;
33
+ readonly beforeRowJson: string | null;
34
+ readonly afterRowJson: string | null;
35
+ readonly fieldsJson: string;
36
+ readonly payloadJson: string;
37
+ readonly detectedAt: number;
38
+ }
39
+ /**
40
+ * Persists invalid polling evidence without pretending that it was an entity
41
+ * event. This path is fenced like normal observation writes but has no event
42
+ * identity or canonical mutation because the row never passed normalization.
43
+ */
44
+ export declare function persistPollingQuarantineWithSql(sql: SqlExecutor, fence: FencingContext, input: PollingQuarantineInput): Promise<PollingQuarantineWriteResult>;
10
45
  //# sourceMappingURL=observationQuarantine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"observationQuarantine.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AAQrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAEpF,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAWrE,iFAAiF;AACjF,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,uBAAuB,EAC9B,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,aAAa,EAAE,iCAAiC,GAC/C,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wFAAwF;AACxF,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,uBAAuB,EAC9B,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,OAAO,CAAC,MAAM,CAAC,CA4BjB"}
1
+ {"version":3,"file":"observationQuarantine.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"AAAA,wEAAwE;AAExE,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;AAQrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAqBrE,eAAO,MAAM,qCAAqC;;;;CAIxC,CAAC;AAEX,MAAM,MAAM,4BAA4B,GACpC;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,QAAQ,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACvG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,SAAS,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACxG;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,qCAAqC,CAAC,UAAU,CAAA;CAAE,CAAC;AAE/E,iFAAiF;AACjF,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,uBAAuB,EAC9B,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,EACzB,aAAa,EAAE,iCAAiC,GAC/C,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wFAAwF;AACxF,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,uBAAuB,EAC9B,UAAU,EAAE,cAAc,EAC1B,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GACxB,OAAO,CAAC,MAAM,CAAC,CA4BjB;AAED,oEAAoE;AACpE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,4BAA4B,CAAC,CAkCvC"}
@@ -3,6 +3,7 @@ import { stableHash, } from "../../../../domain/index.js";
3
3
  import { QUARANTINE_ID_PREFIX, QUARANTINE_REPAIR_STATUSES, ROW_OUTCOMES, } from "../../../../domain/evaluate/constants.js";
4
4
  import { QUARANTINE_REASONS, ROW_OPERATIONS } from "../../../../domain/model/constants.js";
5
5
  import { toSqlNullable } from "../../sqlite/sqlState.js";
6
+ import { FENCE_EXISTS_SQL, fenceParameters, isFencingValidWithSql, } from "../../sync/shared/writerLease.js";
6
7
  import { auditJson } from "./observationAudit.js";
7
8
  const INSERT_QUARANTINE_RECORD_SQL = `
8
9
  INSERT INTO quarantine_record (
@@ -12,6 +13,20 @@ const INSERT_QUARANTINE_RECORD_SQL = `
12
13
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
13
14
  ON CONFLICT(quarantine_id) DO NOTHING
14
15
  `;
16
+ const INSERT_POLLING_QUARANTINE_RECORD_SQL = `
17
+ INSERT INTO quarantine_record (
18
+ quarantine_id, event_id, observation_id, logical_sheet_id, row_binding_id,
19
+ reason, before_row_json, after_row_json, fields_json, repair_fields_json,
20
+ repair_state, candidate_payload_json, created_at, updated_at
21
+ ) SELECT ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?
22
+ WHERE EXISTS (${FENCE_EXISTS_SQL})
23
+ ON CONFLICT(quarantine_id) DO NOTHING
24
+ `;
25
+ export const POLLING_QUARANTINE_WRITE_RESULT_KINDS = {
26
+ INSERTED: "inserted",
27
+ DUPLICATE: "duplicate",
28
+ FENCED_OUT: "fenced_out",
29
+ };
15
30
  /** Persists an integrity quarantine through the active async SQL transaction. */
16
31
  export async function persistIntegrityQuarantineWithSql(sql, input, row, eventId, discriminator) {
17
32
  const quarantine = makeIntegrityQuarantine(input, row, discriminator);
@@ -47,6 +62,46 @@ export async function persistQuarantineWithSql(sql, input, quarantine, eventId)
47
62
  ]);
48
63
  return quarantine.quarantineId;
49
64
  }
65
+ /**
66
+ * Persists invalid polling evidence without pretending that it was an entity
67
+ * event. This path is fenced like normal observation writes but has no event
68
+ * identity or canonical mutation because the row never passed normalization.
69
+ */
70
+ export async function persistPollingQuarantineWithSql(sql, fence, input) {
71
+ if (!(await isFencingValidWithSql(sql, fence))) {
72
+ return { kind: POLLING_QUARANTINE_WRITE_RESULT_KINDS.FENCED_OUT };
73
+ }
74
+ const quarantineId = `${QUARANTINE_ID_PREFIX}${stableHash({
75
+ logicalSheetId: input.logicalSheetId,
76
+ physicalSheetId: input.physicalSheetId,
77
+ rowBindingId: input.rowBindingId,
78
+ rowEvidenceHash: input.rowEvidenceHash,
79
+ reason: input.reason,
80
+ })}`;
81
+ const result = await sql.run(INSERT_POLLING_QUARANTINE_RECORD_SQL, [
82
+ quarantineId,
83
+ null,
84
+ null,
85
+ input.logicalSheetId,
86
+ input.rowBindingId,
87
+ input.reason,
88
+ input.beforeRowJson,
89
+ input.afterRowJson,
90
+ input.fieldsJson,
91
+ "[]",
92
+ null,
93
+ input.payloadJson,
94
+ input.detectedAt,
95
+ input.detectedAt,
96
+ ...fenceParameters(fence),
97
+ ]);
98
+ if (result.changes === 1) {
99
+ return { kind: POLLING_QUARANTINE_WRITE_RESULT_KINDS.INSERTED, quarantineId };
100
+ }
101
+ return (await isFencingValidWithSql(sql, fence))
102
+ ? { kind: POLLING_QUARANTINE_WRITE_RESULT_KINDS.DUPLICATE, quarantineId }
103
+ : { kind: POLLING_QUARANTINE_WRITE_RESULT_KINDS.FENCED_OUT };
104
+ }
50
105
  /** Builds an operation-specific quarantine plan for an identity collision. */
51
106
  function makeIntegrityQuarantine(input, row, discriminator) {
52
107
  const common = {
@@ -1 +1 @@
1
- {"version":3,"file":"observationQuarantine.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observationQuarantine.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationQuarantine.ts"],"names":[],"mappings":"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"}
@@ -41,10 +41,32 @@ export interface CanonicalRowMutation {
41
41
  readonly commit: CanonicalCommitInput;
42
42
  readonly businessKeyChanges: readonly BusinessKeyChange[];
43
43
  }
44
+ /** Remote visible-state evidence captured with one observed row. */
45
+ export declare const OBSERVED_PROJECTION_EVIDENCE_SOURCES: {
46
+ readonly REMOTE: "remote";
47
+ readonly SYNTHETIC: "synthetic";
48
+ };
49
+ export type ObservedProjectionEvidenceSource = (typeof OBSERVED_PROJECTION_EVIDENCE_SOURCES)[keyof typeof OBSERVED_PROJECTION_EVIDENCE_SOURCES];
50
+ export interface ObservedProjectionBaseline {
51
+ readonly visibleRevision: number;
52
+ readonly visibleHash: string;
53
+ }
54
+ export interface ObservedProjectionEvidence {
55
+ /** Remote row revision, or the next monotonic local revision when unavailable. */
56
+ readonly visibleRevision: number;
57
+ /** Stable hash of the complete visible row returned by the gateway. */
58
+ readonly visibleHash: string;
59
+ /** Legacy callers omit this and retain the original monotonic behavior. */
60
+ readonly source?: ObservedProjectionEvidenceSource;
61
+ /** Exact prior baseline required before accepting synthetic evidence. */
62
+ readonly baseline?: ObservedProjectionBaseline;
63
+ }
44
64
  /** Input for exactly one row of an observed batch. */
45
65
  export interface PersistObservedRowInput {
46
66
  readonly physicalSheetId: string;
47
67
  readonly batch: ObservedEditBatch;
68
+ /** Optional for legacy callers that do not have visible revision evidence. */
69
+ readonly observedProjection?: ObservedProjectionEvidence;
48
70
  readonly rowIndex: number;
49
71
  readonly observation: ObservationAttemptInput;
50
72
  readonly event: Presence<EventIdentityInput>;
@@ -1 +1 @@
1
- {"version":3,"file":"observationTypes.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observationTypes.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationTypes.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,11 @@
4
4
  * The input is already normalized and evaluated by pure core. Storage owns
5
5
  * only idempotent receipts, canonical commits, conflict records, and effects.
6
6
  */
7
+ /** Remote visible-state evidence captured with one observed row. */
8
+ export const OBSERVED_PROJECTION_EVIDENCE_SOURCES = {
9
+ REMOTE: "remote",
10
+ SYNTHETIC: "synthetic",
11
+ };
7
12
  /** Signals that the writer lease changed inside an outer transaction. */
8
13
  export class FenceLostError extends Error {
9
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"observationTypes.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkIH,yEAAyE;AACzE,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AAE5C,oEAAoE;AACpE,MAAM,OAAO,mBAAoB,SAAQ,KAAK;CAAG"}
1
+ {"version":3,"file":"observationTypes.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAyDH,oEAAoE;AACpE,MAAM,CAAC,MAAM,oCAAoC,GAAG;IAClD,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,WAAW;CACd,CAAC;AAgGX,yEAAyE;AACzE,MAAM,OAAO,cAAe,SAAQ,KAAK;CAAG;AAE5C,oEAAoE;AACpE,MAAM,OAAO,mBAAoB,SAAQ,KAAK;CAAG"}
@@ -7,7 +7,7 @@
7
7
  import type { ObservedEditBatch } from "../../../../domain/index.js";
8
8
  import type { NewEffect } from "../../sync/outbound/effectOutbox.js";
9
9
  import type { SqlExecutor } from "../../../../adapter/persistence/contracts/sql.js";
10
- import type { PersistObservedRowInput } from "./observationTypes.js";
10
+ import { type PersistObservedRowInput } from "./observationTypes.js";
11
11
  /** Validates one complete writer submission before durable mutation begins. */
12
12
  export declare function validatePersistObservedRowInput(input: PersistObservedRowInput): void;
13
13
  /** Requires a valid row index and returns its observed row. */
@@ -1 +1 @@
1
- {"version":3,"file":"observationValidation.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationValidation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAUrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,KAAK,EAGV,uBAAuB,EACxB,MAAM,uBAAuB,CAAC;AAwB/B,+EAA+E;AAC/E,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,CA8DpF;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,2DAezE;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,iBAAiB,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED,oFAAoF;AACpF,wBAAsB,oCAAoC,CACxD,GAAG,EAAE,WAAW,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,SAAS,SAAS,EAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CAiBf"}
1
+ {"version":3,"file":"observationValidation.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationValidation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAUrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AACpF,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,uBAAuB,CAAC;AAwB/B,+EAA+E;AAC/E,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,uBAAuB,GAAG,IAAI,CA8FpF;AAED,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,2DAezE;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,iBAAiB,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED,oFAAoF;AACpF,wBAAsB,oCAAoC,CACxD,GAAG,EAAE,WAAW,EAChB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,SAAS,SAAS,EAAE,GAC5B,OAAO,CAAC,IAAI,CAAC,CAiBf"}
@@ -10,6 +10,7 @@ import { ROW_OUTCOMES } from "../../../../domain/evaluate/constants.js";
10
10
  import { ROW_OPERATIONS } from "../../../../domain/model/constants.js";
11
11
  import { EMPTY_STRING_LENGTH_ZERO } from "../../constants.js";
12
12
  import { STORAGE_ERROR_CODES, StorageError } from "../../errors.js";
13
+ import { OBSERVED_PROJECTION_EVIDENCE_SOURCES, } from "./observationTypes.js";
13
14
  const READ_REGISTERED_PROJECTION_SQL = `
14
15
  SELECT logical_sheet_id, projection, enabled
15
16
  FROM physical_sheet_registry
@@ -30,6 +31,31 @@ export function validatePersistObservedRowInput(input) {
30
31
  input.batch.batchId.length === EMPTY_STRING_LENGTH_ZERO) {
31
32
  throw new StorageError(STORAGE_ERROR_CODES.INVALID_OBSERVATION_INPUT, "logical sheet ID and batch ID are required");
32
33
  }
34
+ if (input.observedProjection !== undefined) {
35
+ const evidence = input.observedProjection;
36
+ const validSource = evidence.source === undefined ||
37
+ evidence.source === OBSERVED_PROJECTION_EVIDENCE_SOURCES.REMOTE ||
38
+ evidence.source === OBSERVED_PROJECTION_EVIDENCE_SOURCES.SYNTHETIC;
39
+ const validEvidence = Number.isSafeInteger(evidence.visibleRevision) &&
40
+ evidence.visibleRevision >= 0 &&
41
+ evidence.visibleHash.length > EMPTY_STRING_LENGTH_ZERO &&
42
+ validSource;
43
+ const validBaseline = evidence.baseline !== undefined &&
44
+ Number.isSafeInteger(evidence.baseline.visibleRevision) &&
45
+ evidence.baseline.visibleRevision >= 0 &&
46
+ evidence.baseline.visibleHash.length > EMPTY_STRING_LENGTH_ZERO;
47
+ const baselineMatchesRow = evidence.source !== OBSERVED_PROJECTION_EVIDENCE_SOURCES.SYNTHETIC || (evidence.baseline !== undefined &&
48
+ row.baseVisibleHash !== undefined &&
49
+ evidence.baseline.visibleRevision === row.baseVisibleRevision &&
50
+ evidence.baseline.visibleHash === row.baseVisibleHash);
51
+ if (!validEvidence ||
52
+ (evidence.source === OBSERVED_PROJECTION_EVIDENCE_SOURCES.SYNTHETIC
53
+ ? !validBaseline
54
+ : evidence.baseline !== undefined && !validBaseline) ||
55
+ !baselineMatchesRow) {
56
+ throw new StorageError(STORAGE_ERROR_CODES.INVALID_OBSERVATION_INPUT, "observed projection evidence must contain valid revision, hash, and baseline data");
57
+ }
58
+ }
33
59
  if (input.evaluation.rowBindingId !== row.rowBindingId) {
34
60
  throw new StorageError(STORAGE_ERROR_CODES.INVALID_OBSERVATION_INPUT, "evaluation row binding does not match the observed row");
35
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"observationValidation.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationValidation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observationValidation.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationValidation.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  import { type FencingContext } from "../../sync/shared/writerLease.js";
9
9
  import { type PersistObservedRowInput, type PersistObservedRowResult } from "./observationTypes.js";
10
10
  import type { SqlExecutor, SqlStorageAdapter } from "../../../../adapter/persistence/contracts/sql.js";
11
- export type { ObservationAttemptInput, EventIdentityInput, BusinessKeyChange, CanonicalRowMutation, PersistObservedRowInput, PersistObservedRowResult, } from "./observationTypes.js";
11
+ export type { ObservationAttemptInput, EventIdentityInput, BusinessKeyChange, CanonicalRowMutation, ObservedProjectionEvidence, PersistObservedRowInput, PersistObservedRowResult, } from "./observationTypes.js";
12
12
  /**
13
13
  * Persists one normalized row outcome inside an already-active async SQL
14
14
  * transaction. It lets the caller keep a user entity mutation and its sync
@@ -1 +1 @@
1
- {"version":3,"file":"observationWriter.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationWriter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AA0B1C,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC9B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAUvG,YAAY,EACV,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAwNnC;AAED,iEAAiE;AACjE,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAEnC"}
1
+ {"version":3,"file":"observationWriter.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationWriter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AA4B1C,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC9B,MAAM,uBAAuB,CAAC;AAO/B,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAUvG,YAAY,EACV,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAiOnC;AAED,iEAAiE;AACjE,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAEnC"}
@@ -12,7 +12,7 @@ import { STORAGE_ERROR_CODES, StorageError } from "../../errors.js";
12
12
  import { appendPendingEffectsWithSql } from "../../sync/outbound/effectOutbox.js";
13
13
  import { withSqlSavepoint } from "../../sqlite/sqlTransaction.js";
14
14
  import { isFencingValidWithSql, } from "../../sync/shared/writerLease.js";
15
- import { applyCanonicalMutationWithSql, persistConflictAttemptsWithSql, requirePersistedOutcome, } from "./observationCanonical.js";
15
+ import { applyCanonicalMutationWithSql, assertObservedProjectionBaselineWithSql, confirmObservedProjectionWithSql, persistConflictAttemptsWithSql, requirePersistedOutcome, } from "./observationCanonical.js";
16
16
  import { appendObservationWithSql, completeObservationWithSql, createEventWithSql, findEventByKeyWithSql, findMatchingCandidateEventIdWithSql, persistObservedHashesWithSql, requireKnownBindingWithSql, } from "./observationLedger.js";
17
17
  import { persistIntegrityQuarantineWithSql, persistQuarantineWithSql, } from "./observationQuarantine.js";
18
18
  import { OBSERVATION_APPEND_RESULT_KINDS, OBSERVATION_COMPLETION_STATES, OBSERVATION_DUPLICATE_REASONS, OBSERVATION_INTEGRITY_DISCRIMINATORS, OBSERVATION_WRITE_RESULT_KINDS, } from "./observationConstants.js";
@@ -95,8 +95,12 @@ export async function persistObservedRowWithSql(sql, fence, input) {
95
95
  const quarantineId = await persistQuarantineWithSql(sql, input, input.evaluation.quarantine, presentEventId(createdEvent.eventId));
96
96
  return completeQuarantineWithSql(sql, fence, input, quarantineId, presentEventId(createdEvent.eventId), input.effects);
97
97
  }
98
+ await assertObservedProjectionBaselineWithSql(sql, input, row);
98
99
  const canonicalResult = await applyCanonicalMutationWithSql(sql, fence, input, row, binding);
99
100
  const conflictIds = await persistConflictAttemptsWithSql(sql, input, row, binding, createdEvent.eventId);
101
+ if (canonicalResult.kind === PRESENCE_KINDS.PRESENT) {
102
+ await confirmObservedProjectionWithSql(sql, input, row, canonicalResult.value.entityRevision);
103
+ }
100
104
  await appendAdditionalEffectsOrThrowWithSql(sql, fence, input.effects);
101
105
  const eventStatus = input.evaluation.conflicts.length === EMPTY_ARRAY_LENGTH_ZERO
102
106
  ? ROW_OUTCOMES.ACCEPTED
@@ -1 +1 @@
1
- {"version":3,"file":"observationWriter.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationWriter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observationWriter.js","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/observation/observationWriter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolutionWriter.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/resolution/resolutionWriter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAoBH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAKvG,OAAO,KAAK,EAKV,6BAA6B,EAC7B,8BAA8B,EAE/B,MAAM,gCAAgC,CAAC;AAyBxC,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,gCAAgC,CAAC;AAExC;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CA8EzC;AAED,uEAAuE;AACvE,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CAEzC"}
1
+ {"version":3,"file":"resolutionWriter.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/storage/state/resolution/resolutionWriter.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAqBH,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAKvG,OAAO,KAAK,EAKV,6BAA6B,EAC7B,8BAA8B,EAE/B,MAAM,gCAAgC,CAAC;AAuBxC,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,gCAAgC,CAAC;AAExC;;;;GAIG;AACH,wBAAsB,+BAA+B,CACnD,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CA8EzC;AAED,uEAAuE;AACvE,wBAAsB,mCAAmC,CACvD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,6BAA6B,GACnC,OAAO,CAAC,8BAA8B,CAAC,CAEzC"}
@@ -11,11 +11,12 @@ import { CONFLICT_TRANSITION_KINDS } from "../../../../domain/conflict/transitio
11
11
  import { LOOKUP_RESULT_KINDS, PRESENCE_KINDS, } from "../../../../shared/state/constants.js";
12
12
  import { STORAGE_ERROR_CODES, StorageError } from "../../errors.js";
13
13
  import { appendPendingEffectsWithSql, } from "../../sync/outbound/effectOutbox.js";
14
+ import { fromSqlNullable } from "../../sqlite/sqlState.js";
14
15
  import { withSqlSavepoint } from "../../sqlite/sqlTransaction.js";
15
- import { isFencingValidWithSql, } from "../../sync/shared/writerLease.js";
16
+ import { fenceParameters, isFencingValidWithSql, } from "../../sync/shared/writerLease.js";
16
17
  import { PERSIST_RESOLUTION_RESULT_KINDS, RESOLUTION_COMMAND_STATUSES, } from "./resolutionWriterContracts.js";
17
18
  import { ADVANCE_ROW_BINDING_CANDIDATE_EPOCH_SQL, CLEAR_ACTIVE_CANDIDATE_POINTER_SQL, FIND_EXISTING_COMMAND_SQL, INSERT_PROCESSING_COMMAND_SQL, MARK_COMMAND_APPLIED_SQL, MARK_COMMAND_REJECTED_SQL, MARK_COMMAND_STALE_SQL, MARK_CONFLICT_RESOLVED_SQL, MARK_CONFLICT_STALE_SQL, READ_ACTIVE_CANDIDATE_POINTER_SQL, READ_CONFLICT_SQL, READ_EFFECT_DEDUPE_SQL, READ_REGISTERED_PROJECTION_SQL, } from "./resolutionWriterSql.js";
18
- import { assertCurrentFenceWithSql, FenceLostError, fenceParameters, fromSqlNullable, parseNormalizedCell, requireConflictStatus, } from "./resolutionWriterHelpers.js";
19
+ import { assertCurrentFenceWithSql, FenceLostError, parseNormalizedCell, requireConflictStatus, } from "./resolutionWriterHelpers.js";
19
20
  export { PERSIST_RESOLUTION_RESULT_KINDS, RESOLUTION_COMMAND_STATUSES, } from "./resolutionWriterContracts.js";
20
21
  /**
21
22
  * Persists one trusted resolution command through an already-active async SQL