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
package/README.md CHANGED
@@ -115,8 +115,11 @@ import a gateway client, pass Sheet routes to `createTypedSheets()`, call
115
115
  `setupSheets()`, or choose an operation for each write.
116
116
 
117
117
  1. Copy [`apps-script/gateway/Code.gs`](apps-script/gateway/Code.gs) into a
118
- spreadsheet-bound Apps Script project, deploy it as a Web App, set the
119
- `/exec` URL, and run `setupSyncGateway()`.
118
+ spreadsheet-bound Apps Script project and deploy it as a Web App. Paste the
119
+ deployed `/exec` URL into the `TYPED_SHEETS_GATEWAY_URL` constant in
120
+ `Code.gs` and run `setupSyncGateway()` from the editor; it stores the bound
121
+ spreadsheet ID and a generated shared secret in Script Properties and logs
122
+ a copyable local `.env` block.
120
123
  2. Keep `TYPED_SHEETS_GATEWAY_URL`,
121
124
  `TYPED_SHEETS_GATEWAY_SHARED_SECRET`, and
122
125
  `TYPED_SHEETS_GATEWAY_SHEET_ID` in an untracked server environment or secret
@@ -125,6 +128,13 @@ import a gateway client, pass Sheet routes to `createTypedSheets()`, call
125
128
  configuration, provisions and verifies headers, then starts outbox delivery
126
129
  and User_Input polling.
127
130
 
131
+ The MVP path is a single `Code.gs` file: it requires no `appsscript.json`
132
+ manifest, no Apps Script Advanced Sheets Service, no Google Cloud Sheets API
133
+ activation, and no service account. Sheet consistency does not come from
134
+ cross-request Sheet transactions; it comes from the Apps Script script lock,
135
+ the hidden effect-receipt tab, effect-id/payload-hash dedupe, the SQLite
136
+ durable outbox, fencing, and postcondition recovery.
137
+
128
138
  The gateway must be deployed with an access audience that can reach the
129
139
  service; an external server normally requires **Anyone**. Use the deployed
130
140
  `/exec` URL, not the editor-only `/dev` URL. When `Code.gs` changes, update the
@@ -8,11 +8,13 @@
8
8
  */
9
9
  import { type FencingContext, type PersistObservedRowInput, type PersistObservedRowResult } from "../../../../../infrastructure/storage/index.js";
10
10
  import { type TypedSheetsEntityMapping, type TypedSheetsEntityMappingRegistry } from "../../../../../application/orm/mapping/entityMapping.js";
11
+ import type { ResolvedWriterOptions } from "../../../../../application/orm/persistence/support/contracts.js";
11
12
  import type { MikroOrmSqliteAdapter } from "../storage/MikroOrmSqliteAdapter.js";
12
13
  /** Input for committing one pre-evaluated Sheet observation and its entity update together. */
13
14
  export interface PersistMappedObservedRowOptions {
14
15
  readonly mappings: TypedSheetsEntityMappingRegistry | readonly TypedSheetsEntityMapping[];
15
16
  readonly fence: FencingContext;
17
+ readonly writer: ResolvedWriterOptions;
16
18
  readonly input: PersistObservedRowInput;
17
19
  }
18
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MikroOrmMappedObservation.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC9B,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAML,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACtC,MAAM,yDAAyD,CAAC;AASjE,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,qCAAqC,CAAC;AAE7C,+FAA+F;AAC/F,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,GAAG,SAAS,wBAAwB,EAAE,CAAC;IAC1F,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;CACzC;AAED;;;;;;;GAOG;AACH,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,wBAAwB,CAAC,CAqCnC"}
1
+ {"version":3,"file":"MikroOrmMappedObservation.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC9B,MAAM,gDAAgD,CAAC;AAExD,OAAO,EAML,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACtC,MAAM,yDAAyD,CAAC;AAYjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iEAAiE,CAAC;AAC7G,OAAO,KAAK,EAEV,qBAAqB,EACtB,MAAM,qCAAqC,CAAC;AAE7C,+FAA+F;AAC/F,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,GAAG,SAAS,wBAAwB,EAAE,CAAC;IAC1F,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC;CACzC;AAED;;;;;;;GAOG;AACH,wBAAsB,oCAAoC,CACxD,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,+BAA+B,GACvC,OAAO,CAAC,wBAAwB,CAAC,CAkDnC"}
@@ -12,6 +12,7 @@ import { OBSERVATION_WRITE_RESULT_KINDS } from "../../../../../infrastructure/st
12
12
  import { createTypedSheetsEntityMappingRegistry, decodeTypedSheetsEntityField, requireTypedSheetsEntityField, typedSheetsCanonicalEntityId, typedSheetsEntityIdFromCanonical, } from "../../../../../application/orm/mapping/entityMapping.js";
13
13
  import { MAPPED_OBSERVATION_ENTITY_MUTATION_KINDS, planMappedObservationEntityMutation, } from "../../../../../application/orm/mapping/observationMapping.js";
14
14
  import { TYPED_SHEETS_ORM_ERROR_CODES, TypedSheetsOrmError, } from "../../../../../application/orm/errors.js";
15
+ import { autoResolveMappedConflictsWithSql, } from "../../../../../application/sync/inbound/autoSystemConflictResolution.js";
15
16
  /**
16
17
  * Persists a normalized observation and the matching MikroORM entity mutation
17
18
  * in one SQLite transaction.
@@ -28,6 +29,10 @@ export async function persistMappedObservedRowWithMikroOrm(storage, options) {
28
29
  }
29
30
  return storage.transactional(async ({ nativeWriter, sql }) => {
30
31
  const result = await persistObservedRowWithSql(sql, options.fence, options.input);
32
+ if (result.kind === OBSERVATION_WRITE_RESULT_KINDS.PERSISTED &&
33
+ result.conflictIds.length > 0) {
34
+ await autoResolveMappedConflictsWithSql(sql, options.fence, options.writer, mapping, options.input, result.conflictIds);
35
+ }
31
36
  const canonical = options.input.canonical;
32
37
  if (result.kind !== OBSERVATION_WRITE_RESULT_KINDS.PERSISTED ||
33
38
  canonical.kind !== PRESENCE_KINDS.PRESENT) {
@@ -1 +1 @@
1
- {"version":3,"file":"MikroOrmMappedObservation.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MikroOrmMappedObservation.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmMappedObservation.ts"],"names":[],"mappings":"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"}
@@ -8,11 +8,19 @@
8
8
  * remain the durable source of truth.
9
9
  */
10
10
  import type { SyncSheetObservationGateway } from "../../../../../application/sync/gateway/syncGateway.js";
11
+ import { type SyncTimingSink } from "../../../../../application/sync/telemetry/syncTiming.js";
11
12
  import type { TypedSheetsEntityMapping, TypedSheetsEntityMappingRegistry } from "../../../../../application/orm/mapping/entityMapping.js";
12
13
  import type { TypedSheetsEntityWriterOptions } from "../../../../../application/orm/persistence/support/contracts.js";
13
14
  import type { MikroOrmSqliteAdapter } from "../storage/MikroOrmSqliteAdapter.js";
14
15
  export { MAPPED_USER_INPUT_INVALID_REASONS } from "./MikroOrmUserInputPollingInspection.js";
15
16
  export type { MappedUserInputInvalidReason } from "./MikroOrmUserInputPollingInspection.js";
17
+ /** Runtime modes for the inbound polling coordinator. */
18
+ export declare const MAPPED_USER_INPUT_POLL_MODES: {
19
+ readonly FULL: "full";
20
+ readonly ADAPTIVE: "adaptive";
21
+ };
22
+ /** Closed set of inbound polling modes. */
23
+ export type MappedUserInputPollingMode = (typeof MAPPED_USER_INPUT_POLL_MODES)[keyof typeof MAPPED_USER_INPUT_POLL_MODES];
16
24
  /** Per-projection result of one polling pass. */
17
25
  export interface MappedUserInputPollingSheetReport {
18
26
  readonly physicalSheetId: string;
@@ -32,6 +40,17 @@ export interface MappedUserInputPollingSheetReport {
32
40
  /** Aggregate result for one inbound polling pass. */
33
41
  export interface MappedUserInputPollingReport {
34
42
  readonly elapsedMs: number;
43
+ readonly mode: MappedUserInputPollingMode;
44
+ readonly safetyFullScan: boolean;
45
+ /**
46
+ * How far past the configured full-scan deadline this safety scan started, in
47
+ * milliseconds. Zero before the first completed scan, on adaptive passes, and
48
+ * for direct calls without coordinator cadence state. Diagnostic only.
49
+ */
50
+ readonly safetyScanLagMs: number;
51
+ readonly fullMetadataTables: number;
52
+ readonly fastPathRowsScanned: number;
53
+ readonly fastPathChangedRows: number;
35
54
  readonly sheets: readonly MappedUserInputPollingSheetReport[];
36
55
  readonly rowsScanned: number;
37
56
  readonly changedRows: number;
@@ -52,10 +71,43 @@ export interface PollMappedUserInputWithMikroOrmOptions {
52
71
  readonly mappings: TypedSheetsEntityMappingRegistry | readonly TypedSheetsEntityMapping[];
53
72
  readonly writer: TypedSheetsEntityWriterOptions;
54
73
  readonly physicalSheetIds?: readonly string[];
74
+ /** Full preserves the historical path; adaptive uses the values-only preflight. */
75
+ readonly mode?: MappedUserInputPollingMode;
76
+ /** Forces all selected mappings through the metadata-preserving path. */
77
+ readonly forceFull?: boolean;
78
+ /**
79
+ * Safety-scan cadence lag supplied by the adaptive coordinator. Defaults to
80
+ * zero so non-safety, adaptive, and direct calls report a safe no-lag value.
81
+ */
82
+ readonly safetyScanLagMs?: number;
83
+ /** Optional diagnostics sink for inbound polling phases; never root-facing. */
84
+ readonly onTiming?: SyncTimingSink;
55
85
  }
86
+ /**
87
+ * Inbound polling phases reported through {@link SyncTimingSink}.
88
+ *
89
+ * Polling observes Sheets without append/update/delete work, so every phase
90
+ * reports empty operation kinds and zeroed counts. Phase names are stable so
91
+ * traces and benchmarks can be compared across builds.
92
+ */
93
+ export declare const POLLING_TIMING_PHASES: {
94
+ readonly CANONICAL_STATE_READ: "canonical_state_read";
95
+ readonly VALUES_ONLY_READ: "values_only_read";
96
+ readonly FAST_COMPARISON: "fast_comparison";
97
+ readonly FULL_METADATA_OBSERVATION: "full_metadata_observation";
98
+ readonly PERSISTENCE: "persistence";
99
+ readonly POLLING_TOTAL: "polling_total";
100
+ /**
101
+ * Safety-scan cadence lag, reported once per forced full scan. Unlike the
102
+ * other phases, durationMs carries the overdue lag (not an elapsed span).
103
+ */
104
+ readonly SAFETY_SCAN_LAG: "safety_scan_lag";
105
+ };
56
106
  /**
57
107
  * Observes mapped User_Input tabs and applies each established row
58
108
  * independently. New rows are intentionally left for the insert workflow.
109
+ * Adaptive passes only use values-only reads to find candidates; every
110
+ * candidate still enters the existing full metadata inspector before writes.
59
111
  */
60
112
  export declare function pollMappedUserInputWithMikroOrm(options: PollMappedUserInputWithMikroOrmOptions): Promise<MappedUserInputPollingReport>;
61
113
  //# sourceMappingURL=MikroOrmUserInputPolling.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MikroOrmUserInputPolling.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAEV,2BAA2B,EAC5B,MAAM,wDAAwD,CAAC;AAQhE,OAAO,KAAK,EACV,wBAAwB,EACxB,gCAAgC,EACjC,MAAM,yDAAyD,CAAC;AAMjE,OAAO,KAAK,EAEV,8BAA8B,EAC/B,MAAM,iEAAiE,CAAC;AAUzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAkBjF,OAAO,EAAE,iCAAiC,EAAE,MAAM,yCAAyC,CAAC;AAC5F,YAAY,EAAE,4BAA4B,EAAE,MAAM,yCAAyC,CAAC;AAE5F,iDAAiD;AACjD,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;CAC3C;AAED,qDAAqD;AACrD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,iCAAiC,EAAE,CAAC;IAC9D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,wBAAwB,EAAE,MAAM,CAAC;CAC3C;AAED,oEAAoE;AACpE,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAC9C,QAAQ,CAAC,QAAQ,EAAE,gCAAgC,GAAG,SAAS,wBAAwB,EAAE,CAAC;IAC1F,QAAQ,CAAC,MAAM,EAAE,8BAA8B,CAAC;IAChD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CACnD,OAAO,EAAE,sCAAsC,GAC9C,OAAO,CAAC,4BAA4B,CAAC,CAmBvC"}
1
+ {"version":3,"file":"MikroOrmUserInputPolling.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.ts"],"names":[],"mappings":"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"}
@@ -7,40 +7,195 @@
7
7
  * state, field revisions, conflict candidates, and the System_State outbox
8
8
  * remain the durable source of truth.
9
9
  */
10
+ import { emptySyncTimingOperationCounts, SYNC_TIMING_SCOPES, } from "../../../../../application/sync/telemetry/syncTiming.js";
11
+ import { isSyncSheetTableReaderGateway, observeSyncSnapshots, } from "../../../../../application/sync/gateway/syncGateway.js";
10
12
  import { SYNC_GATEWAY_PROJECTIONS, SYNC_GATEWAY_SNAPSHOT_READ_MODES, } from "../../../../../application/sync/gateway/constants.js";
11
- import { observeSyncSnapshots, } from "../../../../../application/sync/gateway/syncGateway.js";
12
- import { createTypedSheetsEntityMappingRegistry, requireTypedSheetsEntityProjection, } from "../../../../../application/orm/mapping/entityMapping.js";
13
+ import { createTypedSheetsEntityMappingRegistry, requireTypedSheetsEntityProjection, typedSheetsEntityProjectionHeaders, } from "../../../../../application/orm/mapping/entityMapping.js";
13
14
  import { resolveTypedSheetsEntityWriterOptions } from "../../../../../application/orm/persistence/flush/flushCoordinator.js";
14
15
  import { claimWriterLeaseWithAdapter, WRITER_LEASE_CLAIM_RESULT_KINDS, } from "../../../../../infrastructure/storage/index.js";
15
16
  import { TypedSheetsOrmError, TYPED_SHEETS_ORM_ERROR_CODES } from "../../../../../application/orm/errors.js";
16
17
  import { readMappedPollingRows, } from "./MikroOrmUserInputPollingSql.js";
17
18
  import { buildPollingState, } from "./MikroOrmUserInputPollingState.js";
18
19
  import { inspectSnapshot, } from "./MikroOrmUserInputPollingInspection.js";
20
+ import { inspectFastPollingTable } from "./MikroOrmUserInputPollingFastPath.js";
19
21
  import { persistInvalidPollingRows, persistPreparedRows, } from "./MikroOrmUserInputPollingPersistence.js";
22
+ import { retryOpenMappedConflictsWithAdapter, } from "../../../../../application/sync/inbound/autoSystemConflictResolution.js";
20
23
  export { MAPPED_USER_INPUT_INVALID_REASONS } from "./MikroOrmUserInputPollingInspection.js";
24
+ /** Runtime modes for the inbound polling coordinator. */
25
+ export const MAPPED_USER_INPUT_POLL_MODES = {
26
+ FULL: "full",
27
+ ADAPTIVE: "adaptive",
28
+ };
29
+ /**
30
+ * Inbound polling phases reported through {@link SyncTimingSink}.
31
+ *
32
+ * Polling observes Sheets without append/update/delete work, so every phase
33
+ * reports empty operation kinds and zeroed counts. Phase names are stable so
34
+ * traces and benchmarks can be compared across builds.
35
+ */
36
+ export const POLLING_TIMING_PHASES = {
37
+ CANONICAL_STATE_READ: "canonical_state_read",
38
+ VALUES_ONLY_READ: "values_only_read",
39
+ FAST_COMPARISON: "fast_comparison",
40
+ FULL_METADATA_OBSERVATION: "full_metadata_observation",
41
+ PERSISTENCE: "persistence",
42
+ POLLING_TOTAL: "polling_total",
43
+ /**
44
+ * Safety-scan cadence lag, reported once per forced full scan. Unlike the
45
+ * other phases, durationMs carries the overdue lag (not an elapsed span).
46
+ */
47
+ SAFETY_SCAN_LAG: "safety_scan_lag",
48
+ };
21
49
  /**
22
50
  * Observes mapped User_Input tabs and applies each established row
23
51
  * independently. New rows are intentionally left for the insert workflow.
52
+ * Adaptive passes only use values-only reads to find candidates; every
53
+ * candidate still enters the existing full metadata inspector before writes.
24
54
  */
25
55
  export async function pollMappedUserInputWithMikroOrm(options) {
26
56
  const startedAt = Date.now();
57
+ const timingSink = options.onTiming;
58
+ const requestedMode = options.mode ?? MAPPED_USER_INPUT_POLL_MODES.FULL;
27
59
  const mappings = selectMappings(options.mappings, options.physicalSheetIds);
28
- if (mappings.length === 0)
29
- return emptyReport(startedAt);
30
- const requests = mappings.map(toSnapshotRequest);
31
- const observed = await observeSyncSnapshots(options.gateway, requests);
32
- assertObservationCount(observed, mappings.length);
60
+ const safetyScanLagMs = options.safetyScanLagMs ?? 0;
61
+ if (mappings.length === 0) {
62
+ const report = emptyReport(startedAt, {
63
+ mode: requestedMode,
64
+ safetyFullScan: options.forceFull === true,
65
+ safetyScanLagMs,
66
+ fullMetadataTables: 0,
67
+ fastPathRowsScanned: 0,
68
+ fastPathChangedRows: 0,
69
+ });
70
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.POLLING_TOTAL, report.elapsedMs);
71
+ return report;
72
+ }
73
+ // Report the safety-scan cadence lag before any remote work so a safety scan
74
+ // that fails before producing a report still records how overdue it was. The
75
+ // original failure then propagates and the caller keeps its deadline unchanged.
76
+ if (options.forceFull === true) {
77
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.SAFETY_SCAN_LAG, safetyScanLagMs);
78
+ }
79
+ const stateReadStartedAt = Date.now();
33
80
  const state = await readMappedPollingState(options.storage, mappings);
81
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.CANONICAL_STATE_READ, Date.now() - stateReadStartedAt);
34
82
  const accumulators = mappings.map((mapping) => createAccumulator(mapping));
83
+ const canUseAdaptivePath = requestedMode === MAPPED_USER_INPUT_POLL_MODES.ADAPTIVE &&
84
+ options.forceFull !== true &&
85
+ isSyncSheetTableReaderGateway(options.gateway);
86
+ if (canUseAdaptivePath) {
87
+ const valuesReadStartedAt = Date.now();
88
+ const fastResults = await options.gateway.readRowsBatch(mappings.map(toTableRowsRequest));
89
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.VALUES_ONLY_READ, Date.now() - valuesReadStartedAt);
90
+ assertTableReadCount(fastResults, mappings.length);
91
+ const fullMappings = [];
92
+ const fullAccumulators = [];
93
+ let fastPathRowsScanned = 0;
94
+ let fastPathChangedRows = 0;
95
+ const fastComparisonStartedAt = Date.now();
96
+ for (const [index, mapping] of mappings.entries()) {
97
+ const result = fastResults[index];
98
+ const accumulator = accumulators[index];
99
+ if (result === undefined || accumulator === undefined)
100
+ continue;
101
+ const decision = inspectFastPollingTable(mapping, result, state);
102
+ fastPathRowsScanned += decision.rowsScanned;
103
+ fastPathChangedRows += decision.changedRows;
104
+ if (decision.needsFullMetadata) {
105
+ fullMappings.push(mapping);
106
+ fullAccumulators.push(accumulator);
107
+ accumulator.rowsScanned = 0;
108
+ }
109
+ else {
110
+ accumulator.rowsScanned = decision.rowsScanned;
111
+ }
112
+ }
113
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.FAST_COMPARISON, Date.now() - fastComparisonStartedAt);
114
+ if (fullMappings.length === 0) {
115
+ await retryDeferredConflicts(options, mappings);
116
+ const report = createPollingReport(startedAt, accumulators, {
117
+ mode: MAPPED_USER_INPUT_POLL_MODES.ADAPTIVE,
118
+ safetyFullScan: false,
119
+ safetyScanLagMs,
120
+ fullMetadataTables: 0,
121
+ fastPathRowsScanned,
122
+ fastPathChangedRows,
123
+ });
124
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.POLLING_TOTAL, report.elapsedMs);
125
+ return report;
126
+ }
127
+ const observationStartedAt = Date.now();
128
+ const observed = await observeSyncSnapshots(options.gateway, fullMappings.map(toSnapshotRequest));
129
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.FULL_METADATA_OBSERVATION, Date.now() - observationStartedAt);
130
+ assertObservationCount(observed, fullMappings.length);
131
+ const prepared = prepareObservedRows(fullMappings, observed, state, fullAccumulators);
132
+ const persistenceStartedAt = Date.now();
133
+ const observedInputs = await persistPreparedRowsIfNeeded(options, state, prepared.preparedRows, prepared.invalidRows, fullAccumulators);
134
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.PERSISTENCE, Date.now() - persistenceStartedAt);
135
+ await retryDeferredConflicts(options, mappings, observedInputs);
136
+ const report = createPollingReport(startedAt, accumulators, {
137
+ mode: MAPPED_USER_INPUT_POLL_MODES.ADAPTIVE,
138
+ safetyFullScan: false,
139
+ safetyScanLagMs,
140
+ fullMetadataTables: fullMappings.length,
141
+ fastPathRowsScanned,
142
+ fastPathChangedRows,
143
+ });
144
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.POLLING_TOTAL, report.elapsedMs);
145
+ return report;
146
+ }
147
+ const observationStartedAt = Date.now();
148
+ const observed = await observeSyncSnapshots(options.gateway, mappings.map(toSnapshotRequest));
149
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.FULL_METADATA_OBSERVATION, Date.now() - observationStartedAt);
150
+ assertObservationCount(observed, mappings.length);
35
151
  const prepared = prepareObservedRows(mappings, observed, state, accumulators);
36
- await persistPreparedRowsIfNeeded(options, state, prepared.preparedRows, prepared.invalidRows, accumulators);
37
- return createPollingReport(startedAt, accumulators);
152
+ const persistenceStartedAt = Date.now();
153
+ const observedInputs = await persistPreparedRowsIfNeeded(options, state, prepared.preparedRows, prepared.invalidRows, accumulators);
154
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.PERSISTENCE, Date.now() - persistenceStartedAt);
155
+ await retryDeferredConflicts(options, mappings, observedInputs);
156
+ const report = createPollingReport(startedAt, accumulators, {
157
+ mode: MAPPED_USER_INPUT_POLL_MODES.FULL,
158
+ safetyFullScan: options.forceFull === true,
159
+ safetyScanLagMs,
160
+ fullMetadataTables: mappings.length,
161
+ fastPathRowsScanned: 0,
162
+ fastPathChangedRows: 0,
163
+ });
164
+ emitPollingTiming(timingSink, POLLING_TIMING_PHASES.POLLING_TOTAL, report.elapsedMs);
165
+ return report;
38
166
  }
39
167
  function assertObservationCount(observed, expectedCount) {
40
168
  if (observed.length === expectedCount)
41
169
  return;
42
170
  throw new TypedSheetsOrmError(TYPED_SHEETS_ORM_ERROR_CODES.INVALID_ENTITY_MAPPING, "User_Input observation result count does not match the requested mappings.");
43
171
  }
172
+ function assertTableReadCount(results, expectedCount) {
173
+ if (results.length === expectedCount)
174
+ return;
175
+ throw new TypedSheetsOrmError(TYPED_SHEETS_ORM_ERROR_CODES.INVALID_ENTITY_MAPPING, "User_Input values-only result count does not match the requested mappings.");
176
+ }
177
+ /**
178
+ * Emits one inbound polling phase. Timing is diagnostic only: a faulty sink
179
+ * must never change canonical reads, observation, or persisted edits. Polling
180
+ * observes Sheets without append/update/delete work, so every phase reports
181
+ * empty operation kinds and zeroed counts.
182
+ */
183
+ function emitPollingTiming(sink, phase, durationMs) {
184
+ if (sink === undefined)
185
+ return;
186
+ try {
187
+ sink({
188
+ scope: SYNC_TIMING_SCOPES.POLLING,
189
+ phase,
190
+ durationMs,
191
+ operationKinds: [],
192
+ operationCounts: emptySyncTimingOperationCounts(),
193
+ });
194
+ }
195
+ catch {
196
+ // Diagnostics must never abort inbound polling.
197
+ }
198
+ }
44
199
  function prepareObservedRows(mappings, observed, state, accumulators) {
45
200
  const preparedRows = [];
46
201
  const invalidRows = [];
@@ -57,11 +212,15 @@ function prepareObservedRows(mappings, observed, state, accumulators) {
57
212
  }
58
213
  async function persistPreparedRowsIfNeeded(options, state, preparedRows, invalidRows, accumulators) {
59
214
  if (preparedRows.length === 0 && invalidRows.length === 0)
60
- return;
215
+ return [];
61
216
  const writer = resolveTypedSheetsEntityWriterOptions(options.writer);
62
217
  const fence = await claimMappedInboundWriterLease(options.storage, writer);
63
218
  await persistInvalidPollingRows(options.storage, writer, fence, invalidRows, accumulators);
64
- await persistPreparedRows(options.storage, writer, fence, state, preparedRows, accumulators);
219
+ return persistPreparedRows(options.storage, writer, fence, state, preparedRows, accumulators);
220
+ }
221
+ /** Retries OPEN conflicts whose previous system-wins attempt was deferred. */
222
+ async function retryDeferredConflicts(options, mappings, observedInputs = []) {
223
+ await retryOpenMappedConflictsWithAdapter(options.storage, mappings, resolveTypedSheetsEntityWriterOptions(options.writer), observedInputs);
65
224
  }
66
225
  async function claimMappedInboundWriterLease(storage, writer) {
67
226
  const now = writer.now();
@@ -81,10 +240,16 @@ async function claimMappedInboundWriterLease(storage, writer) {
81
240
  now,
82
241
  };
83
242
  }
84
- function createPollingReport(startedAt, accumulators) {
243
+ function createPollingReport(startedAt, accumulators, metrics) {
85
244
  const sheets = accumulators.map(toSheetReport);
86
245
  return {
87
246
  elapsedMs: Date.now() - startedAt,
247
+ mode: metrics.mode,
248
+ safetyFullScan: metrics.safetyFullScan,
249
+ safetyScanLagMs: metrics.safetyScanLagMs,
250
+ fullMetadataTables: metrics.fullMetadataTables,
251
+ fastPathRowsScanned: metrics.fastPathRowsScanned,
252
+ fastPathChangedRows: metrics.fastPathChangedRows,
88
253
  sheets,
89
254
  rowsScanned: sum(sheets, (sheet) => sheet.rowsScanned),
90
255
  changedRows: sum(sheets, (sheet) => sheet.changedRows),
@@ -99,6 +264,17 @@ function createPollingReport(startedAt, accumulators) {
99
264
  duplicateBusinessKeyRows: sum(sheets, (sheet) => sheet.duplicateBusinessKeyRows),
100
265
  };
101
266
  }
267
+ function toTableRowsRequest(mapping) {
268
+ const projection = requireTypedSheetsEntityProjection(mapping, SYNC_GATEWAY_PROJECTIONS.USER_INPUT);
269
+ return {
270
+ physicalSheetId: projection.physicalSheetId,
271
+ sheetName: projection.tabName,
272
+ registeredRange: projection.registeredRange,
273
+ projection: SYNC_GATEWAY_PROJECTIONS.USER_INPUT,
274
+ schemaVersion: mapping.schemaVersion,
275
+ headers: typedSheetsEntityProjectionHeaders(mapping, SYNC_GATEWAY_PROJECTIONS.USER_INPUT),
276
+ };
277
+ }
102
278
  function selectMappings(input, physicalSheetIds) {
103
279
  const registry = "findByEntityName" in input
104
280
  ? input
@@ -163,9 +339,15 @@ function toSheetReport(accumulator) {
163
339
  duplicateBusinessKeyRows: accumulator.duplicateBusinessKeyRows,
164
340
  };
165
341
  }
166
- function emptyReport(startedAt) {
342
+ function emptyReport(startedAt, metrics) {
167
343
  return {
168
344
  elapsedMs: Date.now() - startedAt,
345
+ mode: metrics.mode,
346
+ safetyFullScan: metrics.safetyFullScan,
347
+ safetyScanLagMs: metrics.safetyScanLagMs,
348
+ fullMetadataTables: metrics.fullMetadataTables,
349
+ fastPathRowsScanned: metrics.fastPathRowsScanned,
350
+ fastPathChangedRows: metrics.fastPathChangedRows,
169
351
  sheets: [],
170
352
  rowsScanned: 0,
171
353
  changedRows: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"MikroOrmUserInputPolling.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MikroOrmUserInputPolling.js","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Compares a values-only User_Input table against canonical SQLite state.
3
+ *
4
+ * This preflight deliberately does not accept or persist edits. It only decides
5
+ * whether a table is unchanged or must be escalated to the metadata-preserving
6
+ * snapshot path, so formula, merge, error, anchor, and quarantine semantics stay
7
+ * in the existing full inspector.
8
+ */
9
+ import type { SyncTableRowsResult } from "../../../../../application/sync/gateway/syncGateway.js";
10
+ import { type TypedSheetsEntityMapping } from "../../../../../application/orm/mapping/entityMapping.js";
11
+ import type { MappedPollingState } from "./MikroOrmUserInputPollingState.js";
12
+ /** Result of one values-only table comparison. */
13
+ export interface FastPollingTableDecision {
14
+ readonly needsFullMetadata: boolean;
15
+ readonly rowsScanned: number;
16
+ readonly changedRows: number;
17
+ }
18
+ /**
19
+ * Validates and compares one values-only table without mutating local state.
20
+ * Unknown, duplicate, missing, or type-invalid rows force full inspection so
21
+ * the existing quarantine and conflict rules remain authoritative.
22
+ */
23
+ export declare function inspectFastPollingTable(mapping: TypedSheetsEntityMapping, result: SyncTableRowsResult, state: MappedPollingState): FastPollingTableDecision;
24
+ //# sourceMappingURL=MikroOrmUserInputPollingFastPath.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MikroOrmUserInputPollingFastPath.d.ts","sourceRoot":"","sources":["../../../../../../src/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EACV,mBAAmB,EAEpB,MAAM,wDAAwD,CAAC;AAIhE,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,yDAAyD,CAAC;AAKjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,kDAAkD;AAClD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,EACjC,MAAM,EAAE,mBAAmB,EAC3B,KAAK,EAAE,kBAAkB,GACxB,wBAAwB,CAoE1B"}