hikoutei 0.3.4 → 0.3.6

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 (355) hide show
  1. package/README.ja.md +44 -21
  2. package/README.ko.md +43 -23
  3. package/README.md +49 -33
  4. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts +3 -3
  5. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.d.ts.map +1 -1
  6. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmMappedTypedSheets.js +1 -1
  7. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.d.ts +1 -1
  8. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarEntityRuntime.js +1 -1
  9. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js +3 -3
  10. package/dist/adapter/persistence/providers/mikro-orm/engine/MikroOrmScalarRuntime.js.map +1 -1
  11. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts +3 -3
  12. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.d.ts.map +1 -1
  13. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js +15 -15
  14. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPolling.js.map +1 -1
  15. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.d.ts +1 -1
  16. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.d.ts.map +1 -1
  17. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.js +3 -3
  18. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingFastPath.js.map +1 -1
  19. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts +5 -5
  20. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.d.ts.map +1 -1
  21. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js +5 -5
  22. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingInspection.js.map +1 -1
  23. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.d.ts +1 -1
  24. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js +5 -5
  25. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingPersistence.js.map +1 -1
  26. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js +3 -3
  27. package/dist/adapter/persistence/providers/mikro-orm/observation/MikroOrmUserInputPollingSql.js.map +1 -1
  28. package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.d.ts +156 -0
  29. package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.d.ts.map +1 -0
  30. package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.js +1112 -0
  31. package/dist/adapter/sheets/providers/google-sheets-api/GoogleSheetsApiSyncProvider.js.map +1 -0
  32. package/dist/adapter/sheets/providers/google-sheets-api/constants.d.ts +87 -0
  33. package/dist/adapter/sheets/providers/google-sheets-api/constants.d.ts.map +1 -0
  34. package/dist/adapter/sheets/providers/google-sheets-api/constants.js +97 -0
  35. package/dist/adapter/sheets/providers/google-sheets-api/constants.js.map +1 -0
  36. package/dist/adapter/sheets/providers/google-sheets-api/errors.d.ts +53 -0
  37. package/dist/adapter/sheets/providers/google-sheets-api/errors.d.ts.map +1 -0
  38. package/dist/adapter/sheets/providers/google-sheets-api/errors.js +61 -0
  39. package/dist/adapter/sheets/providers/google-sheets-api/errors.js.map +1 -0
  40. package/dist/adapter/sheets/providers/google-sheets-api/index.d.ts +16 -0
  41. package/dist/adapter/sheets/providers/google-sheets-api/index.d.ts.map +1 -0
  42. package/dist/adapter/sheets/providers/google-sheets-api/index.js +13 -0
  43. package/dist/adapter/sheets/providers/google-sheets-api/index.js.map +1 -0
  44. package/dist/adapter/sheets/providers/google-sheets-api/model/batchBuilder.d.ts +83 -0
  45. package/dist/adapter/sheets/providers/google-sheets-api/model/batchBuilder.d.ts.map +1 -0
  46. package/dist/adapter/sheets/providers/google-sheets-api/model/batchBuilder.js +413 -0
  47. package/dist/adapter/sheets/providers/google-sheets-api/model/batchBuilder.js.map +1 -0
  48. package/dist/adapter/sheets/providers/google-sheets-api/model/observation.d.ts +86 -0
  49. package/dist/adapter/sheets/providers/google-sheets-api/model/observation.d.ts.map +1 -0
  50. package/dist/adapter/sheets/providers/google-sheets-api/model/observation.js +439 -0
  51. package/dist/adapter/sheets/providers/google-sheets-api/model/observation.js.map +1 -0
  52. package/dist/adapter/sheets/providers/google-sheets-api/model/planner.d.ts +115 -0
  53. package/dist/adapter/sheets/providers/google-sheets-api/model/planner.d.ts.map +1 -0
  54. package/dist/adapter/sheets/providers/google-sheets-api/model/planner.js +522 -0
  55. package/dist/adapter/sheets/providers/google-sheets-api/model/planner.js.map +1 -0
  56. package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.d.ts +17 -0
  57. package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.d.ts.map +1 -0
  58. package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.js +99 -0
  59. package/dist/adapter/sheets/providers/google-sheets-api/model/postcondition.js.map +1 -0
  60. package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.d.ts +242 -0
  61. package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.d.ts.map +1 -0
  62. package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.js +707 -0
  63. package/dist/adapter/sheets/providers/google-sheets-api/model/preflight.js.map +1 -0
  64. package/dist/adapter/sheets/providers/google-sheets-api/model/sheetIdAllocator.d.ts +16 -0
  65. package/dist/adapter/sheets/providers/google-sheets-api/model/sheetIdAllocator.d.ts.map +1 -0
  66. package/dist/adapter/sheets/providers/google-sheets-api/model/sheetIdAllocator.js +29 -0
  67. package/dist/adapter/sheets/providers/google-sheets-api/model/sheetIdAllocator.js.map +1 -0
  68. package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.d.ts +26 -0
  69. package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.d.ts.map +1 -0
  70. package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.js +57 -0
  71. package/dist/adapter/sheets/providers/google-sheets-api/model/tableRead.js.map +1 -0
  72. package/dist/adapter/sheets/providers/google-sheets-api/model/valueNormalization.d.ts +102 -0
  73. package/dist/adapter/sheets/providers/google-sheets-api/model/valueNormalization.d.ts.map +1 -0
  74. package/dist/adapter/sheets/providers/google-sheets-api/model/valueNormalization.js +375 -0
  75. package/dist/adapter/sheets/providers/google-sheets-api/model/valueNormalization.js.map +1 -0
  76. package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.d.ts +168 -0
  77. package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.d.ts.map +1 -0
  78. package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.js +247 -0
  79. package/dist/adapter/sheets/providers/google-sheets-api/transport/googleSheetsApiTransport.js.map +1 -0
  80. package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.d.ts +47 -0
  81. package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.d.ts.map +1 -0
  82. package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.js +60 -0
  83. package/dist/adapter/sheets/providers/google-sheets-api/transport/rateLimiter.js.map +1 -0
  84. package/dist/api/Hikoutei.d.ts +1 -1
  85. package/dist/api/Hikoutei.js +1 -1
  86. package/dist/api/index.d.ts +2 -2
  87. package/dist/api/index.js +2 -2
  88. package/dist/application/orm/mapping/contracts.d.ts +2 -2
  89. package/dist/application/orm/mapping/contracts.d.ts.map +1 -1
  90. package/dist/application/orm/mapping/definition.js +5 -5
  91. package/dist/application/orm/mapping/definition.js.map +1 -1
  92. package/dist/application/orm/mapping/projection.js +7 -7
  93. package/dist/application/orm/mapping/projection.js.map +1 -1
  94. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts +3 -3
  95. package/dist/application/orm/persistence/flush/flushCoordinator.d.ts.map +1 -1
  96. package/dist/application/orm/persistence/flush/flushCoordinator.js +2 -2
  97. package/dist/application/orm/persistence/flush/flushCoordinator.js.map +1 -1
  98. package/dist/application/orm/persistence/projection/projectionEffects.d.ts +1 -1
  99. package/dist/application/orm/persistence/projection/projectionEffects.js +6 -6
  100. package/dist/application/orm/persistence/projection/projectionEffects.js.map +1 -1
  101. package/dist/application/orm/persistence/support/contracts.d.ts +2 -2
  102. package/dist/application/orm/persistence/support/contracts.d.ts.map +1 -1
  103. package/dist/application/sync/inbound/autoSystemConflictResolution.js +7 -7
  104. package/dist/application/sync/inbound/autoSystemConflictResolution.js.map +1 -1
  105. package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts +3 -3
  106. package/dist/application/sync/inbound/polling/SimpleSheetPolling.d.ts.map +1 -1
  107. package/dist/application/sync/inbound/polling/SimpleSheetPolling.js +1 -1
  108. package/dist/application/sync/inbound/polling/SimpleSheetPolling.js.map +1 -1
  109. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.d.ts +17 -1
  110. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.d.ts.map +1 -1
  111. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.js +27 -1
  112. package/dist/application/sync/outbound/effects/AdaptiveEffectBatchController.js.map +1 -1
  113. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts +2 -2
  114. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.d.ts.map +1 -1
  115. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js +26 -6
  116. package/dist/application/sync/outbound/effects/SyncEffectSupervisor.js.map +1 -1
  117. package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts +24 -9
  118. package/dist/application/sync/outbound/effects/SyncEffectWorker.d.ts.map +1 -1
  119. package/dist/application/sync/outbound/effects/SyncEffectWorker.js +128 -81
  120. package/dist/application/sync/outbound/effects/SyncEffectWorker.js.map +1 -1
  121. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts +31 -14
  122. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.d.ts.map +1 -1
  123. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js +32 -15
  124. package/dist/application/sync/outbound/effects/SyncEffectWorkerConstants.js.map +1 -1
  125. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts +13 -9
  126. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.d.ts.map +1 -1
  127. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js +53 -37
  128. package/dist/application/sync/outbound/effects/SyncEffectWorkerDispatch.js.map +1 -1
  129. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js +1 -1
  130. package/dist/application/sync/outbound/effects/SyncEffectWorkerHelpers.js.map +1 -1
  131. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts +29 -19
  132. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.d.ts.map +1 -1
  133. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js +59 -41
  134. package/dist/application/sync/outbound/effects/SyncEffectWorkerRouting.js.map +1 -1
  135. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts +4 -4
  136. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.d.ts.map +1 -1
  137. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js +3 -3
  138. package/dist/application/sync/outbound/effects/SyncEffectWorkerTiming.js.map +1 -1
  139. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts +3 -3
  140. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.d.ts.map +1 -1
  141. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js +42 -46
  142. package/dist/application/sync/outbound/effects/SyncEffectWorkerTransitions.js.map +1 -1
  143. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts +8 -8
  144. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.d.ts.map +1 -1
  145. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js +15 -15
  146. package/dist/application/sync/outbound/projection/ProjectionEffectFactory.js.map +1 -1
  147. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts +3 -3
  148. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.d.ts.map +1 -1
  149. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js +10 -10
  150. package/dist/application/sync/outbound/reconciliation/ReconciliationScanner.js.map +1 -1
  151. package/dist/application/sync/service/SyncPollingSupervisor.d.ts +1 -1
  152. package/dist/application/sync/service/SyncPollingSupervisor.js +1 -1
  153. package/dist/application/sync/service/SyncServiceBootstrap.d.ts +29 -19
  154. package/dist/application/sync/service/SyncServiceBootstrap.d.ts.map +1 -1
  155. package/dist/application/sync/service/SyncServiceBootstrap.js +103 -78
  156. package/dist/application/sync/service/SyncServiceBootstrap.js.map +1 -1
  157. package/dist/application/sync/service/errors.d.ts +1 -1
  158. package/dist/application/sync/service/errors.js +1 -1
  159. package/dist/application/sync/service/errors.js.map +1 -1
  160. package/dist/application/sync/sheets/conflictProjection.d.ts.map +1 -0
  161. package/dist/application/sync/sheets/conflictProjection.js.map +1 -0
  162. package/dist/application/sync/{gateway → sheets}/conflictProjectionRegistration.d.ts +1 -1
  163. package/dist/application/sync/sheets/conflictProjectionRegistration.d.ts.map +1 -0
  164. package/dist/application/sync/{gateway → sheets}/conflictProjectionRegistration.js +3 -3
  165. package/dist/application/sync/sheets/conflictProjectionRegistration.js.map +1 -0
  166. package/dist/application/sync/sheets/constants.d.ts +66 -0
  167. package/dist/application/sync/sheets/constants.d.ts.map +1 -0
  168. package/dist/application/sync/{gateway → sheets}/constants.js +15 -15
  169. package/dist/application/sync/sheets/constants.js.map +1 -0
  170. package/dist/application/sync/sheets/errors.d.ts +15 -0
  171. package/dist/application/sync/sheets/errors.d.ts.map +1 -0
  172. package/dist/application/sync/sheets/errors.js +16 -0
  173. package/dist/application/sync/sheets/errors.js.map +1 -0
  174. package/dist/application/sync/{gateway/coordinator/CoordinatedSyncGateway.d.ts → sheets/mutationCoordinator/CoordinatedSheetsProvider.d.ts} +29 -28
  175. package/dist/application/sync/sheets/mutationCoordinator/CoordinatedSheetsProvider.d.ts.map +1 -0
  176. package/dist/application/sync/{gateway/coordinator/CoordinatedSyncGateway.js → sheets/mutationCoordinator/CoordinatedSheetsProvider.js} +27 -26
  177. package/dist/application/sync/sheets/mutationCoordinator/CoordinatedSheetsProvider.js.map +1 -0
  178. package/dist/application/sync/{gateway/coordinator → sheets/mutationCoordinator}/asyncMutex.d.ts +2 -3
  179. package/dist/application/sync/sheets/mutationCoordinator/asyncMutex.d.ts.map +1 -0
  180. package/dist/application/sync/sheets/mutationCoordinator/asyncMutex.js.map +1 -0
  181. package/dist/application/sync/{gateway/coordinator/coordinatorTelemetry.d.ts → sheets/mutationCoordinator/laneTelemetry.d.ts} +4 -4
  182. package/dist/application/sync/sheets/mutationCoordinator/laneTelemetry.d.ts.map +1 -0
  183. package/dist/application/sync/{gateway/coordinator/coordinatorTelemetry.js → sheets/mutationCoordinator/laneTelemetry.js} +5 -5
  184. package/dist/application/sync/sheets/mutationCoordinator/laneTelemetry.js.map +1 -0
  185. package/dist/application/sync/{gateway/SyncGatewayBootstrap.d.ts → sheets/sheetsProvisioning.d.ts} +14 -14
  186. package/dist/application/sync/sheets/sheetsProvisioning.d.ts.map +1 -0
  187. package/dist/application/sync/sheets/sheetsProvisioning.js +95 -0
  188. package/dist/application/sync/sheets/sheetsProvisioning.js.map +1 -0
  189. package/dist/application/sync/{gateway/syncGateway.d.ts → sheets/syncSheets.d.ts} +61 -117
  190. package/dist/application/sync/sheets/syncSheets.d.ts.map +1 -0
  191. package/dist/application/sync/sheets/syncSheets.js +144 -0
  192. package/dist/application/sync/sheets/syncSheets.js.map +1 -0
  193. package/dist/application/sync/{gateway/transportClassification.d.ts → sheets/transportOutcome.d.ts} +23 -22
  194. package/dist/application/sync/sheets/transportOutcome.d.ts.map +1 -0
  195. package/dist/application/sync/sheets/transportOutcome.js +97 -0
  196. package/dist/application/sync/sheets/transportOutcome.js.map +1 -0
  197. package/dist/application/sync/sheets/validation.d.ts +22 -0
  198. package/dist/application/sync/sheets/validation.d.ts.map +1 -0
  199. package/dist/application/sync/sheets/validation.js +79 -0
  200. package/dist/application/sync/sheets/validation.js.map +1 -0
  201. package/dist/application/sync/telemetry/syncTiming.d.ts +7 -7
  202. package/dist/application/sync/telemetry/syncTiming.d.ts.map +1 -1
  203. package/dist/application/sync/telemetry/syncTiming.js +2 -2
  204. package/dist/application/sync/telemetry/syncTiming.js.map +1 -1
  205. package/dist/domain/evaluate/contracts.d.ts +1 -1
  206. package/dist/domain/evaluate/contracts.js +1 -1
  207. package/dist/domain/model/constants.d.ts +1 -1
  208. package/dist/domain/model/constants.d.ts.map +1 -1
  209. package/dist/domain/model/types.d.ts +1 -1
  210. package/dist/domain/model/types.d.ts.map +1 -1
  211. package/dist/index.d.ts +3 -2
  212. package/dist/index.d.ts.map +1 -1
  213. package/dist/index.js +3 -2
  214. package/dist/index.js.map +1 -1
  215. package/dist/infrastructure/storage/index.d.ts +1 -1
  216. package/dist/infrastructure/storage/index.d.ts.map +1 -1
  217. package/dist/infrastructure/storage/index.js +1 -1
  218. package/dist/infrastructure/storage/index.js.map +1 -1
  219. package/dist/infrastructure/storage/state/observation/observationAudit.d.ts +1 -1
  220. package/dist/infrastructure/storage/state/observation/observationAudit.js +1 -1
  221. package/dist/infrastructure/storage/state/observation/observationTypes.d.ts +3 -3
  222. package/dist/infrastructure/storage/state/observation/observationTypes.d.ts.map +1 -1
  223. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts +13 -1
  224. package/dist/infrastructure/storage/sync/outbound/effectOutbox.d.ts.map +1 -1
  225. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js +23 -2
  226. package/dist/infrastructure/storage/sync/outbound/effectOutbox.js.map +1 -1
  227. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts +9 -3
  228. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.d.ts.map +1 -1
  229. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js +7 -1
  230. package/dist/infrastructure/storage/sync/outbound/effectOutboxContracts.js.map +1 -1
  231. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts +11 -1
  232. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.d.ts.map +1 -1
  233. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js +44 -3
  234. package/dist/infrastructure/storage/sync/outbound/effectOutboxSql.js.map +1 -1
  235. package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts +4 -4
  236. package/dist/infrastructure/storage/sync/shared/syncRegistry.d.ts.map +1 -1
  237. package/dist/infrastructure/storage/sync/shared/syncRegistry.js +4 -4
  238. package/dist/infrastructure/storage/sync/shared/syncRegistry.js.map +1 -1
  239. package/dist/shared/encoding/types.d.ts +1 -1
  240. package/docs/architecture.md +52 -23
  241. package/docs/ci.md +31 -23
  242. package/docs/code-guidelines.md +10 -18
  243. package/docs/development.md +37 -11
  244. package/docs/gateway-removal-inventory.md +147 -0
  245. package/docs/quick-start.md +36 -26
  246. package/docs/sync-bulk-write-benchmark.md +561 -0
  247. package/docs/sync-observability.md +38 -45
  248. package/docs/write-and-synchronization-flow.md +56 -39
  249. package/package.json +5 -4
  250. package/apps-script/gateway/Code.gs +0 -447
  251. package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts +0 -43
  252. package/dist/adapter/sheets/providers/apps-script-gateway/errors.d.ts.map +0 -1
  253. package/dist/adapter/sheets/providers/apps-script-gateway/errors.js +0 -52
  254. package/dist/adapter/sheets/providers/apps-script-gateway/errors.js.map +0 -1
  255. package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts +0 -24
  256. package/dist/adapter/sheets/providers/apps-script-gateway/index.d.ts.map +0 -1
  257. package/dist/adapter/sheets/providers/apps-script-gateway/index.js +0 -13
  258. package/dist/adapter/sheets/providers/apps-script-gateway/index.js.map +0 -1
  259. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts +0 -44
  260. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.d.ts.map +0 -1
  261. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js +0 -181
  262. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperation.js.map +0 -1
  263. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts +0 -3
  264. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.d.ts.map +0 -1
  265. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js +0 -810
  266. package/dist/adapter/sheets/providers/apps-script-gateway/operations/effect/effectOperationScript.js.map +0 -1
  267. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts +0 -31
  268. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.d.ts.map +0 -1
  269. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js +0 -560
  270. package/dist/adapter/sheets/providers/apps-script-gateway/operations/observation/observationOperation.js.map +0 -1
  271. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts +0 -12
  272. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.d.ts.map +0 -1
  273. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js +0 -166
  274. package/dist/adapter/sheets/providers/apps-script-gateway/operations/read/tableReadOperation.js.map +0 -1
  275. package/dist/adapter/sheets/providers/apps-script-gateway/operations/shared/appsScriptStableCodecSource.d.ts +0 -8
  276. package/dist/adapter/sheets/providers/apps-script-gateway/operations/shared/appsScriptStableCodecSource.d.ts.map +0 -1
  277. package/dist/adapter/sheets/providers/apps-script-gateway/operations/shared/appsScriptStableCodecSource.js +0 -122
  278. package/dist/adapter/sheets/providers/apps-script-gateway/operations/shared/appsScriptStableCodecSource.js.map +0 -1
  279. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.d.ts +0 -31
  280. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.d.ts.map +0 -1
  281. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.js +0 -567
  282. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/batchAppendOperation.js.map +0 -1
  283. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts +0 -19
  284. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.d.ts.map +0 -1
  285. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js +0 -37
  286. package/dist/adapter/sheets/providers/apps-script-gateway/operations/write/fastAppendOperation.js.map +0 -1
  287. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts +0 -51
  288. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.d.ts.map +0 -1
  289. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js +0 -60
  290. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/codeGsProtocol.js.map +0 -1
  291. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.d.ts +0 -44
  292. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.d.ts.map +0 -1
  293. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.js +0 -40
  294. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/constants.js.map +0 -1
  295. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts +0 -12
  296. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.d.ts.map +0 -1
  297. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js +0 -41
  298. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/syncProtocol.js.map +0 -1
  299. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.d.ts +0 -5
  300. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.d.ts.map +0 -1
  301. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js +0 -53
  302. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/timing.js.map +0 -1
  303. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.d.ts +0 -4
  304. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.d.ts.map +0 -1
  305. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.js +0 -2
  306. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/types.js.map +0 -1
  307. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts +0 -11
  308. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.d.ts.map +0 -1
  309. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js +0 -36
  310. package/dist/adapter/sheets/providers/apps-script-gateway/protocol/validation.js.map +0 -1
  311. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts +0 -68
  312. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.d.ts.map +0 -1
  313. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js +0 -273
  314. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationClient.js.map +0 -1
  315. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts +0 -73
  316. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.d.ts.map +0 -1
  317. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js +0 -363
  318. package/dist/adapter/sheets/providers/apps-script-gateway/transport/operationSyncGateway.js.map +0 -1
  319. package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts +0 -3
  320. package/dist/adapter/sheets/providers/apps-script-gateway/validation.d.ts.map +0 -1
  321. package/dist/adapter/sheets/providers/apps-script-gateway/validation.js +0 -10
  322. package/dist/adapter/sheets/providers/apps-script-gateway/validation.js.map +0 -1
  323. package/dist/application/sync/gateway/SyncGatewayBootstrap.d.ts.map +0 -1
  324. package/dist/application/sync/gateway/SyncGatewayBootstrap.js +0 -95
  325. package/dist/application/sync/gateway/SyncGatewayBootstrap.js.map +0 -1
  326. package/dist/application/sync/gateway/conflictProjection.d.ts.map +0 -1
  327. package/dist/application/sync/gateway/conflictProjection.js.map +0 -1
  328. package/dist/application/sync/gateway/conflictProjectionRegistration.d.ts.map +0 -1
  329. package/dist/application/sync/gateway/conflictProjectionRegistration.js.map +0 -1
  330. package/dist/application/sync/gateway/constants.d.ts +0 -66
  331. package/dist/application/sync/gateway/constants.d.ts.map +0 -1
  332. package/dist/application/sync/gateway/constants.js.map +0 -1
  333. package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.d.ts.map +0 -1
  334. package/dist/application/sync/gateway/coordinator/CoordinatedSyncGateway.js.map +0 -1
  335. package/dist/application/sync/gateway/coordinator/asyncMutex.d.ts.map +0 -1
  336. package/dist/application/sync/gateway/coordinator/asyncMutex.js.map +0 -1
  337. package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.d.ts.map +0 -1
  338. package/dist/application/sync/gateway/coordinator/coordinatorTelemetry.js.map +0 -1
  339. package/dist/application/sync/gateway/errors.d.ts +0 -15
  340. package/dist/application/sync/gateway/errors.d.ts.map +0 -1
  341. package/dist/application/sync/gateway/errors.js +0 -16
  342. package/dist/application/sync/gateway/errors.js.map +0 -1
  343. package/dist/application/sync/gateway/syncGateway.d.ts.map +0 -1
  344. package/dist/application/sync/gateway/syncGateway.js +0 -191
  345. package/dist/application/sync/gateway/syncGateway.js.map +0 -1
  346. package/dist/application/sync/gateway/transportClassification.d.ts.map +0 -1
  347. package/dist/application/sync/gateway/transportClassification.js +0 -133
  348. package/dist/application/sync/gateway/transportClassification.js.map +0 -1
  349. package/dist/application/sync/gateway/validation.d.ts +0 -22
  350. package/dist/application/sync/gateway/validation.d.ts.map +0 -1
  351. package/dist/application/sync/gateway/validation.js +0 -79
  352. package/dist/application/sync/gateway/validation.js.map +0 -1
  353. /package/dist/application/sync/{gateway → sheets}/conflictProjection.d.ts +0 -0
  354. /package/dist/application/sync/{gateway → sheets}/conflictProjection.js +0 -0
  355. /package/dist/application/sync/{gateway/coordinator → sheets/mutationCoordinator}/asyncMutex.js +0 -0
@@ -258,11 +258,15 @@ export function createSyncEffectWorkerSupervisor(options) {
258
258
  const workerId = options.workerId ?? `sync-effect-worker:${randomUUID()}`;
259
259
  const maxEffects = options.maxEffects ?? DEFAULT_MAX_EFFECTS;
260
260
  const now = options.now ?? Date.now;
261
- validateWorkerOptions(workerId, maxEffects);
262
- const batchController = options.batchController ?? new AdaptiveEffectBatchController();
261
+ validateWorkerOptions(workerId, maxEffects, options.maxFastAppendCandidates, options.appendDispatchIntervalMs);
262
+ const batchController = options.batchController ?? new AdaptiveEffectBatchController({
263
+ ...(options.appendDispatchIntervalMs === undefined
264
+ ? {}
265
+ : { appendDispatchIntervalMs: options.appendDispatchIntervalMs }),
266
+ });
263
267
  const workerOptions = {
264
268
  storage: options.storage,
265
- gateway: options.gateway,
269
+ provider: options.provider,
266
270
  batchController,
267
271
  clock: now,
268
272
  workerId,
@@ -275,9 +279,15 @@ export function createSyncEffectWorkerSupervisor(options) {
275
279
  ...(options.effectLeaseDurationMs === undefined
276
280
  ? {}
277
281
  : { effectLeaseDurationMs: options.effectLeaseDurationMs }),
278
- ...(options.gatewayTimeoutMs === undefined
282
+ ...(options.requestTimeoutMs === undefined
283
+ ? {}
284
+ : { requestTimeoutMs: options.requestTimeoutMs }),
285
+ ...(options.maxFastAppendCandidates === undefined
279
286
  ? {}
280
- : { gatewayTimeoutMs: options.gatewayTimeoutMs }),
287
+ : { maxFastAppendCandidates: options.maxFastAppendCandidates }),
288
+ ...(options.appendDispatchIntervalMs === undefined
289
+ ? {}
290
+ : { appendDispatchIntervalMs: options.appendDispatchIntervalMs }),
281
291
  ...(options.makeRepairReplan === undefined
282
292
  ? {}
283
293
  : { makeRepairReplan: options.makeRepairReplan }),
@@ -329,13 +339,23 @@ function withJitter(durationMs, random) {
329
339
  const normalized = Number.isFinite(sample) ? Math.max(0, Math.min(1, sample)) : 0;
330
340
  return durationMs + Math.floor(normalized * DEFAULT_JITTER_MAX_MS);
331
341
  }
332
- function validateWorkerOptions(workerId, maxEffects) {
342
+ function validateWorkerOptions(workerId, maxEffects, maxFastAppendCandidates, appendDispatchIntervalMs) {
333
343
  if (workerId.length === NON_NEGATIVE_SAFE_INTEGER_MINIMUM) {
334
344
  throw new RangeError("sync effect supervisor worker ID is required");
335
345
  }
336
346
  if (!Number.isSafeInteger(maxEffects) || maxEffects < POSITIVE_SAFE_INTEGER_MINIMUM) {
337
347
  throw new RangeError("sync effect supervisor maxEffects must be a positive safe integer");
338
348
  }
349
+ if (maxFastAppendCandidates !== undefined &&
350
+ (!Number.isSafeInteger(maxFastAppendCandidates) ||
351
+ maxFastAppendCandidates < POSITIVE_SAFE_INTEGER_MINIMUM)) {
352
+ throw new RangeError("sync effect supervisor maxFastAppendCandidates must be a positive safe integer");
353
+ }
354
+ if (appendDispatchIntervalMs !== undefined &&
355
+ (!Number.isSafeInteger(appendDispatchIntervalMs) ||
356
+ appendDispatchIntervalMs < NON_NEGATIVE_SAFE_INTEGER_MINIMUM)) {
357
+ throw new RangeError("sync effect supervisor appendDispatchIntervalMs must be a non-negative safe integer");
358
+ }
339
359
  }
340
360
  function requirePositiveSafeInteger(value, name) {
341
361
  if (!Number.isSafeInteger(value) || value < POSITIVE_SAFE_INTEGER_MINIMUM) {
@@ -1 +1 @@
1
- {"version":3,"file":"SyncEffectSupervisor.js","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/effects/SyncEffectSupervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncEffectSupervisor.js","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/effects/SyncEffectSupervisor.ts"],"names":[],"mappings":"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"}
@@ -2,26 +2,26 @@
2
2
  * Fenced outbox worker for projection effects.
3
3
  *
4
4
  * It owns only claim/result transitions. Canonical state and any repair
5
- * replan payload are supplied by the writer boundary; the gateway is never
5
+ * replan payload are supplied by the writer boundary; the provider is never
6
6
  * allowed to choose a winner or silently retry a response-lost write.
7
7
  */
8
8
  import { type Presence } from "../../../../domain/index.js";
9
9
  import { type ApplyResultOptions, type ClaimEffectOptions, type ClaimLeaseOptions, type ClaimResult, type MarkDeliveryUncertainOptions, type FencingContext, type RenewEffectLeaseOptions, type NewEffect, type PendingEffect, type RetryClaimedEffectOptions, type WriterLease, type WriterLeaseClaimResult } from "../../../../infrastructure/storage/index.js";
10
10
  import type { SqlStorageAdapter } from "../../../../adapter/persistence/contracts/sql.js";
11
- import type { SyncEffectPostcondition, SyncGatewayEffect, SyncGatewayEffectResult, SyncEffectWorkerGateway, SyncEffectWorkerFullGateway } from "../../gateway/syncGateway.js";
11
+ import type { SyncEffectPostcondition, SyncProjectionEffect, SyncEffectResult, SyncEffectWorkerProvider } from "../../sheets/syncSheets.js";
12
12
  import { type SyncTimingSink } from "../../telemetry/syncTiming.js";
13
13
  import type { AdaptiveEffectBatchController } from "./AdaptiveEffectBatchController.js";
14
14
  /** An effect plus evidence supplied to a writer-owned system-repair replanner. */
15
15
  export interface RepairReplanRequest {
16
16
  readonly effect: PendingEffect;
17
- readonly gatewayResult: Presence<SyncGatewayEffectResult>;
17
+ readonly providerResult: Presence<SyncEffectResult>;
18
18
  readonly postcondition: Presence<SyncEffectPostcondition>;
19
19
  }
20
20
  /** Callback that creates a fresh effect without mutating the old evidence. */
21
21
  export type RepairReplanFactory = (request: RepairReplanRequest) => Presence<NewEffect>;
22
22
  /** Shared construction options for a bounded effect-worker pass. */
23
23
  export interface SyncEffectWorkerBaseOptions {
24
- readonly gateway: SyncEffectWorkerGateway;
24
+ readonly provider: SyncEffectWorkerProvider;
25
25
  readonly workerId: string;
26
26
  readonly now: number;
27
27
  readonly maxEffects: number;
@@ -29,16 +29,30 @@ export interface SyncEffectWorkerBaseOptions {
29
29
  readonly writerLeaseDurationMs?: number;
30
30
  readonly effectLeaseDurationMs?: number;
31
31
  /** Internal transport timeout used to validate lease headroom. */
32
- readonly gatewayTimeoutMs?: number;
32
+ readonly requestTimeoutMs?: number;
33
33
  readonly batchController?: AdaptiveEffectBatchController;
34
+ /**
35
+ * Internal bulk-append claim window for the real provider runtime. When
36
+ * set, a pass claims up to this many append candidates through a dedicated
37
+ * ready fast-append selection (so a regular/recovery backlog ahead of them
38
+ * cannot starve appends), and keeps the regular/recovery claim window at
39
+ * the bounded 20-effect limit. Direct workers and fake providers omit it
40
+ * and keep the 20-item window.
41
+ */
42
+ readonly maxFastAppendCandidates?: number;
43
+ /**
44
+ * Internal minimum interval between fast-append request starts. Only the
45
+ * full provider runtime sets it; the batch controller owns the actual wait.
46
+ */
47
+ readonly appendDispatchIntervalMs?: number;
34
48
  /** Shared supervisor clock used to refresh fencing timestamps after remote I/O. */
35
49
  readonly clock?: () => number;
36
50
  readonly makeRepairReplan?: RepairReplanFactory;
37
- /** Optional diagnostics sink for worker and gateway phases. */
51
+ /** Optional diagnostics sink for worker and provider phases. */
38
52
  readonly onTiming?: SyncTimingSink;
39
53
  }
40
- export type SyncEffectWorkerFullOptions = Omit<SyncEffectWorkerBaseOptions, "gateway"> & {
41
- readonly gateway: SyncEffectWorkerFullGateway;
54
+ export type SyncEffectWorkerFullOptions = Omit<SyncEffectWorkerBaseOptions, "provider"> & {
55
+ readonly provider: SyncEffectWorkerProvider;
42
56
  };
43
57
  /** Construction options for a worker running through an async storage adapter. */
44
58
  export interface SyncEffectWorkerWithAdapterOptions extends SyncEffectWorkerBaseOptions {
@@ -63,7 +77,7 @@ export interface SyncEffectWorkerReport {
63
77
  export interface ClaimedEffect {
64
78
  readonly pending: PendingEffect;
65
79
  readonly claimToken: string;
66
- readonly gatewayEffect: Presence<SyncGatewayEffect>;
80
+ readonly providerEffect: Presence<SyncProjectionEffect>;
67
81
  readonly invalidPayloadError: Presence<string>;
68
82
  }
69
83
  /** Persistence operations used by the shared effect-worker state machine. */
@@ -71,6 +85,7 @@ export interface EffectWorkerStorage {
71
85
  claimWriterLease(options: ClaimLeaseOptions): Promise<WriterLeaseClaimResult>;
72
86
  recoverExpiredLeases(fence: FencingContext): Promise<number>;
73
87
  listReadyEffects(limit: number, now?: number): Promise<readonly PendingEffect[]>;
88
+ listReadyFastAppendEffects(limit: number, now?: number): Promise<readonly PendingEffect[]>;
74
89
  claimEffect(options: ClaimEffectOptions): Promise<ClaimResult>;
75
90
  ensureSpreadsheetAuthority(options: FencingContext & {
76
91
  readonly physicalSheetId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SyncEffectWorker.d.ts","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/effects/SyncEffectWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyncEffectWorker.d.ts","sourceRoot":"","sources":["../../../../../src/application/sync/outbound/effects/SyncEffectWorker.ts"],"names":[],"mappings":"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"}
@@ -2,24 +2,24 @@
2
2
  * Fenced outbox worker for projection effects.
3
3
  *
4
4
  * It owns only claim/result transitions. Canonical state and any repair
5
- * replan payload are supplied by the writer boundary; the gateway is never
5
+ * replan payload are supplied by the writer boundary; the provider is never
6
6
  * allowed to choose a winner or silently retry a response-lost write.
7
7
  */
8
8
  import { randomUUID } from "node:crypto";
9
9
  import { EMPTY_STRING_LENGTH_ZERO, NON_NEGATIVE_SAFE_INTEGER_MINIMUM, POSITIVE_SAFE_INTEGER_MINIMUM, } from "../../../../domain/index.js";
10
10
  import { CONFLICT_STATUSES } from "../../../../domain/model/constants.js";
11
11
  import { LOOKUP_RESULT_KINDS, absentValue, presentValue, } from "../../../../shared/state/index.js";
12
- import { applyEffectResultWithAdapter, claimEffectWithAdapter, claimWriterLeaseWithAdapter, markDeliveryUncertainWithAdapter, renewEffectLeaseWithAdapter, recoverExpiredLeasesWithAdapter, listReadyEffectsWithAdapter, releaseUnprocessedEffectWithAdapter, retryClaimedEffectWithAdapter, supersedeAndReplanWithAdapter, hasActiveUserInputCandidateWithSql, ensureSpreadsheetAuthorityWithAdapter, } from "../../../../infrastructure/storage/index.js";
13
- import { SYNC_GATEWAY_EFFECT_RESULT_STATUSES, SYNC_GATEWAY_PROJECTIONS, } from "../../gateway/constants.js";
14
- import { classifyTransportOutcome, TRANSPORT_OUTCOME_KINDS, } from "../../gateway/transportClassification.js";
12
+ import { applyEffectResultWithAdapter, claimEffectWithAdapter, claimWriterLeaseWithAdapter, markDeliveryUncertainWithAdapter, renewEffectLeaseWithAdapter, recoverExpiredLeasesWithAdapter, listReadyEffectsWithAdapter, listReadyFastAppendEffectsWithAdapter, releaseUnprocessedEffectWithAdapter, retryClaimedEffectWithAdapter, supersedeAndReplanWithAdapter, hasActiveUserInputCandidateWithSql, ensureSpreadsheetAuthorityWithAdapter, } from "../../../../infrastructure/storage/index.js";
13
+ import { SYNC_EFFECT_RESULT_STATUSES, SYNC_PROJECTIONS, } from "../../sheets/constants.js";
14
+ import { classifyTransportOutcome, TRANSPORT_OUTCOME_KINDS, } from "../../sheets/transportOutcome.js";
15
15
  import { WRITER_LEASE_CLAIM_RESULT_KINDS } from "../../../../infrastructure/storage/sync/shared/writerLease.js";
16
16
  import { SYNC_TIMING_SCOPES, } from "../../telemetry/syncTiming.js";
17
- import { DEFAULT_EFFECT_LEASE_DURATION_MS, DEFAULT_WORKER_ROLE, EFFECT_LEASE_GATEWAY_HEADROOM_MS, DEFAULT_WRITER_LEASE_DURATION_MS, GATEWAY_EFFECT_BATCH_LIMIT, MAX_IN_FLIGHT_EFFECTS, OUTBOX_EFFECT_STATUSES, WORKER_ERROR_CODES, } from "./SyncEffectWorkerConstants.js";
17
+ import { DEFAULT_EFFECT_LEASE_DURATION_MS, DEFAULT_WORKER_ROLE, EFFECT_LEASE_PROVIDER_HEADROOM_MS, DEFAULT_WRITER_LEASE_DURATION_MS, EFFECT_BATCH_LIMIT, MAX_IN_FLIGHT_EFFECTS, OUTBOX_EFFECT_STATUSES, WORKER_ERROR_CODES, } from "./SyncEffectWorkerConstants.js";
18
18
  import { isAbsent, isPresent, lookupResult, safeErrorMessage, throwWorkerError, } from "./SyncEffectWorkerHelpers.js";
19
- import { countsForItems, countsForPendingEffects, emptyOperationCounts, emitGatewayTiming, emitWorkerTiming, operationKindsForItems, operationKindsForPendingEffects, operationKindsForCounts, } from "./SyncEffectWorkerTiming.js";
20
- import { completeFailure, completeGatewayResult, recoverUnknownResults, } from "./SyncEffectWorkerTransitions.js";
21
- import { dispatchFastAppendGroup, handleGatewayDispatchError, rejectUnsupportedGatewayEffects, } from "./SyncEffectWorkerDispatch.js";
22
- import { fenceFromLease, groupByFastAppendRequest, groupByGatewayRequest, chunkFastAppendGroups, chunkGatewayEffectGroups, gatewayRouteKey, isCandidateProtectingUserInputEffect, isFastAppendCandidate, isSuccessfulGatewayPostcondition, toGatewayEffect, } from "./SyncEffectWorkerRouting.js";
19
+ import { countsForItems, countsForPendingEffects, emptyOperationCounts, emitProviderTiming, emitWorkerTiming, operationKindsForItems, operationKindsForPendingEffects, operationKindsForCounts, } from "./SyncEffectWorkerTiming.js";
20
+ import { completeFailure, completeProviderResult, recoverUnknownResults, } from "./SyncEffectWorkerTransitions.js";
21
+ import { dispatchFastAppendGroup, handleProviderDispatchError, rejectUnsupportedProviderEffects, } from "./SyncEffectWorkerDispatch.js";
22
+ import { fenceFromLease, groupByFastAppendRequest, groupByProviderRequest, chunkFastAppendGroups, chunkProviderEffectGroups, routeKey, isCandidateProtectingUserInputEffect, isFastAppendCandidate, isFastAppendPendingEffect, isSuccessfulPostcondition, toProviderEffect, } from "./SyncEffectWorkerRouting.js";
23
23
  /**
24
24
  * Processes effects through an adapter-owned SQL connection.
25
25
  *
@@ -142,7 +142,7 @@ async function runEffectWorker(options, storage) {
142
142
  ...currentFence(),
143
143
  effectId: item.pending.effect_id,
144
144
  claimToken: item.claimToken,
145
- lastErrorCode: WORKER_ERROR_CODES.GATEWAY_RETRYABLE_ERROR,
145
+ lastErrorCode: WORKER_ERROR_CODES.PROVIDER_RETRYABLE_ERROR,
146
146
  lastErrorMessage: "Effect lease could not be renewed before remote dispatch.",
147
147
  })) {
148
148
  report.requeued += 1;
@@ -164,11 +164,47 @@ async function runEffectWorker(options, storage) {
164
164
  }
165
165
  const selectStartedAt = Date.now();
166
166
  report.expiredLeasesRecovered = await storage.recoverExpiredLeases(currentFence());
167
- const selected = await storage.listReadyEffects(options.maxEffects, currentFence().now);
168
- // Keep maxEffects as the SQLite selection upper bound, but only lease a
169
- // bounded in-flight window before the first remote dispatch. Remaining rows
170
- // stay durable and are picked up on the next pass.
171
- const claimable = selected.slice(0, MAX_IN_FLIGHT_EFFECTS);
167
+ // The bulk provider runtime selects ready append candidates through their
168
+ // own bounded query and keeps the regular/recovery selection on the
169
+ // head-of-line window; every other runtime keeps maxEffects as the SQLite
170
+ // selection upper bound. Only the bounded in-flight window is ever leased
171
+ // before the first remote dispatch; remaining rows stay durable and are
172
+ // picked up on the next pass.
173
+ const maxFastAppendCandidates = options.maxFastAppendCandidates;
174
+ const selectionLimit = maxFastAppendCandidates === undefined
175
+ ? options.maxEffects
176
+ : Math.max(options.maxEffects, maxFastAppendCandidates + MAX_IN_FLIGHT_EFFECTS);
177
+ const selected = await storage.listReadyEffects(selectionLimit, currentFence().now);
178
+ let claimable;
179
+ if (maxFastAppendCandidates === undefined) {
180
+ claimable = selected.slice(0, MAX_IN_FLIGHT_EFFECTS);
181
+ }
182
+ else {
183
+ // Append candidates are discovered independently of the head-of-queue
184
+ // prefix: the dedicated query jumps past any regular/recovery backlog in
185
+ // the same ready order, so an arbitrary number of rows before the first
186
+ // append candidate cannot starve the bulk append path. Each returned row
187
+ // is still payload-validated here before claiming, the claim CAS still
188
+ // enforces per-target predecessor ordering, and the regular bucket stays
189
+ // at the existing bounded window without leasing the claimed append rows
190
+ // twice. The general selection can extend past the dedicated append
191
+ // query's window, so the regular bucket excludes every pending fast-append
192
+ // effect, not only the claimed IDs: an append candidate beyond the bulk
193
+ // window stays on the outbox for the next pass instead of being
194
+ // reclassified into a second append request. Payload-invalid potential
195
+ // rows and recovery-status rows are not fast-append pending and remain
196
+ // eligible for the regular path.
197
+ const appendCandidates = (await storage.listReadyFastAppendEffects(maxFastAppendCandidates, currentFence().now)).filter(isFastAppendPendingEffect).slice(0, maxFastAppendCandidates);
198
+ const regular = [];
199
+ for (const pending of selected) {
200
+ if (regular.length >= MAX_IN_FLIGHT_EFFECTS)
201
+ break;
202
+ if (isFastAppendPendingEffect(pending))
203
+ continue;
204
+ regular.push(pending);
205
+ }
206
+ claimable = [...appendCandidates, ...regular];
207
+ }
172
208
  report.selected = claimable.length;
173
209
  emitWorkerTiming(options, {
174
210
  scope: SYNC_TIMING_SCOPES.WORKER,
@@ -192,17 +228,17 @@ async function runEffectWorker(options, storage) {
192
228
  if (claim.status !== "claimed")
193
229
  continue;
194
230
  report.claimed += 1;
195
- let gatewayEffect;
231
+ let providerEffect;
196
232
  let invalidPayloadError;
197
233
  try {
198
- gatewayEffect = presentValue(toGatewayEffect(pending));
234
+ providerEffect = presentValue(toProviderEffect(pending));
199
235
  invalidPayloadError = absentValue();
200
236
  }
201
237
  catch (error) {
202
- gatewayEffect = absentValue();
238
+ providerEffect = absentValue();
203
239
  invalidPayloadError = presentValue(safeErrorMessage(error));
204
240
  }
205
- const item = { pending, claimToken, gatewayEffect, invalidPayloadError };
241
+ const item = { pending, claimToken, providerEffect, invalidPayloadError };
206
242
  if (pending.status === OUTBOX_EFFECT_STATUSES.FAILED ||
207
243
  pending.status === OUTBOX_EFFECT_STATUSES.DELIVERY_UNCERTAIN) {
208
244
  recoveryCandidates.push(item);
@@ -217,17 +253,17 @@ async function runEffectWorker(options, storage) {
217
253
  operationKinds: operationKindsForItems([...claimed, ...recoveryCandidates]),
218
254
  operationCounts: countsForItems([...claimed, ...recoveryCandidates]),
219
255
  });
220
- const fullGateway = isFullEffectGateway(options.gateway)
221
- ? options.gateway
256
+ const fullProvider = isFullEffectProvider(options.provider)
257
+ ? options.provider
222
258
  : undefined;
223
- if (fullGateway === undefined) {
224
- await rejectUnsupportedGatewayEffects(storage, currentFence(), recoveryCandidates, report);
259
+ if (fullProvider === undefined) {
260
+ await rejectUnsupportedProviderEffects(storage, currentFence(), recoveryCandidates, report);
225
261
  }
226
262
  else if (await refreshDispatchLeases(recoveryCandidates)) {
227
- await recoverUnknownResults({ ...options, gateway: fullGateway }, storage, currentFence(), recoveryCandidates, report);
263
+ await recoverUnknownResults({ ...options, provider: fullProvider }, storage, currentFence(), recoveryCandidates, report);
228
264
  }
229
- const usable = claimed.filter((item) => isPresent(item.gatewayEffect));
230
- for (const invalid of claimed.filter((item) => isAbsent(item.gatewayEffect))) {
265
+ const usable = claimed.filter((item) => isPresent(item.providerEffect));
266
+ for (const invalid of claimed.filter((item) => isAbsent(item.providerEffect))) {
231
267
  await completeFailure(storage, currentFence(), invalid, WORKER_ERROR_CODES.INVALID_EFFECT_PAYLOAD, invalid.invalidPayloadError, report);
232
268
  }
233
269
  // A User_Input reconcile or physical delete is safe only while no unresolved
@@ -261,28 +297,28 @@ async function runEffectWorker(options, storage) {
261
297
  });
262
298
  const fastAppendItems = dispatchable.filter(isFastAppendCandidate);
263
299
  const regularItems = dispatchable.filter((item) => !isFastAppendCandidate(item));
264
- const fastAppendGroups = chunkFastAppendGroups(groupByFastAppendRequest(fastAppendItems, {
265
- epoch: currentFence().writerEpoch,
266
- token: currentFence().fencingToken,
267
- }), (group) => options.batchController?.limitFor(gatewayRouteKey(group.request)) ?? GATEWAY_EFFECT_BATCH_LIMIT);
300
+ const fastAppendGroups = chunkFastAppendGroups(groupByFastAppendRequest(fastAppendItems),
301
+ // The bulk provider runtime sends one append request per route at the
302
+ // bulk claim window; every other runtime keeps the adaptive/bounded
303
+ // per-request chunking.
304
+ (group) => options.maxFastAppendCandidates
305
+ ?? options.batchController?.limitFor(routeKey(group.request))
306
+ ?? EFFECT_BATCH_LIMIT);
268
307
  for (const group of fastAppendGroups) {
269
308
  if (!(await refreshDispatchLeases(group.items)))
270
309
  continue;
271
- await dispatchFastAppendGroup(options, storage, currentFence(), group, report, fullGateway, () => refreshDispatchLeases(group.items));
310
+ await dispatchFastAppendGroup(options, storage, currentFence(), group, report, fullProvider, () => refreshDispatchLeases(group.items));
272
311
  }
273
- if (fullGateway === undefined) {
274
- await rejectUnsupportedGatewayEffects(storage, currentFence(), regularItems, report);
312
+ if (fullProvider === undefined) {
313
+ await rejectUnsupportedProviderEffects(storage, currentFence(), regularItems, report);
275
314
  }
276
315
  else {
277
- // Chunk each physical route to the Apps Script bounded effect batch so one
316
+ // Chunk each physical route to the provider's bounded effect batch so one
278
317
  // applyEffects call returns a complete result set. An oversized configured
279
318
  // worker limit (maxEffects) would otherwise send more effects than the
280
- // gateway acknowledges per call, producing hasMore partial prefixes and the
319
+ // provider acknowledges per call, producing hasMore partial prefixes and the
281
320
  // deferred/requeue churn they cause on every pass.
282
- const regularGroups = chunkGatewayEffectGroups(groupByGatewayRequest(regularItems, {
283
- epoch: currentFence().writerEpoch,
284
- token: currentFence().fencingToken,
285
- }), (group) => options.batchController?.limitFor(gatewayRouteKey(group.request)) ?? GATEWAY_EFFECT_BATCH_LIMIT);
321
+ const regularGroups = chunkProviderEffectGroups(groupByProviderRequest(regularItems), (group) => options.batchController?.limitFor(routeKey(group.request)) ?? EFFECT_BATCH_LIMIT);
286
322
  for (const group of regularGroups) {
287
323
  if (!(await refreshDispatchLeases(group.items)))
288
324
  continue;
@@ -290,51 +326,51 @@ async function runEffectWorker(options, storage) {
290
326
  let response;
291
327
  const regularOperationCounts = countsForItems(group.items);
292
328
  const regularOperationKinds = operationKindsForCounts(regularOperationCounts);
293
- const gatewayStartedAt = Date.now();
294
- const routeKey = gatewayRouteKey(group.request);
295
- const batchLimit = options.batchController?.beginDispatch(routeKey, gatewayStartedAt) ?? GATEWAY_EFFECT_BATCH_LIMIT;
329
+ const providerStartedAt = Date.now();
330
+ const requestRouteKey = routeKey(group.request);
331
+ const batchLimit = options.batchController?.beginDispatch(requestRouteKey, providerStartedAt) ?? EFFECT_BATCH_LIMIT;
296
332
  try {
297
- response = await fullGateway.applyEffects(group.request);
333
+ response = await fullProvider.applyEffects(group.request);
298
334
  }
299
335
  catch (error) {
300
336
  const outcome = classifyTransportOutcome(error);
301
- options.batchController?.observe(routeKey, {
302
- durationMs: Date.now() - gatewayStartedAt,
337
+ options.batchController?.observe(requestRouteKey, {
338
+ durationMs: Date.now() - providerStartedAt,
303
339
  responseSucceeded: false,
304
340
  responseLoss: outcome.kind === TRANSPORT_OUTCOME_KINDS.DELIVERY_UNCERTAIN,
305
341
  });
306
- const failedDurationMs = Date.now() - gatewayStartedAt;
342
+ const failedDurationMs = Date.now() - providerStartedAt;
307
343
  emitWorkerTiming(options, {
308
344
  scope: SYNC_TIMING_SCOPES.WORKER,
309
- phase: "regular_gateway_dispatch",
345
+ phase: "regular_provider_dispatch",
310
346
  durationMs: failedDurationMs,
311
347
  operationKinds: regularOperationKinds,
312
348
  operationCounts: regularOperationCounts,
313
- routeKey,
349
+ routeKey: requestRouteKey,
314
350
  batchLimit,
315
351
  responseSucceeded: false,
316
352
  });
317
353
  // Remote side may have written the effect before an uncertain
318
354
  // transport failure. Explicit remote failures skip recovery because
319
- // the Gateway already proved that the operation was rejected.
355
+ // the provider already proved that the operation was rejected.
320
356
  const resultFence = currentFence();
321
- await handleGatewayDispatchError(options, storage, resultFence, group.items, report, outcome, fullGateway, () => refreshDispatchLeases(group.items));
357
+ await handleProviderDispatchError(options, storage, resultFence, group.items, report, outcome, fullProvider, () => refreshDispatchLeases(group.items));
322
358
  continue;
323
359
  }
324
- const regularGatewayDurationMs = Date.now() - gatewayStartedAt;
325
- options.batchController?.observe(routeKey, {
326
- durationMs: regularGatewayDurationMs,
360
+ const regularProviderDurationMs = Date.now() - providerStartedAt;
361
+ options.batchController?.observe(requestRouteKey, {
362
+ durationMs: regularProviderDurationMs,
327
363
  responseSucceeded: response.results.length === group.items.length && !response.hasMore,
328
364
  responseLoss: response.results.length !== group.items.length || response.hasMore,
329
365
  });
330
- emitGatewayTiming(options, response.timing);
366
+ emitProviderTiming(options, response.timing);
331
367
  emitWorkerTiming(options, {
332
368
  scope: SYNC_TIMING_SCOPES.WORKER,
333
- phase: "regular_gateway_dispatch",
334
- durationMs: regularGatewayDurationMs,
369
+ phase: "regular_provider_dispatch",
370
+ durationMs: regularProviderDurationMs,
335
371
  operationKinds: regularOperationKinds,
336
372
  operationCounts: regularOperationCounts,
337
- routeKey,
373
+ routeKey: requestRouteKey,
338
374
  batchLimit,
339
375
  responseSucceeded: response.results.length === group.items.length && !response.hasMore,
340
376
  });
@@ -364,23 +400,23 @@ async function runEffectWorker(options, storage) {
364
400
  recoveryItems.push(item);
365
401
  continue;
366
402
  }
367
- if ((result.value.status === SYNC_GATEWAY_EFFECT_RESULT_STATUSES.APPLIED ||
368
- result.value.status === SYNC_GATEWAY_EFFECT_RESULT_STATUSES.ALREADY_APPLIED) &&
369
- (!isSuccessfulGatewayPostcondition(result.value.postcondition) ||
403
+ if ((result.value.status === SYNC_EFFECT_RESULT_STATUSES.APPLIED ||
404
+ result.value.status === SYNC_EFFECT_RESULT_STATUSES.ALREADY_APPLIED) &&
405
+ (!isSuccessfulPostcondition(result.value.postcondition) ||
370
406
  !isPresent(result.value.visibleRevision) ||
371
407
  !isPresent(result.value.visibleHash) ||
372
- !isPresent(item.gatewayEffect) ||
373
- result.value.visibleHash.value !== item.gatewayEffect.value.payload.targetVisibleHash)) {
408
+ !isPresent(item.providerEffect) ||
409
+ result.value.visibleHash.value !== item.providerEffect.value.payload.targetVisibleHash)) {
374
410
  // A success label without the acknowledged target state is not enough
375
411
  // to close a durable effect. Treat it like a lost response and read
376
412
  // back first.
377
413
  recoveryItems.push(item);
378
414
  continue;
379
415
  }
380
- await completeGatewayResult(options, storage, currentFence(), item, result.value, report);
416
+ await completeProviderResult(options, storage, currentFence(), item, result.value, report);
381
417
  }
382
418
  if (await refreshDispatchLeases(recoveryItems)) {
383
- await recoverUnknownResults({ ...options, gateway: fullGateway }, storage, currentFence(), recoveryItems, report);
419
+ await recoverUnknownResults({ ...options, provider: fullProvider }, storage, currentFence(), recoveryItems, report);
384
420
  }
385
421
  emitWorkerTiming(options, {
386
422
  scope: SYNC_TIMING_SCOPES.WORKER,
@@ -405,6 +441,7 @@ function createAdapterEffectWorkerStorage(storage) {
405
441
  claimWriterLease: (options) => claimWriterLeaseWithAdapter(storage, options),
406
442
  recoverExpiredLeases: (fence) => recoverExpiredLeasesWithAdapter(storage, fence),
407
443
  listReadyEffects: (limit, now) => listReadyEffectsWithAdapter(storage, limit, now),
444
+ listReadyFastAppendEffects: (limit, now) => listReadyFastAppendEffectsWithAdapter(storage, limit, now),
408
445
  claimEffect: (options) => claimEffectWithAdapter(storage, options),
409
446
  ensureSpreadsheetAuthority: async (options) => {
410
447
  const result = await ensureSpreadsheetAuthorityWithAdapter(storage, options);
@@ -419,7 +456,7 @@ function createAdapterEffectWorkerStorage(storage) {
419
456
  return supersedeAndReplanWithAdapter(storage, fence, oldEffectId, newEffect);
420
457
  },
421
458
  isUserInputCandidateBlocked: (item) => {
422
- const effect = item.gatewayEffect;
459
+ const effect = item.providerEffect;
423
460
  if (!isPresent(effect) ||
424
461
  !isCandidateProtectingUserInputEffect(effect.value)) {
425
462
  return Promise.resolve(false);
@@ -427,12 +464,12 @@ function createAdapterEffectWorkerStorage(storage) {
427
464
  const rowBinding = effect.value.rowBindingId;
428
465
  if (!isPresent(rowBinding))
429
466
  return Promise.resolve(false);
430
- const gatewayEffect = effect.value;
467
+ const providerEffect = effect.value;
431
468
  const rowBindingId = rowBinding.value;
432
- const fieldNames = Object.keys(gatewayEffect.payload.fields);
469
+ const fieldNames = Object.keys(providerEffect.payload.fields);
433
470
  return storage.read(({ sql }) => hasActiveUserInputCandidateWithSql(sql, {
434
- physicalSheetId: gatewayEffect.physicalSheetId,
435
- projection: SYNC_GATEWAY_PROJECTIONS.USER_INPUT,
471
+ physicalSheetId: providerEffect.physicalSheetId,
472
+ projection: SYNC_PROJECTIONS.USER_INPUT,
436
473
  rowBindingId,
437
474
  fieldNames,
438
475
  openConflictStatus: CONFLICT_STATUSES.OPEN,
@@ -441,14 +478,14 @@ function createAdapterEffectWorkerStorage(storage) {
441
478
  },
442
479
  };
443
480
  }
444
- /** Returns the full gateway only when every regular recovery capability exists. */
445
- function isFullEffectGateway(gateway) {
446
- return "applyEffects" in gateway &&
447
- typeof gateway.applyEffects === "function" &&
448
- "readEffectPostcondition" in gateway &&
449
- typeof gateway.readEffectPostcondition === "function" &&
450
- "readEffectPostconditions" in gateway &&
451
- typeof gateway.readEffectPostconditions === "function";
481
+ /** Returns the full provider only when every regular recovery capability exists. */
482
+ function isFullEffectProvider(provider) {
483
+ return "applyEffects" in provider &&
484
+ typeof provider.applyEffects === "function" &&
485
+ "readEffectPostcondition" in provider &&
486
+ typeof provider.readEffectPostcondition === "function" &&
487
+ "readEffectPostconditions" in provider &&
488
+ typeof provider.readEffectPostconditions === "function";
452
489
  }
453
490
  function mutableReport(lease) {
454
491
  return {
@@ -482,10 +519,20 @@ function validateOptions(options) {
482
519
  options.maxEffects < POSITIVE_SAFE_INTEGER_MINIMUM) {
483
520
  throwWorkerError("effect worker maxEffects must be a positive safe integer");
484
521
  }
522
+ if (options.maxFastAppendCandidates !== undefined &&
523
+ (!Number.isSafeInteger(options.maxFastAppendCandidates) ||
524
+ options.maxFastAppendCandidates < POSITIVE_SAFE_INTEGER_MINIMUM)) {
525
+ throwWorkerError("effect worker maxFastAppendCandidates must be a positive safe integer");
526
+ }
527
+ if (options.appendDispatchIntervalMs !== undefined &&
528
+ (!Number.isSafeInteger(options.appendDispatchIntervalMs) ||
529
+ options.appendDispatchIntervalMs < NON_NEGATIVE_SAFE_INTEGER_MINIMUM)) {
530
+ throwWorkerError("effect worker appendDispatchIntervalMs must be a non-negative safe integer");
531
+ }
485
532
  for (const [name, value] of [
486
533
  ["writerLeaseDurationMs", options.writerLeaseDurationMs],
487
534
  ["effectLeaseDurationMs", options.effectLeaseDurationMs],
488
- ["gatewayTimeoutMs", options.gatewayTimeoutMs],
535
+ ["requestTimeoutMs", options.requestTimeoutMs],
489
536
  ]) {
490
537
  if (value !== undefined &&
491
538
  (!Number.isSafeInteger(value) || value < POSITIVE_SAFE_INTEGER_MINIMUM)) {
@@ -497,9 +544,9 @@ function validateOptions(options) {
497
544
  if (writerLeaseDuration <= effectLeaseDuration) {
498
545
  throwWorkerError("writerLeaseDurationMs must exceed effectLeaseDurationMs");
499
546
  }
500
- if (options.gatewayTimeoutMs !== undefined &&
501
- effectLeaseDuration <= options.gatewayTimeoutMs + EFFECT_LEASE_GATEWAY_HEADROOM_MS) {
502
- throwWorkerError("effectLeaseDurationMs must exceed gatewayTimeoutMs by 30 seconds");
547
+ if (options.requestTimeoutMs !== undefined &&
548
+ effectLeaseDuration <= options.requestTimeoutMs + EFFECT_LEASE_PROVIDER_HEADROOM_MS) {
549
+ throwWorkerError("effectLeaseDurationMs must exceed requestTimeoutMs by 30 seconds");
503
550
  }
504
551
  }
505
552
  //# sourceMappingURL=SyncEffectWorker.js.map